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) 1.52 kB
import{jsx as e,jsxs as t}from"react/jsx-runtime";import r from"@mui/material/List";import i from"@mui/material/ListItem";import o from"@mui/material/ListItemButton";import a from"@mui/material/ListItemIcon";import m from"@mui/material/ListItemText";import n from"@mui/icons-material/Circle";const l="NexusContentMenuItem",s=s=>{const{selectedNodeId:d,items:c,onMenuItemClick:p,sx:f,...y}=s,u=c.findIndex((e=>e.nodeId===d));return e(r,{className:"NexusContentMenu-root",disablePadding:!0,sx:[e=>({position:"relative","&:before":{content:'""',borderLeftWidth:1,borderLeftStyle:"solid",borderLeftColor:"grey.300",position:"absolute",height:"calc(100% - 40px)",top:20,left:21.5,...e.applyStyles("dark",{borderLeftColor:"grey.500"})},"&:after":{content:'""',borderLeftWidth:1,borderLeftStyle:"solid",borderLeftColor:"primary.main",position:"absolute",height:40*u,top:20,left:21.5}}),...Array.isArray(f)?f:[f]],...y,children:c.map(((r,s)=>{const d=s===u,c=s<=u;return e(i,{disablePadding:!0,dense:!0,className:`${l}-root`,"data-testid":`${l}-${d?"active":"inactive"}`,children:t(o,{onClick:()=>p?.(r),children:[e(a,{className:`${l}-circleIcon`,sx:e=>({minWidth:12,mr:4,fontSize:d?12:8,color:c?"primary.main":"grey.300",justifyContent:"center",...e.applyStyles("dark",{color:c?"primary.main":"grey.500"})}),children:e(n,{fontSize:"inherit"})}),e(m,{className:`${l}-label`,primary:r.label,primaryTypographyProps:{fontWeight:d?700:400,color:d?"primary.main":"inherit"}})]})},r.nodeId)}))})};export{s as ContentMenuComponent};