@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.22 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("@mui/icons-material/Check"),t=require("@mui/material/Divider"),r=require("@mui/material/List"),a=require("@mui/material/ListItem"),s=require("@mui/material/ListItemButton"),l=require("@mui/material/ListItemText"),o=require("@mui/material/ListItemAvatar"),u=require("@mui/material/ListItemIcon"),n=require("../../model/index.js"),d=require("../../../util/functions/index.js"),m=require("../../../locales/index.js"),c=require("../../locale.json.js"),p=require("../../../common/BottomSheet/BottomSheet.js"),x=require("../../../StatusAvatar/StatusAvatar.container.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var v=h(i),f=h(t),j=h(r),y=h(a),b=h(s),q=h(l),L=h(o),S=h(u);const g="NexusPermissionSheet";exports.MobilePermissionSheet=i=>{const{open:t,shareConfig:r,handleClose:a}=i,s=m.useTranslate(c.default),{permissionLevels:l=n.defaultLevels(s),permissionLevel:o="viewer",editable:u,onPermissionChange:h,user:C,extraActions:P=[]}=r,$=C?d.getFullName(C)||C?.email:"",I=l.find((e=>e.value===o));return e.jsx(p.BottomSheet,{className:`${g}-root`,onClose:a,open:t,children:e.jsxs(j.default,{"data-testid":`${g}-list`,children:[C&&e.jsxs(y.default,{sx:{height:64},children:[e.jsx(L.default,{children:e.jsx(x.StatusAvatar,{...C})}),e.jsx(q.default,{"data-testid":`${g}-user`,primary:$,secondary:I?.label,primaryTypographyProps:{variant:"body1",style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}})]}),C&&e.jsx(f.default,{}),u&&l.map((i=>e.jsxs(b.default,{"data-testid":`${g}-permission-${i.value}`,dense:!0,onClick:()=>{h?.(i.value),a()},children:[e.jsx(S.default,{sx:{minWidth:35},children:e.jsx(v.default,{sx:{visibility:o===i.value?"visible":"hidden"}})}),e.jsx(q.default,{primary:i.label,primaryTypographyProps:{variant:"body2"}})]},i.value))),u&&P.length>0&&e.jsx(f.default,{}),P.map((i=>e.jsx(b.default,{"data-testid":`${g}-extra-${i.label}`,dense:!0,onClick:()=>{i.onClick(),a()},children:e.jsx(q.default,{primary:i.label,primaryTypographyProps:{variant:"body2",color:i.label===s("Remove")||i.label===s("Leave")?"error.main":"text.primary"}})},i.label)))]})})};