@contentful/f36-navbar 4.1.1 → 4.2.0
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/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/esm/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { hexToRGBA } from '@contentful/f36-utils';
|
|
|
8
8
|
import { generateIcon } from '@contentful/f36-icon';
|
|
9
9
|
import { ExternalLinkIcon, MenuIcon, EnvironmentAliasIcon, EnvironmentIcon } from '@contentful/f36-icons';
|
|
10
10
|
|
|
11
|
-
var Ke=Object.defineProperty,eo=Object.defineProperties;var oo=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var le=(e,o,t)=>o in e?Ke(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,s=(e,o)=>{for(var t in o||(o={}))de.call(o,t)&&le(e,t,o[t]);if(V)for(var t of V(o))fe.call(o,t)&&le(e,t,o[t]);return e},p=(e,o)=>eo(e,oo(o));var f=(e,o)=>{var t={};for(var r in e)de.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&V)for(var r of V(e))o.indexOf(r)<0&&fe.call(e,r)&&(t[r]=e[r]);return t};var g={medium:"@media (min-width: 480px)",large:"@media (min-width: 768px)",xlarge:"@media (min-width: 1920px)"},v=(e=a.glowPrimary)=>({"&:focus":{boxShadow:e},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:e}});var be=e=>({containerTop:css({justifyContent:"center",backgroundColor:"#0C141C"}),containerBottom:css({justifyContent:"center",borderTop:"1px solid #21262D",backgroundColor:"#161B22"}),containerTopContent:css({width:"100%",maxWidth:e,padding:`${a.spacingXs}`,minHeight:"2.5rem",[g.medium]:{padding:`${a.spacingXs} ${a.spacingM}`}}),containerBottomContent:css({width:"100%",maxWidth:e,padding:0,minHeight:"2.5rem",overflow:"auto",[g.medium]:{padding:`0 ${a.spacing2Xs}`}})});function no(e,o){let F=e,{children:t,account:r,search:i,switcher:n,help:m,badge:d,bottomRightItems:c,topRightItems:h,contentMaxWidth:I="100%",testId:x="cf-ui-navbar"}=F,H=f(F,["children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId"]),w=be(I);return N.createElement(Box,p(s({},H),{ref:o,testId:x}),N.createElement(Flex,{className:w.containerTop},N.createElement(Flex,{className:w.containerTopContent,justifyContent:"space-between"},N.createElement(Flex,null,n),N.createElement(Flex,{alignItems:"center",gap:"spacingXs"},h,d,i,m,r))),N.createElement(Flex,{className:w.containerBottom},N.createElement(Flex,{className:w.containerBottomContent,justifyContent:"space-between"},N.createElement(Flex,{as:"nav","aria-label":"Main Navigation",alignItems:"stretch"},t),c&&N.createElement(Flex,null,c))))}var ge=N.forwardRef(no);var ue=()=>({root:css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",position:"relative",alignItems:"center",justifyContent:"center",gap:a.spacing2Xs,outline:"none",borderRadius:"50%"},v()),avatar:css({borderRadius:"50%",display:"block",height:"24px",width:"24px"}),notificationIcon:e=>css({position:"absolute",top:0,right:0,height:a.spacingS,width:a.spacingS,borderRadius:"50%",border:`2px solid ${a.gray900}`,backgroundColor:e==="negative"?a.colorNegative:a.colorWarning,transform:"translate(30%, -30%)"})});var he=()=>({menuList:css({minWidth:"250px"})});var T=e=>{let{trigger:o,children:t,testId:r="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,m=he();return N.createElement(Menu,{onOpen:i,onClose:n},N.createElement(Menu.Trigger,null,o),N.createElement(Menu.List,{className:m.menuList,testId:r},t))};function po(e,o){let x=e,{children:t,className:r,testId:i="cf-ui-navbar-account-trigger",avatar:n,username:m,hasNotification:d,notificationVariant:c="warning"}=x,h=f(x,["children","className","testId","avatar","username","hasNotification","notificationVariant"]),I=ue();return N.createElement(T,{trigger:N.createElement(Flex,p(s({},h),{as:"button",ref:o,className:cx(I.root,r),testId:i}),N.createElement("img",{src:n,alt:`Avatar for user ${m}`,className:I.avatar}),d?N.createElement("span",{className:I.notificationIcon(c)}):null)},t)}var ee=N.forwardRef(po);function oe({ariaLabel:e}){return N.createElement(SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:a.gray800,foregroundColor:a.gray700},N.createElement(SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var ye=()=>css({"&":{color:a.colorWhite,"& svg":{fill:a.colorWhite}},"&::after":{content:'""',position:"absolute",width:`calc(100% - ${a.spacingM})`,height:"2px",bottom:"0.5px",left:0,right:0,margin:"auto",backgroundColor:a.colorWhite,zIndex:0}}),Ie={display:"flex",justifyContent:"center",padding:`10px ${a.spacingS}`,alignItems:"center",background:"none"},xe=()=>({root:css(Ie,{alignItems:"center",background:"none",border:0,margin:0,outline:"none",fontSize:a.fontSizeM,lineHeight:a.lineHeightM,fontWeight:a.fontWeightMedium,position:"relative",textAlign:"left",whiteSpace:"nowrap",cursor:"pointer",hyphens:"auto",textDecoration:"none",color:hexToRGBA(a.gray300,.8),boxSizing:"border-box",transition:`color ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,borderRadius:a.borderRadiusMedium,"&::before":{content:'""',position:"absolute",width:`calc(100% - ${a.spacingXs})`,height:`calc(100% - ${a.spacingS})`,top:`calc(${a.spacingS} / 2)`,left:0,right:0,margin:"auto",borderRadius:a.borderRadiusSmall,backgroundColor:hexToRGBA(a.colorWhite,.08),opacity:0,zIndex:0,scale:0,transition:`all ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`},"&:hover::before":{opacity:1,scale:"1"},"&:active::before":{backgroundColor:"rgba(255, 255, 255, 0.1)"},"&:disabled":{cursor:"auto"},"& svg":{fill:hexToRGBA(a.gray300,.8),transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,"&:first-child":{display:"none",[g.large]:{display:"block"}}},"& > svg, & > span":{zIndex:a.zIndexDefault}},v(`inset ${a.glowPrimary}`)),isActive:ye(),dropdownIcon:css({paddingLeft:a.spacing2Xs})}),Pe=()=>({root:css(Ie)});var Se=()=>({root:css({"&:first-child":{marginRight:a.spacing2Xs},"&:last-child":{marginLeft:a.spacing2Xs},"img&":{borderRadius:a.borderRadiusSmall,maxWidth:a.spacingM,maxHeight:a.spacingM}})});var z=e=>{var i,n;let{icon:o,variant:t}=e,r=Se();return N.cloneElement(o,{className:cx(o.props.className,r.root),size:(i=o.props.size)!=null?i:"tiny",variant:(n=o.props.variant)!=null?n:t})};var Me=generateIcon({name:"CircleIcon",viewBox:"0 0 24 24",path:N.createElement("path",{d:"M11.994 6.526A5.47 5.47 0 0 0 6.526 12a5.47 5.47 0 0 0 5.468 5.473A5.476 5.476 0 0 0 17.473 12a5.477 5.477 0 0 0-5.479-5.474ZM12 15.447a3.448 3.448 0 1 1 0-6.896 3.448 3.448 0 0 1 0 6.896Z",fill:"currentFill"})});var we=generateIcon({name:"ArrowDownIcon",viewBox:"0 0 12 20",path:N.createElement("path",{d:"M3.03076 8C2.20109 8 1.73228 8.95209 2.23814 9.60971L5.20727 13.4696C5.60757 13.99 6.39223 13.99 6.79252 13.4696L9.76166 9.60971C10.2675 8.95209 9.79871 8 8.96904 8L3.03076 8Z",fill:"#9FA8B2"})});var Ee=generateIcon({name:"HelpIcon",viewBox:"0 0 24 24",path:N.createElement(N.Fragment,null,N.createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},N.createElement("path",{d:"M12 2.25A9.75 9.75 0 1 0 21.75 12 9.769 9.769 0 0 0 12 2.25ZM12 18a1.125 1.125 0 1 1 0-2.25A1.125 1.125 0 0 1 12 18Zm.75-4.584v.084a.75.75 0 1 1-1.5 0v-.75A.75.75 0 0 1 12 12a1.875 1.875 0 1 0-1.875-1.875.75.75 0 1 1-1.5 0 3.375 3.375 0 1 1 4.125 3.29Z",fill:"currentFill"})),N.createElement("defs",null,N.createElement("clipPath",{id:"HelpIcon_svg__a"},N.createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var Ae=generateIcon({name:"SearchIcon",viewBox:"0 0 24 24",path:N.createElement(N.Fragment,null,N.createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},N.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 11.125a5.125 5.125 0 1 1 10.25 0 5.125 5.125 0 0 1-10.25 0ZM11.125 4a7.125 7.125 0 1 0 4.282 12.82l2.886 2.887a1 1 0 0 0 1.414-1.414l-2.886-2.887A7.125 7.125 0 0 0 11.125 4Z",fill:"currentFill"})),N.createElement("defs",null,N.createElement("clipPath",{id:"SearchIcon_svg__a"},N.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ce=generateIcon({name:"ContentfulLogoIcon",viewBox:"0 0 24 24",path:N.createElement(N.Fragment,null,N.createElement("g",{clipPath:"url(#a)"},N.createElement("path",{d:"M8.71 3.007c.844.843 1.17 2.078.844 3.228a6.683 6.683 0 0 1 3.444-.953h.025a6.701 6.701 0 0 1 4.743 1.988 2.637 2.637 0 0 0 3.73.093 2.637 2.637 0 0 0 .094-3.731c-.025-.027-.052-.052-.08-.08A11.95 11.95 0 0 0 13.036.006h-.046a11.92 11.92 0 0 0-6.691 2.038h.074c.876 0 1.715.346 2.335.966l.002-.002Z",fill:"#1773EB"}),N.createElement("path",{d:"M19.593 16.006c-.696 0-1.365.276-1.86.765a6.706 6.706 0 0 1-4.732 1.953h-.025a6.617 6.617 0 0 1-3.446-.97c.079.287.117.584.117.882a3.3 3.3 0 0 1-3.299 3.3h-.087a11.929 11.929 0 0 0 6.696 2.07h.046a11.934 11.934 0 0 0 8.45-3.486 2.64 2.64 0 0 0-1.857-4.514h-.003Z",fill:"#E44F20"}),N.createElement("path",{d:"M4.013 16.301a3.283 3.283 0 0 1 2.335-.967c.303 0 .604.041.893.123a6.696 6.696 0 0 1 .014-6.928 3.302 3.302 0 0 1-4.176-3.187v-.09a12 12 0 0 0-.033 13.452v-.068c0-.877.344-1.715.967-2.335Z",fill:"#FFDA00"}),N.createElement("path",{d:"M6.378 2.627c-.751 0-1.275.311-1.912.948-.606.606-.797 1.136-.8 1.767a2.712 2.712 0 1 0 5.427-.003A2.713 2.713 0 0 0 6.38 2.627h-.003Z",fill:"#1773EB"}),N.createElement("path",{d:"M3.628 18.639c0 .748.311 1.275.948 1.912.606.606 1.136.8 1.767.8a2.703 2.703 0 1 0-.017-5.408 2.703 2.703 0 0 0-2.695 2.704v-.008h-.003Z",fill:"#E44F20"})),N.createElement("defs",null,N.createElement("clipPath",{id:"a"},N.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Po="button";function So(e,o){let F=e,{as:t=Po,icon:r,title:i,children:n,className:m,isActive:d,testId:c="cf-ui-navbar-item",onOpen:h,onClose:I}=F,x=f(F,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),H=xe(),w=N.createElement(t,p(s({},x),{ref:o,"data-test-id":c,className:cx(H.root,d&&H.isActive,m)}),r?N.createElement(z,{icon:r,variant:"white"}):null,N.createElement("span",null,i),ke(e)&&N.createElement(we,{className:H.dropdownIcon}));return ke(e)?N.createElement(T,{trigger:w,testId:c,onOpen:h,onClose:I},n):w}var ke=e=>!!e.children,re=N.forwardRef(So);var ne=({estimatedWidth:e})=>{let o=Pe();return N.createElement(SkeletonContainer,{className:o.root,svgWidth:e,svgHeight:40,backgroundColor:a.gray800,foregroundColor:a.gray700},N.createElement(SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:7,radiusX:a.borderRadiusSmall,radiusY:a.borderRadiusSmall}))};var Re=()=>({root:css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var To="button";function Ro(e,o){let h=e,{as:t=To,icon:r,title:i,className:n}=h,m=f(h,["as","icon","title","className"]),d=Re(),c=Bo(e);return N.createElement(Menu.Item,p(s({},m),{ref:o,as:t,className:cx(d.root,n)}),r?N.createElement(z,{icon:r,variant:"secondary"}):c&&Be,N.createElement("span",null,i),r&&c?Be:null)}var Be=N.createElement(z,{icon:N.createElement(ExternalLinkIcon,null),variant:"muted"}),Bo=e=>e.as==="a"&&e.target==="_blank",ae=N.forwardRef(Ro);var ie=({ariaLabel:e})=>N.createElement(Menu.Item,null,N.createElement(Flex,{alignItems:"center",gap:a.spacingXs},N.createElement(SkeletonContainer,{svgHeight:16,svgWidth:18},N.createElement(SkeletonImage,{width:16,height:16})),N.createElement(SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},N.createElement(SkeletonBodyText,{numberOfLines:1}))));var Le=()=>({root:css({margin:0,padding:0,background:"none",border:"none",color:a.gray300,cursor:"pointer",fontSize:a.fontSizeS,fontWeight:a.fontWeightMedium,position:"relative",outline:"none",borderRadius:a.borderRadiusMedium,"&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:hover li":{backgroundColor:hexToRGBA(a.colorWhite,.15)}},v(`0px 0px 0px 2px ${a.colorBlack}, 0px 0px 0px 5px ${a.blue300}`)),breadcrumbs:css({listStyleType:"none",margin:0,padding:0,position:"relative"}),menuIcon:css({display:"none",[g.medium]:{display:"block"}})});function $o(e,o){let c=e,{children:t,className:r,logo:i,testId:n="cf-ui-navbar-switcher"}=c,m=f(c,["children","className","logo","testId"]),d=Le();return N.createElement(Flex,p(s({},m),{as:"button",ref:o,className:cx(d.root,r),testId:n,alignItems:"center",fullHeight:!0,gap:"spacingXs"}),i||N.createElement(Ce,null),N.createElement(MenuIcon,{className:d.menuIcon,size:"small",variant:"white"}),N.createElement(Flex,{as:"ul",alignItems:"center",className:d.breadcrumbs},t))}var pe=N.forwardRef($o);var me=({estimatedWidth:e})=>N.createElement(SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:a.gray800,foregroundColor:a.gray700},N.createElement(SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var Oe=()=>({root:css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",alignItems:"center",justifyContent:"center",minWidth:a.spacingL,transition:`color ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,outline:"none",borderRadius:a.borderRadiusMedium,"& svg":{fill:a.gray300,transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`},"&:hover, & svg:hover":{color:a.gray100,fill:a.gray100}},v())});function jo(e,o){let m=e,{className:t,testId:r="cf-ui-navbar-search"}=m,i=f(m,["className","testId"]),n=Oe();return N.createElement(Flex,p(s({"aria-label":"Quick Search"},i),{as:"button",ref:o,className:cx(n.root,t),testId:r}),N.createElement(Ae,{size:"medium",variant:"white"}))}var ze=N.forwardRef(jo);var De={display:"none","&:first-child":{display:"block"},[g.medium]:{display:"block","&:first-child":{display:"none"}}},$e=()=>({breadcrumbsItem:css({position:"relative",alignItems:"center",justifyContent:"center",backgroundColor:hexToRGBA(a.gray100,.1),boxShadow:`0px 0px 0px 2px ${a.colorBlack}`,display:"inline-flex",margin:0,minWidth:0,padding:`0 ${a.spacingXs}`,height:a.spacingL,borderRadius:"3rem",zIndex:2,transition:`background-color ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,whiteSpace:"nowrap","&:not(:first-child)":{clipPath:"path('M0 24C6 24 10 18 10 10C10 5 6 0 0 0H400C400 0 400 5 400 24H0Z')"},"&:first-child":{minWidth:"24px"},"&:nth-child(2)":{zIndex:1,left:`-${a.spacingXs}`,paddingLeft:a.spacingM,borderRadius:"0 3rem 3rem 0",span:{maxWidth:"80px",textOverflow:"ellipsis",overflow:"hidden",[g.large]:{maxWidth:"100%"}}},"&:nth-child(3)":{left:`-${a.spacingM}`,paddingLeft:a.spacingM,borderRadius:"0 3rem 3rem 0",fontFamily:a.fontStackMonospace,fontSize:a.fontSizeS,fontWeight:a.fontWeightMedium,zIndex:0,span:{maxWidth:"40px",textOverflow:"ellipsis",overflow:"hidden",[g.large]:{maxWidth:"100%"}},"> div":{[g.medium]:{gap:a.spacing2Xs}}}}),breadcrumbsItemCircle:css({borderRadius:"50%",color:a.gray400,padding:0,display:"flex",justifyContent:"center",fontSize:"11px",width:a.spacingL,height:a.spacingL}),breadcrumbsItemEnvMaster:css({color:a.green400," svg":p(s({},De),{fill:a.green400})}),breadcrumbsItemEnvNonMaster:css({color:a.orange400,svg:p(s({},De),{fill:a.orange400})})});function Ge({isAlias:e}){return N.createElement(N.Fragment,null,N.createElement(Me,{key:"mobile-icon",size:"tiny"}),e?N.createElement(EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):N.createElement(EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function et(e,o){let x=e,{children:t,isCircle:r,className:i,envVariant:n,isAlias:m,testId:d="cf-ui-navbar-switcher-item"}=x,c=f(x,["children","isCircle","className","envVariant","isAlias","testId"]),h=$e(),I=cx(h.breadcrumbsItem,i,{[h.breadcrumbsItemCircle]:r,[h.breadcrumbsItemEnvMaster]:n==="master",[h.breadcrumbsItemEnvNonMaster]:n==="non-master"});return N.createElement("li",p(s({},c),{ref:o,className:I,"data-test-id":d}),N.createElement(Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&N.createElement(Ge,{isAlias:m}),N.createElement("span",null,t)))}var Ve=N.forwardRef(et);var Xe=()=>({root:css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",alignItems:"center",justifyContent:"center",color:a.gray300,fontSize:0,gap:0,minWidth:a.spacingL,transition:`color ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,outline:"none",borderRadius:a.borderRadiusMedium,[g.medium]:{fontSize:a.fontSizeS,gap:a.spacing2Xs,fontWeight:a.fontWeightMedium,marginRight:a.spacingXs},"&:hover, &:hover svg":{color:a.gray100,fill:a.gray100},"& svg":{fill:a.gray300,transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`}},v())});function nt(e,o){let d=e,{children:t,className:r,testId:i="cf-ui-navbar-help-trigger"}=d,n=f(d,["children","className","testId"]),m=Xe();return N.createElement(T,{testId:"cf-ui-navbar-help-menu",trigger:N.createElement(Flex,p(s({"aria-label":"Help Menu"},n),{as:"button",ref:o,className:cx(m.root,r),testId:i}),N.createElement(Ee,{size:"medium",variant:"white"}),"Help")},t)}var Ue=N.forwardRef(nt);var Ze=()=>({root:css({display:"flex",justifyContent:"center",alignItems:"center",background:"none",border:`1px solid ${a.purple400}`,margin:0,outline:"none",fontSize:a.fontSizeS,lineHeight:a.lineHeightS,fontWeight:a.fontWeightMedium,textAlign:"center",padding:`0 ${a.spacingXs}`,textDecoration:"none",color:`${a.purple400}!important`,borderRadius:"1.75rem"})});var st="div";function pt(e,o){let c=e,{as:t=st,children:r,className:i,testId:n="cf-ui-navbar-badge"}=c,m=f(c,["as","children","className","testId"]),d=Ze();return N.createElement(t,p(s({},m),{ref:o,className:cx(d.root,i),"data-test-id":n}),r)}var qe=N.forwardRef(pt);var Ye=()=>({root:css({margin:0,background:"none",border:"none",cursor:"pointer",display:"flex",gap:a.spacing2Xs,alignItems:"center",color:a.gray300,padding:`0 ${a.spacing2Xs}`,minHeight:a.spacingL,fontSize:a.fontSizeS,fontWeight:a.fontWeightMedium,outline:"none",borderRadius:a.borderRadiusMedium,"&:hover":{color:a.gray100},svg:{fill:"currentColor"}},v())});var lt="button";function dt(e,o){let c=e,{as:t=lt,children:r,className:i,testId:n="cf-ui-navbar-topbar-item"}=c,m=f(c,["as","children","className","testId"]),d=Ye();return N.createElement(t,p(s({},m),{ref:o,className:cx(d.root,i),"data-test-id":n}),r)}var Je=N.forwardRef(dt);var b=ge;b.Item=re;b.ItemSkeleton=ne;b.MenuItem=ae;b.MenuItemSkeleton=ie;b.MenuDivider=MenuDivider;b.MenuSectionTitle=MenuSectionTitle;b.Switcher=pe;b.SwitcherSkeleton=me;b.SwitcherItem=Ve;b.Search=ze;b.Help=Ue;b.Account=ee;b.AccountSkeleton=oe;b.Badge=qe;b.TopbarItem=Je;
|
|
11
|
+
var Ke=Object.defineProperty,eo=Object.defineProperties;var oo=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var le=(e,o,t)=>o in e?Ke(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,s=(e,o)=>{for(var t in o||(o={}))de.call(o,t)&&le(e,t,o[t]);if(V)for(var t of V(o))fe.call(o,t)&&le(e,t,o[t]);return e},p=(e,o)=>eo(e,oo(o));var f=(e,o)=>{var t={};for(var r in e)de.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&V)for(var r of V(e))o.indexOf(r)<0&&fe.call(e,r)&&(t[r]=e[r]);return t};var g={medium:"@media (min-width: 480px)",large:"@media (min-width: 768px)",xlarge:"@media (min-width: 1920px)"},v=(e=a.glowPrimary)=>({"&:focus":{boxShadow:e},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:e}});var be=e=>({containerTop:css({justifyContent:"center",backgroundColor:"#0C141C"}),containerBottom:css({justifyContent:"center",borderTop:"1px solid #21262D",backgroundColor:"#161B22"}),containerTopContent:css({width:"100%",maxWidth:e,padding:`${a.spacingXs}`,minHeight:"2.5rem",[g.medium]:{padding:`${a.spacingXs} ${a.spacingM}`}}),containerBottomContent:css({width:"100%",maxWidth:e,padding:0,minHeight:"2.5rem",overflow:"auto",[g.medium]:{padding:`0 ${a.spacing2Xs}`}})});function no(e,o){let F=e,{children:t,account:r,search:i,switcher:n,help:m,badge:d,bottomRightItems:c,topRightItems:h,contentMaxWidth:I="100%",testId:x="cf-ui-navbar"}=F,H=f(F,["children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId"]),w=be(I);return N.createElement(Box,p(s({},H),{ref:o,testId:x}),N.createElement(Flex,{className:w.containerTop},N.createElement(Flex,{className:w.containerTopContent,justifyContent:"space-between"},N.createElement(Flex,null,n),N.createElement(Flex,{alignItems:"center",gap:"spacingXs"},h,d,i,m,r))),N.createElement(Flex,{className:w.containerBottom},N.createElement(Flex,{className:w.containerBottomContent,justifyContent:"space-between"},N.createElement(Flex,{as:"nav","aria-label":"Main Navigation",alignItems:"stretch"},t),c&&N.createElement(Flex,null,c))))}var ge=N.forwardRef(no);var ao={warning:a.colorWarning,negative:a.colorNegative,info:a.blue500},ue=()=>({root:css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",position:"relative",alignItems:"center",justifyContent:"center",gap:a.spacing2Xs,outline:"none",borderRadius:"50%"},v()),avatar:css({borderRadius:"50%",display:"block",height:"24px",width:"24px"}),notificationIcon:e=>css({position:"absolute",top:0,right:0,height:a.spacingS,width:a.spacingS,borderRadius:"50%",border:`2px solid ${a.gray900}`,backgroundColor:ao[e],transform:"translate(30%, -30%)"})});var he=()=>({menuList:css({minWidth:"250px"})});var T=e=>{let{trigger:o,children:t,testId:r="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,m=he();return N.createElement(Menu,{onOpen:i,onClose:n},N.createElement(Menu.Trigger,null,o),N.createElement(Menu.List,{className:m.menuList,testId:r},t))};function mo(e,o){let x=e,{children:t,className:r,testId:i="cf-ui-navbar-account-trigger",avatar:n,username:m,hasNotification:d,notificationVariant:c="warning"}=x,h=f(x,["children","className","testId","avatar","username","hasNotification","notificationVariant"]),I=ue();return N.createElement(T,{trigger:N.createElement(Flex,p(s({},h),{as:"button",ref:o,className:cx(I.root,r),testId:i}),N.createElement("img",{src:n,alt:`Avatar for user ${m}`,className:I.avatar}),d?N.createElement("span",{className:I.notificationIcon(c)}):null)},t)}var ee=N.forwardRef(mo);function oe({ariaLabel:e}){return N.createElement(SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:a.gray800,foregroundColor:a.gray700},N.createElement(SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var ye=()=>css({"&":{color:a.colorWhite,"& svg":{fill:a.colorWhite}},"&::after":{content:'""',position:"absolute",width:`calc(100% - ${a.spacingM})`,height:"2px",bottom:"0.5px",left:0,right:0,margin:"auto",backgroundColor:a.colorWhite,zIndex:0}}),Ie={display:"flex",justifyContent:"center",padding:`10px ${a.spacingS}`,alignItems:"center",background:"none"},xe=()=>({root:css(Ie,{alignItems:"center",background:"none",border:0,margin:0,outline:"none",fontSize:a.fontSizeM,lineHeight:a.lineHeightM,fontWeight:a.fontWeightMedium,position:"relative",textAlign:"left",whiteSpace:"nowrap",cursor:"pointer",hyphens:"auto",textDecoration:"none",color:hexToRGBA(a.gray300,.8),boxSizing:"border-box",transition:`color ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,borderRadius:a.borderRadiusMedium,"&::before":{content:'""',position:"absolute",width:`calc(100% - ${a.spacingXs})`,height:`calc(100% - ${a.spacingS})`,top:`calc(${a.spacingS} / 2)`,left:0,right:0,margin:"auto",borderRadius:a.borderRadiusSmall,backgroundColor:hexToRGBA(a.colorWhite,.08),opacity:0,zIndex:0,scale:0,transition:`all ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`},"&:hover::before":{opacity:1,scale:"1"},"&:active::before":{backgroundColor:"rgba(255, 255, 255, 0.1)"},"&:disabled":{cursor:"auto"},"& svg":{fill:hexToRGBA(a.gray300,.8),transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,"&:first-child":{display:"none",[g.large]:{display:"block"}}},"& > svg, & > span":{zIndex:a.zIndexDefault}},v(`inset ${a.glowPrimary}`)),isActive:ye(),dropdownIcon:css({paddingLeft:a.spacing2Xs})}),Pe=()=>({root:css(Ie)});var Se=()=>({root:css({"&:first-child":{marginRight:a.spacing2Xs},"&:last-child":{marginLeft:a.spacing2Xs},"img&":{borderRadius:a.borderRadiusSmall,maxWidth:a.spacingM,maxHeight:a.spacingM}})});var z=e=>{var i,n;let{icon:o,variant:t}=e,r=Se();return N.cloneElement(o,{className:cx(o.props.className,r.root),size:(i=o.props.size)!=null?i:"tiny",variant:(n=o.props.variant)!=null?n:t})};var Me=generateIcon({name:"CircleIcon",viewBox:"0 0 24 24",path:N.createElement("path",{d:"M11.994 6.526A5.47 5.47 0 0 0 6.526 12a5.47 5.47 0 0 0 5.468 5.473A5.476 5.476 0 0 0 17.473 12a5.477 5.477 0 0 0-5.479-5.474ZM12 15.447a3.448 3.448 0 1 1 0-6.896 3.448 3.448 0 0 1 0 6.896Z",fill:"currentFill"})});var we=generateIcon({name:"ArrowDownIcon",viewBox:"0 0 12 20",path:N.createElement("path",{d:"M3.03076 8C2.20109 8 1.73228 8.95209 2.23814 9.60971L5.20727 13.4696C5.60757 13.99 6.39223 13.99 6.79252 13.4696L9.76166 9.60971C10.2675 8.95209 9.79871 8 8.96904 8L3.03076 8Z",fill:"#9FA8B2"})});var Ee=generateIcon({name:"HelpIcon",viewBox:"0 0 24 24",path:N.createElement(N.Fragment,null,N.createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},N.createElement("path",{d:"M12 2.25A9.75 9.75 0 1 0 21.75 12 9.769 9.769 0 0 0 12 2.25ZM12 18a1.125 1.125 0 1 1 0-2.25A1.125 1.125 0 0 1 12 18Zm.75-4.584v.084a.75.75 0 1 1-1.5 0v-.75A.75.75 0 0 1 12 12a1.875 1.875 0 1 0-1.875-1.875.75.75 0 1 1-1.5 0 3.375 3.375 0 1 1 4.125 3.29Z",fill:"currentFill"})),N.createElement("defs",null,N.createElement("clipPath",{id:"HelpIcon_svg__a"},N.createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var Ae=generateIcon({name:"SearchIcon",viewBox:"0 0 24 24",path:N.createElement(N.Fragment,null,N.createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},N.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 11.125a5.125 5.125 0 1 1 10.25 0 5.125 5.125 0 0 1-10.25 0ZM11.125 4a7.125 7.125 0 1 0 4.282 12.82l2.886 2.887a1 1 0 0 0 1.414-1.414l-2.886-2.887A7.125 7.125 0 0 0 11.125 4Z",fill:"currentFill"})),N.createElement("defs",null,N.createElement("clipPath",{id:"SearchIcon_svg__a"},N.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ce=generateIcon({name:"ContentfulLogoIcon",viewBox:"0 0 24 24",path:N.createElement(N.Fragment,null,N.createElement("g",{clipPath:"url(#a)"},N.createElement("path",{d:"M8.71 3.007c.844.843 1.17 2.078.844 3.228a6.683 6.683 0 0 1 3.444-.953h.025a6.701 6.701 0 0 1 4.743 1.988 2.637 2.637 0 0 0 3.73.093 2.637 2.637 0 0 0 .094-3.731c-.025-.027-.052-.052-.08-.08A11.95 11.95 0 0 0 13.036.006h-.046a11.92 11.92 0 0 0-6.691 2.038h.074c.876 0 1.715.346 2.335.966l.002-.002Z",fill:"#1773EB"}),N.createElement("path",{d:"M19.593 16.006c-.696 0-1.365.276-1.86.765a6.706 6.706 0 0 1-4.732 1.953h-.025a6.617 6.617 0 0 1-3.446-.97c.079.287.117.584.117.882a3.3 3.3 0 0 1-3.299 3.3h-.087a11.929 11.929 0 0 0 6.696 2.07h.046a11.934 11.934 0 0 0 8.45-3.486 2.64 2.64 0 0 0-1.857-4.514h-.003Z",fill:"#E44F20"}),N.createElement("path",{d:"M4.013 16.301a3.283 3.283 0 0 1 2.335-.967c.303 0 .604.041.893.123a6.696 6.696 0 0 1 .014-6.928 3.302 3.302 0 0 1-4.176-3.187v-.09a12 12 0 0 0-.033 13.452v-.068c0-.877.344-1.715.967-2.335Z",fill:"#FFDA00"}),N.createElement("path",{d:"M6.378 2.627c-.751 0-1.275.311-1.912.948-.606.606-.797 1.136-.8 1.767a2.712 2.712 0 1 0 5.427-.003A2.713 2.713 0 0 0 6.38 2.627h-.003Z",fill:"#1773EB"}),N.createElement("path",{d:"M3.628 18.639c0 .748.311 1.275.948 1.912.606.606 1.136.8 1.767.8a2.703 2.703 0 1 0-.017-5.408 2.703 2.703 0 0 0-2.695 2.704v-.008h-.003Z",fill:"#E44F20"})),N.createElement("defs",null,N.createElement("clipPath",{id:"a"},N.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var So="button";function Mo(e,o){let F=e,{as:t=So,icon:r,title:i,children:n,className:m,isActive:d,testId:c="cf-ui-navbar-item",onOpen:h,onClose:I}=F,x=f(F,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),H=xe(),w=N.createElement(t,p(s({},x),{ref:o,"data-test-id":c,className:cx(H.root,d&&H.isActive,m)}),r?N.createElement(z,{icon:r,variant:"white"}):null,N.createElement("span",null,i),ke(e)&&N.createElement(we,{className:H.dropdownIcon}));return ke(e)?N.createElement(T,{trigger:w,testId:c,onOpen:h,onClose:I},n):w}var ke=e=>!!e.children,re=N.forwardRef(Mo);var ne=({estimatedWidth:e})=>{let o=Pe();return N.createElement(SkeletonContainer,{className:o.root,svgWidth:e,svgHeight:40,backgroundColor:a.gray800,foregroundColor:a.gray700},N.createElement(SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:7,radiusX:a.borderRadiusSmall,radiusY:a.borderRadiusSmall}))};var Re=()=>({root:css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var Ro="button";function Bo(e,o){let h=e,{as:t=Ro,icon:r,title:i,className:n}=h,m=f(h,["as","icon","title","className"]),d=Re(),c=_o(e);return N.createElement(Menu.Item,p(s({},m),{ref:o,as:t,className:cx(d.root,n)}),r?N.createElement(z,{icon:r,variant:"secondary"}):c&&Be,N.createElement("span",null,i),r&&c?Be:null)}var Be=N.createElement(z,{icon:N.createElement(ExternalLinkIcon,null),variant:"muted"}),_o=e=>e.as==="a"&&e.target==="_blank",ae=N.forwardRef(Bo);var ie=({ariaLabel:e})=>N.createElement(Menu.Item,null,N.createElement(Flex,{alignItems:"center",gap:a.spacingXs},N.createElement(SkeletonContainer,{svgHeight:16,svgWidth:18},N.createElement(SkeletonImage,{width:16,height:16})),N.createElement(SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},N.createElement(SkeletonBodyText,{numberOfLines:1}))));var Le=()=>({root:css({margin:0,padding:0,background:"none",border:"none",color:a.gray300,cursor:"pointer",fontSize:a.fontSizeS,fontWeight:a.fontWeightMedium,position:"relative",outline:"none",borderRadius:a.borderRadiusMedium,"&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:hover li":{backgroundColor:hexToRGBA(a.colorWhite,.15)}},v(`0px 0px 0px 2px ${a.colorBlack}, 0px 0px 0px 5px ${a.blue300}`)),breadcrumbs:css({listStyleType:"none",margin:0,padding:0,position:"relative"}),menuIcon:css({display:"none",[g.medium]:{display:"block"}})});function Go(e,o){let c=e,{children:t,className:r,logo:i,testId:n="cf-ui-navbar-switcher"}=c,m=f(c,["children","className","logo","testId"]),d=Le();return N.createElement(Flex,p(s({},m),{as:"button",ref:o,className:cx(d.root,r),testId:n,alignItems:"center",fullHeight:!0,gap:"spacingXs"}),i||N.createElement(Ce,null),N.createElement(MenuIcon,{className:d.menuIcon,size:"small",variant:"white"}),N.createElement(Flex,{as:"ul",alignItems:"center",className:d.breadcrumbs},t))}var pe=N.forwardRef(Go);var me=({estimatedWidth:e})=>N.createElement(SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:a.gray800,foregroundColor:a.gray700},N.createElement(SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var Oe=()=>({root:css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",alignItems:"center",justifyContent:"center",minWidth:a.spacingL,transition:`color ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,outline:"none",borderRadius:a.borderRadiusMedium,"& svg":{fill:a.gray300,transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`},"&:hover, & svg:hover":{color:a.gray100,fill:a.gray100}},v())});function qo(e,o){let m=e,{className:t,testId:r="cf-ui-navbar-search"}=m,i=f(m,["className","testId"]),n=Oe();return N.createElement(Flex,p(s({"aria-label":"Quick Search"},i),{as:"button",ref:o,className:cx(n.root,t),testId:r}),N.createElement(Ae,{size:"medium",variant:"white"}))}var ze=N.forwardRef(qo);var De={display:"none","&:first-child":{display:"block"},[g.medium]:{display:"block","&:first-child":{display:"none"}}},$e=()=>({breadcrumbsItem:css({position:"relative",alignItems:"center",justifyContent:"center",backgroundColor:hexToRGBA(a.gray100,.1),boxShadow:`0px 0px 0px 2px ${a.colorBlack}`,display:"inline-flex",margin:0,minWidth:0,padding:`0 ${a.spacingXs}`,height:a.spacingL,borderRadius:"3rem",zIndex:2,transition:`background-color ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,whiteSpace:"nowrap","&:not(:first-child)":{clipPath:"path('M0 24C6 24 10 18 10 10C10 5 6 0 0 0H400C400 0 400 5 400 24H0Z')"},"&:first-child":{minWidth:"24px"},"&:nth-child(2)":{zIndex:1,left:`-${a.spacingXs}`,paddingLeft:a.spacingM,borderRadius:"0 3rem 3rem 0",span:{maxWidth:"80px",textOverflow:"ellipsis",overflow:"hidden",[g.large]:{maxWidth:"100%"}}},"&:nth-child(3)":{left:`-${a.spacingM}`,paddingLeft:a.spacingM,borderRadius:"0 3rem 3rem 0",fontFamily:a.fontStackMonospace,fontSize:a.fontSizeS,fontWeight:a.fontWeightMedium,zIndex:0,span:{maxWidth:"40px",textOverflow:"ellipsis",overflow:"hidden",[g.large]:{maxWidth:"100%"}},"> div":{[g.medium]:{gap:a.spacing2Xs}}}}),breadcrumbsItemCircle:css({borderRadius:"50%",color:a.gray400,padding:0,display:"flex",justifyContent:"center",fontSize:"11px",width:a.spacingL,height:a.spacingL}),breadcrumbsItemEnvMaster:css({color:a.green400," svg":p(s({},De),{fill:a.green400})}),breadcrumbsItemEnvNonMaster:css({color:a.orange400,svg:p(s({},De),{fill:a.orange400})})});function Ge({isAlias:e}){return N.createElement(N.Fragment,null,N.createElement(Me,{key:"mobile-icon",size:"tiny"}),e?N.createElement(EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):N.createElement(EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function ot(e,o){let x=e,{children:t,isCircle:r,className:i,envVariant:n,isAlias:m,testId:d="cf-ui-navbar-switcher-item"}=x,c=f(x,["children","isCircle","className","envVariant","isAlias","testId"]),h=$e(),I=cx(h.breadcrumbsItem,i,{[h.breadcrumbsItemCircle]:r,[h.breadcrumbsItemEnvMaster]:n==="master",[h.breadcrumbsItemEnvNonMaster]:n==="non-master"});return N.createElement("li",p(s({},c),{ref:o,className:I,"data-test-id":d}),N.createElement(Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&N.createElement(Ge,{isAlias:m}),N.createElement("span",null,t)))}var Ve=N.forwardRef(ot);var Xe=()=>({root:css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",alignItems:"center",justifyContent:"center",color:a.gray300,fontSize:0,gap:0,minWidth:a.spacingL,transition:`color ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`,outline:"none",borderRadius:a.borderRadiusMedium,[g.medium]:{fontSize:a.fontSizeS,gap:a.spacing2Xs,fontWeight:a.fontWeightMedium,marginRight:a.spacingXs},"&:hover, &:hover svg":{color:a.gray100,fill:a.gray100},"& svg":{fill:a.gray300,transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`}},v())});function at(e,o){let d=e,{children:t,className:r,testId:i="cf-ui-navbar-help-trigger"}=d,n=f(d,["children","className","testId"]),m=Xe();return N.createElement(T,{testId:"cf-ui-navbar-help-menu",trigger:N.createElement(Flex,p(s({"aria-label":"Help Menu"},n),{as:"button",ref:o,className:cx(m.root,r),testId:i}),N.createElement(Ee,{size:"medium",variant:"white"}),"Help")},t)}var Ue=N.forwardRef(at);var Ze=()=>({root:css({display:"flex",justifyContent:"center",alignItems:"center",background:"none",border:`1px solid ${a.purple400}`,margin:0,outline:"none",fontSize:a.fontSizeS,lineHeight:a.lineHeightS,fontWeight:a.fontWeightMedium,textAlign:"center",padding:`0 ${a.spacingXs}`,textDecoration:"none",color:`${a.purple400}!important`,borderRadius:"1.75rem"})});var pt="div";function mt(e,o){let c=e,{as:t=pt,children:r,className:i,testId:n="cf-ui-navbar-badge"}=c,m=f(c,["as","children","className","testId"]),d=Ze();return N.createElement(t,p(s({},m),{ref:o,className:cx(d.root,i),"data-test-id":n}),r)}var qe=N.forwardRef(mt);var Ye=()=>({root:css({margin:0,background:"none",border:"none",cursor:"pointer",display:"flex",gap:a.spacing2Xs,alignItems:"center",color:a.gray300,padding:`0 ${a.spacing2Xs}`,minHeight:a.spacingL,fontSize:a.fontSizeS,fontWeight:a.fontWeightMedium,outline:"none",borderRadius:a.borderRadiusMedium,"&:hover":{color:a.gray100},svg:{fill:"currentColor"}},v())});var dt="button";function ft(e,o){let c=e,{as:t=dt,children:r,className:i,testId:n="cf-ui-navbar-topbar-item"}=c,m=f(c,["as","children","className","testId"]),d=Ye();return N.createElement(t,p(s({},m),{ref:o,className:cx(d.root,i),"data-test-id":n}),r)}var Je=N.forwardRef(ft);var b=ge;b.Item=re;b.ItemSkeleton=ne;b.MenuItem=ae;b.MenuItemSkeleton=ie;b.MenuDivider=MenuDivider;b.MenuSectionTitle=MenuSectionTitle;b.Switcher=pe;b.SwitcherSkeleton=me;b.SwitcherItem=Ve;b.Search=ze;b.Help=Ue;b.Account=ee;b.AccountSkeleton=oe;b.Badge=qe;b.TopbarItem=Je;
|
|
12
12
|
|
|
13
13
|
export { b as Navbar, ye as getNavbarItemActiveStyles };
|
|
14
14
|
//# sourceMappingURL=out.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/CompoundNavbar.ts","../../src/Navbar.tsx","../../src/Navbar.styles.ts","../../src/utils.styles.ts","../../src/NavbarAccount/NavbarAccount.tsx","../../src/NavbarAccount/NavbarAccount.styles.ts","../../src/NavbarMenu/NavbarMenu.tsx","../../src/NavbarMenu/NavbarMenu.styles.ts","../../src/NavbarAccount/NavbarAccountSkeleton.tsx","../../src/NavbarItem/NavbarItem.tsx","../../src/NavbarItem/NavbarItem.styles.ts","../../src/NavbarItemIcon/NavbarItemIcon.tsx","../../src/NavbarItemIcon/NavbarItemIcon.styles.ts","../../src/icons/CircleIcon.tsx","../../src/icons/ArrowDownIcon.tsx","../../src/icons/HelpIcon.tsx","../../src/icons/SearchIcon.tsx","../../src/icons/ContentfulLogoIcon.tsx","../../src/NavbarItem/NavbarItemSkeleton.tsx","../../src/NavbarMenuItem/NavbarMenuItem.tsx","../../src/NavbarMenuItem/NavbarMenuItem.styles.ts","../../src/NavbarMenuItem/NavbarMenuItemSkeleton.tsx","../../src/NavbarSwitcher/NavbarSwitcher.tsx","../../src/NavbarSwitcher/NavbarSwitcher.styles.ts","../../src/NavbarSwitcher/NavbarSwitcherSkeleton.tsx","../../src/NavbarSearch/NavbarSearch.tsx","../../src/NavbarSearch/NavbarSearch.styles.ts","../../src/NavbarSwitcherItem/NavbarSwitcherItem.tsx","../../src/NavbarSwitcherItem/NavbarSwitcherItem.styles.ts","../../src/NavbarSwitcherItem/NavbarEnvVariant.tsx","../../src/NavbarHelp/NavbarHelp.tsx","../../src/NavbarHelp/NavbarHelp.styles.ts","../../src/NavbarBadge/NavbarBadge.tsx","../../src/NavbarBadge/NavbarBadge.styles.ts","../../src/NavbarTopbarItem/NavbarTopbarItem.tsx","../../src/NavbarTopbarItem/NavbarTopbarItem.styles.ts"],"names":["MenuDivider","MenuSectionTitle","Box","Flex","React","css","tokens","mqs","getGlowOnFocusStyles","shadow","getNavbarStyles","maxWidth","_Navbar","props","ref","_a","children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId","otherProps","__objRest","styles","__spreadProps","__spreadValues","Navbar","cx","getNavbarAccountStyles","variant","Menu","getNavbarMenuStyles","NavbarMenu","trigger","onOpen","onClose","_NavbarAccount","className","avatar","username","hasNotification","notificationVariant","NavbarAccount","SkeletonContainer","SkeletonImage","NavbarAccountSkeleton","ariaLabel","hexToRGBA","getNavbarItemActiveStyles","commonItemStyles","getNavbarItemStyles","getNavbarItemSkeletonStyles","getNavbarItemIconStyles","NavbarItemIcon","_b","icon","generateIcon","CircleIcon","ArrowDownIcon","HelpIcon","SearchIcon","ContentfulLogoIcon","NAVBAR_ITEM_DEFAULT_TAG","_NavbarItem","Comp","title","isActive","item","isNavbarItemHasMenu","NavbarItem","SkeletonText","NavbarItemSkeleton","estimatedWidth","getNavbarMenuItemStyles","ExternalLinkIcon","NAVBAR_MENU_ITEM_DEFAULT_TAG","_NavbarMenuItem","itemIsExternalLink","isExternalLink","externalIcon","NavbarMenuItem","SkeletonBodyText","NavbarMenuItemSkeleton","getNavbarSwitcherStyles","MenuIcon","_NavbarSwitcher","logo","NavbarSwitcher","SkeletonDisplayText","NavbarSwitcherSkeleton","getNavbarSearchStyles","_NavbarSearch","NavbarSearch","mobileIcon","getNavbarSwitcherItemStyles","EnvironmentAliasIcon","EnvironmentIcon","NavbarEnvVariant","isAlias","_NavbarSwitcherItem","isCircle","envVariant","classes","NavbarSwitcherItem","getNavbarHelpStyles","_NavbarHelp","NavbarHelp","getNavbarBadgeStyles","NAVBAR_BADGE_DEFAULT_TAG","_NavbarBadge","NavbarBadge","getNavbarTopbarItemStyles","_NavbarTopbarItem","NavbarTopbarItem"],"mappings":"8lBAAA,OAAS,eAAAA,OAAmB,uBAC5B,OAAS,oBAAAC,OAAwB,uBCDjC,OACE,OAAAC,GAGA,QAAAC,MACK,uBACP,OAAOC,MAAW,QCNlB,OAAS,OAAAC,MAAW,UACpB,OAAOC,MAAY,yBCDnB,OAAOA,OAAY,yBAIZ,IAAMC,EAAoB,CAC/B,OAAQ,4BACR,MAAO,4BACP,OAAQ,4BACV,EAEaC,EAAuB,CAACC,EAAiBH,GAAO,eAAiB,CAC5E,UAAW,CACT,UAAWG,CACb,EACA,8BAA+B,CAC7B,UAAW,OACb,EACA,kBAAmB,CACjB,UAAWA,CACb,CACF,GDhBO,IAAMC,GAAmBC,IAAsB,CACpD,aAAcN,EAAI,CAChB,eAAgB,SAChB,gBAAiB,SACnB,CAAC,EACD,gBAAiBA,EAAI,CACnB,eAAgB,SAChB,UAAW,oBACX,gBAAiB,SACnB,CAAC,EACD,oBAAqBA,EAAI,CACvB,MAAO,OACP,SAAUM,EACV,QAAS,GAAGL,EAAO,SAAS,GAC5B,UAAW,SACX,CAACC,EAAI,MAAM,EAAG,CACZ,QAAS,GAAGD,EAAO,SAAS,IAAIA,EAAO,QAAQ,EACjD,CACF,CAAC,EACD,uBAAwBD,EAAI,CAC1B,MAAO,OACP,SAAUM,EACV,QAAS,EACT,UAAW,SACX,SAAU,OACV,CAACJ,EAAI,MAAM,EAAG,CACZ,QAAS,KAAKD,EAAO,UAAU,EACjC,CACF,CAAC,CACH,GDKA,SAASM,GAAQC,EAAiCC,EAA6B,CAC7E,IAYIC,EAAAF,EAXF,UAAAG,EACA,QAAAC,EACA,OAAAC,EACA,SAAAC,EACA,KAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,gBAAAC,EAAkB,OAClB,OAAAC,EAAS,cAjDb,EAmDMV,EADCW,EAAAC,EACDZ,EADC,CAVH,WACA,UACA,SACA,WACA,OACA,QACA,mBACA,gBACA,kBACA,WAGIa,EAASlB,GAAgBc,CAAe,EAE9C,OACEpB,EAAA,cAACF,GAAA2B,EAAAC,EAAA,GAAQJ,GAAR,CAAoB,IAAKZ,EAAK,OAAQW,IACrCrB,EAAA,cAACD,EAAA,CAAK,UAAWyB,EAAO,cACtBxB,EAAA,cAACD,EAAA,CACC,UAAWyB,EAAO,oBAClB,eAAe,iBAEfxB,EAAA,cAACD,EAAA,KAAMgB,CAAS,EAChBf,EAAA,cAACD,EAAA,CAAK,WAAW,SAAS,IAAI,aAC3BoB,EACAF,EACAH,EACAE,EACAH,CACH,CACF,CACF,EAEAb,EAAA,cAACD,EAAA,CAAK,UAAWyB,EAAO,iBACtBxB,EAAA,cAACD,EAAA,CACC,UAAWyB,EAAO,uBAClB,eAAe,iBAEfxB,EAAA,cAACD,EAAA,CAAK,GAAG,MAAM,aAAW,kBAAkB,WAAW,WACpDa,CACH,EACCM,GAAoBlB,EAAA,cAACD,EAAA,KAAMmB,CAAiB,CAC/C,CACF,CACF,CAEJ,CAEO,IAAMS,GAAS3B,EAAM,WAAWQ,EAAO,EGvF9C,OAAOR,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,MAAW,UACpB,OAAOC,MAAY,yBAIZ,IAAM2B,GAAyB,KAAO,CAC3C,KAAM5B,EACJ,CAEE,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,SAAU,WACV,WAAY,SACZ,eAAgB,SAChB,IAAKC,EAAO,WACZ,QAAS,OACT,aAAc,KAChB,EACAE,EAAqB,CACvB,EACA,OAAQH,EAAI,CACV,aAAc,MACd,QAAS,QACT,OAAQ,OACR,MAAO,MACT,CAAC,EACD,iBAAmB6B,GACjB7B,EAAI,CACF,SAAU,WACV,IAAK,EACL,MAAO,EACP,OAAQC,EAAO,SACf,MAAOA,EAAO,SACd,aAAc,MACd,OAAQ,aAAaA,EAAO,OAAO,GACnC,gBACE4B,IAAY,WAAa5B,EAAO,cAAgBA,EAAO,aACzD,UAAW,sBACb,CAAC,CACL,GDxCA,OACE,QAAAH,OAIK,uBERP,OAAOC,MAAW,QAClB,OAAS,QAAA+B,MAAgD,uBCDzD,OAAS,OAAA9B,OAAW,UAEb,IAAM+B,GAAsB,KAAO,CACxC,SAAU/B,GAAI,CACZ,SAAU,OACZ,CAAC,CACH,GDIO,IAAMgC,EAAcxB,GAA2B,CACpD,GAAM,CACJ,QAAAyB,EACA,SAAAtB,EACA,OAAAS,EAAS,yBACT,OAAAc,EACA,QAAAC,CACF,EAAI3B,EACEe,EAASQ,GAAoB,EAEnC,OACEhC,EAAA,cAAC+B,EAAA,CAAK,OAAQI,EAAQ,QAASC,GAC7BpC,EAAA,cAAC+B,EAAK,QAAL,KAAcG,CAAQ,EACvBlC,EAAA,cAAC+B,EAAK,KAAL,CAAU,UAAWP,EAAO,SAAU,OAAQH,GAC5CT,CACH,CACF,CAEJ,EFDA,SAASyB,GACP5B,EACAC,EACA,CACA,IASIC,EAAAF,EARF,UAAAG,EACA,UAAA0B,EACA,OAAAjB,EAAS,+BACT,OAAAkB,EACA,SAAAC,EACA,gBAAAC,EACA,oBAAAC,EAAsB,SAtC1B,EAwCM/B,EADCW,EAAAC,EACDZ,EADC,CAPH,WACA,YACA,SACA,SACA,WACA,kBACA,wBAGIa,EAASK,GAAuB,EAEtC,OACE7B,EAAA,cAACiC,EAAA,CACC,QACEjC,EAAA,cAACD,GAAA0B,EAAAC,EAAA,GACKJ,GADL,CAEC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,OAAQjB,IAERrB,EAAA,cAAC,OACC,IAAKuC,EACL,IAAK,mBAAmBC,CAAQ,GAChC,UAAWhB,EAAO,OACpB,EACCiB,EACCzC,EAAA,cAAC,QAAK,UAAWwB,EAAO,iBAAiBkB,CAAmB,EAAG,EAC7D,IACN,GAGD9B,CACH,CAEJ,CAEO,IAAM+B,GAAgB3C,EAAM,WAAWqC,EAAc,EIrE5D,OAAOrC,OAAW,QAClB,OAAS,qBAAA4C,GAAmB,iBAAAC,OAAqB,2BACjD,OAAO3C,OAAY,yBAEZ,SAAS4C,GAAsB,CAAE,UAAAC,CAAU,EAA2B,CAC3E,OACE/C,GAAA,cAAC4C,GAAA,CACC,SAAU,GACV,UAAW,GACX,UAAWG,EACX,gBAAiB7C,GAAO,QACxB,gBAAiBA,GAAO,SAExBF,GAAA,cAAC6C,GAAA,CAAc,MAAO,GAAI,OAAQ,GAAI,QAAS,GAAI,QAAS,GAAI,CAClE,CAEJ,CChBA,OAAO7C,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,MAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA8C,OAAiB,wBAGnB,IAAMC,GAA4B,IACvChD,EAAI,CACF,IAAK,CACH,MAAOC,EAAO,WACd,QAAS,CACP,KAAMA,EAAO,UACf,CACF,EAEA,WAAY,CACV,QAAS,KACT,SAAU,WACV,MAAO,eAAeA,EAAO,QAAQ,IACrC,OAAQ,MACR,OAAQ,QACR,KAAM,EACN,MAAO,EACP,OAAQ,OACR,gBAAiBA,EAAO,WACxB,OAAQ,CACV,CACF,CAAC,EAEGgD,GAAmB,CACvB,QAAS,OACT,eAAgB,SAChB,QAAS,QAAQhD,EAAO,QAAQ,GAChC,WAAY,SACZ,WAAY,MACd,EAEaiD,GAAsB,KAAO,CACxC,KAAMlD,EACJiD,GACA,CACE,WAAY,SACZ,WAAY,OACZ,OAAQ,EACR,OAAQ,EACR,QAAS,OACT,SAAUhD,EAAO,UACjB,WAAYA,EAAO,YACnB,WAAYA,EAAO,iBACnB,SAAU,WACV,UAAW,OACX,WAAY,SACZ,OAAQ,UACR,QAAS,OACT,eAAgB,OAChB,MAAO8C,GAAU9C,EAAO,QAAS,EAAG,EACpC,UAAW,aACX,WAAY,SAASA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GACzF,aAAcA,EAAO,mBAErB,YAAa,CACX,QAAS,KACT,SAAU,WACV,MAAO,eAAeA,EAAO,SAAS,IACtC,OAAQ,eAAeA,EAAO,QAAQ,IACtC,IAAK,QAAQA,EAAO,QAAQ,QAC5B,KAAM,EACN,MAAO,EACP,OAAQ,OACR,aAAcA,EAAO,kBACrB,gBAAiB8C,GAAU9C,EAAO,WAAY,GAAI,EAClD,QAAS,EACT,OAAQ,EACR,MAAO,EACP,WAAY,OAAOA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,EACzF,EAEA,kBAAmB,CACjB,QAAS,EACT,MAAO,GACT,EAEA,mBAAoB,CAClB,gBAAiB,0BACnB,EACA,aAAc,CACZ,OAAQ,MACV,EAEA,QAAS,CACP,KAAM8C,GAAU9C,EAAO,QAAS,EAAG,EACnC,WAAY,QAAQA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GAExF,gBAAiB,CACf,QAAS,OACT,CAACC,EAAI,KAAK,EAAG,CACX,QAAS,OACX,CACF,CACF,EACA,oBAAqB,CACnB,OAAQD,EAAO,aACjB,CACF,EACAE,EAAqB,SAASF,EAAO,WAAW,EAAE,CACpD,EACA,SAAU+C,GAA0B,EACpC,aAAchD,EAAI,CAChB,YAAaC,EAAO,UACtB,CAAC,CACH,GAEakD,GAA8B,KAAO,CAChD,KAAMnD,EAAIiD,EAAgB,CAC5B,GCjHA,OAAOlD,OAAW,QCAlB,OAAS,OAAAC,OAAW,UACpB,OAAOC,MAAY,yBAEZ,IAAMmD,GAA0B,KAAO,CAC5C,KAAMpD,GAAI,CACR,gBAAiB,CACf,YAAaC,EAAO,UACtB,EACA,eAAgB,CACd,WAAYA,EAAO,UACrB,EACA,OAAQ,CACN,aAAcA,EAAO,kBACrB,SAAUA,EAAO,SACjB,UAAWA,EAAO,QACpB,CACF,CAAC,CACH,GDdA,OAAS,MAAA0B,OAAU,UAMZ,IAAM0B,EAAkB7C,GAA+B,CAT9D,IAAAE,EAAA4C,EAUE,GAAM,CAAE,KAAAC,EAAM,QAAA1B,CAAQ,EAAIrB,EACpBe,EAAS6B,GAAwB,EAEvC,OAAOrD,GAAM,aAAawD,EAAM,CAC9B,UAAW5B,GAAG4B,EAAK,MAAM,UAAWhC,EAAO,IAAI,EAC/C,MAAMb,EAAA6C,EAAK,MAAM,OAAX,KAAA7C,EAAmB,OACzB,SAAS4C,EAAAC,EAAK,MAAM,UAAX,KAAAD,EAAsBzB,CACjC,CAAC,CACH,EElBA,OAAO9B,OAAW,QAClB,OAAS,gBAAAyD,OAAoB,uBAEtB,IAAMC,GAA2BD,GAAa,CACnD,KAAM,aACN,QAAS,YACT,KACEzD,GAAA,cAAC,QACC,EAAE,+LACF,KAAK,cACP,CAEJ,CAAC,ECZD,OAAOA,OAAW,QAClB,OAAS,gBAAAyD,OAAoB,uBAEtB,IAAME,GAA8BF,GAAa,CACtD,KAAM,gBACN,QAAS,YACT,KACEzD,GAAA,cAAC,QACC,EAAE,kLACF,KAAK,UACP,CAEJ,CAAC,ECZD,OAAOA,MAAW,QAClB,OAAS,gBAAAyD,OAAoB,uBAEtB,IAAMG,GAAyBH,GAAa,CACjD,KAAM,WACN,QAAS,YACT,KACEzD,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,KAAE,SAAS,yBACVA,EAAA,cAAC,QACC,EAAE,+PACF,KAAK,cACP,CACF,EACAA,EAAA,cAAC,YACCA,EAAA,cAAC,YAAS,GAAG,mBACXA,EAAA,cAAC,QAAK,KAAK,cAAc,EAAE,gBAAgB,CAC7C,CACF,CACF,CAEJ,CAAC,ECrBD,OAAOA,MAAW,QAClB,OAAS,gBAAAyD,OAAoB,uBAEtB,IAAMI,GAA2BJ,GAAa,CACnD,KAAM,aACN,QAAS,YACT,KACEzD,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,KAAE,SAAS,2BACVA,EAAA,cAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,mLACF,KAAK,cACP,CACF,EACAA,EAAA,cAAC,YACCA,EAAA,cAAC,YAAS,GAAG,qBACXA,EAAA,cAAC,QAAK,KAAK,OAAO,EAAE,gBAAgB,CACtC,CACF,CACF,CAEJ,CAAC,ECvBD,OAAOA,MAAW,QAClB,OAAS,gBAAAyD,OAAoB,uBAEtB,IAAMK,GAAmCL,GAAa,CAC3D,KAAM,qBACN,QAAS,YACT,KACEzD,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,KAAE,SAAS,WACVA,EAAA,cAAC,QACC,EAAE,6SACF,KAAK,UACP,EACAA,EAAA,cAAC,QACC,EAAE,yQACF,KAAK,UACP,EACAA,EAAA,cAAC,QACC,EAAE,+LACF,KAAK,UACP,EACAA,EAAA,cAAC,QACC,EAAE,yIACF,KAAK,UACP,EACAA,EAAA,cAAC,QACC,EAAE,2IACF,KAAK,UACP,CACF,EACAA,EAAA,cAAC,YACCA,EAAA,cAAC,YAAS,GAAG,KACXA,EAAA,cAAC,QAAK,KAAK,OAAO,EAAE,gBAAgB,CACtC,CACF,CACF,CAEJ,CAAC,ERrBD,IAAM+D,GAA0B,SAwBhC,SAASC,GACPvD,EACAC,EACA,CACA,IAWIC,EAAAF,EAVF,IAAIwD,EAAOF,GACX,KAAAP,EACA,MAAAU,EACA,SAAAtD,EACA,UAAA0B,EACA,SAAA6B,EACA,OAAA9C,EAAS,oBACT,OAAAc,EACA,QAAAC,CArDJ,EAuDMzB,EADCW,EAAAC,EACDZ,EADC,CATH,KACA,OACA,QACA,WACA,YACA,WACA,SACA,SACA,YAGIa,EAAS2B,GAAoB,EAE7BiB,EACJpE,EAAA,cAACiE,EAAAxC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,eAAcW,EACd,UAAWO,GAAGJ,EAAO,KAAM2C,GAAY3C,EAAO,SAAUc,CAAS,IAEhEkB,EAAOxD,EAAA,cAACsD,EAAA,CAAe,KAAME,EAAM,QAAQ,QAAQ,EAAK,KACzDxD,EAAA,cAAC,YAAMkE,CAAM,EACZG,GAAoB5D,CAAK,GACxBT,EAAA,cAAC2D,GAAA,CAAc,UAAWnC,EAAO,aAAc,CAEnD,EAGF,OAAI6C,GAAoB5D,CAAK,EAEzBT,EAAA,cAACiC,EAAA,CACC,QAASmC,EACT,OAAQ/C,EACR,OAAQc,EACR,QAASC,GAERxB,CACH,EAIGwD,CACT,CAEA,IAAMC,GACJ5D,GAEA,EAAQA,EAAM,SAEH6D,GAGTtE,EAAM,WAAWgE,EAAW,ESjGhC,OAAOhE,OAAW,QAClB,OAAS,qBAAA4C,GAAmB,gBAAA2B,OAAoB,2BAChD,OAAOrE,MAAY,yBAGZ,IAAMsE,GAAqB,CAAC,CACjC,eAAAC,CACF,IAEM,CACJ,IAAMjD,EAAS4B,GAA4B,EAE3C,OACEpD,GAAA,cAAC4C,GAAA,CACC,UAAWpB,EAAO,KAClB,SAAUiD,EACV,UAAW,GACX,gBAAiBvE,EAAO,QACxB,gBAAiBA,EAAO,SAExBF,GAAA,cAACuE,GAAA,CACC,WAAY,EACZ,cAAe,EACf,UAAW,EACX,QAASrE,EAAO,kBAChB,QAASA,EAAO,kBAClB,CACF,CAEJ,EC7BA,OAAOF,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,OAAW,UAEb,IAAMyE,GAA0B,KAAO,CAC5C,KAAMzE,GAAI,CACR,QAAS,OACT,eAAgB,aAChB,WAAY,QACd,CAAC,CACH,GDLA,OAAS,QAAA8B,OAAgC,uBAKzC,OAAS,oBAAA4C,OAAwB,wBAOjC,IAAMC,GAA+B,SAarC,SAASC,GACPpE,EACAC,EACA,CACA,IAMIC,EAAAF,EALF,IAAIwD,EAAOW,GACX,KAAApB,EACA,MAAAU,EACA,UAAA5B,CApCJ,EAsCM3B,EADCW,EAAAC,EACDZ,EADC,CAJH,KACA,OACA,QACA,cAGIa,EAASkD,GAAwB,EAEjCI,EAAqBC,GACzBtE,CACF,EAEA,OACET,EAAA,cAAC+B,GAAK,KAALN,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,GAAIuD,EACJ,UAAWrC,GAAGJ,EAAO,KAAMc,CAAS,IAEnCkB,EACCxD,EAAA,cAACsD,EAAA,CAAe,KAAME,EAAM,QAAQ,YAAY,EAEhDsB,GAAsBE,GAExBhF,EAAA,cAAC,YAAMkE,CAAM,EACZV,GAAQsB,EAAqBE,GAAe,IAC/C,CAEJ,CAEA,IAAMA,GACJhF,EAAA,cAACsD,EAAA,CAAe,KAAMtD,EAAA,cAAC2E,GAAA,IAAiB,EAAI,QAAQ,QAAQ,EAGxDI,GAAkBtE,GACtBA,EAAM,KAAO,KAAOA,EAAM,SAAW,SAE1BwE,GAGTjF,EAAM,WAAW6E,EAAe,EEzEpC,OAAO7E,MAAW,QAClB,OAAS,QAAA+B,OAAY,uBACrB,OACE,oBAAAmD,GACA,qBAAAtC,GACA,iBAAAC,OACK,2BACP,OAAS,QAAA9C,OAAY,uBAErB,OAAOG,OAAY,yBAEZ,IAAMiF,GAAyB,CAAC,CACrC,UAAApC,CACF,IAGE/C,EAAA,cAAC+B,GAAK,KAAL,KACC/B,EAAA,cAACD,GAAA,CAAK,WAAW,SAAS,IAAKG,GAAO,WACpCF,EAAA,cAAC4C,GAAA,CAAkB,UAAW,GAAI,SAAU,IAC1C5C,EAAA,cAAC6C,GAAA,CAAc,MAAO,GAAI,OAAQ,GAAI,CACxC,EACA7C,EAAA,cAAC4C,GAAA,CAAkB,UAAW,GAAI,SAAU,IAAK,UAAWG,GAC1D/C,EAAA,cAACkF,GAAA,CAAiB,cAAe,EAAG,CACtC,CACF,CACF,ECzBF,OAAOlF,MAAW,QCAlB,OAAS,OAAAC,OAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA8C,OAAiB,wBAGnB,IAAMoC,GAA0B,KAAO,CAC5C,KAAMnF,GACJ,CAEE,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,MAAOC,EAAO,QACd,OAAQ,UACR,SAAUA,EAAO,UACjB,WAAYA,EAAO,iBACnB,SAAU,WACV,QAAS,OACT,aAAcA,EAAO,mBAErB,UAAW,CACT,QAAS,KACT,OAAQ,oBACR,UAAW,aACX,OAAQ,OACR,MAAO,OACP,SAAU,WACV,MAAO,CACT,EACA,qBAAsB,CACpB,QAAS,MACX,EACA,aAAc,CACZ,gBAAiB8C,GAAU9C,EAAO,WAAY,GAAI,CACpD,CACF,EACAE,EACE,mBAAmBF,EAAO,UAAU,qBAAqBA,EAAO,OAAO,EACzE,CACF,EACA,YAAaD,GAAI,CACf,cAAe,OACf,OAAQ,EACR,QAAS,EACT,SAAU,UACZ,CAAC,EACD,SAAUA,GAAI,CACZ,QAAS,OACT,CAACE,EAAI,MAAM,EAAG,CACZ,QAAS,OACX,CACF,CAAC,CACH,GDpDA,OACE,QAAAJ,OAIK,uBACP,OAAS,YAAAsF,OAAgB,wBACzB,OAAS,MAAAzD,OAAU,UAgBnB,SAAS0D,GACP7E,EACAC,EACA,CACA,IAMIC,EAAAF,EALF,UAAAG,EACA,UAAA0B,EACA,KAAAiD,EACA,OAAAlE,EAAS,uBAjCb,EAmCMV,EADCW,EAAAC,EACDZ,EADC,CAJH,WACA,YACA,OACA,WAGIa,EAAS4D,GAAwB,EAEvC,OACEpF,EAAA,cAACD,GAAA0B,EAAAC,EAAA,GACKJ,GADL,CAEC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,OAAQjB,EACR,WAAW,SACX,WAAU,GACV,IAAI,cAEHkE,GAAQvF,EAAA,cAAC8D,GAAA,IAAmB,EAC7B9D,EAAA,cAACqF,GAAA,CAAS,UAAW7D,EAAO,SAAU,KAAK,QAAQ,QAAQ,QAAQ,EACnExB,EAAA,cAACD,GAAA,CAAK,GAAG,KAAK,WAAW,SAAS,UAAWyB,EAAO,aACjDZ,CACH,CACF,CAEJ,CAEO,IAAM4E,GAAiBxF,EAAM,WAAWsF,EAAe,EE1D9D,OAAOtF,OAAW,QAClB,OACE,qBAAA4C,GACA,uBAAA6C,OACK,2BACP,OAAOvF,OAAY,yBAEZ,IAAMwF,GAAyB,CAAC,CACrC,eAAAjB,CACF,IAGEzE,GAAA,cAAC4C,GAAA,CACC,SAAU6B,EACV,UAAW,GACX,gBAAiBvE,GAAO,QACxB,gBAAiBA,GAAO,SAExBF,GAAA,cAACyF,GAAA,CACC,WAAY,GACZ,cAAe,EACf,QAAS,GACT,QAAS,GACX,CACF,ECxBF,OAAS,MAAA7D,OAAU,UACnB,OAAO5B,OAAW,QCDlB,OAAOE,MAAY,yBACnB,OAAS,OAAAD,OAAW,UAGb,IAAM0F,GAAwB,KAAO,CAC1C,KAAM1F,GACJ,CAEE,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,WAAY,SACZ,eAAgB,SAChB,SAAUC,EAAO,SACjB,WAAY,SAASA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GACzF,QAAS,OACT,aAAcA,EAAO,mBAErB,QAAS,CACP,KAAMA,EAAO,QACb,WAAY,QAAQA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,EAC1F,EACA,uBAAwB,CACtB,MAAOA,EAAO,QACd,KAAMA,EAAO,OACf,CACF,EACAE,EAAqB,CACvB,CACF,GD5BA,OAGE,QAAAL,OAEK,uBASP,SAAS6F,GACPnF,EACAC,EACA,CACA,IAAqEC,EAAAF,EAA7D,WAAA6B,EAAW,OAAAjB,EAAS,qBAtB9B,EAsBuEV,EAAfW,EAAAC,EAAeZ,EAAf,CAA9C,YAAW,WACba,EAASmE,GAAsB,EAErC,OACE3F,GAAA,cAACD,GAAA0B,EAAAC,EAAA,CACC,aAAW,gBACPJ,GAFL,CAGC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,OAAQjB,IAERrB,GAAA,cAAC6D,GAAA,CAAW,KAAK,SAAS,QAAQ,QAAQ,CAC5C,CAEJ,CAEO,IAAMgC,GAAe7F,GAAM,WAAW4F,EAAa,EEvC1D,OAAO5F,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,MAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA8C,OAAiB,wBAG1B,IAAM8C,GAAa,CACjB,QAAS,OACT,gBAAiB,CACf,QAAS,OACX,EAEA,CAAC3F,EAAI,MAAM,EAAG,CACZ,QAAS,QACT,gBAAiB,CACf,QAAS,MACX,CACF,CACF,EAEa4F,GAA8B,KAAO,CAChD,gBAAiB9F,EAAI,CACnB,SAAU,WACV,WAAY,SACZ,eAAgB,SAChB,gBAAiB+C,GAAU9C,EAAO,QAAS,EAAG,EAC9C,UAAW,mBAAmBA,EAAO,UAAU,GAC/C,QAAS,cACT,OAAQ,EACR,SAAU,EACV,QAAS,KAAKA,EAAO,SAAS,GAC9B,OAAQA,EAAO,SACf,aAAc,OACd,OAAQ,EACR,WAAY,oBAAoBA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GACpG,WAAY,SACZ,sBAAuB,CACrB,SAAU,uEACZ,EACA,gBAAiB,CACf,SAAU,MACZ,EACA,iBAAkB,CAChB,OAAQ,EACR,KAAM,IAAIA,EAAO,SAAS,GAC1B,YAAaA,EAAO,SACpB,aAAc,gBACd,KAAM,CACJ,SAAU,OACV,aAAc,WACd,SAAU,SACV,CAACC,EAAI,KAAK,EAAG,CACX,SAAU,MACZ,CACF,CACF,EACA,iBAAkB,CAChB,KAAM,IAAID,EAAO,QAAQ,GACzB,YAAaA,EAAO,SACpB,aAAc,gBACd,WAAYA,EAAO,mBACnB,SAAUA,EAAO,UACjB,WAAYA,EAAO,iBACnB,OAAQ,EACR,KAAM,CACJ,SAAU,OACV,aAAc,WACd,SAAU,SACV,CAACC,EAAI,KAAK,EAAG,CACX,SAAU,MACZ,CACF,EACA,QAAS,CACP,CAACA,EAAI,MAAM,EAAG,CACZ,IAAKD,EAAO,UACd,CACF,CACF,CACF,CAAC,EACD,sBAAuBD,EAAI,CACzB,aAAc,MACd,MAAOC,EAAO,QACd,QAAS,EACT,QAAS,OACT,eAAgB,SAChB,SAAU,OACV,MAAOA,EAAO,SACd,OAAQA,EAAO,QACjB,CAAC,EACD,yBAA0BD,EAAI,CAC5B,MAAOC,EAAO,SACd,OAAQuB,EAAAC,EAAA,GACHoE,IADG,CAEN,KAAM5F,EAAO,QACf,EACF,CAAC,EACD,4BAA6BD,EAAI,CAC/B,MAAOC,EAAO,UACd,IAAKuB,EAAAC,EAAA,GACAoE,IADA,CAEH,KAAM5F,EAAO,SACf,EACF,CAAC,CACH,GCtGA,OAAOF,MAAW,QAGlB,OAAS,wBAAAgG,GAAsB,mBAAAC,OAAuB,wBAI/C,SAASC,GAAiB,CAAE,QAAAC,CAAQ,EAA0B,CACnE,OACEnG,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC0D,GAAA,CAAW,IAAI,cAAc,KAAK,OAAO,EACzCyC,EACCnG,EAAA,cAACgG,GAAA,CAAqB,IAAI,YAAY,KAAK,OAAO,EAElDhG,EAAA,cAACiG,GAAA,CAAgB,IAAI,YAAY,KAAK,OAAO,CAEjD,CAEJ,CFdA,OACE,QAAAlG,OAIK,uBAcP,SAASqG,GACP3F,EACAC,EACA,CACA,IAQIC,EAAAF,EAPF,UAAAG,EACA,SAAAyF,EACA,UAAA/D,EACA,WAAAgE,EACA,QAAAH,EACA,OAAA9E,EAAS,4BAjCb,EAmCMV,EADCW,EAAAC,EACDZ,EADC,CANH,WACA,WACA,YACA,aACA,UACA,WAGIa,EAASuE,GAA4B,EACrCQ,EAAU3E,GAAGJ,EAAO,gBAAiBc,EAAW,CACpD,CAACd,EAAO,qBAAqB,EAAG6E,EAChC,CAAC7E,EAAO,wBAAwB,EAAG8E,IAAe,SAClD,CAAC9E,EAAO,2BAA2B,EAAG8E,IAAe,YACvD,CAAC,EAED,OACEtG,EAAA,cAAC,KAAAyB,EAAAC,EAAA,GAAOJ,GAAP,CAAmB,IAAKZ,EAAK,UAAW6F,EAAS,eAAclF,IAC9DrB,EAAA,cAACD,GAAA,CAAK,WAAU,GAAC,eAAe,SAAS,WAAW,UACjDuG,GAActG,EAAA,cAACkG,GAAA,CAAiB,QAASC,EAAS,EACnDnG,EAAA,cAAC,YAAMY,CAAS,CAClB,CACF,CAEJ,CAEO,IAAM4F,GAAqBxG,EAAM,WAAWoG,EAAmB,EGrDtE,OAAOpG,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,OAAW,UACpB,OAAOC,MAAY,yBAGZ,IAAMuG,GAAsB,KAAO,CACxC,KAAMxG,GACJ,CAEE,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,WAAY,SACZ,eAAgB,SAChB,MAAOC,EAAO,QACd,SAAU,EACV,IAAK,EACL,SAAUA,EAAO,SACjB,WAAY,SAASA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GACzF,QAAS,OACT,aAAcA,EAAO,mBAErB,CAACC,EAAI,MAAM,EAAG,CACZ,SAAUD,EAAO,UACjB,IAAKA,EAAO,WACZ,WAAYA,EAAO,iBACnB,YAAaA,EAAO,SACtB,EACA,uBAAwB,CACtB,MAAOA,EAAO,QACd,KAAMA,EAAO,OACf,EACA,QAAS,CACP,KAAMA,EAAO,QACb,WAAY,QAAQA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,EAC1F,CACF,EACAE,EAAqB,CACvB,CACF,GDrCA,OACE,QAAAL,OAIK,uBAYP,SAAS2G,GACPjG,EACAC,EACA,CACA,IAKIC,EAAAF,EAJF,UAAAG,EACA,UAAA0B,EACA,OAAAjB,EAAS,2BA5Bb,EA8BMV,EADCW,EAAAC,EACDZ,EADC,CAHH,WACA,YACA,WAGIa,EAASiF,GAAoB,EAEnC,OACEzG,EAAA,cAACiC,EAAA,CACC,OAAO,yBACP,QACEjC,EAAA,cAACD,GAAA0B,EAAAC,EAAA,CACC,aAAW,aACPJ,GAFL,CAGC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,OAAQjB,IAERrB,EAAA,cAAC4D,GAAA,CAAS,KAAK,SAAS,QAAQ,QAAQ,EAAE,MAE5C,GAGDhD,CACH,CAEJ,CAEO,IAAM+F,GAAa3G,EAAM,WAAW0G,EAAW,EEvDtD,OAAO1G,OAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,OAAW,UACpB,OAAOC,MAAY,yBAEZ,IAAM0G,GAAuB,KAAO,CACzC,KAAM3G,GAAI,CACR,QAAS,OACT,eAAgB,SAChB,WAAY,SACZ,WAAY,OACZ,OAAQ,aAAaC,EAAO,SAAS,GACrC,OAAQ,EACR,QAAS,OACT,SAAUA,EAAO,UACjB,WAAYA,EAAO,YACnB,WAAYA,EAAO,iBACnB,UAAW,SACX,QAAS,KAAKA,EAAO,SAAS,GAC9B,eAAgB,OAChB,MAAO,GAAGA,EAAO,SAAS,aAC1B,aAAc,SAChB,CAAC,CACH,GDXA,IAAM2G,GAA2B,MAWjC,SAASC,GACPrG,EACAC,EACA,CACA,IAMIC,EAAAF,EALF,IAAIwD,EAAO4C,GACX,SAAAjG,EACA,UAAA0B,EACA,OAAAjB,EAAS,oBA7Bb,EA+BMV,EADCW,EAAAC,EACDZ,EADC,CAJH,KACA,WACA,YACA,WAGIa,EAASoF,GAAqB,EAEpC,OACE5G,GAAA,cAACiE,EAAAxC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,eAAcjB,IAEbT,CACH,CAEJ,CAEO,IAAMmG,GAGT/G,GAAM,WAAW8G,EAAY,EEjDjC,OAAO9G,OAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,OAAW,UACpB,OAAOC,MAAY,yBAGZ,IAAM8G,GAA4B,KAAO,CAC9C,KAAM/G,GACJ,CAEE,OAAQ,EACR,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,QAAS,OACT,IAAKC,EAAO,WACZ,WAAY,SACZ,MAAOA,EAAO,QACd,QAAS,KAAKA,EAAO,UAAU,GAC/B,UAAWA,EAAO,SAClB,SAAUA,EAAO,UACjB,WAAYA,EAAO,iBACnB,QAAS,OACT,aAAcA,EAAO,mBAErB,UAAW,CACT,MAAOA,EAAO,OAChB,EACA,IAAK,CACH,KAAM,cACR,CACF,EACAE,EAAqB,CACvB,CACF,GDvBA,IAAMyG,GAA2B,SAUjC,SAASI,GAEPxG,EAAiCC,EAAqB,CACtD,IAMIC,EAAAF,EALF,IAAIwD,EAAO4C,GACX,SAAAjG,EACA,UAAA0B,EACA,OAAAjB,EAAS,0BA3Bb,EA6BMV,EADCW,EAAAC,EACDZ,EADC,CAJH,KACA,WACA,YACA,WAGIa,EAASwF,GAA0B,EAEzC,OACEhH,GAAA,cAACiE,EAAAxC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,eAAcjB,IAEbT,CACH,CAEJ,CAEO,IAAMsG,GAGTlH,GAAM,WAAWiH,EAAiB,ElCd/B,IAAMtF,EAASA,GACtBA,EAAO,KAAO2C,GACd3C,EAAO,aAAe6C,GACtB7C,EAAO,SAAWsD,GAClBtD,EAAO,iBAAmBwD,GAC1BxD,EAAO,YAAc/B,GACrB+B,EAAO,iBAAmB9B,GAC1B8B,EAAO,SAAW6D,GAClB7D,EAAO,iBAAmB+D,GAC1B/D,EAAO,aAAe6E,GACtB7E,EAAO,OAASkE,GAChBlE,EAAO,KAAOgF,GACdhF,EAAO,QAAUgB,GACjBhB,EAAO,gBAAkBmB,GACzBnB,EAAO,MAAQoF,GACfpF,EAAO,WAAauF","sourcesContent":["import { MenuDivider } from '@contentful/f36-menu';\nimport { MenuSectionTitle } from '@contentful/f36-menu';\nimport { Navbar as OriginalNavbar } from './Navbar';\n\nimport { NavbarAccount, NavbarAccountSkeleton } from './NavbarAccount';\nimport { NavbarItem, NavbarItemSkeleton } from './NavbarItem';\nimport { NavbarMenuItem, NavbarMenuItemSkeleton } from './NavbarMenuItem';\nimport { NavbarSwitcher, NavbarSwitcherSkeleton } from './NavbarSwitcher';\n\nimport { NavbarSearch } from './NavbarSearch/NavbarSearch';\nimport { NavbarSwitcherItem } from './NavbarSwitcherItem/NavbarSwitcherItem';\nimport { NavbarHelp } from './NavbarHelp/NavbarHelp';\nimport { NavbarBadge } from './NavbarBadge/NavbarBadge';\nimport { NavbarTopbarItem } from './NavbarTopbarItem/NavbarTopbarItem';\n\ntype CompoundNavbar = typeof OriginalNavbar & {\n Item: typeof NavbarItem;\n ItemSkeleton: typeof NavbarItemSkeleton;\n MenuItem: typeof NavbarMenuItem;\n MenuItemSkeleton: typeof NavbarMenuItemSkeleton;\n MenuDivider: typeof MenuDivider;\n MenuSectionTitle: typeof MenuSectionTitle;\n Switcher: typeof NavbarSwitcher;\n SwitcherSkeleton: typeof NavbarSwitcherSkeleton;\n SwitcherItem: typeof NavbarSwitcherItem;\n Search: typeof NavbarSearch;\n Help: typeof NavbarHelp;\n Account: typeof NavbarAccount;\n AccountSkeleton: typeof NavbarAccountSkeleton;\n Badge: typeof NavbarBadge;\n TopbarItem: typeof NavbarTopbarItem;\n};\n\nexport const Navbar = OriginalNavbar as CompoundNavbar;\nNavbar.Item = NavbarItem;\nNavbar.ItemSkeleton = NavbarItemSkeleton;\nNavbar.MenuItem = NavbarMenuItem;\nNavbar.MenuItemSkeleton = NavbarMenuItemSkeleton;\nNavbar.MenuDivider = MenuDivider;\nNavbar.MenuSectionTitle = MenuSectionTitle;\nNavbar.Switcher = NavbarSwitcher;\nNavbar.SwitcherSkeleton = NavbarSwitcherSkeleton;\nNavbar.SwitcherItem = NavbarSwitcherItem;\nNavbar.Search = NavbarSearch;\nNavbar.Help = NavbarHelp;\nNavbar.Account = NavbarAccount;\nNavbar.AccountSkeleton = NavbarAccountSkeleton;\nNavbar.Badge = NavbarBadge;\nNavbar.TopbarItem = NavbarTopbarItem;\n","import {\n Box,\n type CommonProps,\n type ExpandProps,\n Flex,\n} from '@contentful/f36-core';\nimport React from 'react';\nimport { getNavbarStyles } from './Navbar.styles';\n\ntype NavbarOwnProps = CommonProps & {\n children?: React.ReactNode;\n account?: React.ReactNode;\n search?: React.ReactNode;\n switcher?: React.ReactNode;\n help?: React.ReactNode;\n badge?: React.ReactNode;\n /**\n * Items that will be rendered on the bottom-right of the navbar.\n * Useful for separating other navigation items from main ones, (e.g. separating \"Settings\" from all other navigation items).\n */\n bottomRightItems?: React.ReactNode;\n /**\n * Items that will be rendered on the top-right of the navbar.\n * Useful for providing additional context or actions to the user (e.g. a Feedback form link).\n */\n topRightItems?: React.ReactNode;\n /**\n * Defines the max-width of the content inside the navbar.\n * @default '100%'\n */\n contentMaxWidth?: string;\n};\n\n// expose only the HTML props that are needed to not pollute the API\ntype NavbarHTMLElementProps = Pick<React.ComponentPropsWithoutRef<'div'>, 'id'>;\n\nexport type NavbarProps = NavbarHTMLElementProps & NavbarOwnProps;\n\nfunction _Navbar(props: ExpandProps<NavbarProps>, ref: React.Ref<HTMLElement>) {\n const {\n children,\n account,\n search,\n switcher,\n help,\n badge,\n bottomRightItems,\n topRightItems,\n contentMaxWidth = '100%',\n testId = 'cf-ui-navbar',\n ...otherProps\n } = props;\n const styles = getNavbarStyles(contentMaxWidth);\n\n return (\n <Box {...otherProps} ref={ref} testId={testId}>\n <Flex className={styles.containerTop}>\n <Flex\n className={styles.containerTopContent}\n justifyContent=\"space-between\"\n >\n <Flex>{switcher}</Flex>\n <Flex alignItems=\"center\" gap=\"spacingXs\">\n {topRightItems}\n {badge}\n {search}\n {help}\n {account}\n </Flex>\n </Flex>\n </Flex>\n\n <Flex className={styles.containerBottom}>\n <Flex\n className={styles.containerBottomContent}\n justifyContent=\"space-between\"\n >\n <Flex as=\"nav\" aria-label=\"Main Navigation\" alignItems=\"stretch\">\n {children}\n </Flex>\n {bottomRightItems && <Flex>{bottomRightItems}</Flex>}\n </Flex>\n </Flex>\n </Box>\n );\n}\n\nexport const Navbar = React.forwardRef(_Navbar);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { mqs } from './utils.styles';\n\nexport const getNavbarStyles = (maxWidth: string) => ({\n containerTop: css({\n justifyContent: 'center',\n backgroundColor: '#0C141C',\n }),\n containerBottom: css({\n justifyContent: 'center',\n borderTop: `1px solid #21262D`,\n backgroundColor: '#161B22',\n }),\n containerTopContent: css({\n width: '100%',\n maxWidth: maxWidth,\n padding: `${tokens.spacingXs}`,\n minHeight: '2.5rem',\n [mqs.medium]: {\n padding: `${tokens.spacingXs} ${tokens.spacingM}`,\n },\n }),\n containerBottomContent: css({\n width: '100%',\n maxWidth: maxWidth,\n padding: 0,\n minHeight: '2.5rem',\n overflow: 'auto',\n [mqs.medium]: {\n padding: `0 ${tokens.spacing2Xs}`,\n },\n }),\n});\n","import tokens from '@contentful/f36-tokens';\n\ntype screens = 'medium' | 'large' | 'xlarge';\ntype mediaqueries = Record<screens, string>;\nexport const mqs: mediaqueries = {\n medium: '@media (min-width: 480px)',\n large: '@media (min-width: 768px)',\n xlarge: '@media (min-width: 1920px)',\n};\n\nexport const getGlowOnFocusStyles = (shadow: string = tokens.glowPrimary) => ({\n '&:focus': {\n boxShadow: shadow,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: shadow,\n },\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarAccountStyles } from './NavbarAccount.styles';\nimport {\n Flex,\n type PropsWithHTMLElement,\n type CommonProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\n\ntype NavbarAccountOwnProps = CommonProps & {\n children: React.ReactNode;\n username: string;\n avatar: string;\n hasNotification?: boolean;\n /**\n * @default 'warning'\n */\n notificationVariant?: 'warning' | 'negative';\n};\n\nexport type NavbarAccountProps = PropsWithHTMLElement<\n NavbarAccountOwnProps,\n 'button'\n>;\n\nfunction _NavbarAccount(\n props: ExpandProps<NavbarAccountProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-account-trigger',\n avatar,\n username,\n hasNotification,\n notificationVariant = 'warning',\n ...otherProps\n } = props;\n const styles = getNavbarAccountStyles();\n\n return (\n <NavbarMenu\n trigger={\n <Flex\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <img\n src={avatar}\n alt={`Avatar for user ${username}`}\n className={styles.avatar}\n />\n {hasNotification ? (\n <span className={styles.notificationIcon(notificationVariant)} />\n ) : null}\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarAccount = React.forwardRef(_NavbarAccount);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { NavbarAccountProps } from './NavbarAccount';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarAccountStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n gap: tokens.spacing2Xs,\n outline: 'none',\n borderRadius: '50%',\n },\n getGlowOnFocusStyles(),\n ),\n avatar: css({\n borderRadius: '50%',\n display: 'block',\n height: '24px',\n width: '24px',\n }),\n notificationIcon: (variant: NavbarAccountProps['notificationVariant']) =>\n css({\n position: 'absolute',\n top: 0,\n right: 0,\n height: tokens.spacingS,\n width: tokens.spacingS,\n borderRadius: '50%',\n border: `2px solid ${tokens.gray900}`,\n backgroundColor:\n variant === 'negative' ? tokens.colorNegative : tokens.colorWarning,\n transform: 'translate(30%, -30%)',\n }),\n});\n","import React from 'react';\nimport { Menu, type MenuListProps, type MenuProps } from '@contentful/f36-menu';\nimport { getNavbarMenuStyles } from './NavbarMenu.styles';\n\nexport type NavbarMenuProps = {\n trigger: React.ReactNode;\n children?: React.ReactNode;\n} & Pick<MenuListProps, 'testId'> &\n Pick<MenuProps, 'onOpen' | 'onClose'>;\n\nexport const NavbarMenu = (props: NavbarMenuProps) => {\n const {\n trigger,\n children,\n testId = 'cf-ui-navbar-menu-list',\n onOpen,\n onClose,\n } = props;\n const styles = getNavbarMenuStyles();\n\n return (\n <Menu onOpen={onOpen} onClose={onClose}>\n <Menu.Trigger>{trigger}</Menu.Trigger>\n <Menu.List className={styles.menuList} testId={testId}>\n {children}\n </Menu.List>\n </Menu>\n );\n};\n","import { css } from 'emotion';\n\nexport const getNavbarMenuStyles = () => ({\n menuList: css({\n minWidth: '250px',\n }),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonImage } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport function NavbarAccountSkeleton({ ariaLabel }: { ariaLabel?: string }) {\n return (\n <SkeletonContainer\n svgWidth={24}\n svgHeight={24}\n ariaLabel={ariaLabel}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonImage width={24} height={24} radiusX={12} radiusY={12} />\n </SkeletonContainer>\n );\n}\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarItemStyles } from './NavbarItem.styles';\nimport { NavbarMenu, type NavbarMenuProps } from '../NavbarMenu/NavbarMenu';\nimport {\n NavbarItemIcon,\n type NavbarItemIconProps,\n} from '../NavbarItemIcon/NavbarItemIcon';\nimport { ArrowDownIcon } from '../icons';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_ITEM_DEFAULT_TAG = 'button';\n\ntype NavbarItemTriggerProps = CommonProps & {\n title: string;\n icon?: NavbarItemIconProps['icon'];\n isActive?: boolean;\n as?: React.ElementType;\n};\n\ntype NavbarItemAsMenuProps = NavbarItemTriggerProps &\n Pick<NavbarMenuProps, 'onOpen' | 'onClose'> & {\n children: React.ReactNode;\n };\ntype NavbarItemAsItemProps = NavbarItemTriggerProps & {\n children?: never;\n onOpen?: never;\n onClose?: never;\n};\ntype NavbarItemOwnProps = NavbarItemAsItemProps | NavbarItemAsMenuProps;\n\nexport type NavbarItemProps<\n E extends React.ElementType = typeof NAVBAR_ITEM_DEFAULT_TAG,\n> = PolymorphicProps<NavbarItemOwnProps, E>;\n\nfunction _NavbarItem(\n props: NavbarItemProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_ITEM_DEFAULT_TAG,\n icon,\n title,\n children,\n className,\n isActive,\n testId = 'cf-ui-navbar-item',\n onOpen,\n onClose,\n ...otherProps\n } = props;\n const styles = getNavbarItemStyles();\n\n const item = (\n <Comp\n {...otherProps}\n ref={ref}\n data-test-id={testId}\n className={cx(styles.root, isActive && styles.isActive, className)}\n >\n {icon ? <NavbarItemIcon icon={icon} variant=\"white\" /> : null}\n <span>{title}</span>\n {isNavbarItemHasMenu(props) && (\n <ArrowDownIcon className={styles.dropdownIcon} />\n )}\n </Comp>\n );\n\n if (isNavbarItemHasMenu(props)) {\n return (\n <NavbarMenu\n trigger={item}\n testId={testId}\n onOpen={onOpen}\n onClose={onClose}\n >\n {children}\n </NavbarMenu>\n );\n }\n\n return item;\n}\n\nconst isNavbarItemHasMenu = <E extends React.ElementType>(\n props: NavbarItemProps<E>,\n): props is PolymorphicProps<NavbarItemAsMenuProps, E> =>\n Boolean(props.children);\n\nexport const NavbarItem: PolymorphicComponent<\n ExpandProps<NavbarItemOwnProps>,\n typeof NAVBAR_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarItemActiveStyles = () =>\n css({\n '&': {\n color: tokens.colorWhite,\n '& svg': {\n fill: tokens.colorWhite,\n },\n },\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: `calc(100% - ${tokens.spacingM})`,\n height: '2px',\n bottom: '0.5px',\n left: 0,\n right: 0,\n margin: 'auto',\n backgroundColor: tokens.colorWhite,\n zIndex: 0,\n },\n });\n\nconst commonItemStyles = {\n display: 'flex',\n justifyContent: 'center',\n padding: `10px ${tokens.spacingS}`,\n alignItems: 'center',\n background: 'none',\n};\n\nexport const getNavbarItemStyles = () => ({\n root: css(\n commonItemStyles,\n {\n alignItems: 'center',\n background: 'none',\n border: 0,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeM,\n lineHeight: tokens.lineHeightM,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n textAlign: 'left',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n hyphens: 'auto',\n textDecoration: 'none',\n color: hexToRGBA(tokens.gray300, 0.8),\n boxSizing: 'border-box',\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n borderRadius: tokens.borderRadiusMedium,\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n width: `calc(100% - ${tokens.spacingXs})`,\n height: `calc(100% - ${tokens.spacingS})`,\n top: `calc(${tokens.spacingS} / 2)`,\n left: 0,\n right: 0,\n margin: 'auto',\n borderRadius: tokens.borderRadiusSmall,\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.08),\n opacity: 0,\n zIndex: 0,\n scale: 0,\n transition: `all ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n\n '&:hover::before': {\n opacity: 1,\n scale: '1',\n },\n\n '&:active::before': {\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n '&:disabled': {\n cursor: 'auto',\n },\n\n '& svg': {\n fill: hexToRGBA(tokens.gray300, 0.8),\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n\n '&:first-child': {\n display: 'none',\n [mqs.large]: {\n display: 'block',\n },\n },\n },\n '& > svg, & > span': {\n zIndex: tokens.zIndexDefault,\n },\n },\n getGlowOnFocusStyles(`inset ${tokens.glowPrimary}`),\n ),\n isActive: getNavbarItemActiveStyles(),\n dropdownIcon: css({\n paddingLeft: tokens.spacing2Xs,\n }),\n});\n\nexport const getNavbarItemSkeletonStyles = () => ({\n root: css(commonItemStyles),\n});\n","import React from 'react';\nimport type { IconProps } from '@contentful/f36-icons';\nimport { getNavbarItemIconStyles } from './NavbarItemIcon.styles';\nimport { cx } from 'emotion';\n\nexport type NavbarItemIconProps = {\n icon: React.ReactElement<IconProps>;\n} & Pick<IconProps, 'variant'>;\n\nexport const NavbarItemIcon = (props: NavbarItemIconProps) => {\n const { icon, variant } = props;\n const styles = getNavbarItemIconStyles();\n\n return React.cloneElement(icon, {\n className: cx(icon.props.className, styles.root),\n size: icon.props.size ?? 'tiny',\n variant: icon.props.variant ?? variant,\n });\n};\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarItemIconStyles = () => ({\n root: css({\n '&:first-child': {\n marginRight: tokens.spacing2Xs,\n },\n '&:last-child': {\n marginLeft: tokens.spacing2Xs,\n },\n 'img&': {\n borderRadius: tokens.borderRadiusSmall,\n maxWidth: tokens.spacingM,\n maxHeight: tokens.spacingM,\n },\n }),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const CircleIcon = /*#__PURE__*/ generateIcon({\n name: 'CircleIcon',\n viewBox: '0 0 24 24',\n path: (\n <path\n d=\"M11.994 6.526A5.47 5.47 0 0 0 6.526 12a5.47 5.47 0 0 0 5.468 5.473A5.476 5.476 0 0 0 17.473 12a5.477 5.477 0 0 0-5.479-5.474ZM12 15.447a3.448 3.448 0 1 1 0-6.896 3.448 3.448 0 0 1 0 6.896Z\"\n fill=\"currentFill\"\n />\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const ArrowDownIcon = /*#__PURE__*/ generateIcon({\n name: 'ArrowDownIcon',\n viewBox: '0 0 12 20',\n path: (\n <path\n d=\"M3.03076 8C2.20109 8 1.73228 8.95209 2.23814 9.60971L5.20727 13.4696C5.60757 13.99 6.39223 13.99 6.79252 13.4696L9.76166 9.60971C10.2675 8.95209 9.79871 8 8.96904 8L3.03076 8Z\"\n fill=\"#9FA8B2\"\n />\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const HelpIcon = /*#__PURE__*/ generateIcon({\n name: 'HelpIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#HelpIcon_svg__a)\">\n <path\n d=\"M12 2.25A9.75 9.75 0 1 0 21.75 12 9.769 9.769 0 0 0 12 2.25ZM12 18a1.125 1.125 0 1 1 0-2.25A1.125 1.125 0 0 1 12 18Zm.75-4.584v.084a.75.75 0 1 1-1.5 0v-.75A.75.75 0 0 1 12 12a1.875 1.875 0 1 0-1.875-1.875.75.75 0 1 1-1.5 0 3.375 3.375 0 1 1 4.125 3.29Z\"\n fill=\"currentFill\"\n />\n </g>\n <defs>\n <clipPath id=\"HelpIcon_svg__a\">\n <path fill=\"currentFill\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const SearchIcon = /*#__PURE__*/ generateIcon({\n name: 'SearchIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#SearchIcon_svg__a)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 11.125a5.125 5.125 0 1 1 10.25 0 5.125 5.125 0 0 1-10.25 0ZM11.125 4a7.125 7.125 0 1 0 4.282 12.82l2.886 2.887a1 1 0 0 0 1.414-1.414l-2.886-2.887A7.125 7.125 0 0 0 11.125 4Z\"\n fill=\"currentFill\"\n />\n </g>\n <defs>\n <clipPath id=\"SearchIcon_svg__a\">\n <path fill=\"#fff\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const ContentfulLogoIcon = /*#__PURE__*/ generateIcon({\n name: 'ContentfulLogoIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#a)\">\n <path\n d=\"M8.71 3.007c.844.843 1.17 2.078.844 3.228a6.683 6.683 0 0 1 3.444-.953h.025a6.701 6.701 0 0 1 4.743 1.988 2.637 2.637 0 0 0 3.73.093 2.637 2.637 0 0 0 .094-3.731c-.025-.027-.052-.052-.08-.08A11.95 11.95 0 0 0 13.036.006h-.046a11.92 11.92 0 0 0-6.691 2.038h.074c.876 0 1.715.346 2.335.966l.002-.002Z\"\n fill=\"#1773EB\"\n />\n <path\n d=\"M19.593 16.006c-.696 0-1.365.276-1.86.765a6.706 6.706 0 0 1-4.732 1.953h-.025a6.617 6.617 0 0 1-3.446-.97c.079.287.117.584.117.882a3.3 3.3 0 0 1-3.299 3.3h-.087a11.929 11.929 0 0 0 6.696 2.07h.046a11.934 11.934 0 0 0 8.45-3.486 2.64 2.64 0 0 0-1.857-4.514h-.003Z\"\n fill=\"#E44F20\"\n />\n <path\n d=\"M4.013 16.301a3.283 3.283 0 0 1 2.335-.967c.303 0 .604.041.893.123a6.696 6.696 0 0 1 .014-6.928 3.302 3.302 0 0 1-4.176-3.187v-.09a12 12 0 0 0-.033 13.452v-.068c0-.877.344-1.715.967-2.335Z\"\n fill=\"#FFDA00\"\n />\n <path\n d=\"M6.378 2.627c-.751 0-1.275.311-1.912.948-.606.606-.797 1.136-.8 1.767a2.712 2.712 0 1 0 5.427-.003A2.713 2.713 0 0 0 6.38 2.627h-.003Z\"\n fill=\"#1773EB\"\n />\n <path\n d=\"M3.628 18.639c0 .748.311 1.275.948 1.912.606.606 1.136.8 1.767.8a2.703 2.703 0 1 0-.017-5.408 2.703 2.703 0 0 0-2.695 2.704v-.008h-.003Z\"\n fill=\"#E44F20\"\n />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonText } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\nimport { getNavbarItemSkeletonStyles } from './NavbarItem.styles';\n\nexport const NavbarItemSkeleton = ({\n estimatedWidth,\n}: {\n estimatedWidth: number;\n}) => {\n const styles = getNavbarItemSkeletonStyles();\n\n return (\n <SkeletonContainer\n className={styles.root}\n svgWidth={estimatedWidth}\n svgHeight={40}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonText\n lineHeight={6}\n numberOfLines={1}\n offsetTop={7}\n radiusX={tokens.borderRadiusSmall}\n radiusY={tokens.borderRadiusSmall}\n />\n </SkeletonContainer>\n );\n};\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarMenuItemStyles } from './NavbarMenuItem.styles';\nimport { Menu, type MenuItemProps } from '@contentful/f36-menu';\nimport {\n NavbarItemIcon,\n type NavbarItemIconProps,\n} from '../NavbarItemIcon/NavbarItemIcon';\nimport { ExternalLinkIcon } from '@contentful/f36-icons';\nimport type {\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_MENU_ITEM_DEFAULT_TAG = 'button';\n\ntype NavbarMenuItemOwnProps = {\n children?: null;\n title: string;\n icon?: NavbarItemIconProps['icon'];\n as?: React.ElementType;\n} & Omit<MenuItemProps, 'children' | 'as'>;\n\nexport type NavbarMenuItemProps<\n E extends React.ElementType = typeof NAVBAR_MENU_ITEM_DEFAULT_TAG,\n> = PolymorphicProps<NavbarMenuItemOwnProps, E>;\n\nfunction _NavbarMenuItem(\n props: NavbarMenuItemProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_MENU_ITEM_DEFAULT_TAG,\n icon,\n title,\n className,\n ...otherProps\n } = props;\n const styles = getNavbarMenuItemStyles();\n\n const itemIsExternalLink = isExternalLink(\n props as unknown as NavbarMenuItemProps<'a'>,\n );\n\n return (\n <Menu.Item\n {...otherProps}\n ref={ref}\n as={Comp as MenuItemProps['as']}\n className={cx(styles.root, className)}\n >\n {icon ? (\n <NavbarItemIcon icon={icon} variant=\"secondary\" />\n ) : (\n itemIsExternalLink && externalIcon\n )}\n <span>{title}</span>\n {icon && itemIsExternalLink ? externalIcon : null}\n </Menu.Item>\n );\n}\n\nconst externalIcon = (\n <NavbarItemIcon icon={<ExternalLinkIcon />} variant=\"muted\" />\n);\n\nconst isExternalLink = (props: NavbarMenuItemProps<'a'>) =>\n props.as === 'a' && props.target === '_blank';\n\nexport const NavbarMenuItem: PolymorphicComponent<\n ExpandProps<NavbarMenuItemOwnProps>,\n typeof NAVBAR_MENU_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarMenuItem);\n","import { css } from 'emotion';\n\nexport const getNavbarMenuItemStyles = () => ({\n root: css({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n }),\n});\n","import React from 'react';\nimport { Menu } from '@contentful/f36-menu';\nimport {\n SkeletonBodyText,\n SkeletonContainer,\n SkeletonImage,\n} from '@contentful/f36-skeleton';\nimport { Flex } from '@contentful/f36-core';\n\nimport tokens from '@contentful/f36-tokens';\n\nexport const NavbarMenuItemSkeleton = ({\n ariaLabel,\n}: {\n ariaLabel?: string;\n}) => (\n <Menu.Item>\n <Flex alignItems=\"center\" gap={tokens.spacingXs}>\n <SkeletonContainer svgHeight={16} svgWidth={18}>\n <SkeletonImage width={16} height={16} />\n </SkeletonContainer>\n <SkeletonContainer svgHeight={16} svgWidth={190} ariaLabel={ariaLabel}>\n <SkeletonBodyText numberOfLines={1} />\n </SkeletonContainer>\n </Flex>\n </Menu.Item>\n);\n","import React from 'react';\nimport { getNavbarSwitcherStyles } from './NavbarSwitcher.styles';\nimport {\n Flex,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { MenuIcon } from '@contentful/f36-icons';\nimport { cx } from 'emotion';\nimport { ContentfulLogoIcon } from '../icons';\n\ntype NavbarSwitcherOwnProps = CommonProps & {\n children?: React.ReactNode;\n /**\n * Will be displayed instead of the default Contentful logo\n */\n logo?: React.ReactNode;\n};\n\nexport type NavbarSwitcherProps = PropsWithHTMLElement<\n NavbarSwitcherOwnProps,\n 'button'\n>;\n\nfunction _NavbarSwitcher(\n props: ExpandProps<NavbarSwitcherProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n logo,\n testId = 'cf-ui-navbar-switcher',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherStyles();\n\n return (\n <Flex\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n alignItems=\"center\"\n fullHeight\n gap=\"spacingXs\"\n >\n {logo || <ContentfulLogoIcon />}\n <MenuIcon className={styles.menuIcon} size=\"small\" variant=\"white\" />\n <Flex as=\"ul\" alignItems=\"center\" className={styles.breadcrumbs}>\n {children}\n </Flex>\n </Flex>\n );\n}\n\nexport const NavbarSwitcher = React.forwardRef(_NavbarSwitcher);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n color: tokens.gray300,\n cursor: 'pointer',\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:after': {\n content: '\"\"',\n border: '1px solid #353A41',\n boxSizing: 'border-box',\n height: '16px',\n right: '-1px',\n position: 'absolute',\n width: 0,\n },\n '&:last-child:after': {\n display: 'none',\n },\n '&:hover li': {\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.15),\n },\n },\n getGlowOnFocusStyles(\n `0px 0px 0px 2px ${tokens.colorBlack}, 0px 0px 0px 5px ${tokens.blue300}`,\n ),\n ),\n breadcrumbs: css({\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n }),\n menuIcon: css({\n display: 'none',\n [mqs.medium]: {\n display: 'block',\n },\n }),\n});\n","import React from 'react';\nimport {\n SkeletonContainer,\n SkeletonDisplayText,\n} from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport const NavbarSwitcherSkeleton = ({\n estimatedWidth,\n}: {\n estimatedWidth: number;\n}) => (\n <SkeletonContainer\n svgWidth={estimatedWidth}\n svgHeight={24}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonDisplayText\n lineHeight={24}\n numberOfLines={1}\n radiusX={12}\n radiusY={12}\n />\n </SkeletonContainer>\n);\n","import { cx } from 'emotion';\nimport React from 'react';\nimport { getNavbarSearchStyles } from './NavbarSearch.styles';\nimport { SearchIcon } from '../icons';\nimport {\n type CommonProps,\n type ExpandProps,\n Flex,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSearchOwnProps = CommonProps;\n\nexport type NavbarSearchProps = PropsWithHTMLElement<\n NavbarSearchOwnProps,\n 'button'\n>;\n\nfunction _NavbarSearch(\n props: ExpandProps<NavbarSearchProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const { className, testId = 'cf-ui-navbar-search', ...otherProps } = props;\n const styles = getNavbarSearchStyles();\n\n return (\n <Flex\n aria-label=\"Quick Search\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <SearchIcon size=\"medium\" variant=\"white\" />\n </Flex>\n );\n}\n\nexport const NavbarSearch = React.forwardRef(_NavbarSearch);\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarSearchStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: tokens.spacingL,\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '& svg': {\n fill: tokens.gray300,\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n '&:hover, & svg:hover': {\n color: tokens.gray100,\n fill: tokens.gray100,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarSwitcherItemStyles } from './NavbarSwitcherItem.styles';\nimport { NavbarEnvVariant } from './NavbarEnvVariant';\nimport {\n Flex,\n type CommonProps,\n type ExpandProps,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSwitcherItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n isCircle?: boolean;\n envVariant?: 'master' | 'non-master';\n isAlias?: boolean;\n};\n\nexport type NavbarSwitcherItemProps = PropsWithHTMLElement<\n NavbarSwitcherItemOwnProps,\n 'li'\n>;\n\nfunction _NavbarSwitcherItem(\n props: ExpandProps<NavbarSwitcherItemProps>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n children,\n isCircle,\n className,\n envVariant,\n isAlias,\n testId = 'cf-ui-navbar-switcher-item',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherItemStyles();\n const classes = cx(styles.breadcrumbsItem, className, {\n [styles.breadcrumbsItemCircle]: isCircle,\n [styles.breadcrumbsItemEnvMaster]: envVariant === 'master',\n [styles.breadcrumbsItemEnvNonMaster]: envVariant === 'non-master',\n });\n\n return (\n <li {...otherProps} ref={ref} className={classes} data-test-id={testId}>\n <Flex fullHeight justifyContent=\"center\" alignItems=\"center\">\n {envVariant && <NavbarEnvVariant isAlias={isAlias} />}\n <span>{children}</span>\n </Flex>\n </li>\n );\n}\n\nexport const NavbarSwitcherItem = React.forwardRef(_NavbarSwitcherItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { mqs } from '../utils.styles';\n\nconst mobileIcon = {\n display: 'none',\n '&:first-child': {\n display: 'block',\n },\n\n [mqs.medium]: {\n display: 'block',\n '&:first-child': {\n display: 'none',\n },\n },\n};\n\nexport const getNavbarSwitcherItemStyles = () => ({\n breadcrumbsItem: css({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: hexToRGBA(tokens.gray100, 0.1),\n boxShadow: `0px 0px 0px 2px ${tokens.colorBlack}`,\n display: 'inline-flex',\n margin: 0,\n minWidth: 0,\n padding: `0 ${tokens.spacingXs}`,\n height: tokens.spacingL,\n borderRadius: '3rem',\n zIndex: 2,\n transition: `background-color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n whiteSpace: 'nowrap',\n '&:not(:first-child)': {\n clipPath: `path('M0 24C6 24 10 18 10 10C10 5 6 0 0 0H400C400 0 400 5 400 24H0Z')`,\n },\n '&:first-child': {\n minWidth: '24px',\n },\n '&:nth-child(2)': {\n zIndex: 1,\n left: `-${tokens.spacingXs}`,\n paddingLeft: tokens.spacingM,\n borderRadius: `0 3rem 3rem 0`,\n span: {\n maxWidth: '80px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n [mqs.large]: {\n maxWidth: '100%',\n },\n },\n },\n '&:nth-child(3)': {\n left: `-${tokens.spacingM}`,\n paddingLeft: tokens.spacingM,\n borderRadius: `0 3rem 3rem 0`,\n fontFamily: tokens.fontStackMonospace,\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n zIndex: 0,\n span: {\n maxWidth: '40px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n [mqs.large]: {\n maxWidth: '100%',\n },\n },\n '> div': {\n [mqs.medium]: {\n gap: tokens.spacing2Xs,\n },\n },\n },\n }),\n breadcrumbsItemCircle: css({\n borderRadius: '50%',\n color: tokens.gray400,\n padding: 0,\n display: 'flex',\n justifyContent: 'center',\n fontSize: '11px',\n width: tokens.spacingL,\n height: tokens.spacingL,\n }),\n breadcrumbsItemEnvMaster: css({\n color: tokens.green400,\n ' svg': {\n ...mobileIcon,\n fill: tokens.green400,\n },\n }),\n breadcrumbsItemEnvNonMaster: css({\n color: tokens.orange400,\n svg: {\n ...mobileIcon,\n fill: tokens.orange400,\n },\n }),\n});\n","import React from 'react';\nimport { NavbarSwitcherItemProps } from './NavbarSwitcherItem';\nimport { CircleIcon } from '../icons';\nimport { EnvironmentAliasIcon, EnvironmentIcon } from '@contentful/f36-icons';\n\nexport type NavbarEnvVariantProps = Pick<NavbarSwitcherItemProps, 'isAlias'>;\n\nexport function NavbarEnvVariant({ isAlias }: NavbarEnvVariantProps) {\n return (\n <>\n <CircleIcon key=\"mobile-icon\" size=\"tiny\" />\n {isAlias ? (\n <EnvironmentAliasIcon key=\"full-icon\" size=\"tiny\" />\n ) : (\n <EnvironmentIcon key=\"full-icon\" size=\"tiny\" />\n )}\n </>\n );\n}\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarHelpStyles } from './NavbarHelp.styles';\nimport { HelpIcon } from '../icons';\nimport {\n Flex,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\n\ntype NavbarHelpOwnProps = CommonProps & {\n children: React.ReactNode;\n};\n\nexport type NavbarHelpProps = PropsWithHTMLElement<\n NavbarHelpOwnProps,\n 'button'\n>;\n\nfunction _NavbarHelp(\n props: ExpandProps<NavbarHelpProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-help-trigger',\n ...otherProps\n } = props;\n const styles = getNavbarHelpStyles();\n\n return (\n <NavbarMenu\n testId=\"cf-ui-navbar-help-menu\"\n trigger={\n <Flex\n aria-label=\"Help Menu\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <HelpIcon size=\"medium\" variant=\"white\" />\n Help\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarHelp = React.forwardRef(_NavbarHelp);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarHelpStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n color: tokens.gray300,\n fontSize: 0,\n gap: 0,\n minWidth: tokens.spacingL,\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n [mqs.medium]: {\n fontSize: tokens.fontSizeS,\n gap: tokens.spacing2Xs,\n fontWeight: tokens.fontWeightMedium,\n marginRight: tokens.spacingXs,\n },\n '&:hover, &:hover svg': {\n color: tokens.gray100,\n fill: tokens.gray100,\n },\n '& svg': {\n fill: tokens.gray300,\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarBadgeStyles } from './NavbarBadge.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'div';\n\ntype NavbarBadgeOwnProps = CommonProps & {\n children?: React.ReactNode;\n as?: React.ElementType;\n};\n\nexport type NavbarBadgeProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarBadgeOwnProps, E>;\n\nfunction _NavbarBadge(\n props: NavbarBadgeProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-badge',\n ...otherProps\n } = props;\n const styles = getNavbarBadgeStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.root, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarBadge: PolymorphicComponent<\n ExpandProps<NavbarBadgeOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarBadge);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarBadgeStyles = () => ({\n root: css({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: 'none',\n border: `1px solid ${tokens.purple400}`,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeS,\n lineHeight: tokens.lineHeightS,\n fontWeight: tokens.fontWeightMedium,\n textAlign: 'center',\n padding: `0 ${tokens.spacingXs}`,\n textDecoration: 'none',\n color: `${tokens.purple400}!important`,\n borderRadius: '1.75rem',\n }),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarTopbarItemStyles } from './NavbarTopbarItem.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'button';\n\ntype NavbarTopbarItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n};\n\nexport type NavbarTopbarItemProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarTopbarItemOwnProps, E>;\n\nfunction _NavbarTopbarItem<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n>(props: NavbarTopbarItemProps<E>, ref: React.Ref<any>) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-topbar-item',\n ...otherProps\n } = props;\n const styles = getNavbarTopbarItemStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.root, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarTopbarItem: PolymorphicComponent<\n ExpandProps<NavbarTopbarItemOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarTopbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarTopbarItemStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n display: 'flex',\n gap: tokens.spacing2Xs,\n alignItems: 'center',\n color: tokens.gray300,\n padding: `0 ${tokens.spacing2Xs}`,\n minHeight: tokens.spacingL,\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:hover': {\n color: tokens.gray100,\n },\n svg: {\n fill: 'currentColor',\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/CompoundNavbar.ts","../../src/Navbar.tsx","../../src/Navbar.styles.ts","../../src/utils.styles.ts","../../src/NavbarAccount/NavbarAccount.tsx","../../src/NavbarAccount/NavbarAccount.styles.ts","../../src/NavbarMenu/NavbarMenu.tsx","../../src/NavbarMenu/NavbarMenu.styles.ts","../../src/NavbarAccount/NavbarAccountSkeleton.tsx","../../src/NavbarItem/NavbarItem.tsx","../../src/NavbarItem/NavbarItem.styles.ts","../../src/NavbarItemIcon/NavbarItemIcon.tsx","../../src/NavbarItemIcon/NavbarItemIcon.styles.ts","../../src/icons/CircleIcon.tsx","../../src/icons/ArrowDownIcon.tsx","../../src/icons/HelpIcon.tsx","../../src/icons/SearchIcon.tsx","../../src/icons/ContentfulLogoIcon.tsx","../../src/NavbarItem/NavbarItemSkeleton.tsx","../../src/NavbarMenuItem/NavbarMenuItem.tsx","../../src/NavbarMenuItem/NavbarMenuItem.styles.ts","../../src/NavbarMenuItem/NavbarMenuItemSkeleton.tsx","../../src/NavbarSwitcher/NavbarSwitcher.tsx","../../src/NavbarSwitcher/NavbarSwitcher.styles.ts","../../src/NavbarSwitcher/NavbarSwitcherSkeleton.tsx","../../src/NavbarSearch/NavbarSearch.tsx","../../src/NavbarSearch/NavbarSearch.styles.ts","../../src/NavbarSwitcherItem/NavbarSwitcherItem.tsx","../../src/NavbarSwitcherItem/NavbarSwitcherItem.styles.ts","../../src/NavbarSwitcherItem/NavbarEnvVariant.tsx","../../src/NavbarHelp/NavbarHelp.tsx","../../src/NavbarHelp/NavbarHelp.styles.ts","../../src/NavbarBadge/NavbarBadge.tsx","../../src/NavbarBadge/NavbarBadge.styles.ts","../../src/NavbarTopbarItem/NavbarTopbarItem.tsx","../../src/NavbarTopbarItem/NavbarTopbarItem.styles.ts"],"names":["MenuDivider","MenuSectionTitle","Box","Flex","React","css","tokens","mqs","getGlowOnFocusStyles","shadow","getNavbarStyles","maxWidth","_Navbar","props","ref","_a","children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId","otherProps","__objRest","styles","__spreadProps","__spreadValues","Navbar","cx","notificationVarianColorMap","getNavbarAccountStyles","variant","Menu","getNavbarMenuStyles","NavbarMenu","trigger","onOpen","onClose","_NavbarAccount","className","avatar","username","hasNotification","notificationVariant","NavbarAccount","SkeletonContainer","SkeletonImage","NavbarAccountSkeleton","ariaLabel","hexToRGBA","getNavbarItemActiveStyles","commonItemStyles","getNavbarItemStyles","getNavbarItemSkeletonStyles","getNavbarItemIconStyles","NavbarItemIcon","_b","icon","generateIcon","CircleIcon","ArrowDownIcon","HelpIcon","SearchIcon","ContentfulLogoIcon","NAVBAR_ITEM_DEFAULT_TAG","_NavbarItem","Comp","title","isActive","item","isNavbarItemHasMenu","NavbarItem","SkeletonText","NavbarItemSkeleton","estimatedWidth","getNavbarMenuItemStyles","ExternalLinkIcon","NAVBAR_MENU_ITEM_DEFAULT_TAG","_NavbarMenuItem","itemIsExternalLink","isExternalLink","externalIcon","NavbarMenuItem","SkeletonBodyText","NavbarMenuItemSkeleton","getNavbarSwitcherStyles","MenuIcon","_NavbarSwitcher","logo","NavbarSwitcher","SkeletonDisplayText","NavbarSwitcherSkeleton","getNavbarSearchStyles","_NavbarSearch","NavbarSearch","mobileIcon","getNavbarSwitcherItemStyles","EnvironmentAliasIcon","EnvironmentIcon","NavbarEnvVariant","isAlias","_NavbarSwitcherItem","isCircle","envVariant","classes","NavbarSwitcherItem","getNavbarHelpStyles","_NavbarHelp","NavbarHelp","getNavbarBadgeStyles","NAVBAR_BADGE_DEFAULT_TAG","_NavbarBadge","NavbarBadge","getNavbarTopbarItemStyles","_NavbarTopbarItem","NavbarTopbarItem"],"mappings":"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","sourcesContent":["import { MenuDivider } from '@contentful/f36-menu';\nimport { MenuSectionTitle } from '@contentful/f36-menu';\nimport { Navbar as OriginalNavbar } from './Navbar';\n\nimport { NavbarAccount, NavbarAccountSkeleton } from './NavbarAccount';\nimport { NavbarItem, NavbarItemSkeleton } from './NavbarItem';\nimport { NavbarMenuItem, NavbarMenuItemSkeleton } from './NavbarMenuItem';\nimport { NavbarSwitcher, NavbarSwitcherSkeleton } from './NavbarSwitcher';\n\nimport { NavbarSearch } from './NavbarSearch/NavbarSearch';\nimport { NavbarSwitcherItem } from './NavbarSwitcherItem/NavbarSwitcherItem';\nimport { NavbarHelp } from './NavbarHelp/NavbarHelp';\nimport { NavbarBadge } from './NavbarBadge/NavbarBadge';\nimport { NavbarTopbarItem } from './NavbarTopbarItem/NavbarTopbarItem';\n\ntype CompoundNavbar = typeof OriginalNavbar & {\n Item: typeof NavbarItem;\n ItemSkeleton: typeof NavbarItemSkeleton;\n MenuItem: typeof NavbarMenuItem;\n MenuItemSkeleton: typeof NavbarMenuItemSkeleton;\n MenuDivider: typeof MenuDivider;\n MenuSectionTitle: typeof MenuSectionTitle;\n Switcher: typeof NavbarSwitcher;\n SwitcherSkeleton: typeof NavbarSwitcherSkeleton;\n SwitcherItem: typeof NavbarSwitcherItem;\n Search: typeof NavbarSearch;\n Help: typeof NavbarHelp;\n Account: typeof NavbarAccount;\n AccountSkeleton: typeof NavbarAccountSkeleton;\n Badge: typeof NavbarBadge;\n TopbarItem: typeof NavbarTopbarItem;\n};\n\nexport const Navbar = OriginalNavbar as CompoundNavbar;\nNavbar.Item = NavbarItem;\nNavbar.ItemSkeleton = NavbarItemSkeleton;\nNavbar.MenuItem = NavbarMenuItem;\nNavbar.MenuItemSkeleton = NavbarMenuItemSkeleton;\nNavbar.MenuDivider = MenuDivider;\nNavbar.MenuSectionTitle = MenuSectionTitle;\nNavbar.Switcher = NavbarSwitcher;\nNavbar.SwitcherSkeleton = NavbarSwitcherSkeleton;\nNavbar.SwitcherItem = NavbarSwitcherItem;\nNavbar.Search = NavbarSearch;\nNavbar.Help = NavbarHelp;\nNavbar.Account = NavbarAccount;\nNavbar.AccountSkeleton = NavbarAccountSkeleton;\nNavbar.Badge = NavbarBadge;\nNavbar.TopbarItem = NavbarTopbarItem;\n","import {\n Box,\n type CommonProps,\n type ExpandProps,\n Flex,\n} from '@contentful/f36-core';\nimport React from 'react';\nimport { getNavbarStyles } from './Navbar.styles';\n\ntype NavbarOwnProps = CommonProps & {\n children?: React.ReactNode;\n account?: React.ReactNode;\n search?: React.ReactNode;\n switcher?: React.ReactNode;\n help?: React.ReactNode;\n badge?: React.ReactNode;\n /**\n * Items that will be rendered on the bottom-right of the navbar.\n * Useful for separating other navigation items from main ones, (e.g. separating \"Settings\" from all other navigation items).\n */\n bottomRightItems?: React.ReactNode;\n /**\n * Items that will be rendered on the top-right of the navbar.\n * Useful for providing additional context or actions to the user (e.g. a Feedback form link).\n */\n topRightItems?: React.ReactNode;\n /**\n * Defines the max-width of the content inside the navbar.\n * @default '100%'\n */\n contentMaxWidth?: string;\n};\n\n// expose only the HTML props that are needed to not pollute the API\ntype NavbarHTMLElementProps = Pick<React.ComponentPropsWithoutRef<'div'>, 'id'>;\n\nexport type NavbarProps = NavbarHTMLElementProps & NavbarOwnProps;\n\nfunction _Navbar(props: ExpandProps<NavbarProps>, ref: React.Ref<HTMLElement>) {\n const {\n children,\n account,\n search,\n switcher,\n help,\n badge,\n bottomRightItems,\n topRightItems,\n contentMaxWidth = '100%',\n testId = 'cf-ui-navbar',\n ...otherProps\n } = props;\n const styles = getNavbarStyles(contentMaxWidth);\n\n return (\n <Box {...otherProps} ref={ref} testId={testId}>\n <Flex className={styles.containerTop}>\n <Flex\n className={styles.containerTopContent}\n justifyContent=\"space-between\"\n >\n <Flex>{switcher}</Flex>\n <Flex alignItems=\"center\" gap=\"spacingXs\">\n {topRightItems}\n {badge}\n {search}\n {help}\n {account}\n </Flex>\n </Flex>\n </Flex>\n\n <Flex className={styles.containerBottom}>\n <Flex\n className={styles.containerBottomContent}\n justifyContent=\"space-between\"\n >\n <Flex as=\"nav\" aria-label=\"Main Navigation\" alignItems=\"stretch\">\n {children}\n </Flex>\n {bottomRightItems && <Flex>{bottomRightItems}</Flex>}\n </Flex>\n </Flex>\n </Box>\n );\n}\n\nexport const Navbar = React.forwardRef(_Navbar);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { mqs } from './utils.styles';\n\nexport const getNavbarStyles = (maxWidth: string) => ({\n containerTop: css({\n justifyContent: 'center',\n backgroundColor: '#0C141C',\n }),\n containerBottom: css({\n justifyContent: 'center',\n borderTop: `1px solid #21262D`,\n backgroundColor: '#161B22',\n }),\n containerTopContent: css({\n width: '100%',\n maxWidth: maxWidth,\n padding: `${tokens.spacingXs}`,\n minHeight: '2.5rem',\n [mqs.medium]: {\n padding: `${tokens.spacingXs} ${tokens.spacingM}`,\n },\n }),\n containerBottomContent: css({\n width: '100%',\n maxWidth: maxWidth,\n padding: 0,\n minHeight: '2.5rem',\n overflow: 'auto',\n [mqs.medium]: {\n padding: `0 ${tokens.spacing2Xs}`,\n },\n }),\n});\n","import tokens from '@contentful/f36-tokens';\n\ntype screens = 'medium' | 'large' | 'xlarge';\ntype mediaqueries = Record<screens, string>;\nexport const mqs: mediaqueries = {\n medium: '@media (min-width: 480px)',\n large: '@media (min-width: 768px)',\n xlarge: '@media (min-width: 1920px)',\n};\n\nexport const getGlowOnFocusStyles = (shadow: string = tokens.glowPrimary) => ({\n '&:focus': {\n boxShadow: shadow,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: shadow,\n },\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarAccountStyles } from './NavbarAccount.styles';\nimport {\n Flex,\n type PropsWithHTMLElement,\n type CommonProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\n\ntype NavbarAccountOwnProps = CommonProps & {\n children: React.ReactNode;\n username: string;\n avatar: string;\n hasNotification?: boolean;\n /**\n * @default 'warning'\n */\n notificationVariant?: 'warning' | 'negative' | 'info';\n};\n\nexport type NavbarAccountProps = PropsWithHTMLElement<\n NavbarAccountOwnProps,\n 'button'\n>;\n\nfunction _NavbarAccount(\n props: ExpandProps<NavbarAccountProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-account-trigger',\n avatar,\n username,\n hasNotification,\n notificationVariant = 'warning',\n ...otherProps\n } = props;\n const styles = getNavbarAccountStyles();\n\n return (\n <NavbarMenu\n trigger={\n <Flex\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <img\n src={avatar}\n alt={`Avatar for user ${username}`}\n className={styles.avatar}\n />\n {hasNotification ? (\n <span className={styles.notificationIcon(notificationVariant)} />\n ) : null}\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarAccount = React.forwardRef(_NavbarAccount);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { NavbarAccountProps } from './NavbarAccount';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nconst notificationVarianColorMap: Record<\n NavbarAccountProps['notificationVariant'],\n string\n> = {\n warning: tokens.colorWarning,\n negative: tokens.colorNegative,\n info: tokens.blue500,\n};\n\nexport const getNavbarAccountStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n gap: tokens.spacing2Xs,\n outline: 'none',\n borderRadius: '50%',\n },\n getGlowOnFocusStyles(),\n ),\n avatar: css({\n borderRadius: '50%',\n display: 'block',\n height: '24px',\n width: '24px',\n }),\n notificationIcon: (variant: NavbarAccountProps['notificationVariant']) =>\n css({\n position: 'absolute',\n top: 0,\n right: 0,\n height: tokens.spacingS,\n width: tokens.spacingS,\n borderRadius: '50%',\n border: `2px solid ${tokens.gray900}`,\n backgroundColor: notificationVarianColorMap[variant],\n transform: 'translate(30%, -30%)',\n }),\n});\n","import React from 'react';\nimport { Menu, type MenuListProps, type MenuProps } from '@contentful/f36-menu';\nimport { getNavbarMenuStyles } from './NavbarMenu.styles';\n\nexport type NavbarMenuProps = {\n trigger: React.ReactNode;\n children?: React.ReactNode;\n} & Pick<MenuListProps, 'testId'> &\n Pick<MenuProps, 'onOpen' | 'onClose'>;\n\nexport const NavbarMenu = (props: NavbarMenuProps) => {\n const {\n trigger,\n children,\n testId = 'cf-ui-navbar-menu-list',\n onOpen,\n onClose,\n } = props;\n const styles = getNavbarMenuStyles();\n\n return (\n <Menu onOpen={onOpen} onClose={onClose}>\n <Menu.Trigger>{trigger}</Menu.Trigger>\n <Menu.List className={styles.menuList} testId={testId}>\n {children}\n </Menu.List>\n </Menu>\n );\n};\n","import { css } from 'emotion';\n\nexport const getNavbarMenuStyles = () => ({\n menuList: css({\n minWidth: '250px',\n }),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonImage } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport function NavbarAccountSkeleton({ ariaLabel }: { ariaLabel?: string }) {\n return (\n <SkeletonContainer\n svgWidth={24}\n svgHeight={24}\n ariaLabel={ariaLabel}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonImage width={24} height={24} radiusX={12} radiusY={12} />\n </SkeletonContainer>\n );\n}\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarItemStyles } from './NavbarItem.styles';\nimport { NavbarMenu, type NavbarMenuProps } from '../NavbarMenu/NavbarMenu';\nimport {\n NavbarItemIcon,\n type NavbarItemIconProps,\n} from '../NavbarItemIcon/NavbarItemIcon';\nimport { ArrowDownIcon } from '../icons';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_ITEM_DEFAULT_TAG = 'button';\n\ntype NavbarItemTriggerProps = CommonProps & {\n title: string;\n icon?: NavbarItemIconProps['icon'];\n isActive?: boolean;\n as?: React.ElementType;\n};\n\ntype NavbarItemAsMenuProps = NavbarItemTriggerProps &\n Pick<NavbarMenuProps, 'onOpen' | 'onClose'> & {\n children: React.ReactNode;\n };\ntype NavbarItemAsItemProps = NavbarItemTriggerProps & {\n children?: never;\n onOpen?: never;\n onClose?: never;\n};\ntype NavbarItemOwnProps = NavbarItemAsItemProps | NavbarItemAsMenuProps;\n\nexport type NavbarItemProps<\n E extends React.ElementType = typeof NAVBAR_ITEM_DEFAULT_TAG,\n> = PolymorphicProps<NavbarItemOwnProps, E>;\n\nfunction _NavbarItem(\n props: NavbarItemProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_ITEM_DEFAULT_TAG,\n icon,\n title,\n children,\n className,\n isActive,\n testId = 'cf-ui-navbar-item',\n onOpen,\n onClose,\n ...otherProps\n } = props;\n const styles = getNavbarItemStyles();\n\n const item = (\n <Comp\n {...otherProps}\n ref={ref}\n data-test-id={testId}\n className={cx(styles.root, isActive && styles.isActive, className)}\n >\n {icon ? <NavbarItemIcon icon={icon} variant=\"white\" /> : null}\n <span>{title}</span>\n {isNavbarItemHasMenu(props) && (\n <ArrowDownIcon className={styles.dropdownIcon} />\n )}\n </Comp>\n );\n\n if (isNavbarItemHasMenu(props)) {\n return (\n <NavbarMenu\n trigger={item}\n testId={testId}\n onOpen={onOpen}\n onClose={onClose}\n >\n {children}\n </NavbarMenu>\n );\n }\n\n return item;\n}\n\nconst isNavbarItemHasMenu = <E extends React.ElementType>(\n props: NavbarItemProps<E>,\n): props is PolymorphicProps<NavbarItemAsMenuProps, E> =>\n Boolean(props.children);\n\nexport const NavbarItem: PolymorphicComponent<\n ExpandProps<NavbarItemOwnProps>,\n typeof NAVBAR_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarItemActiveStyles = () =>\n css({\n '&': {\n color: tokens.colorWhite,\n '& svg': {\n fill: tokens.colorWhite,\n },\n },\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: `calc(100% - ${tokens.spacingM})`,\n height: '2px',\n bottom: '0.5px',\n left: 0,\n right: 0,\n margin: 'auto',\n backgroundColor: tokens.colorWhite,\n zIndex: 0,\n },\n });\n\nconst commonItemStyles = {\n display: 'flex',\n justifyContent: 'center',\n padding: `10px ${tokens.spacingS}`,\n alignItems: 'center',\n background: 'none',\n};\n\nexport const getNavbarItemStyles = () => ({\n root: css(\n commonItemStyles,\n {\n alignItems: 'center',\n background: 'none',\n border: 0,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeM,\n lineHeight: tokens.lineHeightM,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n textAlign: 'left',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n hyphens: 'auto',\n textDecoration: 'none',\n color: hexToRGBA(tokens.gray300, 0.8),\n boxSizing: 'border-box',\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n borderRadius: tokens.borderRadiusMedium,\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n width: `calc(100% - ${tokens.spacingXs})`,\n height: `calc(100% - ${tokens.spacingS})`,\n top: `calc(${tokens.spacingS} / 2)`,\n left: 0,\n right: 0,\n margin: 'auto',\n borderRadius: tokens.borderRadiusSmall,\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.08),\n opacity: 0,\n zIndex: 0,\n scale: 0,\n transition: `all ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n\n '&:hover::before': {\n opacity: 1,\n scale: '1',\n },\n\n '&:active::before': {\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n '&:disabled': {\n cursor: 'auto',\n },\n\n '& svg': {\n fill: hexToRGBA(tokens.gray300, 0.8),\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n\n '&:first-child': {\n display: 'none',\n [mqs.large]: {\n display: 'block',\n },\n },\n },\n '& > svg, & > span': {\n zIndex: tokens.zIndexDefault,\n },\n },\n getGlowOnFocusStyles(`inset ${tokens.glowPrimary}`),\n ),\n isActive: getNavbarItemActiveStyles(),\n dropdownIcon: css({\n paddingLeft: tokens.spacing2Xs,\n }),\n});\n\nexport const getNavbarItemSkeletonStyles = () => ({\n root: css(commonItemStyles),\n});\n","import React from 'react';\nimport type { IconProps } from '@contentful/f36-icons';\nimport { getNavbarItemIconStyles } from './NavbarItemIcon.styles';\nimport { cx } from 'emotion';\n\nexport type NavbarItemIconProps = {\n icon: React.ReactElement<IconProps>;\n} & Pick<IconProps, 'variant'>;\n\nexport const NavbarItemIcon = (props: NavbarItemIconProps) => {\n const { icon, variant } = props;\n const styles = getNavbarItemIconStyles();\n\n return React.cloneElement(icon, {\n className: cx(icon.props.className, styles.root),\n size: icon.props.size ?? 'tiny',\n variant: icon.props.variant ?? variant,\n });\n};\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarItemIconStyles = () => ({\n root: css({\n '&:first-child': {\n marginRight: tokens.spacing2Xs,\n },\n '&:last-child': {\n marginLeft: tokens.spacing2Xs,\n },\n 'img&': {\n borderRadius: tokens.borderRadiusSmall,\n maxWidth: tokens.spacingM,\n maxHeight: tokens.spacingM,\n },\n }),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const CircleIcon = /*#__PURE__*/ generateIcon({\n name: 'CircleIcon',\n viewBox: '0 0 24 24',\n path: (\n <path\n d=\"M11.994 6.526A5.47 5.47 0 0 0 6.526 12a5.47 5.47 0 0 0 5.468 5.473A5.476 5.476 0 0 0 17.473 12a5.477 5.477 0 0 0-5.479-5.474ZM12 15.447a3.448 3.448 0 1 1 0-6.896 3.448 3.448 0 0 1 0 6.896Z\"\n fill=\"currentFill\"\n />\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const ArrowDownIcon = /*#__PURE__*/ generateIcon({\n name: 'ArrowDownIcon',\n viewBox: '0 0 12 20',\n path: (\n <path\n d=\"M3.03076 8C2.20109 8 1.73228 8.95209 2.23814 9.60971L5.20727 13.4696C5.60757 13.99 6.39223 13.99 6.79252 13.4696L9.76166 9.60971C10.2675 8.95209 9.79871 8 8.96904 8L3.03076 8Z\"\n fill=\"#9FA8B2\"\n />\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const HelpIcon = /*#__PURE__*/ generateIcon({\n name: 'HelpIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#HelpIcon_svg__a)\">\n <path\n d=\"M12 2.25A9.75 9.75 0 1 0 21.75 12 9.769 9.769 0 0 0 12 2.25ZM12 18a1.125 1.125 0 1 1 0-2.25A1.125 1.125 0 0 1 12 18Zm.75-4.584v.084a.75.75 0 1 1-1.5 0v-.75A.75.75 0 0 1 12 12a1.875 1.875 0 1 0-1.875-1.875.75.75 0 1 1-1.5 0 3.375 3.375 0 1 1 4.125 3.29Z\"\n fill=\"currentFill\"\n />\n </g>\n <defs>\n <clipPath id=\"HelpIcon_svg__a\">\n <path fill=\"currentFill\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const SearchIcon = /*#__PURE__*/ generateIcon({\n name: 'SearchIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#SearchIcon_svg__a)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 11.125a5.125 5.125 0 1 1 10.25 0 5.125 5.125 0 0 1-10.25 0ZM11.125 4a7.125 7.125 0 1 0 4.282 12.82l2.886 2.887a1 1 0 0 0 1.414-1.414l-2.886-2.887A7.125 7.125 0 0 0 11.125 4Z\"\n fill=\"currentFill\"\n />\n </g>\n <defs>\n <clipPath id=\"SearchIcon_svg__a\">\n <path fill=\"#fff\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const ContentfulLogoIcon = /*#__PURE__*/ generateIcon({\n name: 'ContentfulLogoIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#a)\">\n <path\n d=\"M8.71 3.007c.844.843 1.17 2.078.844 3.228a6.683 6.683 0 0 1 3.444-.953h.025a6.701 6.701 0 0 1 4.743 1.988 2.637 2.637 0 0 0 3.73.093 2.637 2.637 0 0 0 .094-3.731c-.025-.027-.052-.052-.08-.08A11.95 11.95 0 0 0 13.036.006h-.046a11.92 11.92 0 0 0-6.691 2.038h.074c.876 0 1.715.346 2.335.966l.002-.002Z\"\n fill=\"#1773EB\"\n />\n <path\n d=\"M19.593 16.006c-.696 0-1.365.276-1.86.765a6.706 6.706 0 0 1-4.732 1.953h-.025a6.617 6.617 0 0 1-3.446-.97c.079.287.117.584.117.882a3.3 3.3 0 0 1-3.299 3.3h-.087a11.929 11.929 0 0 0 6.696 2.07h.046a11.934 11.934 0 0 0 8.45-3.486 2.64 2.64 0 0 0-1.857-4.514h-.003Z\"\n fill=\"#E44F20\"\n />\n <path\n d=\"M4.013 16.301a3.283 3.283 0 0 1 2.335-.967c.303 0 .604.041.893.123a6.696 6.696 0 0 1 .014-6.928 3.302 3.302 0 0 1-4.176-3.187v-.09a12 12 0 0 0-.033 13.452v-.068c0-.877.344-1.715.967-2.335Z\"\n fill=\"#FFDA00\"\n />\n <path\n d=\"M6.378 2.627c-.751 0-1.275.311-1.912.948-.606.606-.797 1.136-.8 1.767a2.712 2.712 0 1 0 5.427-.003A2.713 2.713 0 0 0 6.38 2.627h-.003Z\"\n fill=\"#1773EB\"\n />\n <path\n d=\"M3.628 18.639c0 .748.311 1.275.948 1.912.606.606 1.136.8 1.767.8a2.703 2.703 0 1 0-.017-5.408 2.703 2.703 0 0 0-2.695 2.704v-.008h-.003Z\"\n fill=\"#E44F20\"\n />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonText } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\nimport { getNavbarItemSkeletonStyles } from './NavbarItem.styles';\n\nexport const NavbarItemSkeleton = ({\n estimatedWidth,\n}: {\n estimatedWidth: number;\n}) => {\n const styles = getNavbarItemSkeletonStyles();\n\n return (\n <SkeletonContainer\n className={styles.root}\n svgWidth={estimatedWidth}\n svgHeight={40}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonText\n lineHeight={6}\n numberOfLines={1}\n offsetTop={7}\n radiusX={tokens.borderRadiusSmall}\n radiusY={tokens.borderRadiusSmall}\n />\n </SkeletonContainer>\n );\n};\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarMenuItemStyles } from './NavbarMenuItem.styles';\nimport { Menu, type MenuItemProps } from '@contentful/f36-menu';\nimport {\n NavbarItemIcon,\n type NavbarItemIconProps,\n} from '../NavbarItemIcon/NavbarItemIcon';\nimport { ExternalLinkIcon } from '@contentful/f36-icons';\nimport type {\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_MENU_ITEM_DEFAULT_TAG = 'button';\n\ntype NavbarMenuItemOwnProps = {\n children?: null;\n title: string;\n icon?: NavbarItemIconProps['icon'];\n as?: React.ElementType;\n} & Omit<MenuItemProps, 'children' | 'as'>;\n\nexport type NavbarMenuItemProps<\n E extends React.ElementType = typeof NAVBAR_MENU_ITEM_DEFAULT_TAG,\n> = PolymorphicProps<NavbarMenuItemOwnProps, E>;\n\nfunction _NavbarMenuItem(\n props: NavbarMenuItemProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_MENU_ITEM_DEFAULT_TAG,\n icon,\n title,\n className,\n ...otherProps\n } = props;\n const styles = getNavbarMenuItemStyles();\n\n const itemIsExternalLink = isExternalLink(\n props as unknown as NavbarMenuItemProps<'a'>,\n );\n\n return (\n <Menu.Item\n {...otherProps}\n ref={ref}\n as={Comp as MenuItemProps['as']}\n className={cx(styles.root, className)}\n >\n {icon ? (\n <NavbarItemIcon icon={icon} variant=\"secondary\" />\n ) : (\n itemIsExternalLink && externalIcon\n )}\n <span>{title}</span>\n {icon && itemIsExternalLink ? externalIcon : null}\n </Menu.Item>\n );\n}\n\nconst externalIcon = (\n <NavbarItemIcon icon={<ExternalLinkIcon />} variant=\"muted\" />\n);\n\nconst isExternalLink = (props: NavbarMenuItemProps<'a'>) =>\n props.as === 'a' && props.target === '_blank';\n\nexport const NavbarMenuItem: PolymorphicComponent<\n ExpandProps<NavbarMenuItemOwnProps>,\n typeof NAVBAR_MENU_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarMenuItem);\n","import { css } from 'emotion';\n\nexport const getNavbarMenuItemStyles = () => ({\n root: css({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n }),\n});\n","import React from 'react';\nimport { Menu } from '@contentful/f36-menu';\nimport {\n SkeletonBodyText,\n SkeletonContainer,\n SkeletonImage,\n} from '@contentful/f36-skeleton';\nimport { Flex } from '@contentful/f36-core';\n\nimport tokens from '@contentful/f36-tokens';\n\nexport const NavbarMenuItemSkeleton = ({\n ariaLabel,\n}: {\n ariaLabel?: string;\n}) => (\n <Menu.Item>\n <Flex alignItems=\"center\" gap={tokens.spacingXs}>\n <SkeletonContainer svgHeight={16} svgWidth={18}>\n <SkeletonImage width={16} height={16} />\n </SkeletonContainer>\n <SkeletonContainer svgHeight={16} svgWidth={190} ariaLabel={ariaLabel}>\n <SkeletonBodyText numberOfLines={1} />\n </SkeletonContainer>\n </Flex>\n </Menu.Item>\n);\n","import React from 'react';\nimport { getNavbarSwitcherStyles } from './NavbarSwitcher.styles';\nimport {\n Flex,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { MenuIcon } from '@contentful/f36-icons';\nimport { cx } from 'emotion';\nimport { ContentfulLogoIcon } from '../icons';\n\ntype NavbarSwitcherOwnProps = CommonProps & {\n children?: React.ReactNode;\n /**\n * Will be displayed instead of the default Contentful logo\n */\n logo?: React.ReactNode;\n};\n\nexport type NavbarSwitcherProps = PropsWithHTMLElement<\n NavbarSwitcherOwnProps,\n 'button'\n>;\n\nfunction _NavbarSwitcher(\n props: ExpandProps<NavbarSwitcherProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n logo,\n testId = 'cf-ui-navbar-switcher',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherStyles();\n\n return (\n <Flex\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n alignItems=\"center\"\n fullHeight\n gap=\"spacingXs\"\n >\n {logo || <ContentfulLogoIcon />}\n <MenuIcon className={styles.menuIcon} size=\"small\" variant=\"white\" />\n <Flex as=\"ul\" alignItems=\"center\" className={styles.breadcrumbs}>\n {children}\n </Flex>\n </Flex>\n );\n}\n\nexport const NavbarSwitcher = React.forwardRef(_NavbarSwitcher);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n color: tokens.gray300,\n cursor: 'pointer',\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:after': {\n content: '\"\"',\n border: '1px solid #353A41',\n boxSizing: 'border-box',\n height: '16px',\n right: '-1px',\n position: 'absolute',\n width: 0,\n },\n '&:last-child:after': {\n display: 'none',\n },\n '&:hover li': {\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.15),\n },\n },\n getGlowOnFocusStyles(\n `0px 0px 0px 2px ${tokens.colorBlack}, 0px 0px 0px 5px ${tokens.blue300}`,\n ),\n ),\n breadcrumbs: css({\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n }),\n menuIcon: css({\n display: 'none',\n [mqs.medium]: {\n display: 'block',\n },\n }),\n});\n","import React from 'react';\nimport {\n SkeletonContainer,\n SkeletonDisplayText,\n} from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport const NavbarSwitcherSkeleton = ({\n estimatedWidth,\n}: {\n estimatedWidth: number;\n}) => (\n <SkeletonContainer\n svgWidth={estimatedWidth}\n svgHeight={24}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonDisplayText\n lineHeight={24}\n numberOfLines={1}\n radiusX={12}\n radiusY={12}\n />\n </SkeletonContainer>\n);\n","import { cx } from 'emotion';\nimport React from 'react';\nimport { getNavbarSearchStyles } from './NavbarSearch.styles';\nimport { SearchIcon } from '../icons';\nimport {\n type CommonProps,\n type ExpandProps,\n Flex,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSearchOwnProps = CommonProps;\n\nexport type NavbarSearchProps = PropsWithHTMLElement<\n NavbarSearchOwnProps,\n 'button'\n>;\n\nfunction _NavbarSearch(\n props: ExpandProps<NavbarSearchProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const { className, testId = 'cf-ui-navbar-search', ...otherProps } = props;\n const styles = getNavbarSearchStyles();\n\n return (\n <Flex\n aria-label=\"Quick Search\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <SearchIcon size=\"medium\" variant=\"white\" />\n </Flex>\n );\n}\n\nexport const NavbarSearch = React.forwardRef(_NavbarSearch);\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarSearchStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: tokens.spacingL,\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '& svg': {\n fill: tokens.gray300,\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n '&:hover, & svg:hover': {\n color: tokens.gray100,\n fill: tokens.gray100,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarSwitcherItemStyles } from './NavbarSwitcherItem.styles';\nimport { NavbarEnvVariant } from './NavbarEnvVariant';\nimport {\n Flex,\n type CommonProps,\n type ExpandProps,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSwitcherItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n isCircle?: boolean;\n envVariant?: 'master' | 'non-master';\n isAlias?: boolean;\n};\n\nexport type NavbarSwitcherItemProps = PropsWithHTMLElement<\n NavbarSwitcherItemOwnProps,\n 'li'\n>;\n\nfunction _NavbarSwitcherItem(\n props: ExpandProps<NavbarSwitcherItemProps>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n children,\n isCircle,\n className,\n envVariant,\n isAlias,\n testId = 'cf-ui-navbar-switcher-item',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherItemStyles();\n const classes = cx(styles.breadcrumbsItem, className, {\n [styles.breadcrumbsItemCircle]: isCircle,\n [styles.breadcrumbsItemEnvMaster]: envVariant === 'master',\n [styles.breadcrumbsItemEnvNonMaster]: envVariant === 'non-master',\n });\n\n return (\n <li {...otherProps} ref={ref} className={classes} data-test-id={testId}>\n <Flex fullHeight justifyContent=\"center\" alignItems=\"center\">\n {envVariant && <NavbarEnvVariant isAlias={isAlias} />}\n <span>{children}</span>\n </Flex>\n </li>\n );\n}\n\nexport const NavbarSwitcherItem = React.forwardRef(_NavbarSwitcherItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { mqs } from '../utils.styles';\n\nconst mobileIcon = {\n display: 'none',\n '&:first-child': {\n display: 'block',\n },\n\n [mqs.medium]: {\n display: 'block',\n '&:first-child': {\n display: 'none',\n },\n },\n};\n\nexport const getNavbarSwitcherItemStyles = () => ({\n breadcrumbsItem: css({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: hexToRGBA(tokens.gray100, 0.1),\n boxShadow: `0px 0px 0px 2px ${tokens.colorBlack}`,\n display: 'inline-flex',\n margin: 0,\n minWidth: 0,\n padding: `0 ${tokens.spacingXs}`,\n height: tokens.spacingL,\n borderRadius: '3rem',\n zIndex: 2,\n transition: `background-color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n whiteSpace: 'nowrap',\n '&:not(:first-child)': {\n clipPath: `path('M0 24C6 24 10 18 10 10C10 5 6 0 0 0H400C400 0 400 5 400 24H0Z')`,\n },\n '&:first-child': {\n minWidth: '24px',\n },\n '&:nth-child(2)': {\n zIndex: 1,\n left: `-${tokens.spacingXs}`,\n paddingLeft: tokens.spacingM,\n borderRadius: `0 3rem 3rem 0`,\n span: {\n maxWidth: '80px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n [mqs.large]: {\n maxWidth: '100%',\n },\n },\n },\n '&:nth-child(3)': {\n left: `-${tokens.spacingM}`,\n paddingLeft: tokens.spacingM,\n borderRadius: `0 3rem 3rem 0`,\n fontFamily: tokens.fontStackMonospace,\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n zIndex: 0,\n span: {\n maxWidth: '40px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n [mqs.large]: {\n maxWidth: '100%',\n },\n },\n '> div': {\n [mqs.medium]: {\n gap: tokens.spacing2Xs,\n },\n },\n },\n }),\n breadcrumbsItemCircle: css({\n borderRadius: '50%',\n color: tokens.gray400,\n padding: 0,\n display: 'flex',\n justifyContent: 'center',\n fontSize: '11px',\n width: tokens.spacingL,\n height: tokens.spacingL,\n }),\n breadcrumbsItemEnvMaster: css({\n color: tokens.green400,\n ' svg': {\n ...mobileIcon,\n fill: tokens.green400,\n },\n }),\n breadcrumbsItemEnvNonMaster: css({\n color: tokens.orange400,\n svg: {\n ...mobileIcon,\n fill: tokens.orange400,\n },\n }),\n});\n","import React from 'react';\nimport { NavbarSwitcherItemProps } from './NavbarSwitcherItem';\nimport { CircleIcon } from '../icons';\nimport { EnvironmentAliasIcon, EnvironmentIcon } from '@contentful/f36-icons';\n\nexport type NavbarEnvVariantProps = Pick<NavbarSwitcherItemProps, 'isAlias'>;\n\nexport function NavbarEnvVariant({ isAlias }: NavbarEnvVariantProps) {\n return (\n <>\n <CircleIcon key=\"mobile-icon\" size=\"tiny\" />\n {isAlias ? (\n <EnvironmentAliasIcon key=\"full-icon\" size=\"tiny\" />\n ) : (\n <EnvironmentIcon key=\"full-icon\" size=\"tiny\" />\n )}\n </>\n );\n}\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarHelpStyles } from './NavbarHelp.styles';\nimport { HelpIcon } from '../icons';\nimport {\n Flex,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\n\ntype NavbarHelpOwnProps = CommonProps & {\n children: React.ReactNode;\n};\n\nexport type NavbarHelpProps = PropsWithHTMLElement<\n NavbarHelpOwnProps,\n 'button'\n>;\n\nfunction _NavbarHelp(\n props: ExpandProps<NavbarHelpProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-help-trigger',\n ...otherProps\n } = props;\n const styles = getNavbarHelpStyles();\n\n return (\n <NavbarMenu\n testId=\"cf-ui-navbar-help-menu\"\n trigger={\n <Flex\n aria-label=\"Help Menu\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <HelpIcon size=\"medium\" variant=\"white\" />\n Help\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarHelp = React.forwardRef(_NavbarHelp);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarHelpStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n color: tokens.gray300,\n fontSize: 0,\n gap: 0,\n minWidth: tokens.spacingL,\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n [mqs.medium]: {\n fontSize: tokens.fontSizeS,\n gap: tokens.spacing2Xs,\n fontWeight: tokens.fontWeightMedium,\n marginRight: tokens.spacingXs,\n },\n '&:hover, &:hover svg': {\n color: tokens.gray100,\n fill: tokens.gray100,\n },\n '& svg': {\n fill: tokens.gray300,\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarBadgeStyles } from './NavbarBadge.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'div';\n\ntype NavbarBadgeOwnProps = CommonProps & {\n children?: React.ReactNode;\n as?: React.ElementType;\n};\n\nexport type NavbarBadgeProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarBadgeOwnProps, E>;\n\nfunction _NavbarBadge(\n props: NavbarBadgeProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-badge',\n ...otherProps\n } = props;\n const styles = getNavbarBadgeStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.root, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarBadge: PolymorphicComponent<\n ExpandProps<NavbarBadgeOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarBadge);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarBadgeStyles = () => ({\n root: css({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: 'none',\n border: `1px solid ${tokens.purple400}`,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeS,\n lineHeight: tokens.lineHeightS,\n fontWeight: tokens.fontWeightMedium,\n textAlign: 'center',\n padding: `0 ${tokens.spacingXs}`,\n textDecoration: 'none',\n color: `${tokens.purple400}!important`,\n borderRadius: '1.75rem',\n }),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarTopbarItemStyles } from './NavbarTopbarItem.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'button';\n\ntype NavbarTopbarItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n};\n\nexport type NavbarTopbarItemProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarTopbarItemOwnProps, E>;\n\nfunction _NavbarTopbarItem<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n>(props: NavbarTopbarItemProps<E>, ref: React.Ref<any>) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-topbar-item',\n ...otherProps\n } = props;\n const styles = getNavbarTopbarItemStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.root, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarTopbarItem: PolymorphicComponent<\n ExpandProps<NavbarTopbarItemOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarTopbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarTopbarItemStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n display: 'flex',\n gap: tokens.spacing2Xs,\n alignItems: 'center',\n color: tokens.gray300,\n padding: `0 ${tokens.spacing2Xs}`,\n minHeight: tokens.spacingL,\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:hover': {\n color: tokens.gray100,\n },\n svg: {\n fill: 'currentColor',\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -60,7 +60,7 @@ declare const NavbarAccount: React.ForwardRefExoticComponent<Omit<Omit<Pick<Reac
|
|
|
60
60
|
/**
|
|
61
61
|
* @default 'warning'
|
|
62
62
|
*/
|
|
63
|
-
notificationVariant?: 'warning' | 'negative';
|
|
63
|
+
notificationVariant?: 'warning' | 'negative' | 'info';
|
|
64
64
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
65
65
|
|
|
66
66
|
declare function NavbarAccountSkeleton({ ariaLabel }: {
|
package/dist/index.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ declare const NavbarAccount: React.ForwardRefExoticComponent<Omit<Omit<Pick<Reac
|
|
|
60
60
|
/**
|
|
61
61
|
* @default 'warning'
|
|
62
62
|
*/
|
|
63
|
-
notificationVariant?: 'warning' | 'negative';
|
|
63
|
+
notificationVariant?: 'warning' | 'negative' | 'info';
|
|
64
64
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
65
65
|
|
|
66
66
|
declare function NavbarAccountSkeleton({ ariaLabel }: {
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
15
15
|
var N__default = /*#__PURE__*/_interopDefault(N);
|
|
16
16
|
var a__default = /*#__PURE__*/_interopDefault(a);
|
|
17
17
|
|
|
18
|
-
var Ke=Object.defineProperty,eo=Object.defineProperties;var oo=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var le=(e,o,t)=>o in e?Ke(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,s=(e,o)=>{for(var t in o||(o={}))de.call(o,t)&&le(e,t,o[t]);if(V)for(var t of V(o))fe.call(o,t)&&le(e,t,o[t]);return e},p=(e,o)=>eo(e,oo(o));var f=(e,o)=>{var t={};for(var r in e)de.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&V)for(var r of V(e))o.indexOf(r)<0&&fe.call(e,r)&&(t[r]=e[r]);return t};var g={medium:"@media (min-width: 480px)",large:"@media (min-width: 768px)",xlarge:"@media (min-width: 1920px)"},v=(e=a__default.default.glowPrimary)=>({"&:focus":{boxShadow:e},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:e}});var be=e=>({containerTop:emotion.css({justifyContent:"center",backgroundColor:"#0C141C"}),containerBottom:emotion.css({justifyContent:"center",borderTop:"1px solid #21262D",backgroundColor:"#161B22"}),containerTopContent:emotion.css({width:"100%",maxWidth:e,padding:`${a__default.default.spacingXs}`,minHeight:"2.5rem",[g.medium]:{padding:`${a__default.default.spacingXs} ${a__default.default.spacingM}`}}),containerBottomContent:emotion.css({width:"100%",maxWidth:e,padding:0,minHeight:"2.5rem",overflow:"auto",[g.medium]:{padding:`0 ${a__default.default.spacing2Xs}`}})});function no(e,o){let F=e,{children:t,account:r,search:i,switcher:n,help:m,badge:d,bottomRightItems:c,topRightItems:h,contentMaxWidth:I="100%",testId:x="cf-ui-navbar"}=F,H=f(F,["children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId"]),w=be(I);return N__default.default.createElement(f36Core.Box,p(s({},H),{ref:o,testId:x}),N__default.default.createElement(f36Core.Flex,{className:w.containerTop},N__default.default.createElement(f36Core.Flex,{className:w.containerTopContent,justifyContent:"space-between"},N__default.default.createElement(f36Core.Flex,null,n),N__default.default.createElement(f36Core.Flex,{alignItems:"center",gap:"spacingXs"},h,d,i,m,r))),N__default.default.createElement(f36Core.Flex,{className:w.containerBottom},N__default.default.createElement(f36Core.Flex,{className:w.containerBottomContent,justifyContent:"space-between"},N__default.default.createElement(f36Core.Flex,{as:"nav","aria-label":"Main Navigation",alignItems:"stretch"},t),c&&N__default.default.createElement(f36Core.Flex,null,c))))}var ge=N__default.default.forwardRef(no);var ue=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",position:"relative",alignItems:"center",justifyContent:"center",gap:a__default.default.spacing2Xs,outline:"none",borderRadius:"50%"},v()),avatar:emotion.css({borderRadius:"50%",display:"block",height:"24px",width:"24px"}),notificationIcon:e=>emotion.css({position:"absolute",top:0,right:0,height:a__default.default.spacingS,width:a__default.default.spacingS,borderRadius:"50%",border:`2px solid ${a__default.default.gray900}`,backgroundColor:e==="negative"?a__default.default.colorNegative:a__default.default.colorWarning,transform:"translate(30%, -30%)"})});var he=()=>({menuList:emotion.css({minWidth:"250px"})});var T=e=>{let{trigger:o,children:t,testId:r="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,m=he();return N__default.default.createElement(f36Menu.Menu,{onOpen:i,onClose:n},N__default.default.createElement(f36Menu.Menu.Trigger,null,o),N__default.default.createElement(f36Menu.Menu.List,{className:m.menuList,testId:r},t))};function po(e,o){let x=e,{children:t,className:r,testId:i="cf-ui-navbar-account-trigger",avatar:n,username:m,hasNotification:d,notificationVariant:c="warning"}=x,h=f(x,["children","className","testId","avatar","username","hasNotification","notificationVariant"]),I=ue();return N__default.default.createElement(T,{trigger:N__default.default.createElement(f36Core.Flex,p(s({},h),{as:"button",ref:o,className:emotion.cx(I.root,r),testId:i}),N__default.default.createElement("img",{src:n,alt:`Avatar for user ${m}`,className:I.avatar}),d?N__default.default.createElement("span",{className:I.notificationIcon(c)}):null)},t)}var ee=N__default.default.forwardRef(po);function oe({ariaLabel:e}){return N__default.default.createElement(f36Skeleton.SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:a__default.default.gray800,foregroundColor:a__default.default.gray700},N__default.default.createElement(f36Skeleton.SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var ye=()=>emotion.css({"&":{color:a__default.default.colorWhite,"& svg":{fill:a__default.default.colorWhite}},"&::after":{content:'""',position:"absolute",width:`calc(100% - ${a__default.default.spacingM})`,height:"2px",bottom:"0.5px",left:0,right:0,margin:"auto",backgroundColor:a__default.default.colorWhite,zIndex:0}}),Ie={display:"flex",justifyContent:"center",padding:`10px ${a__default.default.spacingS}`,alignItems:"center",background:"none"},xe=()=>({root:emotion.css(Ie,{alignItems:"center",background:"none",border:0,margin:0,outline:"none",fontSize:a__default.default.fontSizeM,lineHeight:a__default.default.lineHeightM,fontWeight:a__default.default.fontWeightMedium,position:"relative",textAlign:"left",whiteSpace:"nowrap",cursor:"pointer",hyphens:"auto",textDecoration:"none",color:f36Utils.hexToRGBA(a__default.default.gray300,.8),boxSizing:"border-box",transition:`color ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,borderRadius:a__default.default.borderRadiusMedium,"&::before":{content:'""',position:"absolute",width:`calc(100% - ${a__default.default.spacingXs})`,height:`calc(100% - ${a__default.default.spacingS})`,top:`calc(${a__default.default.spacingS} / 2)`,left:0,right:0,margin:"auto",borderRadius:a__default.default.borderRadiusSmall,backgroundColor:f36Utils.hexToRGBA(a__default.default.colorWhite,.08),opacity:0,zIndex:0,scale:0,transition:`all ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`},"&:hover::before":{opacity:1,scale:"1"},"&:active::before":{backgroundColor:"rgba(255, 255, 255, 0.1)"},"&:disabled":{cursor:"auto"},"& svg":{fill:f36Utils.hexToRGBA(a__default.default.gray300,.8),transition:`fill ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,"&:first-child":{display:"none",[g.large]:{display:"block"}}},"& > svg, & > span":{zIndex:a__default.default.zIndexDefault}},v(`inset ${a__default.default.glowPrimary}`)),isActive:ye(),dropdownIcon:emotion.css({paddingLeft:a__default.default.spacing2Xs})}),Pe=()=>({root:emotion.css(Ie)});var Se=()=>({root:emotion.css({"&:first-child":{marginRight:a__default.default.spacing2Xs},"&:last-child":{marginLeft:a__default.default.spacing2Xs},"img&":{borderRadius:a__default.default.borderRadiusSmall,maxWidth:a__default.default.spacingM,maxHeight:a__default.default.spacingM}})});var z=e=>{var i,n;let{icon:o,variant:t}=e,r=Se();return N__default.default.cloneElement(o,{className:emotion.cx(o.props.className,r.root),size:(i=o.props.size)!=null?i:"tiny",variant:(n=o.props.variant)!=null?n:t})};var Me=f36Icon.generateIcon({name:"CircleIcon",viewBox:"0 0 24 24",path:N__default.default.createElement("path",{d:"M11.994 6.526A5.47 5.47 0 0 0 6.526 12a5.47 5.47 0 0 0 5.468 5.473A5.476 5.476 0 0 0 17.473 12a5.477 5.477 0 0 0-5.479-5.474ZM12 15.447a3.448 3.448 0 1 1 0-6.896 3.448 3.448 0 0 1 0 6.896Z",fill:"currentFill"})});var we=f36Icon.generateIcon({name:"ArrowDownIcon",viewBox:"0 0 12 20",path:N__default.default.createElement("path",{d:"M3.03076 8C2.20109 8 1.73228 8.95209 2.23814 9.60971L5.20727 13.4696C5.60757 13.99 6.39223 13.99 6.79252 13.4696L9.76166 9.60971C10.2675 8.95209 9.79871 8 8.96904 8L3.03076 8Z",fill:"#9FA8B2"})});var Ee=f36Icon.generateIcon({name:"HelpIcon",viewBox:"0 0 24 24",path:N__default.default.createElement(N__default.default.Fragment,null,N__default.default.createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},N__default.default.createElement("path",{d:"M12 2.25A9.75 9.75 0 1 0 21.75 12 9.769 9.769 0 0 0 12 2.25ZM12 18a1.125 1.125 0 1 1 0-2.25A1.125 1.125 0 0 1 12 18Zm.75-4.584v.084a.75.75 0 1 1-1.5 0v-.75A.75.75 0 0 1 12 12a1.875 1.875 0 1 0-1.875-1.875.75.75 0 1 1-1.5 0 3.375 3.375 0 1 1 4.125 3.29Z",fill:"currentFill"})),N__default.default.createElement("defs",null,N__default.default.createElement("clipPath",{id:"HelpIcon_svg__a"},N__default.default.createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var Ae=f36Icon.generateIcon({name:"SearchIcon",viewBox:"0 0 24 24",path:N__default.default.createElement(N__default.default.Fragment,null,N__default.default.createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},N__default.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 11.125a5.125 5.125 0 1 1 10.25 0 5.125 5.125 0 0 1-10.25 0ZM11.125 4a7.125 7.125 0 1 0 4.282 12.82l2.886 2.887a1 1 0 0 0 1.414-1.414l-2.886-2.887A7.125 7.125 0 0 0 11.125 4Z",fill:"currentFill"})),N__default.default.createElement("defs",null,N__default.default.createElement("clipPath",{id:"SearchIcon_svg__a"},N__default.default.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ce=f36Icon.generateIcon({name:"ContentfulLogoIcon",viewBox:"0 0 24 24",path:N__default.default.createElement(N__default.default.Fragment,null,N__default.default.createElement("g",{clipPath:"url(#a)"},N__default.default.createElement("path",{d:"M8.71 3.007c.844.843 1.17 2.078.844 3.228a6.683 6.683 0 0 1 3.444-.953h.025a6.701 6.701 0 0 1 4.743 1.988 2.637 2.637 0 0 0 3.73.093 2.637 2.637 0 0 0 .094-3.731c-.025-.027-.052-.052-.08-.08A11.95 11.95 0 0 0 13.036.006h-.046a11.92 11.92 0 0 0-6.691 2.038h.074c.876 0 1.715.346 2.335.966l.002-.002Z",fill:"#1773EB"}),N__default.default.createElement("path",{d:"M19.593 16.006c-.696 0-1.365.276-1.86.765a6.706 6.706 0 0 1-4.732 1.953h-.025a6.617 6.617 0 0 1-3.446-.97c.079.287.117.584.117.882a3.3 3.3 0 0 1-3.299 3.3h-.087a11.929 11.929 0 0 0 6.696 2.07h.046a11.934 11.934 0 0 0 8.45-3.486 2.64 2.64 0 0 0-1.857-4.514h-.003Z",fill:"#E44F20"}),N__default.default.createElement("path",{d:"M4.013 16.301a3.283 3.283 0 0 1 2.335-.967c.303 0 .604.041.893.123a6.696 6.696 0 0 1 .014-6.928 3.302 3.302 0 0 1-4.176-3.187v-.09a12 12 0 0 0-.033 13.452v-.068c0-.877.344-1.715.967-2.335Z",fill:"#FFDA00"}),N__default.default.createElement("path",{d:"M6.378 2.627c-.751 0-1.275.311-1.912.948-.606.606-.797 1.136-.8 1.767a2.712 2.712 0 1 0 5.427-.003A2.713 2.713 0 0 0 6.38 2.627h-.003Z",fill:"#1773EB"}),N__default.default.createElement("path",{d:"M3.628 18.639c0 .748.311 1.275.948 1.912.606.606 1.136.8 1.767.8a2.703 2.703 0 1 0-.017-5.408 2.703 2.703 0 0 0-2.695 2.704v-.008h-.003Z",fill:"#E44F20"})),N__default.default.createElement("defs",null,N__default.default.createElement("clipPath",{id:"a"},N__default.default.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Po="button";function So(e,o){let F=e,{as:t=Po,icon:r,title:i,children:n,className:m,isActive:d,testId:c="cf-ui-navbar-item",onOpen:h,onClose:I}=F,x=f(F,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),H=xe(),w=N__default.default.createElement(t,p(s({},x),{ref:o,"data-test-id":c,className:emotion.cx(H.root,d&&H.isActive,m)}),r?N__default.default.createElement(z,{icon:r,variant:"white"}):null,N__default.default.createElement("span",null,i),ke(e)&&N__default.default.createElement(we,{className:H.dropdownIcon}));return ke(e)?N__default.default.createElement(T,{trigger:w,testId:c,onOpen:h,onClose:I},n):w}var ke=e=>!!e.children,re=N__default.default.forwardRef(So);var ne=({estimatedWidth:e})=>{let o=Pe();return N__default.default.createElement(f36Skeleton.SkeletonContainer,{className:o.root,svgWidth:e,svgHeight:40,backgroundColor:a__default.default.gray800,foregroundColor:a__default.default.gray700},N__default.default.createElement(f36Skeleton.SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:7,radiusX:a__default.default.borderRadiusSmall,radiusY:a__default.default.borderRadiusSmall}))};var Re=()=>({root:emotion.css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var To="button";function Ro(e,o){let h=e,{as:t=To,icon:r,title:i,className:n}=h,m=f(h,["as","icon","title","className"]),d=Re(),c=Bo(e);return N__default.default.createElement(f36Menu.Menu.Item,p(s({},m),{ref:o,as:t,className:emotion.cx(d.root,n)}),r?N__default.default.createElement(z,{icon:r,variant:"secondary"}):c&&Be,N__default.default.createElement("span",null,i),r&&c?Be:null)}var Be=N__default.default.createElement(z,{icon:N__default.default.createElement(f36Icons.ExternalLinkIcon,null),variant:"muted"}),Bo=e=>e.as==="a"&&e.target==="_blank",ae=N__default.default.forwardRef(Ro);var ie=({ariaLabel:e})=>N__default.default.createElement(f36Menu.Menu.Item,null,N__default.default.createElement(f36Core.Flex,{alignItems:"center",gap:a__default.default.spacingXs},N__default.default.createElement(f36Skeleton.SkeletonContainer,{svgHeight:16,svgWidth:18},N__default.default.createElement(f36Skeleton.SkeletonImage,{width:16,height:16})),N__default.default.createElement(f36Skeleton.SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},N__default.default.createElement(f36Skeleton.SkeletonBodyText,{numberOfLines:1}))));var Le=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",color:a__default.default.gray300,cursor:"pointer",fontSize:a__default.default.fontSizeS,fontWeight:a__default.default.fontWeightMedium,position:"relative",outline:"none",borderRadius:a__default.default.borderRadiusMedium,"&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:hover li":{backgroundColor:f36Utils.hexToRGBA(a__default.default.colorWhite,.15)}},v(`0px 0px 0px 2px ${a__default.default.colorBlack}, 0px 0px 0px 5px ${a__default.default.blue300}`)),breadcrumbs:emotion.css({listStyleType:"none",margin:0,padding:0,position:"relative"}),menuIcon:emotion.css({display:"none",[g.medium]:{display:"block"}})});function $o(e,o){let c=e,{children:t,className:r,logo:i,testId:n="cf-ui-navbar-switcher"}=c,m=f(c,["children","className","logo","testId"]),d=Le();return N__default.default.createElement(f36Core.Flex,p(s({},m),{as:"button",ref:o,className:emotion.cx(d.root,r),testId:n,alignItems:"center",fullHeight:!0,gap:"spacingXs"}),i||N__default.default.createElement(Ce,null),N__default.default.createElement(f36Icons.MenuIcon,{className:d.menuIcon,size:"small",variant:"white"}),N__default.default.createElement(f36Core.Flex,{as:"ul",alignItems:"center",className:d.breadcrumbs},t))}var pe=N__default.default.forwardRef($o);var me=({estimatedWidth:e})=>N__default.default.createElement(f36Skeleton.SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:a__default.default.gray800,foregroundColor:a__default.default.gray700},N__default.default.createElement(f36Skeleton.SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var Oe=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",alignItems:"center",justifyContent:"center",minWidth:a__default.default.spacingL,transition:`color ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,outline:"none",borderRadius:a__default.default.borderRadiusMedium,"& svg":{fill:a__default.default.gray300,transition:`fill ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`},"&:hover, & svg:hover":{color:a__default.default.gray100,fill:a__default.default.gray100}},v())});function jo(e,o){let m=e,{className:t,testId:r="cf-ui-navbar-search"}=m,i=f(m,["className","testId"]),n=Oe();return N__default.default.createElement(f36Core.Flex,p(s({"aria-label":"Quick Search"},i),{as:"button",ref:o,className:emotion.cx(n.root,t),testId:r}),N__default.default.createElement(Ae,{size:"medium",variant:"white"}))}var ze=N__default.default.forwardRef(jo);var De={display:"none","&:first-child":{display:"block"},[g.medium]:{display:"block","&:first-child":{display:"none"}}},$e=()=>({breadcrumbsItem:emotion.css({position:"relative",alignItems:"center",justifyContent:"center",backgroundColor:f36Utils.hexToRGBA(a__default.default.gray100,.1),boxShadow:`0px 0px 0px 2px ${a__default.default.colorBlack}`,display:"inline-flex",margin:0,minWidth:0,padding:`0 ${a__default.default.spacingXs}`,height:a__default.default.spacingL,borderRadius:"3rem",zIndex:2,transition:`background-color ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,whiteSpace:"nowrap","&:not(:first-child)":{clipPath:"path('M0 24C6 24 10 18 10 10C10 5 6 0 0 0H400C400 0 400 5 400 24H0Z')"},"&:first-child":{minWidth:"24px"},"&:nth-child(2)":{zIndex:1,left:`-${a__default.default.spacingXs}`,paddingLeft:a__default.default.spacingM,borderRadius:"0 3rem 3rem 0",span:{maxWidth:"80px",textOverflow:"ellipsis",overflow:"hidden",[g.large]:{maxWidth:"100%"}}},"&:nth-child(3)":{left:`-${a__default.default.spacingM}`,paddingLeft:a__default.default.spacingM,borderRadius:"0 3rem 3rem 0",fontFamily:a__default.default.fontStackMonospace,fontSize:a__default.default.fontSizeS,fontWeight:a__default.default.fontWeightMedium,zIndex:0,span:{maxWidth:"40px",textOverflow:"ellipsis",overflow:"hidden",[g.large]:{maxWidth:"100%"}},"> div":{[g.medium]:{gap:a__default.default.spacing2Xs}}}}),breadcrumbsItemCircle:emotion.css({borderRadius:"50%",color:a__default.default.gray400,padding:0,display:"flex",justifyContent:"center",fontSize:"11px",width:a__default.default.spacingL,height:a__default.default.spacingL}),breadcrumbsItemEnvMaster:emotion.css({color:a__default.default.green400," svg":p(s({},De),{fill:a__default.default.green400})}),breadcrumbsItemEnvNonMaster:emotion.css({color:a__default.default.orange400,svg:p(s({},De),{fill:a__default.default.orange400})})});function Ge({isAlias:e}){return N__default.default.createElement(N__default.default.Fragment,null,N__default.default.createElement(Me,{key:"mobile-icon",size:"tiny"}),e?N__default.default.createElement(f36Icons.EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):N__default.default.createElement(f36Icons.EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function et(e,o){let x=e,{children:t,isCircle:r,className:i,envVariant:n,isAlias:m,testId:d="cf-ui-navbar-switcher-item"}=x,c=f(x,["children","isCircle","className","envVariant","isAlias","testId"]),h=$e(),I=emotion.cx(h.breadcrumbsItem,i,{[h.breadcrumbsItemCircle]:r,[h.breadcrumbsItemEnvMaster]:n==="master",[h.breadcrumbsItemEnvNonMaster]:n==="non-master"});return N__default.default.createElement("li",p(s({},c),{ref:o,className:I,"data-test-id":d}),N__default.default.createElement(f36Core.Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&N__default.default.createElement(Ge,{isAlias:m}),N__default.default.createElement("span",null,t)))}var Ve=N__default.default.forwardRef(et);var Xe=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",alignItems:"center",justifyContent:"center",color:a__default.default.gray300,fontSize:0,gap:0,minWidth:a__default.default.spacingL,transition:`color ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,outline:"none",borderRadius:a__default.default.borderRadiusMedium,[g.medium]:{fontSize:a__default.default.fontSizeS,gap:a__default.default.spacing2Xs,fontWeight:a__default.default.fontWeightMedium,marginRight:a__default.default.spacingXs},"&:hover, &:hover svg":{color:a__default.default.gray100,fill:a__default.default.gray100},"& svg":{fill:a__default.default.gray300,transition:`fill ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`}},v())});function nt(e,o){let d=e,{children:t,className:r,testId:i="cf-ui-navbar-help-trigger"}=d,n=f(d,["children","className","testId"]),m=Xe();return N__default.default.createElement(T,{testId:"cf-ui-navbar-help-menu",trigger:N__default.default.createElement(f36Core.Flex,p(s({"aria-label":"Help Menu"},n),{as:"button",ref:o,className:emotion.cx(m.root,r),testId:i}),N__default.default.createElement(Ee,{size:"medium",variant:"white"}),"Help")},t)}var Ue=N__default.default.forwardRef(nt);var Ze=()=>({root:emotion.css({display:"flex",justifyContent:"center",alignItems:"center",background:"none",border:`1px solid ${a__default.default.purple400}`,margin:0,outline:"none",fontSize:a__default.default.fontSizeS,lineHeight:a__default.default.lineHeightS,fontWeight:a__default.default.fontWeightMedium,textAlign:"center",padding:`0 ${a__default.default.spacingXs}`,textDecoration:"none",color:`${a__default.default.purple400}!important`,borderRadius:"1.75rem"})});var st="div";function pt(e,o){let c=e,{as:t=st,children:r,className:i,testId:n="cf-ui-navbar-badge"}=c,m=f(c,["as","children","className","testId"]),d=Ze();return N__default.default.createElement(t,p(s({},m),{ref:o,className:emotion.cx(d.root,i),"data-test-id":n}),r)}var qe=N__default.default.forwardRef(pt);var Ye=()=>({root:emotion.css({margin:0,background:"none",border:"none",cursor:"pointer",display:"flex",gap:a__default.default.spacing2Xs,alignItems:"center",color:a__default.default.gray300,padding:`0 ${a__default.default.spacing2Xs}`,minHeight:a__default.default.spacingL,fontSize:a__default.default.fontSizeS,fontWeight:a__default.default.fontWeightMedium,outline:"none",borderRadius:a__default.default.borderRadiusMedium,"&:hover":{color:a__default.default.gray100},svg:{fill:"currentColor"}},v())});var lt="button";function dt(e,o){let c=e,{as:t=lt,children:r,className:i,testId:n="cf-ui-navbar-topbar-item"}=c,m=f(c,["as","children","className","testId"]),d=Ye();return N__default.default.createElement(t,p(s({},m),{ref:o,className:emotion.cx(d.root,i),"data-test-id":n}),r)}var Je=N__default.default.forwardRef(dt);var b=ge;b.Item=re;b.ItemSkeleton=ne;b.MenuItem=ae;b.MenuItemSkeleton=ie;b.MenuDivider=f36Menu.MenuDivider;b.MenuSectionTitle=f36Menu.MenuSectionTitle;b.Switcher=pe;b.SwitcherSkeleton=me;b.SwitcherItem=Ve;b.Search=ze;b.Help=Ue;b.Account=ee;b.AccountSkeleton=oe;b.Badge=qe;b.TopbarItem=Je;
|
|
18
|
+
var Ke=Object.defineProperty,eo=Object.defineProperties;var oo=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var de=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var le=(e,o,t)=>o in e?Ke(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,s=(e,o)=>{for(var t in o||(o={}))de.call(o,t)&&le(e,t,o[t]);if(V)for(var t of V(o))fe.call(o,t)&&le(e,t,o[t]);return e},p=(e,o)=>eo(e,oo(o));var f=(e,o)=>{var t={};for(var r in e)de.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&V)for(var r of V(e))o.indexOf(r)<0&&fe.call(e,r)&&(t[r]=e[r]);return t};var g={medium:"@media (min-width: 480px)",large:"@media (min-width: 768px)",xlarge:"@media (min-width: 1920px)"},v=(e=a__default.default.glowPrimary)=>({"&:focus":{boxShadow:e},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:e}});var be=e=>({containerTop:emotion.css({justifyContent:"center",backgroundColor:"#0C141C"}),containerBottom:emotion.css({justifyContent:"center",borderTop:"1px solid #21262D",backgroundColor:"#161B22"}),containerTopContent:emotion.css({width:"100%",maxWidth:e,padding:`${a__default.default.spacingXs}`,minHeight:"2.5rem",[g.medium]:{padding:`${a__default.default.spacingXs} ${a__default.default.spacingM}`}}),containerBottomContent:emotion.css({width:"100%",maxWidth:e,padding:0,minHeight:"2.5rem",overflow:"auto",[g.medium]:{padding:`0 ${a__default.default.spacing2Xs}`}})});function no(e,o){let F=e,{children:t,account:r,search:i,switcher:n,help:m,badge:d,bottomRightItems:c,topRightItems:h,contentMaxWidth:I="100%",testId:x="cf-ui-navbar"}=F,H=f(F,["children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId"]),w=be(I);return N__default.default.createElement(f36Core.Box,p(s({},H),{ref:o,testId:x}),N__default.default.createElement(f36Core.Flex,{className:w.containerTop},N__default.default.createElement(f36Core.Flex,{className:w.containerTopContent,justifyContent:"space-between"},N__default.default.createElement(f36Core.Flex,null,n),N__default.default.createElement(f36Core.Flex,{alignItems:"center",gap:"spacingXs"},h,d,i,m,r))),N__default.default.createElement(f36Core.Flex,{className:w.containerBottom},N__default.default.createElement(f36Core.Flex,{className:w.containerBottomContent,justifyContent:"space-between"},N__default.default.createElement(f36Core.Flex,{as:"nav","aria-label":"Main Navigation",alignItems:"stretch"},t),c&&N__default.default.createElement(f36Core.Flex,null,c))))}var ge=N__default.default.forwardRef(no);var ao={warning:a__default.default.colorWarning,negative:a__default.default.colorNegative,info:a__default.default.blue500},ue=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",position:"relative",alignItems:"center",justifyContent:"center",gap:a__default.default.spacing2Xs,outline:"none",borderRadius:"50%"},v()),avatar:emotion.css({borderRadius:"50%",display:"block",height:"24px",width:"24px"}),notificationIcon:e=>emotion.css({position:"absolute",top:0,right:0,height:a__default.default.spacingS,width:a__default.default.spacingS,borderRadius:"50%",border:`2px solid ${a__default.default.gray900}`,backgroundColor:ao[e],transform:"translate(30%, -30%)"})});var he=()=>({menuList:emotion.css({minWidth:"250px"})});var T=e=>{let{trigger:o,children:t,testId:r="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,m=he();return N__default.default.createElement(f36Menu.Menu,{onOpen:i,onClose:n},N__default.default.createElement(f36Menu.Menu.Trigger,null,o),N__default.default.createElement(f36Menu.Menu.List,{className:m.menuList,testId:r},t))};function mo(e,o){let x=e,{children:t,className:r,testId:i="cf-ui-navbar-account-trigger",avatar:n,username:m,hasNotification:d,notificationVariant:c="warning"}=x,h=f(x,["children","className","testId","avatar","username","hasNotification","notificationVariant"]),I=ue();return N__default.default.createElement(T,{trigger:N__default.default.createElement(f36Core.Flex,p(s({},h),{as:"button",ref:o,className:emotion.cx(I.root,r),testId:i}),N__default.default.createElement("img",{src:n,alt:`Avatar for user ${m}`,className:I.avatar}),d?N__default.default.createElement("span",{className:I.notificationIcon(c)}):null)},t)}var ee=N__default.default.forwardRef(mo);function oe({ariaLabel:e}){return N__default.default.createElement(f36Skeleton.SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:a__default.default.gray800,foregroundColor:a__default.default.gray700},N__default.default.createElement(f36Skeleton.SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var ye=()=>emotion.css({"&":{color:a__default.default.colorWhite,"& svg":{fill:a__default.default.colorWhite}},"&::after":{content:'""',position:"absolute",width:`calc(100% - ${a__default.default.spacingM})`,height:"2px",bottom:"0.5px",left:0,right:0,margin:"auto",backgroundColor:a__default.default.colorWhite,zIndex:0}}),Ie={display:"flex",justifyContent:"center",padding:`10px ${a__default.default.spacingS}`,alignItems:"center",background:"none"},xe=()=>({root:emotion.css(Ie,{alignItems:"center",background:"none",border:0,margin:0,outline:"none",fontSize:a__default.default.fontSizeM,lineHeight:a__default.default.lineHeightM,fontWeight:a__default.default.fontWeightMedium,position:"relative",textAlign:"left",whiteSpace:"nowrap",cursor:"pointer",hyphens:"auto",textDecoration:"none",color:f36Utils.hexToRGBA(a__default.default.gray300,.8),boxSizing:"border-box",transition:`color ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,borderRadius:a__default.default.borderRadiusMedium,"&::before":{content:'""',position:"absolute",width:`calc(100% - ${a__default.default.spacingXs})`,height:`calc(100% - ${a__default.default.spacingS})`,top:`calc(${a__default.default.spacingS} / 2)`,left:0,right:0,margin:"auto",borderRadius:a__default.default.borderRadiusSmall,backgroundColor:f36Utils.hexToRGBA(a__default.default.colorWhite,.08),opacity:0,zIndex:0,scale:0,transition:`all ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`},"&:hover::before":{opacity:1,scale:"1"},"&:active::before":{backgroundColor:"rgba(255, 255, 255, 0.1)"},"&:disabled":{cursor:"auto"},"& svg":{fill:f36Utils.hexToRGBA(a__default.default.gray300,.8),transition:`fill ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,"&:first-child":{display:"none",[g.large]:{display:"block"}}},"& > svg, & > span":{zIndex:a__default.default.zIndexDefault}},v(`inset ${a__default.default.glowPrimary}`)),isActive:ye(),dropdownIcon:emotion.css({paddingLeft:a__default.default.spacing2Xs})}),Pe=()=>({root:emotion.css(Ie)});var Se=()=>({root:emotion.css({"&:first-child":{marginRight:a__default.default.spacing2Xs},"&:last-child":{marginLeft:a__default.default.spacing2Xs},"img&":{borderRadius:a__default.default.borderRadiusSmall,maxWidth:a__default.default.spacingM,maxHeight:a__default.default.spacingM}})});var z=e=>{var i,n;let{icon:o,variant:t}=e,r=Se();return N__default.default.cloneElement(o,{className:emotion.cx(o.props.className,r.root),size:(i=o.props.size)!=null?i:"tiny",variant:(n=o.props.variant)!=null?n:t})};var Me=f36Icon.generateIcon({name:"CircleIcon",viewBox:"0 0 24 24",path:N__default.default.createElement("path",{d:"M11.994 6.526A5.47 5.47 0 0 0 6.526 12a5.47 5.47 0 0 0 5.468 5.473A5.476 5.476 0 0 0 17.473 12a5.477 5.477 0 0 0-5.479-5.474ZM12 15.447a3.448 3.448 0 1 1 0-6.896 3.448 3.448 0 0 1 0 6.896Z",fill:"currentFill"})});var we=f36Icon.generateIcon({name:"ArrowDownIcon",viewBox:"0 0 12 20",path:N__default.default.createElement("path",{d:"M3.03076 8C2.20109 8 1.73228 8.95209 2.23814 9.60971L5.20727 13.4696C5.60757 13.99 6.39223 13.99 6.79252 13.4696L9.76166 9.60971C10.2675 8.95209 9.79871 8 8.96904 8L3.03076 8Z",fill:"#9FA8B2"})});var Ee=f36Icon.generateIcon({name:"HelpIcon",viewBox:"0 0 24 24",path:N__default.default.createElement(N__default.default.Fragment,null,N__default.default.createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},N__default.default.createElement("path",{d:"M12 2.25A9.75 9.75 0 1 0 21.75 12 9.769 9.769 0 0 0 12 2.25ZM12 18a1.125 1.125 0 1 1 0-2.25A1.125 1.125 0 0 1 12 18Zm.75-4.584v.084a.75.75 0 1 1-1.5 0v-.75A.75.75 0 0 1 12 12a1.875 1.875 0 1 0-1.875-1.875.75.75 0 1 1-1.5 0 3.375 3.375 0 1 1 4.125 3.29Z",fill:"currentFill"})),N__default.default.createElement("defs",null,N__default.default.createElement("clipPath",{id:"HelpIcon_svg__a"},N__default.default.createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var Ae=f36Icon.generateIcon({name:"SearchIcon",viewBox:"0 0 24 24",path:N__default.default.createElement(N__default.default.Fragment,null,N__default.default.createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},N__default.default.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6 11.125a5.125 5.125 0 1 1 10.25 0 5.125 5.125 0 0 1-10.25 0ZM11.125 4a7.125 7.125 0 1 0 4.282 12.82l2.886 2.887a1 1 0 0 0 1.414-1.414l-2.886-2.887A7.125 7.125 0 0 0 11.125 4Z",fill:"currentFill"})),N__default.default.createElement("defs",null,N__default.default.createElement("clipPath",{id:"SearchIcon_svg__a"},N__default.default.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ce=f36Icon.generateIcon({name:"ContentfulLogoIcon",viewBox:"0 0 24 24",path:N__default.default.createElement(N__default.default.Fragment,null,N__default.default.createElement("g",{clipPath:"url(#a)"},N__default.default.createElement("path",{d:"M8.71 3.007c.844.843 1.17 2.078.844 3.228a6.683 6.683 0 0 1 3.444-.953h.025a6.701 6.701 0 0 1 4.743 1.988 2.637 2.637 0 0 0 3.73.093 2.637 2.637 0 0 0 .094-3.731c-.025-.027-.052-.052-.08-.08A11.95 11.95 0 0 0 13.036.006h-.046a11.92 11.92 0 0 0-6.691 2.038h.074c.876 0 1.715.346 2.335.966l.002-.002Z",fill:"#1773EB"}),N__default.default.createElement("path",{d:"M19.593 16.006c-.696 0-1.365.276-1.86.765a6.706 6.706 0 0 1-4.732 1.953h-.025a6.617 6.617 0 0 1-3.446-.97c.079.287.117.584.117.882a3.3 3.3 0 0 1-3.299 3.3h-.087a11.929 11.929 0 0 0 6.696 2.07h.046a11.934 11.934 0 0 0 8.45-3.486 2.64 2.64 0 0 0-1.857-4.514h-.003Z",fill:"#E44F20"}),N__default.default.createElement("path",{d:"M4.013 16.301a3.283 3.283 0 0 1 2.335-.967c.303 0 .604.041.893.123a6.696 6.696 0 0 1 .014-6.928 3.302 3.302 0 0 1-4.176-3.187v-.09a12 12 0 0 0-.033 13.452v-.068c0-.877.344-1.715.967-2.335Z",fill:"#FFDA00"}),N__default.default.createElement("path",{d:"M6.378 2.627c-.751 0-1.275.311-1.912.948-.606.606-.797 1.136-.8 1.767a2.712 2.712 0 1 0 5.427-.003A2.713 2.713 0 0 0 6.38 2.627h-.003Z",fill:"#1773EB"}),N__default.default.createElement("path",{d:"M3.628 18.639c0 .748.311 1.275.948 1.912.606.606 1.136.8 1.767.8a2.703 2.703 0 1 0-.017-5.408 2.703 2.703 0 0 0-2.695 2.704v-.008h-.003Z",fill:"#E44F20"})),N__default.default.createElement("defs",null,N__default.default.createElement("clipPath",{id:"a"},N__default.default.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var So="button";function Mo(e,o){let F=e,{as:t=So,icon:r,title:i,children:n,className:m,isActive:d,testId:c="cf-ui-navbar-item",onOpen:h,onClose:I}=F,x=f(F,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),H=xe(),w=N__default.default.createElement(t,p(s({},x),{ref:o,"data-test-id":c,className:emotion.cx(H.root,d&&H.isActive,m)}),r?N__default.default.createElement(z,{icon:r,variant:"white"}):null,N__default.default.createElement("span",null,i),ke(e)&&N__default.default.createElement(we,{className:H.dropdownIcon}));return ke(e)?N__default.default.createElement(T,{trigger:w,testId:c,onOpen:h,onClose:I},n):w}var ke=e=>!!e.children,re=N__default.default.forwardRef(Mo);var ne=({estimatedWidth:e})=>{let o=Pe();return N__default.default.createElement(f36Skeleton.SkeletonContainer,{className:o.root,svgWidth:e,svgHeight:40,backgroundColor:a__default.default.gray800,foregroundColor:a__default.default.gray700},N__default.default.createElement(f36Skeleton.SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:7,radiusX:a__default.default.borderRadiusSmall,radiusY:a__default.default.borderRadiusSmall}))};var Re=()=>({root:emotion.css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var Ro="button";function Bo(e,o){let h=e,{as:t=Ro,icon:r,title:i,className:n}=h,m=f(h,["as","icon","title","className"]),d=Re(),c=_o(e);return N__default.default.createElement(f36Menu.Menu.Item,p(s({},m),{ref:o,as:t,className:emotion.cx(d.root,n)}),r?N__default.default.createElement(z,{icon:r,variant:"secondary"}):c&&Be,N__default.default.createElement("span",null,i),r&&c?Be:null)}var Be=N__default.default.createElement(z,{icon:N__default.default.createElement(f36Icons.ExternalLinkIcon,null),variant:"muted"}),_o=e=>e.as==="a"&&e.target==="_blank",ae=N__default.default.forwardRef(Bo);var ie=({ariaLabel:e})=>N__default.default.createElement(f36Menu.Menu.Item,null,N__default.default.createElement(f36Core.Flex,{alignItems:"center",gap:a__default.default.spacingXs},N__default.default.createElement(f36Skeleton.SkeletonContainer,{svgHeight:16,svgWidth:18},N__default.default.createElement(f36Skeleton.SkeletonImage,{width:16,height:16})),N__default.default.createElement(f36Skeleton.SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},N__default.default.createElement(f36Skeleton.SkeletonBodyText,{numberOfLines:1}))));var Le=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",color:a__default.default.gray300,cursor:"pointer",fontSize:a__default.default.fontSizeS,fontWeight:a__default.default.fontWeightMedium,position:"relative",outline:"none",borderRadius:a__default.default.borderRadiusMedium,"&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:hover li":{backgroundColor:f36Utils.hexToRGBA(a__default.default.colorWhite,.15)}},v(`0px 0px 0px 2px ${a__default.default.colorBlack}, 0px 0px 0px 5px ${a__default.default.blue300}`)),breadcrumbs:emotion.css({listStyleType:"none",margin:0,padding:0,position:"relative"}),menuIcon:emotion.css({display:"none",[g.medium]:{display:"block"}})});function Go(e,o){let c=e,{children:t,className:r,logo:i,testId:n="cf-ui-navbar-switcher"}=c,m=f(c,["children","className","logo","testId"]),d=Le();return N__default.default.createElement(f36Core.Flex,p(s({},m),{as:"button",ref:o,className:emotion.cx(d.root,r),testId:n,alignItems:"center",fullHeight:!0,gap:"spacingXs"}),i||N__default.default.createElement(Ce,null),N__default.default.createElement(f36Icons.MenuIcon,{className:d.menuIcon,size:"small",variant:"white"}),N__default.default.createElement(f36Core.Flex,{as:"ul",alignItems:"center",className:d.breadcrumbs},t))}var pe=N__default.default.forwardRef(Go);var me=({estimatedWidth:e})=>N__default.default.createElement(f36Skeleton.SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:a__default.default.gray800,foregroundColor:a__default.default.gray700},N__default.default.createElement(f36Skeleton.SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var Oe=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",alignItems:"center",justifyContent:"center",minWidth:a__default.default.spacingL,transition:`color ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,outline:"none",borderRadius:a__default.default.borderRadiusMedium,"& svg":{fill:a__default.default.gray300,transition:`fill ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`},"&:hover, & svg:hover":{color:a__default.default.gray100,fill:a__default.default.gray100}},v())});function qo(e,o){let m=e,{className:t,testId:r="cf-ui-navbar-search"}=m,i=f(m,["className","testId"]),n=Oe();return N__default.default.createElement(f36Core.Flex,p(s({"aria-label":"Quick Search"},i),{as:"button",ref:o,className:emotion.cx(n.root,t),testId:r}),N__default.default.createElement(Ae,{size:"medium",variant:"white"}))}var ze=N__default.default.forwardRef(qo);var De={display:"none","&:first-child":{display:"block"},[g.medium]:{display:"block","&:first-child":{display:"none"}}},$e=()=>({breadcrumbsItem:emotion.css({position:"relative",alignItems:"center",justifyContent:"center",backgroundColor:f36Utils.hexToRGBA(a__default.default.gray100,.1),boxShadow:`0px 0px 0px 2px ${a__default.default.colorBlack}`,display:"inline-flex",margin:0,minWidth:0,padding:`0 ${a__default.default.spacingXs}`,height:a__default.default.spacingL,borderRadius:"3rem",zIndex:2,transition:`background-color ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,whiteSpace:"nowrap","&:not(:first-child)":{clipPath:"path('M0 24C6 24 10 18 10 10C10 5 6 0 0 0H400C400 0 400 5 400 24H0Z')"},"&:first-child":{minWidth:"24px"},"&:nth-child(2)":{zIndex:1,left:`-${a__default.default.spacingXs}`,paddingLeft:a__default.default.spacingM,borderRadius:"0 3rem 3rem 0",span:{maxWidth:"80px",textOverflow:"ellipsis",overflow:"hidden",[g.large]:{maxWidth:"100%"}}},"&:nth-child(3)":{left:`-${a__default.default.spacingM}`,paddingLeft:a__default.default.spacingM,borderRadius:"0 3rem 3rem 0",fontFamily:a__default.default.fontStackMonospace,fontSize:a__default.default.fontSizeS,fontWeight:a__default.default.fontWeightMedium,zIndex:0,span:{maxWidth:"40px",textOverflow:"ellipsis",overflow:"hidden",[g.large]:{maxWidth:"100%"}},"> div":{[g.medium]:{gap:a__default.default.spacing2Xs}}}}),breadcrumbsItemCircle:emotion.css({borderRadius:"50%",color:a__default.default.gray400,padding:0,display:"flex",justifyContent:"center",fontSize:"11px",width:a__default.default.spacingL,height:a__default.default.spacingL}),breadcrumbsItemEnvMaster:emotion.css({color:a__default.default.green400," svg":p(s({},De),{fill:a__default.default.green400})}),breadcrumbsItemEnvNonMaster:emotion.css({color:a__default.default.orange400,svg:p(s({},De),{fill:a__default.default.orange400})})});function Ge({isAlias:e}){return N__default.default.createElement(N__default.default.Fragment,null,N__default.default.createElement(Me,{key:"mobile-icon",size:"tiny"}),e?N__default.default.createElement(f36Icons.EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):N__default.default.createElement(f36Icons.EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function ot(e,o){let x=e,{children:t,isCircle:r,className:i,envVariant:n,isAlias:m,testId:d="cf-ui-navbar-switcher-item"}=x,c=f(x,["children","isCircle","className","envVariant","isAlias","testId"]),h=$e(),I=emotion.cx(h.breadcrumbsItem,i,{[h.breadcrumbsItemCircle]:r,[h.breadcrumbsItemEnvMaster]:n==="master",[h.breadcrumbsItemEnvNonMaster]:n==="non-master"});return N__default.default.createElement("li",p(s({},c),{ref:o,className:I,"data-test-id":d}),N__default.default.createElement(f36Core.Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&N__default.default.createElement(Ge,{isAlias:m}),N__default.default.createElement("span",null,t)))}var Ve=N__default.default.forwardRef(ot);var Xe=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",alignItems:"center",justifyContent:"center",color:a__default.default.gray300,fontSize:0,gap:0,minWidth:a__default.default.spacingL,transition:`color ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`,outline:"none",borderRadius:a__default.default.borderRadiusMedium,[g.medium]:{fontSize:a__default.default.fontSizeS,gap:a__default.default.spacing2Xs,fontWeight:a__default.default.fontWeightMedium,marginRight:a__default.default.spacingXs},"&:hover, &:hover svg":{color:a__default.default.gray100,fill:a__default.default.gray100},"& svg":{fill:a__default.default.gray300,transition:`fill ${a__default.default.transitionDurationShort} ${a__default.default.transitionEasingCubicBezier}`}},v())});function at(e,o){let d=e,{children:t,className:r,testId:i="cf-ui-navbar-help-trigger"}=d,n=f(d,["children","className","testId"]),m=Xe();return N__default.default.createElement(T,{testId:"cf-ui-navbar-help-menu",trigger:N__default.default.createElement(f36Core.Flex,p(s({"aria-label":"Help Menu"},n),{as:"button",ref:o,className:emotion.cx(m.root,r),testId:i}),N__default.default.createElement(Ee,{size:"medium",variant:"white"}),"Help")},t)}var Ue=N__default.default.forwardRef(at);var Ze=()=>({root:emotion.css({display:"flex",justifyContent:"center",alignItems:"center",background:"none",border:`1px solid ${a__default.default.purple400}`,margin:0,outline:"none",fontSize:a__default.default.fontSizeS,lineHeight:a__default.default.lineHeightS,fontWeight:a__default.default.fontWeightMedium,textAlign:"center",padding:`0 ${a__default.default.spacingXs}`,textDecoration:"none",color:`${a__default.default.purple400}!important`,borderRadius:"1.75rem"})});var pt="div";function mt(e,o){let c=e,{as:t=pt,children:r,className:i,testId:n="cf-ui-navbar-badge"}=c,m=f(c,["as","children","className","testId"]),d=Ze();return N__default.default.createElement(t,p(s({},m),{ref:o,className:emotion.cx(d.root,i),"data-test-id":n}),r)}var qe=N__default.default.forwardRef(mt);var Ye=()=>({root:emotion.css({margin:0,background:"none",border:"none",cursor:"pointer",display:"flex",gap:a__default.default.spacing2Xs,alignItems:"center",color:a__default.default.gray300,padding:`0 ${a__default.default.spacing2Xs}`,minHeight:a__default.default.spacingL,fontSize:a__default.default.fontSizeS,fontWeight:a__default.default.fontWeightMedium,outline:"none",borderRadius:a__default.default.borderRadiusMedium,"&:hover":{color:a__default.default.gray100},svg:{fill:"currentColor"}},v())});var dt="button";function ft(e,o){let c=e,{as:t=dt,children:r,className:i,testId:n="cf-ui-navbar-topbar-item"}=c,m=f(c,["as","children","className","testId"]),d=Ye();return N__default.default.createElement(t,p(s({},m),{ref:o,className:emotion.cx(d.root,i),"data-test-id":n}),r)}var Je=N__default.default.forwardRef(ft);var b=ge;b.Item=re;b.ItemSkeleton=ne;b.MenuItem=ae;b.MenuItemSkeleton=ie;b.MenuDivider=f36Menu.MenuDivider;b.MenuSectionTitle=f36Menu.MenuSectionTitle;b.Switcher=pe;b.SwitcherSkeleton=me;b.SwitcherItem=Ve;b.Search=ze;b.Help=Ue;b.Account=ee;b.AccountSkeleton=oe;b.Badge=qe;b.TopbarItem=Je;
|
|
19
19
|
|
|
20
20
|
exports.Navbar = b;
|
|
21
21
|
exports.getNavbarItemActiveStyles = ye;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/CompoundNavbar.ts","../src/Navbar.tsx","../src/Navbar.styles.ts","../src/utils.styles.ts","../src/NavbarAccount/NavbarAccount.tsx","../src/NavbarAccount/NavbarAccount.styles.ts","../src/NavbarMenu/NavbarMenu.tsx","../src/NavbarMenu/NavbarMenu.styles.ts","../src/NavbarAccount/NavbarAccountSkeleton.tsx","../src/NavbarItem/NavbarItem.tsx","../src/NavbarItem/NavbarItem.styles.ts","../src/NavbarItemIcon/NavbarItemIcon.tsx","../src/NavbarItemIcon/NavbarItemIcon.styles.ts","../src/icons/CircleIcon.tsx","../src/icons/ArrowDownIcon.tsx","../src/icons/HelpIcon.tsx","../src/icons/SearchIcon.tsx","../src/icons/ContentfulLogoIcon.tsx","../src/NavbarItem/NavbarItemSkeleton.tsx","../src/NavbarMenuItem/NavbarMenuItem.tsx","../src/NavbarMenuItem/NavbarMenuItem.styles.ts","../src/NavbarMenuItem/NavbarMenuItemSkeleton.tsx","../src/NavbarSwitcher/NavbarSwitcher.tsx","../src/NavbarSwitcher/NavbarSwitcher.styles.ts","../src/NavbarSwitcher/NavbarSwitcherSkeleton.tsx","../src/NavbarSearch/NavbarSearch.tsx","../src/NavbarSearch/NavbarSearch.styles.ts","../src/NavbarSwitcherItem/NavbarSwitcherItem.tsx","../src/NavbarSwitcherItem/NavbarSwitcherItem.styles.ts","../src/NavbarSwitcherItem/NavbarEnvVariant.tsx","../src/NavbarHelp/NavbarHelp.tsx","../src/NavbarHelp/NavbarHelp.styles.ts","../src/NavbarBadge/NavbarBadge.tsx","../src/NavbarBadge/NavbarBadge.styles.ts","../src/NavbarTopbarItem/NavbarTopbarItem.tsx","../src/NavbarTopbarItem/NavbarTopbarItem.styles.ts"],"names":["MenuDivider","MenuSectionTitle","Box","Flex","React","css","tokens","mqs","getGlowOnFocusStyles","shadow","getNavbarStyles","maxWidth","_Navbar","props","ref","_a","children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId","otherProps","__objRest","styles","__spreadProps","__spreadValues","Navbar","cx","getNavbarAccountStyles","variant","Menu","getNavbarMenuStyles","NavbarMenu","trigger","onOpen","onClose","_NavbarAccount","className","avatar","username","hasNotification","notificationVariant","NavbarAccount","SkeletonContainer","SkeletonImage","NavbarAccountSkeleton","ariaLabel","hexToRGBA","getNavbarItemActiveStyles","commonItemStyles","getNavbarItemStyles","getNavbarItemSkeletonStyles","getNavbarItemIconStyles","NavbarItemIcon","_b","icon","generateIcon","CircleIcon","ArrowDownIcon","HelpIcon","SearchIcon","ContentfulLogoIcon","NAVBAR_ITEM_DEFAULT_TAG","_NavbarItem","Comp","title","isActive","item","isNavbarItemHasMenu","NavbarItem","SkeletonText","NavbarItemSkeleton","estimatedWidth","getNavbarMenuItemStyles","ExternalLinkIcon","NAVBAR_MENU_ITEM_DEFAULT_TAG","_NavbarMenuItem","itemIsExternalLink","isExternalLink","externalIcon","NavbarMenuItem","SkeletonBodyText","NavbarMenuItemSkeleton","getNavbarSwitcherStyles","MenuIcon","_NavbarSwitcher","logo","NavbarSwitcher","SkeletonDisplayText","NavbarSwitcherSkeleton","getNavbarSearchStyles","_NavbarSearch","NavbarSearch","mobileIcon","getNavbarSwitcherItemStyles","EnvironmentAliasIcon","EnvironmentIcon","NavbarEnvVariant","isAlias","_NavbarSwitcherItem","isCircle","envVariant","classes","NavbarSwitcherItem","getNavbarHelpStyles","_NavbarHelp","NavbarHelp","getNavbarBadgeStyles","NAVBAR_BADGE_DEFAULT_TAG","_NavbarBadge","NavbarBadge","getNavbarTopbarItemStyles","_NavbarTopbarItem","NavbarTopbarItem"],"mappings":"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","sourcesContent":["import { MenuDivider } from '@contentful/f36-menu';\nimport { MenuSectionTitle } from '@contentful/f36-menu';\nimport { Navbar as OriginalNavbar } from './Navbar';\n\nimport { NavbarAccount, NavbarAccountSkeleton } from './NavbarAccount';\nimport { NavbarItem, NavbarItemSkeleton } from './NavbarItem';\nimport { NavbarMenuItem, NavbarMenuItemSkeleton } from './NavbarMenuItem';\nimport { NavbarSwitcher, NavbarSwitcherSkeleton } from './NavbarSwitcher';\n\nimport { NavbarSearch } from './NavbarSearch/NavbarSearch';\nimport { NavbarSwitcherItem } from './NavbarSwitcherItem/NavbarSwitcherItem';\nimport { NavbarHelp } from './NavbarHelp/NavbarHelp';\nimport { NavbarBadge } from './NavbarBadge/NavbarBadge';\nimport { NavbarTopbarItem } from './NavbarTopbarItem/NavbarTopbarItem';\n\ntype CompoundNavbar = typeof OriginalNavbar & {\n Item: typeof NavbarItem;\n ItemSkeleton: typeof NavbarItemSkeleton;\n MenuItem: typeof NavbarMenuItem;\n MenuItemSkeleton: typeof NavbarMenuItemSkeleton;\n MenuDivider: typeof MenuDivider;\n MenuSectionTitle: typeof MenuSectionTitle;\n Switcher: typeof NavbarSwitcher;\n SwitcherSkeleton: typeof NavbarSwitcherSkeleton;\n SwitcherItem: typeof NavbarSwitcherItem;\n Search: typeof NavbarSearch;\n Help: typeof NavbarHelp;\n Account: typeof NavbarAccount;\n AccountSkeleton: typeof NavbarAccountSkeleton;\n Badge: typeof NavbarBadge;\n TopbarItem: typeof NavbarTopbarItem;\n};\n\nexport const Navbar = OriginalNavbar as CompoundNavbar;\nNavbar.Item = NavbarItem;\nNavbar.ItemSkeleton = NavbarItemSkeleton;\nNavbar.MenuItem = NavbarMenuItem;\nNavbar.MenuItemSkeleton = NavbarMenuItemSkeleton;\nNavbar.MenuDivider = MenuDivider;\nNavbar.MenuSectionTitle = MenuSectionTitle;\nNavbar.Switcher = NavbarSwitcher;\nNavbar.SwitcherSkeleton = NavbarSwitcherSkeleton;\nNavbar.SwitcherItem = NavbarSwitcherItem;\nNavbar.Search = NavbarSearch;\nNavbar.Help = NavbarHelp;\nNavbar.Account = NavbarAccount;\nNavbar.AccountSkeleton = NavbarAccountSkeleton;\nNavbar.Badge = NavbarBadge;\nNavbar.TopbarItem = NavbarTopbarItem;\n","import {\n Box,\n type CommonProps,\n type ExpandProps,\n Flex,\n} from '@contentful/f36-core';\nimport React from 'react';\nimport { getNavbarStyles } from './Navbar.styles';\n\ntype NavbarOwnProps = CommonProps & {\n children?: React.ReactNode;\n account?: React.ReactNode;\n search?: React.ReactNode;\n switcher?: React.ReactNode;\n help?: React.ReactNode;\n badge?: React.ReactNode;\n /**\n * Items that will be rendered on the bottom-right of the navbar.\n * Useful for separating other navigation items from main ones, (e.g. separating \"Settings\" from all other navigation items).\n */\n bottomRightItems?: React.ReactNode;\n /**\n * Items that will be rendered on the top-right of the navbar.\n * Useful for providing additional context or actions to the user (e.g. a Feedback form link).\n */\n topRightItems?: React.ReactNode;\n /**\n * Defines the max-width of the content inside the navbar.\n * @default '100%'\n */\n contentMaxWidth?: string;\n};\n\n// expose only the HTML props that are needed to not pollute the API\ntype NavbarHTMLElementProps = Pick<React.ComponentPropsWithoutRef<'div'>, 'id'>;\n\nexport type NavbarProps = NavbarHTMLElementProps & NavbarOwnProps;\n\nfunction _Navbar(props: ExpandProps<NavbarProps>, ref: React.Ref<HTMLElement>) {\n const {\n children,\n account,\n search,\n switcher,\n help,\n badge,\n bottomRightItems,\n topRightItems,\n contentMaxWidth = '100%',\n testId = 'cf-ui-navbar',\n ...otherProps\n } = props;\n const styles = getNavbarStyles(contentMaxWidth);\n\n return (\n <Box {...otherProps} ref={ref} testId={testId}>\n <Flex className={styles.containerTop}>\n <Flex\n className={styles.containerTopContent}\n justifyContent=\"space-between\"\n >\n <Flex>{switcher}</Flex>\n <Flex alignItems=\"center\" gap=\"spacingXs\">\n {topRightItems}\n {badge}\n {search}\n {help}\n {account}\n </Flex>\n </Flex>\n </Flex>\n\n <Flex className={styles.containerBottom}>\n <Flex\n className={styles.containerBottomContent}\n justifyContent=\"space-between\"\n >\n <Flex as=\"nav\" aria-label=\"Main Navigation\" alignItems=\"stretch\">\n {children}\n </Flex>\n {bottomRightItems && <Flex>{bottomRightItems}</Flex>}\n </Flex>\n </Flex>\n </Box>\n );\n}\n\nexport const Navbar = React.forwardRef(_Navbar);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { mqs } from './utils.styles';\n\nexport const getNavbarStyles = (maxWidth: string) => ({\n containerTop: css({\n justifyContent: 'center',\n backgroundColor: '#0C141C',\n }),\n containerBottom: css({\n justifyContent: 'center',\n borderTop: `1px solid #21262D`,\n backgroundColor: '#161B22',\n }),\n containerTopContent: css({\n width: '100%',\n maxWidth: maxWidth,\n padding: `${tokens.spacingXs}`,\n minHeight: '2.5rem',\n [mqs.medium]: {\n padding: `${tokens.spacingXs} ${tokens.spacingM}`,\n },\n }),\n containerBottomContent: css({\n width: '100%',\n maxWidth: maxWidth,\n padding: 0,\n minHeight: '2.5rem',\n overflow: 'auto',\n [mqs.medium]: {\n padding: `0 ${tokens.spacing2Xs}`,\n },\n }),\n});\n","import tokens from '@contentful/f36-tokens';\n\ntype screens = 'medium' | 'large' | 'xlarge';\ntype mediaqueries = Record<screens, string>;\nexport const mqs: mediaqueries = {\n medium: '@media (min-width: 480px)',\n large: '@media (min-width: 768px)',\n xlarge: '@media (min-width: 1920px)',\n};\n\nexport const getGlowOnFocusStyles = (shadow: string = tokens.glowPrimary) => ({\n '&:focus': {\n boxShadow: shadow,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: shadow,\n },\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarAccountStyles } from './NavbarAccount.styles';\nimport {\n Flex,\n type PropsWithHTMLElement,\n type CommonProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\n\ntype NavbarAccountOwnProps = CommonProps & {\n children: React.ReactNode;\n username: string;\n avatar: string;\n hasNotification?: boolean;\n /**\n * @default 'warning'\n */\n notificationVariant?: 'warning' | 'negative';\n};\n\nexport type NavbarAccountProps = PropsWithHTMLElement<\n NavbarAccountOwnProps,\n 'button'\n>;\n\nfunction _NavbarAccount(\n props: ExpandProps<NavbarAccountProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-account-trigger',\n avatar,\n username,\n hasNotification,\n notificationVariant = 'warning',\n ...otherProps\n } = props;\n const styles = getNavbarAccountStyles();\n\n return (\n <NavbarMenu\n trigger={\n <Flex\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <img\n src={avatar}\n alt={`Avatar for user ${username}`}\n className={styles.avatar}\n />\n {hasNotification ? (\n <span className={styles.notificationIcon(notificationVariant)} />\n ) : null}\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarAccount = React.forwardRef(_NavbarAccount);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { NavbarAccountProps } from './NavbarAccount';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarAccountStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n gap: tokens.spacing2Xs,\n outline: 'none',\n borderRadius: '50%',\n },\n getGlowOnFocusStyles(),\n ),\n avatar: css({\n borderRadius: '50%',\n display: 'block',\n height: '24px',\n width: '24px',\n }),\n notificationIcon: (variant: NavbarAccountProps['notificationVariant']) =>\n css({\n position: 'absolute',\n top: 0,\n right: 0,\n height: tokens.spacingS,\n width: tokens.spacingS,\n borderRadius: '50%',\n border: `2px solid ${tokens.gray900}`,\n backgroundColor:\n variant === 'negative' ? tokens.colorNegative : tokens.colorWarning,\n transform: 'translate(30%, -30%)',\n }),\n});\n","import React from 'react';\nimport { Menu, type MenuListProps, type MenuProps } from '@contentful/f36-menu';\nimport { getNavbarMenuStyles } from './NavbarMenu.styles';\n\nexport type NavbarMenuProps = {\n trigger: React.ReactNode;\n children?: React.ReactNode;\n} & Pick<MenuListProps, 'testId'> &\n Pick<MenuProps, 'onOpen' | 'onClose'>;\n\nexport const NavbarMenu = (props: NavbarMenuProps) => {\n const {\n trigger,\n children,\n testId = 'cf-ui-navbar-menu-list',\n onOpen,\n onClose,\n } = props;\n const styles = getNavbarMenuStyles();\n\n return (\n <Menu onOpen={onOpen} onClose={onClose}>\n <Menu.Trigger>{trigger}</Menu.Trigger>\n <Menu.List className={styles.menuList} testId={testId}>\n {children}\n </Menu.List>\n </Menu>\n );\n};\n","import { css } from 'emotion';\n\nexport const getNavbarMenuStyles = () => ({\n menuList: css({\n minWidth: '250px',\n }),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonImage } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport function NavbarAccountSkeleton({ ariaLabel }: { ariaLabel?: string }) {\n return (\n <SkeletonContainer\n svgWidth={24}\n svgHeight={24}\n ariaLabel={ariaLabel}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonImage width={24} height={24} radiusX={12} radiusY={12} />\n </SkeletonContainer>\n );\n}\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarItemStyles } from './NavbarItem.styles';\nimport { NavbarMenu, type NavbarMenuProps } from '../NavbarMenu/NavbarMenu';\nimport {\n NavbarItemIcon,\n type NavbarItemIconProps,\n} from '../NavbarItemIcon/NavbarItemIcon';\nimport { ArrowDownIcon } from '../icons';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_ITEM_DEFAULT_TAG = 'button';\n\ntype NavbarItemTriggerProps = CommonProps & {\n title: string;\n icon?: NavbarItemIconProps['icon'];\n isActive?: boolean;\n as?: React.ElementType;\n};\n\ntype NavbarItemAsMenuProps = NavbarItemTriggerProps &\n Pick<NavbarMenuProps, 'onOpen' | 'onClose'> & {\n children: React.ReactNode;\n };\ntype NavbarItemAsItemProps = NavbarItemTriggerProps & {\n children?: never;\n onOpen?: never;\n onClose?: never;\n};\ntype NavbarItemOwnProps = NavbarItemAsItemProps | NavbarItemAsMenuProps;\n\nexport type NavbarItemProps<\n E extends React.ElementType = typeof NAVBAR_ITEM_DEFAULT_TAG,\n> = PolymorphicProps<NavbarItemOwnProps, E>;\n\nfunction _NavbarItem(\n props: NavbarItemProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_ITEM_DEFAULT_TAG,\n icon,\n title,\n children,\n className,\n isActive,\n testId = 'cf-ui-navbar-item',\n onOpen,\n onClose,\n ...otherProps\n } = props;\n const styles = getNavbarItemStyles();\n\n const item = (\n <Comp\n {...otherProps}\n ref={ref}\n data-test-id={testId}\n className={cx(styles.root, isActive && styles.isActive, className)}\n >\n {icon ? <NavbarItemIcon icon={icon} variant=\"white\" /> : null}\n <span>{title}</span>\n {isNavbarItemHasMenu(props) && (\n <ArrowDownIcon className={styles.dropdownIcon} />\n )}\n </Comp>\n );\n\n if (isNavbarItemHasMenu(props)) {\n return (\n <NavbarMenu\n trigger={item}\n testId={testId}\n onOpen={onOpen}\n onClose={onClose}\n >\n {children}\n </NavbarMenu>\n );\n }\n\n return item;\n}\n\nconst isNavbarItemHasMenu = <E extends React.ElementType>(\n props: NavbarItemProps<E>,\n): props is PolymorphicProps<NavbarItemAsMenuProps, E> =>\n Boolean(props.children);\n\nexport const NavbarItem: PolymorphicComponent<\n ExpandProps<NavbarItemOwnProps>,\n typeof NAVBAR_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarItemActiveStyles = () =>\n css({\n '&': {\n color: tokens.colorWhite,\n '& svg': {\n fill: tokens.colorWhite,\n },\n },\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: `calc(100% - ${tokens.spacingM})`,\n height: '2px',\n bottom: '0.5px',\n left: 0,\n right: 0,\n margin: 'auto',\n backgroundColor: tokens.colorWhite,\n zIndex: 0,\n },\n });\n\nconst commonItemStyles = {\n display: 'flex',\n justifyContent: 'center',\n padding: `10px ${tokens.spacingS}`,\n alignItems: 'center',\n background: 'none',\n};\n\nexport const getNavbarItemStyles = () => ({\n root: css(\n commonItemStyles,\n {\n alignItems: 'center',\n background: 'none',\n border: 0,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeM,\n lineHeight: tokens.lineHeightM,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n textAlign: 'left',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n hyphens: 'auto',\n textDecoration: 'none',\n color: hexToRGBA(tokens.gray300, 0.8),\n boxSizing: 'border-box',\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n borderRadius: tokens.borderRadiusMedium,\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n width: `calc(100% - ${tokens.spacingXs})`,\n height: `calc(100% - ${tokens.spacingS})`,\n top: `calc(${tokens.spacingS} / 2)`,\n left: 0,\n right: 0,\n margin: 'auto',\n borderRadius: tokens.borderRadiusSmall,\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.08),\n opacity: 0,\n zIndex: 0,\n scale: 0,\n transition: `all ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n\n '&:hover::before': {\n opacity: 1,\n scale: '1',\n },\n\n '&:active::before': {\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n '&:disabled': {\n cursor: 'auto',\n },\n\n '& svg': {\n fill: hexToRGBA(tokens.gray300, 0.8),\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n\n '&:first-child': {\n display: 'none',\n [mqs.large]: {\n display: 'block',\n },\n },\n },\n '& > svg, & > span': {\n zIndex: tokens.zIndexDefault,\n },\n },\n getGlowOnFocusStyles(`inset ${tokens.glowPrimary}`),\n ),\n isActive: getNavbarItemActiveStyles(),\n dropdownIcon: css({\n paddingLeft: tokens.spacing2Xs,\n }),\n});\n\nexport const getNavbarItemSkeletonStyles = () => ({\n root: css(commonItemStyles),\n});\n","import React from 'react';\nimport type { IconProps } from '@contentful/f36-icons';\nimport { getNavbarItemIconStyles } from './NavbarItemIcon.styles';\nimport { cx } from 'emotion';\n\nexport type NavbarItemIconProps = {\n icon: React.ReactElement<IconProps>;\n} & Pick<IconProps, 'variant'>;\n\nexport const NavbarItemIcon = (props: NavbarItemIconProps) => {\n const { icon, variant } = props;\n const styles = getNavbarItemIconStyles();\n\n return React.cloneElement(icon, {\n className: cx(icon.props.className, styles.root),\n size: icon.props.size ?? 'tiny',\n variant: icon.props.variant ?? variant,\n });\n};\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarItemIconStyles = () => ({\n root: css({\n '&:first-child': {\n marginRight: tokens.spacing2Xs,\n },\n '&:last-child': {\n marginLeft: tokens.spacing2Xs,\n },\n 'img&': {\n borderRadius: tokens.borderRadiusSmall,\n maxWidth: tokens.spacingM,\n maxHeight: tokens.spacingM,\n },\n }),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const CircleIcon = /*#__PURE__*/ generateIcon({\n name: 'CircleIcon',\n viewBox: '0 0 24 24',\n path: (\n <path\n d=\"M11.994 6.526A5.47 5.47 0 0 0 6.526 12a5.47 5.47 0 0 0 5.468 5.473A5.476 5.476 0 0 0 17.473 12a5.477 5.477 0 0 0-5.479-5.474ZM12 15.447a3.448 3.448 0 1 1 0-6.896 3.448 3.448 0 0 1 0 6.896Z\"\n fill=\"currentFill\"\n />\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const ArrowDownIcon = /*#__PURE__*/ generateIcon({\n name: 'ArrowDownIcon',\n viewBox: '0 0 12 20',\n path: (\n <path\n d=\"M3.03076 8C2.20109 8 1.73228 8.95209 2.23814 9.60971L5.20727 13.4696C5.60757 13.99 6.39223 13.99 6.79252 13.4696L9.76166 9.60971C10.2675 8.95209 9.79871 8 8.96904 8L3.03076 8Z\"\n fill=\"#9FA8B2\"\n />\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const HelpIcon = /*#__PURE__*/ generateIcon({\n name: 'HelpIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#HelpIcon_svg__a)\">\n <path\n d=\"M12 2.25A9.75 9.75 0 1 0 21.75 12 9.769 9.769 0 0 0 12 2.25ZM12 18a1.125 1.125 0 1 1 0-2.25A1.125 1.125 0 0 1 12 18Zm.75-4.584v.084a.75.75 0 1 1-1.5 0v-.75A.75.75 0 0 1 12 12a1.875 1.875 0 1 0-1.875-1.875.75.75 0 1 1-1.5 0 3.375 3.375 0 1 1 4.125 3.29Z\"\n fill=\"currentFill\"\n />\n </g>\n <defs>\n <clipPath id=\"HelpIcon_svg__a\">\n <path fill=\"currentFill\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const SearchIcon = /*#__PURE__*/ generateIcon({\n name: 'SearchIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#SearchIcon_svg__a)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 11.125a5.125 5.125 0 1 1 10.25 0 5.125 5.125 0 0 1-10.25 0ZM11.125 4a7.125 7.125 0 1 0 4.282 12.82l2.886 2.887a1 1 0 0 0 1.414-1.414l-2.886-2.887A7.125 7.125 0 0 0 11.125 4Z\"\n fill=\"currentFill\"\n />\n </g>\n <defs>\n <clipPath id=\"SearchIcon_svg__a\">\n <path fill=\"#fff\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const ContentfulLogoIcon = /*#__PURE__*/ generateIcon({\n name: 'ContentfulLogoIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#a)\">\n <path\n d=\"M8.71 3.007c.844.843 1.17 2.078.844 3.228a6.683 6.683 0 0 1 3.444-.953h.025a6.701 6.701 0 0 1 4.743 1.988 2.637 2.637 0 0 0 3.73.093 2.637 2.637 0 0 0 .094-3.731c-.025-.027-.052-.052-.08-.08A11.95 11.95 0 0 0 13.036.006h-.046a11.92 11.92 0 0 0-6.691 2.038h.074c.876 0 1.715.346 2.335.966l.002-.002Z\"\n fill=\"#1773EB\"\n />\n <path\n d=\"M19.593 16.006c-.696 0-1.365.276-1.86.765a6.706 6.706 0 0 1-4.732 1.953h-.025a6.617 6.617 0 0 1-3.446-.97c.079.287.117.584.117.882a3.3 3.3 0 0 1-3.299 3.3h-.087a11.929 11.929 0 0 0 6.696 2.07h.046a11.934 11.934 0 0 0 8.45-3.486 2.64 2.64 0 0 0-1.857-4.514h-.003Z\"\n fill=\"#E44F20\"\n />\n <path\n d=\"M4.013 16.301a3.283 3.283 0 0 1 2.335-.967c.303 0 .604.041.893.123a6.696 6.696 0 0 1 .014-6.928 3.302 3.302 0 0 1-4.176-3.187v-.09a12 12 0 0 0-.033 13.452v-.068c0-.877.344-1.715.967-2.335Z\"\n fill=\"#FFDA00\"\n />\n <path\n d=\"M6.378 2.627c-.751 0-1.275.311-1.912.948-.606.606-.797 1.136-.8 1.767a2.712 2.712 0 1 0 5.427-.003A2.713 2.713 0 0 0 6.38 2.627h-.003Z\"\n fill=\"#1773EB\"\n />\n <path\n d=\"M3.628 18.639c0 .748.311 1.275.948 1.912.606.606 1.136.8 1.767.8a2.703 2.703 0 1 0-.017-5.408 2.703 2.703 0 0 0-2.695 2.704v-.008h-.003Z\"\n fill=\"#E44F20\"\n />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonText } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\nimport { getNavbarItemSkeletonStyles } from './NavbarItem.styles';\n\nexport const NavbarItemSkeleton = ({\n estimatedWidth,\n}: {\n estimatedWidth: number;\n}) => {\n const styles = getNavbarItemSkeletonStyles();\n\n return (\n <SkeletonContainer\n className={styles.root}\n svgWidth={estimatedWidth}\n svgHeight={40}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonText\n lineHeight={6}\n numberOfLines={1}\n offsetTop={7}\n radiusX={tokens.borderRadiusSmall}\n radiusY={tokens.borderRadiusSmall}\n />\n </SkeletonContainer>\n );\n};\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarMenuItemStyles } from './NavbarMenuItem.styles';\nimport { Menu, type MenuItemProps } from '@contentful/f36-menu';\nimport {\n NavbarItemIcon,\n type NavbarItemIconProps,\n} from '../NavbarItemIcon/NavbarItemIcon';\nimport { ExternalLinkIcon } from '@contentful/f36-icons';\nimport type {\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_MENU_ITEM_DEFAULT_TAG = 'button';\n\ntype NavbarMenuItemOwnProps = {\n children?: null;\n title: string;\n icon?: NavbarItemIconProps['icon'];\n as?: React.ElementType;\n} & Omit<MenuItemProps, 'children' | 'as'>;\n\nexport type NavbarMenuItemProps<\n E extends React.ElementType = typeof NAVBAR_MENU_ITEM_DEFAULT_TAG,\n> = PolymorphicProps<NavbarMenuItemOwnProps, E>;\n\nfunction _NavbarMenuItem(\n props: NavbarMenuItemProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_MENU_ITEM_DEFAULT_TAG,\n icon,\n title,\n className,\n ...otherProps\n } = props;\n const styles = getNavbarMenuItemStyles();\n\n const itemIsExternalLink = isExternalLink(\n props as unknown as NavbarMenuItemProps<'a'>,\n );\n\n return (\n <Menu.Item\n {...otherProps}\n ref={ref}\n as={Comp as MenuItemProps['as']}\n className={cx(styles.root, className)}\n >\n {icon ? (\n <NavbarItemIcon icon={icon} variant=\"secondary\" />\n ) : (\n itemIsExternalLink && externalIcon\n )}\n <span>{title}</span>\n {icon && itemIsExternalLink ? externalIcon : null}\n </Menu.Item>\n );\n}\n\nconst externalIcon = (\n <NavbarItemIcon icon={<ExternalLinkIcon />} variant=\"muted\" />\n);\n\nconst isExternalLink = (props: NavbarMenuItemProps<'a'>) =>\n props.as === 'a' && props.target === '_blank';\n\nexport const NavbarMenuItem: PolymorphicComponent<\n ExpandProps<NavbarMenuItemOwnProps>,\n typeof NAVBAR_MENU_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarMenuItem);\n","import { css } from 'emotion';\n\nexport const getNavbarMenuItemStyles = () => ({\n root: css({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n }),\n});\n","import React from 'react';\nimport { Menu } from '@contentful/f36-menu';\nimport {\n SkeletonBodyText,\n SkeletonContainer,\n SkeletonImage,\n} from '@contentful/f36-skeleton';\nimport { Flex } from '@contentful/f36-core';\n\nimport tokens from '@contentful/f36-tokens';\n\nexport const NavbarMenuItemSkeleton = ({\n ariaLabel,\n}: {\n ariaLabel?: string;\n}) => (\n <Menu.Item>\n <Flex alignItems=\"center\" gap={tokens.spacingXs}>\n <SkeletonContainer svgHeight={16} svgWidth={18}>\n <SkeletonImage width={16} height={16} />\n </SkeletonContainer>\n <SkeletonContainer svgHeight={16} svgWidth={190} ariaLabel={ariaLabel}>\n <SkeletonBodyText numberOfLines={1} />\n </SkeletonContainer>\n </Flex>\n </Menu.Item>\n);\n","import React from 'react';\nimport { getNavbarSwitcherStyles } from './NavbarSwitcher.styles';\nimport {\n Flex,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { MenuIcon } from '@contentful/f36-icons';\nimport { cx } from 'emotion';\nimport { ContentfulLogoIcon } from '../icons';\n\ntype NavbarSwitcherOwnProps = CommonProps & {\n children?: React.ReactNode;\n /**\n * Will be displayed instead of the default Contentful logo\n */\n logo?: React.ReactNode;\n};\n\nexport type NavbarSwitcherProps = PropsWithHTMLElement<\n NavbarSwitcherOwnProps,\n 'button'\n>;\n\nfunction _NavbarSwitcher(\n props: ExpandProps<NavbarSwitcherProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n logo,\n testId = 'cf-ui-navbar-switcher',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherStyles();\n\n return (\n <Flex\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n alignItems=\"center\"\n fullHeight\n gap=\"spacingXs\"\n >\n {logo || <ContentfulLogoIcon />}\n <MenuIcon className={styles.menuIcon} size=\"small\" variant=\"white\" />\n <Flex as=\"ul\" alignItems=\"center\" className={styles.breadcrumbs}>\n {children}\n </Flex>\n </Flex>\n );\n}\n\nexport const NavbarSwitcher = React.forwardRef(_NavbarSwitcher);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n color: tokens.gray300,\n cursor: 'pointer',\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:after': {\n content: '\"\"',\n border: '1px solid #353A41',\n boxSizing: 'border-box',\n height: '16px',\n right: '-1px',\n position: 'absolute',\n width: 0,\n },\n '&:last-child:after': {\n display: 'none',\n },\n '&:hover li': {\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.15),\n },\n },\n getGlowOnFocusStyles(\n `0px 0px 0px 2px ${tokens.colorBlack}, 0px 0px 0px 5px ${tokens.blue300}`,\n ),\n ),\n breadcrumbs: css({\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n }),\n menuIcon: css({\n display: 'none',\n [mqs.medium]: {\n display: 'block',\n },\n }),\n});\n","import React from 'react';\nimport {\n SkeletonContainer,\n SkeletonDisplayText,\n} from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport const NavbarSwitcherSkeleton = ({\n estimatedWidth,\n}: {\n estimatedWidth: number;\n}) => (\n <SkeletonContainer\n svgWidth={estimatedWidth}\n svgHeight={24}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonDisplayText\n lineHeight={24}\n numberOfLines={1}\n radiusX={12}\n radiusY={12}\n />\n </SkeletonContainer>\n);\n","import { cx } from 'emotion';\nimport React from 'react';\nimport { getNavbarSearchStyles } from './NavbarSearch.styles';\nimport { SearchIcon } from '../icons';\nimport {\n type CommonProps,\n type ExpandProps,\n Flex,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSearchOwnProps = CommonProps;\n\nexport type NavbarSearchProps = PropsWithHTMLElement<\n NavbarSearchOwnProps,\n 'button'\n>;\n\nfunction _NavbarSearch(\n props: ExpandProps<NavbarSearchProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const { className, testId = 'cf-ui-navbar-search', ...otherProps } = props;\n const styles = getNavbarSearchStyles();\n\n return (\n <Flex\n aria-label=\"Quick Search\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <SearchIcon size=\"medium\" variant=\"white\" />\n </Flex>\n );\n}\n\nexport const NavbarSearch = React.forwardRef(_NavbarSearch);\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarSearchStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: tokens.spacingL,\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '& svg': {\n fill: tokens.gray300,\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n '&:hover, & svg:hover': {\n color: tokens.gray100,\n fill: tokens.gray100,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarSwitcherItemStyles } from './NavbarSwitcherItem.styles';\nimport { NavbarEnvVariant } from './NavbarEnvVariant';\nimport {\n Flex,\n type CommonProps,\n type ExpandProps,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSwitcherItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n isCircle?: boolean;\n envVariant?: 'master' | 'non-master';\n isAlias?: boolean;\n};\n\nexport type NavbarSwitcherItemProps = PropsWithHTMLElement<\n NavbarSwitcherItemOwnProps,\n 'li'\n>;\n\nfunction _NavbarSwitcherItem(\n props: ExpandProps<NavbarSwitcherItemProps>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n children,\n isCircle,\n className,\n envVariant,\n isAlias,\n testId = 'cf-ui-navbar-switcher-item',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherItemStyles();\n const classes = cx(styles.breadcrumbsItem, className, {\n [styles.breadcrumbsItemCircle]: isCircle,\n [styles.breadcrumbsItemEnvMaster]: envVariant === 'master',\n [styles.breadcrumbsItemEnvNonMaster]: envVariant === 'non-master',\n });\n\n return (\n <li {...otherProps} ref={ref} className={classes} data-test-id={testId}>\n <Flex fullHeight justifyContent=\"center\" alignItems=\"center\">\n {envVariant && <NavbarEnvVariant isAlias={isAlias} />}\n <span>{children}</span>\n </Flex>\n </li>\n );\n}\n\nexport const NavbarSwitcherItem = React.forwardRef(_NavbarSwitcherItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { mqs } from '../utils.styles';\n\nconst mobileIcon = {\n display: 'none',\n '&:first-child': {\n display: 'block',\n },\n\n [mqs.medium]: {\n display: 'block',\n '&:first-child': {\n display: 'none',\n },\n },\n};\n\nexport const getNavbarSwitcherItemStyles = () => ({\n breadcrumbsItem: css({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: hexToRGBA(tokens.gray100, 0.1),\n boxShadow: `0px 0px 0px 2px ${tokens.colorBlack}`,\n display: 'inline-flex',\n margin: 0,\n minWidth: 0,\n padding: `0 ${tokens.spacingXs}`,\n height: tokens.spacingL,\n borderRadius: '3rem',\n zIndex: 2,\n transition: `background-color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n whiteSpace: 'nowrap',\n '&:not(:first-child)': {\n clipPath: `path('M0 24C6 24 10 18 10 10C10 5 6 0 0 0H400C400 0 400 5 400 24H0Z')`,\n },\n '&:first-child': {\n minWidth: '24px',\n },\n '&:nth-child(2)': {\n zIndex: 1,\n left: `-${tokens.spacingXs}`,\n paddingLeft: tokens.spacingM,\n borderRadius: `0 3rem 3rem 0`,\n span: {\n maxWidth: '80px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n [mqs.large]: {\n maxWidth: '100%',\n },\n },\n },\n '&:nth-child(3)': {\n left: `-${tokens.spacingM}`,\n paddingLeft: tokens.spacingM,\n borderRadius: `0 3rem 3rem 0`,\n fontFamily: tokens.fontStackMonospace,\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n zIndex: 0,\n span: {\n maxWidth: '40px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n [mqs.large]: {\n maxWidth: '100%',\n },\n },\n '> div': {\n [mqs.medium]: {\n gap: tokens.spacing2Xs,\n },\n },\n },\n }),\n breadcrumbsItemCircle: css({\n borderRadius: '50%',\n color: tokens.gray400,\n padding: 0,\n display: 'flex',\n justifyContent: 'center',\n fontSize: '11px',\n width: tokens.spacingL,\n height: tokens.spacingL,\n }),\n breadcrumbsItemEnvMaster: css({\n color: tokens.green400,\n ' svg': {\n ...mobileIcon,\n fill: tokens.green400,\n },\n }),\n breadcrumbsItemEnvNonMaster: css({\n color: tokens.orange400,\n svg: {\n ...mobileIcon,\n fill: tokens.orange400,\n },\n }),\n});\n","import React from 'react';\nimport { NavbarSwitcherItemProps } from './NavbarSwitcherItem';\nimport { CircleIcon } from '../icons';\nimport { EnvironmentAliasIcon, EnvironmentIcon } from '@contentful/f36-icons';\n\nexport type NavbarEnvVariantProps = Pick<NavbarSwitcherItemProps, 'isAlias'>;\n\nexport function NavbarEnvVariant({ isAlias }: NavbarEnvVariantProps) {\n return (\n <>\n <CircleIcon key=\"mobile-icon\" size=\"tiny\" />\n {isAlias ? (\n <EnvironmentAliasIcon key=\"full-icon\" size=\"tiny\" />\n ) : (\n <EnvironmentIcon key=\"full-icon\" size=\"tiny\" />\n )}\n </>\n );\n}\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarHelpStyles } from './NavbarHelp.styles';\nimport { HelpIcon } from '../icons';\nimport {\n Flex,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\n\ntype NavbarHelpOwnProps = CommonProps & {\n children: React.ReactNode;\n};\n\nexport type NavbarHelpProps = PropsWithHTMLElement<\n NavbarHelpOwnProps,\n 'button'\n>;\n\nfunction _NavbarHelp(\n props: ExpandProps<NavbarHelpProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-help-trigger',\n ...otherProps\n } = props;\n const styles = getNavbarHelpStyles();\n\n return (\n <NavbarMenu\n testId=\"cf-ui-navbar-help-menu\"\n trigger={\n <Flex\n aria-label=\"Help Menu\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <HelpIcon size=\"medium\" variant=\"white\" />\n Help\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarHelp = React.forwardRef(_NavbarHelp);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarHelpStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n color: tokens.gray300,\n fontSize: 0,\n gap: 0,\n minWidth: tokens.spacingL,\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n [mqs.medium]: {\n fontSize: tokens.fontSizeS,\n gap: tokens.spacing2Xs,\n fontWeight: tokens.fontWeightMedium,\n marginRight: tokens.spacingXs,\n },\n '&:hover, &:hover svg': {\n color: tokens.gray100,\n fill: tokens.gray100,\n },\n '& svg': {\n fill: tokens.gray300,\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarBadgeStyles } from './NavbarBadge.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'div';\n\ntype NavbarBadgeOwnProps = CommonProps & {\n children?: React.ReactNode;\n as?: React.ElementType;\n};\n\nexport type NavbarBadgeProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarBadgeOwnProps, E>;\n\nfunction _NavbarBadge(\n props: NavbarBadgeProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-badge',\n ...otherProps\n } = props;\n const styles = getNavbarBadgeStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.root, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarBadge: PolymorphicComponent<\n ExpandProps<NavbarBadgeOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarBadge);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarBadgeStyles = () => ({\n root: css({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: 'none',\n border: `1px solid ${tokens.purple400}`,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeS,\n lineHeight: tokens.lineHeightS,\n fontWeight: tokens.fontWeightMedium,\n textAlign: 'center',\n padding: `0 ${tokens.spacingXs}`,\n textDecoration: 'none',\n color: `${tokens.purple400}!important`,\n borderRadius: '1.75rem',\n }),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarTopbarItemStyles } from './NavbarTopbarItem.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'button';\n\ntype NavbarTopbarItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n};\n\nexport type NavbarTopbarItemProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarTopbarItemOwnProps, E>;\n\nfunction _NavbarTopbarItem<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n>(props: NavbarTopbarItemProps<E>, ref: React.Ref<any>) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-topbar-item',\n ...otherProps\n } = props;\n const styles = getNavbarTopbarItemStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.root, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarTopbarItem: PolymorphicComponent<\n ExpandProps<NavbarTopbarItemOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarTopbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarTopbarItemStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n display: 'flex',\n gap: tokens.spacing2Xs,\n alignItems: 'center',\n color: tokens.gray300,\n padding: `0 ${tokens.spacing2Xs}`,\n minHeight: tokens.spacingL,\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:hover': {\n color: tokens.gray100,\n },\n svg: {\n fill: 'currentColor',\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/CompoundNavbar.ts","../src/Navbar.tsx","../src/Navbar.styles.ts","../src/utils.styles.ts","../src/NavbarAccount/NavbarAccount.tsx","../src/NavbarAccount/NavbarAccount.styles.ts","../src/NavbarMenu/NavbarMenu.tsx","../src/NavbarMenu/NavbarMenu.styles.ts","../src/NavbarAccount/NavbarAccountSkeleton.tsx","../src/NavbarItem/NavbarItem.tsx","../src/NavbarItem/NavbarItem.styles.ts","../src/NavbarItemIcon/NavbarItemIcon.tsx","../src/NavbarItemIcon/NavbarItemIcon.styles.ts","../src/icons/CircleIcon.tsx","../src/icons/ArrowDownIcon.tsx","../src/icons/HelpIcon.tsx","../src/icons/SearchIcon.tsx","../src/icons/ContentfulLogoIcon.tsx","../src/NavbarItem/NavbarItemSkeleton.tsx","../src/NavbarMenuItem/NavbarMenuItem.tsx","../src/NavbarMenuItem/NavbarMenuItem.styles.ts","../src/NavbarMenuItem/NavbarMenuItemSkeleton.tsx","../src/NavbarSwitcher/NavbarSwitcher.tsx","../src/NavbarSwitcher/NavbarSwitcher.styles.ts","../src/NavbarSwitcher/NavbarSwitcherSkeleton.tsx","../src/NavbarSearch/NavbarSearch.tsx","../src/NavbarSearch/NavbarSearch.styles.ts","../src/NavbarSwitcherItem/NavbarSwitcherItem.tsx","../src/NavbarSwitcherItem/NavbarSwitcherItem.styles.ts","../src/NavbarSwitcherItem/NavbarEnvVariant.tsx","../src/NavbarHelp/NavbarHelp.tsx","../src/NavbarHelp/NavbarHelp.styles.ts","../src/NavbarBadge/NavbarBadge.tsx","../src/NavbarBadge/NavbarBadge.styles.ts","../src/NavbarTopbarItem/NavbarTopbarItem.tsx","../src/NavbarTopbarItem/NavbarTopbarItem.styles.ts"],"names":["MenuDivider","MenuSectionTitle","Box","Flex","React","css","tokens","mqs","getGlowOnFocusStyles","shadow","getNavbarStyles","maxWidth","_Navbar","props","ref","_a","children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId","otherProps","__objRest","styles","__spreadProps","__spreadValues","Navbar","cx","notificationVarianColorMap","getNavbarAccountStyles","variant","Menu","getNavbarMenuStyles","NavbarMenu","trigger","onOpen","onClose","_NavbarAccount","className","avatar","username","hasNotification","notificationVariant","NavbarAccount","SkeletonContainer","SkeletonImage","NavbarAccountSkeleton","ariaLabel","hexToRGBA","getNavbarItemActiveStyles","commonItemStyles","getNavbarItemStyles","getNavbarItemSkeletonStyles","getNavbarItemIconStyles","NavbarItemIcon","_b","icon","generateIcon","CircleIcon","ArrowDownIcon","HelpIcon","SearchIcon","ContentfulLogoIcon","NAVBAR_ITEM_DEFAULT_TAG","_NavbarItem","Comp","title","isActive","item","isNavbarItemHasMenu","NavbarItem","SkeletonText","NavbarItemSkeleton","estimatedWidth","getNavbarMenuItemStyles","ExternalLinkIcon","NAVBAR_MENU_ITEM_DEFAULT_TAG","_NavbarMenuItem","itemIsExternalLink","isExternalLink","externalIcon","NavbarMenuItem","SkeletonBodyText","NavbarMenuItemSkeleton","getNavbarSwitcherStyles","MenuIcon","_NavbarSwitcher","logo","NavbarSwitcher","SkeletonDisplayText","NavbarSwitcherSkeleton","getNavbarSearchStyles","_NavbarSearch","NavbarSearch","mobileIcon","getNavbarSwitcherItemStyles","EnvironmentAliasIcon","EnvironmentIcon","NavbarEnvVariant","isAlias","_NavbarSwitcherItem","isCircle","envVariant","classes","NavbarSwitcherItem","getNavbarHelpStyles","_NavbarHelp","NavbarHelp","getNavbarBadgeStyles","NAVBAR_BADGE_DEFAULT_TAG","_NavbarBadge","NavbarBadge","getNavbarTopbarItemStyles","_NavbarTopbarItem","NavbarTopbarItem"],"mappings":"8lBAAA,OAAS,eAAAA,OAAmB,uBAC5B,OAAS,oBAAAC,OAAwB,uBCDjC,OACE,OAAAC,GAGA,QAAAC,MACK,uBACP,OAAOC,MAAW,QCNlB,OAAS,OAAAC,MAAW,UACpB,OAAOC,MAAY,yBCDnB,OAAOA,OAAY,yBAIZ,IAAMC,EAAoB,CAC/B,OAAQ,4BACR,MAAO,4BACP,OAAQ,4BACV,EAEaC,EAAuB,CAACC,EAAiBH,GAAO,eAAiB,CAC5E,UAAW,CACT,UAAWG,CACb,EACA,8BAA+B,CAC7B,UAAW,OACb,EACA,kBAAmB,CACjB,UAAWA,CACb,CACF,GDhBO,IAAMC,GAAmBC,IAAsB,CACpD,aAAcN,EAAI,CAChB,eAAgB,SAChB,gBAAiB,SACnB,CAAC,EACD,gBAAiBA,EAAI,CACnB,eAAgB,SAChB,UAAW,oBACX,gBAAiB,SACnB,CAAC,EACD,oBAAqBA,EAAI,CACvB,MAAO,OACP,SAAUM,EACV,QAAS,GAAGL,EAAO,SAAS,GAC5B,UAAW,SACX,CAACC,EAAI,MAAM,EAAG,CACZ,QAAS,GAAGD,EAAO,SAAS,IAAIA,EAAO,QAAQ,EACjD,CACF,CAAC,EACD,uBAAwBD,EAAI,CAC1B,MAAO,OACP,SAAUM,EACV,QAAS,EACT,UAAW,SACX,SAAU,OACV,CAACJ,EAAI,MAAM,EAAG,CACZ,QAAS,KAAKD,EAAO,UAAU,EACjC,CACF,CAAC,CACH,GDKA,SAASM,GAAQC,EAAiCC,EAA6B,CAC7E,IAYIC,EAAAF,EAXF,UAAAG,EACA,QAAAC,EACA,OAAAC,EACA,SAAAC,EACA,KAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,gBAAAC,EAAkB,OAClB,OAAAC,EAAS,cAjDb,EAmDMV,EADCW,EAAAC,EACDZ,EADC,CAVH,WACA,UACA,SACA,WACA,OACA,QACA,mBACA,gBACA,kBACA,WAGIa,EAASlB,GAAgBc,CAAe,EAE9C,OACEpB,EAAA,cAACF,GAAA2B,EAAAC,EAAA,GAAQJ,GAAR,CAAoB,IAAKZ,EAAK,OAAQW,IACrCrB,EAAA,cAACD,EAAA,CAAK,UAAWyB,EAAO,cACtBxB,EAAA,cAACD,EAAA,CACC,UAAWyB,EAAO,oBAClB,eAAe,iBAEfxB,EAAA,cAACD,EAAA,KAAMgB,CAAS,EAChBf,EAAA,cAACD,EAAA,CAAK,WAAW,SAAS,IAAI,aAC3BoB,EACAF,EACAH,EACAE,EACAH,CACH,CACF,CACF,EAEAb,EAAA,cAACD,EAAA,CAAK,UAAWyB,EAAO,iBACtBxB,EAAA,cAACD,EAAA,CACC,UAAWyB,EAAO,uBAClB,eAAe,iBAEfxB,EAAA,cAACD,EAAA,CAAK,GAAG,MAAM,aAAW,kBAAkB,WAAW,WACpDa,CACH,EACCM,GAAoBlB,EAAA,cAACD,EAAA,KAAMmB,CAAiB,CAC/C,CACF,CACF,CAEJ,CAEO,IAAMS,GAAS3B,EAAM,WAAWQ,EAAO,EGvF9C,OAAOR,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,MAAW,UACpB,OAAOC,MAAY,yBAInB,IAAM2B,GAGF,CACF,QAAS3B,EAAO,aAChB,SAAUA,EAAO,cACjB,KAAMA,EAAO,OACf,EAEa4B,GAAyB,KAAO,CAC3C,KAAM7B,EACJ,CAEE,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,SAAU,WACV,WAAY,SACZ,eAAgB,SAChB,IAAKC,EAAO,WACZ,QAAS,OACT,aAAc,KAChB,EACAE,EAAqB,CACvB,EACA,OAAQH,EAAI,CACV,aAAc,MACd,QAAS,QACT,OAAQ,OACR,MAAO,MACT,CAAC,EACD,iBAAmB8B,GACjB9B,EAAI,CACF,SAAU,WACV,IAAK,EACL,MAAO,EACP,OAAQC,EAAO,SACf,MAAOA,EAAO,SACd,aAAc,MACd,OAAQ,aAAaA,EAAO,OAAO,GACnC,gBAAiB2B,GAA2BE,CAAO,EACnD,UAAW,sBACb,CAAC,CACL,GDhDA,OACE,QAAAhC,OAIK,uBERP,OAAOC,MAAW,QAClB,OAAS,QAAAgC,MAAgD,uBCDzD,OAAS,OAAA/B,OAAW,UAEb,IAAMgC,GAAsB,KAAO,CACxC,SAAUhC,GAAI,CACZ,SAAU,OACZ,CAAC,CACH,GDIO,IAAMiC,EAAczB,GAA2B,CACpD,GAAM,CACJ,QAAA0B,EACA,SAAAvB,EACA,OAAAS,EAAS,yBACT,OAAAe,EACA,QAAAC,CACF,EAAI5B,EACEe,EAASS,GAAoB,EAEnC,OACEjC,EAAA,cAACgC,EAAA,CAAK,OAAQI,EAAQ,QAASC,GAC7BrC,EAAA,cAACgC,EAAK,QAAL,KAAcG,CAAQ,EACvBnC,EAAA,cAACgC,EAAK,KAAL,CAAU,UAAWR,EAAO,SAAU,OAAQH,GAC5CT,CACH,CACF,CAEJ,EFDA,SAAS0B,GACP7B,EACAC,EACA,CACA,IASIC,EAAAF,EARF,UAAAG,EACA,UAAA2B,EACA,OAAAlB,EAAS,+BACT,OAAAmB,EACA,SAAAC,EACA,gBAAAC,EACA,oBAAAC,EAAsB,SAtC1B,EAwCMhC,EADCW,EAAAC,EACDZ,EADC,CAPH,WACA,YACA,SACA,SACA,WACA,kBACA,wBAGIa,EAASM,GAAuB,EAEtC,OACE9B,EAAA,cAACkC,EAAA,CACC,QACElC,EAAA,cAACD,GAAA0B,EAAAC,EAAA,GACKJ,GADL,CAEC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMe,CAAS,EACpC,OAAQlB,IAERrB,EAAA,cAAC,OACC,IAAKwC,EACL,IAAK,mBAAmBC,CAAQ,GAChC,UAAWjB,EAAO,OACpB,EACCkB,EACC1C,EAAA,cAAC,QAAK,UAAWwB,EAAO,iBAAiBmB,CAAmB,EAAG,EAC7D,IACN,GAGD/B,CACH,CAEJ,CAEO,IAAMgC,GAAgB5C,EAAM,WAAWsC,EAAc,EIrE5D,OAAOtC,OAAW,QAClB,OAAS,qBAAA6C,GAAmB,iBAAAC,OAAqB,2BACjD,OAAO5C,OAAY,yBAEZ,SAAS6C,GAAsB,CAAE,UAAAC,CAAU,EAA2B,CAC3E,OACEhD,GAAA,cAAC6C,GAAA,CACC,SAAU,GACV,UAAW,GACX,UAAWG,EACX,gBAAiB9C,GAAO,QACxB,gBAAiBA,GAAO,SAExBF,GAAA,cAAC8C,GAAA,CAAc,MAAO,GAAI,OAAQ,GAAI,QAAS,GAAI,QAAS,GAAI,CAClE,CAEJ,CChBA,OAAO9C,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,MAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA+C,OAAiB,wBAGnB,IAAMC,GAA4B,IACvCjD,EAAI,CACF,IAAK,CACH,MAAOC,EAAO,WACd,QAAS,CACP,KAAMA,EAAO,UACf,CACF,EAEA,WAAY,CACV,QAAS,KACT,SAAU,WACV,MAAO,eAAeA,EAAO,QAAQ,IACrC,OAAQ,MACR,OAAQ,QACR,KAAM,EACN,MAAO,EACP,OAAQ,OACR,gBAAiBA,EAAO,WACxB,OAAQ,CACV,CACF,CAAC,EAEGiD,GAAmB,CACvB,QAAS,OACT,eAAgB,SAChB,QAAS,QAAQjD,EAAO,QAAQ,GAChC,WAAY,SACZ,WAAY,MACd,EAEakD,GAAsB,KAAO,CACxC,KAAMnD,EACJkD,GACA,CACE,WAAY,SACZ,WAAY,OACZ,OAAQ,EACR,OAAQ,EACR,QAAS,OACT,SAAUjD,EAAO,UACjB,WAAYA,EAAO,YACnB,WAAYA,EAAO,iBACnB,SAAU,WACV,UAAW,OACX,WAAY,SACZ,OAAQ,UACR,QAAS,OACT,eAAgB,OAChB,MAAO+C,GAAU/C,EAAO,QAAS,EAAG,EACpC,UAAW,aACX,WAAY,SAASA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GACzF,aAAcA,EAAO,mBAErB,YAAa,CACX,QAAS,KACT,SAAU,WACV,MAAO,eAAeA,EAAO,SAAS,IACtC,OAAQ,eAAeA,EAAO,QAAQ,IACtC,IAAK,QAAQA,EAAO,QAAQ,QAC5B,KAAM,EACN,MAAO,EACP,OAAQ,OACR,aAAcA,EAAO,kBACrB,gBAAiB+C,GAAU/C,EAAO,WAAY,GAAI,EAClD,QAAS,EACT,OAAQ,EACR,MAAO,EACP,WAAY,OAAOA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,EACzF,EAEA,kBAAmB,CACjB,QAAS,EACT,MAAO,GACT,EAEA,mBAAoB,CAClB,gBAAiB,0BACnB,EACA,aAAc,CACZ,OAAQ,MACV,EAEA,QAAS,CACP,KAAM+C,GAAU/C,EAAO,QAAS,EAAG,EACnC,WAAY,QAAQA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GAExF,gBAAiB,CACf,QAAS,OACT,CAACC,EAAI,KAAK,EAAG,CACX,QAAS,OACX,CACF,CACF,EACA,oBAAqB,CACnB,OAAQD,EAAO,aACjB,CACF,EACAE,EAAqB,SAASF,EAAO,WAAW,EAAE,CACpD,EACA,SAAUgD,GAA0B,EACpC,aAAcjD,EAAI,CAChB,YAAaC,EAAO,UACtB,CAAC,CACH,GAEamD,GAA8B,KAAO,CAChD,KAAMpD,EAAIkD,EAAgB,CAC5B,GCjHA,OAAOnD,OAAW,QCAlB,OAAS,OAAAC,OAAW,UACpB,OAAOC,MAAY,yBAEZ,IAAMoD,GAA0B,KAAO,CAC5C,KAAMrD,GAAI,CACR,gBAAiB,CACf,YAAaC,EAAO,UACtB,EACA,eAAgB,CACd,WAAYA,EAAO,UACrB,EACA,OAAQ,CACN,aAAcA,EAAO,kBACrB,SAAUA,EAAO,SACjB,UAAWA,EAAO,QACpB,CACF,CAAC,CACH,GDdA,OAAS,MAAA0B,OAAU,UAMZ,IAAM2B,EAAkB9C,GAA+B,CAT9D,IAAAE,EAAA6C,EAUE,GAAM,CAAE,KAAAC,EAAM,QAAA1B,CAAQ,EAAItB,EACpBe,EAAS8B,GAAwB,EAEvC,OAAOtD,GAAM,aAAayD,EAAM,CAC9B,UAAW7B,GAAG6B,EAAK,MAAM,UAAWjC,EAAO,IAAI,EAC/C,MAAMb,EAAA8C,EAAK,MAAM,OAAX,KAAA9C,EAAmB,OACzB,SAAS6C,EAAAC,EAAK,MAAM,UAAX,KAAAD,EAAsBzB,CACjC,CAAC,CACH,EElBA,OAAO/B,OAAW,QAClB,OAAS,gBAAA0D,OAAoB,uBAEtB,IAAMC,GAA2BD,GAAa,CACnD,KAAM,aACN,QAAS,YACT,KACE1D,GAAA,cAAC,QACC,EAAE,+LACF,KAAK,cACP,CAEJ,CAAC,ECZD,OAAOA,OAAW,QAClB,OAAS,gBAAA0D,OAAoB,uBAEtB,IAAME,GAA8BF,GAAa,CACtD,KAAM,gBACN,QAAS,YACT,KACE1D,GAAA,cAAC,QACC,EAAE,kLACF,KAAK,UACP,CAEJ,CAAC,ECZD,OAAOA,MAAW,QAClB,OAAS,gBAAA0D,OAAoB,uBAEtB,IAAMG,GAAyBH,GAAa,CACjD,KAAM,WACN,QAAS,YACT,KACE1D,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,KAAE,SAAS,yBACVA,EAAA,cAAC,QACC,EAAE,+PACF,KAAK,cACP,CACF,EACAA,EAAA,cAAC,YACCA,EAAA,cAAC,YAAS,GAAG,mBACXA,EAAA,cAAC,QAAK,KAAK,cAAc,EAAE,gBAAgB,CAC7C,CACF,CACF,CAEJ,CAAC,ECrBD,OAAOA,MAAW,QAClB,OAAS,gBAAA0D,OAAoB,uBAEtB,IAAMI,GAA2BJ,GAAa,CACnD,KAAM,aACN,QAAS,YACT,KACE1D,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,KAAE,SAAS,2BACVA,EAAA,cAAC,QACC,SAAS,UACT,SAAS,UACT,EAAE,mLACF,KAAK,cACP,CACF,EACAA,EAAA,cAAC,YACCA,EAAA,cAAC,YAAS,GAAG,qBACXA,EAAA,cAAC,QAAK,KAAK,OAAO,EAAE,gBAAgB,CACtC,CACF,CACF,CAEJ,CAAC,ECvBD,OAAOA,MAAW,QAClB,OAAS,gBAAA0D,OAAoB,uBAEtB,IAAMK,GAAmCL,GAAa,CAC3D,KAAM,qBACN,QAAS,YACT,KACE1D,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,KAAE,SAAS,WACVA,EAAA,cAAC,QACC,EAAE,6SACF,KAAK,UACP,EACAA,EAAA,cAAC,QACC,EAAE,yQACF,KAAK,UACP,EACAA,EAAA,cAAC,QACC,EAAE,+LACF,KAAK,UACP,EACAA,EAAA,cAAC,QACC,EAAE,yIACF,KAAK,UACP,EACAA,EAAA,cAAC,QACC,EAAE,2IACF,KAAK,UACP,CACF,EACAA,EAAA,cAAC,YACCA,EAAA,cAAC,YAAS,GAAG,KACXA,EAAA,cAAC,QAAK,KAAK,OAAO,EAAE,gBAAgB,CACtC,CACF,CACF,CAEJ,CAAC,ERrBD,IAAMgE,GAA0B,SAwBhC,SAASC,GACPxD,EACAC,EACA,CACA,IAWIC,EAAAF,EAVF,IAAIyD,EAAOF,GACX,KAAAP,EACA,MAAAU,EACA,SAAAvD,EACA,UAAA2B,EACA,SAAA6B,EACA,OAAA/C,EAAS,oBACT,OAAAe,EACA,QAAAC,CArDJ,EAuDM1B,EADCW,EAAAC,EACDZ,EADC,CATH,KACA,OACA,QACA,WACA,YACA,WACA,SACA,SACA,YAGIa,EAAS4B,GAAoB,EAE7BiB,EACJrE,EAAA,cAACkE,EAAAzC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,eAAcW,EACd,UAAWO,GAAGJ,EAAO,KAAM4C,GAAY5C,EAAO,SAAUe,CAAS,IAEhEkB,EAAOzD,EAAA,cAACuD,EAAA,CAAe,KAAME,EAAM,QAAQ,QAAQ,EAAK,KACzDzD,EAAA,cAAC,YAAMmE,CAAM,EACZG,GAAoB7D,CAAK,GACxBT,EAAA,cAAC4D,GAAA,CAAc,UAAWpC,EAAO,aAAc,CAEnD,EAGF,OAAI8C,GAAoB7D,CAAK,EAEzBT,EAAA,cAACkC,EAAA,CACC,QAASmC,EACT,OAAQhD,EACR,OAAQe,EACR,QAASC,GAERzB,CACH,EAIGyD,CACT,CAEA,IAAMC,GACJ7D,GAEA,EAAQA,EAAM,SAEH8D,GAGTvE,EAAM,WAAWiE,EAAW,ESjGhC,OAAOjE,OAAW,QAClB,OAAS,qBAAA6C,GAAmB,gBAAA2B,OAAoB,2BAChD,OAAOtE,MAAY,yBAGZ,IAAMuE,GAAqB,CAAC,CACjC,eAAAC,CACF,IAEM,CACJ,IAAMlD,EAAS6B,GAA4B,EAE3C,OACErD,GAAA,cAAC6C,GAAA,CACC,UAAWrB,EAAO,KAClB,SAAUkD,EACV,UAAW,GACX,gBAAiBxE,EAAO,QACxB,gBAAiBA,EAAO,SAExBF,GAAA,cAACwE,GAAA,CACC,WAAY,EACZ,cAAe,EACf,UAAW,EACX,QAAStE,EAAO,kBAChB,QAASA,EAAO,kBAClB,CACF,CAEJ,EC7BA,OAAOF,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,OAAW,UAEb,IAAM0E,GAA0B,KAAO,CAC5C,KAAM1E,GAAI,CACR,QAAS,OACT,eAAgB,aAChB,WAAY,QACd,CAAC,CACH,GDLA,OAAS,QAAA+B,OAAgC,uBAKzC,OAAS,oBAAA4C,OAAwB,wBAOjC,IAAMC,GAA+B,SAarC,SAASC,GACPrE,EACAC,EACA,CACA,IAMIC,EAAAF,EALF,IAAIyD,EAAOW,GACX,KAAApB,EACA,MAAAU,EACA,UAAA5B,CApCJ,EAsCM5B,EADCW,EAAAC,EACDZ,EADC,CAJH,KACA,OACA,QACA,cAGIa,EAASmD,GAAwB,EAEjCI,EAAqBC,GACzBvE,CACF,EAEA,OACET,EAAA,cAACgC,GAAK,KAALP,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,GAAIwD,EACJ,UAAWtC,GAAGJ,EAAO,KAAMe,CAAS,IAEnCkB,EACCzD,EAAA,cAACuD,EAAA,CAAe,KAAME,EAAM,QAAQ,YAAY,EAEhDsB,GAAsBE,GAExBjF,EAAA,cAAC,YAAMmE,CAAM,EACZV,GAAQsB,EAAqBE,GAAe,IAC/C,CAEJ,CAEA,IAAMA,GACJjF,EAAA,cAACuD,EAAA,CAAe,KAAMvD,EAAA,cAAC4E,GAAA,IAAiB,EAAI,QAAQ,QAAQ,EAGxDI,GAAkBvE,GACtBA,EAAM,KAAO,KAAOA,EAAM,SAAW,SAE1ByE,GAGTlF,EAAM,WAAW8E,EAAe,EEzEpC,OAAO9E,MAAW,QAClB,OAAS,QAAAgC,OAAY,uBACrB,OACE,oBAAAmD,GACA,qBAAAtC,GACA,iBAAAC,OACK,2BACP,OAAS,QAAA/C,OAAY,uBAErB,OAAOG,OAAY,yBAEZ,IAAMkF,GAAyB,CAAC,CACrC,UAAApC,CACF,IAGEhD,EAAA,cAACgC,GAAK,KAAL,KACChC,EAAA,cAACD,GAAA,CAAK,WAAW,SAAS,IAAKG,GAAO,WACpCF,EAAA,cAAC6C,GAAA,CAAkB,UAAW,GAAI,SAAU,IAC1C7C,EAAA,cAAC8C,GAAA,CAAc,MAAO,GAAI,OAAQ,GAAI,CACxC,EACA9C,EAAA,cAAC6C,GAAA,CAAkB,UAAW,GAAI,SAAU,IAAK,UAAWG,GAC1DhD,EAAA,cAACmF,GAAA,CAAiB,cAAe,EAAG,CACtC,CACF,CACF,ECzBF,OAAOnF,MAAW,QCAlB,OAAS,OAAAC,OAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA+C,OAAiB,wBAGnB,IAAMoC,GAA0B,KAAO,CAC5C,KAAMpF,GACJ,CAEE,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,MAAOC,EAAO,QACd,OAAQ,UACR,SAAUA,EAAO,UACjB,WAAYA,EAAO,iBACnB,SAAU,WACV,QAAS,OACT,aAAcA,EAAO,mBAErB,UAAW,CACT,QAAS,KACT,OAAQ,oBACR,UAAW,aACX,OAAQ,OACR,MAAO,OACP,SAAU,WACV,MAAO,CACT,EACA,qBAAsB,CACpB,QAAS,MACX,EACA,aAAc,CACZ,gBAAiB+C,GAAU/C,EAAO,WAAY,GAAI,CACpD,CACF,EACAE,EACE,mBAAmBF,EAAO,UAAU,qBAAqBA,EAAO,OAAO,EACzE,CACF,EACA,YAAaD,GAAI,CACf,cAAe,OACf,OAAQ,EACR,QAAS,EACT,SAAU,UACZ,CAAC,EACD,SAAUA,GAAI,CACZ,QAAS,OACT,CAACE,EAAI,MAAM,EAAG,CACZ,QAAS,OACX,CACF,CAAC,CACH,GDpDA,OACE,QAAAJ,OAIK,uBACP,OAAS,YAAAuF,OAAgB,wBACzB,OAAS,MAAA1D,OAAU,UAgBnB,SAAS2D,GACP9E,EACAC,EACA,CACA,IAMIC,EAAAF,EALF,UAAAG,EACA,UAAA2B,EACA,KAAAiD,EACA,OAAAnE,EAAS,uBAjCb,EAmCMV,EADCW,EAAAC,EACDZ,EADC,CAJH,WACA,YACA,OACA,WAGIa,EAAS6D,GAAwB,EAEvC,OACErF,EAAA,cAACD,GAAA0B,EAAAC,EAAA,GACKJ,GADL,CAEC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMe,CAAS,EACpC,OAAQlB,EACR,WAAW,SACX,WAAU,GACV,IAAI,cAEHmE,GAAQxF,EAAA,cAAC+D,GAAA,IAAmB,EAC7B/D,EAAA,cAACsF,GAAA,CAAS,UAAW9D,EAAO,SAAU,KAAK,QAAQ,QAAQ,QAAQ,EACnExB,EAAA,cAACD,GAAA,CAAK,GAAG,KAAK,WAAW,SAAS,UAAWyB,EAAO,aACjDZ,CACH,CACF,CAEJ,CAEO,IAAM6E,GAAiBzF,EAAM,WAAWuF,EAAe,EE1D9D,OAAOvF,OAAW,QAClB,OACE,qBAAA6C,GACA,uBAAA6C,OACK,2BACP,OAAOxF,OAAY,yBAEZ,IAAMyF,GAAyB,CAAC,CACrC,eAAAjB,CACF,IAGE1E,GAAA,cAAC6C,GAAA,CACC,SAAU6B,EACV,UAAW,GACX,gBAAiBxE,GAAO,QACxB,gBAAiBA,GAAO,SAExBF,GAAA,cAAC0F,GAAA,CACC,WAAY,GACZ,cAAe,EACf,QAAS,GACT,QAAS,GACX,CACF,ECxBF,OAAS,MAAA9D,OAAU,UACnB,OAAO5B,OAAW,QCDlB,OAAOE,MAAY,yBACnB,OAAS,OAAAD,OAAW,UAGb,IAAM2F,GAAwB,KAAO,CAC1C,KAAM3F,GACJ,CAEE,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,WAAY,SACZ,eAAgB,SAChB,SAAUC,EAAO,SACjB,WAAY,SAASA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GACzF,QAAS,OACT,aAAcA,EAAO,mBAErB,QAAS,CACP,KAAMA,EAAO,QACb,WAAY,QAAQA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,EAC1F,EACA,uBAAwB,CACtB,MAAOA,EAAO,QACd,KAAMA,EAAO,OACf,CACF,EACAE,EAAqB,CACvB,CACF,GD5BA,OAGE,QAAAL,OAEK,uBASP,SAAS8F,GACPpF,EACAC,EACA,CACA,IAAqEC,EAAAF,EAA7D,WAAA8B,EAAW,OAAAlB,EAAS,qBAtB9B,EAsBuEV,EAAfW,EAAAC,EAAeZ,EAAf,CAA9C,YAAW,WACba,EAASoE,GAAsB,EAErC,OACE5F,GAAA,cAACD,GAAA0B,EAAAC,EAAA,CACC,aAAW,gBACPJ,GAFL,CAGC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMe,CAAS,EACpC,OAAQlB,IAERrB,GAAA,cAAC8D,GAAA,CAAW,KAAK,SAAS,QAAQ,QAAQ,CAC5C,CAEJ,CAEO,IAAMgC,GAAe9F,GAAM,WAAW6F,EAAa,EEvC1D,OAAO7F,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,MAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA+C,OAAiB,wBAG1B,IAAM8C,GAAa,CACjB,QAAS,OACT,gBAAiB,CACf,QAAS,OACX,EAEA,CAAC5F,EAAI,MAAM,EAAG,CACZ,QAAS,QACT,gBAAiB,CACf,QAAS,MACX,CACF,CACF,EAEa6F,GAA8B,KAAO,CAChD,gBAAiB/F,EAAI,CACnB,SAAU,WACV,WAAY,SACZ,eAAgB,SAChB,gBAAiBgD,GAAU/C,EAAO,QAAS,EAAG,EAC9C,UAAW,mBAAmBA,EAAO,UAAU,GAC/C,QAAS,cACT,OAAQ,EACR,SAAU,EACV,QAAS,KAAKA,EAAO,SAAS,GAC9B,OAAQA,EAAO,SACf,aAAc,OACd,OAAQ,EACR,WAAY,oBAAoBA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GACpG,WAAY,SACZ,sBAAuB,CACrB,SAAU,uEACZ,EACA,gBAAiB,CACf,SAAU,MACZ,EACA,iBAAkB,CAChB,OAAQ,EACR,KAAM,IAAIA,EAAO,SAAS,GAC1B,YAAaA,EAAO,SACpB,aAAc,gBACd,KAAM,CACJ,SAAU,OACV,aAAc,WACd,SAAU,SACV,CAACC,EAAI,KAAK,EAAG,CACX,SAAU,MACZ,CACF,CACF,EACA,iBAAkB,CAChB,KAAM,IAAID,EAAO,QAAQ,GACzB,YAAaA,EAAO,SACpB,aAAc,gBACd,WAAYA,EAAO,mBACnB,SAAUA,EAAO,UACjB,WAAYA,EAAO,iBACnB,OAAQ,EACR,KAAM,CACJ,SAAU,OACV,aAAc,WACd,SAAU,SACV,CAACC,EAAI,KAAK,EAAG,CACX,SAAU,MACZ,CACF,EACA,QAAS,CACP,CAACA,EAAI,MAAM,EAAG,CACZ,IAAKD,EAAO,UACd,CACF,CACF,CACF,CAAC,EACD,sBAAuBD,EAAI,CACzB,aAAc,MACd,MAAOC,EAAO,QACd,QAAS,EACT,QAAS,OACT,eAAgB,SAChB,SAAU,OACV,MAAOA,EAAO,SACd,OAAQA,EAAO,QACjB,CAAC,EACD,yBAA0BD,EAAI,CAC5B,MAAOC,EAAO,SACd,OAAQuB,EAAAC,EAAA,GACHqE,IADG,CAEN,KAAM7F,EAAO,QACf,EACF,CAAC,EACD,4BAA6BD,EAAI,CAC/B,MAAOC,EAAO,UACd,IAAKuB,EAAAC,EAAA,GACAqE,IADA,CAEH,KAAM7F,EAAO,SACf,EACF,CAAC,CACH,GCtGA,OAAOF,MAAW,QAGlB,OAAS,wBAAAiG,GAAsB,mBAAAC,OAAuB,wBAI/C,SAASC,GAAiB,CAAE,QAAAC,CAAQ,EAA0B,CACnE,OACEpG,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC2D,GAAA,CAAW,IAAI,cAAc,KAAK,OAAO,EACzCyC,EACCpG,EAAA,cAACiG,GAAA,CAAqB,IAAI,YAAY,KAAK,OAAO,EAElDjG,EAAA,cAACkG,GAAA,CAAgB,IAAI,YAAY,KAAK,OAAO,CAEjD,CAEJ,CFdA,OACE,QAAAnG,OAIK,uBAcP,SAASsG,GACP5F,EACAC,EACA,CACA,IAQIC,EAAAF,EAPF,UAAAG,EACA,SAAA0F,EACA,UAAA/D,EACA,WAAAgE,EACA,QAAAH,EACA,OAAA/E,EAAS,4BAjCb,EAmCMV,EADCW,EAAAC,EACDZ,EADC,CANH,WACA,WACA,YACA,aACA,UACA,WAGIa,EAASwE,GAA4B,EACrCQ,EAAU5E,GAAGJ,EAAO,gBAAiBe,EAAW,CACpD,CAACf,EAAO,qBAAqB,EAAG8E,EAChC,CAAC9E,EAAO,wBAAwB,EAAG+E,IAAe,SAClD,CAAC/E,EAAO,2BAA2B,EAAG+E,IAAe,YACvD,CAAC,EAED,OACEvG,EAAA,cAAC,KAAAyB,EAAAC,EAAA,GAAOJ,GAAP,CAAmB,IAAKZ,EAAK,UAAW8F,EAAS,eAAcnF,IAC9DrB,EAAA,cAACD,GAAA,CAAK,WAAU,GAAC,eAAe,SAAS,WAAW,UACjDwG,GAAcvG,EAAA,cAACmG,GAAA,CAAiB,QAASC,EAAS,EACnDpG,EAAA,cAAC,YAAMY,CAAS,CAClB,CACF,CAEJ,CAEO,IAAM6F,GAAqBzG,EAAM,WAAWqG,EAAmB,EGrDtE,OAAOrG,MAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,OAAW,UACpB,OAAOC,MAAY,yBAGZ,IAAMwG,GAAsB,KAAO,CACxC,KAAMzG,GACJ,CAEE,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,WAAY,SACZ,eAAgB,SAChB,MAAOC,EAAO,QACd,SAAU,EACV,IAAK,EACL,SAAUA,EAAO,SACjB,WAAY,SAASA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,GACzF,QAAS,OACT,aAAcA,EAAO,mBAErB,CAACC,EAAI,MAAM,EAAG,CACZ,SAAUD,EAAO,UACjB,IAAKA,EAAO,WACZ,WAAYA,EAAO,iBACnB,YAAaA,EAAO,SACtB,EACA,uBAAwB,CACtB,MAAOA,EAAO,QACd,KAAMA,EAAO,OACf,EACA,QAAS,CACP,KAAMA,EAAO,QACb,WAAY,QAAQA,EAAO,uBAAuB,IAAIA,EAAO,2BAA2B,EAC1F,CACF,EACAE,EAAqB,CACvB,CACF,GDrCA,OACE,QAAAL,OAIK,uBAYP,SAAS4G,GACPlG,EACAC,EACA,CACA,IAKIC,EAAAF,EAJF,UAAAG,EACA,UAAA2B,EACA,OAAAlB,EAAS,2BA5Bb,EA8BMV,EADCW,EAAAC,EACDZ,EADC,CAHH,WACA,YACA,WAGIa,EAASkF,GAAoB,EAEnC,OACE1G,EAAA,cAACkC,EAAA,CACC,OAAO,yBACP,QACElC,EAAA,cAACD,GAAA0B,EAAAC,EAAA,CACC,aAAW,aACPJ,GAFL,CAGC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMe,CAAS,EACpC,OAAQlB,IAERrB,EAAA,cAAC6D,GAAA,CAAS,KAAK,SAAS,QAAQ,QAAQ,EAAE,MAE5C,GAGDjD,CACH,CAEJ,CAEO,IAAMgG,GAAa5G,EAAM,WAAW2G,EAAW,EEvDtD,OAAO3G,OAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,OAAW,UACpB,OAAOC,MAAY,yBAEZ,IAAM2G,GAAuB,KAAO,CACzC,KAAM5G,GAAI,CACR,QAAS,OACT,eAAgB,SAChB,WAAY,SACZ,WAAY,OACZ,OAAQ,aAAaC,EAAO,SAAS,GACrC,OAAQ,EACR,QAAS,OACT,SAAUA,EAAO,UACjB,WAAYA,EAAO,YACnB,WAAYA,EAAO,iBACnB,UAAW,SACX,QAAS,KAAKA,EAAO,SAAS,GAC9B,eAAgB,OAChB,MAAO,GAAGA,EAAO,SAAS,aAC1B,aAAc,SAChB,CAAC,CACH,GDXA,IAAM4G,GAA2B,MAWjC,SAASC,GACPtG,EACAC,EACA,CACA,IAMIC,EAAAF,EALF,IAAIyD,EAAO4C,GACX,SAAAlG,EACA,UAAA2B,EACA,OAAAlB,EAAS,oBA7Bb,EA+BMV,EADCW,EAAAC,EACDZ,EADC,CAJH,KACA,WACA,YACA,WAGIa,EAASqF,GAAqB,EAEpC,OACE7G,GAAA,cAACkE,EAAAzC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMe,CAAS,EACpC,eAAclB,IAEbT,CACH,CAEJ,CAEO,IAAMoG,GAGThH,GAAM,WAAW+G,EAAY,EEjDjC,OAAO/G,OAAW,QAClB,OAAS,MAAA4B,OAAU,UCDnB,OAAS,OAAA3B,OAAW,UACpB,OAAOC,MAAY,yBAGZ,IAAM+G,GAA4B,KAAO,CAC9C,KAAMhH,GACJ,CAEE,OAAQ,EACR,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,QAAS,OACT,IAAKC,EAAO,WACZ,WAAY,SACZ,MAAOA,EAAO,QACd,QAAS,KAAKA,EAAO,UAAU,GAC/B,UAAWA,EAAO,SAClB,SAAUA,EAAO,UACjB,WAAYA,EAAO,iBACnB,QAAS,OACT,aAAcA,EAAO,mBAErB,UAAW,CACT,MAAOA,EAAO,OAChB,EACA,IAAK,CACH,KAAM,cACR,CACF,EACAE,EAAqB,CACvB,CACF,GDvBA,IAAM0G,GAA2B,SAUjC,SAASI,GAEPzG,EAAiCC,EAAqB,CACtD,IAMIC,EAAAF,EALF,IAAIyD,EAAO4C,GACX,SAAAlG,EACA,UAAA2B,EACA,OAAAlB,EAAS,0BA3Bb,EA6BMV,EADCW,EAAAC,EACDZ,EADC,CAJH,KACA,WACA,YACA,WAGIa,EAASyF,GAA0B,EAEzC,OACEjH,GAAA,cAACkE,EAAAzC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMe,CAAS,EACpC,eAAclB,IAEbT,CACH,CAEJ,CAEO,IAAMuG,GAGTnH,GAAM,WAAWkH,EAAiB,ElCd/B,IAAMvF,EAASA,GACtBA,EAAO,KAAO4C,GACd5C,EAAO,aAAe8C,GACtB9C,EAAO,SAAWuD,GAClBvD,EAAO,iBAAmByD,GAC1BzD,EAAO,YAAc/B,GACrB+B,EAAO,iBAAmB9B,GAC1B8B,EAAO,SAAW8D,GAClB9D,EAAO,iBAAmBgE,GAC1BhE,EAAO,aAAe8E,GACtB9E,EAAO,OAASmE,GAChBnE,EAAO,KAAOiF,GACdjF,EAAO,QAAUiB,GACjBjB,EAAO,gBAAkBoB,GACzBpB,EAAO,MAAQqF,GACfrF,EAAO,WAAawF","sourcesContent":["import { MenuDivider } from '@contentful/f36-menu';\nimport { MenuSectionTitle } from '@contentful/f36-menu';\nimport { Navbar as OriginalNavbar } from './Navbar';\n\nimport { NavbarAccount, NavbarAccountSkeleton } from './NavbarAccount';\nimport { NavbarItem, NavbarItemSkeleton } from './NavbarItem';\nimport { NavbarMenuItem, NavbarMenuItemSkeleton } from './NavbarMenuItem';\nimport { NavbarSwitcher, NavbarSwitcherSkeleton } from './NavbarSwitcher';\n\nimport { NavbarSearch } from './NavbarSearch/NavbarSearch';\nimport { NavbarSwitcherItem } from './NavbarSwitcherItem/NavbarSwitcherItem';\nimport { NavbarHelp } from './NavbarHelp/NavbarHelp';\nimport { NavbarBadge } from './NavbarBadge/NavbarBadge';\nimport { NavbarTopbarItem } from './NavbarTopbarItem/NavbarTopbarItem';\n\ntype CompoundNavbar = typeof OriginalNavbar & {\n Item: typeof NavbarItem;\n ItemSkeleton: typeof NavbarItemSkeleton;\n MenuItem: typeof NavbarMenuItem;\n MenuItemSkeleton: typeof NavbarMenuItemSkeleton;\n MenuDivider: typeof MenuDivider;\n MenuSectionTitle: typeof MenuSectionTitle;\n Switcher: typeof NavbarSwitcher;\n SwitcherSkeleton: typeof NavbarSwitcherSkeleton;\n SwitcherItem: typeof NavbarSwitcherItem;\n Search: typeof NavbarSearch;\n Help: typeof NavbarHelp;\n Account: typeof NavbarAccount;\n AccountSkeleton: typeof NavbarAccountSkeleton;\n Badge: typeof NavbarBadge;\n TopbarItem: typeof NavbarTopbarItem;\n};\n\nexport const Navbar = OriginalNavbar as CompoundNavbar;\nNavbar.Item = NavbarItem;\nNavbar.ItemSkeleton = NavbarItemSkeleton;\nNavbar.MenuItem = NavbarMenuItem;\nNavbar.MenuItemSkeleton = NavbarMenuItemSkeleton;\nNavbar.MenuDivider = MenuDivider;\nNavbar.MenuSectionTitle = MenuSectionTitle;\nNavbar.Switcher = NavbarSwitcher;\nNavbar.SwitcherSkeleton = NavbarSwitcherSkeleton;\nNavbar.SwitcherItem = NavbarSwitcherItem;\nNavbar.Search = NavbarSearch;\nNavbar.Help = NavbarHelp;\nNavbar.Account = NavbarAccount;\nNavbar.AccountSkeleton = NavbarAccountSkeleton;\nNavbar.Badge = NavbarBadge;\nNavbar.TopbarItem = NavbarTopbarItem;\n","import {\n Box,\n type CommonProps,\n type ExpandProps,\n Flex,\n} from '@contentful/f36-core';\nimport React from 'react';\nimport { getNavbarStyles } from './Navbar.styles';\n\ntype NavbarOwnProps = CommonProps & {\n children?: React.ReactNode;\n account?: React.ReactNode;\n search?: React.ReactNode;\n switcher?: React.ReactNode;\n help?: React.ReactNode;\n badge?: React.ReactNode;\n /**\n * Items that will be rendered on the bottom-right of the navbar.\n * Useful for separating other navigation items from main ones, (e.g. separating \"Settings\" from all other navigation items).\n */\n bottomRightItems?: React.ReactNode;\n /**\n * Items that will be rendered on the top-right of the navbar.\n * Useful for providing additional context or actions to the user (e.g. a Feedback form link).\n */\n topRightItems?: React.ReactNode;\n /**\n * Defines the max-width of the content inside the navbar.\n * @default '100%'\n */\n contentMaxWidth?: string;\n};\n\n// expose only the HTML props that are needed to not pollute the API\ntype NavbarHTMLElementProps = Pick<React.ComponentPropsWithoutRef<'div'>, 'id'>;\n\nexport type NavbarProps = NavbarHTMLElementProps & NavbarOwnProps;\n\nfunction _Navbar(props: ExpandProps<NavbarProps>, ref: React.Ref<HTMLElement>) {\n const {\n children,\n account,\n search,\n switcher,\n help,\n badge,\n bottomRightItems,\n topRightItems,\n contentMaxWidth = '100%',\n testId = 'cf-ui-navbar',\n ...otherProps\n } = props;\n const styles = getNavbarStyles(contentMaxWidth);\n\n return (\n <Box {...otherProps} ref={ref} testId={testId}>\n <Flex className={styles.containerTop}>\n <Flex\n className={styles.containerTopContent}\n justifyContent=\"space-between\"\n >\n <Flex>{switcher}</Flex>\n <Flex alignItems=\"center\" gap=\"spacingXs\">\n {topRightItems}\n {badge}\n {search}\n {help}\n {account}\n </Flex>\n </Flex>\n </Flex>\n\n <Flex className={styles.containerBottom}>\n <Flex\n className={styles.containerBottomContent}\n justifyContent=\"space-between\"\n >\n <Flex as=\"nav\" aria-label=\"Main Navigation\" alignItems=\"stretch\">\n {children}\n </Flex>\n {bottomRightItems && <Flex>{bottomRightItems}</Flex>}\n </Flex>\n </Flex>\n </Box>\n );\n}\n\nexport const Navbar = React.forwardRef(_Navbar);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { mqs } from './utils.styles';\n\nexport const getNavbarStyles = (maxWidth: string) => ({\n containerTop: css({\n justifyContent: 'center',\n backgroundColor: '#0C141C',\n }),\n containerBottom: css({\n justifyContent: 'center',\n borderTop: `1px solid #21262D`,\n backgroundColor: '#161B22',\n }),\n containerTopContent: css({\n width: '100%',\n maxWidth: maxWidth,\n padding: `${tokens.spacingXs}`,\n minHeight: '2.5rem',\n [mqs.medium]: {\n padding: `${tokens.spacingXs} ${tokens.spacingM}`,\n },\n }),\n containerBottomContent: css({\n width: '100%',\n maxWidth: maxWidth,\n padding: 0,\n minHeight: '2.5rem',\n overflow: 'auto',\n [mqs.medium]: {\n padding: `0 ${tokens.spacing2Xs}`,\n },\n }),\n});\n","import tokens from '@contentful/f36-tokens';\n\ntype screens = 'medium' | 'large' | 'xlarge';\ntype mediaqueries = Record<screens, string>;\nexport const mqs: mediaqueries = {\n medium: '@media (min-width: 480px)',\n large: '@media (min-width: 768px)',\n xlarge: '@media (min-width: 1920px)',\n};\n\nexport const getGlowOnFocusStyles = (shadow: string = tokens.glowPrimary) => ({\n '&:focus': {\n boxShadow: shadow,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: shadow,\n },\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarAccountStyles } from './NavbarAccount.styles';\nimport {\n Flex,\n type PropsWithHTMLElement,\n type CommonProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\n\ntype NavbarAccountOwnProps = CommonProps & {\n children: React.ReactNode;\n username: string;\n avatar: string;\n hasNotification?: boolean;\n /**\n * @default 'warning'\n */\n notificationVariant?: 'warning' | 'negative' | 'info';\n};\n\nexport type NavbarAccountProps = PropsWithHTMLElement<\n NavbarAccountOwnProps,\n 'button'\n>;\n\nfunction _NavbarAccount(\n props: ExpandProps<NavbarAccountProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-account-trigger',\n avatar,\n username,\n hasNotification,\n notificationVariant = 'warning',\n ...otherProps\n } = props;\n const styles = getNavbarAccountStyles();\n\n return (\n <NavbarMenu\n trigger={\n <Flex\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <img\n src={avatar}\n alt={`Avatar for user ${username}`}\n className={styles.avatar}\n />\n {hasNotification ? (\n <span className={styles.notificationIcon(notificationVariant)} />\n ) : null}\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarAccount = React.forwardRef(_NavbarAccount);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { NavbarAccountProps } from './NavbarAccount';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nconst notificationVarianColorMap: Record<\n NavbarAccountProps['notificationVariant'],\n string\n> = {\n warning: tokens.colorWarning,\n negative: tokens.colorNegative,\n info: tokens.blue500,\n};\n\nexport const getNavbarAccountStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n gap: tokens.spacing2Xs,\n outline: 'none',\n borderRadius: '50%',\n },\n getGlowOnFocusStyles(),\n ),\n avatar: css({\n borderRadius: '50%',\n display: 'block',\n height: '24px',\n width: '24px',\n }),\n notificationIcon: (variant: NavbarAccountProps['notificationVariant']) =>\n css({\n position: 'absolute',\n top: 0,\n right: 0,\n height: tokens.spacingS,\n width: tokens.spacingS,\n borderRadius: '50%',\n border: `2px solid ${tokens.gray900}`,\n backgroundColor: notificationVarianColorMap[variant],\n transform: 'translate(30%, -30%)',\n }),\n});\n","import React from 'react';\nimport { Menu, type MenuListProps, type MenuProps } from '@contentful/f36-menu';\nimport { getNavbarMenuStyles } from './NavbarMenu.styles';\n\nexport type NavbarMenuProps = {\n trigger: React.ReactNode;\n children?: React.ReactNode;\n} & Pick<MenuListProps, 'testId'> &\n Pick<MenuProps, 'onOpen' | 'onClose'>;\n\nexport const NavbarMenu = (props: NavbarMenuProps) => {\n const {\n trigger,\n children,\n testId = 'cf-ui-navbar-menu-list',\n onOpen,\n onClose,\n } = props;\n const styles = getNavbarMenuStyles();\n\n return (\n <Menu onOpen={onOpen} onClose={onClose}>\n <Menu.Trigger>{trigger}</Menu.Trigger>\n <Menu.List className={styles.menuList} testId={testId}>\n {children}\n </Menu.List>\n </Menu>\n );\n};\n","import { css } from 'emotion';\n\nexport const getNavbarMenuStyles = () => ({\n menuList: css({\n minWidth: '250px',\n }),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonImage } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport function NavbarAccountSkeleton({ ariaLabel }: { ariaLabel?: string }) {\n return (\n <SkeletonContainer\n svgWidth={24}\n svgHeight={24}\n ariaLabel={ariaLabel}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonImage width={24} height={24} radiusX={12} radiusY={12} />\n </SkeletonContainer>\n );\n}\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarItemStyles } from './NavbarItem.styles';\nimport { NavbarMenu, type NavbarMenuProps } from '../NavbarMenu/NavbarMenu';\nimport {\n NavbarItemIcon,\n type NavbarItemIconProps,\n} from '../NavbarItemIcon/NavbarItemIcon';\nimport { ArrowDownIcon } from '../icons';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_ITEM_DEFAULT_TAG = 'button';\n\ntype NavbarItemTriggerProps = CommonProps & {\n title: string;\n icon?: NavbarItemIconProps['icon'];\n isActive?: boolean;\n as?: React.ElementType;\n};\n\ntype NavbarItemAsMenuProps = NavbarItemTriggerProps &\n Pick<NavbarMenuProps, 'onOpen' | 'onClose'> & {\n children: React.ReactNode;\n };\ntype NavbarItemAsItemProps = NavbarItemTriggerProps & {\n children?: never;\n onOpen?: never;\n onClose?: never;\n};\ntype NavbarItemOwnProps = NavbarItemAsItemProps | NavbarItemAsMenuProps;\n\nexport type NavbarItemProps<\n E extends React.ElementType = typeof NAVBAR_ITEM_DEFAULT_TAG,\n> = PolymorphicProps<NavbarItemOwnProps, E>;\n\nfunction _NavbarItem(\n props: NavbarItemProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_ITEM_DEFAULT_TAG,\n icon,\n title,\n children,\n className,\n isActive,\n testId = 'cf-ui-navbar-item',\n onOpen,\n onClose,\n ...otherProps\n } = props;\n const styles = getNavbarItemStyles();\n\n const item = (\n <Comp\n {...otherProps}\n ref={ref}\n data-test-id={testId}\n className={cx(styles.root, isActive && styles.isActive, className)}\n >\n {icon ? <NavbarItemIcon icon={icon} variant=\"white\" /> : null}\n <span>{title}</span>\n {isNavbarItemHasMenu(props) && (\n <ArrowDownIcon className={styles.dropdownIcon} />\n )}\n </Comp>\n );\n\n if (isNavbarItemHasMenu(props)) {\n return (\n <NavbarMenu\n trigger={item}\n testId={testId}\n onOpen={onOpen}\n onClose={onClose}\n >\n {children}\n </NavbarMenu>\n );\n }\n\n return item;\n}\n\nconst isNavbarItemHasMenu = <E extends React.ElementType>(\n props: NavbarItemProps<E>,\n): props is PolymorphicProps<NavbarItemAsMenuProps, E> =>\n Boolean(props.children);\n\nexport const NavbarItem: PolymorphicComponent<\n ExpandProps<NavbarItemOwnProps>,\n typeof NAVBAR_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarItemActiveStyles = () =>\n css({\n '&': {\n color: tokens.colorWhite,\n '& svg': {\n fill: tokens.colorWhite,\n },\n },\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: `calc(100% - ${tokens.spacingM})`,\n height: '2px',\n bottom: '0.5px',\n left: 0,\n right: 0,\n margin: 'auto',\n backgroundColor: tokens.colorWhite,\n zIndex: 0,\n },\n });\n\nconst commonItemStyles = {\n display: 'flex',\n justifyContent: 'center',\n padding: `10px ${tokens.spacingS}`,\n alignItems: 'center',\n background: 'none',\n};\n\nexport const getNavbarItemStyles = () => ({\n root: css(\n commonItemStyles,\n {\n alignItems: 'center',\n background: 'none',\n border: 0,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeM,\n lineHeight: tokens.lineHeightM,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n textAlign: 'left',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n hyphens: 'auto',\n textDecoration: 'none',\n color: hexToRGBA(tokens.gray300, 0.8),\n boxSizing: 'border-box',\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n borderRadius: tokens.borderRadiusMedium,\n\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n width: `calc(100% - ${tokens.spacingXs})`,\n height: `calc(100% - ${tokens.spacingS})`,\n top: `calc(${tokens.spacingS} / 2)`,\n left: 0,\n right: 0,\n margin: 'auto',\n borderRadius: tokens.borderRadiusSmall,\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.08),\n opacity: 0,\n zIndex: 0,\n scale: 0,\n transition: `all ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n\n '&:hover::before': {\n opacity: 1,\n scale: '1',\n },\n\n '&:active::before': {\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n '&:disabled': {\n cursor: 'auto',\n },\n\n '& svg': {\n fill: hexToRGBA(tokens.gray300, 0.8),\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n\n '&:first-child': {\n display: 'none',\n [mqs.large]: {\n display: 'block',\n },\n },\n },\n '& > svg, & > span': {\n zIndex: tokens.zIndexDefault,\n },\n },\n getGlowOnFocusStyles(`inset ${tokens.glowPrimary}`),\n ),\n isActive: getNavbarItemActiveStyles(),\n dropdownIcon: css({\n paddingLeft: tokens.spacing2Xs,\n }),\n});\n\nexport const getNavbarItemSkeletonStyles = () => ({\n root: css(commonItemStyles),\n});\n","import React from 'react';\nimport type { IconProps } from '@contentful/f36-icons';\nimport { getNavbarItemIconStyles } from './NavbarItemIcon.styles';\nimport { cx } from 'emotion';\n\nexport type NavbarItemIconProps = {\n icon: React.ReactElement<IconProps>;\n} & Pick<IconProps, 'variant'>;\n\nexport const NavbarItemIcon = (props: NavbarItemIconProps) => {\n const { icon, variant } = props;\n const styles = getNavbarItemIconStyles();\n\n return React.cloneElement(icon, {\n className: cx(icon.props.className, styles.root),\n size: icon.props.size ?? 'tiny',\n variant: icon.props.variant ?? variant,\n });\n};\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarItemIconStyles = () => ({\n root: css({\n '&:first-child': {\n marginRight: tokens.spacing2Xs,\n },\n '&:last-child': {\n marginLeft: tokens.spacing2Xs,\n },\n 'img&': {\n borderRadius: tokens.borderRadiusSmall,\n maxWidth: tokens.spacingM,\n maxHeight: tokens.spacingM,\n },\n }),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const CircleIcon = /*#__PURE__*/ generateIcon({\n name: 'CircleIcon',\n viewBox: '0 0 24 24',\n path: (\n <path\n d=\"M11.994 6.526A5.47 5.47 0 0 0 6.526 12a5.47 5.47 0 0 0 5.468 5.473A5.476 5.476 0 0 0 17.473 12a5.477 5.477 0 0 0-5.479-5.474ZM12 15.447a3.448 3.448 0 1 1 0-6.896 3.448 3.448 0 0 1 0 6.896Z\"\n fill=\"currentFill\"\n />\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const ArrowDownIcon = /*#__PURE__*/ generateIcon({\n name: 'ArrowDownIcon',\n viewBox: '0 0 12 20',\n path: (\n <path\n d=\"M3.03076 8C2.20109 8 1.73228 8.95209 2.23814 9.60971L5.20727 13.4696C5.60757 13.99 6.39223 13.99 6.79252 13.4696L9.76166 9.60971C10.2675 8.95209 9.79871 8 8.96904 8L3.03076 8Z\"\n fill=\"#9FA8B2\"\n />\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const HelpIcon = /*#__PURE__*/ generateIcon({\n name: 'HelpIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#HelpIcon_svg__a)\">\n <path\n d=\"M12 2.25A9.75 9.75 0 1 0 21.75 12 9.769 9.769 0 0 0 12 2.25ZM12 18a1.125 1.125 0 1 1 0-2.25A1.125 1.125 0 0 1 12 18Zm.75-4.584v.084a.75.75 0 1 1-1.5 0v-.75A.75.75 0 0 1 12 12a1.875 1.875 0 1 0-1.875-1.875.75.75 0 1 1-1.5 0 3.375 3.375 0 1 1 4.125 3.29Z\"\n fill=\"currentFill\"\n />\n </g>\n <defs>\n <clipPath id=\"HelpIcon_svg__a\">\n <path fill=\"currentFill\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const SearchIcon = /*#__PURE__*/ generateIcon({\n name: 'SearchIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#SearchIcon_svg__a)\">\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 11.125a5.125 5.125 0 1 1 10.25 0 5.125 5.125 0 0 1-10.25 0ZM11.125 4a7.125 7.125 0 1 0 4.282 12.82l2.886 2.887a1 1 0 0 0 1.414-1.414l-2.886-2.887A7.125 7.125 0 0 0 11.125 4Z\"\n fill=\"currentFill\"\n />\n </g>\n <defs>\n <clipPath id=\"SearchIcon_svg__a\">\n <path fill=\"#fff\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { generateIcon } from '@contentful/f36-icon';\n\nexport const ContentfulLogoIcon = /*#__PURE__*/ generateIcon({\n name: 'ContentfulLogoIcon',\n viewBox: '0 0 24 24',\n path: (\n <>\n <g clipPath=\"url(#a)\">\n <path\n d=\"M8.71 3.007c.844.843 1.17 2.078.844 3.228a6.683 6.683 0 0 1 3.444-.953h.025a6.701 6.701 0 0 1 4.743 1.988 2.637 2.637 0 0 0 3.73.093 2.637 2.637 0 0 0 .094-3.731c-.025-.027-.052-.052-.08-.08A11.95 11.95 0 0 0 13.036.006h-.046a11.92 11.92 0 0 0-6.691 2.038h.074c.876 0 1.715.346 2.335.966l.002-.002Z\"\n fill=\"#1773EB\"\n />\n <path\n d=\"M19.593 16.006c-.696 0-1.365.276-1.86.765a6.706 6.706 0 0 1-4.732 1.953h-.025a6.617 6.617 0 0 1-3.446-.97c.079.287.117.584.117.882a3.3 3.3 0 0 1-3.299 3.3h-.087a11.929 11.929 0 0 0 6.696 2.07h.046a11.934 11.934 0 0 0 8.45-3.486 2.64 2.64 0 0 0-1.857-4.514h-.003Z\"\n fill=\"#E44F20\"\n />\n <path\n d=\"M4.013 16.301a3.283 3.283 0 0 1 2.335-.967c.303 0 .604.041.893.123a6.696 6.696 0 0 1 .014-6.928 3.302 3.302 0 0 1-4.176-3.187v-.09a12 12 0 0 0-.033 13.452v-.068c0-.877.344-1.715.967-2.335Z\"\n fill=\"#FFDA00\"\n />\n <path\n d=\"M6.378 2.627c-.751 0-1.275.311-1.912.948-.606.606-.797 1.136-.8 1.767a2.712 2.712 0 1 0 5.427-.003A2.713 2.713 0 0 0 6.38 2.627h-.003Z\"\n fill=\"#1773EB\"\n />\n <path\n d=\"M3.628 18.639c0 .748.311 1.275.948 1.912.606.606 1.136.8 1.767.8a2.703 2.703 0 1 0-.017-5.408 2.703 2.703 0 0 0-2.695 2.704v-.008h-.003Z\"\n fill=\"#E44F20\"\n />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill=\"#fff\" d=\"M0 0h24v24H0z\" />\n </clipPath>\n </defs>\n </>\n ),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonText } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\nimport { getNavbarItemSkeletonStyles } from './NavbarItem.styles';\n\nexport const NavbarItemSkeleton = ({\n estimatedWidth,\n}: {\n estimatedWidth: number;\n}) => {\n const styles = getNavbarItemSkeletonStyles();\n\n return (\n <SkeletonContainer\n className={styles.root}\n svgWidth={estimatedWidth}\n svgHeight={40}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonText\n lineHeight={6}\n numberOfLines={1}\n offsetTop={7}\n radiusX={tokens.borderRadiusSmall}\n radiusY={tokens.borderRadiusSmall}\n />\n </SkeletonContainer>\n );\n};\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarMenuItemStyles } from './NavbarMenuItem.styles';\nimport { Menu, type MenuItemProps } from '@contentful/f36-menu';\nimport {\n NavbarItemIcon,\n type NavbarItemIconProps,\n} from '../NavbarItemIcon/NavbarItemIcon';\nimport { ExternalLinkIcon } from '@contentful/f36-icons';\nimport type {\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_MENU_ITEM_DEFAULT_TAG = 'button';\n\ntype NavbarMenuItemOwnProps = {\n children?: null;\n title: string;\n icon?: NavbarItemIconProps['icon'];\n as?: React.ElementType;\n} & Omit<MenuItemProps, 'children' | 'as'>;\n\nexport type NavbarMenuItemProps<\n E extends React.ElementType = typeof NAVBAR_MENU_ITEM_DEFAULT_TAG,\n> = PolymorphicProps<NavbarMenuItemOwnProps, E>;\n\nfunction _NavbarMenuItem(\n props: NavbarMenuItemProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_MENU_ITEM_DEFAULT_TAG,\n icon,\n title,\n className,\n ...otherProps\n } = props;\n const styles = getNavbarMenuItemStyles();\n\n const itemIsExternalLink = isExternalLink(\n props as unknown as NavbarMenuItemProps<'a'>,\n );\n\n return (\n <Menu.Item\n {...otherProps}\n ref={ref}\n as={Comp as MenuItemProps['as']}\n className={cx(styles.root, className)}\n >\n {icon ? (\n <NavbarItemIcon icon={icon} variant=\"secondary\" />\n ) : (\n itemIsExternalLink && externalIcon\n )}\n <span>{title}</span>\n {icon && itemIsExternalLink ? externalIcon : null}\n </Menu.Item>\n );\n}\n\nconst externalIcon = (\n <NavbarItemIcon icon={<ExternalLinkIcon />} variant=\"muted\" />\n);\n\nconst isExternalLink = (props: NavbarMenuItemProps<'a'>) =>\n props.as === 'a' && props.target === '_blank';\n\nexport const NavbarMenuItem: PolymorphicComponent<\n ExpandProps<NavbarMenuItemOwnProps>,\n typeof NAVBAR_MENU_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarMenuItem);\n","import { css } from 'emotion';\n\nexport const getNavbarMenuItemStyles = () => ({\n root: css({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n }),\n});\n","import React from 'react';\nimport { Menu } from '@contentful/f36-menu';\nimport {\n SkeletonBodyText,\n SkeletonContainer,\n SkeletonImage,\n} from '@contentful/f36-skeleton';\nimport { Flex } from '@contentful/f36-core';\n\nimport tokens from '@contentful/f36-tokens';\n\nexport const NavbarMenuItemSkeleton = ({\n ariaLabel,\n}: {\n ariaLabel?: string;\n}) => (\n <Menu.Item>\n <Flex alignItems=\"center\" gap={tokens.spacingXs}>\n <SkeletonContainer svgHeight={16} svgWidth={18}>\n <SkeletonImage width={16} height={16} />\n </SkeletonContainer>\n <SkeletonContainer svgHeight={16} svgWidth={190} ariaLabel={ariaLabel}>\n <SkeletonBodyText numberOfLines={1} />\n </SkeletonContainer>\n </Flex>\n </Menu.Item>\n);\n","import React from 'react';\nimport { getNavbarSwitcherStyles } from './NavbarSwitcher.styles';\nimport {\n Flex,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { MenuIcon } from '@contentful/f36-icons';\nimport { cx } from 'emotion';\nimport { ContentfulLogoIcon } from '../icons';\n\ntype NavbarSwitcherOwnProps = CommonProps & {\n children?: React.ReactNode;\n /**\n * Will be displayed instead of the default Contentful logo\n */\n logo?: React.ReactNode;\n};\n\nexport type NavbarSwitcherProps = PropsWithHTMLElement<\n NavbarSwitcherOwnProps,\n 'button'\n>;\n\nfunction _NavbarSwitcher(\n props: ExpandProps<NavbarSwitcherProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n logo,\n testId = 'cf-ui-navbar-switcher',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherStyles();\n\n return (\n <Flex\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n alignItems=\"center\"\n fullHeight\n gap=\"spacingXs\"\n >\n {logo || <ContentfulLogoIcon />}\n <MenuIcon className={styles.menuIcon} size=\"small\" variant=\"white\" />\n <Flex as=\"ul\" alignItems=\"center\" className={styles.breadcrumbs}>\n {children}\n </Flex>\n </Flex>\n );\n}\n\nexport const NavbarSwitcher = React.forwardRef(_NavbarSwitcher);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n color: tokens.gray300,\n cursor: 'pointer',\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:after': {\n content: '\"\"',\n border: '1px solid #353A41',\n boxSizing: 'border-box',\n height: '16px',\n right: '-1px',\n position: 'absolute',\n width: 0,\n },\n '&:last-child:after': {\n display: 'none',\n },\n '&:hover li': {\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.15),\n },\n },\n getGlowOnFocusStyles(\n `0px 0px 0px 2px ${tokens.colorBlack}, 0px 0px 0px 5px ${tokens.blue300}`,\n ),\n ),\n breadcrumbs: css({\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n }),\n menuIcon: css({\n display: 'none',\n [mqs.medium]: {\n display: 'block',\n },\n }),\n});\n","import React from 'react';\nimport {\n SkeletonContainer,\n SkeletonDisplayText,\n} from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport const NavbarSwitcherSkeleton = ({\n estimatedWidth,\n}: {\n estimatedWidth: number;\n}) => (\n <SkeletonContainer\n svgWidth={estimatedWidth}\n svgHeight={24}\n backgroundColor={tokens.gray800}\n foregroundColor={tokens.gray700}\n >\n <SkeletonDisplayText\n lineHeight={24}\n numberOfLines={1}\n radiusX={12}\n radiusY={12}\n />\n </SkeletonContainer>\n);\n","import { cx } from 'emotion';\nimport React from 'react';\nimport { getNavbarSearchStyles } from './NavbarSearch.styles';\nimport { SearchIcon } from '../icons';\nimport {\n type CommonProps,\n type ExpandProps,\n Flex,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSearchOwnProps = CommonProps;\n\nexport type NavbarSearchProps = PropsWithHTMLElement<\n NavbarSearchOwnProps,\n 'button'\n>;\n\nfunction _NavbarSearch(\n props: ExpandProps<NavbarSearchProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const { className, testId = 'cf-ui-navbar-search', ...otherProps } = props;\n const styles = getNavbarSearchStyles();\n\n return (\n <Flex\n aria-label=\"Quick Search\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <SearchIcon size=\"medium\" variant=\"white\" />\n </Flex>\n );\n}\n\nexport const NavbarSearch = React.forwardRef(_NavbarSearch);\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarSearchStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n minWidth: tokens.spacingL,\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '& svg': {\n fill: tokens.gray300,\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n '&:hover, & svg:hover': {\n color: tokens.gray100,\n fill: tokens.gray100,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarSwitcherItemStyles } from './NavbarSwitcherItem.styles';\nimport { NavbarEnvVariant } from './NavbarEnvVariant';\nimport {\n Flex,\n type CommonProps,\n type ExpandProps,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSwitcherItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n isCircle?: boolean;\n envVariant?: 'master' | 'non-master';\n isAlias?: boolean;\n};\n\nexport type NavbarSwitcherItemProps = PropsWithHTMLElement<\n NavbarSwitcherItemOwnProps,\n 'li'\n>;\n\nfunction _NavbarSwitcherItem(\n props: ExpandProps<NavbarSwitcherItemProps>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n children,\n isCircle,\n className,\n envVariant,\n isAlias,\n testId = 'cf-ui-navbar-switcher-item',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherItemStyles();\n const classes = cx(styles.breadcrumbsItem, className, {\n [styles.breadcrumbsItemCircle]: isCircle,\n [styles.breadcrumbsItemEnvMaster]: envVariant === 'master',\n [styles.breadcrumbsItemEnvNonMaster]: envVariant === 'non-master',\n });\n\n return (\n <li {...otherProps} ref={ref} className={classes} data-test-id={testId}>\n <Flex fullHeight justifyContent=\"center\" alignItems=\"center\">\n {envVariant && <NavbarEnvVariant isAlias={isAlias} />}\n <span>{children}</span>\n </Flex>\n </li>\n );\n}\n\nexport const NavbarSwitcherItem = React.forwardRef(_NavbarSwitcherItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { mqs } from '../utils.styles';\n\nconst mobileIcon = {\n display: 'none',\n '&:first-child': {\n display: 'block',\n },\n\n [mqs.medium]: {\n display: 'block',\n '&:first-child': {\n display: 'none',\n },\n },\n};\n\nexport const getNavbarSwitcherItemStyles = () => ({\n breadcrumbsItem: css({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: hexToRGBA(tokens.gray100, 0.1),\n boxShadow: `0px 0px 0px 2px ${tokens.colorBlack}`,\n display: 'inline-flex',\n margin: 0,\n minWidth: 0,\n padding: `0 ${tokens.spacingXs}`,\n height: tokens.spacingL,\n borderRadius: '3rem',\n zIndex: 2,\n transition: `background-color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n whiteSpace: 'nowrap',\n '&:not(:first-child)': {\n clipPath: `path('M0 24C6 24 10 18 10 10C10 5 6 0 0 0H400C400 0 400 5 400 24H0Z')`,\n },\n '&:first-child': {\n minWidth: '24px',\n },\n '&:nth-child(2)': {\n zIndex: 1,\n left: `-${tokens.spacingXs}`,\n paddingLeft: tokens.spacingM,\n borderRadius: `0 3rem 3rem 0`,\n span: {\n maxWidth: '80px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n [mqs.large]: {\n maxWidth: '100%',\n },\n },\n },\n '&:nth-child(3)': {\n left: `-${tokens.spacingM}`,\n paddingLeft: tokens.spacingM,\n borderRadius: `0 3rem 3rem 0`,\n fontFamily: tokens.fontStackMonospace,\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n zIndex: 0,\n span: {\n maxWidth: '40px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n [mqs.large]: {\n maxWidth: '100%',\n },\n },\n '> div': {\n [mqs.medium]: {\n gap: tokens.spacing2Xs,\n },\n },\n },\n }),\n breadcrumbsItemCircle: css({\n borderRadius: '50%',\n color: tokens.gray400,\n padding: 0,\n display: 'flex',\n justifyContent: 'center',\n fontSize: '11px',\n width: tokens.spacingL,\n height: tokens.spacingL,\n }),\n breadcrumbsItemEnvMaster: css({\n color: tokens.green400,\n ' svg': {\n ...mobileIcon,\n fill: tokens.green400,\n },\n }),\n breadcrumbsItemEnvNonMaster: css({\n color: tokens.orange400,\n svg: {\n ...mobileIcon,\n fill: tokens.orange400,\n },\n }),\n});\n","import React from 'react';\nimport { NavbarSwitcherItemProps } from './NavbarSwitcherItem';\nimport { CircleIcon } from '../icons';\nimport { EnvironmentAliasIcon, EnvironmentIcon } from '@contentful/f36-icons';\n\nexport type NavbarEnvVariantProps = Pick<NavbarSwitcherItemProps, 'isAlias'>;\n\nexport function NavbarEnvVariant({ isAlias }: NavbarEnvVariantProps) {\n return (\n <>\n <CircleIcon key=\"mobile-icon\" size=\"tiny\" />\n {isAlias ? (\n <EnvironmentAliasIcon key=\"full-icon\" size=\"tiny\" />\n ) : (\n <EnvironmentIcon key=\"full-icon\" size=\"tiny\" />\n )}\n </>\n );\n}\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarHelpStyles } from './NavbarHelp.styles';\nimport { HelpIcon } from '../icons';\nimport {\n Flex,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\n\ntype NavbarHelpOwnProps = CommonProps & {\n children: React.ReactNode;\n};\n\nexport type NavbarHelpProps = PropsWithHTMLElement<\n NavbarHelpOwnProps,\n 'button'\n>;\n\nfunction _NavbarHelp(\n props: ExpandProps<NavbarHelpProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-help-trigger',\n ...otherProps\n } = props;\n const styles = getNavbarHelpStyles();\n\n return (\n <NavbarMenu\n testId=\"cf-ui-navbar-help-menu\"\n trigger={\n <Flex\n aria-label=\"Help Menu\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.root, className)}\n testId={testId}\n >\n <HelpIcon size=\"medium\" variant=\"white\" />\n Help\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarHelp = React.forwardRef(_NavbarHelp);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles, mqs } from '../utils.styles';\n\nexport const getNavbarHelpStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n alignItems: 'center',\n justifyContent: 'center',\n color: tokens.gray300,\n fontSize: 0,\n gap: 0,\n minWidth: tokens.spacingL,\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n [mqs.medium]: {\n fontSize: tokens.fontSizeS,\n gap: tokens.spacing2Xs,\n fontWeight: tokens.fontWeightMedium,\n marginRight: tokens.spacingXs,\n },\n '&:hover, &:hover svg': {\n color: tokens.gray100,\n fill: tokens.gray100,\n },\n '& svg': {\n fill: tokens.gray300,\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarBadgeStyles } from './NavbarBadge.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'div';\n\ntype NavbarBadgeOwnProps = CommonProps & {\n children?: React.ReactNode;\n as?: React.ElementType;\n};\n\nexport type NavbarBadgeProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarBadgeOwnProps, E>;\n\nfunction _NavbarBadge(\n props: NavbarBadgeProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-badge',\n ...otherProps\n } = props;\n const styles = getNavbarBadgeStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.root, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarBadge: PolymorphicComponent<\n ExpandProps<NavbarBadgeOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarBadge);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarBadgeStyles = () => ({\n root: css({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: 'none',\n border: `1px solid ${tokens.purple400}`,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeS,\n lineHeight: tokens.lineHeightS,\n fontWeight: tokens.fontWeightMedium,\n textAlign: 'center',\n padding: `0 ${tokens.spacingXs}`,\n textDecoration: 'none',\n color: `${tokens.purple400}!important`,\n borderRadius: '1.75rem',\n }),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarTopbarItemStyles } from './NavbarTopbarItem.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'button';\n\ntype NavbarTopbarItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n};\n\nexport type NavbarTopbarItemProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarTopbarItemOwnProps, E>;\n\nfunction _NavbarTopbarItem<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n>(props: NavbarTopbarItemProps<E>, ref: React.Ref<any>) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-topbar-item',\n ...otherProps\n } = props;\n const styles = getNavbarTopbarItemStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.root, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarTopbarItem: PolymorphicComponent<\n ExpandProps<NavbarTopbarItemOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarTopbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarTopbarItemStyles = () => ({\n root: css(\n {\n // default button reset styles\n margin: 0,\n background: 'none',\n border: 'none',\n\n cursor: 'pointer',\n display: 'flex',\n gap: tokens.spacing2Xs,\n alignItems: 'center',\n color: tokens.gray300,\n padding: `0 ${tokens.spacing2Xs}`,\n minHeight: tokens.spacingL,\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:hover': {\n color: tokens.gray100,\n },\n svg: {\n fill: 'currentColor',\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentful/f36-navbar",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Forma 36: Navbar component",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsup"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"browserslist": "extends @contentful/browserslist-config",
|
|
32
32
|
"repository": {
|
|
33
33
|
"type": "git",
|
|
34
|
-
"url": "https://github.com/contentful/forma-36"
|
|
34
|
+
"url": "git+https://github.com/contentful/forma-36.git"
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"registry": "https://npm.pkg.github.com/",
|