@contentful/f36-navbar 5.0.0-alpha.12 → 5.0.0-alpha.14

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 CHANGED
@@ -9,7 +9,7 @@ import { Avatar } from '@contentful/f36-avatar';
9
9
  import { SkeletonContainer, SkeletonImage, SkeletonText, SkeletonBodyText, SkeletonDisplayText } from '@contentful/f36-skeleton';
10
10
  import { ArrowSquareOutIcon, EnvironmentAliasIcon, EnvironmentIcon } from '@contentful/f36-icons';
11
11
 
12
- var Fr=Object.defineProperty,$r=Object.defineProperties;var Xr=Object.getOwnPropertyDescriptors;var oe=Object.getOwnPropertySymbols;var Oe=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;var He=(e,r,t)=>r in e?Fr(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,c=(e,r)=>{for(var t in r||(r={}))Oe.call(r,t)&&He(e,t,r[t]);if(oe)for(var t of oe(r))_e.call(r,t)&&He(e,t,r[t]);return e},d=(e,r)=>$r(e,Xr(r));var f=(e,r)=>{var t={};for(var a in e)Oe.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&oe)for(var a of oe(e))r.indexOf(a)<0&&_e.call(e,a)&&(t[a]=e[a]);return t};var M={medium:"@media (min-width: 480px)",large:"@media (min-width: 768px)",xlarge:"@media (min-width: 1920px)"},I=(e=o.glowPrimary)=>({"&:focus":{boxShadow:e},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:e}});var De=(e,r)=>({containerTop:css({justifyContent:"center",backgroundColor:o.gray100}),containerBottom:css({justifyContent:"center",backgroundColor:o.gray100}),containerTopContent:css({width:"100%",maxWidth:r==="wide"?"1524px":e,padding:o.spacingXs,minHeight:o.spacingL,[M.medium]:{padding:`${o.spacingXs} 20px`}}),containerBottomContent:css({width:"100%",maxWidth:r==="wide"?"1524px":e,padding:0,paddingTop:o.spacing2Xs,minHeight:"2.5rem",overflow:"auto",[M.medium]:{padding:`${o.spacing2Xs} ${o.spacingXs}`}}),logo:css({height:"28px",width:"28px"})});var We=generateIconComponent({name:"CircleIcon",viewBox:"0 0 24 24",path:g.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 Ge=generateComponentWithVariants({variants:{[IconVariant.Active]:generateIconComponent({path:g.createElement(g.Fragment,null,g.createElement("path",{d:"M10.0153 4.76531L6.2653 8.51531C6.23048 8.55018 6.18912 8.57784 6.14359 8.59671C6.09807 8.61558 6.04927 8.62529 5.99999 8.62529C5.95071 8.62529 5.90191 8.61558 5.85639 8.59671C5.81086 8.57784 5.76951 8.55018 5.73468 8.51531L1.98468 4.76531C1.93217 4.71287 1.89641 4.64602 1.88192 4.57324C1.86742 4.50046 1.87485 4.42501 1.90326 4.35645C1.93166 4.28789 1.97977 4.22931 2.0415 4.1881C2.10322 4.1469 2.17578 4.12494 2.24999 4.125H9.74999C9.8242 4.12494 9.89676 4.1469 9.95848 4.1881C10.0202 4.22931 10.0683 4.28789 10.0967 4.35645C10.1251 4.42501 10.1326 4.50046 10.1181 4.57324C10.1036 4.64602 10.0678 4.71287 10.0153 4.76531Z",fill:o.blue300})),viewBox:"0 0 12 12"}),[IconVariant.Default]:generateIconComponent({path:g.createElement(g.Fragment,null,g.createElement("path",{d:"M10.0153 4.76531L6.2653 8.51531C6.23048 8.55018 6.18912 8.57784 6.14359 8.59671C6.09807 8.61558 6.04927 8.62529 5.99999 8.62529C5.95071 8.62529 5.90191 8.61558 5.85639 8.59671C5.81086 8.57784 5.76951 8.55018 5.73468 8.51531L1.98468 4.76531C1.93217 4.71287 1.89641 4.64602 1.88192 4.57324C1.86742 4.50046 1.87485 4.42501 1.90326 4.35645C1.93166 4.28789 1.97977 4.22931 2.0415 4.1881C2.10322 4.1469 2.17578 4.12494 2.24999 4.125H9.74999C9.8242 4.12494 9.89676 4.1469 9.95848 4.1881C10.0202 4.22931 10.0683 4.28789 10.0967 4.35645C10.1251 4.42501 10.1326 4.50046 10.1181 4.57324C10.1036 4.64602 10.0678 4.71287 10.0153 4.76531Z",fill:o.gray400})),viewBox:"0 0 12 12"})}});var Ve=generateIconComponent({name:"HelpIcon",viewBox:"0 0 24 24",path:g.createElement(g.Fragment,null,g.createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},g.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"})),g.createElement("defs",null,g.createElement("clipPath",{id:"HelpIcon_svg__a"},g.createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var je=generateIconComponent({name:"SearchIcon",viewBox:"0 0 24 24",path:g.createElement(g.Fragment,null,g.createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},g.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"})),g.createElement("defs",null,g.createElement("clipPath",{id:"SearchIcon_svg__a"},g.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ue=generateIconComponent({name:"ContentfulLogoIcon",viewBox:"0 0 28 28",path:g.createElement(g.Fragment,null,g.createElement("path",{fill:"#1773EB",d:"M10.713 5.001c.845.843 1.167 2.079.845 3.228A6.663 6.663 0 0 1 15 7.276h.026a6.7 6.7 0 0 1 4.743 1.988 2.64 2.64 0 1 0 3.746-3.715A11.96 11.96 0 0 0 15.042 2h-.046a11.933 11.933 0 0 0-6.691 2.036h.074a3.287 3.287 0 0 1 2.334.967V5Z"}),g.createElement("path",{fill:"#E44F20",d:"M21.594 17.999a2.64 2.64 0 0 0-1.858.766 6.703 6.703 0 0 1-4.732 1.951h-.025a6.65 6.65 0 0 1-3.447-.968A3.3 3.3 0 0 1 8.35 23.93h-.086A11.926 11.926 0 0 0 14.96 26h.046a11.94 11.94 0 0 0 8.449-3.484 2.64 2.64 0 0 0-1.859-4.514V18h-.002Z"}),g.createElement("path",{fill:"#FFDA00",d:"M6.013 18.295a3.27 3.27 0 0 1 2.334-.967c.302 0 .603.04.894.122a6.7 6.7 0 0 1 .013-6.928A3.3 3.3 0 0 1 5.08 7.335v-.09a11.999 11.999 0 0 0-.032 13.453v-.07a3.27 3.27 0 0 1 .966-2.333Z"}),g.createElement("path",{fill:"#1773EB",d:"M8.379 4.62c-.75 0-1.276.312-1.913.949-.607.605-.798 1.135-.8 1.766A2.712 2.712 0 1 0 8.38 4.62Z"}),g.createElement("path",{fill:"#E44F20",d:"M5.628 20.631c0 .75.31 1.276.946 1.912.607.606 1.136.799 1.766.8a2.703 2.703 0 1 0-.017-5.407 2.703 2.703 0 0 0-2.695 2.704v-.009Z"}))});function Kr(e,r){let Z=e,{account:t,badge:a,bottomRightItems:i,children:n,className:s,contentMaxWidth:m="100%",help:l,logo:p,search:v,switcher:x,testId:N="cf-ui-navbar",topRightItems:w,variant:C="wide"}=Z,_=f(Z,["account","badge","bottomRightItems","children","className","contentMaxWidth","help","logo","search","switcher","testId","topRightItems","variant"]),R=De(m,C);return g.createElement(Box,d(c({},_),{ref:r,testId:N,className:s}),g.createElement(Flex,{className:R.containerTop},g.createElement(Flex,{className:R.containerTopContent,justifyContent:"space-between"},g.createElement(Flex,{alignItems:"center",gap:"spacingL"},p||g.createElement(Ue,{className:R.logo}),x),g.createElement(Flex,{alignItems:"center",gap:"spacingXs"},w,a,v,l,t))),g.createElement(Flex,{className:R.containerBottom},g.createElement(Flex,{className:R.containerBottomContent,justifyContent:"space-between"},g.createElement(Flex,{as:"nav","aria-label":"Main Navigation"},n),i&&g.createElement(Flex,null,i))))}var Ze=g.forwardRef(Kr);var et={warning:o.colorWarning,negative:o.colorNegative,info:o.blue500},qe=()=>({navbarAccount:css({margin:0,padding:0,border:0,cursor:"pointer",background:"none",position:"relative",outline:"none",overflow:"visible",borderRadius:"50%","&:before":css({content:'""',display:"block",position:"absolute",height:"24px",width:"24px",backgroundColor:"transparent",borderRadius:"50%"}),"&:hover:before":css({backgroundColor:hexToRGBA(o.gray300,.15)})},I()),avatar:css({borderRadius:"50%",display:"block",height:"24px",width:"24px"}),notificationIcon:e=>css({position:"absolute",top:0,right:0,height:o.spacingS,width:o.spacingS,borderRadius:"50%",border:`2px solid ${o.gray100}`,backgroundColor:et[e],transform:"translate(30%, -30%)"})});var Ye=()=>({menuList:css({minWidth:"250px"})});var W=e=>{let{trigger:r,children:t,testId:a="cf-ui-navbar-menu-list",onOpen:i,onClose:n}=e,s=Ye();return g.createElement(Menu,{onOpen:i,onClose:n},g.createElement(Menu.Trigger,null,r),g.createElement(Menu.List,{className:s.menuList,testId:a},t))};function nt(e,r){let N=e,{children:t,className:a,testId:i="cf-ui-navbar-account-trigger",avatar:n,initials:s,username:m,hasNotification:l,notificationVariant:p="warning"}=N,v=f(N,["children","className","testId","avatar","initials","username","hasNotification","notificationVariant"]),x=qe();return g.createElement(W,{trigger:g.createElement(Flex,d(c({as:"button"},v),{ref:r,className:cx(x.navbarAccount,a),testId:i,alignItems:"center"}),g.createElement(Avatar,{src:n,initials:s,size:"small",variant:"user"}),l?g.createElement("span",{className:x.notificationIcon(p)}):null)},t)}var ge=g.forwardRef(nt);function be({ariaLabel:e}){return g.createElement(SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:o.gray300,foregroundColor:o.gray200},g.createElement(SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var Qe=()=>css({backgroundColor:o.blue100,border:`1px solid ${o.blue400}`,color:o.blue600,"&:hover":{backgroundColor:o.blue100}}),er={display:"flex",justifyContent:"center",padding:`${o.spacing2Xs} ${o.spacingXs}`,alignItems:"center",background:"none",gap:o.spacing2Xs},rr=()=>({navbarItem:css(er,{alignItems:"center",background:"none",border:0,margin:0,outline:"none",fontSize:o.fontSizeM,lineHeight:o.lineHeightS,fontWeight:o.fontWeightMedium,position:"relative",textAlign:"left",whiteSpace:"nowrap",cursor:"pointer",hyphens:"auto",textDecoration:"none",color:o.gray800,boxSizing:"border-box",transition:`color ${o.transitionDurationShort} ${o.transitionEasingCubicBezier}`,borderRadius:o.borderRadiusMedium,"&:hover":{backgroundColor:hexToRGBA(o.gray900,.05)},"&:hover::before":{opacity:1,scale:"1"},"&:active::before":{backgroundColor:"rgba(255, 255, 255, 0.1)"},"&:disabled":{cursor:"auto"},"& svg":{transition:`fill ${o.transitionDurationShort} ${o.transitionEasingCubicBezier}`},"& > svg, & > span":{zIndex:o.zIndexDefault}},I()),navbarItemMenuTrigger:css({paddingRight:o.spacingXs}),isActive:Qe()}),tr=()=>({itemSkeleton:css(er)});var or=()=>({navbarItemIcon:css({"&:last-child":{marginLeft:o.spacing2Xs},"img&":{borderRadius:o.borderRadiusSmall,maxWidth:o.spacingM,maxHeight:o.spacingM}})});var Q=e=>{var i,n;let{icon:r,variant:t}=e,a=or();return g.cloneElement(r,{className:cx(r.props.className,a.navbarItemIcon),size:(i=r.props.size)!=null?i:"tiny",variant:(n=r.props.variant)!=null?n:t})};var ft="button";function ut(e,r){let _=e,{as:t=ft,icon:a,title:i,children:n,className:s,isActive:m,testId:l="cf-ui-navbar-item",onOpen:p,onClose:v}=_,x=f(_,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),N=rr(),w=gt(e),C=g.createElement(t,d(c({},x),{ref:r,"data-test-id":l,className:cx(N.navbarItem,w&&N.navbarItemMenuTrigger,m&&N.isActive,s)}),a&&g.createElement(Q,{icon:a,variant:"secondary"}),g.createElement("span",null,i),w&&g.createElement(Ge,{size:"tiny",isActive:m}));return w?g.createElement(W,{trigger:C,testId:l,onOpen:p,onClose:v},n):C}var gt=e=>!!e.children,ve=g.forwardRef(ut);var he=({estimatedWidth:e})=>{let r=tr();return g.createElement(SkeletonContainer,{className:r.itemSkeleton,svgWidth:e,svgHeight:32,backgroundColor:o.gray300,foregroundColor:o.gray200},g.createElement(SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:10,radiusX:o.borderRadiusSmall,radiusY:o.borderRadiusSmall}))};var nr=()=>({navbarMenuItem:css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var It="button";function St(e,r){let p=e,{as:t=It,icon:a,title:i,className:n}=p,s=f(p,["as","icon","title","className"]),m=nr(),l=Pt(e);return g.createElement(Menu.Item,d(c({},s),{ref:r,as:t,className:cx(m.navbarMenuItem,n)}),a?g.createElement(Q,{icon:a,variant:"secondary"}):l&&ir,g.createElement("span",null,i),a&&l?ir:null)}var ir=g.createElement(Q,{icon:g.createElement(ArrowSquareOutIcon,null),variant:"muted"}),Pt=e=>e.as==="a"&&e.target==="_blank",xe=g.forwardRef(St);var ye=({ariaLabel:e})=>g.createElement(Menu.Item,null,g.createElement(Flex,{alignItems:"center",gap:o.spacingXs},g.createElement(SkeletonContainer,{svgHeight:16,svgWidth:18},g.createElement(SkeletonImage,{width:16,height:16})),g.createElement(SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},g.createElement(SkeletonBodyText,{numberOfLines:1}))));var lr=()=>({navbarSwitcher:css({margin:0,padding:0,background:"none",border:"none",height:"max-content",color:o.gray700,cursor:"pointer",fontSize:o.fontSizeS,fontWeight:o.fontWeightMedium,position:"relative",outline:"none",borderRadius:"3rem","&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:hover li":{backgroundColor:"#f2f4f6"}},I()),switcherMenuIcon:css({height:o.spacingM,width:o.spacingM,fill:o.gray700}),switcherBreadcrumbs:css({listStyleType:"none",margin:0,padding:0,position:"relative"})});function Tt(e,r){let m=e,{children:t,className:a,testId:i="cf-ui-navbar-switcher"}=m,n=f(m,["children","className","testId"]),s=lr();return g.createElement(Flex,d(c({},n),{as:"button",ref:r,className:cx(s.navbarSwitcher,a),testId:i,alignItems:"center",fullHeight:!0,gap:"spacingXs"}),g.createElement(Flex,{as:"ul",alignItems:"center",className:s.switcherBreadcrumbs},t))}var Se=g.forwardRef(Tt);var Pe=({estimatedWidth:e})=>g.createElement(SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:o.gray300,foregroundColor:o.gray200},g.createElement(SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var Ot=Object.defineProperty,_t=Object.defineProperties,Dt=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,ur=Object.prototype.propertyIsEnumerable,dr=(e,r,t)=>r in e?Ot(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Wt=(e,r)=>{for(var t in r||(r={}))fr.call(r,t)&&dr(e,t,r[t]);if(se)for(var t of se(r))ur.call(r,t)&&dr(e,t,r[t]);return e},Ft=(e,r)=>_t(e,Dt(r)),$t=(e,r)=>{var t={};for(var a in e)fr.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&se)for(var a of se(e))r.indexOf(a)<0&&ur.call(e,a)&&(t[a]=e[a]);return t},Xt={large:"36px",medium:"20px",small:"14px"},Gt=()=>{let e={scale1:keyframes`
12
+ var Fr=Object.defineProperty,$r=Object.defineProperties;var Xr=Object.getOwnPropertyDescriptors;var oe=Object.getOwnPropertySymbols;var Oe=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;var He=(e,r,t)=>r in e?Fr(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,c=(e,r)=>{for(var t in r||(r={}))Oe.call(r,t)&&He(e,t,r[t]);if(oe)for(var t of oe(r))_e.call(r,t)&&He(e,t,r[t]);return e},d=(e,r)=>$r(e,Xr(r));var f=(e,r)=>{var t={};for(var a in e)Oe.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&oe)for(var a of oe(e))r.indexOf(a)<0&&_e.call(e,a)&&(t[a]=e[a]);return t};var M={medium:"@media (min-width: 480px)",large:"@media (min-width: 768px)",xlarge:"@media (min-width: 1920px)"},I=(e=o.glowPrimary)=>({"&:focus":{boxShadow:e},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:e}});var De=(e,r)=>({containerTop:css({justifyContent:"center",backgroundColor:o.gray100}),containerBottom:css({justifyContent:"center",backgroundColor:o.gray100}),containerTopContent:css({width:"100%",maxWidth:r==="wide"?"1524px":e,padding:o.spacingXs,minHeight:o.spacingL,[M.medium]:{padding:`${o.spacingXs} 20px`}}),containerBottomContent:css({width:"100%",maxWidth:r==="wide"?"1524px":e,padding:0,paddingTop:o.spacing2Xs,minHeight:"2.5rem",overflow:"auto",[M.medium]:{padding:`${o.spacing2Xs} ${o.spacingXs}`}}),logo:css({height:"28px",width:"28px"})});var We=generateIconComponent({name:"CircleIcon",viewBox:"0 0 24 24",path:g.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 Ge=generateComponentWithVariants({variants:{[IconVariant.Active]:generateIconComponent({path:g.createElement(g.Fragment,null,g.createElement("path",{d:"M10.0153 4.76531L6.2653 8.51531C6.23048 8.55018 6.18912 8.57784 6.14359 8.59671C6.09807 8.61558 6.04927 8.62529 5.99999 8.62529C5.95071 8.62529 5.90191 8.61558 5.85639 8.59671C5.81086 8.57784 5.76951 8.55018 5.73468 8.51531L1.98468 4.76531C1.93217 4.71287 1.89641 4.64602 1.88192 4.57324C1.86742 4.50046 1.87485 4.42501 1.90326 4.35645C1.93166 4.28789 1.97977 4.22931 2.0415 4.1881C2.10322 4.1469 2.17578 4.12494 2.24999 4.125H9.74999C9.8242 4.12494 9.89676 4.1469 9.95848 4.1881C10.0202 4.22931 10.0683 4.28789 10.0967 4.35645C10.1251 4.42501 10.1326 4.50046 10.1181 4.57324C10.1036 4.64602 10.0678 4.71287 10.0153 4.76531Z",fill:o.blue300})),viewBox:"0 0 12 12"}),[IconVariant.Default]:generateIconComponent({path:g.createElement(g.Fragment,null,g.createElement("path",{d:"M10.0153 4.76531L6.2653 8.51531C6.23048 8.55018 6.18912 8.57784 6.14359 8.59671C6.09807 8.61558 6.04927 8.62529 5.99999 8.62529C5.95071 8.62529 5.90191 8.61558 5.85639 8.59671C5.81086 8.57784 5.76951 8.55018 5.73468 8.51531L1.98468 4.76531C1.93217 4.71287 1.89641 4.64602 1.88192 4.57324C1.86742 4.50046 1.87485 4.42501 1.90326 4.35645C1.93166 4.28789 1.97977 4.22931 2.0415 4.1881C2.10322 4.1469 2.17578 4.12494 2.24999 4.125H9.74999C9.8242 4.12494 9.89676 4.1469 9.95848 4.1881C10.0202 4.22931 10.0683 4.28789 10.0967 4.35645C10.1251 4.42501 10.1326 4.50046 10.1181 4.57324C10.1036 4.64602 10.0678 4.71287 10.0153 4.76531Z",fill:o.gray400})),viewBox:"0 0 12 12"})}});var Ve=generateIconComponent({name:"HelpIcon",viewBox:"0 0 24 24",path:g.createElement(g.Fragment,null,g.createElement("g",{clipPath:"url(#HelpIcon_svg__a)"},g.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"})),g.createElement("defs",null,g.createElement("clipPath",{id:"HelpIcon_svg__a"},g.createElement("path",{fill:"currentFill",d:"M0 0h24v24H0z"}))))});var je=generateIconComponent({name:"SearchIcon",viewBox:"0 0 24 24",path:g.createElement(g.Fragment,null,g.createElement("g",{clipPath:"url(#SearchIcon_svg__a)"},g.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"})),g.createElement("defs",null,g.createElement("clipPath",{id:"SearchIcon_svg__a"},g.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"}))))});var Ue=generateIconComponent({name:"ContentfulLogoIcon",viewBox:"0 0 28 28",path:g.createElement(g.Fragment,null,g.createElement("path",{fill:"#1773EB",d:"M10.713 5.001c.845.843 1.167 2.079.845 3.228A6.663 6.663 0 0 1 15 7.276h.026a6.7 6.7 0 0 1 4.743 1.988 2.64 2.64 0 1 0 3.746-3.715A11.96 11.96 0 0 0 15.042 2h-.046a11.933 11.933 0 0 0-6.691 2.036h.074a3.287 3.287 0 0 1 2.334.967V5Z"}),g.createElement("path",{fill:"#E44F20",d:"M21.594 17.999a2.64 2.64 0 0 0-1.858.766 6.703 6.703 0 0 1-4.732 1.951h-.025a6.65 6.65 0 0 1-3.447-.968A3.3 3.3 0 0 1 8.35 23.93h-.086A11.926 11.926 0 0 0 14.96 26h.046a11.94 11.94 0 0 0 8.449-3.484 2.64 2.64 0 0 0-1.859-4.514V18h-.002Z"}),g.createElement("path",{fill:"#FFDA00",d:"M6.013 18.295a3.27 3.27 0 0 1 2.334-.967c.302 0 .603.04.894.122a6.7 6.7 0 0 1 .013-6.928A3.3 3.3 0 0 1 5.08 7.335v-.09a11.999 11.999 0 0 0-.032 13.453v-.07a3.27 3.27 0 0 1 .966-2.333Z"}),g.createElement("path",{fill:"#1773EB",d:"M8.379 4.62c-.75 0-1.276.312-1.913.949-.607.605-.798 1.135-.8 1.766A2.712 2.712 0 1 0 8.38 4.62Z"}),g.createElement("path",{fill:"#E44F20",d:"M5.628 20.631c0 .75.31 1.276.946 1.912.607.606 1.136.799 1.766.8a2.703 2.703 0 1 0-.017-5.407 2.703 2.703 0 0 0-2.695 2.704v-.009Z"}))});function Kr(e,r){let Z=e,{account:t,badge:a,bottomRightItems:s,children:n,className:i,contentMaxWidth:p="100%",help:l,logo:m,search:v,switcher:x,testId:N="cf-ui-navbar",topRightItems:w,variant:C="wide"}=Z,_=f(Z,["account","badge","bottomRightItems","children","className","contentMaxWidth","help","logo","search","switcher","testId","topRightItems","variant"]),R=De(p,C);return g.createElement(Box,d(c({},_),{ref:r,testId:N,className:i}),g.createElement(Flex,{className:R.containerTop},g.createElement(Flex,{className:R.containerTopContent,justifyContent:"space-between"},g.createElement(Flex,{alignItems:"center",gap:"spacingL"},m||g.createElement(Ue,{className:R.logo}),x),g.createElement(Flex,{alignItems:"center",gap:"spacingXs"},w,a,v,l,t))),g.createElement(Flex,{className:R.containerBottom},g.createElement(Flex,{className:R.containerBottomContent,justifyContent:"space-between"},g.createElement(Flex,{as:"nav","aria-label":"Main Navigation",gap:"spacingXs"},n),s&&g.createElement(Flex,null,s))))}var Ze=g.forwardRef(Kr);var et={warning:o.colorWarning,negative:o.colorNegative,info:o.blue500},qe=()=>({navbarAccount:css({margin:0,padding:0,border:0,cursor:"pointer",background:"none",position:"relative",outline:"none",overflow:"visible",borderRadius:"50%","&:before":css({content:'""',display:"block",position:"absolute",height:"24px",width:"24px",backgroundColor:"transparent",borderRadius:"50%"}),"&:hover:before":css({backgroundColor:hexToRGBA(o.gray300,.15)})},I()),avatar:css({borderRadius:"50%",display:"block",height:"24px",width:"24px"}),notificationIcon:e=>css({position:"absolute",top:0,right:0,height:o.spacingS,width:o.spacingS,borderRadius:"50%",border:`2px solid ${o.gray100}`,backgroundColor:et[e],transform:"translate(30%, -30%)"})});var Ye=()=>({menuList:css({minWidth:"250px"})});var W=e=>{let{trigger:r,children:t,testId:a="cf-ui-navbar-menu-list",onOpen:s,onClose:n}=e,i=Ye();return g.createElement(Menu,{onOpen:s,onClose:n},g.createElement(Menu.Trigger,null,r),g.createElement(Menu.List,{className:i.menuList,testId:a},t))};function nt(e,r){let N=e,{children:t,className:a,testId:s="cf-ui-navbar-account-trigger",avatar:n,initials:i,username:p,hasNotification:l,notificationVariant:m="warning"}=N,v=f(N,["children","className","testId","avatar","initials","username","hasNotification","notificationVariant"]),x=qe();return g.createElement(W,{trigger:g.createElement(Flex,d(c({as:"button"},v),{ref:r,className:cx(x.navbarAccount,a),testId:s,alignItems:"center"}),g.createElement(Avatar,{src:n,initials:i,size:"small",variant:"user"}),l?g.createElement("span",{className:x.notificationIcon(m)}):null)},t)}var ge=g.forwardRef(nt);function be({ariaLabel:e}){return g.createElement(SkeletonContainer,{svgWidth:24,svgHeight:24,ariaLabel:e,backgroundColor:o.gray300,foregroundColor:o.gray200},g.createElement(SkeletonImage,{width:24,height:24,radiusX:12,radiusY:12}))}var Qe=()=>css({backgroundColor:o.blue100,border:`1px solid ${o.blue400}`,color:o.blue600,"&:hover":{backgroundColor:o.blue100}}),er={display:"flex",justifyContent:"center",padding:`${o.spacing2Xs} ${o.spacingXs}`,alignItems:"center",background:"none",gap:o.spacing2Xs},rr=()=>({navbarItem:css(er,{alignItems:"center",background:"none",border:0,margin:0,outline:"none",fontSize:o.fontSizeM,lineHeight:o.lineHeightS,fontWeight:o.fontWeightMedium,position:"relative",textAlign:"left",whiteSpace:"nowrap",cursor:"pointer",hyphens:"auto",textDecoration:"none",color:o.gray800,boxSizing:"border-box",transition:`color ${o.transitionDurationShort} ${o.transitionEasingCubicBezier}`,borderRadius:o.borderRadiusMedium,"&:hover":{backgroundColor:hexToRGBA(o.gray900,.05)},"&:hover::before":{opacity:1,scale:"1"},"&:active::before":{backgroundColor:"rgba(255, 255, 255, 0.1)"},"&:disabled":{cursor:"auto"},"& svg":{transition:`fill ${o.transitionDurationShort} ${o.transitionEasingCubicBezier}`},"& > svg, & > span":{zIndex:o.zIndexDefault}},I()),navbarItemMenuTrigger:css({paddingRight:o.spacingXs}),isActive:Qe()}),tr=()=>({itemSkeleton:css(er)});var or=()=>({navbarItemIcon:css({"&:last-child":{marginLeft:o.spacing2Xs},"img&":{borderRadius:o.borderRadiusSmall,maxWidth:o.spacingM,maxHeight:o.spacingM}})});var Q=({icon:e,isActive:r})=>{let i=e.props,{className:t,size:a}=i,s=f(i,["className","size"]),n=or();return g.cloneElement(e,c({className:cx(t,n.navbarItemIcon),size:a||"small",isActive:r},s))};var ft="button";function ut(e,r){let _=e,{as:t=ft,icon:a,title:s,children:n,className:i,isActive:p,testId:l="cf-ui-navbar-item",onOpen:m,onClose:v}=_,x=f(_,["as","icon","title","children","className","isActive","testId","onOpen","onClose"]),N=rr(),w=gt(e),C=g.createElement(t,d(c({},x),{ref:r,"data-test-id":l,className:cx(N.navbarItem,w&&N.navbarItemMenuTrigger,p&&N.isActive,i)}),a&&g.createElement(Q,{icon:a,isActive:p}),g.createElement("span",null,s),w&&g.createElement(Ge,{size:"tiny",isActive:p}));return w?g.createElement(W,{trigger:C,testId:l,onOpen:m,onClose:v},n):C}var gt=e=>!!e.children,ve=g.forwardRef(ut);var he=({estimatedWidth:e})=>{let r=tr();return g.createElement(SkeletonContainer,{className:r.itemSkeleton,svgWidth:e,svgHeight:32,backgroundColor:o.gray300,foregroundColor:o.gray200},g.createElement(SkeletonText,{lineHeight:6,numberOfLines:1,offsetTop:10,radiusX:o.borderRadiusSmall,radiusY:o.borderRadiusSmall}))};var nr=()=>({navbarMenuItem:css({display:"flex",justifyContent:"flex-start",alignItems:"center"})});var It="button";function St(e,r){let m=e,{as:t=It,icon:a,title:s,className:n}=m,i=f(m,["as","icon","title","className"]),p=nr(),l=Pt(e);return g.createElement(Menu.Item,d(c({},i),{ref:r,as:t,className:cx(p.navbarMenuItem,n)}),a?g.createElement(Q,{icon:a}):l&&ir,g.createElement("span",null,s),a&&l?ir:null)}var ir=g.createElement(Q,{icon:g.createElement(ArrowSquareOutIcon,null)}),Pt=e=>e.as==="a"&&e.target==="_blank",xe=g.forwardRef(St);var ye=({ariaLabel:e})=>g.createElement(Menu.Item,null,g.createElement(Flex,{alignItems:"center",gap:o.spacingXs},g.createElement(SkeletonContainer,{svgHeight:16,svgWidth:18},g.createElement(SkeletonImage,{width:16,height:16})),g.createElement(SkeletonContainer,{svgHeight:16,svgWidth:190,ariaLabel:e},g.createElement(SkeletonBodyText,{numberOfLines:1}))));var lr=()=>({navbarSwitcher:css({margin:0,padding:0,background:"none",border:"none",height:"max-content",color:o.gray700,cursor:"pointer",fontSize:o.fontSizeS,fontWeight:o.fontWeightMedium,position:"relative",outline:"none",borderRadius:"3rem","&:after":{content:'""',border:"1px solid #353A41",boxSizing:"border-box",height:"16px",right:"-1px",position:"absolute",width:0},"&:last-child:after":{display:"none"},"&:hover li":{backgroundColor:"#f2f4f6"}},I()),switcherMenuIcon:css({height:o.spacingM,width:o.spacingM,fill:o.gray700}),switcherBreadcrumbs:css({listStyleType:"none",margin:0,padding:0,position:"relative"})});function Tt(e,r){let p=e,{children:t,className:a,testId:s="cf-ui-navbar-switcher"}=p,n=f(p,["children","className","testId"]),i=lr();return g.createElement(Flex,d(c({},n),{as:"button",ref:r,className:cx(i.navbarSwitcher,a),testId:s,alignItems:"center",fullHeight:!0,gap:"spacingXs"}),g.createElement(Flex,{as:"ul",alignItems:"center",className:i.switcherBreadcrumbs},t))}var Se=g.forwardRef(Tt);var Pe=({estimatedWidth:e})=>g.createElement(SkeletonContainer,{svgWidth:e,svgHeight:24,backgroundColor:o.gray300,foregroundColor:o.gray200},g.createElement(SkeletonDisplayText,{lineHeight:24,numberOfLines:1,radiusX:12,radiusY:12}));var Ot=Object.defineProperty,_t=Object.defineProperties,Dt=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,ur=Object.prototype.propertyIsEnumerable,dr=(e,r,t)=>r in e?Ot(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Wt=(e,r)=>{for(var t in r||(r={}))fr.call(r,t)&&dr(e,t,r[t]);if(se)for(var t of se(r))ur.call(r,t)&&dr(e,t,r[t]);return e},Ft=(e,r)=>_t(e,Dt(r)),$t=(e,r)=>{var t={};for(var a in e)fr.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&se)for(var a of se(e))r.indexOf(a)<0&&ur.call(e,a)&&(t[a]=e[a]);return t},Xt={large:"36px",medium:"20px",small:"14px"},Gt=()=>{let e={scale1:keyframes`
13
13
  0% {
14
14
  transform: scale(1, 1);
15
15
  }
@@ -207,9 +207,9 @@ var Fr=Object.defineProperty,$r=Object.defineProperties;var Xr=Object.getOwnProp
207
207
  100% {
208
208
  transform: translate(50px, 33.528168px);
209
209
  }
210
- `};return {root:r=>css({height:r.customSize?`${r.customSize}px`:void 0,verticalAlign:"middle",width:r.customSize?`${r.customSize}px`:Xt[r.size]}),circle1Scale:css({animation:`${e.scale1} 1s linear infinite normal forwards;`}),circle2Scale:css({animation:`${e.scale2} 1s linear infinite normal forwards;`}),circle3Scale:css({animation:`${e.scale3} 1s linear infinite normal forwards;`}),circle1Translate:css({animation:`${e.translate1} 1s linear infinite normal forwards;`}),circle2Translate:css({animation:`${e.translate2} 1s linear infinite normal forwards;`}),circle3Translate:css({animation:`${e.translate3} 1s linear infinite normal forwards;`})}},Vt="div",jt={default:o.gray700,primary:o.blue500,white:o.colorWhite},Ce=forwardRef((e,r)=>{var t=e,{className:a,customSize:i,size:n="medium",variant:s="default",testId:m="cf-ui-spinner"}=t,l=$t(t,["className","customSize","size","variant","testId"]);let p=Gt();return g.createElement(Box,Ft(Wt({as:Vt,display:"inline-block"},l),{className:cx(p.root({size:n,customSize:i}),a),ref:r,testId:m}),g.createElement("svg",{className:css({display:"block",fill:jt[s]}),viewBox:"0 0 60 51",xmlns:"http://www.w3.org/2000/svg"},g.createElement("title",null,"Loading\u2026"),g.createElement("g",{className:p.circle1Translate,transform:"translate(10,33.528168)"},g.createElement("g",{className:p.circle1Scale},g.createElement("circle",{r:"6",transform:"translate(0,10.471832)"}))),g.createElement("g",{className:p.circle2Translate,transform:"translate(30,33.528168)"},g.createElement("g",{className:p.circle2Scale},g.createElement("circle",{r:"6",transform:"translate(0,10.471832)"}))),g.createElement("g",{className:p.circle3Translate,transform:"translate(50,33.528168)"},g.createElement("g",{className:p.circle3Scale},g.createElement("circle",{r:"6",transform:"translate(0,10.471832)"})))))});Ce.displayName="Spinner";var qt=Object.defineProperty,Yt=Object.defineProperties,Jt=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,vr=Object.prototype.hasOwnProperty,hr=Object.prototype.propertyIsEnumerable,gr=(e,r,t)=>r in e?qt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,y=(e,r)=>{for(var t in r||(r={}))vr.call(r,t)&&gr(e,t,r[t]);if(le)for(var t of le(r))hr.call(r,t)&&gr(e,t,r[t]);return e},Ee=(e,r)=>Yt(e,Jt(r)),ke=(e,r)=>{var t={};for(var a in e)vr.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&le)for(var a of le(e))r.indexOf(a)<0&&hr.call(e,a)&&(t[a]=e[a]);return t},Kt=({withDivider:e})=>{let r=Qt(e);return {buttonGroup:css({display:"inline-flex",position:"relative"}),groupContent:css(y({borderRadius:"0 !important",marginRight:"-1px","&:first-child":{borderBottomLeftRadius:`${o.borderRadiusMedium} !important`,borderTopLeftRadius:`${o.borderRadiusMedium} !important`},"&:last-child":{borderBottomRightRadius:`${o.borderRadiusMedium} !important`,borderTopRightRadius:`${o.borderRadiusMedium} !important`,marginRight:0},"&:focus":{zIndex:o.zIndexDefault}},r))}},Qt=e=>{if(!e)return {};let r=`1px solid ${hexToRGBA(o.colorWhite,.2)}`;return {borderTop:"none",borderBottom:"none","&:not(:first-child,:focus-visible)":{borderLeft:r},"&:not(:last-child,:focus-visible)":{borderRight:r}}};function xr(e,r){let{variant:t="merged",withDivider:a,testId:i="cf-ui-button-group",children:n,className:s,spacing:m}=e,l=Kt({withDivider:a});return t==="spaced"?g.createElement(Stack,{className:s,isInline:!0,flexDirection:"row",testId:i,ref:r,spacing:m},n):g.createElement(Box,{testId:i,ref:r,className:cx(l.buttonGroup,s)},g.Children.map(n,(p,v)=>p?g.cloneElement(p,{key:v,className:cx(l.groupContent,p.props.className)}):null))}xr.displayName="ButtonGroup";g.forwardRef(xr);var j=e=>{switch(e){case"primary":return {backgroundColor:o.blue700};case"secondary":return {backgroundColor:o.gray200};case"positive":return {backgroundColor:o.green700};case"negative":return {backgroundColor:o.gray200};case"transparent":return {backgroundColor:hexToRGBA(o.gray900,.1)};default:return {}}},eo=e=>{switch(e){case"primary":return {color:o.colorWhite,backgroundColor:o.blue500,borderColor:"transparent","&:hover":{backgroundColor:o.blue600,color:o.colorWhite},"&:active":j(e),"&:focus-visible":{boxShadow:o.glowPrimary}};case"secondary":return {color:o.gray900,backgroundColor:o.colorWhite,borderColor:o.gray300,"&:hover":{backgroundColor:o.gray100,color:o.gray900},"&:active":j(e),"&:focus":{boxShadow:o.glowPrimary},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:o.glowPrimary}};case"positive":return {color:o.colorWhite,backgroundColor:o.green500,borderColor:"transparent","&:hover":{backgroundColor:o.green600,color:o.colorWhite},"&:active":j(e),"&:focus-visible":{boxShadow:o.glowPositive}};case"negative":return {color:o.red600,backgroundColor:o.colorWhite,borderColor:o.gray300,"&:hover":{backgroundColor:o.gray100,color:o.red600},"&:active":j(e),"&:focus-visible":{boxShadow:o.glowNegative}};case"transparent":return {color:o.gray900,background:"none",borderColor:"transparent",boxShadow:"none","&:hover":{backgroundColor:hexToRGBA(o.gray900,.05)},"&:active":j(e),"&:focus":{boxShadow:o.glowPrimary},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:o.glowPrimary}};default:return {}}},ro=(e,r)=>{let t=r==="high";switch(e){case"small":return {fontSize:t?o.fontSizeS:o.fontSizeM,lineHeight:o.lineHeightCondensed,padding:t?`${o.spacing2Xs} ${o.spacingXs}`:`${o.spacing2Xs} ${o.spacingS}`,minHeight:t?o.spacingL:o.spacingXl};case"medium":return {fontSize:t?o.fontSizeS:o.fontSizeM,lineHeight:o.lineHeightCondensed,padding:t?`${o.spacingXs} ${o.spacingS}`:`${o.spacingXs} ${o.spacingM}`,minHeight:t?o.spacingXl:"40px"};case"large":return {fontSize:o.fontSizeXl,lineHeight:o.lineHeightXl,padding:`${o.spacingXs} ${o.spacingM}`,minHeight:"48px"};default:return {}}},to=({hasChildren:e,variant:r})=>{let t={"&:first-child":{marginRight:o.spacing2Xs},"&:last-child":{marginLeft:o.spacing2Xs}};return css([e?t:{},r!=="transparent"&&e&&{"& svg":{fill:"currentColor"}}])},oo=()=>({button:({variant:e,size:r,density:t,isActive:a,isDisabled:i,isFullWidth:n})=>css(y(y(y({boxSizing:"border-box",border:"1px solid",boxShadow:"0px 1px 0px rgb(25, 37, 50, 0.08)",borderRadius:t==="high"?o.borderRadiusSmall:o.borderRadiusMedium,cursor:i?"not-allowed":"pointer",fontFamily:o.fontStackPrimary,opacity:i?.5:1,display:n?"flex":"inline-flex",minWidth:n?"100%":"auto",maxWidth:n?"100%":"240px",overflow:"hidden",flexShrink:0,justifyContent:"center",alignItems:"center",fontWeight:o.fontWeightMedium,outline:"none",textDecoration:"none",margin:0,transition:`background ${o.transitionDurationShort} ${o.transitionEasingDefault},
210
+ `};return {root:r=>css({height:r.customSize?`${r.customSize}px`:void 0,verticalAlign:"middle",width:r.customSize?`${r.customSize}px`:Xt[r.size]}),circle1Scale:css({animation:`${e.scale1} 1s linear infinite normal forwards;`}),circle2Scale:css({animation:`${e.scale2} 1s linear infinite normal forwards;`}),circle3Scale:css({animation:`${e.scale3} 1s linear infinite normal forwards;`}),circle1Translate:css({animation:`${e.translate1} 1s linear infinite normal forwards;`}),circle2Translate:css({animation:`${e.translate2} 1s linear infinite normal forwards;`}),circle3Translate:css({animation:`${e.translate3} 1s linear infinite normal forwards;`})}},Vt="div",jt={default:o.gray700,primary:o.blue500,white:o.colorWhite},Ce=forwardRef((e,r)=>{var t=e,{className:a,customSize:s,size:n="medium",variant:i="default",testId:p="cf-ui-spinner"}=t,l=$t(t,["className","customSize","size","variant","testId"]);let m=Gt();return g.createElement(Box,Ft(Wt({as:Vt,display:"inline-block"},l),{className:cx(m.root({size:n,customSize:s}),a),ref:r,testId:p}),g.createElement("svg",{className:css({display:"block",fill:jt[i]}),viewBox:"0 0 60 51",xmlns:"http://www.w3.org/2000/svg"},g.createElement("title",null,"Loading\u2026"),g.createElement("g",{className:m.circle1Translate,transform:"translate(10,33.528168)"},g.createElement("g",{className:m.circle1Scale},g.createElement("circle",{r:"6",transform:"translate(0,10.471832)"}))),g.createElement("g",{className:m.circle2Translate,transform:"translate(30,33.528168)"},g.createElement("g",{className:m.circle2Scale},g.createElement("circle",{r:"6",transform:"translate(0,10.471832)"}))),g.createElement("g",{className:m.circle3Translate,transform:"translate(50,33.528168)"},g.createElement("g",{className:m.circle3Scale},g.createElement("circle",{r:"6",transform:"translate(0,10.471832)"})))))});Ce.displayName="Spinner";var qt=Object.defineProperty,Yt=Object.defineProperties,Jt=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,vr=Object.prototype.hasOwnProperty,hr=Object.prototype.propertyIsEnumerable,gr=(e,r,t)=>r in e?qt(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,y=(e,r)=>{for(var t in r||(r={}))vr.call(r,t)&&gr(e,t,r[t]);if(le)for(var t of le(r))hr.call(r,t)&&gr(e,t,r[t]);return e},Ee=(e,r)=>Yt(e,Jt(r)),ke=(e,r)=>{var t={};for(var a in e)vr.call(e,a)&&r.indexOf(a)<0&&(t[a]=e[a]);if(e!=null&&le)for(var a of le(e))r.indexOf(a)<0&&hr.call(e,a)&&(t[a]=e[a]);return t},Kt=({withDivider:e})=>{let r=Qt(e);return {buttonGroup:css({display:"inline-flex",position:"relative"}),groupContent:css(y({borderRadius:"0 !important",marginRight:"-1px","&:first-child":{borderBottomLeftRadius:`${o.borderRadiusMedium} !important`,borderTopLeftRadius:`${o.borderRadiusMedium} !important`},"&:last-child":{borderBottomRightRadius:`${o.borderRadiusMedium} !important`,borderTopRightRadius:`${o.borderRadiusMedium} !important`,marginRight:0},"&:focus":{zIndex:o.zIndexDefault}},r))}},Qt=e=>{if(!e)return {};let r=`1px solid ${hexToRGBA(o.colorWhite,.2)}`;return {borderTop:"none",borderBottom:"none","&:not(:first-child,:focus-visible)":{borderLeft:r},"&:not(:last-child,:focus-visible)":{borderRight:r}}};function xr(e,r){let{variant:t="merged",withDivider:a,testId:s="cf-ui-button-group",children:n,className:i,spacing:p}=e,l=Kt({withDivider:a});return t==="spaced"?g.createElement(Stack,{className:i,isInline:!0,flexDirection:"row",testId:s,ref:r,spacing:p},n):g.createElement(Box,{testId:s,ref:r,className:cx(l.buttonGroup,i)},g.Children.map(n,(m,v)=>m?g.cloneElement(m,{key:v,className:cx(l.groupContent,m.props.className)}):null))}xr.displayName="ButtonGroup";g.forwardRef(xr);var j=e=>{switch(e){case"primary":return {backgroundColor:o.blue700};case"secondary":return {backgroundColor:o.gray200};case"positive":return {backgroundColor:o.green700};case"negative":return {backgroundColor:o.gray200};case"transparent":return {backgroundColor:hexToRGBA(o.gray900,.1)};default:return {}}},eo=e=>{switch(e){case"primary":return {color:o.colorWhite,backgroundColor:o.blue500,borderColor:"transparent","&:hover":{backgroundColor:o.blue600,color:o.colorWhite},"&:active":j(e),"&:focus-visible":{boxShadow:o.glowPrimary}};case"secondary":return {color:o.gray900,backgroundColor:o.colorWhite,borderColor:o.gray300,"&:hover":{backgroundColor:o.gray100,color:o.gray900},"&:active":j(e),"&:focus":{boxShadow:o.glowPrimary},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:o.glowPrimary}};case"positive":return {color:o.colorWhite,backgroundColor:o.green500,borderColor:"transparent","&:hover":{backgroundColor:o.green600,color:o.colorWhite},"&:active":j(e),"&:focus-visible":{boxShadow:o.glowPositive}};case"negative":return {color:o.red600,backgroundColor:o.colorWhite,borderColor:o.gray300,"&:hover":{backgroundColor:o.gray100,color:o.red600},"&:active":j(e),"&:focus-visible":{boxShadow:o.glowNegative}};case"transparent":return {color:o.gray900,background:"none",borderColor:"transparent",boxShadow:"none","&:hover":{backgroundColor:hexToRGBA(o.gray900,.05)},"&:active":j(e),"&:focus":{boxShadow:o.glowPrimary},"&:focus:not(:focus-visible)":{boxShadow:"unset"},"&:focus-visible":{boxShadow:o.glowPrimary}};default:return {}}},ro=(e,r)=>{let t=r==="high";switch(e){case"small":return {fontSize:t?o.fontSizeS:o.fontSizeM,lineHeight:o.lineHeightCondensed,padding:t?`${o.spacing2Xs} ${o.spacingXs}`:`${o.spacing2Xs} ${o.spacingS}`,minHeight:t?o.spacingL:o.spacingXl};case"medium":return {fontSize:t?o.fontSizeS:o.fontSizeM,lineHeight:o.lineHeightCondensed,padding:t?`${o.spacingXs} ${o.spacingS}`:`${o.spacingXs} ${o.spacingM}`,minHeight:t?o.spacingXl:"40px"};case"large":return {fontSize:o.fontSizeXl,lineHeight:o.lineHeightXl,padding:`${o.spacingXs} ${o.spacingM}`,minHeight:"48px"};default:return {}}},to=({hasChildren:e,variant:r})=>{let t={"&:first-child":{marginRight:o.spacing2Xs},"&:last-child":{marginLeft:o.spacing2Xs}};return css([e?t:{},r!=="transparent"&&e&&{"& svg":{fill:"currentColor"}}])},oo=()=>({button:({variant:e,size:r,density:t,isActive:a,isDisabled:s,isFullWidth:n})=>css(y(y(y({boxSizing:"border-box",border:"1px solid",boxShadow:"0px 1px 0px rgb(25, 37, 50, 0.08)",borderRadius:t==="high"?o.borderRadiusSmall:o.borderRadiusMedium,cursor:s?"not-allowed":"pointer",fontFamily:o.fontStackPrimary,opacity:s?.5:1,display:n?"flex":"inline-flex",minWidth:n?"100%":"auto",maxWidth:n?"100%":"240px",overflow:"hidden",flexShrink:0,justifyContent:"center",alignItems:"center",fontWeight:o.fontWeightMedium,outline:"none",textDecoration:"none",margin:0,transition:`background ${o.transitionDurationShort} ${o.transitionEasingDefault},
211
211
  opacity ${o.transitionDurationDefault} ${o.transitionEasingDefault},
212
- border-color ${o.transitionDurationDefault} ${o.transitionEasingDefault}`},eo(e)),ro(r,t)),a?{transition:"none","&, &:focus":j(e)}:{})),buttonIcon:to,buttonContent:css({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})}),ao="button";function yr(e,r){let t=oo(),a=e,{as:i=ao,children:n,className:s,testId:m="cf-ui-button",variant:l="secondary",size:p="medium",startIcon:v,endIcon:x,isActive:N,isDisabled:w,isLoading:C,isFullWidth:_,style:R}=a,Z=ke(a,["as","children","className","testId","variant","size","startIcon","endIcon","isActive","isDisabled","isLoading","isFullWidth","style"]),_r=useDensity(),Dr=cx(t.button({variant:l,size:p,density:_r,isActive:N,isDisabled:w,isFullWidth:_}),s),Re=q=>{var Le;let Wr={primary:"white",secondary:"secondary",positive:"white",negative:"negative",transparent:"secondary"};return !C&&g.createElement(Flex,{as:"span",className:t.buttonIcon({hasChildren:!!n,variant:l})},g.cloneElement(q,{size:(Le=q.props.size)!=null?Le:`${p==="large"?"medium":"small"}`,color:l==="transparent"&&q.props.variant===void 0&&q.props.color||"currentColor",variant:l==="transparent"&&q.props.variant||Wr[l]}))},Be=g.createElement(g.Fragment,null,v&&Re(v),n&&g.createElement(Box,{as:"span",display:"block",className:t.buttonContent},n),x&&Re(x),C&&g.createElement(Box,{as:"span",marginLeft:n||!C?"spacingXs":"none"},g.createElement(Ce,{customSize:18,variant:l==="secondary"||l==="negative"||l==="transparent"?"default":"white"}))),ze={"data-test-id":m,className:Dr,ref:r,style:R};return i==="a"?g.createElement("a",Ee(y(y({},Z),ze),{disabled:w}),Be):g.createElement("button",Ee(y(y({type:"button"},Z),ze),{disabled:w}),Be)}yr.displayName="Button";var pe=g.forwardRef(yr),no=({isActive:e,isDisabled:r})=>{let t={background:o.blue100,borderColor:o.blue600,"&":{zIndex:o.zIndexDefault+1},"&:hover":{background:o.blue100}},a={"&:focus":{boxShadow:o.glowPrimary},"&:focus-visible:not([disabled])":{zIndex:o.zIndexDefault+2},"&:active, &:active:hover":r?{background:o.colorWhite,borderColor:o.gray300}:{background:o.blue100,borderColor:o.blue600}};return e?y(y({},a),t):a},io=({isActive:e,isDisabled:r})=>({toggleButton:css(no({isActive:e,isDisabled:r}))});function Nr(e,r){let t=e,{testId:a="cf-ui-toggle-button",children:i,className:n,isDisabled:s=!1,isActive:m=!1,icon:l,onToggle:p,size:v="medium"}=t,x=ke(t,["testId","children","className","isDisabled","isActive","icon","onToggle","size"]),N=io({isActive:m,isDisabled:s});return g.createElement(pe,y({testId:a,type:"button",ref:r,size:v,onClick:()=>{!s&&p&&p();},className:cx(N.toggleButton,n),startIcon:l,isDisabled:s,"aria-pressed":m,"data-state":m?"on":"off"},x),i)}Nr.displayName="ToggleButton";g.forwardRef(Nr);function so(e,r){let t=r==="high";switch(e){case"small":return {padding:t?`${o.spacing2Xs}`:o.spacing2Xs,minHeight:t?o.spacingL:o.spacingXl,minWidth:t?o.spacingL:o.spacingXl};case"medium":return {padding:o.spacingXs,minHeight:t?o.spacingXl:"40px",minWidth:t?o.spacingXl:"40px"};default:return {}}}function lo({size:e,density:r}){return {iconButton:css(y({},so(e,r)))}}function Ir(e,r){let t=e,{testId:a="cf-ui-icon-button",variant:i="transparent",icon:n,className:s,size:m="medium"}=t,l=ke(t,["testId","variant","icon","className","size"]),p=useDensity(),v=lo({size:m,density:p});return g.createElement(pe,Ee(y({testId:a,ref:r,variant:i,className:cx(v.iconButton,s),size:m},l),{startIcon:n}))}Ir.displayName="IconButton";var Sr=g.forwardRef(Ir);var Pr=()=>({navbarSearch:css({minWidth:"24px",width:"24px",minHeight:"24px",height:"24px",svg:{fill:o.gray700}},I())});function fo(e,r){let s=e,{className:t,testId:a="cf-ui-navbar-search"}=s,i=f(s,["className","testId"]),n=Pr();return g.createElement(Sr,d(c({"aria-label":"Quick Search"},i),{variant:"transparent",ref:r,size:"small",className:cx(n.navbarSearch,t),testId:a,icon:g.createElement(je,{size:"medium"})}))}var wr=g.forwardRef(fo);var Cr={display:"none","&:first-child":{display:"block"},[M.medium]:{display:"block","&:first-child":{display:"none"}}},Mr=()=>({breadcrumbsItem:css({position:"relative",alignItems:"center",justifyContent:"center",border:`solid 1px ${o.gray300}`,borderLeft:"none",display:"inline-flex",margin:0,minWidth:0,padding:`0 ${o.spacingXs}`,height:o.spacingL,borderRadius:"3rem",zIndex:2,whiteSpace:"nowrap","&:first-child":{minWidth:"24px"},"&:nth-child(2)":{zIndex:1,marginLeft:"-10px",paddingLeft:o.spacingM,borderRadius:"0 3rem 3rem 0",span:{maxWidth:"80px",textOverflow:"ellipsis",overflow:"hidden",[M.large]:{maxWidth:"100%"}}},"&:nth-child(3)":{marginLeft:"-10px",paddingLeft:o.spacingM,borderRadius:"0 3rem 3rem 0",fontFamily:o.fontStackMonospace,fontSize:o.fontSizeS,fontWeight:o.fontWeightMedium,zIndex:0,span:{maxWidth:"40px",textOverflow:"ellipsis",overflow:"hidden",[M.large]:{maxWidth:"100%"}},"> div":{[M.medium]:{gap:o.spacing2Xs}}}}),breadcrumbsItemCircle:css({border:`solid 1px ${o.gray300}`,borderRadius:"50%",color:o.gray400,padding:0,display:"flex",justifyContent:"center",fontSize:"11px",width:o.spacingL,height:o.spacingL}),breadcrumbsItemEnvMaster:css({color:o.green600," svg":d(c({},Cr),{fill:o.green600})}),breadcrumbsItemEnvNonMaster:css({color:o.orange500,svg:d(c({},Cr),{fill:o.orange500})})});function Er({isAlias:e}){return g.createElement(g.Fragment,null,g.createElement(We,{key:"mobile-icon",size:"tiny"}),e?g.createElement(EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):g.createElement(EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function ho(e,r){let x=e,{children:t,isCircle:a,className:i,envVariant:n,isAlias:s,testId:m="cf-ui-navbar-switcher-item"}=x,l=f(x,["children","isCircle","className","envVariant","isAlias","testId"]),p=Mr(),v=cx(p.breadcrumbsItem,i,{[p.breadcrumbsItemCircle]:a,[p.breadcrumbsItemEnvMaster]:n==="master",[p.breadcrumbsItemEnvNonMaster]:n==="non-master"});return g.createElement("li",d(c({},l),{ref:r,className:v,"data-test-id":m}),g.createElement(Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&g.createElement(Er,{isAlias:s}),g.createElement("span",null,t)))}var Ar=g.forwardRef(ho);var kr=()=>({navbarHelp:css({fontSize:o.fontSizeS,padding:`0 ${o.spacing2Xs}`,width:"max-content",minHeight:"24px",height:"24px",color:o.gray700,svg:{fill:o.gray700}},I())});function No(e,r){let m=e,{children:t,className:a,testId:i="cf-ui-navbar-help-trigger"}=m,n=f(m,["children","className","testId"]),s=kr();return g.createElement(W,{testId:"cf-ui-navbar-help-menu",trigger:g.createElement(pe,d(c({"aria-label":"Help Menu"},n),{as:"button",ref:r,className:cx(s.navbarHelp,a),testId:i,variant:"transparent",size:"small",startIcon:g.createElement(Ve,{size:"medium"})}),"Help")},t)}var Tr=g.forwardRef(No);var Rr=()=>({navbarBadge:css({display:"flex",justifyContent:"center",alignItems:"center",background:"none",border:`1px solid ${o.purple600}`,margin:0,outline:"none",fontSize:o.fontSizeS,lineHeight:o.lineHeightS,fontWeight:o.fontWeightMedium,textAlign:"center",padding:`0 ${o.spacingXs}`,textDecoration:"none",color:`${o.purple600}!important`,borderRadius:"1.75rem"})});var Po="div";function wo(e,r){let l=e,{as:t=Po,children:a,className:i,testId:n="cf-ui-navbar-badge"}=l,s=f(l,["as","children","className","testId"]),m=Rr();return g.createElement(t,d(c({},s),{ref:r,className:cx(m.navbarBadge,i),"data-test-id":n}),a)}var zr=g.forwardRef(wo);var Lr=()=>({navbarTopItem:css({margin:0,background:"none",border:"1px solid",borderColor:"transparent",cursor:"pointer",display:"flex",gap:o.spacing2Xs,alignItems:"center",lineHeight:o.lineHeightDefault,color:o.gray700,padding:`0 ${o.spacing2Xs}`,minHeight:"24px",fontSize:o.fontSizeS,fontWeight:o.fontWeightMedium,outline:"none",borderRadius:o.borderRadiusMedium,"&:hover":{backgroundColor:hexToRGBA(o.gray900,.05)},svg:{fill:"currentColor"}},I())});var Ao="button";function ko(e,r){let l=e,{as:t=Ao,children:a,className:i,testId:n="cf-ui-navbar-topbar-item"}=l,s=f(l,["as","children","className","testId"]),m=Lr();return g.createElement(t,d(c({},s),{ref:r,className:cx(m.navbarTopItem,i),"data-test-id":n}),a)}var Or=g.forwardRef(ko);var h=Ze;h.Item=ve;h.ItemSkeleton=he;h.MenuItem=xe;h.MenuItemSkeleton=ye;h.MenuDivider=MenuDivider;h.MenuSectionTitle=MenuSectionTitle;h.Switcher=Se;h.SwitcherSkeleton=Pe;h.SwitcherItem=Ar;h.Search=wr;h.Help=Tr;h.Account=ge;h.AccountSkeleton=be;h.Badge=zr;h.TopbarItem=Or;
212
+ border-color ${o.transitionDurationDefault} ${o.transitionEasingDefault}`},eo(e)),ro(r,t)),a?{transition:"none","&, &:focus":j(e)}:{})),buttonIcon:to,buttonContent:css({whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"})}),ao="button";function yr(e,r){let t=oo(),a=e,{as:s=ao,children:n,className:i,testId:p="cf-ui-button",variant:l="secondary",size:m="medium",startIcon:v,endIcon:x,isActive:N,isDisabled:w,isLoading:C,isFullWidth:_,style:R}=a,Z=ke(a,["as","children","className","testId","variant","size","startIcon","endIcon","isActive","isDisabled","isLoading","isFullWidth","style"]),_r=useDensity(),Dr=cx(t.button({variant:l,size:m,density:_r,isActive:N,isDisabled:w,isFullWidth:_}),i),Re=q=>{var Le;let Wr={primary:"white",secondary:"secondary",positive:"white",negative:"negative",transparent:"secondary"};return !C&&g.createElement(Flex,{as:"span",className:t.buttonIcon({hasChildren:!!n,variant:l})},g.cloneElement(q,{size:(Le=q.props.size)!=null?Le:`${m==="large"?"medium":"small"}`,color:l==="transparent"&&q.props.variant===void 0&&q.props.color||"currentColor",variant:l==="transparent"&&q.props.variant||Wr[l]}))},Be=g.createElement(g.Fragment,null,v&&Re(v),n&&g.createElement(Box,{as:"span",display:"block",className:t.buttonContent},n),x&&Re(x),C&&g.createElement(Box,{as:"span",marginLeft:n||!C?"spacingXs":"none"},g.createElement(Ce,{customSize:18,variant:l==="secondary"||l==="negative"||l==="transparent"?"default":"white"}))),ze={"data-test-id":p,className:Dr,ref:r,style:R};return s==="a"?g.createElement("a",Ee(y(y({},Z),ze),{disabled:w}),Be):g.createElement("button",Ee(y(y({type:"button"},Z),ze),{disabled:w}),Be)}yr.displayName="Button";var pe=g.forwardRef(yr),no=({isActive:e,isDisabled:r})=>{let t={background:o.blue100,borderColor:o.blue600,"&":{zIndex:o.zIndexDefault+1},"&:hover":{background:o.blue100}},a={"&:focus":{boxShadow:o.glowPrimary},"&:focus-visible:not([disabled])":{zIndex:o.zIndexDefault+2},"&:active, &:active:hover":r?{background:o.colorWhite,borderColor:o.gray300}:{background:o.blue100,borderColor:o.blue600}};return e?y(y({},a),t):a},io=({isActive:e,isDisabled:r})=>({toggleButton:css(no({isActive:e,isDisabled:r}))});function Nr(e,r){let t=e,{testId:a="cf-ui-toggle-button",children:s,className:n,isDisabled:i=!1,isActive:p=!1,icon:l,onToggle:m,size:v="medium"}=t,x=ke(t,["testId","children","className","isDisabled","isActive","icon","onToggle","size"]),N=io({isActive:p,isDisabled:i});return g.createElement(pe,y({testId:a,type:"button",ref:r,size:v,onClick:()=>{!i&&m&&m();},className:cx(N.toggleButton,n),startIcon:l,isDisabled:i,"aria-pressed":p,"data-state":p?"on":"off"},x),s)}Nr.displayName="ToggleButton";g.forwardRef(Nr);function so(e,r){let t=r==="high";switch(e){case"small":return {padding:t?`${o.spacing2Xs}`:o.spacing2Xs,minHeight:t?o.spacingL:o.spacingXl,minWidth:t?o.spacingL:o.spacingXl};case"medium":return {padding:o.spacingXs,minHeight:t?o.spacingXl:"40px",minWidth:t?o.spacingXl:"40px"};default:return {}}}function lo({size:e,density:r}){return {iconButton:css(y({},so(e,r)))}}function Ir(e,r){let t=e,{testId:a="cf-ui-icon-button",variant:s="transparent",icon:n,className:i,size:p="medium"}=t,l=ke(t,["testId","variant","icon","className","size"]),m=useDensity(),v=lo({size:p,density:m});return g.createElement(pe,Ee(y({testId:a,ref:r,variant:s,className:cx(v.iconButton,i),size:p},l),{startIcon:n}))}Ir.displayName="IconButton";var Sr=g.forwardRef(Ir);var Pr=()=>({navbarSearch:css({minWidth:"24px",width:"24px",minHeight:"24px",height:"24px",svg:{fill:o.gray700}},I())});function fo(e,r){let i=e,{className:t,testId:a="cf-ui-navbar-search"}=i,s=f(i,["className","testId"]),n=Pr();return g.createElement(Sr,d(c({"aria-label":"Quick Search"},s),{variant:"transparent",ref:r,size:"small",className:cx(n.navbarSearch,t),testId:a,icon:g.createElement(je,{size:"medium"})}))}var wr=g.forwardRef(fo);var Cr={display:"none","&:first-child":{display:"block"},[M.medium]:{display:"block","&:first-child":{display:"none"}}},Mr=()=>({breadcrumbsItem:css({position:"relative",alignItems:"center",justifyContent:"center",border:`solid 1px ${o.gray300}`,borderLeft:"none",display:"inline-flex",margin:0,minWidth:0,padding:`0 ${o.spacingXs}`,height:o.spacingL,borderRadius:"3rem",zIndex:2,whiteSpace:"nowrap","&:first-child":{minWidth:"24px"},"&:nth-child(2)":{zIndex:1,marginLeft:"-10px",paddingLeft:o.spacingM,borderRadius:"0 3rem 3rem 0",span:{maxWidth:"80px",textOverflow:"ellipsis",overflow:"hidden",[M.large]:{maxWidth:"100%"}}},"&:nth-child(3)":{marginLeft:"-10px",paddingLeft:o.spacingM,borderRadius:"0 3rem 3rem 0",fontFamily:o.fontStackMonospace,fontSize:o.fontSizeS,fontWeight:o.fontWeightMedium,zIndex:0,span:{maxWidth:"40px",textOverflow:"ellipsis",overflow:"hidden",[M.large]:{maxWidth:"100%"}},"> div":{[M.medium]:{gap:o.spacing2Xs}}}}),breadcrumbsItemCircle:css({border:`solid 1px ${o.gray300}`,borderRadius:"50%",color:o.gray400,padding:0,display:"flex",justifyContent:"center",fontSize:"11px",width:o.spacingL,height:o.spacingL}),breadcrumbsItemEnvMaster:css({color:o.green600," svg":d(c({},Cr),{fill:o.green600})}),breadcrumbsItemEnvNonMaster:css({color:o.orange500,svg:d(c({},Cr),{fill:o.orange500})})});function Er({isAlias:e}){return g.createElement(g.Fragment,null,g.createElement(We,{key:"mobile-icon",size:"tiny"}),e?g.createElement(EnvironmentAliasIcon,{key:"full-icon",size:"tiny"}):g.createElement(EnvironmentIcon,{key:"full-icon",size:"tiny"}))}function ho(e,r){let x=e,{children:t,isCircle:a,className:s,envVariant:n,isAlias:i,testId:p="cf-ui-navbar-switcher-item"}=x,l=f(x,["children","isCircle","className","envVariant","isAlias","testId"]),m=Mr(),v=cx(m.breadcrumbsItem,s,{[m.breadcrumbsItemCircle]:a,[m.breadcrumbsItemEnvMaster]:n==="master",[m.breadcrumbsItemEnvNonMaster]:n==="non-master"});return g.createElement("li",d(c({},l),{ref:r,className:v,"data-test-id":p}),g.createElement(Flex,{fullHeight:!0,justifyContent:"center",alignItems:"center"},n&&g.createElement(Er,{isAlias:i}),g.createElement("span",null,t)))}var Ar=g.forwardRef(ho);var kr=()=>({navbarHelp:css({fontSize:o.fontSizeS,padding:`0 ${o.spacing2Xs}`,width:"max-content",minHeight:"24px",height:"24px",color:o.gray700,svg:{fill:o.gray700}},I())});function No(e,r){let p=e,{children:t,className:a,testId:s="cf-ui-navbar-help-trigger"}=p,n=f(p,["children","className","testId"]),i=kr();return g.createElement(W,{testId:"cf-ui-navbar-help-menu",trigger:g.createElement(pe,d(c({"aria-label":"Help Menu"},n),{as:"button",ref:r,className:cx(i.navbarHelp,a),testId:s,variant:"transparent",size:"small",startIcon:g.createElement(Ve,{size:"medium"})}),"Help")},t)}var Tr=g.forwardRef(No);var Rr=()=>({navbarBadge:css({display:"flex",justifyContent:"center",alignItems:"center",background:"none",border:`1px solid ${o.purple600}`,margin:0,outline:"none",fontSize:o.fontSizeS,lineHeight:o.lineHeightS,fontWeight:o.fontWeightMedium,textAlign:"center",padding:`0 ${o.spacingXs}`,textDecoration:"none",color:`${o.purple600}!important`,borderRadius:"1.75rem"})});var Po="div";function wo(e,r){let l=e,{as:t=Po,children:a,className:s,testId:n="cf-ui-navbar-badge"}=l,i=f(l,["as","children","className","testId"]),p=Rr();return g.createElement(t,d(c({},i),{ref:r,className:cx(p.navbarBadge,s),"data-test-id":n}),a)}var zr=g.forwardRef(wo);var Lr=()=>({navbarTopItem:css({margin:0,background:"none",border:"1px solid",borderColor:"transparent",cursor:"pointer",display:"flex",gap:o.spacing2Xs,alignItems:"center",lineHeight:o.lineHeightDefault,color:o.gray700,padding:`0 ${o.spacing2Xs}`,minHeight:"24px",fontSize:o.fontSizeS,fontWeight:o.fontWeightMedium,outline:"none",borderRadius:o.borderRadiusMedium,"&:hover":{backgroundColor:hexToRGBA(o.gray900,.05)},svg:{fill:"currentColor"}},I())});var Ao="button";function ko(e,r){let l=e,{as:t=Ao,children:a,className:s,testId:n="cf-ui-navbar-topbar-item"}=l,i=f(l,["as","children","className","testId"]),p=Lr();return g.createElement(t,d(c({},i),{ref:r,className:cx(p.navbarTopItem,s),"data-test-id":n}),a)}var Or=g.forwardRef(ko);var h=Ze;h.Item=ve;h.ItemSkeleton=he;h.MenuItem=xe;h.MenuItemSkeleton=ye;h.MenuDivider=MenuDivider;h.MenuSectionTitle=MenuSectionTitle;h.Switcher=Se;h.SwitcherSkeleton=Pe;h.SwitcherItem=Ar;h.Search=wr;h.Help=Tr;h.Account=ge;h.AccountSkeleton=be;h.Badge=zr;h.TopbarItem=Or;
213
213
 
214
214
  export { h as Navbar, Qe as getNavbarItemActiveStyles };
215
215
  //# sourceMappingURL=out.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/CompoundNavbar.ts","../../src/Navbar.tsx","../../src/Navbar.styles.ts","../../src/utils.styles.ts","../../src/icons/CircleIcon.tsx","../../src/icons/CaretIcon.tsx","../../src/icons/HelpIcon.tsx","../../src/icons/SearchIcon.tsx","../../src/icons/ContentfulLogoIcon.tsx","../../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/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","../../../button/src/Button/Button.styles.ts","../../../spinner/src/Spinner.styles.ts","../../src/NavbarSearch/NavbarSearch.styles.ts","../../src/NavbarSwitcherItem/NavbarSwitcherItem.tsx","../../src/NavbarSwitcherItem/NavbarSwitcherItem.styles.ts","../../src/NavbarSwitcherItem/NavbarEnvVariant.tsx","../../src/NavbarHelp/NavbarHelp.tsx","../../src/NavbarHelp/NavbarHelp.styles.ts","../../src/NavbarBadge/NavbarBadge.tsx","../../src/NavbarBadge/NavbarBadge.styles.ts","../../src/NavbarTopbarItem/NavbarTopbarItem.tsx","../../src/NavbarTopbarItem/NavbarTopbarItem.styles.ts"],"names":["MenuDivider","MenuSectionTitle","Box","Flex","React","css","tokens","mqs","getGlowOnFocusStyles","shadow","getNavbarStyles","maxWidth","variant","generateIconComponent","CircleIcon","generateComponentWithVariants","IconVariant","CaretIcon","HelpIcon","SearchIcon","ContentfulLogoIcon","_Navbar","props","ref","_a","account","badge","bottomRightItems","children","className","contentMaxWidth","help","logo","search","switcher","testId","topRightItems","otherProps","__objRest","styles","__spreadProps","__spreadValues","Navbar","cx","hexToRGBA","notificationVarianColorMap","getNavbarAccountStyles","Menu","getNavbarMenuStyles","NavbarMenu","trigger","onOpen","onClose","Avatar","_NavbarAccount","avatar","initials","username","hasNotification","notificationVariant","NavbarAccount","SkeletonContainer","SkeletonImage","NavbarAccountSkeleton","ariaLabel","getNavbarItemActiveStyles","commonItemStyles","getNavbarItemStyles","getNavbarItemSkeletonStyles","getNavbarItemIconStyles","NavbarItemIcon","_b","icon","NAVBAR_ITEM_DEFAULT_TAG","_NavbarItem","Comp","title","isActive","isMenuTrigger","isNavbarItemHasMenu","item","NavbarItem","SkeletonText","NavbarItemSkeleton","estimatedWidth","getNavbarMenuItemStyles","ArrowSquareOutIcon","NAVBAR_MENU_ITEM_DEFAULT_TAG","_NavbarMenuItem","itemIsExternalLink","isExternalLink","externalIcon","NavbarMenuItem","SkeletonBodyText","NavbarMenuItemSkeleton","getNavbarSwitcherStyles","_NavbarSwitcher","NavbarSwitcher","SkeletonDisplayText","NavbarSwitcherSkeleton","m","Stack","s","forwardRef","i","N","T","v","c","x","f","r","a","S","d","g","n","h","y","keyframes","getNavbarSearchStyles","_NavbarSearch","Z","NavbarSearch","mobileIcon","getNavbarSwitcherItemStyles","EnvironmentAliasIcon","EnvironmentIcon","NavbarEnvVariant","isAlias","_NavbarSwitcherItem","isCircle","envVariant","classes","NavbarSwitcherItem","getNavbarHelpStyles","_NavbarHelp","B","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';\nimport { ContentfulLogoIcon } from './icons';\n\ntype NavbarOwnProps = CommonProps & {\n account?: 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 children?: React.ReactNode;\n /**\n * Defines the max-width of the content inside the navbar.\n * @default '100%'\n */\n contentMaxWidth?: string;\n help?: React.ReactNode;\n /**\n * Will be displayed instead of the default Contentful logo\n */\n logo?: React.ReactNode;\n search?: React.ReactNode;\n switcher?: 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 * Describes the size variation of the navbar\n */\n variant?: 'wide' | 'fullscreen';\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 account,\n badge,\n bottomRightItems,\n children,\n className,\n contentMaxWidth = '100%',\n help,\n logo,\n search,\n switcher,\n testId = 'cf-ui-navbar',\n topRightItems,\n variant = 'wide',\n ...otherProps\n } = props;\n const styles = getNavbarStyles(contentMaxWidth, variant);\n\n return (\n <Box {...otherProps} ref={ref} testId={testId} className={className}>\n <Flex className={styles.containerTop}>\n <Flex\n className={styles.containerTopContent}\n justifyContent=\"space-between\"\n >\n <Flex alignItems=\"center\" gap=\"spacingL\">\n {logo || <ContentfulLogoIcon className={styles.logo} />}\n {switcher}\n </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\">\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, variant: string) => ({\n containerTop: css({\n justifyContent: 'center',\n backgroundColor: tokens.gray100,\n }),\n containerBottom: css({\n justifyContent: 'center',\n backgroundColor: tokens.gray100,\n }),\n containerTopContent: css({\n width: '100%',\n maxWidth: variant === 'wide' ? '1524px' : maxWidth,\n padding: tokens.spacingXs,\n minHeight: tokens.spacingL,\n [mqs.medium]: {\n padding: `${tokens.spacingXs} 20px`,\n },\n }),\n containerBottomContent: css({\n width: '100%',\n maxWidth: variant === 'wide' ? '1524px' : maxWidth,\n padding: 0,\n paddingTop: tokens.spacing2Xs,\n minHeight: '2.5rem',\n overflow: 'auto',\n [mqs.medium]: {\n padding: `${tokens.spacing2Xs} ${tokens.spacingXs}`,\n },\n }),\n logo: css({\n height: '28px',\n width: '28px',\n }),\n});\n","import tokens from '@contentful/f36-tokens';\n\ntype screens = 'medium' | 'large' | 'xlarge';\ntype mediaqueries = Record<screens, string>;\nexport const mqs: mediaqueries = {\n medium: '@media (min-width: 480px)',\n large: '@media (min-width: 768px)',\n xlarge: '@media (min-width: 1920px)',\n};\n\nexport const getGlowOnFocusStyles = (shadow: string = tokens.glowPrimary) => ({\n '&:focus': {\n boxShadow: shadow,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: shadow,\n },\n});\n","import React from 'react';\nimport { generateIconComponent } from '@contentful/f36-icon';\n\nexport const CircleIcon = /*#__PURE__*/ generateIconComponent({\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 tokens from '@contentful/f36-tokens';\nimport {\n generateComponentWithVariants,\n generateIconComponent,\n IconVariant,\n} from '@contentful/f36-icon';\n\nexport const CaretIcon = generateComponentWithVariants({\n variants: {\n [IconVariant.Active]: generateIconComponent({\n path: (\n <>\n <path\n d=\"M10.0153 4.76531L6.2653 8.51531C6.23048 8.55018 6.18912 8.57784 6.14359 8.59671C6.09807 8.61558 6.04927 8.62529 5.99999 8.62529C5.95071 8.62529 5.90191 8.61558 5.85639 8.59671C5.81086 8.57784 5.76951 8.55018 5.73468 8.51531L1.98468 4.76531C1.93217 4.71287 1.89641 4.64602 1.88192 4.57324C1.86742 4.50046 1.87485 4.42501 1.90326 4.35645C1.93166 4.28789 1.97977 4.22931 2.0415 4.1881C2.10322 4.1469 2.17578 4.12494 2.24999 4.125H9.74999C9.8242 4.12494 9.89676 4.1469 9.95848 4.1881C10.0202 4.22931 10.0683 4.28789 10.0967 4.35645C10.1251 4.42501 10.1326 4.50046 10.1181 4.57324C10.1036 4.64602 10.0678 4.71287 10.0153 4.76531Z\"\n fill={tokens.blue300}\n />\n </>\n ),\n viewBox: '0 0 12 12',\n }),\n [IconVariant.Default]: generateIconComponent({\n path: (\n <>\n <path\n d=\"M10.0153 4.76531L6.2653 8.51531C6.23048 8.55018 6.18912 8.57784 6.14359 8.59671C6.09807 8.61558 6.04927 8.62529 5.99999 8.62529C5.95071 8.62529 5.90191 8.61558 5.85639 8.59671C5.81086 8.57784 5.76951 8.55018 5.73468 8.51531L1.98468 4.76531C1.93217 4.71287 1.89641 4.64602 1.88192 4.57324C1.86742 4.50046 1.87485 4.42501 1.90326 4.35645C1.93166 4.28789 1.97977 4.22931 2.0415 4.1881C2.10322 4.1469 2.17578 4.12494 2.24999 4.125H9.74999C9.8242 4.12494 9.89676 4.1469 9.95848 4.1881C10.0202 4.22931 10.0683 4.28789 10.0967 4.35645C10.1251 4.42501 10.1326 4.50046 10.1181 4.57324C10.1036 4.64602 10.0678 4.71287 10.0153 4.76531Z\"\n fill={tokens.gray400}\n />\n </>\n ),\n viewBox: '0 0 12 12',\n }),\n },\n});\n","import React from 'react';\nimport { generateIconComponent } from '@contentful/f36-icon';\n\nexport const HelpIcon = /*#__PURE__*/ generateIconComponent({\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 { generateIconComponent } from '@contentful/f36-icon';\n\nexport const SearchIcon = /*#__PURE__*/ generateIconComponent({\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 { generateIconComponent } from '@contentful/f36-icon';\n\nexport const ContentfulLogoIcon = /*#__PURE__*/ generateIconComponent({\n name: 'ContentfulLogoIcon',\n viewBox: '0 0 28 28',\n path: (\n <>\n <path\n fill=\"#1773EB\"\n d=\"M10.713 5.001c.845.843 1.167 2.079.845 3.228A6.663 6.663 0 0 1 15 7.276h.026a6.7 6.7 0 0 1 4.743 1.988 2.64 2.64 0 1 0 3.746-3.715A11.96 11.96 0 0 0 15.042 2h-.046a11.933 11.933 0 0 0-6.691 2.036h.074a3.287 3.287 0 0 1 2.334.967V5Z\"\n />\n <path\n fill=\"#E44F20\"\n d=\"M21.594 17.999a2.64 2.64 0 0 0-1.858.766 6.703 6.703 0 0 1-4.732 1.951h-.025a6.65 6.65 0 0 1-3.447-.968A3.3 3.3 0 0 1 8.35 23.93h-.086A11.926 11.926 0 0 0 14.96 26h.046a11.94 11.94 0 0 0 8.449-3.484 2.64 2.64 0 0 0-1.859-4.514V18h-.002Z\"\n />\n <path\n fill=\"#FFDA00\"\n d=\"M6.013 18.295a3.27 3.27 0 0 1 2.334-.967c.302 0 .603.04.894.122a6.7 6.7 0 0 1 .013-6.928A3.3 3.3 0 0 1 5.08 7.335v-.09a11.999 11.999 0 0 0-.032 13.453v-.07a3.27 3.27 0 0 1 .966-2.333Z\"\n />\n <path\n fill=\"#1773EB\"\n d=\"M8.379 4.62c-.75 0-1.276.312-1.913.949-.607.605-.798 1.135-.8 1.766A2.712 2.712 0 1 0 8.38 4.62Z\"\n />\n <path\n fill=\"#E44F20\"\n d=\"M5.628 20.631c0 .75.31 1.276.946 1.912.607.606 1.136.799 1.766.8a2.703 2.703 0 1 0-.017-5.407 2.703 2.703 0 0 0-2.695 2.704v-.009Z\"\n />\n </>\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarAccountStyles } from './NavbarAccount.styles';\nimport {\n type PropsWithHTMLElement,\n type CommonProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\nimport { Avatar } from '@contentful/f36-avatar';\nimport { Flex } from '@contentful/f36-core';\n\ntype NavbarAccountOwnProps = CommonProps & {\n children: React.ReactNode;\n username: string;\n avatar?: string;\n initials?: string;\n hasNotification?: boolean;\n /**\n * @default 'warning'\n */\n notificationVariant?: 'warning' | 'negative' | 'info';\n};\n\nexport type NavbarAccountProps = PropsWithHTMLElement<\n NavbarAccountOwnProps,\n 'button'\n>;\n\nfunction _NavbarAccount(\n props: ExpandProps<NavbarAccountProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-account-trigger',\n avatar,\n initials,\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 as=\"button\"\n {...otherProps}\n ref={ref}\n className={cx(styles.navbarAccount, className)}\n testId={testId}\n alignItems=\"center\"\n >\n <Avatar\n src={avatar}\n initials={initials}\n size=\"small\"\n variant=\"user\"\n />\n {hasNotification ? (\n <span className={styles.notificationIcon(notificationVariant)} />\n ) : null}\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarAccount = React.forwardRef(_NavbarAccount);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { NavbarAccountProps } from './NavbarAccount';\nimport { getGlowOnFocusStyles } from '../utils.styles';\nimport { hexToRGBA } from '@contentful/f36-utils';\n\nconst notificationVarianColorMap: Record<\n NavbarAccountProps['notificationVariant'],\n string\n> = {\n warning: tokens.colorWarning,\n negative: tokens.colorNegative,\n info: tokens.blue500,\n};\n\nexport const getNavbarAccountStyles = () => ({\n navbarAccount: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n border: 0,\n cursor: 'pointer',\n background: 'none',\n position: 'relative',\n outline: 'none',\n overflow: 'visible',\n borderRadius: '50%',\n '&:before': css({\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n height: '24px',\n width: '24px',\n backgroundColor: 'transparent',\n borderRadius: '50%',\n }),\n '&:hover:before': css({\n backgroundColor: hexToRGBA(tokens.gray300, 0.15),\n }),\n },\n getGlowOnFocusStyles(),\n ),\n avatar: css({\n borderRadius: '50%',\n display: 'block',\n height: '24px',\n width: '24px',\n }),\n notificationIcon: (variant: NavbarAccountProps['notificationVariant']) =>\n css({\n position: 'absolute',\n top: 0,\n right: 0,\n height: tokens.spacingS,\n width: tokens.spacingS,\n borderRadius: '50%',\n border: `2px solid ${tokens.gray100}`,\n backgroundColor: notificationVarianColorMap[variant],\n transform: 'translate(30%, -30%)',\n }),\n});\n","import React from 'react';\nimport { Menu, type MenuListProps, type MenuProps } from '@contentful/f36-menu';\nimport { getNavbarMenuStyles } from './NavbarMenu.styles';\n\nexport type NavbarMenuProps = {\n trigger: React.ReactNode;\n children?: React.ReactNode;\n} & Pick<MenuListProps, 'testId'> &\n Pick<MenuProps, 'onOpen' | 'onClose'>;\n\nexport const NavbarMenu = (props: NavbarMenuProps) => {\n const {\n trigger,\n children,\n testId = 'cf-ui-navbar-menu-list',\n onOpen,\n onClose,\n } = props;\n const styles = getNavbarMenuStyles();\n\n return (\n <Menu onOpen={onOpen} onClose={onClose}>\n <Menu.Trigger>{trigger}</Menu.Trigger>\n <Menu.List className={styles.menuList} testId={testId}>\n {children}\n </Menu.List>\n </Menu>\n );\n};\n","import { css } from 'emotion';\n\nexport const getNavbarMenuStyles = () => ({\n menuList: css({\n minWidth: '250px',\n }),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonImage } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport function NavbarAccountSkeleton({ ariaLabel }: { ariaLabel?: string }) {\n return (\n <SkeletonContainer\n svgWidth={24}\n svgHeight={24}\n ariaLabel={ariaLabel}\n backgroundColor={tokens.gray300}\n foregroundColor={tokens.gray200}\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 { CaretIcon } 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 const isMenuTrigger = isNavbarItemHasMenu(props);\n const item = (\n <Comp\n {...otherProps}\n ref={ref}\n data-test-id={testId}\n className={cx(\n styles.navbarItem,\n isMenuTrigger && styles.navbarItemMenuTrigger,\n isActive && styles.isActive,\n className,\n )}\n >\n {icon && <NavbarItemIcon icon={icon} variant=\"secondary\" />}\n <span>{title}</span>\n {isMenuTrigger && <CaretIcon size=\"tiny\" isActive={isActive} />}\n </Comp>\n );\n\n if (isMenuTrigger) {\n return (\n <NavbarMenu\n trigger={item}\n testId={testId}\n onOpen={onOpen}\n onClose={onClose}\n >\n {children}\n </NavbarMenu>\n );\n }\n\n return item;\n}\n\nconst isNavbarItemHasMenu = <E extends React.ElementType>(\n props: NavbarItemProps<E>,\n): props is PolymorphicProps<NavbarItemAsMenuProps, E> =>\n Boolean(props.children);\n\nexport const NavbarItem: PolymorphicComponent<\n ExpandProps<NavbarItemOwnProps>,\n typeof NAVBAR_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarItemActiveStyles = () =>\n css({\n backgroundColor: tokens.blue100,\n border: `1px solid ${tokens.blue400}`,\n color: tokens.blue600,\n '&:hover': {\n backgroundColor: tokens.blue100,\n },\n });\n\nconst commonItemStyles = {\n display: 'flex',\n justifyContent: 'center',\n padding: `${tokens.spacing2Xs} ${tokens.spacingXs}`,\n alignItems: 'center',\n background: 'none',\n gap: tokens.spacing2Xs,\n};\n\nexport const getNavbarItemStyles = () => ({\n navbarItem: css(\n commonItemStyles,\n {\n alignItems: 'center',\n background: 'none',\n border: 0,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeM,\n lineHeight: tokens.lineHeightS,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n textAlign: 'left',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n hyphens: 'auto',\n textDecoration: 'none',\n color: tokens.gray800,\n boxSizing: 'border-box',\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n borderRadius: tokens.borderRadiusMedium,\n\n '&:hover': {\n backgroundColor: hexToRGBA(tokens.gray900, 0.05),\n },\n\n '&:hover::before': {\n opacity: 1,\n scale: '1',\n },\n\n '&:active::before': {\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n '&:disabled': {\n cursor: 'auto',\n },\n\n '& svg': {\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n '& > svg, & > span': {\n zIndex: tokens.zIndexDefault,\n },\n },\n getGlowOnFocusStyles(),\n ),\n navbarItemMenuTrigger: css({\n paddingRight: tokens.spacingXs,\n }),\n isActive: getNavbarItemActiveStyles(),\n});\n\nexport const getNavbarItemSkeletonStyles = () => ({\n itemSkeleton: 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.navbarItemIcon),\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 navbarItemIcon: css({\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 { 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.itemSkeleton}\n svgWidth={estimatedWidth}\n svgHeight={32}\n backgroundColor={tokens.gray300}\n foregroundColor={tokens.gray200}\n >\n <SkeletonText\n lineHeight={6}\n numberOfLines={1}\n offsetTop={10}\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 { ArrowSquareOutIcon } 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.navbarMenuItem, 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={<ArrowSquareOutIcon />} 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';\nexport const getNavbarMenuItemStyles = () => ({\n navbarMenuItem: 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 { cx } from 'emotion';\n\ntype NavbarSwitcherOwnProps = CommonProps & {\n children?: 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 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.navbarSwitcher, className)}\n testId={testId}\n alignItems=\"center\"\n fullHeight\n gap=\"spacingXs\"\n >\n <Flex as=\"ul\" alignItems=\"center\" className={styles.switcherBreadcrumbs}>\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 { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n navbarSwitcher: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n height: 'max-content',\n\n color: tokens.gray700,\n cursor: 'pointer',\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n outline: 'none',\n borderRadius: '3rem',\n\n '&:after': {\n content: '\"\"',\n border: '1px solid #353A41',\n boxSizing: 'border-box',\n height: '16px',\n right: '-1px',\n position: 'absolute',\n width: 0,\n },\n '&:last-child:after': {\n display: 'none',\n },\n '&:hover li': {\n backgroundColor: '#f2f4f6', // Using a calculated hover alpha color because when using a RGBA value layers overlapping occur and show darker areas\n },\n },\n getGlowOnFocusStyles(),\n ),\n switcherMenuIcon: css({\n height: tokens.spacingM,\n width: tokens.spacingM,\n fill: tokens.gray700,\n }),\n switcherBreadcrumbs: css({\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\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.gray300}\n foregroundColor={tokens.gray200}\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 { SearchIcon } from '../icons';\nimport {\n type CommonProps,\n type ExpandProps,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\nimport { IconButton } from '@contentful/f36-button';\nimport { getNavbarSearchStyles } from './NavbarSearch.styles';\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 return (\n <IconButton\n aria-label=\"Quick Search\"\n {...otherProps}\n variant=\"transparent\"\n ref={ref}\n size=\"small\"\n className={cx(styles.navbarSearch, className)}\n testId={testId}\n icon={<SearchIcon size=\"medium\" />}\n />\n );\n}\n\nexport const NavbarSearch = React.forwardRef(_NavbarSearch);\n","import { css } from 'emotion';\nimport type { CSSObject } from '@emotion/serialize';\nimport tokens from '@contentful/f36-tokens';\nimport { ButtonSize, ButtonVariant, ButtonStylesProps } from '../types';\nimport { hexToRGBA, type Density } from '@contentful/f36-utils';\n\nconst variantActiveStyles = (variant: ButtonVariant): CSSObject => {\n switch (variant) {\n case 'primary':\n return { backgroundColor: tokens.blue700 };\n case 'secondary':\n return { backgroundColor: tokens.gray200 };\n case 'positive':\n return { backgroundColor: tokens.green700 };\n case 'negative':\n return { backgroundColor: tokens.gray200 };\n case 'transparent':\n return { backgroundColor: hexToRGBA(tokens.gray900, 0.1) };\n default:\n return {};\n }\n};\n\nconst variantToStyles = (variant: ButtonVariant): CSSObject => {\n switch (variant) {\n case 'primary':\n return {\n color: tokens.colorWhite,\n backgroundColor: tokens.blue500,\n borderColor: 'transparent',\n '&:hover': {\n backgroundColor: tokens.blue600,\n color: tokens.colorWhite,\n },\n '&:active': variantActiveStyles(variant),\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n },\n };\n case 'secondary':\n return {\n color: tokens.gray900,\n backgroundColor: tokens.colorWhite,\n borderColor: tokens.gray300,\n '&:hover': {\n backgroundColor: tokens.gray100,\n color: tokens.gray900,\n },\n '&:active': variantActiveStyles(variant),\n '&:focus': {\n boxShadow: tokens.glowPrimary,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n },\n };\n case 'positive':\n return {\n color: tokens.colorWhite,\n backgroundColor: tokens.green500,\n borderColor: 'transparent',\n '&:hover': {\n backgroundColor: tokens.green600,\n color: tokens.colorWhite,\n },\n '&:active': variantActiveStyles(variant),\n '&:focus-visible': {\n boxShadow: tokens.glowPositive,\n },\n };\n case 'negative':\n return {\n color: tokens.red600,\n backgroundColor: tokens.colorWhite,\n borderColor: tokens.gray300,\n '&:hover': {\n backgroundColor: tokens.gray100,\n color: tokens.red600,\n },\n '&:active': variantActiveStyles(variant),\n '&:focus-visible': {\n boxShadow: tokens.glowNegative,\n },\n };\n case 'transparent':\n return {\n color: tokens.gray900,\n background: 'none',\n borderColor: 'transparent',\n boxShadow: 'none',\n '&:hover': {\n backgroundColor: hexToRGBA(tokens.gray900, 0.05),\n },\n '&:active': variantActiveStyles(variant),\n '&:focus': {\n boxShadow: tokens.glowPrimary,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n },\n };\n default:\n return {};\n }\n};\n\nconst sizeToStyles = (size: ButtonSize, density: Density): CSSObject => {\n const isHighDensity = density === 'high';\n\n switch (size) {\n case 'small':\n return {\n fontSize: isHighDensity ? tokens.fontSizeS : tokens.fontSizeM,\n lineHeight: tokens.lineHeightCondensed,\n padding: isHighDensity\n ? `${tokens.spacing2Xs} ${tokens.spacingXs}`\n : `${tokens.spacing2Xs} ${tokens.spacingS}`,\n minHeight: isHighDensity ? tokens.spacingL : tokens.spacingXl,\n };\n case 'medium':\n return {\n fontSize: isHighDensity ? tokens.fontSizeS : tokens.fontSizeM,\n lineHeight: tokens.lineHeightCondensed,\n padding: isHighDensity\n ? `${tokens.spacingXs} ${tokens.spacingS}`\n : `${tokens.spacingXs} ${tokens.spacingM}`,\n minHeight: isHighDensity ? tokens.spacingXl : '40px',\n };\n case 'large':\n return {\n fontSize: tokens.fontSizeXl,\n lineHeight: tokens.lineHeightXl,\n padding: `${tokens.spacingXs} ${tokens.spacingM}`,\n minHeight: '48px',\n };\n default:\n return {};\n }\n};\n\nconst getButtonIconStyle = ({ hasChildren, variant }) => {\n const align = {\n '&:first-child': { marginRight: tokens.spacing2Xs },\n '&:last-child': { marginLeft: tokens.spacing2Xs },\n };\n\n const margin = hasChildren ? align : {};\n\n return css([\n margin,\n // we want to allow variants for icons, but only in the transparent IconButton\n variant !== 'transparent' &&\n hasChildren && {\n '& svg': {\n fill: 'currentColor',\n },\n },\n ]);\n};\n\nexport const getStyles = () => ({\n button: ({\n variant,\n size,\n density,\n isActive,\n isDisabled,\n isFullWidth,\n }: ButtonStylesProps & { density: Density }) =>\n css({\n boxSizing: 'border-box',\n border: `1px solid`,\n boxShadow: '0px 1px 0px rgb(25, 37, 50, 0.08)',\n borderRadius:\n density === 'high'\n ? tokens.borderRadiusSmall\n : tokens.borderRadiusMedium,\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n fontFamily: tokens.fontStackPrimary,\n opacity: isDisabled ? 0.5 : 1,\n display: isFullWidth ? 'flex' : 'inline-flex',\n minWidth: isFullWidth ? '100%' : 'auto',\n maxWidth: isFullWidth ? '100%' : '240px',\n overflow: 'hidden',\n flexShrink: 0,\n justifyContent: 'center',\n alignItems: 'center',\n fontWeight: tokens.fontWeightMedium,\n outline: 'none',\n textDecoration: 'none',\n margin: 0, // remove the default margin in Safari.\n transition: `background ${tokens.transitionDurationShort} ${tokens.transitionEasingDefault},\n opacity ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault},\n border-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n ...variantToStyles(variant),\n ...sizeToStyles(size, density),\n ...(isActive\n ? {\n transition: 'none',\n '&, &:focus': variantActiveStyles(variant),\n }\n : {}),\n }),\n buttonIcon: getButtonIconStyle,\n buttonContent: css({\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n});\n","import { css, keyframes } from 'emotion';\nimport type { SpinnerSize } from './types';\n\nconst sizes: { [key in SpinnerSize]: string } = {\n large: '36px',\n medium: '20px',\n small: '14px',\n};\n\nexport const getStyles = () => {\n const animations = {\n scale1: keyframes`\n 0% {\n transform: scale(1, 1);\n }\n 6.666667% {\n transform: scale(1.5, 0.5);\n }\n 13.333333% {\n transform: scale(1, 1);\n }\n 26.666667% {\n transform: scale(1, 1);\n }\n 33.333333% {\n transform: scale(1, 1);\n }\n 40% {\n transform: scale(1, 1);\n }\n 53.333333% {\n transform: scale(1, 1);\n }\n 60% {\n transform: scale(1.5, 0.5);\n }\n 66.666667% {\n transform: scale(1, 1);\n }\n 100% {\n transform: scale(1, 1);\n }\n `,\n scale2: keyframes`\n 0% {\n transform: scale(1, 1);\n }\n 13.333333% {\n transform: scale(1, 1);\n }\n 20% {\n transform: scale(1.5, 0.5);\n }\n 26.666667% {\n transform: scale(1, 1);\n }\n 40% {\n transform: scale(1, 1);\n }\n 46.666667% {\n transform: scale(1, 1);\n }\n 53.333333% {\n transform: scale(1, 1);\n }\n 66.666667% {\n transform: scale(1, 1);\n }\n 73.333333% {\n transform: scale(1.5, 0.5);\n }\n 80% {\n transform: scale(1, 1);\n }\n 100% {\n transform: scale(1, 1);\n }\n `,\n scale3: keyframes`\n 0% {\n transform: scale(1, 1);\n }\n 26.666667% {\n transform: scale(1, 1);\n }\n 33.333333% {\n transform: scale(1.5, 0.5);\n }\n 40% {\n transform: scale(1, 1);\n }\n 53.333333% {\n transform: scale(1, 1);\n }\n 60% {\n transform: scale(1, 1);\n }\n 66.666667% {\n transform: scale(1, 1);\n }\n 80% {\n transform: scale(1, 1);\n }\n 86.666667% {\n transform: scale(1.5, 0.5);\n }\n 93.333333% {\n transform: scale(1, 1);\n }\n 100% {\n transform: scale(1, 1);\n }\n `,\n translate1: keyframes`\n 0% {\n transform: translate(10px, 33.528168px);\n }\n 6.666667% {\n transform: translate(10px, 41.764084px);\n }\n 13.333333% {\n transform: translate(10px, 33.528168px);\n }\n 26.666667% {\n transform: translate(10px, -2.651608px);\n }\n 33.333333% {\n transform: translate(10px, -4.471832px);\n }\n 40% {\n transform: translate(10px, -2.651608px);\n }\n 53.333333% {\n transform: translate(10px, 33.528168px);\n }\n 60% {\n transform: translate(10px, 41.764084px);\n }\n 66.666667% {\n transform: translate(10px, 33.528168px);\n }\n 100% {\n transform: translate(10px, 33.528168px);\n }\n `,\n translate2: keyframes`\n 0% {\n transform: translate(30px, 33.528168px);\n }\n 13.333333% {\n transform: translate(30px, 33.528168px);\n }\n 20% {\n transform: translate(30px, 41.764084px);\n }\n 26.666667% {\n transform: translate(30px, 33.528168px);\n }\n 40% {\n transform: translate(30px, -2.651608px);\n }\n 46.666667% {\n transform: translate(30px, -4.471832px);\n }\n 53.333333% {\n transform: translate(30px, -2.651608px);\n }\n 66.666667% {\n transform: translate(30px, 33.528168px);\n }\n 73.333333% {\n transform: translate(30px, 41.764084px);\n }\n 80% {\n transform: translate(30px, 33.528168px);\n }\n 100% {\n transform: translate(30px, 33.528168px);\n }\n `,\n translate3: keyframes`\n 0% {\n transform: translate(50px, 33.528168px);\n }\n 26.666667% {\n transform: translate(50px, 33.528168px);\n }\n 33.333333% {\n transform: translate(50px, 41.764084px);\n }\n 40% {\n transform: translate(50px, 33.528168px);\n }\n 53.333333% {\n transform: translate(50px, -2.651608px);\n }\n 60% {\n transform: translate(50px, -4.471832px);\n }\n 66.666667% {\n transform: translate(50px, -2.651608px);\n }\n 80% {\n transform: translate(50px, 33.528168px);\n }\n 86.666667% {\n transform: translate(50px, 41.764084px);\n }\n 93.333333% {\n transform: translate(50px, 33.528168px);\n }\n 100% {\n transform: translate(50px, 33.528168px);\n }\n `,\n };\n\n return {\n root: (props: { size: SpinnerSize; customSize?: number }) =>\n css({\n height: props.customSize ? `${props.customSize}px` : undefined,\n verticalAlign: 'middle',\n width: props.customSize ? `${props.customSize}px` : sizes[props.size],\n }),\n circle1Scale: css({\n animation: `${animations.scale1} 1s linear infinite normal forwards;`,\n }),\n circle2Scale: css({\n animation: `${animations.scale2} 1s linear infinite normal forwards;`,\n }),\n circle3Scale: css({\n animation: `${animations.scale3} 1s linear infinite normal forwards;`,\n }),\n circle1Translate: css({\n animation: `${animations.translate1} 1s linear infinite normal forwards;`,\n }),\n circle2Translate: css({\n animation: `${animations.translate2} 1s linear infinite normal forwards;`,\n }),\n circle3Translate: css({\n animation: `${animations.translate3} 1s linear infinite normal forwards;`,\n }),\n };\n};\n","import { css } from 'emotion';\nimport { getGlowOnFocusStyles } from '../utils.styles';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarSearchStyles = () => ({\n navbarSearch: css(\n {\n // default button reset styles\n minWidth: '24px',\n width: '24px',\n minHeight: '24px',\n height: '24px',\n svg: {\n fill: tokens.gray700,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarSwitcherItemStyles } from './NavbarSwitcherItem.styles';\nimport { NavbarEnvVariant } from './NavbarEnvVariant';\nimport {\n Flex,\n type CommonProps,\n type ExpandProps,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSwitcherItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n isCircle?: boolean;\n envVariant?: 'master' | 'non-master';\n isAlias?: boolean;\n};\n\nexport type NavbarSwitcherItemProps = PropsWithHTMLElement<\n NavbarSwitcherItemOwnProps,\n 'li'\n>;\n\nfunction _NavbarSwitcherItem(\n props: ExpandProps<NavbarSwitcherItemProps>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n children,\n isCircle,\n className,\n envVariant,\n isAlias,\n testId = 'cf-ui-navbar-switcher-item',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherItemStyles();\n const classes = cx(styles.breadcrumbsItem, className, {\n [styles.breadcrumbsItemCircle]: isCircle,\n [styles.breadcrumbsItemEnvMaster]: envVariant === 'master',\n [styles.breadcrumbsItemEnvNonMaster]: envVariant === 'non-master',\n });\n\n return (\n <li {...otherProps} ref={ref} className={classes} data-test-id={testId}>\n <Flex fullHeight justifyContent=\"center\" alignItems=\"center\">\n {envVariant && <NavbarEnvVariant isAlias={isAlias} />}\n <span>{children}</span>\n </Flex>\n </li>\n );\n}\n\nexport const NavbarSwitcherItem = React.forwardRef(_NavbarSwitcherItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { 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 border: `solid 1px ${tokens.gray300}`,\n borderLeft: 'none',\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\n whiteSpace: 'nowrap',\n '&:first-child': {\n minWidth: '24px',\n },\n '&:nth-child(2)': {\n zIndex: 1,\n marginLeft: '-10px',\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 marginLeft: '-10px',\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 border: `solid 1px ${tokens.gray300}`,\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.green600,\n ' svg': {\n ...mobileIcon,\n fill: tokens.green600,\n },\n }),\n breadcrumbsItemEnvNonMaster: css({\n color: tokens.orange500,\n svg: {\n ...mobileIcon,\n fill: tokens.orange500,\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 { HelpIcon } from '../icons';\nimport {\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Button } from '@contentful/f36-button';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\nimport { getNavbarHelpStyles } from './NavbarHelp.styles';\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\n const styles = getNavbarHelpStyles();\n\n return (\n <NavbarMenu\n testId=\"cf-ui-navbar-help-menu\"\n trigger={\n <Button\n aria-label=\"Help Menu\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.navbarHelp, className)}\n testId={testId}\n variant=\"transparent\"\n size=\"small\"\n startIcon={<HelpIcon size=\"medium\" />}\n >\n Help\n </Button>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarHelp = React.forwardRef(_NavbarHelp);\n","import { css } from 'emotion';\nimport { getGlowOnFocusStyles } from '../utils.styles';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarHelpStyles = () => ({\n navbarHelp: css(\n {\n // default button reset styles\n fontSize: tokens.fontSizeS,\n padding: `0 ${tokens.spacing2Xs}`,\n width: 'max-content',\n minHeight: '24px',\n height: '24px',\n color: tokens.gray700,\n svg: {\n fill: tokens.gray700,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarBadgeStyles } from './NavbarBadge.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'div';\n\ntype NavbarBadgeOwnProps = CommonProps & {\n children?: React.ReactNode;\n as?: React.ElementType;\n};\n\nexport type NavbarBadgeProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarBadgeOwnProps, E>;\n\nfunction _NavbarBadge(\n props: NavbarBadgeProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-badge',\n ...otherProps\n } = props;\n const styles = getNavbarBadgeStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.navbarBadge, 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 navbarBadge: css({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: 'none',\n border: `1px solid ${tokens.purple600}`,\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.purple600}!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.navbarTopItem, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarTopbarItem: PolymorphicComponent<\n ExpandProps<NavbarTopbarItemOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarTopbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles } from '../utils.styles';\nimport { hexToRGBA } from '@contentful/f36-utils';\nexport const getNavbarTopbarItemStyles = () => ({\n navbarTopItem: css(\n {\n // default button reset styles\n margin: 0,\n background: 'none',\n border: '1px solid',\n borderColor: 'transparent',\n cursor: 'pointer',\n display: 'flex',\n gap: tokens.spacing2Xs,\n alignItems: 'center',\n lineHeight: tokens.lineHeightDefault,\n color: tokens.gray700,\n padding: `0 ${tokens.spacing2Xs}`,\n minHeight: '24px',\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:hover': {\n backgroundColor: hexToRGBA(tokens.gray900, 0.05),\n },\n svg: {\n fill: 'currentColor',\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n"]}
1
+ {"version":3,"sources":["../../src/CompoundNavbar.ts","../../src/Navbar.tsx","../../src/Navbar.styles.ts","../../src/utils.styles.ts","../../src/icons/CircleIcon.tsx","../../src/icons/CaretIcon.tsx","../../src/icons/HelpIcon.tsx","../../src/icons/SearchIcon.tsx","../../src/icons/ContentfulLogoIcon.tsx","../../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/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","../../../button/src/Button/Button.styles.ts","../../../spinner/src/Spinner.styles.ts","../../src/NavbarSearch/NavbarSearch.styles.ts","../../src/NavbarSwitcherItem/NavbarSwitcherItem.tsx","../../src/NavbarSwitcherItem/NavbarSwitcherItem.styles.ts","../../src/NavbarSwitcherItem/NavbarEnvVariant.tsx","../../src/NavbarHelp/NavbarHelp.tsx","../../src/NavbarHelp/NavbarHelp.styles.ts","../../src/NavbarBadge/NavbarBadge.tsx","../../src/NavbarBadge/NavbarBadge.styles.ts","../../src/NavbarTopbarItem/NavbarTopbarItem.tsx","../../src/NavbarTopbarItem/NavbarTopbarItem.styles.ts"],"names":["MenuDivider","MenuSectionTitle","Box","Flex","React","css","tokens","mqs","getGlowOnFocusStyles","shadow","getNavbarStyles","maxWidth","variant","generateIconComponent","CircleIcon","generateComponentWithVariants","IconVariant","CaretIcon","HelpIcon","SearchIcon","ContentfulLogoIcon","_Navbar","props","ref","_a","account","badge","bottomRightItems","children","className","contentMaxWidth","help","logo","search","switcher","testId","topRightItems","otherProps","__objRest","styles","__spreadProps","__spreadValues","Navbar","cx","hexToRGBA","notificationVarianColorMap","getNavbarAccountStyles","Menu","getNavbarMenuStyles","NavbarMenu","trigger","onOpen","onClose","Avatar","_NavbarAccount","avatar","initials","username","hasNotification","notificationVariant","NavbarAccount","SkeletonContainer","SkeletonImage","NavbarAccountSkeleton","ariaLabel","getNavbarItemActiveStyles","commonItemStyles","getNavbarItemStyles","getNavbarItemSkeletonStyles","getNavbarItemIconStyles","NavbarItemIcon","icon","isActive","size","rest","NAVBAR_ITEM_DEFAULT_TAG","_NavbarItem","Comp","title","isMenuTrigger","isNavbarItemHasMenu","item","NavbarItem","SkeletonText","NavbarItemSkeleton","estimatedWidth","getNavbarMenuItemStyles","ArrowSquareOutIcon","NAVBAR_MENU_ITEM_DEFAULT_TAG","_NavbarMenuItem","itemIsExternalLink","isExternalLink","externalIcon","NavbarMenuItem","SkeletonBodyText","NavbarMenuItemSkeleton","getNavbarSwitcherStyles","_NavbarSwitcher","NavbarSwitcher","SkeletonDisplayText","NavbarSwitcherSkeleton","m","Stack","s","forwardRef","i","N","T","v","c","x","f","r","a","S","d","g","n","h","y","keyframes","getNavbarSearchStyles","_NavbarSearch","Z","NavbarSearch","mobileIcon","getNavbarSwitcherItemStyles","EnvironmentAliasIcon","EnvironmentIcon","NavbarEnvVariant","isAlias","_NavbarSwitcherItem","isCircle","envVariant","classes","NavbarSwitcherItem","getNavbarHelpStyles","_NavbarHelp","B","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';\nimport { ContentfulLogoIcon } from './icons';\n\ntype NavbarOwnProps = CommonProps & {\n account?: 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 children?: React.ReactNode;\n /**\n * Defines the max-width of the content inside the navbar.\n * @default '100%'\n */\n contentMaxWidth?: string;\n help?: React.ReactNode;\n /**\n * Will be displayed instead of the default Contentful logo\n */\n logo?: React.ReactNode;\n search?: React.ReactNode;\n switcher?: 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 * Describes the size variation of the navbar\n */\n variant?: 'wide' | 'fullscreen';\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 account,\n badge,\n bottomRightItems,\n children,\n className,\n contentMaxWidth = '100%',\n help,\n logo,\n search,\n switcher,\n testId = 'cf-ui-navbar',\n topRightItems,\n variant = 'wide',\n ...otherProps\n } = props;\n const styles = getNavbarStyles(contentMaxWidth, variant);\n\n return (\n <Box {...otherProps} ref={ref} testId={testId} className={className}>\n <Flex className={styles.containerTop}>\n <Flex\n className={styles.containerTopContent}\n justifyContent=\"space-between\"\n >\n <Flex alignItems=\"center\" gap=\"spacingL\">\n {logo || <ContentfulLogoIcon className={styles.logo} />}\n {switcher}\n </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\" gap=\"spacingXs\">\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, variant: string) => ({\n containerTop: css({\n justifyContent: 'center',\n backgroundColor: tokens.gray100,\n }),\n containerBottom: css({\n justifyContent: 'center',\n backgroundColor: tokens.gray100,\n }),\n containerTopContent: css({\n width: '100%',\n maxWidth: variant === 'wide' ? '1524px' : maxWidth,\n padding: tokens.spacingXs,\n minHeight: tokens.spacingL,\n [mqs.medium]: {\n padding: `${tokens.spacingXs} 20px`,\n },\n }),\n containerBottomContent: css({\n width: '100%',\n maxWidth: variant === 'wide' ? '1524px' : maxWidth,\n padding: 0,\n paddingTop: tokens.spacing2Xs,\n minHeight: '2.5rem',\n overflow: 'auto',\n [mqs.medium]: {\n padding: `${tokens.spacing2Xs} ${tokens.spacingXs}`,\n },\n }),\n logo: css({\n height: '28px',\n width: '28px',\n }),\n});\n","import tokens from '@contentful/f36-tokens';\n\ntype screens = 'medium' | 'large' | 'xlarge';\ntype mediaqueries = Record<screens, string>;\nexport const mqs: mediaqueries = {\n medium: '@media (min-width: 480px)',\n large: '@media (min-width: 768px)',\n xlarge: '@media (min-width: 1920px)',\n};\n\nexport const getGlowOnFocusStyles = (shadow: string = tokens.glowPrimary) => ({\n '&:focus': {\n boxShadow: shadow,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: shadow,\n },\n});\n","import React from 'react';\nimport { generateIconComponent } from '@contentful/f36-icon';\n\nexport const CircleIcon = /*#__PURE__*/ generateIconComponent({\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 tokens from '@contentful/f36-tokens';\nimport {\n generateComponentWithVariants,\n generateIconComponent,\n IconVariant,\n} from '@contentful/f36-icon';\n\nexport const CaretIcon = generateComponentWithVariants({\n variants: {\n [IconVariant.Active]: generateIconComponent({\n path: (\n <>\n <path\n d=\"M10.0153 4.76531L6.2653 8.51531C6.23048 8.55018 6.18912 8.57784 6.14359 8.59671C6.09807 8.61558 6.04927 8.62529 5.99999 8.62529C5.95071 8.62529 5.90191 8.61558 5.85639 8.59671C5.81086 8.57784 5.76951 8.55018 5.73468 8.51531L1.98468 4.76531C1.93217 4.71287 1.89641 4.64602 1.88192 4.57324C1.86742 4.50046 1.87485 4.42501 1.90326 4.35645C1.93166 4.28789 1.97977 4.22931 2.0415 4.1881C2.10322 4.1469 2.17578 4.12494 2.24999 4.125H9.74999C9.8242 4.12494 9.89676 4.1469 9.95848 4.1881C10.0202 4.22931 10.0683 4.28789 10.0967 4.35645C10.1251 4.42501 10.1326 4.50046 10.1181 4.57324C10.1036 4.64602 10.0678 4.71287 10.0153 4.76531Z\"\n fill={tokens.blue300}\n />\n </>\n ),\n viewBox: '0 0 12 12',\n }),\n [IconVariant.Default]: generateIconComponent({\n path: (\n <>\n <path\n d=\"M10.0153 4.76531L6.2653 8.51531C6.23048 8.55018 6.18912 8.57784 6.14359 8.59671C6.09807 8.61558 6.04927 8.62529 5.99999 8.62529C5.95071 8.62529 5.90191 8.61558 5.85639 8.59671C5.81086 8.57784 5.76951 8.55018 5.73468 8.51531L1.98468 4.76531C1.93217 4.71287 1.89641 4.64602 1.88192 4.57324C1.86742 4.50046 1.87485 4.42501 1.90326 4.35645C1.93166 4.28789 1.97977 4.22931 2.0415 4.1881C2.10322 4.1469 2.17578 4.12494 2.24999 4.125H9.74999C9.8242 4.12494 9.89676 4.1469 9.95848 4.1881C10.0202 4.22931 10.0683 4.28789 10.0967 4.35645C10.1251 4.42501 10.1326 4.50046 10.1181 4.57324C10.1036 4.64602 10.0678 4.71287 10.0153 4.76531Z\"\n fill={tokens.gray400}\n />\n </>\n ),\n viewBox: '0 0 12 12',\n }),\n },\n});\n","import React from 'react';\nimport { generateIconComponent } from '@contentful/f36-icon';\n\nexport const HelpIcon = /*#__PURE__*/ generateIconComponent({\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 { generateIconComponent } from '@contentful/f36-icon';\n\nexport const SearchIcon = /*#__PURE__*/ generateIconComponent({\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 { generateIconComponent } from '@contentful/f36-icon';\n\nexport const ContentfulLogoIcon = /*#__PURE__*/ generateIconComponent({\n name: 'ContentfulLogoIcon',\n viewBox: '0 0 28 28',\n path: (\n <>\n <path\n fill=\"#1773EB\"\n d=\"M10.713 5.001c.845.843 1.167 2.079.845 3.228A6.663 6.663 0 0 1 15 7.276h.026a6.7 6.7 0 0 1 4.743 1.988 2.64 2.64 0 1 0 3.746-3.715A11.96 11.96 0 0 0 15.042 2h-.046a11.933 11.933 0 0 0-6.691 2.036h.074a3.287 3.287 0 0 1 2.334.967V5Z\"\n />\n <path\n fill=\"#E44F20\"\n d=\"M21.594 17.999a2.64 2.64 0 0 0-1.858.766 6.703 6.703 0 0 1-4.732 1.951h-.025a6.65 6.65 0 0 1-3.447-.968A3.3 3.3 0 0 1 8.35 23.93h-.086A11.926 11.926 0 0 0 14.96 26h.046a11.94 11.94 0 0 0 8.449-3.484 2.64 2.64 0 0 0-1.859-4.514V18h-.002Z\"\n />\n <path\n fill=\"#FFDA00\"\n d=\"M6.013 18.295a3.27 3.27 0 0 1 2.334-.967c.302 0 .603.04.894.122a6.7 6.7 0 0 1 .013-6.928A3.3 3.3 0 0 1 5.08 7.335v-.09a11.999 11.999 0 0 0-.032 13.453v-.07a3.27 3.27 0 0 1 .966-2.333Z\"\n />\n <path\n fill=\"#1773EB\"\n d=\"M8.379 4.62c-.75 0-1.276.312-1.913.949-.607.605-.798 1.135-.8 1.766A2.712 2.712 0 1 0 8.38 4.62Z\"\n />\n <path\n fill=\"#E44F20\"\n d=\"M5.628 20.631c0 .75.31 1.276.946 1.912.607.606 1.136.799 1.766.8a2.703 2.703 0 1 0-.017-5.407 2.703 2.703 0 0 0-2.695 2.704v-.009Z\"\n />\n </>\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarAccountStyles } from './NavbarAccount.styles';\nimport {\n type PropsWithHTMLElement,\n type CommonProps,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\nimport { Avatar } from '@contentful/f36-avatar';\nimport { Flex } from '@contentful/f36-core';\n\ntype NavbarAccountOwnProps = CommonProps & {\n children: React.ReactNode;\n username: string;\n avatar?: string;\n initials?: string;\n hasNotification?: boolean;\n /**\n * @default 'warning'\n */\n notificationVariant?: 'warning' | 'negative' | 'info';\n};\n\nexport type NavbarAccountProps = PropsWithHTMLElement<\n NavbarAccountOwnProps,\n 'button'\n>;\n\nfunction _NavbarAccount(\n props: ExpandProps<NavbarAccountProps>,\n ref: React.Ref<HTMLButtonElement>,\n) {\n const {\n children,\n className,\n testId = 'cf-ui-navbar-account-trigger',\n avatar,\n initials,\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 as=\"button\"\n {...otherProps}\n ref={ref}\n className={cx(styles.navbarAccount, className)}\n testId={testId}\n alignItems=\"center\"\n >\n <Avatar\n src={avatar}\n initials={initials}\n size=\"small\"\n variant=\"user\"\n />\n {hasNotification ? (\n <span className={styles.notificationIcon(notificationVariant)} />\n ) : null}\n </Flex>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarAccount = React.forwardRef(_NavbarAccount);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { NavbarAccountProps } from './NavbarAccount';\nimport { getGlowOnFocusStyles } from '../utils.styles';\nimport { hexToRGBA } from '@contentful/f36-utils';\n\nconst notificationVarianColorMap: Record<\n NavbarAccountProps['notificationVariant'],\n string\n> = {\n warning: tokens.colorWarning,\n negative: tokens.colorNegative,\n info: tokens.blue500,\n};\n\nexport const getNavbarAccountStyles = () => ({\n navbarAccount: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n border: 0,\n cursor: 'pointer',\n background: 'none',\n position: 'relative',\n outline: 'none',\n overflow: 'visible',\n borderRadius: '50%',\n '&:before': css({\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n height: '24px',\n width: '24px',\n backgroundColor: 'transparent',\n borderRadius: '50%',\n }),\n '&:hover:before': css({\n backgroundColor: hexToRGBA(tokens.gray300, 0.15),\n }),\n },\n getGlowOnFocusStyles(),\n ),\n avatar: css({\n borderRadius: '50%',\n display: 'block',\n height: '24px',\n width: '24px',\n }),\n notificationIcon: (variant: NavbarAccountProps['notificationVariant']) =>\n css({\n position: 'absolute',\n top: 0,\n right: 0,\n height: tokens.spacingS,\n width: tokens.spacingS,\n borderRadius: '50%',\n border: `2px solid ${tokens.gray100}`,\n backgroundColor: notificationVarianColorMap[variant],\n transform: 'translate(30%, -30%)',\n }),\n});\n","import React from 'react';\nimport { Menu, type MenuListProps, type MenuProps } from '@contentful/f36-menu';\nimport { getNavbarMenuStyles } from './NavbarMenu.styles';\n\nexport type NavbarMenuProps = {\n trigger: React.ReactNode;\n children?: React.ReactNode;\n} & Pick<MenuListProps, 'testId'> &\n Pick<MenuProps, 'onOpen' | 'onClose'>;\n\nexport const NavbarMenu = (props: NavbarMenuProps) => {\n const {\n trigger,\n children,\n testId = 'cf-ui-navbar-menu-list',\n onOpen,\n onClose,\n } = props;\n const styles = getNavbarMenuStyles();\n\n return (\n <Menu onOpen={onOpen} onClose={onClose}>\n <Menu.Trigger>{trigger}</Menu.Trigger>\n <Menu.List className={styles.menuList} testId={testId}>\n {children}\n </Menu.List>\n </Menu>\n );\n};\n","import { css } from 'emotion';\n\nexport const getNavbarMenuStyles = () => ({\n menuList: css({\n minWidth: '250px',\n }),\n});\n","import React from 'react';\nimport { SkeletonContainer, SkeletonImage } from '@contentful/f36-skeleton';\nimport tokens from '@contentful/f36-tokens';\n\nexport function NavbarAccountSkeleton({ ariaLabel }: { ariaLabel?: string }) {\n return (\n <SkeletonContainer\n svgWidth={24}\n svgHeight={24}\n ariaLabel={ariaLabel}\n backgroundColor={tokens.gray300}\n foregroundColor={tokens.gray200}\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 { CaretIcon } 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 const isMenuTrigger = isNavbarItemHasMenu(props);\n const item = (\n <Comp\n {...otherProps}\n ref={ref}\n data-test-id={testId}\n className={cx(\n styles.navbarItem,\n isMenuTrigger && styles.navbarItemMenuTrigger,\n isActive && styles.isActive,\n className,\n )}\n >\n {icon && <NavbarItemIcon icon={icon} isActive={isActive} />}\n <span>{title}</span>\n {isMenuTrigger && <CaretIcon size=\"tiny\" isActive={isActive} />}\n </Comp>\n );\n\n if (isMenuTrigger) {\n return (\n <NavbarMenu\n trigger={item}\n testId={testId}\n onOpen={onOpen}\n onClose={onClose}\n >\n {children}\n </NavbarMenu>\n );\n }\n\n return item;\n}\n\nconst isNavbarItemHasMenu = <E extends React.ElementType>(\n props: NavbarItemProps<E>,\n): props is PolymorphicProps<NavbarItemAsMenuProps, E> =>\n Boolean(props.children);\n\nexport const NavbarItem: PolymorphicComponent<\n ExpandProps<NavbarItemOwnProps>,\n typeof NAVBAR_ITEM_DEFAULT_TAG\n> = React.forwardRef(_NavbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { hexToRGBA } from '@contentful/f36-utils';\nimport { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarItemActiveStyles = () =>\n css({\n backgroundColor: tokens.blue100,\n border: `1px solid ${tokens.blue400}`,\n color: tokens.blue600,\n '&:hover': {\n backgroundColor: tokens.blue100,\n },\n });\n\nconst commonItemStyles = {\n display: 'flex',\n justifyContent: 'center',\n padding: `${tokens.spacing2Xs} ${tokens.spacingXs}`,\n alignItems: 'center',\n background: 'none',\n gap: tokens.spacing2Xs,\n};\n\nexport const getNavbarItemStyles = () => ({\n navbarItem: css(\n commonItemStyles,\n {\n alignItems: 'center',\n background: 'none',\n border: 0,\n margin: 0,\n outline: 'none',\n fontSize: tokens.fontSizeM,\n lineHeight: tokens.lineHeightS,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n textAlign: 'left',\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n hyphens: 'auto',\n textDecoration: 'none',\n color: tokens.gray800,\n boxSizing: 'border-box',\n transition: `color ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n borderRadius: tokens.borderRadiusMedium,\n\n '&:hover': {\n backgroundColor: hexToRGBA(tokens.gray900, 0.05),\n },\n\n '&:hover::before': {\n opacity: 1,\n scale: '1',\n },\n\n '&:active::before': {\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n '&:disabled': {\n cursor: 'auto',\n },\n\n '& svg': {\n transition: `fill ${tokens.transitionDurationShort} ${tokens.transitionEasingCubicBezier}`,\n },\n '& > svg, & > span': {\n zIndex: tokens.zIndexDefault,\n },\n },\n getGlowOnFocusStyles(),\n ),\n navbarItemMenuTrigger: css({\n paddingRight: tokens.spacingXs,\n }),\n isActive: getNavbarItemActiveStyles(),\n});\n\nexport const getNavbarItemSkeletonStyles = () => ({\n itemSkeleton: 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, 'isActive'>;\n\nexport const NavbarItemIcon = ({ icon, isActive }: NavbarItemIconProps) => {\n const { className, size, ...rest } = icon.props;\n const styles = getNavbarItemIconStyles();\n\n return React.cloneElement(icon, {\n className: cx(className, styles.navbarItemIcon),\n size: size || 'small',\n isActive,\n ...rest,\n });\n};\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarItemIconStyles = () => ({\n navbarItemIcon: css({\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 { 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.itemSkeleton}\n svgWidth={estimatedWidth}\n svgHeight={32}\n backgroundColor={tokens.gray300}\n foregroundColor={tokens.gray200}\n >\n <SkeletonText\n lineHeight={6}\n numberOfLines={1}\n offsetTop={10}\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 { ArrowSquareOutIcon } 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.navbarMenuItem, className)}\n >\n {icon ? (\n <NavbarItemIcon icon={icon} />\n ) : (\n itemIsExternalLink && externalIcon\n )}\n <span>{title}</span>\n {icon && itemIsExternalLink ? externalIcon : null}\n </Menu.Item>\n );\n}\n\nconst externalIcon = <NavbarItemIcon icon={<ArrowSquareOutIcon />} />;\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';\nexport const getNavbarMenuItemStyles = () => ({\n navbarMenuItem: 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 { cx } from 'emotion';\n\ntype NavbarSwitcherOwnProps = CommonProps & {\n children?: 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 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.navbarSwitcher, className)}\n testId={testId}\n alignItems=\"center\"\n fullHeight\n gap=\"spacingXs\"\n >\n <Flex as=\"ul\" alignItems=\"center\" className={styles.switcherBreadcrumbs}>\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 { getGlowOnFocusStyles } from '../utils.styles';\n\nexport const getNavbarSwitcherStyles = () => ({\n navbarSwitcher: css(\n {\n // default button reset styles\n margin: 0,\n padding: 0,\n background: 'none',\n border: 'none',\n height: 'max-content',\n\n color: tokens.gray700,\n cursor: 'pointer',\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n position: 'relative',\n outline: 'none',\n borderRadius: '3rem',\n\n '&:after': {\n content: '\"\"',\n border: '1px solid #353A41',\n boxSizing: 'border-box',\n height: '16px',\n right: '-1px',\n position: 'absolute',\n width: 0,\n },\n '&:last-child:after': {\n display: 'none',\n },\n '&:hover li': {\n backgroundColor: '#f2f4f6', // Using a calculated hover alpha color because when using a RGBA value layers overlapping occur and show darker areas\n },\n },\n getGlowOnFocusStyles(),\n ),\n switcherMenuIcon: css({\n height: tokens.spacingM,\n width: tokens.spacingM,\n fill: tokens.gray700,\n }),\n switcherBreadcrumbs: css({\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\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.gray300}\n foregroundColor={tokens.gray200}\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 { SearchIcon } from '../icons';\nimport {\n type CommonProps,\n type ExpandProps,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\nimport { IconButton } from '@contentful/f36-button';\nimport { getNavbarSearchStyles } from './NavbarSearch.styles';\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 return (\n <IconButton\n aria-label=\"Quick Search\"\n {...otherProps}\n variant=\"transparent\"\n ref={ref}\n size=\"small\"\n className={cx(styles.navbarSearch, className)}\n testId={testId}\n icon={<SearchIcon size=\"medium\" />}\n />\n );\n}\n\nexport const NavbarSearch = React.forwardRef(_NavbarSearch);\n","import { css } from 'emotion';\nimport type { CSSObject } from '@emotion/serialize';\nimport tokens from '@contentful/f36-tokens';\nimport { ButtonSize, ButtonVariant, ButtonStylesProps } from '../types';\nimport { hexToRGBA, type Density } from '@contentful/f36-utils';\n\nconst variantActiveStyles = (variant: ButtonVariant): CSSObject => {\n switch (variant) {\n case 'primary':\n return { backgroundColor: tokens.blue700 };\n case 'secondary':\n return { backgroundColor: tokens.gray200 };\n case 'positive':\n return { backgroundColor: tokens.green700 };\n case 'negative':\n return { backgroundColor: tokens.gray200 };\n case 'transparent':\n return { backgroundColor: hexToRGBA(tokens.gray900, 0.1) };\n default:\n return {};\n }\n};\n\nconst variantToStyles = (variant: ButtonVariant): CSSObject => {\n switch (variant) {\n case 'primary':\n return {\n color: tokens.colorWhite,\n backgroundColor: tokens.blue500,\n borderColor: 'transparent',\n '&:hover': {\n backgroundColor: tokens.blue600,\n color: tokens.colorWhite,\n },\n '&:active': variantActiveStyles(variant),\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n },\n };\n case 'secondary':\n return {\n color: tokens.gray900,\n backgroundColor: tokens.colorWhite,\n borderColor: tokens.gray300,\n '&:hover': {\n backgroundColor: tokens.gray100,\n color: tokens.gray900,\n },\n '&:active': variantActiveStyles(variant),\n '&:focus': {\n boxShadow: tokens.glowPrimary,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n },\n };\n case 'positive':\n return {\n color: tokens.colorWhite,\n backgroundColor: tokens.green500,\n borderColor: 'transparent',\n '&:hover': {\n backgroundColor: tokens.green600,\n color: tokens.colorWhite,\n },\n '&:active': variantActiveStyles(variant),\n '&:focus-visible': {\n boxShadow: tokens.glowPositive,\n },\n };\n case 'negative':\n return {\n color: tokens.red600,\n backgroundColor: tokens.colorWhite,\n borderColor: tokens.gray300,\n '&:hover': {\n backgroundColor: tokens.gray100,\n color: tokens.red600,\n },\n '&:active': variantActiveStyles(variant),\n '&:focus-visible': {\n boxShadow: tokens.glowNegative,\n },\n };\n case 'transparent':\n return {\n color: tokens.gray900,\n background: 'none',\n borderColor: 'transparent',\n boxShadow: 'none',\n '&:hover': {\n backgroundColor: hexToRGBA(tokens.gray900, 0.05),\n },\n '&:active': variantActiveStyles(variant),\n '&:focus': {\n boxShadow: tokens.glowPrimary,\n },\n '&:focus:not(:focus-visible)': {\n boxShadow: 'unset',\n },\n '&:focus-visible': {\n boxShadow: tokens.glowPrimary,\n },\n };\n default:\n return {};\n }\n};\n\nconst sizeToStyles = (size: ButtonSize, density: Density): CSSObject => {\n const isHighDensity = density === 'high';\n\n switch (size) {\n case 'small':\n return {\n fontSize: isHighDensity ? tokens.fontSizeS : tokens.fontSizeM,\n lineHeight: tokens.lineHeightCondensed,\n padding: isHighDensity\n ? `${tokens.spacing2Xs} ${tokens.spacingXs}`\n : `${tokens.spacing2Xs} ${tokens.spacingS}`,\n minHeight: isHighDensity ? tokens.spacingL : tokens.spacingXl,\n };\n case 'medium':\n return {\n fontSize: isHighDensity ? tokens.fontSizeS : tokens.fontSizeM,\n lineHeight: tokens.lineHeightCondensed,\n padding: isHighDensity\n ? `${tokens.spacingXs} ${tokens.spacingS}`\n : `${tokens.spacingXs} ${tokens.spacingM}`,\n minHeight: isHighDensity ? tokens.spacingXl : '40px',\n };\n case 'large':\n return {\n fontSize: tokens.fontSizeXl,\n lineHeight: tokens.lineHeightXl,\n padding: `${tokens.spacingXs} ${tokens.spacingM}`,\n minHeight: '48px',\n };\n default:\n return {};\n }\n};\n\nconst getButtonIconStyle = ({ hasChildren, variant }) => {\n const align = {\n '&:first-child': { marginRight: tokens.spacing2Xs },\n '&:last-child': { marginLeft: tokens.spacing2Xs },\n };\n\n const margin = hasChildren ? align : {};\n\n return css([\n margin,\n // we want to allow variants for icons, but only in the transparent IconButton\n variant !== 'transparent' &&\n hasChildren && {\n '& svg': {\n fill: 'currentColor',\n },\n },\n ]);\n};\n\nexport const getStyles = () => ({\n button: ({\n variant,\n size,\n density,\n isActive,\n isDisabled,\n isFullWidth,\n }: ButtonStylesProps & { density: Density }) =>\n css({\n boxSizing: 'border-box',\n border: `1px solid`,\n boxShadow: '0px 1px 0px rgb(25, 37, 50, 0.08)',\n borderRadius:\n density === 'high'\n ? tokens.borderRadiusSmall\n : tokens.borderRadiusMedium,\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n fontFamily: tokens.fontStackPrimary,\n opacity: isDisabled ? 0.5 : 1,\n display: isFullWidth ? 'flex' : 'inline-flex',\n minWidth: isFullWidth ? '100%' : 'auto',\n maxWidth: isFullWidth ? '100%' : '240px',\n overflow: 'hidden',\n flexShrink: 0,\n justifyContent: 'center',\n alignItems: 'center',\n fontWeight: tokens.fontWeightMedium,\n outline: 'none',\n textDecoration: 'none',\n margin: 0, // remove the default margin in Safari.\n transition: `background ${tokens.transitionDurationShort} ${tokens.transitionEasingDefault},\n opacity ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault},\n border-color ${tokens.transitionDurationDefault} ${tokens.transitionEasingDefault}`,\n ...variantToStyles(variant),\n ...sizeToStyles(size, density),\n ...(isActive\n ? {\n transition: 'none',\n '&, &:focus': variantActiveStyles(variant),\n }\n : {}),\n }),\n buttonIcon: getButtonIconStyle,\n buttonContent: css({\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n});\n","import { css, keyframes } from 'emotion';\nimport type { SpinnerSize } from './types';\n\nconst sizes: { [key in SpinnerSize]: string } = {\n large: '36px',\n medium: '20px',\n small: '14px',\n};\n\nexport const getStyles = () => {\n const animations = {\n scale1: keyframes`\n 0% {\n transform: scale(1, 1);\n }\n 6.666667% {\n transform: scale(1.5, 0.5);\n }\n 13.333333% {\n transform: scale(1, 1);\n }\n 26.666667% {\n transform: scale(1, 1);\n }\n 33.333333% {\n transform: scale(1, 1);\n }\n 40% {\n transform: scale(1, 1);\n }\n 53.333333% {\n transform: scale(1, 1);\n }\n 60% {\n transform: scale(1.5, 0.5);\n }\n 66.666667% {\n transform: scale(1, 1);\n }\n 100% {\n transform: scale(1, 1);\n }\n `,\n scale2: keyframes`\n 0% {\n transform: scale(1, 1);\n }\n 13.333333% {\n transform: scale(1, 1);\n }\n 20% {\n transform: scale(1.5, 0.5);\n }\n 26.666667% {\n transform: scale(1, 1);\n }\n 40% {\n transform: scale(1, 1);\n }\n 46.666667% {\n transform: scale(1, 1);\n }\n 53.333333% {\n transform: scale(1, 1);\n }\n 66.666667% {\n transform: scale(1, 1);\n }\n 73.333333% {\n transform: scale(1.5, 0.5);\n }\n 80% {\n transform: scale(1, 1);\n }\n 100% {\n transform: scale(1, 1);\n }\n `,\n scale3: keyframes`\n 0% {\n transform: scale(1, 1);\n }\n 26.666667% {\n transform: scale(1, 1);\n }\n 33.333333% {\n transform: scale(1.5, 0.5);\n }\n 40% {\n transform: scale(1, 1);\n }\n 53.333333% {\n transform: scale(1, 1);\n }\n 60% {\n transform: scale(1, 1);\n }\n 66.666667% {\n transform: scale(1, 1);\n }\n 80% {\n transform: scale(1, 1);\n }\n 86.666667% {\n transform: scale(1.5, 0.5);\n }\n 93.333333% {\n transform: scale(1, 1);\n }\n 100% {\n transform: scale(1, 1);\n }\n `,\n translate1: keyframes`\n 0% {\n transform: translate(10px, 33.528168px);\n }\n 6.666667% {\n transform: translate(10px, 41.764084px);\n }\n 13.333333% {\n transform: translate(10px, 33.528168px);\n }\n 26.666667% {\n transform: translate(10px, -2.651608px);\n }\n 33.333333% {\n transform: translate(10px, -4.471832px);\n }\n 40% {\n transform: translate(10px, -2.651608px);\n }\n 53.333333% {\n transform: translate(10px, 33.528168px);\n }\n 60% {\n transform: translate(10px, 41.764084px);\n }\n 66.666667% {\n transform: translate(10px, 33.528168px);\n }\n 100% {\n transform: translate(10px, 33.528168px);\n }\n `,\n translate2: keyframes`\n 0% {\n transform: translate(30px, 33.528168px);\n }\n 13.333333% {\n transform: translate(30px, 33.528168px);\n }\n 20% {\n transform: translate(30px, 41.764084px);\n }\n 26.666667% {\n transform: translate(30px, 33.528168px);\n }\n 40% {\n transform: translate(30px, -2.651608px);\n }\n 46.666667% {\n transform: translate(30px, -4.471832px);\n }\n 53.333333% {\n transform: translate(30px, -2.651608px);\n }\n 66.666667% {\n transform: translate(30px, 33.528168px);\n }\n 73.333333% {\n transform: translate(30px, 41.764084px);\n }\n 80% {\n transform: translate(30px, 33.528168px);\n }\n 100% {\n transform: translate(30px, 33.528168px);\n }\n `,\n translate3: keyframes`\n 0% {\n transform: translate(50px, 33.528168px);\n }\n 26.666667% {\n transform: translate(50px, 33.528168px);\n }\n 33.333333% {\n transform: translate(50px, 41.764084px);\n }\n 40% {\n transform: translate(50px, 33.528168px);\n }\n 53.333333% {\n transform: translate(50px, -2.651608px);\n }\n 60% {\n transform: translate(50px, -4.471832px);\n }\n 66.666667% {\n transform: translate(50px, -2.651608px);\n }\n 80% {\n transform: translate(50px, 33.528168px);\n }\n 86.666667% {\n transform: translate(50px, 41.764084px);\n }\n 93.333333% {\n transform: translate(50px, 33.528168px);\n }\n 100% {\n transform: translate(50px, 33.528168px);\n }\n `,\n };\n\n return {\n root: (props: { size: SpinnerSize; customSize?: number }) =>\n css({\n height: props.customSize ? `${props.customSize}px` : undefined,\n verticalAlign: 'middle',\n width: props.customSize ? `${props.customSize}px` : sizes[props.size],\n }),\n circle1Scale: css({\n animation: `${animations.scale1} 1s linear infinite normal forwards;`,\n }),\n circle2Scale: css({\n animation: `${animations.scale2} 1s linear infinite normal forwards;`,\n }),\n circle3Scale: css({\n animation: `${animations.scale3} 1s linear infinite normal forwards;`,\n }),\n circle1Translate: css({\n animation: `${animations.translate1} 1s linear infinite normal forwards;`,\n }),\n circle2Translate: css({\n animation: `${animations.translate2} 1s linear infinite normal forwards;`,\n }),\n circle3Translate: css({\n animation: `${animations.translate3} 1s linear infinite normal forwards;`,\n }),\n };\n};\n","import { css } from 'emotion';\nimport { getGlowOnFocusStyles } from '../utils.styles';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarSearchStyles = () => ({\n navbarSearch: css(\n {\n // default button reset styles\n minWidth: '24px',\n width: '24px',\n minHeight: '24px',\n height: '24px',\n svg: {\n fill: tokens.gray700,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarSwitcherItemStyles } from './NavbarSwitcherItem.styles';\nimport { NavbarEnvVariant } from './NavbarEnvVariant';\nimport {\n Flex,\n type CommonProps,\n type ExpandProps,\n type PropsWithHTMLElement,\n} from '@contentful/f36-core';\n\ntype NavbarSwitcherItemOwnProps = CommonProps & {\n children?: React.ReactNode;\n isCircle?: boolean;\n envVariant?: 'master' | 'non-master';\n isAlias?: boolean;\n};\n\nexport type NavbarSwitcherItemProps = PropsWithHTMLElement<\n NavbarSwitcherItemOwnProps,\n 'li'\n>;\n\nfunction _NavbarSwitcherItem(\n props: ExpandProps<NavbarSwitcherItemProps>,\n ref: React.Ref<HTMLLIElement>,\n) {\n const {\n children,\n isCircle,\n className,\n envVariant,\n isAlias,\n testId = 'cf-ui-navbar-switcher-item',\n ...otherProps\n } = props;\n const styles = getNavbarSwitcherItemStyles();\n const classes = cx(styles.breadcrumbsItem, className, {\n [styles.breadcrumbsItemCircle]: isCircle,\n [styles.breadcrumbsItemEnvMaster]: envVariant === 'master',\n [styles.breadcrumbsItemEnvNonMaster]: envVariant === 'non-master',\n });\n\n return (\n <li {...otherProps} ref={ref} className={classes} data-test-id={testId}>\n <Flex fullHeight justifyContent=\"center\" alignItems=\"center\">\n {envVariant && <NavbarEnvVariant isAlias={isAlias} />}\n <span>{children}</span>\n </Flex>\n </li>\n );\n}\n\nexport const NavbarSwitcherItem = React.forwardRef(_NavbarSwitcherItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { 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 border: `solid 1px ${tokens.gray300}`,\n borderLeft: 'none',\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\n whiteSpace: 'nowrap',\n '&:first-child': {\n minWidth: '24px',\n },\n '&:nth-child(2)': {\n zIndex: 1,\n marginLeft: '-10px',\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 marginLeft: '-10px',\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 border: `solid 1px ${tokens.gray300}`,\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.green600,\n ' svg': {\n ...mobileIcon,\n fill: tokens.green600,\n },\n }),\n breadcrumbsItemEnvNonMaster: css({\n color: tokens.orange500,\n svg: {\n ...mobileIcon,\n fill: tokens.orange500,\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 { HelpIcon } from '../icons';\nimport {\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Button } from '@contentful/f36-button';\nimport { NavbarMenu } from '../NavbarMenu/NavbarMenu';\nimport { getNavbarHelpStyles } from './NavbarHelp.styles';\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\n const styles = getNavbarHelpStyles();\n\n return (\n <NavbarMenu\n testId=\"cf-ui-navbar-help-menu\"\n trigger={\n <Button\n aria-label=\"Help Menu\"\n {...otherProps}\n as=\"button\"\n ref={ref}\n className={cx(styles.navbarHelp, className)}\n testId={testId}\n variant=\"transparent\"\n size=\"small\"\n startIcon={<HelpIcon size=\"medium\" />}\n >\n Help\n </Button>\n }\n >\n {children}\n </NavbarMenu>\n );\n}\n\nexport const NavbarHelp = React.forwardRef(_NavbarHelp);\n","import { css } from 'emotion';\nimport { getGlowOnFocusStyles } from '../utils.styles';\nimport tokens from '@contentful/f36-tokens';\n\nexport const getNavbarHelpStyles = () => ({\n navbarHelp: css(\n {\n // default button reset styles\n fontSize: tokens.fontSizeS,\n padding: `0 ${tokens.spacing2Xs}`,\n width: 'max-content',\n minHeight: '24px',\n height: '24px',\n color: tokens.gray700,\n svg: {\n fill: tokens.gray700,\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n","import React from 'react';\nimport { cx } from 'emotion';\nimport { getNavbarBadgeStyles } from './NavbarBadge.styles';\nimport type {\n CommonProps,\n ExpandProps,\n PolymorphicComponent,\n PolymorphicProps,\n} from '@contentful/f36-core';\n\nconst NAVBAR_BADGE_DEFAULT_TAG = 'div';\n\ntype NavbarBadgeOwnProps = CommonProps & {\n children?: React.ReactNode;\n as?: React.ElementType;\n};\n\nexport type NavbarBadgeProps<\n E extends React.ElementType = typeof NAVBAR_BADGE_DEFAULT_TAG,\n> = PolymorphicProps<NavbarBadgeOwnProps, E>;\n\nfunction _NavbarBadge(\n props: NavbarBadgeProps<React.ElementType>,\n ref: React.Ref<any>,\n) {\n const {\n as: Comp = NAVBAR_BADGE_DEFAULT_TAG,\n children,\n className,\n testId = 'cf-ui-navbar-badge',\n ...otherProps\n } = props;\n const styles = getNavbarBadgeStyles();\n\n return (\n <Comp\n {...otherProps}\n ref={ref}\n className={cx(styles.navbarBadge, 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 navbarBadge: css({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: 'none',\n border: `1px solid ${tokens.purple600}`,\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.purple600}!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.navbarTopItem, className)}\n data-test-id={testId}\n >\n {children}\n </Comp>\n );\n}\n\nexport const NavbarTopbarItem: PolymorphicComponent<\n ExpandProps<NavbarTopbarItemOwnProps>,\n typeof NAVBAR_BADGE_DEFAULT_TAG\n> = React.forwardRef(_NavbarTopbarItem);\n","import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\nimport { getGlowOnFocusStyles } from '../utils.styles';\nimport { hexToRGBA } from '@contentful/f36-utils';\nexport const getNavbarTopbarItemStyles = () => ({\n navbarTopItem: css(\n {\n // default button reset styles\n margin: 0,\n background: 'none',\n border: '1px solid',\n borderColor: 'transparent',\n cursor: 'pointer',\n display: 'flex',\n gap: tokens.spacing2Xs,\n alignItems: 'center',\n lineHeight: tokens.lineHeightDefault,\n color: tokens.gray700,\n padding: `0 ${tokens.spacing2Xs}`,\n minHeight: '24px',\n fontSize: tokens.fontSizeS,\n fontWeight: tokens.fontWeightMedium,\n outline: 'none',\n borderRadius: tokens.borderRadiusMedium,\n\n '&:hover': {\n backgroundColor: hexToRGBA(tokens.gray900, 0.05),\n },\n svg: {\n fill: 'currentColor',\n },\n },\n getGlowOnFocusStyles(),\n ),\n});\n"]}
package/dist/index.d.mts CHANGED
@@ -91,7 +91,7 @@ declare type NavbarMenuProps = {
91
91
 
92
92
  declare type NavbarItemIconProps = {
93
93
  icon: React.ReactElement<IconProps>;
94
- } & Pick<IconProps, 'variant'>;
94
+ } & Pick<IconProps, 'isActive'>;
95
95
 
96
96
  declare const NAVBAR_ITEM_DEFAULT_TAG = "button";
97
97
  declare type NavbarItemTriggerProps = CommonProps & {