@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.45 kB
JavaScript
import{jsxs as r,Fragment as i,jsx as t}from"react/jsx-runtime";import{useState as e}from"react";import o from"@mui/material/Menu";import a from"@mui/material/MenuItem";import m from"@mui/material/ListItemText";import l from"@mui/icons-material/ChevronRight";import s from"@mui/material/ListItemIcon";import n from"@mui/icons-material/Security";import c from"@mui/material/Divider";import p from"@mui/material/useMediaQuery";import{useTheme as u}from"@mui/material/styles";import d from"@mui/material/Stack";import h from"@mui/material/Box";import f from"@mui/material/Button";import x from"@mui/icons-material/KeyboardBackspace";import{openLink as y}from"../util/functions/index.js";import g from"./locale.json.js";import{useTranslate as k}from"../locales/index.js";import{responsiveMenuStyle as I}from"../util/styles/index.js";const M="NexusLegalMenu",$=({items:$,onMenuItemClick:b,sx:v,divider:C,...S})=>{const j=k(g),L=u(),B=p(L.breakpoints.down("sm")),[N,z]=e(null),A=Boolean(N),P=()=>{z(null)};return $.length<1?null:r(i,{children:[r(a,{onClick:r=>{z(r.currentTarget)},"aria-haspopup":"true","aria-expanded":A?"true":void 0,className:`${M}-root`,"data-testid":`${M}-root`,sx:[{pl:{xs:6,sm:8},pr:6,my:1,height:48,"& .MuiListItemIcon-root":{minWidth:56}},...Array.isArray(v)?v:[v]],...S,children:[t(s,{children:t(n,{sx:r=>({color:"grey.600",...r.applyStyles("dark",{color:"grey.400"})})})}),t(m,{children:j("Legal and Privacy")}),t(l,{fontSize:"small"})]}),C&&t(c,{sx:{my:2}}),r(o,{sx:{"& .MuiPaper-root":{minWidth:300}},anchorEl:N,open:A,anchorOrigin:{vertical:"top",horizontal:-16},transformOrigin:{vertical:"top",horizontal:"right"},marginThreshold:B?0:16,slotProps:{paper:{sx:{transform:"translateX(-4px)",".MuiList-root":{py:{xs:0,sm:2}},...I}}},onClose:P,"data-testid":`${M}-SubMenu`,className:`${M}-SubMenu`,children:[B&&r(d,{sx:{height:56},children:[t(h,{sx:{display:"flex",alignItems:"center",height:"100%"},children:t(f,{sx:r=>({ml:3,color:"grey.600",...r.applyStyles("dark",{color:"common.white"})}),onClick:P,startIcon:t(x,{}),"data-testid":`${M}-back`,className:`${M}-back`,size:"large",children:j("Back")})}),t(c,{})]}),$?.map(((r,i)=>(({name:r,url:i,"data-testid":e,onClick:o,sx:l,...s},n)=>t(a,{className:`${M}-footerItem`,"data-testid":e||`${M}-title`,onClick:r=>{o?o(r):y(i,"_blank"),n?.()},sx:[{pl:{xs:6,sm:4},pr:2},...Array.isArray(l)?l:[l]],...s,children:t(m,{children:r})},`${r}-legalItem`))(r,b)))]})]})};export{$ as default};