@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.74 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("@mui/material/List"),r=require("@mui/material/ListItem"),i=require("@mui/material/ListItemButton"),o=require("@mui/material/ListItemIcon"),a=require("@mui/material/ListItemText"),n=require("@mui/icons-material/Circle");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=l(t),d=l(r),u=l(i),m=l(o),c=l(a),f=l(n);const p="NexusContentMenuItem";exports.ContentMenuComponent=t=>{const{selectedNodeId:r,items:i,onMenuItemClick:o,sx:a,...n}=t,l=i.findIndex((e=>e.nodeId===r));return e.jsx(s.default,{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*l,top:20,left:21.5}}),...Array.isArray(a)?a:[a]],...n,children:i.map(((t,r)=>{const i=r===l,a=r<=l;return e.jsx(d.default,{disablePadding:!0,dense:!0,className:`${p}-root`,"data-testid":`${p}-${i?"active":"inactive"}`,children:e.jsxs(u.default,{onClick:()=>o?.(t),children:[e.jsx(m.default,{className:`${p}-circleIcon`,sx:e=>({minWidth:12,mr:4,fontSize:i?12:8,color:a?"primary.main":"grey.300",justifyContent:"center",...e.applyStyles("dark",{color:a?"primary.main":"grey.500"})}),children:e.jsx(f.default,{fontSize:"inherit"})}),e.jsx(c.default,{className:`${p}-label`,primary:t.label,primaryTypographyProps:{fontWeight:i?700:400,color:i?"primary.main":"inherit"}})]})},t.nodeId)}))})};