@contentful/f36-navbar 4.0.1-alpha → 4.0.2-alpha
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 +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +1 -5
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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 Qe=Object.defineProperty,Je=Object.defineProperties;var eo=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var ce=(e,o,t)=>o in e?Qe(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,s=(e,o)=>{for(var t in o||(o={}))le.call(o,t)&&ce(e,t,o[t]);if(G)for(var t of G(o))de.call(o,t)&&ce(e,t,o[t]);return e},p=(e,o)=>Je(e,eo(o));var f=(e,o)=>{var t={};for(var r in e)le.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&G)for(var r of G(e))o.indexOf(r)<0&&de.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)"};var fe=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 to(e,o){let H=e,{children:t,account:r,search:i,switcher:n,help:m,badge:d,bottomRightItems:c,topRightItems:v,contentMaxWidth:y="100%",testId:I="cf-ui-navbar"}=H,L=f(H,["children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId"]),S=fe(y);return h.createElement(Box,p(s({},L),{ref:o,testId:I}),h.createElement(Flex,{className:S.containerTop},h.createElement(Flex,{className:S.containerTopContent,justifyContent:"space-between"},h.createElement(Flex,null,n),h.createElement(Flex,{alignItems:"center",gap:"spacingXs"},v,d,i,m,r))),h.createElement(Flex,{className:S.containerBottom},h.createElement(Flex,{className:S.containerBottomContent,justifyContent:"space-between"},h.createElement(Flex,{as:"nav","aria-label":"Main Navigation",alignItems:"stretch"},t),c&&h.createElement(Flex,null,c))))}var be=h.forwardRef(to);var ge=()=>({root:css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",position:"relative",alignItems:"center",justifyContent:"center",gap:a.spacing2Xs,"&:focus-visible":{boxShadow:a.glowPrimary,outline:"none",borderRadius:"50%"}}),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 ue=()=>({menuList:css({minWidth:"250px"})});var C=e=>{let{trigger:o,children:t,testId:r="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,m=ue();return h.createElement(Menu,{onOpen:i,onClose:n},h.createElement(Menu.Trigger,null,o),h.createElement(Menu.List,{className:m.menuList,testId:r},t))};function io(e,o){let I=e,{children:t,className:r,testId:i="cf-ui-navbar-account-trigger",avatar:n,username:m,hasNotification:d,notificationVariant:c="warning"}=I,v=f(I,["children","className","testId","avatar","username","hasNotification","notificationVariant"]),y=ge();return h.createElement(C,{trigger:h.createElement(Flex,p(s({},v),{as:"button",ref:o,className:cx(y.root,r),testId:i}),h.createElement("img",{src:n,alt:`Avatar for user ${m}`,className:y.avatar}),d?h.createElement("span",{className:y.notificationIcon(c)}):null)},t)}var J=h.forwardRef(io);function ee({ariaLabel:e}){return h.createElement(SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:a.gray800,foregroundColor:a.gray700},h.createElement(SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var Ne=()=>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}}),ye={display:"flex",justifyContent:"center",padding:`10px ${a.spacingS}`,alignItems:"center",background:"none"},Ie=()=>({root:css(ye,{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}`,"&::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"},"&:focus-visible":{boxShadow:`inset ${a.glowPrimary}`,borderRadius:a.borderRadiusMedium},"&: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}}),isActive:Ne(),dropdownIcon:css({paddingLeft:a.spacing2Xs})}),xe=()=>({root:css(ye)});var Pe=()=>({root:css({"&:first-child":{marginRight:a.spacing2Xs},"&:last-child":{marginLeft:a.spacing2Xs},"img&":{borderRadius:a.borderRadiusSmall,maxWidth:a.spacingM,maxHeight:a.spacingM}})});var F=e=>{var i,n;let{icon:o,variant:t}=e,r=Pe();return h.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 Se=generateIcon({name:"CircleIcon",viewBox:"0 0 24 24",path:h.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 Me=generateIcon({name:"ArrowDownIcon",viewBox:"0 0 12 20",path:h.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 we=generateIcon({name:"HelpIcon",viewBox:"0 0 24 24",path:h.createElement(h.Fragment,null,h.createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},h.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"})),h.createElement("defs",null,h.createElement("clipPath",{id:"HelpIcon_svg__a"},h.createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var Ae=generateIcon({name:"SearchIcon",viewBox:"0 0 24 24",path:h.createElement(h.Fragment,null,h.createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},h.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"})),h.createElement("defs",null,h.createElement("clipPath",{id:"SearchIcon_svg__a"},h.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ee=generateIcon({name:"ContentfulLogoIcon",viewBox:"0 0 21 24",path:h.createElement("g",{transform:"translate(4 3)"},h.createElement("path",{fill:"#fae501",d:"M3.3 13.7c-1.2-1.2-2-2.9-2-4.7S2 5.5 3.2 4.3c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0-2 2.2-3.3 5.2-3.3 8.5s1.3 6.3 3.4 8.5c1 1 2.6 1 3.6 0 .9-1.1.9-2.7 0-3.8z"}),h.createElement("path",{fill:"#4fb5e1",d:"M3.3 4.3c1.2-1.3 2.8-2 4.6-2s3.4.8 4.6 1.9c1 1.1 2.6 1.1 3.6 0 1-1 1-2.7 0-3.8C13.9-1.6 11-3 7.8-3S1.7-1.6-.4.5c-1 1-1 2.7 0 3.8 1 .9 2.6.9 3.7 0z"}),h.createElement("path",{fill:"#f05751",d:"M12.4 13.7c-1.2 1.3-2.8 2-4.6 2-1.8 0-3.4-.8-4.6-2-1-1.1-2.6-1.1-3.6 0-1 1-1 2.7 0 3.8 2.1 2.1 5 3.5 8.2 3.5s6.1-1.4 8.2-3.5c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0z"}),h.createElement("ellipse",{cx:1.4,cy:2.4,fill:"#0681b6",rx:2.5,ry:2.6}),h.createElement("ellipse",{cx:1.4,cy:15.6,fill:"#cd4739",rx:2.5,ry:2.6}))});var Io="button";function xo(e,o){let H=e,{as:t=Io,icon:r,title:i,children:n,className:m,isActive:d,testId:c="cf-ui-navbar-item",onOpen:v,onClose:y}=H,I=f(H,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),L=Ie(),S=h.createElement(t,p(s({},I),{ref:o,"data-test-id":c,className:cx(L.root,d&&L.isActive,m)}),r?h.createElement(F,{icon:r,variant:"white"}):null,h.createElement("span",null,i),Ce(e)&&h.createElement(Me,{className:L.dropdownIcon}));return Ce(e)?h.createElement(C,{trigger:S,testId:c,onOpen:v,onClose:y},n):S}var Ce=e=>Boolean(e.children),te=h.forwardRef(xo);var re=({estimatedWidth:e})=>{let o=xe();return h.createElement(SkeletonContainer,{className:o.root,svgWidth:e,svgHeight:40,backgroundColor:a.gray800,foregroundColor:a.gray700},h.createElement(SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:7,radiusX:a.borderRadiusSmall,radiusY:a.borderRadiusSmall}))};var ke=()=>({root:css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var Co="button";function To(e,o){let v=e,{as:t=Co,icon:r,title:i,className:n}=v,m=f(v,["as","icon","title","className"]),d=ke(),c=ko(e);return h.createElement(Menu.Item,p(s({},m),{ref:o,as:t,className:cx(d.root,n)}),r?h.createElement(F,{icon:r,variant:"secondary"}):c&&Re,h.createElement("span",null,i),r&&c?Re:null)}var Re=h.createElement(F,{icon:h.createElement(ExternalLinkIcon,null),variant:"muted"}),ko=e=>e.as==="a"&&e.target==="_blank",ne=h.forwardRef(To);var ae=({ariaLabel:e})=>h.createElement(Menu.Item,null,h.createElement(Flex,{alignItems:"center",gap:a.spacingXs},h.createElement(SkeletonContainer,{svgHeight:16,svgWidth:18},h.createElement(SkeletonImage,{width:16,height:16})),h.createElement(SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},h.createElement(SkeletonBodyText,{numberOfLines:1}))));var _e=()=>({root:css({margin:0,padding:0,background:"none",border:"none",color:a.gray300,cursor:"pointer",fontSize:a.fontSizeS,fontWeight:a.fontWeightMedium,position:"relative","&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:focus-visible":{boxShadow:`0px 0px 0px 2px ${a.colorBlack}, 0px 0px 0px 5px ${a.blue300}`,outline:"none",borderRadius:a.borderRadiusMedium},"&:hover li":{backgroundColor:hexToRGBA(a.colorWhite,.15)}}),breadcrumbs:css({listStyleType:"none",margin:0,padding:0,position:"relative"}),menuIcon:css({display:"none",[g.medium]:{display:"block"}})});function Do(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=_e();return h.createElement(Flex,p(s({},m),{as:"button",ref:o,className:cx(d.root,r),testId:n,alignItems:"center",fullHeight:!0,gap:"spacingXs"}),i||h.createElement(Ee,null),h.createElement(MenuIcon,{className:d.menuIcon,size:"small",variant:"white"}),h.createElement(Flex,{as:"ul",alignItems:"center",className:d.breadcrumbs},t))}var se=h.forwardRef(Do);var pe=({estimatedWidth:e})=>h.createElement(SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:a.gray800,foregroundColor:a.gray700},h.createElement(SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var ze=()=>({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}`,"& svg":{fill:a.gray300,transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`},"&:hover, & svg:hover":{color:a.gray100,fill:a.gray100},"&:focus-visible":{boxShadow:a.glowPrimary,outline:"none",borderRadius:a.borderRadiusMedium}})});function Uo(e,o){let m=e,{className:t,testId:r="cf-ui-navbar-search"}=m,i=f(m,["className","testId"]),n=ze();return h.createElement(Flex,p(s({"aria-label":"Quick Search"},i),{as:"button",ref:o,className:cx(n.root,t),testId:r}),h.createElement(Ae,{size:"medium",variant:"white"}))}var Fe=h.forwardRef(Uo);var De={display:"none","&:first-child":{display:"block"},[g.medium]:{display:"block","&:first-child":{display:"none"}}},Oe=()=>({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 $e({isAlias:e}){return h.createElement(h.Fragment,null,h.createElement(Se,{key:"mobile-icon",size:"tiny"}),e?h.createElement(EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):h.createElement(EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function Qo(e,o){let I=e,{children:t,isCircle:r,className:i,envVariant:n,isAlias:m,testId:d="cf-ui-navbar-switcher-item"}=I,c=f(I,["children","isCircle","className","envVariant","isAlias","testId"]),v=Oe(),y=cx(v.breadcrumbsItem,i,{[v.breadcrumbsItemCircle]:r,[v.breadcrumbsItemEnvMaster]:n==="master",[v.breadcrumbsItemEnvNonMaster]:n==="non-master"});return h.createElement("li",p(s({},c),{ref:o,className:y,"data-test-id":d}),h.createElement(Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&h.createElement($e,{isAlias:m}),h.createElement("span",null,t)))}var Ge=h.forwardRef(Qo);var Ve=()=>({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}`,[g.medium]:{fontSize:a.fontSizeS,gap:a.spacing2Xs,fontWeight:a.fontWeightMedium,marginRight:a.spacingXs},"&:focus-visible":{boxShadow:a.glowPrimary,outline:"none",borderRadius:a.borderRadiusMedium},"&:hover, &:hover svg":{color:a.gray100,fill:a.gray100},"& svg":{fill:a.gray300,transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`}})});function tt(e,o){let d=e,{children:t,className:r,testId:i="cf-ui-navbar-help-trigger"}=d,n=f(d,["children","className","testId"]),m=Ve();return h.createElement(C,{testId:"cf-ui-navbar-help-menu",trigger:h.createElement(Flex,p(s({"aria-label":"Help Menu"},n),{as:"button",ref:o,className:cx(m.root,r),testId:i}),h.createElement(we,{size:"medium",variant:"white"}),"Help")},t)}var Xe=h.forwardRef(tt);var Ue=()=>({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 at="div";function it(e,o){let c=e,{as:t=at,children:r,className:i,testId:n="cf-ui-navbar-badge"}=c,m=f(c,["as","children","className","testId"]),d=Ue();return h.createElement(t,p(s({},m),{ref:o,className:cx(d.root,i),"data-test-id":n}),r)}var qe=h.forwardRef(it);var Ze=()=>({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,"&:hover":{color:a.gray100},"&:focus-visible":{boxShadow:a.glowPrimary,outline:"none",borderRadius:a.borderRadiusMedium},svg:{fill:"currentColor"}})});var mt="button";function ct(e,o){let c=e,{as:t=mt,children:r,className:i,testId:n="cf-ui-navbar-topbar-item"}=c,m=f(c,["as","children","className","testId"]),d=Ze();return h.createElement(t,p(s({},m),{ref:o,className:cx(d.root,i),"data-test-id":n}),r)}var Ke=h.forwardRef(ct);var b=be;b.Item=te;b.ItemSkeleton=re;b.MenuItem=ne;b.MenuItemSkeleton=ae;b.MenuDivider=MenuDivider;b.MenuSectionTitle=MenuSectionTitle;b.Switcher=se;b.SwitcherSkeleton=pe;b.SwitcherItem=Ge;b.Search=Fe;b.Help=Xe;b.Account=J;b.AccountSkeleton=ee;b.Badge=qe;b.TopbarItem=Ke;
|
|
11
|
+
var Je=Object.defineProperty,Ke=Object.defineProperties;var eo=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var ce=(e,o,t)=>o in e?Je(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,s=(e,o)=>{for(var t in o||(o={}))le.call(o,t)&&ce(e,t,o[t]);if(G)for(var t of G(o))de.call(o,t)&&ce(e,t,o[t]);return e},p=(e,o)=>Ke(e,eo(o));var f=(e,o)=>{var t={};for(var r in e)le.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&G)for(var r of G(e))o.indexOf(r)<0&&de.call(e,r)&&(t[r]=e[r]);return t};var u={medium:"@media (min-width: 480px)",large:"@media (min-width: 768px)",xlarge:"@media (min-width: 1920px)"};var fe=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",[u.medium]:{padding:`${a.spacingXs} ${a.spacingM}`}}),containerBottomContent:css({width:"100%",maxWidth:e,padding:0,minHeight:"2.5rem",overflow:"auto",[u.medium]:{padding:`0 ${a.spacing2Xs}`}})});function to(e,o){let H=e,{children:t,account:r,search:i,switcher:n,help:m,badge:d,bottomRightItems:c,topRightItems:v,contentMaxWidth:y="100%",testId:I="cf-ui-navbar"}=H,L=f(H,["children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId"]),S=fe(y);return h.createElement(Box,p(s({},L),{ref:o,testId:I}),h.createElement(Flex,{className:S.containerTop},h.createElement(Flex,{className:S.containerTopContent,justifyContent:"space-between"},h.createElement(Flex,null,n),h.createElement(Flex,{alignItems:"center",gap:"spacingXs"},v,d,i,m,r))),h.createElement(Flex,{className:S.containerBottom},h.createElement(Flex,{className:S.containerBottomContent,justifyContent:"space-between"},h.createElement(Flex,{as:"nav","aria-label":"Main Navigation",alignItems:"stretch"},t),c&&h.createElement(Flex,null,c))))}var be=h.forwardRef(to);var ge=()=>({root:css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",position:"relative",alignItems:"center",justifyContent:"center",gap:a.spacing2Xs,"&:focus-visible":{boxShadow:a.glowPrimary,outline:"none",borderRadius:"50%"}}),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 ue=()=>({menuList:css({minWidth:"250px"})});var C=e=>{let{trigger:o,children:t,testId:r="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,m=ue();return h.createElement(Menu,{onOpen:i,onClose:n},h.createElement(Menu.Trigger,null,o),h.createElement(Menu.List,{className:m.menuList,testId:r},t))};function io(e,o){let I=e,{children:t,className:r,testId:i="cf-ui-navbar-account-trigger",avatar:n,username:m,hasNotification:d,notificationVariant:c="warning"}=I,v=f(I,["children","className","testId","avatar","username","hasNotification","notificationVariant"]),y=ge();return h.createElement(C,{trigger:h.createElement(Flex,p(s({},v),{as:"button",ref:o,className:cx(y.root,r),testId:i}),h.createElement("img",{src:n,alt:`Avatar for user ${m}`,className:y.avatar}),d?h.createElement("span",{className:y.notificationIcon(c)}):null)},t)}var K=h.forwardRef(io);function ee({ariaLabel:e}){return h.createElement(SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:a.gray800,foregroundColor:a.gray700},h.createElement(SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var Ne=()=>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}}),ye={display:"flex",justifyContent:"center",padding:`10px ${a.spacingS}`,alignItems:"center",background:"none"},Ie=()=>({root:css(ye,{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}`,"&::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"},"&:focus-visible":{boxShadow:`inset ${a.glowPrimary}`,borderRadius:a.borderRadiusMedium},"&: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",[u.large]:{display:"block"}}},"& > svg, & > span":{zIndex:a.zIndexDefault}}),isActive:Ne(),dropdownIcon:css({paddingLeft:a.spacing2Xs})}),xe=()=>({root:css(ye)});var Pe=()=>({root:css({"&:first-child":{marginRight:a.spacing2Xs},"&:last-child":{marginLeft:a.spacing2Xs},"img&":{borderRadius:a.borderRadiusSmall,maxWidth:a.spacingM,maxHeight:a.spacingM}})});var F=e=>{var i,n;let{icon:o,variant:t}=e,r=Pe();return h.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 Se=generateIcon({name:"CircleIcon",viewBox:"0 0 24 24",path:h.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 Me=generateIcon({name:"ArrowDownIcon",viewBox:"0 0 12 20",path:h.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 we=generateIcon({name:"HelpIcon",viewBox:"0 0 24 24",path:h.createElement(h.Fragment,null,h.createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},h.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"})),h.createElement("defs",null,h.createElement("clipPath",{id:"HelpIcon_svg__a"},h.createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var Ee=generateIcon({name:"SearchIcon",viewBox:"0 0 24 24",path:h.createElement(h.Fragment,null,h.createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},h.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"})),h.createElement("defs",null,h.createElement("clipPath",{id:"SearchIcon_svg__a"},h.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ae=generateIcon({name:"ContentfulLogoIcon",viewBox:"0 0 21 24",path:h.createElement("g",{transform:"translate(4 3)"},h.createElement("path",{fill:"#fae501",d:"M3.3 13.7c-1.2-1.2-2-2.9-2-4.7S2 5.5 3.2 4.3c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0-2 2.2-3.3 5.2-3.3 8.5s1.3 6.3 3.4 8.5c1 1 2.6 1 3.6 0 .9-1.1.9-2.7 0-3.8z"}),h.createElement("path",{fill:"#4fb5e1",d:"M3.3 4.3c1.2-1.3 2.8-2 4.6-2s3.4.8 4.6 1.9c1 1.1 2.6 1.1 3.6 0 1-1 1-2.7 0-3.8C13.9-1.6 11-3 7.8-3S1.7-1.6-.4.5c-1 1-1 2.7 0 3.8 1 .9 2.6.9 3.7 0z"}),h.createElement("path",{fill:"#f05751",d:"M12.4 13.7c-1.2 1.3-2.8 2-4.6 2-1.8 0-3.4-.8-4.6-2-1-1.1-2.6-1.1-3.6 0-1 1-1 2.7 0 3.8 2.1 2.1 5 3.5 8.2 3.5s6.1-1.4 8.2-3.5c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0z"}),h.createElement("ellipse",{cx:1.4,cy:2.4,fill:"#0681b6",rx:2.5,ry:2.6}),h.createElement("ellipse",{cx:1.4,cy:15.6,fill:"#cd4739",rx:2.5,ry:2.6}))});var Io="button";function xo(e,o){let H=e,{as:t=Io,icon:r,title:i,children:n,className:m,isActive:d,testId:c="cf-ui-navbar-item",onOpen:v,onClose:y}=H,I=f(H,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),L=Ie(),S=h.createElement(t,p(s({},I),{ref:o,"data-test-id":c,className:cx(L.root,d&&L.isActive,m)}),r?h.createElement(F,{icon:r,variant:"white"}):null,h.createElement("span",null,i),Ce(e)&&h.createElement(Me,{className:L.dropdownIcon}));return Ce(e)?h.createElement(C,{trigger:S,testId:c,onOpen:v,onClose:y},n):S}var Ce=e=>Boolean(e.children),te=h.forwardRef(xo);var re=({estimatedWidth:e})=>{let o=xe();return h.createElement(SkeletonContainer,{className:o.root,svgWidth:e,svgHeight:40,backgroundColor:a.gray800,foregroundColor:a.gray700},h.createElement(SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:7,radiusX:a.borderRadiusSmall,radiusY:a.borderRadiusSmall}))};var Te=()=>({root:css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var Co="button";function ko(e,o){let v=e,{as:t=Co,icon:r,title:i,className:n}=v,m=f(v,["as","icon","title","className"]),d=Te(),c=To(e);return h.createElement(Menu.Item,p(s({},m),{ref:o,as:t,className:cx(d.root,n)}),r?h.createElement(F,{icon:r,variant:"secondary"}):c&&Re,h.createElement("span",null,i),r&&c?Re:null)}var Re=h.createElement(F,{icon:h.createElement(ExternalLinkIcon,null),variant:"muted"}),To=e=>e.as==="a"&&e.target==="_blank",ne=h.forwardRef(ko);var ae=({ariaLabel:e})=>h.createElement(Menu.Item,null,h.createElement(Flex,{alignItems:"center",gap:a.spacingXs},h.createElement(SkeletonContainer,{svgHeight:16,svgWidth:18},h.createElement(SkeletonImage,{width:16,height:16})),h.createElement(SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},h.createElement(SkeletonBodyText,{numberOfLines:1}))));var _e=()=>({root:css({margin:0,padding:0,background:"none",border:"none",color:a.gray300,cursor:"pointer",fontSize:a.fontSizeS,fontWeight:a.fontWeightMedium,position:"relative","&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:focus-visible":{boxShadow:`0px 0px 0px 2px ${a.colorBlack}, 0px 0px 0px 5px ${a.blue300}`,outline:"none",borderRadius:a.borderRadiusMedium},"&:hover li":{backgroundColor:hexToRGBA(a.colorWhite,.15)}}),breadcrumbs:css({listStyleType:"none",margin:0,padding:0,position:"relative"}),menuIcon:css({display:"none",[u.medium]:{display:"block"}})});function Do(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=_e();return h.createElement(Flex,p(s({},m),{as:"button",ref:o,className:cx(d.root,r),testId:n,alignItems:"center",fullHeight:!0,gap:"spacingXs"}),i||h.createElement(Ae,null),h.createElement(MenuIcon,{className:d.menuIcon,size:"small",variant:"white"}),h.createElement(Flex,{as:"ul",alignItems:"center",className:d.breadcrumbs},t))}var se=h.forwardRef(Do);var pe=({estimatedWidth:e})=>h.createElement(SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:a.gray800,foregroundColor:a.gray700},h.createElement(SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var ze=()=>({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}`,"& svg":{fill:a.gray300,transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`},"&:hover, & svg:hover":{color:a.gray100,fill:a.gray100},"&:focus-visible":{boxShadow:a.glowPrimary,outline:"none",borderRadius:a.borderRadiusMedium}})});function Uo(e,o){let m=e,{className:t,testId:r="cf-ui-navbar-search"}=m,i=f(m,["className","testId"]),n=ze();return h.createElement(Flex,p(s({"aria-label":"Quick Search"},i),{as:"button",ref:o,className:cx(n.root,t),testId:r}),h.createElement(Ee,{size:"medium",variant:"white"}))}var Fe=h.forwardRef(Uo);var De={display:"none","&:first-child":{display:"block"},[u.medium]:{display:"block","&:first-child":{display:"none"}}},Oe=()=>({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",[u.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",[u.large]:{maxWidth:"100%"}},"> div":{[u.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 $e({isAlias:e}){return h.createElement(h.Fragment,null,h.createElement(Se,{key:"mobile-icon",size:"tiny"}),e?h.createElement(EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):h.createElement(EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function Jo(e,o){let I=e,{children:t,isCircle:r,className:i,envVariant:n,isAlias:m,testId:d="cf-ui-navbar-switcher-item"}=I,c=f(I,["children","isCircle","className","envVariant","isAlias","testId"]),v=Oe(),y=cx(v.breadcrumbsItem,i,{[v.breadcrumbsItemCircle]:r,[v.breadcrumbsItemEnvMaster]:n==="master",[v.breadcrumbsItemEnvNonMaster]:n==="non-master"});return h.createElement("li",p(s({},c),{ref:o,className:y,"data-test-id":d}),h.createElement(Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&h.createElement($e,{isAlias:m}),h.createElement("span",null,t)))}var Ge=h.forwardRef(Jo);var Ve=()=>({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}`,[u.medium]:{fontSize:a.fontSizeS,gap:a.spacing2Xs,fontWeight:a.fontWeightMedium,marginRight:a.spacingXs},"&:focus-visible":{boxShadow:a.glowPrimary,outline:"none",borderRadius:a.borderRadiusMedium},"&:hover, &:hover svg":{color:a.gray100,fill:a.gray100},"& svg":{fill:a.gray300,transition:`fill ${a.transitionDurationShort} ${a.transitionEasingCubicBezier}`}})});function tt(e,o){let d=e,{children:t,className:r,testId:i="cf-ui-navbar-help-trigger"}=d,n=f(d,["children","className","testId"]),m=Ve();return h.createElement(C,{testId:"cf-ui-navbar-help-menu",trigger:h.createElement(Flex,p(s({"aria-label":"Help Menu"},n),{as:"button",ref:o,className:cx(m.root,r),testId:i}),h.createElement(we,{size:"medium",variant:"white"}),"Help")},t)}var Xe=h.forwardRef(tt);var Ue=()=>({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 at="div";function it(e,o){let c=e,{as:t=at,children:r,className:i,testId:n="cf-ui-navbar-badge"}=c,m=f(c,["as","children","className","testId"]),d=Ue();return h.createElement(t,p(s({},m),{ref:o,className:cx(d.root,i),"data-test-id":n}),r)}var Ze=h.forwardRef(it);var qe=()=>({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,"&:hover":{color:a.gray100},"&:focus-visible":{boxShadow:a.glowPrimary,outline:"none",borderRadius:a.borderRadiusMedium},svg:{fill:"currentColor"}})});var mt="button";function ct(e,o){let c=e,{as:t=mt,children:r,className:i,testId:n="cf-ui-navbar-topbar-item"}=c,m=f(c,["as","children","className","testId"]),d=qe();return h.createElement(t,p(s({},m),{ref:o,className:cx(d.root,i),"data-test-id":n}),r)}var Qe=h.forwardRef(ct);var b=be;b.Item=te;b.ItemSkeleton=re;b.MenuItem=ne;b.MenuItemSkeleton=ae;b.MenuDivider=MenuDivider;b.MenuSectionTitle=MenuSectionTitle;b.Switcher=se;b.SwitcherSkeleton=pe;b.SwitcherItem=Ge;b.Search=Fe;b.Help=Xe;b.Account=K;b.AccountSkeleton=ee;b.Badge=Ze;b.TopbarItem=Qe;
|
|
12
12
|
|
|
13
|
-
export { b as Navbar, Ne as getNavbarItemActiveStyles
|
|
13
|
+
export { b as Navbar, Ne as getNavbarItemActiveStyles };
|
|
14
14
|
//# sourceMappingURL=index.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","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\nexport const NAVBAR_FALLBACK_HEIGHT = 81;\n","type 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","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';\n\nexport const getNavbarAccountStyles = () => ({\n root: css({\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\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: '50%',\n },\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 { 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(commonItemStyles, {\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\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 '&:focus-visible': {\n boxShadow: `inset ${tokens.glowPrimary}`,\n borderRadius: tokens.borderRadiusMedium,\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 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 21 24',\n path: (\n <g transform=\"translate(4 3)\">\n <path\n fill=\"#fae501\"\n d=\"M3.3 13.7c-1.2-1.2-2-2.9-2-4.7S2 5.5 3.2 4.3c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0-2 2.2-3.3 5.2-3.3 8.5s1.3 6.3 3.4 8.5c1 1 2.6 1 3.6 0 .9-1.1.9-2.7 0-3.8z\"\n />\n <path\n fill=\"#4fb5e1\"\n d=\"M3.3 4.3c1.2-1.3 2.8-2 4.6-2s3.4.8 4.6 1.9c1 1.1 2.6 1.1 3.6 0 1-1 1-2.7 0-3.8C13.9-1.6 11-3 7.8-3S1.7-1.6-.4.5c-1 1-1 2.7 0 3.8 1 .9 2.6.9 3.7 0z\"\n />\n <path\n fill=\"#f05751\"\n d=\"M12.4 13.7c-1.2 1.3-2.8 2-4.6 2-1.8 0-3.4-.8-4.6-2-1-1.1-2.6-1.1-3.6 0-1 1-1 2.7 0 3.8 2.1 2.1 5 3.5 8.2 3.5s6.1-1.4 8.2-3.5c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0z\"\n />\n <ellipse cx={1.4} cy={2.4} fill=\"#0681b6\" rx={2.5} ry={2.6} />\n <ellipse cx={1.4} cy={15.6} fill=\"#cd4739\" rx={2.5} ry={2.6} />\n </g>\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 { mqs } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n root: css({\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 '&: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 '&:focus-visible': {\n boxShadow: `0px 0px 0px 2px ${tokens.colorBlack}, 0px 0px 0px 5px ${tokens.blue300}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\n '&:hover li': {\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.15),\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 CommonProps,\n ExpandProps,\n Flex,\n 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';\n\nexport const getNavbarSearchStyles = () => ({\n root: css({\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 '& 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 '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\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 { mqs } from '../utils.styles';\n\nexport const getNavbarHelpStyles = () => ({\n root: css({\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\n [mqs.medium]: {\n fontSize: tokens.fontSizeS,\n gap: tokens.spacing2Xs,\n fontWeight: tokens.fontWeightMedium,\n marginRight: tokens.spacingXs,\n },\n\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\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});\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';\n\nexport const getNavbarTopbarItemStyles = () => ({\n root: css({\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 '&:hover': {\n color: tokens.gray100,\n },\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\n svg: {\n fill: 'currentColor',\n },\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","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","type 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","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';\n\nexport const getNavbarAccountStyles = () => ({\n root: css({\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\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: '50%',\n },\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 { 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(commonItemStyles, {\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\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 '&:focus-visible': {\n boxShadow: `inset ${tokens.glowPrimary}`,\n borderRadius: tokens.borderRadiusMedium,\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 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 21 24',\n path: (\n <g transform=\"translate(4 3)\">\n <path\n fill=\"#fae501\"\n d=\"M3.3 13.7c-1.2-1.2-2-2.9-2-4.7S2 5.5 3.2 4.3c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0-2 2.2-3.3 5.2-3.3 8.5s1.3 6.3 3.4 8.5c1 1 2.6 1 3.6 0 .9-1.1.9-2.7 0-3.8z\"\n />\n <path\n fill=\"#4fb5e1\"\n d=\"M3.3 4.3c1.2-1.3 2.8-2 4.6-2s3.4.8 4.6 1.9c1 1.1 2.6 1.1 3.6 0 1-1 1-2.7 0-3.8C13.9-1.6 11-3 7.8-3S1.7-1.6-.4.5c-1 1-1 2.7 0 3.8 1 .9 2.6.9 3.7 0z\"\n />\n <path\n fill=\"#f05751\"\n d=\"M12.4 13.7c-1.2 1.3-2.8 2-4.6 2-1.8 0-3.4-.8-4.6-2-1-1.1-2.6-1.1-3.6 0-1 1-1 2.7 0 3.8 2.1 2.1 5 3.5 8.2 3.5s6.1-1.4 8.2-3.5c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0z\"\n />\n <ellipse cx={1.4} cy={2.4} fill=\"#0681b6\" rx={2.5} ry={2.6} />\n <ellipse cx={1.4} cy={15.6} fill=\"#cd4739\" rx={2.5} ry={2.6} />\n </g>\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 { mqs } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n root: css({\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 '&: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 '&:focus-visible': {\n boxShadow: `0px 0px 0px 2px ${tokens.colorBlack}, 0px 0px 0px 5px ${tokens.blue300}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\n '&:hover li': {\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.15),\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 CommonProps,\n ExpandProps,\n Flex,\n 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';\n\nexport const getNavbarSearchStyles = () => ({\n root: css({\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 '& 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 '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\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 { mqs } from '../utils.styles';\n\nexport const getNavbarHelpStyles = () => ({\n root: css({\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\n [mqs.medium]: {\n fontSize: tokens.fontSizeS,\n gap: tokens.spacing2Xs,\n fontWeight: tokens.fontWeightMedium,\n marginRight: tokens.spacingXs,\n },\n\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\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});\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';\n\nexport const getNavbarTopbarItemStyles = () => ({\n root: css({\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 '&:hover': {\n color: tokens.gray100,\n },\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\n svg: {\n fill: 'currentColor',\n },\n }),\n});\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -170,8 +170,4 @@ declare const Navbar: CompoundNavbar;
|
|
|
170
170
|
|
|
171
171
|
declare const getNavbarItemActiveStyles: () => string;
|
|
172
172
|
|
|
173
|
-
|
|
174
|
-
declare type mediaqueries = Record<screens, string>;
|
|
175
|
-
declare const mqs: mediaqueries;
|
|
176
|
-
|
|
177
|
-
export { Navbar, NavbarProps, getNavbarItemActiveStyles, mqs };
|
|
173
|
+
export { Navbar, NavbarProps, getNavbarItemActiveStyles };
|
package/dist/index.js
CHANGED
|
@@ -17,9 +17,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
17
17
|
var h__default = /*#__PURE__*/_interopDefaultLegacy(h);
|
|
18
18
|
var a__default = /*#__PURE__*/_interopDefaultLegacy(a);
|
|
19
19
|
|
|
20
|
-
var Qe=Object.defineProperty,Je=Object.defineProperties;var eo=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var ce=(e,o,t)=>o in e?Qe(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,s=(e,o)=>{for(var t in o||(o={}))le.call(o,t)&&ce(e,t,o[t]);if(G)for(var t of G(o))de.call(o,t)&&ce(e,t,o[t]);return e},p=(e,o)=>Je(e,eo(o));var f=(e,o)=>{var t={};for(var r in e)le.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&G)for(var r of G(e))o.indexOf(r)<0&&de.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)"};var fe=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 to(e,o){let H=e,{children:t,account:r,search:i,switcher:n,help:m,badge:d,bottomRightItems:c,topRightItems:v,contentMaxWidth:y="100%",testId:I="cf-ui-navbar"}=H,L=f(H,["children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId"]),S=fe(y);return h__default["default"].createElement(f36Core.Box,p(s({},L),{ref:o,testId:I}),h__default["default"].createElement(f36Core.Flex,{className:S.containerTop},h__default["default"].createElement(f36Core.Flex,{className:S.containerTopContent,justifyContent:"space-between"},h__default["default"].createElement(f36Core.Flex,null,n),h__default["default"].createElement(f36Core.Flex,{alignItems:"center",gap:"spacingXs"},v,d,i,m,r))),h__default["default"].createElement(f36Core.Flex,{className:S.containerBottom},h__default["default"].createElement(f36Core.Flex,{className:S.containerBottomContent,justifyContent:"space-between"},h__default["default"].createElement(f36Core.Flex,{as:"nav","aria-label":"Main Navigation",alignItems:"stretch"},t),c&&h__default["default"].createElement(f36Core.Flex,null,c))))}var be=h__default["default"].forwardRef(to);var ge=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",position:"relative",alignItems:"center",justifyContent:"center",gap:a__default["default"].spacing2Xs,"&:focus-visible":{boxShadow:a__default["default"].glowPrimary,outline:"none",borderRadius:"50%"}}),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 ue=()=>({menuList:emotion.css({minWidth:"250px"})});var C=e=>{let{trigger:o,children:t,testId:r="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,m=ue();return h__default["default"].createElement(f36Menu.Menu,{onOpen:i,onClose:n},h__default["default"].createElement(f36Menu.Menu.Trigger,null,o),h__default["default"].createElement(f36Menu.Menu.List,{className:m.menuList,testId:r},t))};function io(e,o){let I=e,{children:t,className:r,testId:i="cf-ui-navbar-account-trigger",avatar:n,username:m,hasNotification:d,notificationVariant:c="warning"}=I,v=f(I,["children","className","testId","avatar","username","hasNotification","notificationVariant"]),y=ge();return h__default["default"].createElement(C,{trigger:h__default["default"].createElement(f36Core.Flex,p(s({},v),{as:"button",ref:o,className:emotion.cx(y.root,r),testId:i}),h__default["default"].createElement("img",{src:n,alt:`Avatar for user ${m}`,className:y.avatar}),d?h__default["default"].createElement("span",{className:y.notificationIcon(c)}):null)},t)}var J=h__default["default"].forwardRef(io);function ee({ariaLabel:e}){return h__default["default"].createElement(f36Skeleton.SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:a__default["default"].gray800,foregroundColor:a__default["default"].gray700},h__default["default"].createElement(f36Skeleton.SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var Ne=()=>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}}),ye={display:"flex",justifyContent:"center",padding:`10px ${a__default["default"].spacingS}`,alignItems:"center",background:"none"},Ie=()=>({root:emotion.css(ye,{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}`,"&::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"},"&:focus-visible":{boxShadow:`inset ${a__default["default"].glowPrimary}`,borderRadius:a__default["default"].borderRadiusMedium},"&: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}}),isActive:Ne(),dropdownIcon:emotion.css({paddingLeft:a__default["default"].spacing2Xs})}),xe=()=>({root:emotion.css(ye)});var Pe=()=>({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 F=e=>{var i,n;let{icon:o,variant:t}=e,r=Pe();return h__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 Se=f36Icon.generateIcon({name:"CircleIcon",viewBox:"0 0 24 24",path:h__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 Me=f36Icon.generateIcon({name:"ArrowDownIcon",viewBox:"0 0 12 20",path:h__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 we=f36Icon.generateIcon({name:"HelpIcon",viewBox:"0 0 24 24",path:h__default["default"].createElement(h__default["default"].Fragment,null,h__default["default"].createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},h__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"})),h__default["default"].createElement("defs",null,h__default["default"].createElement("clipPath",{id:"HelpIcon_svg__a"},h__default["default"].createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var Ae=f36Icon.generateIcon({name:"SearchIcon",viewBox:"0 0 24 24",path:h__default["default"].createElement(h__default["default"].Fragment,null,h__default["default"].createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},h__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"})),h__default["default"].createElement("defs",null,h__default["default"].createElement("clipPath",{id:"SearchIcon_svg__a"},h__default["default"].createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ee=f36Icon.generateIcon({name:"ContentfulLogoIcon",viewBox:"0 0 21 24",path:h__default["default"].createElement("g",{transform:"translate(4 3)"},h__default["default"].createElement("path",{fill:"#fae501",d:"M3.3 13.7c-1.2-1.2-2-2.9-2-4.7S2 5.5 3.2 4.3c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0-2 2.2-3.3 5.2-3.3 8.5s1.3 6.3 3.4 8.5c1 1 2.6 1 3.6 0 .9-1.1.9-2.7 0-3.8z"}),h__default["default"].createElement("path",{fill:"#4fb5e1",d:"M3.3 4.3c1.2-1.3 2.8-2 4.6-2s3.4.8 4.6 1.9c1 1.1 2.6 1.1 3.6 0 1-1 1-2.7 0-3.8C13.9-1.6 11-3 7.8-3S1.7-1.6-.4.5c-1 1-1 2.7 0 3.8 1 .9 2.6.9 3.7 0z"}),h__default["default"].createElement("path",{fill:"#f05751",d:"M12.4 13.7c-1.2 1.3-2.8 2-4.6 2-1.8 0-3.4-.8-4.6-2-1-1.1-2.6-1.1-3.6 0-1 1-1 2.7 0 3.8 2.1 2.1 5 3.5 8.2 3.5s6.1-1.4 8.2-3.5c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0z"}),h__default["default"].createElement("ellipse",{cx:1.4,cy:2.4,fill:"#0681b6",rx:2.5,ry:2.6}),h__default["default"].createElement("ellipse",{cx:1.4,cy:15.6,fill:"#cd4739",rx:2.5,ry:2.6}))});var Io="button";function xo(e,o){let H=e,{as:t=Io,icon:r,title:i,children:n,className:m,isActive:d,testId:c="cf-ui-navbar-item",onOpen:v,onClose:y}=H,I=f(H,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),L=Ie(),S=h__default["default"].createElement(t,p(s({},I),{ref:o,"data-test-id":c,className:emotion.cx(L.root,d&&L.isActive,m)}),r?h__default["default"].createElement(F,{icon:r,variant:"white"}):null,h__default["default"].createElement("span",null,i),Ce(e)&&h__default["default"].createElement(Me,{className:L.dropdownIcon}));return Ce(e)?h__default["default"].createElement(C,{trigger:S,testId:c,onOpen:v,onClose:y},n):S}var Ce=e=>Boolean(e.children),te=h__default["default"].forwardRef(xo);var re=({estimatedWidth:e})=>{let o=xe();return h__default["default"].createElement(f36Skeleton.SkeletonContainer,{className:o.root,svgWidth:e,svgHeight:40,backgroundColor:a__default["default"].gray800,foregroundColor:a__default["default"].gray700},h__default["default"].createElement(f36Skeleton.SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:7,radiusX:a__default["default"].borderRadiusSmall,radiusY:a__default["default"].borderRadiusSmall}))};var ke=()=>({root:emotion.css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var Co="button";function To(e,o){let v=e,{as:t=Co,icon:r,title:i,className:n}=v,m=f(v,["as","icon","title","className"]),d=ke(),c=ko(e);return h__default["default"].createElement(f36Menu.Menu.Item,p(s({},m),{ref:o,as:t,className:emotion.cx(d.root,n)}),r?h__default["default"].createElement(F,{icon:r,variant:"secondary"}):c&&Re,h__default["default"].createElement("span",null,i),r&&c?Re:null)}var Re=h__default["default"].createElement(F,{icon:h__default["default"].createElement(f36Icons.ExternalLinkIcon,null),variant:"muted"}),ko=e=>e.as==="a"&&e.target==="_blank",ne=h__default["default"].forwardRef(To);var ae=({ariaLabel:e})=>h__default["default"].createElement(f36Menu.Menu.Item,null,h__default["default"].createElement(f36Core.Flex,{alignItems:"center",gap:a__default["default"].spacingXs},h__default["default"].createElement(f36Skeleton.SkeletonContainer,{svgHeight:16,svgWidth:18},h__default["default"].createElement(f36Skeleton.SkeletonImage,{width:16,height:16})),h__default["default"].createElement(f36Skeleton.SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},h__default["default"].createElement(f36Skeleton.SkeletonBodyText,{numberOfLines:1}))));var _e=()=>({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","&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:focus-visible":{boxShadow:`0px 0px 0px 2px ${a__default["default"].colorBlack}, 0px 0px 0px 5px ${a__default["default"].blue300}`,outline:"none",borderRadius:a__default["default"].borderRadiusMedium},"&:hover li":{backgroundColor:f36Utils.hexToRGBA(a__default["default"].colorWhite,.15)}}),breadcrumbs:emotion.css({listStyleType:"none",margin:0,padding:0,position:"relative"}),menuIcon:emotion.css({display:"none",[g.medium]:{display:"block"}})});function Do(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=_e();return h__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||h__default["default"].createElement(Ee,null),h__default["default"].createElement(f36Icons.MenuIcon,{className:d.menuIcon,size:"small",variant:"white"}),h__default["default"].createElement(f36Core.Flex,{as:"ul",alignItems:"center",className:d.breadcrumbs},t))}var se=h__default["default"].forwardRef(Do);var pe=({estimatedWidth:e})=>h__default["default"].createElement(f36Skeleton.SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:a__default["default"].gray800,foregroundColor:a__default["default"].gray700},h__default["default"].createElement(f36Skeleton.SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var ze=()=>({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}`,"& 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},"&:focus-visible":{boxShadow:a__default["default"].glowPrimary,outline:"none",borderRadius:a__default["default"].borderRadiusMedium}})});function Uo(e,o){let m=e,{className:t,testId:r="cf-ui-navbar-search"}=m,i=f(m,["className","testId"]),n=ze();return h__default["default"].createElement(f36Core.Flex,p(s({"aria-label":"Quick Search"},i),{as:"button",ref:o,className:emotion.cx(n.root,t),testId:r}),h__default["default"].createElement(Ae,{size:"medium",variant:"white"}))}var Fe=h__default["default"].forwardRef(Uo);var De={display:"none","&:first-child":{display:"block"},[g.medium]:{display:"block","&:first-child":{display:"none"}}},Oe=()=>({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 $e({isAlias:e}){return h__default["default"].createElement(h__default["default"].Fragment,null,h__default["default"].createElement(Se,{key:"mobile-icon",size:"tiny"}),e?h__default["default"].createElement(f36Icons.EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):h__default["default"].createElement(f36Icons.EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function Qo(e,o){let I=e,{children:t,isCircle:r,className:i,envVariant:n,isAlias:m,testId:d="cf-ui-navbar-switcher-item"}=I,c=f(I,["children","isCircle","className","envVariant","isAlias","testId"]),v=Oe(),y=emotion.cx(v.breadcrumbsItem,i,{[v.breadcrumbsItemCircle]:r,[v.breadcrumbsItemEnvMaster]:n==="master",[v.breadcrumbsItemEnvNonMaster]:n==="non-master"});return h__default["default"].createElement("li",p(s({},c),{ref:o,className:y,"data-test-id":d}),h__default["default"].createElement(f36Core.Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&h__default["default"].createElement($e,{isAlias:m}),h__default["default"].createElement("span",null,t)))}var Ge=h__default["default"].forwardRef(Qo);var Ve=()=>({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}`,[g.medium]:{fontSize:a__default["default"].fontSizeS,gap:a__default["default"].spacing2Xs,fontWeight:a__default["default"].fontWeightMedium,marginRight:a__default["default"].spacingXs},"&:focus-visible":{boxShadow:a__default["default"].glowPrimary,outline:"none",borderRadius:a__default["default"].borderRadiusMedium},"&: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}`}})});function tt(e,o){let d=e,{children:t,className:r,testId:i="cf-ui-navbar-help-trigger"}=d,n=f(d,["children","className","testId"]),m=Ve();return h__default["default"].createElement(C,{testId:"cf-ui-navbar-help-menu",trigger:h__default["default"].createElement(f36Core.Flex,p(s({"aria-label":"Help Menu"},n),{as:"button",ref:o,className:emotion.cx(m.root,r),testId:i}),h__default["default"].createElement(we,{size:"medium",variant:"white"}),"Help")},t)}var Xe=h__default["default"].forwardRef(tt);var Ue=()=>({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 at="div";function it(e,o){let c=e,{as:t=at,children:r,className:i,testId:n="cf-ui-navbar-badge"}=c,m=f(c,["as","children","className","testId"]),d=Ue();return h__default["default"].createElement(t,p(s({},m),{ref:o,className:emotion.cx(d.root,i),"data-test-id":n}),r)}var qe=h__default["default"].forwardRef(it);var Ze=()=>({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,"&:hover":{color:a__default["default"].gray100},"&:focus-visible":{boxShadow:a__default["default"].glowPrimary,outline:"none",borderRadius:a__default["default"].borderRadiusMedium},svg:{fill:"currentColor"}})});var mt="button";function ct(e,o){let c=e,{as:t=mt,children:r,className:i,testId:n="cf-ui-navbar-topbar-item"}=c,m=f(c,["as","children","className","testId"]),d=Ze();return h__default["default"].createElement(t,p(s({},m),{ref:o,className:emotion.cx(d.root,i),"data-test-id":n}),r)}var Ke=h__default["default"].forwardRef(ct);var b=be;b.Item=te;b.ItemSkeleton=re;b.MenuItem=ne;b.MenuItemSkeleton=ae;b.MenuDivider=f36Menu.MenuDivider;b.MenuSectionTitle=f36Menu.MenuSectionTitle;b.Switcher=se;b.SwitcherSkeleton=pe;b.SwitcherItem=Ge;b.Search=Fe;b.Help=Xe;b.Account=J;b.AccountSkeleton=ee;b.Badge=qe;b.TopbarItem=Ke;
|
|
20
|
+
var Je=Object.defineProperty,Ke=Object.defineProperties;var eo=Object.getOwnPropertyDescriptors;var G=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var ce=(e,o,t)=>o in e?Je(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,s=(e,o)=>{for(var t in o||(o={}))le.call(o,t)&&ce(e,t,o[t]);if(G)for(var t of G(o))de.call(o,t)&&ce(e,t,o[t]);return e},p=(e,o)=>Ke(e,eo(o));var f=(e,o)=>{var t={};for(var r in e)le.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&G)for(var r of G(e))o.indexOf(r)<0&&de.call(e,r)&&(t[r]=e[r]);return t};var u={medium:"@media (min-width: 480px)",large:"@media (min-width: 768px)",xlarge:"@media (min-width: 1920px)"};var fe=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",[u.medium]:{padding:`${a__default["default"].spacingXs} ${a__default["default"].spacingM}`}}),containerBottomContent:emotion.css({width:"100%",maxWidth:e,padding:0,minHeight:"2.5rem",overflow:"auto",[u.medium]:{padding:`0 ${a__default["default"].spacing2Xs}`}})});function to(e,o){let H=e,{children:t,account:r,search:i,switcher:n,help:m,badge:d,bottomRightItems:c,topRightItems:v,contentMaxWidth:y="100%",testId:I="cf-ui-navbar"}=H,L=f(H,["children","account","search","switcher","help","badge","bottomRightItems","topRightItems","contentMaxWidth","testId"]),S=fe(y);return h__default["default"].createElement(f36Core.Box,p(s({},L),{ref:o,testId:I}),h__default["default"].createElement(f36Core.Flex,{className:S.containerTop},h__default["default"].createElement(f36Core.Flex,{className:S.containerTopContent,justifyContent:"space-between"},h__default["default"].createElement(f36Core.Flex,null,n),h__default["default"].createElement(f36Core.Flex,{alignItems:"center",gap:"spacingXs"},v,d,i,m,r))),h__default["default"].createElement(f36Core.Flex,{className:S.containerBottom},h__default["default"].createElement(f36Core.Flex,{className:S.containerBottomContent,justifyContent:"space-between"},h__default["default"].createElement(f36Core.Flex,{as:"nav","aria-label":"Main Navigation",alignItems:"stretch"},t),c&&h__default["default"].createElement(f36Core.Flex,null,c))))}var be=h__default["default"].forwardRef(to);var ge=()=>({root:emotion.css({margin:0,padding:0,background:"none",border:"none",cursor:"pointer",position:"relative",alignItems:"center",justifyContent:"center",gap:a__default["default"].spacing2Xs,"&:focus-visible":{boxShadow:a__default["default"].glowPrimary,outline:"none",borderRadius:"50%"}}),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 ue=()=>({menuList:emotion.css({minWidth:"250px"})});var C=e=>{let{trigger:o,children:t,testId:r="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,m=ue();return h__default["default"].createElement(f36Menu.Menu,{onOpen:i,onClose:n},h__default["default"].createElement(f36Menu.Menu.Trigger,null,o),h__default["default"].createElement(f36Menu.Menu.List,{className:m.menuList,testId:r},t))};function io(e,o){let I=e,{children:t,className:r,testId:i="cf-ui-navbar-account-trigger",avatar:n,username:m,hasNotification:d,notificationVariant:c="warning"}=I,v=f(I,["children","className","testId","avatar","username","hasNotification","notificationVariant"]),y=ge();return h__default["default"].createElement(C,{trigger:h__default["default"].createElement(f36Core.Flex,p(s({},v),{as:"button",ref:o,className:emotion.cx(y.root,r),testId:i}),h__default["default"].createElement("img",{src:n,alt:`Avatar for user ${m}`,className:y.avatar}),d?h__default["default"].createElement("span",{className:y.notificationIcon(c)}):null)},t)}var K=h__default["default"].forwardRef(io);function ee({ariaLabel:e}){return h__default["default"].createElement(f36Skeleton.SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:a__default["default"].gray800,foregroundColor:a__default["default"].gray700},h__default["default"].createElement(f36Skeleton.SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var Ne=()=>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}}),ye={display:"flex",justifyContent:"center",padding:`10px ${a__default["default"].spacingS}`,alignItems:"center",background:"none"},Ie=()=>({root:emotion.css(ye,{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}`,"&::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"},"&:focus-visible":{boxShadow:`inset ${a__default["default"].glowPrimary}`,borderRadius:a__default["default"].borderRadiusMedium},"&: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",[u.large]:{display:"block"}}},"& > svg, & > span":{zIndex:a__default["default"].zIndexDefault}}),isActive:Ne(),dropdownIcon:emotion.css({paddingLeft:a__default["default"].spacing2Xs})}),xe=()=>({root:emotion.css(ye)});var Pe=()=>({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 F=e=>{var i,n;let{icon:o,variant:t}=e,r=Pe();return h__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 Se=f36Icon.generateIcon({name:"CircleIcon",viewBox:"0 0 24 24",path:h__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 Me=f36Icon.generateIcon({name:"ArrowDownIcon",viewBox:"0 0 12 20",path:h__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 we=f36Icon.generateIcon({name:"HelpIcon",viewBox:"0 0 24 24",path:h__default["default"].createElement(h__default["default"].Fragment,null,h__default["default"].createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},h__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"})),h__default["default"].createElement("defs",null,h__default["default"].createElement("clipPath",{id:"HelpIcon_svg__a"},h__default["default"].createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var Ee=f36Icon.generateIcon({name:"SearchIcon",viewBox:"0 0 24 24",path:h__default["default"].createElement(h__default["default"].Fragment,null,h__default["default"].createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},h__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"})),h__default["default"].createElement("defs",null,h__default["default"].createElement("clipPath",{id:"SearchIcon_svg__a"},h__default["default"].createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ae=f36Icon.generateIcon({name:"ContentfulLogoIcon",viewBox:"0 0 21 24",path:h__default["default"].createElement("g",{transform:"translate(4 3)"},h__default["default"].createElement("path",{fill:"#fae501",d:"M3.3 13.7c-1.2-1.2-2-2.9-2-4.7S2 5.5 3.2 4.3c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0-2 2.2-3.3 5.2-3.3 8.5s1.3 6.3 3.4 8.5c1 1 2.6 1 3.6 0 .9-1.1.9-2.7 0-3.8z"}),h__default["default"].createElement("path",{fill:"#4fb5e1",d:"M3.3 4.3c1.2-1.3 2.8-2 4.6-2s3.4.8 4.6 1.9c1 1.1 2.6 1.1 3.6 0 1-1 1-2.7 0-3.8C13.9-1.6 11-3 7.8-3S1.7-1.6-.4.5c-1 1-1 2.7 0 3.8 1 .9 2.6.9 3.7 0z"}),h__default["default"].createElement("path",{fill:"#f05751",d:"M12.4 13.7c-1.2 1.3-2.8 2-4.6 2-1.8 0-3.4-.8-4.6-2-1-1.1-2.6-1.1-3.6 0-1 1-1 2.7 0 3.8 2.1 2.1 5 3.5 8.2 3.5s6.1-1.4 8.2-3.5c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0z"}),h__default["default"].createElement("ellipse",{cx:1.4,cy:2.4,fill:"#0681b6",rx:2.5,ry:2.6}),h__default["default"].createElement("ellipse",{cx:1.4,cy:15.6,fill:"#cd4739",rx:2.5,ry:2.6}))});var Io="button";function xo(e,o){let H=e,{as:t=Io,icon:r,title:i,children:n,className:m,isActive:d,testId:c="cf-ui-navbar-item",onOpen:v,onClose:y}=H,I=f(H,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),L=Ie(),S=h__default["default"].createElement(t,p(s({},I),{ref:o,"data-test-id":c,className:emotion.cx(L.root,d&&L.isActive,m)}),r?h__default["default"].createElement(F,{icon:r,variant:"white"}):null,h__default["default"].createElement("span",null,i),Ce(e)&&h__default["default"].createElement(Me,{className:L.dropdownIcon}));return Ce(e)?h__default["default"].createElement(C,{trigger:S,testId:c,onOpen:v,onClose:y},n):S}var Ce=e=>Boolean(e.children),te=h__default["default"].forwardRef(xo);var re=({estimatedWidth:e})=>{let o=xe();return h__default["default"].createElement(f36Skeleton.SkeletonContainer,{className:o.root,svgWidth:e,svgHeight:40,backgroundColor:a__default["default"].gray800,foregroundColor:a__default["default"].gray700},h__default["default"].createElement(f36Skeleton.SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:7,radiusX:a__default["default"].borderRadiusSmall,radiusY:a__default["default"].borderRadiusSmall}))};var Te=()=>({root:emotion.css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var Co="button";function ko(e,o){let v=e,{as:t=Co,icon:r,title:i,className:n}=v,m=f(v,["as","icon","title","className"]),d=Te(),c=To(e);return h__default["default"].createElement(f36Menu.Menu.Item,p(s({},m),{ref:o,as:t,className:emotion.cx(d.root,n)}),r?h__default["default"].createElement(F,{icon:r,variant:"secondary"}):c&&Re,h__default["default"].createElement("span",null,i),r&&c?Re:null)}var Re=h__default["default"].createElement(F,{icon:h__default["default"].createElement(f36Icons.ExternalLinkIcon,null),variant:"muted"}),To=e=>e.as==="a"&&e.target==="_blank",ne=h__default["default"].forwardRef(ko);var ae=({ariaLabel:e})=>h__default["default"].createElement(f36Menu.Menu.Item,null,h__default["default"].createElement(f36Core.Flex,{alignItems:"center",gap:a__default["default"].spacingXs},h__default["default"].createElement(f36Skeleton.SkeletonContainer,{svgHeight:16,svgWidth:18},h__default["default"].createElement(f36Skeleton.SkeletonImage,{width:16,height:16})),h__default["default"].createElement(f36Skeleton.SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},h__default["default"].createElement(f36Skeleton.SkeletonBodyText,{numberOfLines:1}))));var _e=()=>({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","&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:focus-visible":{boxShadow:`0px 0px 0px 2px ${a__default["default"].colorBlack}, 0px 0px 0px 5px ${a__default["default"].blue300}`,outline:"none",borderRadius:a__default["default"].borderRadiusMedium},"&:hover li":{backgroundColor:f36Utils.hexToRGBA(a__default["default"].colorWhite,.15)}}),breadcrumbs:emotion.css({listStyleType:"none",margin:0,padding:0,position:"relative"}),menuIcon:emotion.css({display:"none",[u.medium]:{display:"block"}})});function Do(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=_e();return h__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||h__default["default"].createElement(Ae,null),h__default["default"].createElement(f36Icons.MenuIcon,{className:d.menuIcon,size:"small",variant:"white"}),h__default["default"].createElement(f36Core.Flex,{as:"ul",alignItems:"center",className:d.breadcrumbs},t))}var se=h__default["default"].forwardRef(Do);var pe=({estimatedWidth:e})=>h__default["default"].createElement(f36Skeleton.SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:a__default["default"].gray800,foregroundColor:a__default["default"].gray700},h__default["default"].createElement(f36Skeleton.SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var ze=()=>({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}`,"& 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},"&:focus-visible":{boxShadow:a__default["default"].glowPrimary,outline:"none",borderRadius:a__default["default"].borderRadiusMedium}})});function Uo(e,o){let m=e,{className:t,testId:r="cf-ui-navbar-search"}=m,i=f(m,["className","testId"]),n=ze();return h__default["default"].createElement(f36Core.Flex,p(s({"aria-label":"Quick Search"},i),{as:"button",ref:o,className:emotion.cx(n.root,t),testId:r}),h__default["default"].createElement(Ee,{size:"medium",variant:"white"}))}var Fe=h__default["default"].forwardRef(Uo);var De={display:"none","&:first-child":{display:"block"},[u.medium]:{display:"block","&:first-child":{display:"none"}}},Oe=()=>({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",[u.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",[u.large]:{maxWidth:"100%"}},"> div":{[u.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 $e({isAlias:e}){return h__default["default"].createElement(h__default["default"].Fragment,null,h__default["default"].createElement(Se,{key:"mobile-icon",size:"tiny"}),e?h__default["default"].createElement(f36Icons.EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):h__default["default"].createElement(f36Icons.EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function Jo(e,o){let I=e,{children:t,isCircle:r,className:i,envVariant:n,isAlias:m,testId:d="cf-ui-navbar-switcher-item"}=I,c=f(I,["children","isCircle","className","envVariant","isAlias","testId"]),v=Oe(),y=emotion.cx(v.breadcrumbsItem,i,{[v.breadcrumbsItemCircle]:r,[v.breadcrumbsItemEnvMaster]:n==="master",[v.breadcrumbsItemEnvNonMaster]:n==="non-master"});return h__default["default"].createElement("li",p(s({},c),{ref:o,className:y,"data-test-id":d}),h__default["default"].createElement(f36Core.Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&h__default["default"].createElement($e,{isAlias:m}),h__default["default"].createElement("span",null,t)))}var Ge=h__default["default"].forwardRef(Jo);var Ve=()=>({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}`,[u.medium]:{fontSize:a__default["default"].fontSizeS,gap:a__default["default"].spacing2Xs,fontWeight:a__default["default"].fontWeightMedium,marginRight:a__default["default"].spacingXs},"&:focus-visible":{boxShadow:a__default["default"].glowPrimary,outline:"none",borderRadius:a__default["default"].borderRadiusMedium},"&: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}`}})});function tt(e,o){let d=e,{children:t,className:r,testId:i="cf-ui-navbar-help-trigger"}=d,n=f(d,["children","className","testId"]),m=Ve();return h__default["default"].createElement(C,{testId:"cf-ui-navbar-help-menu",trigger:h__default["default"].createElement(f36Core.Flex,p(s({"aria-label":"Help Menu"},n),{as:"button",ref:o,className:emotion.cx(m.root,r),testId:i}),h__default["default"].createElement(we,{size:"medium",variant:"white"}),"Help")},t)}var Xe=h__default["default"].forwardRef(tt);var Ue=()=>({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 at="div";function it(e,o){let c=e,{as:t=at,children:r,className:i,testId:n="cf-ui-navbar-badge"}=c,m=f(c,["as","children","className","testId"]),d=Ue();return h__default["default"].createElement(t,p(s({},m),{ref:o,className:emotion.cx(d.root,i),"data-test-id":n}),r)}var Ze=h__default["default"].forwardRef(it);var qe=()=>({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,"&:hover":{color:a__default["default"].gray100},"&:focus-visible":{boxShadow:a__default["default"].glowPrimary,outline:"none",borderRadius:a__default["default"].borderRadiusMedium},svg:{fill:"currentColor"}})});var mt="button";function ct(e,o){let c=e,{as:t=mt,children:r,className:i,testId:n="cf-ui-navbar-topbar-item"}=c,m=f(c,["as","children","className","testId"]),d=qe();return h__default["default"].createElement(t,p(s({},m),{ref:o,className:emotion.cx(d.root,i),"data-test-id":n}),r)}var Qe=h__default["default"].forwardRef(ct);var b=be;b.Item=te;b.ItemSkeleton=re;b.MenuItem=ne;b.MenuItemSkeleton=ae;b.MenuDivider=f36Menu.MenuDivider;b.MenuSectionTitle=f36Menu.MenuSectionTitle;b.Switcher=se;b.SwitcherSkeleton=pe;b.SwitcherItem=Ge;b.Search=Fe;b.Help=Xe;b.Account=K;b.AccountSkeleton=ee;b.Badge=Ze;b.TopbarItem=Qe;
|
|
21
21
|
|
|
22
22
|
exports.Navbar = b;
|
|
23
23
|
exports.getNavbarItemActiveStyles = Ne;
|
|
24
|
-
exports.mqs = g;
|
|
25
24
|
//# sourceMappingURL=index.js.map
|
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","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,yBCCZ,IAAMC,EAAoB,CAC/B,OAAQ,4BACR,MAAO,4BACP,OAAQ,4BACV,EDFO,IAAMC,GAAmBC,IAAsB,CACpD,aAAcJ,EAAI,CAChB,eAAgB,SAChB,gBAAiB,SACnB,CAAC,EACD,gBAAiBA,EAAI,CACnB,eAAgB,SAChB,UAAW,oBACX,gBAAiB,SACnB,CAAC,EACD,oBAAqBA,EAAI,CACvB,MAAO,OACP,SAAUI,EACV,QAAS,GAAGH,EAAO,YACnB,UAAW,SACX,CAACC,EAAI,QAAS,CACZ,QAAS,GAAGD,EAAO,aAAaA,EAAO,UACzC,CACF,CAAC,EACD,uBAAwBD,EAAI,CAC1B,MAAO,OACP,SAAUI,EACV,QAAS,EACT,UAAW,SACX,SAAU,OACV,CAACF,EAAI,QAAS,CACZ,QAAS,KAAKD,EAAO,YACvB,CACF,CAAC,CACH,GDKA,SAASI,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,OACElB,EAAA,cAACF,GAAAyB,EAAAC,EAAA,GAAQJ,GAAR,CAAoB,IAAKZ,EAAK,OAAQW,IACrCnB,EAAA,cAACD,EAAA,CAAK,UAAWuB,EAAO,cACtBtB,EAAA,cAACD,EAAA,CACC,UAAWuB,EAAO,oBAClB,eAAe,iBAEftB,EAAA,cAACD,EAAA,KAAMc,CAAS,EAChBb,EAAA,cAACD,EAAA,CAAK,WAAW,SAAS,IAAI,aAC3BkB,EACAF,EACAH,EACAE,EACAH,CACH,CACF,CACF,EAEAX,EAAA,cAACD,EAAA,CAAK,UAAWuB,EAAO,iBACtBtB,EAAA,cAACD,EAAA,CACC,UAAWuB,EAAO,uBAClB,eAAe,iBAEftB,EAAA,cAACD,EAAA,CAAK,GAAG,MAAM,aAAW,kBAAkB,WAAW,WACpDW,CACH,EACCM,GAAoBhB,EAAA,cAACD,EAAA,KAAMiB,CAAiB,CAC/C,CACF,CACF,CAEJ,CAEO,IAAMS,GAASzB,EAAM,WAAWM,EAAO,EGvF9C,OAAON,MAAW,QAClB,OAAS,MAAA0B,OAAU,UCDnB,OAAS,OAAAzB,MAAW,UACpB,OAAOC,MAAY,yBAGZ,IAAMyB,GAAyB,KAAO,CAC3C,KAAM1B,EAAI,CAER,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,SAAU,WACV,WAAY,SACZ,eAAgB,SAChB,IAAKC,EAAO,WAEZ,kBAAmB,CACjB,UAAWA,EAAO,YAClB,QAAS,OACT,aAAc,KAChB,CACF,CAAC,EACD,OAAQD,EAAI,CACV,aAAc,MACd,QAAS,QACT,OAAQ,OACR,MAAO,MACT,CAAC,EACD,iBAAmB2B,GACjB3B,EAAI,CACF,SAAU,WACV,IAAK,EACL,MAAO,EACP,OAAQC,EAAO,SACf,MAAOA,EAAO,SACd,aAAc,MACd,OAAQ,aAAaA,EAAO,UAC5B,gBACE0B,IAAY,WAAa1B,EAAO,cAAgBA,EAAO,aACzD,UAAW,sBACb,CAAC,CACL,GDxCA,OACE,QAAAH,OAIK,uBERP,OAAOC,MAAW,QAClB,OAAS,QAAA6B,MAAgD,uBCDzD,OAAS,OAAA5B,OAAW,UAEb,IAAM6B,GAAsB,KAAO,CACxC,SAAU7B,GAAI,CACZ,SAAU,OACZ,CAAC,CACH,GDIO,IAAM8B,EAAcxB,GAA2B,CACpD,GAAM,CACJ,QAAAyB,EACA,SAAAtB,EACA,OAAAS,EAAS,yBACT,OAAAc,EACA,QAAAC,CACF,EAAI3B,EACEe,EAASQ,GAAoB,EAEnC,OACE9B,EAAA,cAAC6B,EAAA,CAAK,OAAQI,EAAQ,QAASC,GAC7BlC,EAAA,cAAC6B,EAAK,QAAL,KAAcG,CAAQ,EACvBhC,EAAA,cAAC6B,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,OACE3B,EAAA,cAAC+B,EAAA,CACC,QACE/B,EAAA,cAACD,GAAAwB,EAAAC,EAAA,GACKJ,GADL,CAEC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,OAAQjB,IAERnB,EAAA,cAAC,OACC,IAAKqC,EACL,IAAK,mBAAmBC,IACxB,UAAWhB,EAAO,OACpB,EACCiB,EACCvC,EAAA,cAAC,QAAK,UAAWsB,EAAO,iBAAiBkB,CAAmB,EAAG,EAC7D,IACN,GAGD9B,CACH,CAEJ,CAEO,IAAM+B,EAAgBzC,EAAM,WAAWmC,EAAc,EIrE5D,OAAOnC,OAAW,QAClB,OAAS,qBAAA0C,GAAmB,iBAAAC,OAAqB,2BACjD,OAAOzC,OAAY,yBAEZ,SAAS0C,GAAsB,CAAE,UAAAC,CAAU,EAA2B,CAC3E,OACE7C,GAAA,cAAC0C,GAAA,CACC,SAAU,GACV,UAAW,GACX,UAAWG,EACX,gBAAiB3C,GAAO,QACxB,gBAAiBA,GAAO,SAExBF,GAAA,cAAC2C,GAAA,CAAc,MAAO,GAAI,OAAQ,GAAI,QAAS,GAAI,QAAS,GAAI,CAClE,CAEJ,CChBA,OAAO3C,MAAW,QAClB,OAAS,MAAA0B,OAAU,UCDnB,OAAS,OAAAzB,MAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA4C,OAAiB,wBAGnB,IAAMC,GAA4B,IACvC9C,EAAI,CACF,IAAK,CACH,MAAOC,EAAO,WACd,QAAS,CACP,KAAMA,EAAO,UACf,CACF,EAEA,WAAY,CACV,QAAS,KACT,SAAU,WACV,MAAO,eAAeA,EAAO,YAC7B,OAAQ,MACR,OAAQ,QACR,KAAM,EACN,MAAO,EACP,OAAQ,OACR,gBAAiBA,EAAO,WACxB,OAAQ,CACV,CACF,CAAC,EAEG8C,GAAmB,CACvB,QAAS,OACT,eAAgB,SAChB,QAAS,QAAQ9C,EAAO,WACxB,WAAY,SACZ,WAAY,MACd,EAEa+C,GAAsB,KAAO,CACxC,KAAMhD,EAAI+C,GAAkB,CAC1B,WAAY,SACZ,WAAY,OACZ,OAAQ,EACR,OAAQ,EACR,QAAS,OACT,SAAU9C,EAAO,UACjB,WAAYA,EAAO,YACnB,WAAYA,EAAO,iBACnB,SAAU,WACV,UAAW,OACX,WAAY,SACZ,OAAQ,UACR,QAAS,OACT,eAAgB,OAChB,MAAO4C,GAAU5C,EAAO,QAAS,EAAG,EACpC,UAAW,aACX,WAAY,SAASA,EAAO,2BAA2BA,EAAO,8BAE9D,YAAa,CACX,QAAS,KACT,SAAU,WACV,MAAO,eAAeA,EAAO,aAC7B,OAAQ,eAAeA,EAAO,YAC9B,IAAK,QAAQA,EAAO,gBACpB,KAAM,EACN,MAAO,EACP,OAAQ,OACR,aAAcA,EAAO,kBACrB,gBAAiB4C,GAAU5C,EAAO,WAAY,GAAI,EAClD,QAAS,EACT,OAAQ,EACR,MAAO,EACP,WAAY,OAAOA,EAAO,2BAA2BA,EAAO,6BAC9D,EAEA,kBAAmB,CACjB,QAAS,EACT,MAAO,GACT,EAEA,kBAAmB,CACjB,UAAW,SAASA,EAAO,cAC3B,aAAcA,EAAO,kBACvB,EACA,mBAAoB,CAClB,gBAAiB,0BACnB,EACA,aAAc,CACZ,OAAQ,MACV,EAEA,QAAS,CACP,KAAM4C,GAAU5C,EAAO,QAAS,EAAG,EACnC,WAAY,QAAQA,EAAO,2BAA2BA,EAAO,8BAE7D,gBAAiB,CACf,QAAS,OACT,CAACC,EAAI,OAAQ,CACX,QAAS,OACX,CACF,CACF,EACA,oBAAqB,CACnB,OAAQD,EAAO,aACjB,CACF,CAAC,EACD,SAAU6C,GAA0B,EACpC,aAAc9C,EAAI,CAChB,YAAaC,EAAO,UACtB,CAAC,CACH,GAEagD,GAA8B,KAAO,CAChD,KAAMjD,EAAI+C,EAAgB,CAC5B,GChHA,OAAOhD,OAAW,QCAlB,OAAS,OAAAC,OAAW,UACpB,OAAOC,MAAY,yBAEZ,IAAMiD,GAA0B,KAAO,CAC5C,KAAMlD,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,MAAAwB,OAAU,UAMZ,IAAM0B,EAAkB7C,GAA+B,CAT9D,IAAAE,EAAA4C,EAUE,GAAM,CAAE,KAAAC,EAAM,QAAA1B,CAAQ,EAAIrB,EACpBe,EAAS6B,GAAwB,EAEvC,OAAOnD,GAAM,aAAasD,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,OAAO5B,OAAW,QAClB,OAAS,gBAAAuD,OAAoB,uBAEtB,IAAMC,GAA2BD,GAAa,CACnD,KAAM,aACN,QAAS,YACT,KACEvD,GAAA,cAAC,QACC,EAAE,+LACF,KAAK,cACP,CAEJ,CAAC,ECZD,OAAOA,OAAW,QAClB,OAAS,gBAAAuD,OAAoB,uBAEtB,IAAME,GAA8BF,GAAa,CACtD,KAAM,gBACN,QAAS,YACT,KACEvD,GAAA,cAAC,QACC,EAAE,kLACF,KAAK,UACP,CAEJ,CAAC,ECZD,OAAOA,MAAW,QAClB,OAAS,gBAAAuD,OAAoB,uBAEtB,IAAMG,GAAyBH,GAAa,CACjD,KAAM,WACN,QAAS,YACT,KACEvD,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,gBAAAuD,OAAoB,uBAEtB,IAAMI,GAA2BJ,GAAa,CACnD,KAAM,aACN,QAAS,YACT,KACEvD,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,gBAAAuD,OAAoB,uBAEtB,IAAMK,GAAmCL,GAAa,CAC3D,KAAM,qBACN,QAAS,YACT,KACEvD,EAAA,cAAC,KAAE,UAAU,kBACXA,EAAA,cAAC,QACC,KAAK,UACL,EAAE,yJACJ,EACAA,EAAA,cAAC,QACC,KAAK,UACL,EAAE,qJACJ,EACAA,EAAA,cAAC,QACC,KAAK,UACL,EAAE,gKACJ,EACAA,EAAA,cAAC,WAAQ,GAAI,IAAK,GAAI,IAAK,KAAK,UAAU,GAAI,IAAK,GAAI,IAAK,EAC5DA,EAAA,cAAC,WAAQ,GAAI,IAAK,GAAI,KAAM,KAAK,UAAU,GAAI,IAAK,GAAI,IAAK,CAC/D,CAEJ,CAAC,ERRD,IAAM6D,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,EACJlE,EAAA,cAAC+D,EAAAxC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,eAAcW,EACd,UAAWO,GAAGJ,EAAO,KAAM2C,GAAY3C,EAAO,SAAUc,CAAS,IAEhEkB,EAAOtD,EAAA,cAACoD,EAAA,CAAe,KAAME,EAAM,QAAQ,QAAQ,EAAK,KACzDtD,EAAA,cAAC,YAAMgE,CAAM,EACZG,GAAoB5D,CAAK,GACxBP,EAAA,cAACyD,GAAA,CAAc,UAAWnC,EAAO,aAAc,CAEnD,EAGF,OAAI6C,GAAoB5D,CAAK,EAEzBP,EAAA,cAAC+B,EAAA,CACC,QAASmC,EACT,OAAQ/C,EACR,OAAQc,EACR,QAASC,GAERxB,CACH,EAIGwD,CACT,CAEA,IAAMC,GACJ5D,GAEA,QAAQA,EAAM,QAAQ,EAEX6D,GAGTpE,EAAM,WAAW8D,EAAW,ESjGhC,OAAO9D,OAAW,QAClB,OAAS,qBAAA0C,GAAmB,gBAAA2B,OAAoB,2BAChD,OAAOnE,MAAY,yBAGZ,IAAMoE,GAAqB,CAAC,CACjC,eAAAC,CACF,IAEM,CACJ,IAAMjD,EAAS4B,GAA4B,EAE3C,OACElD,GAAA,cAAC0C,GAAA,CACC,UAAWpB,EAAO,KAClB,SAAUiD,EACV,UAAW,GACX,gBAAiBrE,EAAO,QACxB,gBAAiBA,EAAO,SAExBF,GAAA,cAACqE,GAAA,CACC,WAAY,EACZ,cAAe,EACf,UAAW,EACX,QAASnE,EAAO,kBAChB,QAASA,EAAO,kBAClB,CACF,CAEJ,EC7BA,OAAOF,MAAW,QAClB,OAAS,MAAA0B,OAAU,UCDnB,OAAS,OAAAzB,OAAW,UAEb,IAAMuE,GAA0B,KAAO,CAC5C,KAAMvE,GAAI,CACR,QAAS,OACT,eAAgB,aAChB,WAAY,QACd,CAAC,CACH,GDLA,OAAS,QAAA4B,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,OACEP,EAAA,cAAC6B,GAAK,KAALN,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,GAAIuD,EACJ,UAAWrC,GAAGJ,EAAO,KAAMc,CAAS,IAEnCkB,EACCtD,EAAA,cAACoD,EAAA,CAAe,KAAME,EAAM,QAAQ,YAAY,EAEhDsB,GAAsBE,GAExB9E,EAAA,cAAC,YAAMgE,CAAM,EACZV,GAAQsB,EAAqBE,GAAe,IAC/C,CAEJ,CAEA,IAAMA,GACJ9E,EAAA,cAACoD,EAAA,CAAe,KAAMpD,EAAA,cAACyE,GAAA,IAAiB,EAAI,QAAQ,QAAQ,EAGxDI,GAAkBtE,GACtBA,EAAM,KAAO,KAAOA,EAAM,SAAW,SAE1BwE,GAGT/E,EAAM,WAAW2E,EAAe,EEzEpC,OAAO3E,MAAW,QAClB,OAAS,QAAA6B,OAAY,uBACrB,OACE,oBAAAmD,GACA,qBAAAtC,GACA,iBAAAC,OACK,2BACP,OAAS,QAAA5C,OAAY,uBAErB,OAAOG,OAAY,yBAEZ,IAAM+E,GAAyB,CAAC,CACrC,UAAApC,CACF,IAGE7C,EAAA,cAAC6B,GAAK,KAAL,KACC7B,EAAA,cAACD,GAAA,CAAK,WAAW,SAAS,IAAKG,GAAO,WACpCF,EAAA,cAAC0C,GAAA,CAAkB,UAAW,GAAI,SAAU,IAC1C1C,EAAA,cAAC2C,GAAA,CAAc,MAAO,GAAI,OAAQ,GAAI,CACxC,EACA3C,EAAA,cAAC0C,GAAA,CAAkB,UAAW,GAAI,SAAU,IAAK,UAAWG,GAC1D7C,EAAA,cAACgF,GAAA,CAAiB,cAAe,EAAG,CACtC,CACF,CACF,ECzBF,OAAOhF,MAAW,QCAlB,OAAS,OAAAC,OAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA4C,OAAiB,wBAGnB,IAAMoC,GAA0B,KAAO,CAC5C,KAAMjF,GAAI,CAER,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,MAAOC,EAAO,QACd,OAAQ,UACR,SAAUA,EAAO,UACjB,WAAYA,EAAO,iBACnB,SAAU,WACV,UAAW,CACT,QAAS,KACT,OAAQ,oBACR,UAAW,aACX,OAAQ,OACR,MAAO,OACP,SAAU,WACV,MAAO,CACT,EACA,qBAAsB,CACpB,QAAS,MACX,EACA,kBAAmB,CACjB,UAAW,mBAAmBA,EAAO,+BAA+BA,EAAO,UAC3E,QAAS,OACT,aAAcA,EAAO,kBACvB,EACA,aAAc,CACZ,gBAAiB4C,GAAU5C,EAAO,WAAY,GAAI,CACpD,CACF,CAAC,EACD,YAAaD,GAAI,CACf,cAAe,OACf,OAAQ,EACR,QAAS,EACT,SAAU,UACZ,CAAC,EACD,SAAUA,GAAI,CACZ,QAAS,OACT,CAACE,EAAI,QAAS,CACZ,QAAS,OACX,CACF,CAAC,CACH,GDjDA,OACE,QAAAJ,OAIK,uBACP,OAAS,YAAAoF,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,OACElF,EAAA,cAACD,GAAAwB,EAAAC,EAAA,GACKJ,GADL,CAEC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,OAAQjB,EACR,WAAW,SACX,WAAU,GACV,IAAI,cAEHkE,GAAQrF,EAAA,cAAC4D,GAAA,IAAmB,EAC7B5D,EAAA,cAACmF,GAAA,CAAS,UAAW7D,EAAO,SAAU,KAAK,QAAQ,QAAQ,QAAQ,EACnEtB,EAAA,cAACD,GAAA,CAAK,GAAG,KAAK,WAAW,SAAS,UAAWuB,EAAO,aACjDZ,CACH,CACF,CAEJ,CAEO,IAAM4E,GAAiBtF,EAAM,WAAWoF,EAAe,EE1D9D,OAAOpF,OAAW,QAClB,OACE,qBAAA0C,GACA,uBAAA6C,OACK,2BACP,OAAOrF,OAAY,yBAEZ,IAAMsF,GAAyB,CAAC,CACrC,eAAAjB,CACF,IAGEvE,GAAA,cAAC0C,GAAA,CACC,SAAU6B,EACV,UAAW,GACX,gBAAiBrE,GAAO,QACxB,gBAAiBA,GAAO,SAExBF,GAAA,cAACuF,GAAA,CACC,WAAY,GACZ,cAAe,EACf,QAAS,GACT,QAAS,GACX,CACF,ECxBF,OAAS,MAAA7D,OAAU,UACnB,OAAO1B,OAAW,QCDlB,OAAOE,MAAY,yBACnB,OAAS,OAAAD,OAAW,UAEb,IAAMwF,GAAwB,KAAO,CAC1C,KAAMxF,GAAI,CAER,OAAQ,EACR,QAAS,EACT,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,WAAY,SACZ,eAAgB,SAChB,SAAUC,EAAO,SACjB,WAAY,SAASA,EAAO,2BAA2BA,EAAO,8BAC9D,QAAS,CACP,KAAMA,EAAO,QACb,WAAY,QAAQA,EAAO,2BAA2BA,EAAO,6BAC/D,EACA,uBAAwB,CACtB,MAAOA,EAAO,QACd,KAAMA,EAAO,OACf,EACA,kBAAmB,CACjB,UAAWA,EAAO,YAClB,QAAS,OACT,aAAcA,EAAO,kBACvB,CACF,CAAC,CACH,GD1BA,OAGE,QAAAH,OAEK,uBASP,SAAS2F,GACPnF,EACAC,EACA,CACA,IAAqEC,EAAAF,EAA7D,WAAA6B,EAAW,OAAAjB,EAAS,qBAtB9B,EAsBuEV,EAAfW,EAAAC,EAAeZ,EAAf,CAA9C,YAAW,WACba,EAASmE,GAAsB,EAErC,OACEzF,GAAA,cAACD,GAAAwB,EAAAC,EAAA,CACC,aAAW,gBACPJ,GAFL,CAGC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,OAAQjB,IAERnB,GAAA,cAAC2D,GAAA,CAAW,KAAK,SAAS,QAAQ,QAAQ,CAC5C,CAEJ,CAEO,IAAMgC,GAAe3F,GAAM,WAAW0F,EAAa,EEvC1D,OAAO1F,MAAW,QAClB,OAAS,MAAA0B,OAAU,UCDnB,OAAS,OAAAzB,MAAW,UACpB,OAAOC,MAAY,yBACnB,OAAS,aAAA4C,OAAiB,wBAG1B,IAAM8C,GAAa,CACjB,QAAS,OACT,gBAAiB,CACf,QAAS,OACX,EAEA,CAACzF,EAAI,QAAS,CACZ,QAAS,QACT,gBAAiB,CACf,QAAS,MACX,CACF,CACF,EAEa0F,GAA8B,KAAO,CAChD,gBAAiB5F,EAAI,CACnB,SAAU,WACV,WAAY,SACZ,eAAgB,SAChB,gBAAiB6C,GAAU5C,EAAO,QAAS,EAAG,EAC9C,UAAW,mBAAmBA,EAAO,aACrC,QAAS,cACT,OAAQ,EACR,SAAU,EACV,QAAS,KAAKA,EAAO,YACrB,OAAQA,EAAO,SACf,aAAc,OACd,OAAQ,EACR,WAAY,oBAAoBA,EAAO,2BAA2BA,EAAO,8BACzE,WAAY,SACZ,sBAAuB,CACrB,SAAU,uEACZ,EACA,gBAAiB,CACf,SAAU,MACZ,EACA,iBAAkB,CAChB,OAAQ,EACR,KAAM,IAAIA,EAAO,YACjB,YAAaA,EAAO,SACpB,aAAc,gBACd,KAAM,CACJ,SAAU,OACV,aAAc,WACd,SAAU,SACV,CAACC,EAAI,OAAQ,CACX,SAAU,MACZ,CACF,CACF,EACA,iBAAkB,CAChB,KAAM,IAAID,EAAO,WACjB,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,OAAQ,CACX,SAAU,MACZ,CACF,EACA,QAAS,CACP,CAACA,EAAI,QAAS,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,OAAQqB,EAAAC,EAAA,GACHoE,IADG,CAEN,KAAM1F,EAAO,QACf,EACF,CAAC,EACD,4BAA6BD,EAAI,CAC/B,MAAOC,EAAO,UACd,OAAQqB,EAAAC,EAAA,GACHoE,IADG,CAEN,KAAM1F,EAAO,SACf,EACF,CAAC,CACH,GCtGA,OAAOF,MAAW,QAGlB,OAAS,wBAAA8F,GAAsB,mBAAAC,OAAuB,wBAI/C,SAASC,GAAiB,CAAE,QAAAC,CAAQ,EAA0B,CACnE,OACEjG,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACwD,GAAA,CAAW,IAAI,cAAc,KAAK,OAAO,EACzCyC,EACCjG,EAAA,cAAC8F,GAAA,CAAqB,IAAI,YAAY,KAAK,OAAO,EAElD9F,EAAA,cAAC+F,GAAA,CAAgB,IAAI,YAAY,KAAK,OAAO,CAEjD,CAEJ,CFdA,OACE,QAAAhG,OAIK,uBAcP,SAASmG,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,uBAAwB6E,EAChC,CAAC7E,EAAO,0BAA2B8E,IAAe,SAClD,CAAC9E,EAAO,6BAA8B8E,IAAe,YACvD,CAAC,EAED,OACEpG,EAAA,cAAC,KAAAuB,EAAAC,EAAA,GAAOJ,GAAP,CAAmB,IAAKZ,EAAK,UAAW6F,EAAS,eAAclF,IAC9DnB,EAAA,cAACD,GAAA,CAAK,WAAU,GAAC,eAAe,SAAS,WAAW,UACjDqG,GAAcpG,EAAA,cAACgG,GAAA,CAAiB,QAASC,EAAS,EACnDjG,EAAA,cAAC,YAAMU,CAAS,CAClB,CACF,CAEJ,CAEO,IAAM4F,GAAqBtG,EAAM,WAAWkG,EAAmB,EGrDtE,OAAOlG,MAAW,QAClB,OAAS,MAAA0B,OAAU,UCDnB,OAAS,OAAAzB,OAAW,UACpB,OAAOC,MAAY,yBAGZ,IAAMqG,GAAsB,KAAO,CACxC,KAAMtG,GAAI,CAER,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,2BAA2BA,EAAO,8BAE9D,CAACC,EAAI,QAAS,CACZ,SAAUD,EAAO,UACjB,IAAKA,EAAO,WACZ,WAAYA,EAAO,iBACnB,YAAaA,EAAO,SACtB,EAEA,kBAAmB,CACjB,UAAWA,EAAO,YAClB,QAAS,OACT,aAAcA,EAAO,kBACvB,EACA,uBAAwB,CACtB,MAAOA,EAAO,QACd,KAAMA,EAAO,OACf,EACA,QAAS,CACP,KAAMA,EAAO,QACb,WAAY,QAAQA,EAAO,2BAA2BA,EAAO,6BAC/D,CACF,CAAC,CACH,GDtCA,OACE,QAAAH,OAIK,uBAYP,SAASyG,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,OACEvG,EAAA,cAAC+B,EAAA,CACC,OAAO,yBACP,QACE/B,EAAA,cAACD,GAAAwB,EAAAC,EAAA,CACC,aAAW,aACPJ,GAFL,CAGC,GAAG,SACH,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,OAAQjB,IAERnB,EAAA,cAAC0D,GAAA,CAAS,KAAK,SAAS,QAAQ,QAAQ,EAAE,MAE5C,GAGDhD,CACH,CAEJ,CAEO,IAAM+F,GAAazG,EAAM,WAAWwG,EAAW,EEvDtD,OAAOxG,OAAW,QAClB,OAAS,MAAA0B,OAAU,UCDnB,OAAS,OAAAzB,OAAW,UACpB,OAAOC,MAAY,yBAEZ,IAAMwG,GAAuB,KAAO,CACzC,KAAMzG,GAAI,CACR,QAAS,OACT,eAAgB,SAChB,WAAY,SACZ,WAAY,OACZ,OAAQ,aAAaC,EAAO,YAC5B,OAAQ,EACR,QAAS,OACT,SAAUA,EAAO,UACjB,WAAYA,EAAO,YACnB,WAAYA,EAAO,iBACnB,UAAW,SACX,QAAS,KAAKA,EAAO,YACrB,eAAgB,OAChB,MAAO,GAAGA,EAAO,sBACjB,aAAc,SAChB,CAAC,CACH,GDXA,IAAMyG,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,OACE1G,GAAA,cAAC+D,EAAAxC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,eAAcjB,IAEbT,CACH,CAEJ,CAEO,IAAMmG,GAGT7G,GAAM,WAAW4G,EAAY,EEjDjC,OAAO5G,OAAW,QAClB,OAAS,MAAA0B,OAAU,UCDnB,OAAS,OAAAzB,OAAW,UACpB,OAAOC,MAAY,yBAEZ,IAAM4G,GAA4B,KAAO,CAC9C,KAAM7G,GAAI,CAER,OAAQ,EACR,WAAY,OACZ,OAAQ,OAER,OAAQ,UACR,QAAS,OACT,IAAKC,EAAO,WACZ,WAAY,SACZ,MAAOA,EAAO,QACd,QAAS,KAAKA,EAAO,aACrB,UAAWA,EAAO,SAClB,SAAUA,EAAO,UACjB,WAAYA,EAAO,iBACnB,UAAW,CACT,MAAOA,EAAO,OAChB,EACA,kBAAmB,CACjB,UAAWA,EAAO,YAClB,QAAS,OACT,aAAcA,EAAO,kBACvB,EACA,IAAK,CACH,KAAM,cACR,CACF,CAAC,CACH,GDrBA,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,OACE9G,GAAA,cAAC+D,EAAAxC,EAAAC,EAAA,GACKJ,GADL,CAEC,IAAKZ,EACL,UAAWkB,GAAGJ,EAAO,KAAMc,CAAS,EACpC,eAAcjB,IAEbT,CACH,CAEJ,CAEO,IAAMsG,GAGThH,GAAM,WAAW+G,EAAiB,ElCd/B,IAAMtF,EAASA,GACtBA,EAAO,KAAO2C,GACd3C,EAAO,aAAe6C,GACtB7C,EAAO,SAAWsD,GAClBtD,EAAO,iBAAmBwD,GAC1BxD,EAAO,YAAc7B,GACrB6B,EAAO,iBAAmB5B,GAC1B4B,EAAO,SAAW6D,GAClB7D,EAAO,iBAAmB+D,GAC1B/D,EAAO,aAAe6E,GACtB7E,EAAO,OAASkE,GAChBlE,EAAO,KAAOgF,GACdhF,EAAO,QAAUgB,EACjBhB,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\nexport const NAVBAR_FALLBACK_HEIGHT = 81;\n","type 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","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';\n\nexport const getNavbarAccountStyles = () => ({\n root: css({\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\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: '50%',\n },\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 { 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(commonItemStyles, {\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\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 '&:focus-visible': {\n boxShadow: `inset ${tokens.glowPrimary}`,\n borderRadius: tokens.borderRadiusMedium,\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 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 21 24',\n path: (\n <g transform=\"translate(4 3)\">\n <path\n fill=\"#fae501\"\n d=\"M3.3 13.7c-1.2-1.2-2-2.9-2-4.7S2 5.5 3.2 4.3c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0-2 2.2-3.3 5.2-3.3 8.5s1.3 6.3 3.4 8.5c1 1 2.6 1 3.6 0 .9-1.1.9-2.7 0-3.8z\"\n />\n <path\n fill=\"#4fb5e1\"\n d=\"M3.3 4.3c1.2-1.3 2.8-2 4.6-2s3.4.8 4.6 1.9c1 1.1 2.6 1.1 3.6 0 1-1 1-2.7 0-3.8C13.9-1.6 11-3 7.8-3S1.7-1.6-.4.5c-1 1-1 2.7 0 3.8 1 .9 2.6.9 3.7 0z\"\n />\n <path\n fill=\"#f05751\"\n d=\"M12.4 13.7c-1.2 1.3-2.8 2-4.6 2-1.8 0-3.4-.8-4.6-2-1-1.1-2.6-1.1-3.6 0-1 1-1 2.7 0 3.8 2.1 2.1 5 3.5 8.2 3.5s6.1-1.4 8.2-3.5c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0z\"\n />\n <ellipse cx={1.4} cy={2.4} fill=\"#0681b6\" rx={2.5} ry={2.6} />\n <ellipse cx={1.4} cy={15.6} fill=\"#cd4739\" rx={2.5} ry={2.6} />\n </g>\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 { mqs } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n root: css({\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 '&: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 '&:focus-visible': {\n boxShadow: `0px 0px 0px 2px ${tokens.colorBlack}, 0px 0px 0px 5px ${tokens.blue300}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\n '&:hover li': {\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.15),\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 CommonProps,\n ExpandProps,\n Flex,\n 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';\n\nexport const getNavbarSearchStyles = () => ({\n root: css({\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 '& 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 '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\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 { mqs } from '../utils.styles';\n\nexport const getNavbarHelpStyles = () => ({\n root: css({\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\n [mqs.medium]: {\n fontSize: tokens.fontSizeS,\n gap: tokens.spacing2Xs,\n fontWeight: tokens.fontWeightMedium,\n marginRight: tokens.spacingXs,\n },\n\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\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});\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';\n\nexport const getNavbarTopbarItemStyles = () => ({\n root: css({\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 '&:hover': {\n color: tokens.gray100,\n },\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\n svg: {\n fill: 'currentColor',\n },\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","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","type 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","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';\n\nexport const getNavbarAccountStyles = () => ({\n root: css({\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\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: '50%',\n },\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 { 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(commonItemStyles, {\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\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 '&:focus-visible': {\n boxShadow: `inset ${tokens.glowPrimary}`,\n borderRadius: tokens.borderRadiusMedium,\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 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 21 24',\n path: (\n <g transform=\"translate(4 3)\">\n <path\n fill=\"#fae501\"\n d=\"M3.3 13.7c-1.2-1.2-2-2.9-2-4.7S2 5.5 3.2 4.3c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0-2 2.2-3.3 5.2-3.3 8.5s1.3 6.3 3.4 8.5c1 1 2.6 1 3.6 0 .9-1.1.9-2.7 0-3.8z\"\n />\n <path\n fill=\"#4fb5e1\"\n d=\"M3.3 4.3c1.2-1.3 2.8-2 4.6-2s3.4.8 4.6 1.9c1 1.1 2.6 1.1 3.6 0 1-1 1-2.7 0-3.8C13.9-1.6 11-3 7.8-3S1.7-1.6-.4.5c-1 1-1 2.7 0 3.8 1 .9 2.6.9 3.7 0z\"\n />\n <path\n fill=\"#f05751\"\n d=\"M12.4 13.7c-1.2 1.3-2.8 2-4.6 2-1.8 0-3.4-.8-4.6-2-1-1.1-2.6-1.1-3.6 0-1 1-1 2.7 0 3.8 2.1 2.1 5 3.5 8.2 3.5s6.1-1.4 8.2-3.5c1-1 1-2.7 0-3.8-1-1-2.6-1-3.6 0z\"\n />\n <ellipse cx={1.4} cy={2.4} fill=\"#0681b6\" rx={2.5} ry={2.6} />\n <ellipse cx={1.4} cy={15.6} fill=\"#cd4739\" rx={2.5} ry={2.6} />\n </g>\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 { mqs } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n root: css({\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 '&: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 '&:focus-visible': {\n boxShadow: `0px 0px 0px 2px ${tokens.colorBlack}, 0px 0px 0px 5px ${tokens.blue300}`,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\n '&:hover li': {\n backgroundColor: hexToRGBA(tokens.colorWhite, 0.15),\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 CommonProps,\n ExpandProps,\n Flex,\n 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';\n\nexport const getNavbarSearchStyles = () => ({\n root: css({\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 '& 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 '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\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 { mqs } from '../utils.styles';\n\nexport const getNavbarHelpStyles = () => ({\n root: css({\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\n [mqs.medium]: {\n fontSize: tokens.fontSizeS,\n gap: tokens.spacing2Xs,\n fontWeight: tokens.fontWeightMedium,\n marginRight: tokens.spacingXs,\n },\n\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\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});\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';\n\nexport const getNavbarTopbarItemStyles = () => ({\n root: css({\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 '&:hover': {\n color: tokens.gray100,\n },\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n },\n svg: {\n fill: 'currentColor',\n },\n }),\n});\n"]}
|