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) 2.46 kB
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)=>(({key:r,name:i,url:e,"data-testid":o,onClick:l,sx:s,...n},c)=>t(a,{className:`${M}-footerItem`,"data-testid":o||`${M}-title`,onClick:r=>{l?l(r):y(e,"_blank"),c?.()},sx:[{pl:{xs:6,sm:4},pr:2},...Array.isArray(s)?s:[s]],...n,children:t(m,{children:i})},r||`${i}-legalItem`))(r,b)))]})]})};export{$ as default};