@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) • 2.59 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/icons-material/MoreVert"),r=require("@mui/material/Divider"),i=require("@mui/material/IconButton"),a=require("@mui/material/Menu"),l=require("@mui/material/MenuItem"),n=require("@mui/material/Typography"),s=require("react"),u=require("@mui/material/useMediaQuery"),o=require("@mui/material/styles"),d=require("@mui/icons-material/Check"),c=require("@mui/material/Stack"),m=require("../../../locales/index.js"),h=require("./OrgButton.js"),x=require("../../locale.json.js"),g=require("../MobileOrgSheet/MobileOrgSheet.js");function j(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=j(t),f=j(r),v=j(i),p=j(a),q=j(l),O=j(n),y=j(u),C=j(d),k=j(c);const M="NexusOrgPicker";exports.OrgPicker=t=>{const r=m.useTranslate(x.default),{useBottomsheet:i=!1,isMobile:a=!1,...l}=t,{extraActions:n=[],editable:u,orgOptions:d,selectedOrg:c,onOrgChange:j}=l,$=o.useTheme(),A=y.default($.breakpoints.down("sm")),[w,B]=s.useState(null),S=Boolean(w),I=e=>{B(e.currentTarget)},T=()=>{B(null)},P=d?.find((e=>e.value===c));return e.jsxs(e.Fragment,{children:[a?e.jsxs(k.default,{"data-testid":`${M}-root`,direction:"row",flex:1,justifyContent:"space-between",alignItems:"center",children:[e.jsx(O.default,{variant:"body2",noWrap:!0,children:P?.label}),e.jsx(v.default,{"aria-label":r("More Actions"),"data-testid":`${M}-Org-button`,edge:"end",onClick:I,sx:{ml:2,visibility:1===d?.length?"hidden":"visible"},children:e.jsx(b.default,{})})]}):e.jsxs(e.Fragment,{children:[!u&&e.jsx(O.default,{"data-testid":`${M}-readOnly`,variant:"body1",sx:{fontWeight:700},children:P?.label}),u&&e.jsx(h.OrgButton,{open:S,showArrowIcon:1!==d?.length,selectedOrgOption:P,onClick:I,sx:A?{maxWidth:"unset"}:{}}),!u&&n.length>0&&e.jsx(v.default,{"data-testid":`${M}-moreActions`,className:`${M}-moreActions`,"aria-label":r("More Actions"),edge:"end",onClick:I,sx:{ml:2},children:e.jsx(b.default,{})})]}),i?e.jsx(g.MobileOrgSheet,{open:S,shareConfig:l,handleClose:T}):(u||n.length>0)&&e.jsxs(p.default,{"data-testid":`${M}-menu`,open:S,onClose:T,anchorEl:w,children:[u&&d?.map((t=>e.jsxs(q.default,{"data-testid":`${M}-org-${t.value}`,value:t.value,onClick:()=>{j?.(t.value),T()},selected:c===t.value,children:[e.jsx(C.default,{sx:{mr:1,color:"grey.500",visibility:c===t.value?"visible":"hidden"}}),t.label]},t.value))),u&&n.length>0&&e.jsx(f.default,{}),n.map((t=>e.jsx(q.default,{"data-testid":`${M}-extra-${t.label}`,dense:!0,onClick:()=>{t.onClick(),T()},children:t.label},t.label)))]})]})};