@nexusui/components
Version:
These are custom components specially-developed for NexusUI applications. They will make your life easier by giving you out-of-the-box implementations for various high-level UI elements that you can drop directly into your application.
2 lines (1 loc) • 5.38 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),a=require("@mui/material/MenuItem"),r=require("@mui/material/Menu"),i=require("@mui/material/Typography"),s=require("@mui/material/Box"),l=require("@mui/material/Stack"),n=require("@mui/icons-material/OpenInNew"),u=require("@mui/icons-material/KeyboardBackspace"),o=require("@mui/material/ListItemIcon"),d=require("@mui/material/ListItemText"),c=require("@mui/icons-material/Logout"),m=require("@mui/icons-material/PersonOutline"),x=require("@mui/material/Divider"),h=require("@mui/material/Tooltip"),g=require("@mui/material/Button"),f=require("@mui/material/CircularProgress"),p=require("@mui/material/styles"),j=require("@mui/material/useMediaQuery"),y=require("../util/styles/index.js"),q=require("./locale.json.js"),b=require("../util/functions/index.js"),I=require("../locales/index.js"),k=require("../StatusAvatar/StatusAvatar.container.js"),$=require("../StatusBadge/StatusBadge.container.js"),v=require("../LegalMenu/LegalMenu.container.js");function N(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var M=N(a),A=N(r),L=N(i),S=N(s),C=N(l),w=N(n),W=N(u),B=N(o),T=N(d),O=N(c),P=N(m),E=N(x),_=N(h),D=N(g),z=N(f),F=N(j);const K="NexusAccountDropdown",H=(t,a)=>{const{key:r,name:i,icon:s,onClick:l,"data-testid":n,sx:u,...o}=t;return e.jsxs(M.default,{className:`${K}-menuItem`,"data-testid":n||`${K}-title`,onClick:e=>{l?.(e),a?.()},sx:[{pl:{xs:6,sm:8},pr:6,height:48,my:1,"& .MuiListItemIcon-root":{minWidth:56}},...Array.isArray(u)?u:[u]],...o,children:[e.jsx(B.default,{children:s}),e.jsx(L.default,{variant:"body1",noWrap:!0,children:i})]},r||`${i}-menuItem`)};exports.accountMenuItem=H,exports.default=({version:a,items:r=[],legalItems:i=[],userInfo:s,isAdmin:l=!1,onSignOut:n,onMenuItemClick:u,onUserClick:o,accountLinkTarget:d="_blank",loading:c,loadingMessage:m,hideBackHeader:x,...h})=>{const g=I.useTranslate(q.default),f=p.useTheme(),j=F.default(f.breakpoints.down("sm")),N=b.getFullName(s);return e.jsxs(A.default,{autoFocus:!1,className:`${K}-root`,"data-testid":"account-menu",marginThreshold:j?0:16,slotProps:{paper:{sx:{".MuiList-root":{padding:0,height:"100%"},...y.responsiveMenuStyle}}},...h,children:[e.jsxs(C.default,{tabIndex:-1,sx:{height:"100%",justifyContent:"space-between"},children:[e.jsxs(C.default,{sx:{flex:1},children:[j&&!x&&e.jsxs(C.default,{sx:{height:56},children:[e.jsx(S.default,{sx:{display:"flex",alignItems:"center",height:"100%"},children:e.jsx(D.default,{className:`${K}-back`,"data-testid":`${K}-back`,sx:e=>({ml:3,color:"grey.600",...e.applyStyles("dark",{color:"common.white"})}),size:"large",onClick:e=>{h.onClose?.(e,"escapeKeyDown")},startIcon:e.jsx(W.default,{}),children:g("Back")})}),e.jsx(E.default,{})]}),e.jsxs(C.default,{direction:"row",alignItems:"center",className:`${K}-userPanel`,"data-testid":`${K}-userPanel`,sx:{pl:{xs:4,sm:6},pr:6,height:72},children:[e.jsx(k.StatusAvatar,{...s,className:`${K}-userAvatar`,sx:{height:40,width:40,mr:6}}),e.jsxs(C.default,{className:`${K}-userInfo`,sx:[{flex:1},y.limitOneLine],children:[e.jsx(_.default,{title:N,arrow:!0,placement:"bottom-start",children:e.jsx(L.default,{variant:"body1",className:`${K}-userName`,"data-testid":`${K}-userName`,noWrap:!0,children:N})}),e.jsx(_.default,{title:s.email,arrow:!0,placement:"bottom-start",children:e.jsx(L.default,{color:"text.secondary",variant:"caption",className:`${K}-email`,"data-testid":`${K}-email`,noWrap:!0,children:s.email})})]}),l&&e.jsx($.StatusBadge,{color:"info","data-testid":`${K}-manageLabel`,className:`${K}-manageLabel`,label:g("Admin")})]}),e.jsxs(M.default,{tabIndex:0,className:`${K}-manageAccount`,"data-testid":`${K}-manageAccount`,onClick:()=>{o?.(),u?.()},sx:{pl:{xs:6,sm:8},pr:6,height:48,my:1,"& .MuiListItemIcon-root":{minWidth:56},[`& .${K}-manageAccountExternal`]:{display:"none"},"&:hover":{[`& .${K}-manageAccountExternal`]:{display:"flex"}}},children:[e.jsx(B.default,{children:e.jsx(P.default,{sx:e=>({color:"grey.600",...e.applyStyles("dark",{color:"grey.400"})})})}),e.jsx(L.default,{sx:{display:"flex",flex:1},variant:"body1",noWrap:!0,children:g("Manage account")}),"_blank"===d&&e.jsx(w.default,{className:`${K}-manageAccountExternal`,sx:e=>({color:"grey.600",...e.applyStyles("dark",{color:"grey.400"})})})]}),r.map((e=>t.isValidElement(e)?e:H(e,u))),r.length>0&&e.jsx(E.default,{variant:"fullWidth",sx:{my:2}}),i.length>0&&e.jsx(v.LegalMenu,{items:i,onMenuItemClick:()=>{u?.()}}),e.jsxs(M.default,{"data-testid":"signOut-btn",onClick:()=>{n(),u?.()},sx:{pl:{xs:6,sm:8},pr:6,my:1,height:48,"& .MuiListItemIcon-root":{minWidth:56}},children:[e.jsx(B.default,{children:e.jsx(O.default,{sx:e=>({color:"grey.600",...e.applyStyles("dark",{color:"grey.400"})})})}),e.jsx(T.default,{children:g("Sign out")})]})]}),e.jsx(S.default,{className:`${K}-version`,sx:[{height:56,pl:{xs:6,sm:8},pr:6,pt:2,mt:1,cursor:"default"}],children:e.jsx(L.default,{"data-testid":"versionTitle",variant:"caption",color:"text.secondary",noWrap:!0,children:a})})]}),c&&e.jsxs(C.default,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,bgcolor:"background.paper"},alignItems:"center",justifyContent:"center","data-testid":`${K}-loading`,className:`${K}-loading`,children:[e.jsx(z.default,{size:40}),m&&e.jsx(L.default,{sx:{mt:4},variant:"body1",fontWeight:600,children:m})]})]})};