@pdg/react-admin-layout 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,7 @@ Admin Layout for React
4
4
 
5
5
  ## 설치
6
6
  ```
7
- npm install -D @pdg/react-admin-layout @mui/material @mui/icons-material @emotion/react @emotion/styled
7
+ npm install -D @pdg/react-admin-layout @mui/material @mui/icons-material @emotion/react @emotion/styled simplebar-react
8
8
  ```
9
9
 
10
10
  ### index.html 에 추가
@@ -18,3 +18,8 @@ npm install -D @pdg/react-admin-layout @mui/material @mui/icons-material @emotio
18
18
  </head>
19
19
  ...
20
20
  ```
21
+
22
+ ### css 에 추가
23
+ ```
24
+ import 'simplebar-react/dist/simplebar.min.css';
25
+ ```
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
2
  import { SideMenuProps } from './SideMenu.types';
3
- import 'simplebar-react/dist/simplebar.min.css';
4
3
  declare const SideMenu: React.FC<SideMenuProps>;
5
4
  export default SideMenu;
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import {Grid,useTheme,alpha,ListItemButton,ListItemIcon,Icon,ListItemText,Badge,Collapse,styled,List,Box,Toolbar,Typography,AppBar,Drawer,IconButton}from'@mui/material';import React,{useState,useEffect,useCallback,useMemo}from'react';import {useLocation}from'react-router-dom';import {ExpandMore,Menu}from'@mui/icons-material';import SimpleBar from'simplebar-react';import'simplebar-react/dist/simplebar.min.css';var CardLayoutDefaultProps = {
1
+ import {Grid,useTheme,alpha,ListItemButton,ListItemIcon,Icon,ListItemText,Badge,Collapse,styled,List,Box,Toolbar,Typography,AppBar,Drawer,IconButton}from'@mui/material';import React,{useState,useEffect,useCallback,useMemo}from'react';import {useLocation}from'react-router-dom';import {ExpandMore,Menu}from'@mui/icons-material';import SimpleBar from'simplebar-react';var CardLayoutDefaultProps = {
2
2
  backgroundColor: '#eff3f8',
3
3
  };var CardLayout = function (_a) {
4
4
  var children = _a.children, backgroundColor = _a.backgroundColor;
@@ -366,4 +366,4 @@ var DefaultLayout = function (_a) {
366
366
  React.createElement(StyledMainBox, { component: 'main', sx: mainBoxSx },
367
367
  React.createElement(Toolbar, null),
368
368
  React.createElement(StyledMainContentDiv, null, children))));
369
- };export{CardLayout,DefaultLayout};//# sourceMappingURL=index.esm.js.map
369
+ };export{CardLayout,DefaultLayout};
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var material=require('@mui/material'),React=require('react'),reactRouterDom=require('react-router-dom'),iconsMaterial=require('@mui/icons-material'),SimpleBar=require('simplebar-react');require('simplebar-react/dist/simplebar.min.css');var CardLayoutDefaultProps = {
1
+ 'use strict';var material=require('@mui/material'),React=require('react'),reactRouterDom=require('react-router-dom'),iconsMaterial=require('@mui/icons-material'),SimpleBar=require('simplebar-react');var CardLayoutDefaultProps = {
2
2
  backgroundColor: '#eff3f8',
3
3
  };var CardLayout = function (_a) {
4
4
  var children = _a.children, backgroundColor = _a.backgroundColor;
@@ -366,4 +366,4 @@ var DefaultLayout = function (_a) {
366
366
  React.createElement(StyledMainBox, { component: 'main', sx: mainBoxSx },
367
367
  React.createElement(material.Toolbar, null),
368
368
  React.createElement(StyledMainContentDiv, null, children))));
369
- };exports.CardLayout=CardLayout;exports.DefaultLayout=DefaultLayout;//# sourceMappingURL=index.js.map
369
+ };exports.CardLayout=CardLayout;exports.DefaultLayout=DefaultLayout;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pdg/react-admin-layout",
3
3
  "title": "React Admin Layout",
4
- "version": "1.0.14",
4
+ "version": "1.0.16",
5
5
  "description": "Admin Layout for React",
6
6
  "type": "module",
7
7
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/CardLayout/CardLayout.types.tsx","../src/CardLayout/CardLayout.tsx","../src/@util/compare.ts","../src/DefaultLayout/SideMenuListItem/SideMenuListItem.tsx","../src/DefaultLayout/SideMenuList/SideMenuList.style.ts","../src/DefaultLayout/SideMenuList/SideMenuList.tsx","../src/DefaultLayout/SideMenu/SideMenu.style.ts","../src/DefaultLayout/SideMenu/SideMenu.tsx","../src/DefaultLayout/Title.style.ts","../src/DefaultLayout/Title.tsx","../src/DefaultLayout/DefaultLayout.style.ts","../src/DefaultLayout/DefaultLayout.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport { CardProps } from '@mui/material';\n\nexport interface CardLayoutProps extends Partial<CardProps> {\n children?: ReactNode;\n backgroundColor?: string;\n}\n\nexport const CardLayoutDefaultProps: Pick<CardLayoutProps, 'backgroundColor'> = {\n backgroundColor: '#eff3f8',\n};\n","import { Grid } from '@mui/material';\nimport React from 'react';\nimport { CardLayoutProps, CardLayoutDefaultProps } from './CardLayout.types';\n\nconst CardLayout: React.FC<CardLayoutProps> = ({ children, backgroundColor }) => {\n return (\n <Grid\n container\n direction='column'\n alignItems='center'\n justifyContent='center'\n style={{ minHeight: '100vh', backgroundColor }}\n >\n <Grid item xs={12}>\n {children}\n </Grid>\n </Grid>\n );\n};\n\nCardLayout.defaultProps = CardLayoutDefaultProps;\n\nexport default CardLayout;\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nconst isSame = (v1: any, v2: any): boolean => {\n if (v1 === v2) return true;\n if (typeof v1 !== typeof v2) return false;\n if (v1 == null || v2 == null) return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length) return false;\n for (let i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i]) return false;\n }\n } else {\n return v1 === v2;\n }\n return true;\n};\n\nexport { empty, notEmpty, isSame };\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { notEmpty } from '../../@util';\nimport { ListItemButton, ListItemIcon, Icon, ListItemText, Collapse, useTheme, alpha, Badge } from '@mui/material';\nimport { ExpandMore } from '@mui/icons-material';\nimport { useLocation } from 'react-router-dom';\nimport { SideMenuListItemProps } from './SideMenuListItem.types';\n\nconst SideMenuListItem: React.FC<SideMenuListItemProps> = ({ info, badgeVariant, onClick }) => {\n const theme = useTheme();\n const location = useLocation();\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const [isExpandable, setIsExpandable] = useState<boolean>(false);\n const [isExpand, setIsExpand] = useState<boolean>(false);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n setIsExpandable(!!info && notEmpty(info.items));\n\n if (info.items && info.items.find((info) => location.pathname === info.uri)) {\n setIsExpand(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [info]);\n\n useEffect(() => {\n if (isExpandable && isExpand != null) {\n if (info.uri !== location.pathname) {\n if (info.items && !info.items.find((info) => location.pathname === info.uri)) {\n if (isExpand) {\n setIsExpand(false);\n }\n }\n }\n }\n if (isExpandable && !isExpand) {\n if (info.items && info.items.find((info) => location.pathname === info.uri)) {\n setIsExpand(true);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location]);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const toggleIsExpand = useCallback(() => {\n setIsExpand((isExpand) => !isExpand);\n }, []);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const icon = useMemo(\n () =>\n info.icon\n ? info.icon.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`)\n : undefined,\n [info]\n );\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const containerStyle = useMemo(\n () => ({\n backgroundColor:\n isExpandable && isExpand\n ? alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity / 2)\n : undefined,\n }),\n [isExpand, isExpandable, theme]\n );\n\n const expandIconSx = useMemo(\n () =>\n isExpandable && isExpand != null\n ? {\n marginTop: 'auto',\n marginBottom: 'auto',\n animation: `${isExpand ? 'open' : 'close'} 0.1s linear`,\n transform: `rotate(${isExpand ? 180 : 0}deg)`,\n '@keyframes open': {\n '0%': {\n transform: `rotate(0deg)`,\n },\n '100%': {\n transform: `rotate(180deg)`,\n },\n },\n '@keyframes close': {\n '0%': {\n transform: `rotate(180deg)`,\n },\n '100%': {\n transform: `rotate(0deg)`,\n },\n },\n }\n : {\n marginTop: 'auto',\n marginBottom: 'auto',\n },\n [isExpandable, isExpand]\n );\n\n const collapseStyle = useMemo(\n () => ({\n backgroundColor: isExpand\n ? alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity / 2)\n : undefined,\n }),\n [isExpand, theme]\n );\n\n const primaryTypographyProps = useMemo(() => ({ sx: { fontWeight: info.depth === 1 ? 600 : null } }), [info]);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n return (\n <>\n <ListItemButton\n onClick={\n isExpandable\n ? toggleIsExpand\n : () => {\n if (onClick) onClick(info);\n }\n }\n selected={isExpandable ? false : info.uri === location.pathname}\n style={containerStyle}\n >\n <ListItemIcon sx={{ minWidth: 30 }}>{icon && <Icon fontSize='small'>{icon}</Icon>}</ListItemIcon>\n <ListItemText primaryTypographyProps={primaryTypographyProps}>\n {info.badge ? (\n <Badge\n badgeContent={info.badge}\n color='error'\n variant={badgeVariant !== undefined ? badgeVariant : info.badgeVariant}\n anchorOrigin={{ horizontal: 'left', vertical: 'top' }}\n slotProps={{\n badge: { style: { left: '100%', top: '50%', transform: 'scale(.8) translate(10px, -50%)' } },\n }}\n >\n <div>{info.name}</div>\n </Badge>\n ) : (\n info.name\n )}\n </ListItemText>\n\n {isExpandable && <ExpandMore sx={expandIconSx} />}\n </ListItemButton>\n <Collapse in={isExpand} style={collapseStyle}>\n {isExpandable &&\n info.items &&\n info.items.map((subInfo, idx) => (\n <SideMenuListItem key={idx} badgeVariant={badgeVariant} info={subInfo} onClick={onClick} />\n ))}\n </Collapse>\n </>\n );\n};\n\nexport default SideMenuListItem;\n","import { List, styled } from '@mui/material';\n\nexport const StyledList = styled(List)`\n padding: 0;\n`;\n","import React from 'react';\nimport SideMenuListItem from '../SideMenuListItem';\nimport { SideMenuListProps } from './SideMenuList.types';\nimport { StyledList } from './SideMenuList.style';\n\nconst SideMenuList: React.FC<SideMenuListProps> = ({ list, badgeVariant, onClick }) => {\n return (\n <StyledList>\n {list.map((info, idx) => (\n <SideMenuListItem key={idx} info={info} badgeVariant={badgeVariant} onClick={onClick} />\n ))}\n </StyledList>\n );\n};\n\nexport default SideMenuList;\n","import { Box, styled } from '@mui/material';\nimport SimpleBar from 'simplebar-react';\n\nexport const StyledSimpleBar = styled(SimpleBar)`\n max-height: 100%;\n`;\n\nexport const StyledLogoContainerBox = styled(Box)(({ theme }) =>\n theme.unstable_sx({\n borderBottom: 'thin solid #f5f5f5',\n color: 'text.primary',\n })\n);\n","import React from 'react';\nimport { Toolbar } from '@mui/material';\nimport SideMenuList from '../SideMenuList';\nimport { SideMenuProps } from './SideMenu.types';\nimport { StyledLogoContainerBox, StyledSimpleBar } from './SideMenu.style';\nimport 'simplebar-react/dist/simplebar.min.css';\n\nconst SideMenu: React.FC<SideMenuProps> = ({ logo, badgeVariant, list, onClick }) => {\n return (\n <StyledSimpleBar>\n <StyledLogoContainerBox>\n <Toolbar>{logo}</Toolbar>\n </StyledLogoContainerBox>\n {list && <SideMenuList badgeVariant={badgeVariant} list={list} onClick={onClick} />}\n </StyledSimpleBar>\n );\n};\n\nexport default SideMenu;\n","import { Box, Icon, styled, Typography } from '@mui/material';\n\nexport const StyledContainerBox = styled(Box)`\n position: relative;\n`;\n\nexport const StyledHeadContainerBox = styled(Box)(({ theme }) =>\n theme.unstable_sx({\n display: { xs: 'none', sm: 'flex' },\n alignItems: 'center',\n opacity: 0.5,\n })\n);\n\nexport const StyledHeadIconContainerBox = styled(Box)`\n margin-right: 0.25rem;\n line-height: 0;\n`;\n\nexport const StyledHeadIcon = styled(Icon)`\n font-size: 1rem;\n`;\n\nexport const StyledHeadTitleTypography = styled(Typography)`\n font-size: 0.7rem;\n`;\n\nexport const StyledTitleContainerDiv = styled('div')`\n display: flex;\n align-items: center;\n font-size: 1rem;\n`;\n\nexport const StyledTitleIconContainerDiv = styled('div')`\n flex-shrink: 0;\n display: inline-flex;\n margin-right: 0.3rem;\n`;\n","import React, { useMemo } from 'react';\nimport { Icon } from '@mui/material';\nimport {\n StyledContainerBox,\n StyledHeadContainerBox,\n StyledHeadIcon,\n StyledHeadIconContainerBox,\n StyledHeadTitleTypography,\n StyledTitleContainerDiv,\n StyledTitleIconContainerDiv,\n} from './Title.style';\n\nexport interface TitleProps {\n title: string;\n icon?: string;\n headTitle?: string;\n headIcon?: string;\n}\n\nconst Title: React.FC<TitleProps> = ({ title, icon, headTitle, headIcon }) => {\n const finalHeadIcon = useMemo(\n () =>\n headIcon\n ? headIcon.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`)\n : undefined,\n [headIcon]\n );\n\n const finalIcon = useMemo(\n () => (icon ? icon.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`) : undefined),\n [icon]\n );\n\n return (\n <StyledContainerBox>\n {headTitle && (\n <StyledHeadContainerBox>\n {finalHeadIcon && (\n <StyledHeadIconContainerBox>\n <StyledHeadIcon>{finalHeadIcon}</StyledHeadIcon>\n </StyledHeadIconContainerBox>\n )}\n <StyledHeadTitleTypography>{headTitle}</StyledHeadTitleTypography>\n </StyledHeadContainerBox>\n )}\n <StyledTitleContainerDiv>\n {finalIcon && (\n <StyledTitleIconContainerDiv>\n <Icon fontSize='small'>{finalIcon}</Icon>\n </StyledTitleIconContainerDiv>\n )}\n <div>{title}</div>\n </StyledTitleContainerDiv>\n </StyledContainerBox>\n );\n};\n\nexport default Title;\n","import { AppBar, Box, Drawer, styled } from '@mui/material';\n\nexport const SIDE_MENU_WIDTH = 220;\n\nexport const StyledContainerBox = styled(Box)`\n display: flex;\n height: 100%;\n`;\n\nexport const StyledAppBar = styled(AppBar)(({ theme }) =>\n theme.unstable_sx({\n backdropFilter: 'blur(20px)',\n backgroundColor: 'rgba(255, 255, 255, 0.7)',\n color: 'text.primary',\n borderBottom: 'thin solid #f5f5f5',\n })\n);\n\nexport const StyledSideMenuContainerBox = styled(Box)(({ theme }) => theme.unstable_sx({}));\n\nexport const StyledSideMenuTemporaryDrawer = styled(Drawer)(({ theme }) =>\n theme.unstable_sx({\n '& .MuiDrawer-paper': { boxSizing: 'border-box', width: SIDE_MENU_WIDTH },\n })\n);\n\nexport const StyledSideMenuPermanentDrawer = styled(Drawer)(({ theme }) =>\n theme.unstable_sx({\n '& .MuiDrawer-paper': { boxSizing: 'border-box', width: SIDE_MENU_WIDTH },\n })\n);\n\nexport const StyledMainBox = styled(Box)(({ theme }) =>\n theme.unstable_sx({\n flexGrow: 1,\n p: 2,\n display: 'flex',\n flexDirection: 'column',\n minHeight: '100vh',\n })\n);\n\nexport const StyledMainContentDiv = styled('div')`\n display: flex;\n flex-direction: column;\n flex: 1;\n`;\n","import React, { useState, useEffect, ReactElement, useCallback, useMemo } from 'react';\nimport { Toolbar, IconButton, Typography } from '@mui/material';\nimport { useLocation } from 'react-router-dom';\nimport { Menu as MenuIcon } from '@mui/icons-material';\nimport SideMenu from './SideMenu';\nimport Title from './Title';\nimport { empty } from '../@util';\nimport { DefaultLayoutProps } from './DefaultLayout.types';\nimport { MenuTitleMap } from './DefaultLayout.types.private';\nimport {\n SIDE_MENU_WIDTH,\n StyledAppBar,\n StyledContainerBox,\n StyledMainBox,\n StyledMainContentDiv,\n StyledSideMenuContainerBox,\n StyledSideMenuPermanentDrawer,\n StyledSideMenuTemporaryDrawer,\n} from './DefaultLayout.style';\nimport { CommonSxProps } from '../@types';\n\nconst _screens = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nconst _getNextScreen = (screen: 'xs' | 'sm' | 'md' | 'lg'): 'sm' | 'md' | 'lg' | 'xl' => {\n if (screen === 'xs') return 'sm';\n else if (screen === 'sm') return 'md';\n else if (screen === 'md') return 'lg';\n else return 'xl';\n};\n\nconst DefaultLayout: React.FC<DefaultLayoutProps> = ({\n children,\n logo,\n badgeVariant,\n menu,\n menuHideScreen: initMenuHideScreen,\n appBarControl,\n onMenuClick,\n}) => {\n // -------------------------------------------------------------------------------------------------------------------\n\n const location = useLocation();\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const [isMobileOpen, setIsMobileOpen] = useState(false);\n const [menuTitles, setMenuTitles] = useState<MenuTitleMap>({});\n const [title, setTitle] = useState<ReactElement<typeof Title>>();\n const [menuHideScreen, setMenuHideScreen] = useState<Exclude<DefaultLayoutProps['menuHideScreen'], undefined>>(\n initMenuHideScreen || 'sm'\n );\n\n //--------------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n const menuTitles: MenuTitleMap = {};\n if (menu) {\n menu.forEach((info) => {\n if (empty(info.uri) && info.items && info.items.length > 0) {\n info.items.map((subInfo) => {\n menuTitles[subInfo.uri] = { name: subInfo.name, parentName: info.name, parentIcon: info.icon };\n });\n } else if (info.uri) {\n menuTitles[info.uri] = { name: info.name, icon: info.icon };\n }\n });\n }\n setMenuTitles(menuTitles);\n }, [menu]);\n\n useEffect(() => {\n setMenuHideScreen(initMenuHideScreen || 'sm');\n }, [initMenuHideScreen]);\n\n useEffect(() => {\n if (menuTitles) {\n const titleData = menuTitles[location.pathname];\n if (titleData) {\n setTitle(\n <Title\n title={titleData.name}\n icon={titleData.icon}\n headTitle={titleData.parentName}\n headIcon={titleData.parentIcon}\n />\n );\n } else {\n setTitle(undefined);\n }\n }\n }, [location, menuTitles]);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const toggleIsMobileOpen = useCallback(() => {\n setIsMobileOpen((isMobileOpen) => !isMobileOpen);\n }, []);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n const appBarSx: CommonSxProps['sx'] = useMemo(() => {\n const width: Record<string, string> = {};\n const ml: Record<string, string> = {};\n width[_getNextScreen(menuHideScreen)] = `calc(100% - ${SIDE_MENU_WIDTH}px)`;\n ml[_getNextScreen(menuHideScreen)] = `${SIDE_MENU_WIDTH}px`;\n return { width, ml };\n }, [menuHideScreen]);\n\n const appBarIconButtonSx: CommonSxProps['sx'] = useMemo(() => {\n const display: Record<string, string> = {};\n display[_getNextScreen(menuHideScreen)] = 'none';\n return { mr: 2, display };\n }, [menuHideScreen]);\n\n const sideMenuContainerBoxSx: CommonSxProps['sx'] = useMemo(() => {\n const width: Record<string, number> = {};\n const flexShrink: Record<string, number> = {};\n width[_getNextScreen(menuHideScreen)] = SIDE_MENU_WIDTH;\n flexShrink[_getNextScreen(menuHideScreen)] = 0;\n return { width, flexShrink };\n }, [menuHideScreen]);\n\n const sideMenuTemporaryDrawerSx: CommonSxProps['sx'] = useMemo(() => {\n let found = false;\n return {\n display: _screens.reduce<Record<string, string | undefined>>((res, screen) => {\n if (screen === menuHideScreen) {\n found = true;\n res[screen] = 'block';\n } else {\n res[screen] = found ? 'none' : 'block';\n }\n return res;\n }, {}),\n };\n }, [menuHideScreen]);\n\n const sideMenuPermanentDrawerSx: CommonSxProps['sx'] = useMemo(() => {\n let found = false;\n return {\n display: _screens.reduce<Record<string, string | undefined>>((res, screen) => {\n if (screen === menuHideScreen) {\n found = true;\n res[screen] = 'none';\n } else {\n res[screen] = found ? 'block' : 'none';\n }\n return res;\n }, {}),\n };\n }, [menuHideScreen]);\n\n const mainBoxSx: CommonSxProps['sx'] = useMemo(() => {\n const width: Record<string, string> = {};\n width[_getNextScreen(menuHideScreen)] = `calc(100% - ${SIDE_MENU_WIDTH}px)`;\n return { width };\n }, [menuHideScreen]);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n return (\n <StyledContainerBox>\n <StyledAppBar position='fixed' elevation={0} sx={appBarSx}>\n <Toolbar>\n <IconButton\n color='inherit'\n aria-label='open drawer'\n edge='start'\n onClick={toggleIsMobileOpen}\n sx={appBarIconButtonSx}\n >\n <MenuIcon />\n </IconButton>\n <Typography variant='h6' noWrap component='div' sx={{ flexGrow: 1 }}>\n {title}\n </Typography>\n {appBarControl}\n </Toolbar>\n </StyledAppBar>\n <StyledSideMenuContainerBox component='nav' aria-label='mailbox folders' sx={sideMenuContainerBoxSx}>\n <StyledSideMenuTemporaryDrawer\n variant='temporary'\n open={isMobileOpen}\n onClose={toggleIsMobileOpen}\n sx={sideMenuTemporaryDrawerSx}\n ModalProps={{\n keepMounted: true, // Better open performance on mobile.\n }}\n >\n {menu && (\n <SideMenu\n logo={logo}\n badgeVariant={badgeVariant}\n list={menu}\n onClick={(menuItem) => {\n toggleIsMobileOpen();\n if (onMenuClick) onMenuClick(menuItem);\n }}\n />\n )}\n </StyledSideMenuTemporaryDrawer>\n <StyledSideMenuPermanentDrawer variant='permanent' open sx={sideMenuPermanentDrawerSx}>\n {menu && <SideMenu logo={logo} badgeVariant={badgeVariant} list={menu} onClick={onMenuClick} />}\n </StyledSideMenuPermanentDrawer>\n </StyledSideMenuContainerBox>\n <StyledMainBox component='main' sx={mainBoxSx}>\n <Toolbar />\n\n <StyledMainContentDiv>{children}</StyledMainContentDiv>\n </StyledMainBox>\n </StyledContainerBox>\n );\n};\n\nexport default DefaultLayout;\n"],"names":["templateObject_1","StyledContainerBox","templateObject_2","MenuIcon"],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/CardLayout/CardLayout.types.tsx","../src/CardLayout/CardLayout.tsx","../src/@util/compare.ts","../src/DefaultLayout/SideMenuListItem/SideMenuListItem.tsx","../src/DefaultLayout/SideMenuList/SideMenuList.style.ts","../src/DefaultLayout/SideMenuList/SideMenuList.tsx","../src/DefaultLayout/SideMenu/SideMenu.style.ts","../src/DefaultLayout/SideMenu/SideMenu.tsx","../src/DefaultLayout/Title.style.ts","../src/DefaultLayout/Title.tsx","../src/DefaultLayout/DefaultLayout.style.ts","../src/DefaultLayout/DefaultLayout.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport { CardProps } from '@mui/material';\n\nexport interface CardLayoutProps extends Partial<CardProps> {\n children?: ReactNode;\n backgroundColor?: string;\n}\n\nexport const CardLayoutDefaultProps: Pick<CardLayoutProps, 'backgroundColor'> = {\n backgroundColor: '#eff3f8',\n};\n","import { Grid } from '@mui/material';\nimport React from 'react';\nimport { CardLayoutProps, CardLayoutDefaultProps } from './CardLayout.types';\n\nconst CardLayout: React.FC<CardLayoutProps> = ({ children, backgroundColor }) => {\n return (\n <Grid\n container\n direction='column'\n alignItems='center'\n justifyContent='center'\n style={{ minHeight: '100vh', backgroundColor }}\n >\n <Grid item xs={12}>\n {children}\n </Grid>\n </Grid>\n );\n};\n\nCardLayout.defaultProps = CardLayoutDefaultProps;\n\nexport default CardLayout;\n","const empty = function (v: any) {\n let result = false;\n if (v == null) {\n result = true;\n } else if (typeof v === 'string') {\n result = v === '';\n } else if (typeof v === 'object') {\n if (Array.isArray(v)) {\n result = v.length === 0;\n } else if (!(v instanceof Date)) {\n result = Object.entries(v).length === 0;\n }\n }\n return result;\n};\n\nconst notEmpty = function (v: any) {\n return !empty(v);\n};\n\nconst isSame = (v1: any, v2: any): boolean => {\n if (v1 === v2) return true;\n if (typeof v1 !== typeof v2) return false;\n if (v1 == null || v2 == null) return false;\n if (Array.isArray(v1) && Array.isArray(v2)) {\n if (v1.length !== v2.length) return false;\n for (let i = 0; i < v1.length; i += 1) {\n if (v1[i] !== v2[i]) return false;\n }\n } else {\n return v1 === v2;\n }\n return true;\n};\n\nexport { empty, notEmpty, isSame };\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { notEmpty } from '../../@util';\nimport { ListItemButton, ListItemIcon, Icon, ListItemText, Collapse, useTheme, alpha, Badge } from '@mui/material';\nimport { ExpandMore } from '@mui/icons-material';\nimport { useLocation } from 'react-router-dom';\nimport { SideMenuListItemProps } from './SideMenuListItem.types';\n\nconst SideMenuListItem: React.FC<SideMenuListItemProps> = ({ info, badgeVariant, onClick }) => {\n const theme = useTheme();\n const location = useLocation();\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const [isExpandable, setIsExpandable] = useState<boolean>(false);\n const [isExpand, setIsExpand] = useState<boolean>(false);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n setIsExpandable(!!info && notEmpty(info.items));\n\n if (info.items && info.items.find((info) => location.pathname === info.uri)) {\n setIsExpand(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [info]);\n\n useEffect(() => {\n if (isExpandable && isExpand != null) {\n if (info.uri !== location.pathname) {\n if (info.items && !info.items.find((info) => location.pathname === info.uri)) {\n if (isExpand) {\n setIsExpand(false);\n }\n }\n }\n }\n if (isExpandable && !isExpand) {\n if (info.items && info.items.find((info) => location.pathname === info.uri)) {\n setIsExpand(true);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location]);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const toggleIsExpand = useCallback(() => {\n setIsExpand((isExpand) => !isExpand);\n }, []);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const icon = useMemo(\n () =>\n info.icon\n ? info.icon.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`)\n : undefined,\n [info]\n );\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const containerStyle = useMemo(\n () => ({\n backgroundColor:\n isExpandable && isExpand\n ? alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity / 2)\n : undefined,\n }),\n [isExpand, isExpandable, theme]\n );\n\n const expandIconSx = useMemo(\n () =>\n isExpandable && isExpand != null\n ? {\n marginTop: 'auto',\n marginBottom: 'auto',\n animation: `${isExpand ? 'open' : 'close'} 0.1s linear`,\n transform: `rotate(${isExpand ? 180 : 0}deg)`,\n '@keyframes open': {\n '0%': {\n transform: `rotate(0deg)`,\n },\n '100%': {\n transform: `rotate(180deg)`,\n },\n },\n '@keyframes close': {\n '0%': {\n transform: `rotate(180deg)`,\n },\n '100%': {\n transform: `rotate(0deg)`,\n },\n },\n }\n : {\n marginTop: 'auto',\n marginBottom: 'auto',\n },\n [isExpandable, isExpand]\n );\n\n const collapseStyle = useMemo(\n () => ({\n backgroundColor: isExpand\n ? alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity / 2)\n : undefined,\n }),\n [isExpand, theme]\n );\n\n const primaryTypographyProps = useMemo(() => ({ sx: { fontWeight: info.depth === 1 ? 600 : null } }), [info]);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n return (\n <>\n <ListItemButton\n onClick={\n isExpandable\n ? toggleIsExpand\n : () => {\n if (onClick) onClick(info);\n }\n }\n selected={isExpandable ? false : info.uri === location.pathname}\n style={containerStyle}\n >\n <ListItemIcon sx={{ minWidth: 30 }}>{icon && <Icon fontSize='small'>{icon}</Icon>}</ListItemIcon>\n <ListItemText primaryTypographyProps={primaryTypographyProps}>\n {info.badge ? (\n <Badge\n badgeContent={info.badge}\n color='error'\n variant={badgeVariant !== undefined ? badgeVariant : info.badgeVariant}\n anchorOrigin={{ horizontal: 'left', vertical: 'top' }}\n slotProps={{\n badge: { style: { left: '100%', top: '50%', transform: 'scale(.8) translate(10px, -50%)' } },\n }}\n >\n <div>{info.name}</div>\n </Badge>\n ) : (\n info.name\n )}\n </ListItemText>\n\n {isExpandable && <ExpandMore sx={expandIconSx} />}\n </ListItemButton>\n <Collapse in={isExpand} style={collapseStyle}>\n {isExpandable &&\n info.items &&\n info.items.map((subInfo, idx) => (\n <SideMenuListItem key={idx} badgeVariant={badgeVariant} info={subInfo} onClick={onClick} />\n ))}\n </Collapse>\n </>\n );\n};\n\nexport default SideMenuListItem;\n","import { List, styled } from '@mui/material';\n\nexport const StyledList = styled(List)`\n padding: 0;\n`;\n","import React from 'react';\nimport SideMenuListItem from '../SideMenuListItem';\nimport { SideMenuListProps } from './SideMenuList.types';\nimport { StyledList } from './SideMenuList.style';\n\nconst SideMenuList: React.FC<SideMenuListProps> = ({ list, badgeVariant, onClick }) => {\n return (\n <StyledList>\n {list.map((info, idx) => (\n <SideMenuListItem key={idx} info={info} badgeVariant={badgeVariant} onClick={onClick} />\n ))}\n </StyledList>\n );\n};\n\nexport default SideMenuList;\n","import { Box, styled } from '@mui/material';\nimport SimpleBar from 'simplebar-react';\n\nexport const StyledSimpleBar = styled(SimpleBar)`\n max-height: 100%;\n`;\n\nexport const StyledLogoContainerBox = styled(Box)(({ theme }) =>\n theme.unstable_sx({\n borderBottom: 'thin solid #f5f5f5',\n color: 'text.primary',\n })\n);\n","import React from 'react';\nimport { Toolbar } from '@mui/material';\nimport SideMenuList from '../SideMenuList';\nimport { SideMenuProps } from './SideMenu.types';\nimport { StyledLogoContainerBox, StyledSimpleBar } from './SideMenu.style';\nimport 'simplebar-react/dist/simplebar.min.css';\n\nconst SideMenu: React.FC<SideMenuProps> = ({ logo, badgeVariant, list, onClick }) => {\n return (\n <StyledSimpleBar>\n <StyledLogoContainerBox>\n <Toolbar>{logo}</Toolbar>\n </StyledLogoContainerBox>\n {list && <SideMenuList badgeVariant={badgeVariant} list={list} onClick={onClick} />}\n </StyledSimpleBar>\n );\n};\n\nexport default SideMenu;\n","import { Box, Icon, styled, Typography } from '@mui/material';\n\nexport const StyledContainerBox = styled(Box)`\n position: relative;\n`;\n\nexport const StyledHeadContainerBox = styled(Box)(({ theme }) =>\n theme.unstable_sx({\n display: { xs: 'none', sm: 'flex' },\n alignItems: 'center',\n opacity: 0.5,\n })\n);\n\nexport const StyledHeadIconContainerBox = styled(Box)`\n margin-right: 0.25rem;\n line-height: 0;\n`;\n\nexport const StyledHeadIcon = styled(Icon)`\n font-size: 1rem;\n`;\n\nexport const StyledHeadTitleTypography = styled(Typography)`\n font-size: 0.7rem;\n`;\n\nexport const StyledTitleContainerDiv = styled('div')`\n display: flex;\n align-items: center;\n font-size: 1rem;\n`;\n\nexport const StyledTitleIconContainerDiv = styled('div')`\n flex-shrink: 0;\n display: inline-flex;\n margin-right: 0.3rem;\n`;\n","import React, { useMemo } from 'react';\nimport { Icon } from '@mui/material';\nimport {\n StyledContainerBox,\n StyledHeadContainerBox,\n StyledHeadIcon,\n StyledHeadIconContainerBox,\n StyledHeadTitleTypography,\n StyledTitleContainerDiv,\n StyledTitleIconContainerDiv,\n} from './Title.style';\n\nexport interface TitleProps {\n title: string;\n icon?: string;\n headTitle?: string;\n headIcon?: string;\n}\n\nconst Title: React.FC<TitleProps> = ({ title, icon, headTitle, headIcon }) => {\n const finalHeadIcon = useMemo(\n () =>\n headIcon\n ? headIcon.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`)\n : undefined,\n [headIcon]\n );\n\n const finalIcon = useMemo(\n () => (icon ? icon.replace(/[A-Z]/g, (letter, idx) => `${idx > 0 ? '_' : ''}${letter.toLowerCase()}`) : undefined),\n [icon]\n );\n\n return (\n <StyledContainerBox>\n {headTitle && (\n <StyledHeadContainerBox>\n {finalHeadIcon && (\n <StyledHeadIconContainerBox>\n <StyledHeadIcon>{finalHeadIcon}</StyledHeadIcon>\n </StyledHeadIconContainerBox>\n )}\n <StyledHeadTitleTypography>{headTitle}</StyledHeadTitleTypography>\n </StyledHeadContainerBox>\n )}\n <StyledTitleContainerDiv>\n {finalIcon && (\n <StyledTitleIconContainerDiv>\n <Icon fontSize='small'>{finalIcon}</Icon>\n </StyledTitleIconContainerDiv>\n )}\n <div>{title}</div>\n </StyledTitleContainerDiv>\n </StyledContainerBox>\n );\n};\n\nexport default Title;\n","import { AppBar, Box, Drawer, styled } from '@mui/material';\n\nexport const SIDE_MENU_WIDTH = 220;\n\nexport const StyledContainerBox = styled(Box)`\n display: flex;\n height: 100%;\n`;\n\nexport const StyledAppBar = styled(AppBar)(({ theme }) =>\n theme.unstable_sx({\n backdropFilter: 'blur(20px)',\n backgroundColor: 'rgba(255, 255, 255, 0.7)',\n color: 'text.primary',\n borderBottom: 'thin solid #f5f5f5',\n })\n);\n\nexport const StyledSideMenuContainerBox = styled(Box)(({ theme }) => theme.unstable_sx({}));\n\nexport const StyledSideMenuTemporaryDrawer = styled(Drawer)(({ theme }) =>\n theme.unstable_sx({\n '& .MuiDrawer-paper': { boxSizing: 'border-box', width: SIDE_MENU_WIDTH },\n })\n);\n\nexport const StyledSideMenuPermanentDrawer = styled(Drawer)(({ theme }) =>\n theme.unstable_sx({\n '& .MuiDrawer-paper': { boxSizing: 'border-box', width: SIDE_MENU_WIDTH },\n })\n);\n\nexport const StyledMainBox = styled(Box)(({ theme }) =>\n theme.unstable_sx({\n flexGrow: 1,\n p: 2,\n display: 'flex',\n flexDirection: 'column',\n minHeight: '100vh',\n })\n);\n\nexport const StyledMainContentDiv = styled('div')`\n display: flex;\n flex-direction: column;\n flex: 1;\n`;\n","import React, { useState, useEffect, ReactElement, useCallback, useMemo } from 'react';\nimport { Toolbar, IconButton, Typography } from '@mui/material';\nimport { useLocation } from 'react-router-dom';\nimport { Menu as MenuIcon } from '@mui/icons-material';\nimport SideMenu from './SideMenu';\nimport Title from './Title';\nimport { empty } from '../@util';\nimport { DefaultLayoutProps } from './DefaultLayout.types';\nimport { MenuTitleMap } from './DefaultLayout.types.private';\nimport {\n SIDE_MENU_WIDTH,\n StyledAppBar,\n StyledContainerBox,\n StyledMainBox,\n StyledMainContentDiv,\n StyledSideMenuContainerBox,\n StyledSideMenuPermanentDrawer,\n StyledSideMenuTemporaryDrawer,\n} from './DefaultLayout.style';\nimport { CommonSxProps } from '../@types';\n\nconst _screens = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nconst _getNextScreen = (screen: 'xs' | 'sm' | 'md' | 'lg'): 'sm' | 'md' | 'lg' | 'xl' => {\n if (screen === 'xs') return 'sm';\n else if (screen === 'sm') return 'md';\n else if (screen === 'md') return 'lg';\n else return 'xl';\n};\n\nconst DefaultLayout: React.FC<DefaultLayoutProps> = ({\n children,\n logo,\n badgeVariant,\n menu,\n menuHideScreen: initMenuHideScreen,\n appBarControl,\n onMenuClick,\n}) => {\n // -------------------------------------------------------------------------------------------------------------------\n\n const location = useLocation();\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const [isMobileOpen, setIsMobileOpen] = useState(false);\n const [menuTitles, setMenuTitles] = useState<MenuTitleMap>({});\n const [title, setTitle] = useState<ReactElement<typeof Title>>();\n const [menuHideScreen, setMenuHideScreen] = useState<Exclude<DefaultLayoutProps['menuHideScreen'], undefined>>(\n initMenuHideScreen || 'sm'\n );\n\n //--------------------------------------------------------------------------------------------------------------------\n\n useEffect(() => {\n const menuTitles: MenuTitleMap = {};\n if (menu) {\n menu.forEach((info) => {\n if (empty(info.uri) && info.items && info.items.length > 0) {\n info.items.map((subInfo) => {\n menuTitles[subInfo.uri] = { name: subInfo.name, parentName: info.name, parentIcon: info.icon };\n });\n } else if (info.uri) {\n menuTitles[info.uri] = { name: info.name, icon: info.icon };\n }\n });\n }\n setMenuTitles(menuTitles);\n }, [menu]);\n\n useEffect(() => {\n setMenuHideScreen(initMenuHideScreen || 'sm');\n }, [initMenuHideScreen]);\n\n useEffect(() => {\n if (menuTitles) {\n const titleData = menuTitles[location.pathname];\n if (titleData) {\n setTitle(\n <Title\n title={titleData.name}\n icon={titleData.icon}\n headTitle={titleData.parentName}\n headIcon={titleData.parentIcon}\n />\n );\n } else {\n setTitle(undefined);\n }\n }\n }, [location, menuTitles]);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n const toggleIsMobileOpen = useCallback(() => {\n setIsMobileOpen((isMobileOpen) => !isMobileOpen);\n }, []);\n\n //--------------------------------------------------------------------------------------------------------------------\n\n const appBarSx: CommonSxProps['sx'] = useMemo(() => {\n const width: Record<string, string> = {};\n const ml: Record<string, string> = {};\n width[_getNextScreen(menuHideScreen)] = `calc(100% - ${SIDE_MENU_WIDTH}px)`;\n ml[_getNextScreen(menuHideScreen)] = `${SIDE_MENU_WIDTH}px`;\n return { width, ml };\n }, [menuHideScreen]);\n\n const appBarIconButtonSx: CommonSxProps['sx'] = useMemo(() => {\n const display: Record<string, string> = {};\n display[_getNextScreen(menuHideScreen)] = 'none';\n return { mr: 2, display };\n }, [menuHideScreen]);\n\n const sideMenuContainerBoxSx: CommonSxProps['sx'] = useMemo(() => {\n const width: Record<string, number> = {};\n const flexShrink: Record<string, number> = {};\n width[_getNextScreen(menuHideScreen)] = SIDE_MENU_WIDTH;\n flexShrink[_getNextScreen(menuHideScreen)] = 0;\n return { width, flexShrink };\n }, [menuHideScreen]);\n\n const sideMenuTemporaryDrawerSx: CommonSxProps['sx'] = useMemo(() => {\n let found = false;\n return {\n display: _screens.reduce<Record<string, string | undefined>>((res, screen) => {\n if (screen === menuHideScreen) {\n found = true;\n res[screen] = 'block';\n } else {\n res[screen] = found ? 'none' : 'block';\n }\n return res;\n }, {}),\n };\n }, [menuHideScreen]);\n\n const sideMenuPermanentDrawerSx: CommonSxProps['sx'] = useMemo(() => {\n let found = false;\n return {\n display: _screens.reduce<Record<string, string | undefined>>((res, screen) => {\n if (screen === menuHideScreen) {\n found = true;\n res[screen] = 'none';\n } else {\n res[screen] = found ? 'block' : 'none';\n }\n return res;\n }, {}),\n };\n }, [menuHideScreen]);\n\n const mainBoxSx: CommonSxProps['sx'] = useMemo(() => {\n const width: Record<string, string> = {};\n width[_getNextScreen(menuHideScreen)] = `calc(100% - ${SIDE_MENU_WIDTH}px)`;\n return { width };\n }, [menuHideScreen]);\n\n // -------------------------------------------------------------------------------------------------------------------\n\n return (\n <StyledContainerBox>\n <StyledAppBar position='fixed' elevation={0} sx={appBarSx}>\n <Toolbar>\n <IconButton\n color='inherit'\n aria-label='open drawer'\n edge='start'\n onClick={toggleIsMobileOpen}\n sx={appBarIconButtonSx}\n >\n <MenuIcon />\n </IconButton>\n <Typography variant='h6' noWrap component='div' sx={{ flexGrow: 1 }}>\n {title}\n </Typography>\n {appBarControl}\n </Toolbar>\n </StyledAppBar>\n <StyledSideMenuContainerBox component='nav' aria-label='mailbox folders' sx={sideMenuContainerBoxSx}>\n <StyledSideMenuTemporaryDrawer\n variant='temporary'\n open={isMobileOpen}\n onClose={toggleIsMobileOpen}\n sx={sideMenuTemporaryDrawerSx}\n ModalProps={{\n keepMounted: true, // Better open performance on mobile.\n }}\n >\n {menu && (\n <SideMenu\n logo={logo}\n badgeVariant={badgeVariant}\n list={menu}\n onClick={(menuItem) => {\n toggleIsMobileOpen();\n if (onMenuClick) onMenuClick(menuItem);\n }}\n />\n )}\n </StyledSideMenuTemporaryDrawer>\n <StyledSideMenuPermanentDrawer variant='permanent' open sx={sideMenuPermanentDrawerSx}>\n {menu && <SideMenu logo={logo} badgeVariant={badgeVariant} list={menu} onClick={onMenuClick} />}\n </StyledSideMenuPermanentDrawer>\n </StyledSideMenuContainerBox>\n <StyledMainBox component='main' sx={mainBoxSx}>\n <Toolbar />\n\n <StyledMainContentDiv>{children}</StyledMainContentDiv>\n </StyledMainBox>\n </StyledContainerBox>\n );\n};\n\nexport default DefaultLayout;\n"],"names":["Grid","useTheme","useLocation","useState","useEffect","useCallback","useMemo","alpha","ListItemButton","ListItemIcon","Icon","ListItemText","Badge","ExpandMore","Collapse","styled","List","templateObject_1","Box","Toolbar","StyledContainerBox","templateObject_2","Typography","AppBar","Drawer","IconButton","MenuIcon"],"mappings":"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"}