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.46 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"),y=require("@mui/icons-material/KeyboardBackspace"),g=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),T=b(o),$=b(n),M=b(u),O=b(d),z=b(c),N=b(m),w=b(x),L=b(h),A=b(y);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=g.useTranslate(f.default),x=p.useTheme(),h=w.default(x.breakpoints.down("sm")),[y,b]=r.useState(null),P=Boolean(y),_=()=>{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":P,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"})}}),j.styles.menuItem],className:`${B}-root`,"data-testid":`${B}-root`,disableTouchRipple:!0,...c,children:[e.jsx(I.default,{children:e.jsx($.default,{sx:e=>({color:"grey.600",...e.applyStyles("dark",{color:"grey.400"})})})}),e.jsx(v.default,{primary:s[0]?.name,primaryTypographyProps:{sx:j.styles.listText,translate:"no"}}),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":P?"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($.default,{sx:e=>({color:"grey.600",...e.applyStyles("dark",{color:"grey.400"})})})}),e.jsx(v.default,{primaryTypographyProps:{sx:j.styles.listText},translate:"no",children:R?.name||m("Select an Organization")}),e.jsx(S.default,{fontSize:"small"})]}),d&&e.jsx(O.default,{sx:{my:2}}),e.jsxs(C.default,{sx:j.styles.subMenu,anchorEl:y,open:P,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:_,"data-testid":"OrganizationSelector-SubMenu",className:`${B}-menu`,children:[h&&e.jsxs(L.default,{sx:{height:56},children:[e.jsx(M.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:_,startIcon:e.jsx(A.default,{}),"data-testid":`${B}-back`,className:`${B}-back`,size:"large",children:m("Back")})}),e.jsx(O.default,{})]}),e.jsx(M.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),_()},sx:[e=>({height:40,pl:{xs:6,sm:4},cursor:d?"default":"pointer","&:hover":d?{backgroundColor:"transparent",...e.applyStyles("dark",{backgroundColor:"transparent"})}:{}}),j.styles.menuItem],"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(T.default,{sx:e=>({color:"grey.500",...e.applyStyles("dark",{color:"common.white"})})})}),e.jsx(v.default,{primary:s,primaryTypographyProps:{sx:j.styles.listText,translate:"no"}}),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}`)}))})]})]})};