UNPKG

@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) 4.39 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("@mui/material/MenuItem"),a=require("@mui/material/ListItemText"),i=require("@mui/material/ListItemIcon"),s=require("@mui/icons-material/ChevronRight"),l=require("@mui/material/Menu"),o=require("@mui/icons-material/Check"),n=require("@mui/icons-material/Business"),u=require("@mui/material/Box"),d=require("@mui/material/Divider"),c=require("@mui/icons-material/OpenInNew"),m=require("@mui/material/Button"),p=require("@mui/material/styles"),x=require("@mui/material/useMediaQuery"),h=require("@mui/material/Stack"),g=require("@mui/icons-material/KeyboardBackspace"),y=require("../locales/index.js"),f=require("./locale.json.js"),j=require("./OrganizationSelector.styles.js"),k=require("../util/styles/index.js");function b(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var q=b(t),v=b(a),I=b(i),S=b(s),C=b(l),$=b(o),M=b(n),O=b(u),T=b(d),z=b(c),N=b(m),w=b(x),L=b(h),A=b(g);const B="NexusOrganizationSelector";exports.default=t=>{const{selectedOrgId:a,orgActionLabel:i="View",organizations:s,onOrgItemChange:l,onMenuItemClick:o,onViewOrgs:n,orgActionLinkTarget:u="_blank",divider:d,...c}=t,m=y.useTranslate(f.default),x=p.useTheme(),h=w.default(x.breakpoints.down("sm")),[g,b]=r.useState(null),_=Boolean(g),P=()=>{b(null)},R=r.useMemo((()=>s.find((e=>e.id===a))),[s,a]);return 0===s.length?null:1===s.length?e.jsxs(q.default,{"aria-haspopup":"true","aria-expanded":_,sx:e=>({pl:{xs:6,sm:8},pr:6,my:1,height:48,cursor:"default","& .MuiListItemIcon-root":{minWidth:56},"&:hover":{backgroundColor:"transparent",...e.applyStyles("dark",{backgroundColor:"transparent"})}}),className:`${B}-root`,"data-testid":`${B}-root`,disableTouchRipple:!0,...c,children:[e.jsx(I.default,{children:e.jsx(M.default,{sx:e=>({color:"grey.600",...e.applyStyles("dark",{color:"grey.400"})})})}),e.jsx(v.default,{primaryTypographyProps:{style:j.styles.listText},translate:"no",children:s[0]?.name}),e.jsx(N.default,{"data-testid":`${B}-orgAction`,className:`${B}-orgAction`,onClick:n,variant:"text",endIcon:"_blank"===u?e.jsx(z.default,{}):void 0,children:i})]}):e.jsxs(e.Fragment,{children:[e.jsxs(q.default,{onClick:e=>{b(e.currentTarget)},"aria-haspopup":"true","aria-expanded":_?"true":void 0,sx:{pl:{xs:6,sm:8},pr:6,my:1,height:48,"& .MuiListItemIcon-root":{minWidth:56}},className:`${B}-root`,"data-testid":`${B}-root`,...c,children:[e.jsx(I.default,{children:e.jsx(M.default,{sx:e=>({color:"grey.600",...e.applyStyles("dark",{color:"grey.400"})})})}),e.jsx(v.default,{primaryTypographyProps:{style:j.styles.listText},translate:"no",children:R?.name||m("Select an Organization")}),e.jsx(S.default,{fontSize:"small"})]}),d&&e.jsx(T.default,{sx:{my:2}}),e.jsxs(C.default,{sx:j.styles.subMenu,anchorEl:g,open:_,anchorOrigin:{vertical:"top",horizontal:-16},transformOrigin:{vertical:"top",horizontal:"right"},marginThreshold:h?0:16,slotProps:{paper:{sx:{transform:"translateX(-4px)",".MuiList-root":{py:{xs:0,sm:2}},...k.responsiveMenuStyle}}},onClose:P,"data-testid":"OrganizationSelector-SubMenu",className:`${B}-menu`,children:[h&&e.jsxs(L.default,{sx:{height:56},children:[e.jsx(O.default,{sx:{display:"flex",alignItems:"center",height:"100%"},children:e.jsx(N.default,{sx:e=>({ml:3,color:"grey.600",...e.applyStyles("dark",{color:"common.white"})}),onClick:P,startIcon:e.jsx(A.default,{}),"data-testid":`${B}-back`,className:`${B}-back`,size:"large",children:m("Back")})}),e.jsx(T.default,{})]}),e.jsx(O.default,{sx:{overflowY:"auto"},children:s.map(((r,t)=>{const{id:a,name:s,...o}=r,d=R?.id===a;return e.jsxs(q.default,{onClick:d?void 0:()=>{l?.(r),P()},sx:e=>({height:40,pl:{xs:6,sm:4},cursor:d?"default":"pointer","&:hover":d?{backgroundColor:"transparent",...e.applyStyles("dark",{backgroundColor:"transparent"})}:{}}),"data-testid":"OrganizationSelector-SubMenuItem",className:`${B}-orgItem ${d?"active":""}`,disableTouchRipple:d,...o,children:[e.jsx(I.default,{sx:{visibility:d?"visible":"hidden"},children:e.jsx($.default,{sx:e=>({color:"grey.500",...e.applyStyles("dark",{color:"common.white"})})})}),e.jsx(v.default,{translate:"no",children:s}),d&&e.jsx(N.default,{"data-testid":`${B}-orgAction`,className:`${B}-orgAction`,onClick:n,variant:"text",endIcon:"_blank"===u?e.jsx(z.default,{}):void 0,children:i})]},`organization-item-${t}`)}))})]})]})};