@applica-software-guru/react-admin 1.0.41 → 1.0.43

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.
Files changed (253) hide show
  1. package/bitbucket-pipelines.yml +2 -0
  2. package/dist/ApplicaAdmin.d.ts.map +1 -1
  3. package/dist/components/@extended/AnimateButton.d.ts +1 -1
  4. package/dist/components/@extended/AnimateButton.d.ts.map +1 -1
  5. package/dist/components/@extended/Avatar.d.ts.map +1 -1
  6. package/dist/components/@extended/Breadcrumbs.d.ts.map +1 -1
  7. package/dist/components/@extended/IconButton.d.ts.map +1 -1
  8. package/dist/components/@extended/LoadingButton.d.ts.map +1 -1
  9. package/dist/components/@extended/Tooltip.d.ts.map +1 -1
  10. package/dist/components/@extended/Transitions.d.ts.map +1 -1
  11. package/dist/components/@extended/progress/CircularWithLabel.d.ts.map +1 -1
  12. package/dist/components/@extended/progress/CircularWithPath.d.ts.map +1 -1
  13. package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.d.ts +1 -1
  14. package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.d.ts.map +1 -1
  15. package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavGroup.d.ts.map +1 -1
  16. package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavItem.d.ts.map +1 -1
  17. package/dist/components/Layout/Drawer/DrawerHeader/DrawerHeaderStyled.d.ts.map +1 -1
  18. package/dist/components/Layout/Drawer/DrawerHeader/index.d.ts.map +1 -1
  19. package/dist/components/Layout/Drawer/MiniDrawerStyled.d.ts.map +1 -1
  20. package/dist/components/Layout/Drawer/index.d.ts.map +1 -1
  21. package/dist/components/Layout/Footer.d.ts.map +1 -1
  22. package/dist/components/Layout/Header/AppBarStyled.d.ts.map +1 -1
  23. package/dist/components/Layout/Header/HeaderContent/Notification.d.ts.map +1 -1
  24. package/dist/components/Layout/Header/HeaderContent/NotificationItem.d.ts.map +1 -1
  25. package/dist/components/Layout/Header/HeaderContent/Profile.d.ts.map +1 -1
  26. package/dist/components/Layout/Header/HeaderContent/index.d.ts.map +1 -1
  27. package/dist/components/Layout/Header/index.d.ts.map +1 -1
  28. package/dist/components/Layout/index.d.ts.map +1 -1
  29. package/dist/components/MenuPopover/styles.d.ts.map +1 -1
  30. package/dist/components/Notification.d.ts.map +1 -1
  31. package/dist/components/ScrollX.d.ts.map +1 -1
  32. package/dist/components/ra-buttons/EditInDialogButton.d.ts.map +1 -1
  33. package/dist/components/ra-fields/CoverField.d.ts.map +1 -1
  34. package/dist/components/ra-fields/DateAgoField.d.ts.map +1 -1
  35. package/dist/components/ra-fields/ReadonlyField.d.ts.map +1 -1
  36. package/dist/components/ra-forms/CardForm.d.ts.map +1 -1
  37. package/dist/components/ra-forms/LongForm/useFormRootPath.d.ts.map +1 -1
  38. package/dist/components/ra-forms/TabbedForm.d.ts.map +1 -1
  39. package/dist/components/ra-inputs/ReferenceManyInput.d.ts.map +1 -1
  40. package/dist/components/ra-lists/Empty.d.ts.map +1 -1
  41. package/dist/components/ra-lists/NotificationList/NotificationList.d.ts.map +1 -1
  42. package/dist/components/ra-lists/NotificationList/button/MarkAsReadedButton.d.ts.map +1 -1
  43. package/dist/components/ra-lists/NotificationList/field/NotificationField.d.ts.map +1 -1
  44. package/dist/contexts/MenuConfigContext.d.ts.map +1 -1
  45. package/dist/contexts/MenuPropTypes.d.ts.map +1 -1
  46. package/dist/dev/useCliErrorCatcher.d.ts +1 -1
  47. package/dist/hooks/useMenu.d.ts.map +1 -1
  48. package/dist/i18n/useI18nCatcher.d.ts +1 -1
  49. package/dist/i18n/useI18nLanguages.d.ts +1 -1
  50. package/dist/i18n/useI18nLanguages.d.ts.map +1 -1
  51. package/dist/i18n/useI18nProvider.d.ts.map +1 -1
  52. package/dist/react-admin.cjs.js +2 -1
  53. package/dist/react-admin.cjs.js.map +1 -0
  54. package/dist/react-admin.es.js +300 -784
  55. package/dist/react-admin.es.js.map +1 -0
  56. package/dist/react-admin.umd.js +2 -1
  57. package/dist/react-admin.umd.js.map +1 -0
  58. package/dist/themes/overrides/OutlinedInput.d.ts.map +1 -1
  59. package/dist/themes/palette.d.ts.map +1 -1
  60. package/dist/themes/theme/theme1.d.ts.map +1 -1
  61. package/dist/themes/theme/theme2.d.ts.map +1 -1
  62. package/dist/themes/theme/theme3.d.ts.map +1 -1
  63. package/dist/themes/theme/theme4.d.ts.map +1 -1
  64. package/dist/themes/theme/theme5.d.ts.map +1 -1
  65. package/dist/themes/theme/theme6.d.ts.map +1 -1
  66. package/dist/themes/theme/theme7.d.ts.map +1 -1
  67. package/dist/themes/theme/theme8.d.ts.map +1 -1
  68. package/dist/utils/index.d.ts +2 -2
  69. package/dist/utils/index.d.ts.map +1 -1
  70. package/dist/utils/lang.d.ts +1 -1
  71. package/dist/utils/lang.d.ts.map +1 -1
  72. package/dist/utils/time.d.ts +2 -1
  73. package/dist/utils/time.d.ts.map +1 -1
  74. package/package.json +2 -2
  75. package/src/Admin.jsx +8 -8
  76. package/src/AdminContext.jsx +9 -9
  77. package/src/ApplicaAdmin.jsx +30 -35
  78. package/src/components/@extended/AnimateButton.jsx +25 -33
  79. package/src/components/@extended/Avatar.jsx +35 -42
  80. package/src/components/@extended/Breadcrumbs.jsx +62 -96
  81. package/src/components/@extended/Dot.jsx +14 -14
  82. package/src/components/@extended/IconButton.jsx +55 -65
  83. package/src/components/@extended/LoadingButton.jsx +84 -86
  84. package/src/components/@extended/Tooltip.jsx +24 -27
  85. package/src/components/@extended/Transitions.jsx +98 -107
  86. package/src/components/@extended/index.jsx +10 -10
  87. package/src/components/@extended/progress/CircularWithLabel.jsx +7 -9
  88. package/src/components/@extended/progress/CircularWithPath.jsx +9 -18
  89. package/src/components/@extended/progress/LinearWithIcon.jsx +5 -5
  90. package/src/components/@extended/progress/LinearWithLabel.jsx +5 -5
  91. package/src/components/@extended/progress/index.jsx +5 -5
  92. package/src/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.jsx +112 -131
  93. package/src/components/Layout/Drawer/DrawerContent/Navigation/NavGroup.jsx +67 -88
  94. package/src/components/Layout/Drawer/DrawerContent/Navigation/NavItem.jsx +63 -79
  95. package/src/components/Layout/Drawer/DrawerContent/Navigation/index.jsx +28 -28
  96. package/src/components/Layout/Drawer/DrawerContent/index.jsx +7 -7
  97. package/src/components/Layout/Drawer/DrawerHeader/DrawerHeaderStyled.jsx +13 -15
  98. package/src/components/Layout/Drawer/DrawerHeader/index.jsx +17 -22
  99. package/src/components/Layout/Drawer/HorizontalBar.jsx +17 -17
  100. package/src/components/Layout/Drawer/MiniDrawerStyled.jsx +27 -29
  101. package/src/components/Layout/Drawer/index.jsx +21 -24
  102. package/src/components/Layout/Footer.jsx +7 -12
  103. package/src/components/Layout/Header/AppBarStyled.jsx +26 -28
  104. package/src/components/Layout/Header/HeaderContent/MobileSection.jsx +27 -27
  105. package/src/components/Layout/Header/HeaderContent/Notification.jsx +34 -55
  106. package/src/components/Layout/Header/HeaderContent/NotificationItem.jsx +24 -36
  107. package/src/components/Layout/Header/HeaderContent/Profile.jsx +48 -73
  108. package/src/components/Layout/Header/HeaderContent/index.jsx +16 -18
  109. package/src/components/Layout/Header/index.jsx +25 -43
  110. package/src/components/Layout/index.jsx +36 -52
  111. package/src/components/Loadable.jsx +4 -4
  112. package/src/components/Loader.jsx +7 -7
  113. package/src/components/Logo.jsx +14 -14
  114. package/src/components/MainIcon.jsx +6 -6
  115. package/src/components/MenuPopover/MenuPopover.jsx +15 -15
  116. package/src/components/MenuPopover/getPosition.jsx +40 -40
  117. package/src/components/MenuPopover/index.jsx +3 -3
  118. package/src/components/MenuPopover/styles.jsx +20 -20
  119. package/src/components/Notification.jsx +7 -7
  120. package/src/components/ScrollTop.jsx +13 -13
  121. package/src/components/ScrollX.jsx +4 -4
  122. package/src/components/SmallIcon.jsx +6 -6
  123. package/src/components/ra-buttons/EditInDialogButton.jsx +39 -45
  124. package/src/components/ra-buttons/ImpersonateUserButton.jsx +20 -20
  125. package/src/components/ra-buttons/index.jsx +4 -4
  126. package/src/components/ra-fields/ActionsField.jsx +12 -12
  127. package/src/components/ra-fields/CoverField.jsx +20 -26
  128. package/src/components/ra-fields/DateAgoField.jsx +17 -20
  129. package/src/components/ra-fields/DateField.jsx +14 -14
  130. package/src/components/ra-fields/EmailField.jsx +14 -14
  131. package/src/components/ra-fields/FileField.jsx +23 -23
  132. package/src/components/ra-fields/FunctionField.jsx +5 -5
  133. package/src/components/ra-fields/ImageField.jsx +11 -11
  134. package/src/components/ra-fields/ReadonlyField.jsx +40 -42
  135. package/src/components/ra-fields/ReferenceManyField.jsx +21 -21
  136. package/src/components/ra-fields/SizeField.jsx +15 -15
  137. package/src/components/ra-fields/TextField.jsx +14 -14
  138. package/src/components/ra-fields/index.jsx +15 -15
  139. package/src/components/ra-forms/CardForm.jsx +34 -40
  140. package/src/components/ra-forms/LongForm/useFormRootPath.ts +8 -13
  141. package/src/components/ra-forms/TabbedForm.jsx +10 -10
  142. package/src/components/ra-forms/Toolbar.jsx +15 -15
  143. package/src/components/ra-forms/index.jsx +9 -9
  144. package/src/components/ra-inputs/AutocompleteArrayInput.jsx +7 -7
  145. package/src/components/ra-inputs/AutocompleteInput.jsx +9 -9
  146. package/src/components/ra-inputs/BooleanInput.jsx +19 -19
  147. package/src/components/ra-inputs/DateInput.jsx +13 -13
  148. package/src/components/ra-inputs/FileInput.jsx +33 -33
  149. package/src/components/ra-inputs/ImageInput.jsx +19 -19
  150. package/src/components/ra-inputs/NumberInput.jsx +13 -13
  151. package/src/components/ra-inputs/RecordInput.jsx +39 -39
  152. package/src/components/ra-inputs/ReferenceArrayInput.jsx +10 -10
  153. package/src/components/ra-inputs/ReferenceInput.jsx +10 -10
  154. package/src/components/ra-inputs/ReferenceManyInput.jsx +13 -24
  155. package/src/components/ra-inputs/SearchInput.jsx +6 -6
  156. package/src/components/ra-inputs/SelectArrayInput.jsx +19 -19
  157. package/src/components/ra-inputs/TimeInput.jsx +21 -21
  158. package/src/components/ra-lists/Empty.jsx +32 -37
  159. package/src/components/ra-lists/List.jsx +9 -9
  160. package/src/components/ra-lists/NotificationList/NotificationList.jsx +14 -16
  161. package/src/components/ra-lists/NotificationList/button/MarkAsReadedButton.jsx +21 -25
  162. package/src/components/ra-lists/NotificationList/button/MarkAsUnreadedButton.jsx +19 -19
  163. package/src/components/ra-lists/NotificationList/button/index.jsx +2 -2
  164. package/src/components/ra-lists/NotificationList/field/NotificationField.jsx +20 -31
  165. package/src/components/ra-lists/NotificationList/field/index.jsx +1 -1
  166. package/src/components/ra-lists/NotificationList/index.jsx +2 -2
  167. package/src/components/ra-lists/index.jsx +5 -5
  168. package/src/components/third-party/SimpleBar.jsx +10 -10
  169. package/src/components/third-party/index.jsx +2 -2
  170. package/src/contexts/MenuConfigContext.jsx +35 -35
  171. package/src/contexts/MenuPropTypes.jsx +7 -7
  172. package/src/contexts/index.jsx +5 -5
  173. package/src/dev/index.jsx +2 -2
  174. package/src/dev/useCliErrorCatcher.jsx +32 -32
  175. package/src/hooks/index.jsx +8 -16
  176. package/src/hooks/useAppConfig.jsx +4 -4
  177. package/src/hooks/useBreadcrumbs.jsx +37 -37
  178. package/src/hooks/useLocalStorage.jsx +16 -16
  179. package/src/hooks/useMenu.jsx +83 -88
  180. package/src/hooks/useMenuConfig.jsx +4 -4
  181. package/src/hooks/useResourceTitle.jsx +13 -13
  182. package/src/hooks/useThemeConfig.jsx +4 -4
  183. package/src/i18n/createI18nProvider.jsx +7 -7
  184. package/src/i18n/index.jsx +4 -4
  185. package/src/i18n/useI18nCatcher.jsx +26 -26
  186. package/src/i18n/useI18nLanguages.jsx +12 -16
  187. package/src/i18n/useI18nProvider.jsx +3 -4
  188. package/src/themes/getColors.jsx +8 -8
  189. package/src/themes/getShadow.jsx +17 -17
  190. package/src/themes/index.jsx +29 -29
  191. package/src/themes/overrides/Accordion.jsx +9 -9
  192. package/src/themes/overrides/AccordionDetails.jsx +5 -5
  193. package/src/themes/overrides/AccordionSummary.jsx +11 -11
  194. package/src/themes/overrides/Alert.jsx +21 -21
  195. package/src/themes/overrides/AlertTitle.jsx +5 -5
  196. package/src/themes/overrides/Autocomplete.jsx +9 -9
  197. package/src/themes/overrides/Badge.jsx +12 -12
  198. package/src/themes/overrides/Button.jsx +62 -62
  199. package/src/themes/overrides/ButtonBase.jsx +4 -4
  200. package/src/themes/overrides/ButtonGroup.jsx +4 -4
  201. package/src/themes/overrides/CardContent.jsx +6 -6
  202. package/src/themes/overrides/Checkbox.jsx +31 -31
  203. package/src/themes/overrides/Chip.jsx +22 -22
  204. package/src/themes/overrides/Dialog.jsx +7 -7
  205. package/src/themes/overrides/DialogContentText.jsx +5 -5
  206. package/src/themes/overrides/DialogTitle.jsx +5 -5
  207. package/src/themes/overrides/Fab.jsx +21 -21
  208. package/src/themes/overrides/IconButton.jsx +8 -8
  209. package/src/themes/overrides/InputBase.jsx +3 -3
  210. package/src/themes/overrides/InputLabel.jsx +8 -8
  211. package/src/themes/overrides/LinearProgress.jsx +6 -6
  212. package/src/themes/overrides/Link.jsx +4 -4
  213. package/src/themes/overrides/ListItemButton.jsx +7 -7
  214. package/src/themes/overrides/ListItemIcon.jsx +5 -5
  215. package/src/themes/overrides/LoadingButton.jsx +6 -6
  216. package/src/themes/overrides/OutlinedInput.jsx +20 -21
  217. package/src/themes/overrides/Pagination.jsx +4 -4
  218. package/src/themes/overrides/PaginationItem.jsx +55 -55
  219. package/src/themes/overrides/Popover.jsx +5 -5
  220. package/src/themes/overrides/Radio.jsx +30 -30
  221. package/src/themes/overrides/Slider.jsx +20 -20
  222. package/src/themes/overrides/Switch.jsx +26 -26
  223. package/src/themes/overrides/Tab.jsx +7 -7
  224. package/src/themes/overrides/TableBody.jsx +11 -11
  225. package/src/themes/overrides/TableCell.jsx +12 -12
  226. package/src/themes/overrides/TableFooter.jsx +5 -5
  227. package/src/themes/overrides/TableHead.jsx +5 -5
  228. package/src/themes/overrides/TablePagination.jsx +6 -6
  229. package/src/themes/overrides/TableRow.jsx +10 -10
  230. package/src/themes/overrides/Tabs.jsx +5 -5
  231. package/src/themes/overrides/ToggleButton.jsx +7 -7
  232. package/src/themes/overrides/Tooltip.jsx +5 -5
  233. package/src/themes/overrides/TreeItem.jsx +7 -7
  234. package/src/themes/overrides/Typography.jsx +5 -5
  235. package/src/themes/overrides/index.jsx +47 -47
  236. package/src/themes/palette.jsx +22 -34
  237. package/src/themes/shadows.jsx +4 -4
  238. package/src/themes/theme/default.jsx +17 -17
  239. package/src/themes/theme/index.jsx +23 -23
  240. package/src/themes/theme/theme1.jsx +24 -46
  241. package/src/themes/theme/theme2.jsx +24 -46
  242. package/src/themes/theme/theme3.jsx +24 -46
  243. package/src/themes/theme/theme4.jsx +24 -46
  244. package/src/themes/theme/theme5.jsx +24 -46
  245. package/src/themes/theme/theme6.jsx +24 -46
  246. package/src/themes/theme/theme7.jsx +24 -46
  247. package/src/themes/theme/theme8.jsx +24 -46
  248. package/src/themes/typography.jsx +16 -16
  249. package/src/utils/{lang.js → lang.ts} +4 -4
  250. package/src/utils/time.ts +14 -0
  251. package/vite.config.js +11 -10
  252. package/src/utils/time.js +0 -13
  253. /package/src/utils/{index.js → index.ts} +0 -0
@@ -9,17 +9,17 @@ import {
9
9
  Popper,
10
10
  Typography,
11
11
  useMediaQuery
12
- } from '@mui/material'
13
- import { DownOutlined, RightOutlined } from '@ant-design/icons'
14
- import { Fragment, useEffect, useState } from 'react'
15
- import { styled, useTheme } from '@mui/material/styles'
16
- import { useMenuConfig, useThemeConfig } from '../../../../../hooks'
12
+ } from '@mui/material';
13
+ import { DownOutlined, RightOutlined } from '@ant-design/icons';
14
+ import { Fragment, useEffect, useState } from 'react';
15
+ import { styled, useTheme } from '@mui/material/styles';
16
+ import { useMenuConfig, useThemeConfig } from '../../../../../hooks';
17
17
 
18
- import NavCollapse from './NavCollapse'
19
- import NavItem from './NavItem'
20
- import PropTypes from 'prop-types'
21
- import { Transitions } from '../../../../@extended'
22
- import { useTranslate } from 'react-admin'
18
+ import NavCollapse from './NavCollapse';
19
+ import NavItem from './NavItem';
20
+ import PropTypes from 'prop-types';
21
+ import { Transitions } from '../../../../@extended';
22
+ import { useTranslate } from 'react-admin';
23
23
 
24
24
  const PopperStyled = styled(Popper)(({ theme }) => ({
25
25
  overflow: 'visible',
@@ -39,95 +39,85 @@ const PopperStyled = styled(Popper)(({ theme }) => ({
39
39
  borderStyle: 'solid',
40
40
  borderColor: `${theme.palette.background.paper} transparent transparent ${theme.palette.background.paper}`
41
41
  }
42
- }))
42
+ }));
43
43
 
44
- const NavGroup = ({
45
- item,
46
- lastItem,
47
- remItems,
48
- lastItemId,
49
- setSelectedItems,
50
- selectedItems,
51
- setSelectedLevel,
52
- selectedLevel
53
- }) => {
54
- const theme = useTheme()
55
- const translate = useTranslate()
56
- const { pathname } = { pathname: '' } // useLocation()
57
- const { menuOrientation, isVerticalLayout } = useThemeConfig()
58
- const menu = useMenuConfig()
59
- const { drawerOpen, selectedID } = menu
60
- const { activeID } = useMenuConfig()
61
- const downLG = useMediaQuery(theme.breakpoints.down('lg'))
44
+ const NavGroup = ({ item, lastItem, remItems, lastItemId, setSelectedItems, selectedItems, setSelectedLevel, selectedLevel }) => {
45
+ const theme = useTheme();
46
+ const translate = useTranslate();
47
+ const { pathname } = { pathname: '' }; // useLocation()
48
+ const { menuOrientation, isVerticalLayout } = useThemeConfig();
49
+ const menu = useMenuConfig();
50
+ const { drawerOpen, selectedID } = menu;
51
+ const { activeID } = useMenuConfig();
52
+ const downLG = useMediaQuery(theme.breakpoints.down('lg'));
62
53
 
63
- const [anchorEl, setAnchorEl] = useState(null)
64
- const [currentItem, setCurrentItem] = useState(item)
54
+ const [anchorEl, setAnchorEl] = useState(null);
55
+ const [currentItem, setCurrentItem] = useState(item);
65
56
 
66
- const openMini = Boolean(anchorEl)
57
+ const openMini = Boolean(anchorEl);
67
58
 
68
59
  useEffect(() => {
69
60
  if (lastItem) {
70
61
  if (item.id === lastItemId) {
71
- const localItem = { ...item }
72
- const elements = remItems.map((ele) => ele.elements)
73
- localItem.children = elements.flat(1)
74
- setCurrentItem(localItem)
62
+ const localItem = { ...item };
63
+ const elements = remItems.map((ele) => ele.elements);
64
+ localItem.children = elements.flat(1);
65
+ setCurrentItem(localItem);
75
66
  } else {
76
- setCurrentItem(item)
67
+ setCurrentItem(item);
77
68
  }
78
69
  }
79
70
  // eslint-disable-next-line react-hooks/exhaustive-deps
80
- }, [item, lastItem, downLG])
71
+ }, [item, lastItem, downLG]);
81
72
 
82
73
  const checkOpenForParent = (child, id) => {
83
74
  child.forEach((ele) => {
84
75
  if (ele.children?.length) {
85
- checkOpenForParent(ele.children, currentItem.id)
76
+ checkOpenForParent(ele.children, currentItem.id);
86
77
  }
87
78
  if (ele.url === pathname) {
88
- activeID(id)
79
+ activeID(id);
89
80
  }
90
- })
91
- }
81
+ });
82
+ };
92
83
  const checkSelectedOnload = (data) => {
93
- const childrens = data.children ? data.children : []
84
+ const childrens = data.children ? data.children : [];
94
85
  childrens.forEach((itemCheck) => {
95
86
  if (itemCheck.children?.length) {
96
- checkOpenForParent(itemCheck.children, currentItem.id)
87
+ checkOpenForParent(itemCheck.children, currentItem.id);
97
88
  }
98
89
  if (itemCheck.url === pathname) {
99
- activeID(currentItem.id)
90
+ activeID(currentItem.id);
100
91
  }
101
- })
102
- }
92
+ });
93
+ };
103
94
 
104
95
  useEffect(() => {
105
- checkSelectedOnload(currentItem)
106
- if (openMini) setAnchorEl(null)
96
+ checkSelectedOnload(currentItem);
97
+ if (openMini) setAnchorEl(null);
107
98
  // eslint-disable-next-line react-hooks/exhaustive-deps
108
- }, [pathname, currentItem])
99
+ }, [pathname, currentItem]);
109
100
 
110
101
  const handleClick = (event) => {
111
102
  if (!openMini) {
112
- setAnchorEl(event?.currentTarget)
103
+ setAnchorEl(event?.currentTarget);
113
104
  }
114
- }
105
+ };
115
106
 
116
107
  const handleClose = () => {
117
- setAnchorEl(null)
118
- }
108
+ setAnchorEl(null);
109
+ };
119
110
 
120
- const Icon = currentItem?.icon
111
+ const Icon = currentItem?.icon;
121
112
  const itemIcon = currentItem?.icon ? (
122
113
  <Icon
123
114
  style={{
124
115
  fontSize: 20,
125
116
  stroke: '1.5',
126
- color:
127
- selectedID === currentItem.id ? theme.palette.primary.main : theme.palette.secondary.dark
117
+ color: selectedID === currentItem.id ? theme.palette.primary.main : theme.palette.secondary.dark
128
118
  }}
129
119
  />
130
- ) : null
120
+ ) : null;
131
121
 
132
122
  const navCollapse = item.children?.map((menuItem) => {
133
123
  switch (menuItem.type) {
@@ -143,12 +133,12 @@ const NavGroup = ({
143
133
  level={1}
144
134
  parentId={currentItem.id}
145
135
  />
146
- )
136
+ );
147
137
  case 'item':
148
- return <NavItem key={menuItem.id} item={menuItem} level={1} />
138
+ return <NavItem key={menuItem.id} item={menuItem} level={1} />;
149
139
  default:
150
140
  }
151
- })
141
+ });
152
142
 
153
143
  const moreItems = remItems.map((itemRem, i) => (
154
144
  <Fragment key={i}>
@@ -171,19 +161,19 @@ const NavGroup = ({
171
161
  selectedLevel={selectedLevel}
172
162
  selectedItems={selectedItems}
173
163
  />
174
- )
164
+ );
175
165
  case 'item':
176
- return <NavItem key={menu.id} item={menu} level={1} />
166
+ return <NavItem key={menu.id} item={menu} level={1} />;
177
167
  default:
178
168
  return (
179
169
  <Typography key={menu.id} variant="h6" color="error" align="center">
180
170
  Menu Items Error
181
171
  </Typography>
182
- )
172
+ );
183
173
  }
184
174
  })}
185
175
  </Fragment>
186
- ))
176
+ ));
187
177
 
188
178
  // menu list collapse & items
189
179
  const items = currentItem.children?.map((menu) => {
@@ -200,19 +190,19 @@ const NavGroup = ({
200
190
  selectedLevel={selectedLevel}
201
191
  selectedItems={selectedItems}
202
192
  />
203
- )
193
+ );
204
194
  case 'item':
205
- return <NavItem key={menu.id} item={menu} level={1} />
195
+ return <NavItem key={menu.id} item={menu} level={1} />;
206
196
  default:
207
197
  return (
208
198
  <Typography key={menu.id} variant="h6" color="error" align="center">
209
199
  Menu Items Error
210
200
  </Typography>
211
- )
201
+ );
212
202
  }
213
- })
203
+ });
214
204
 
215
- const popperId = openMini ? `group-pop-${item.id}` : undefined
205
+ const popperId = openMini ? `group-pop-${item.id}` : undefined;
216
206
 
217
207
  return (
218
208
  <>
@@ -222,10 +212,7 @@ const NavGroup = ({
222
212
  item.title &&
223
213
  drawerOpen && (
224
214
  <Box sx={{ pl: 3, mb: 1.5 }}>
225
- <Typography
226
- variant="subtitle2"
227
- color={theme.palette.mode === 'dark' ? 'textSecondary' : 'text.secondary'}
228
- >
215
+ <Typography variant="subtitle2" color={theme.palette.mode === 'dark' ? 'textSecondary' : 'text.secondary'}>
229
216
  {item.title}
230
217
  </Typography>
231
218
  {item.caption && (
@@ -262,11 +249,7 @@ const NavGroup = ({
262
249
  >
263
250
  {itemIcon && (
264
251
  <ListItemIcon sx={{ minWidth: 28 }}>
265
- {currentItem.id === lastItemId ? (
266
- <DownOutlined style={{ fontSize: 20, stroke: '1.5' }} />
267
- ) : (
268
- itemIcon
269
- )}
252
+ {currentItem.id === lastItemId ? <DownOutlined style={{ fontSize: 20, stroke: '1.5' }} /> : itemIcon}
270
253
  </ListItemIcon>
271
254
  )}
272
255
  <ListItemText
@@ -274,11 +257,7 @@ const NavGroup = ({
274
257
  primary={
275
258
  <Typography
276
259
  variant="body1"
277
- color={
278
- selectedID === currentItem.id
279
- ? theme.palette.primary.main
280
- : theme.palette.secondary.dark
281
- }
260
+ color={selectedID === currentItem.id ? theme.palette.primary.main : theme.palette.secondary.dark}
282
261
  >
283
262
  {currentItem.id === lastItemId ? translate('ra.actions.more') : currentItem.title}
284
263
  </Typography>
@@ -342,8 +321,8 @@ const NavGroup = ({
342
321
  </List>
343
322
  )}
344
323
  </>
345
- )
346
- }
324
+ );
325
+ };
347
326
 
348
327
  NavGroup.propTypes = {
349
328
  item: PropTypes.object,
@@ -354,6 +333,6 @@ NavGroup.propTypes = {
354
333
  selectedItems: PropTypes.string,
355
334
  setSelectedLevel: PropTypes.func,
356
335
  selectedLevel: PropTypes.number
357
- }
336
+ };
358
337
 
359
- export default NavGroup
338
+ export default NavGroup;
@@ -1,62 +1,47 @@
1
- import {
2
- Avatar,
3
- Chip,
4
- ListItemButton,
5
- ListItemIcon,
6
- ListItemText,
7
- Typography,
8
- useMediaQuery,
9
- } from '@mui/material'
10
- import { Link, useLocation } from 'react-router-dom'
11
- import { forwardRef, useEffect } from 'react'
12
- import { useMenuConfig, useThemeConfig } from '../../../../../hooks'
1
+ import { Avatar, Chip, ListItemButton, ListItemIcon, ListItemText, Typography, useMediaQuery } from '@mui/material';
2
+ import { Link, useLocation } from 'react-router-dom';
3
+ import { forwardRef, useEffect } from 'react';
4
+ import { useMenuConfig, useThemeConfig } from '../../../../../hooks';
13
5
 
14
- import { Dot } from '../../../../@extended'
15
- import PropTypes from 'prop-types'
16
- import { useTheme } from '@mui/material/styles'
6
+ import { Dot } from '../../../../@extended';
7
+ import PropTypes from 'prop-types';
8
+ import { useTheme } from '@mui/material/styles';
17
9
 
18
10
  const NavItem = ({ item, level }) => {
19
- const theme = useTheme()
11
+ const theme = useTheme();
20
12
 
21
- const { menuOrientation, isVerticalLayout } = useThemeConfig()
22
- const { drawerOpen, openItem, activeItem, openDrawer } = useMenuConfig()
13
+ const { menuOrientation, isVerticalLayout } = useThemeConfig();
14
+ const { drawerOpen, openItem, activeItem, openDrawer } = useMenuConfig();
23
15
 
24
- const downLG = useMediaQuery(theme.breakpoints.down('lg'))
16
+ const downLG = useMediaQuery(theme.breakpoints.down('lg'));
25
17
 
26
- let itemTarget = '_self'
18
+ let itemTarget = '_self';
27
19
  if (item.target) {
28
- itemTarget = '_blank'
20
+ itemTarget = '_blank';
29
21
  }
30
22
 
31
23
  let listItemProps = {
32
- component: forwardRef((props, ref) => (
33
- <Link {...props} to={item.url} target={itemTarget} ref={ref} />
34
- )),
35
- }
24
+ component: forwardRef((props, ref) => <Link {...props} to={item.url} target={itemTarget} ref={ref} />)
25
+ };
36
26
  if (item?.external) {
37
- listItemProps = { component: 'a', href: item.url, target: itemTarget }
27
+ listItemProps = { component: 'a', href: item.url, target: itemTarget };
38
28
  }
39
29
 
40
- const Icon = item.icon
41
- const itemIcon = item.icon ? (
42
- <Icon style={{ fontSize: drawerOpen ? '1rem' : '1.25rem' }} />
43
- ) : (
44
- false
45
- )
46
- const isSelected = openItem.findIndex((id) => id === item.id) > -1
47
- const { pathname } = useLocation()
30
+ const Icon = item.icon;
31
+ const itemIcon = item.icon ? <Icon style={{ fontSize: drawerOpen ? '1rem' : '1.25rem' }} /> : false;
32
+ const isSelected = openItem.findIndex((id) => id === item.id) > -1;
33
+ const { pathname } = useLocation();
48
34
 
49
35
  // active menu item on page load
50
36
  useEffect(() => {
51
37
  if (pathname.includes(item.url)) {
52
- activeItem([item.id])
38
+ activeItem([item.id]);
53
39
  }
54
40
  // eslint-disable-next-line
55
- }, [pathname])
41
+ }, [pathname]);
56
42
 
57
- const textColor = theme.palette.mode === 'dark' ? 'grey.400' : 'text.primary'
58
- const iconSelectedColor =
59
- theme.palette.mode === 'dark' && drawerOpen ? 'text.primary' : 'primary.main'
43
+ const textColor = theme.palette.mode === 'dark' ? 'grey.400' : 'text.primary';
44
+ const iconSelectedColor = theme.palette.mode === 'dark' && drawerOpen ? 'text.primary' : 'primary.main';
60
45
  return (
61
46
  <>
62
47
  {isVerticalLayout(menuOrientation) || downLG ? (
@@ -70,7 +55,7 @@ const NavItem = ({ item, level }) => {
70
55
  py: !drawerOpen && level === 1 ? 1.25 : 1,
71
56
  ...(drawerOpen && {
72
57
  '&:hover': {
73
- bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'primary.lighter',
58
+ bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'primary.lighter'
74
59
  },
75
60
  '&.Mui-selected': {
76
61
  bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'primary.lighter',
@@ -78,24 +63,24 @@ const NavItem = ({ item, level }) => {
78
63
  color: iconSelectedColor,
79
64
  '&:hover': {
80
65
  color: iconSelectedColor,
81
- bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'primary.lighter',
82
- },
83
- },
66
+ bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'primary.lighter'
67
+ }
68
+ }
84
69
  }),
85
70
  ...(!drawerOpen && {
86
71
  '&:hover': {
87
- bgcolor: 'transparent',
72
+ bgcolor: 'transparent'
88
73
  },
89
74
  '&.Mui-selected': {
90
75
  '&:hover': {
91
- bgcolor: 'transparent',
76
+ bgcolor: 'transparent'
92
77
  },
93
- bgcolor: 'transparent',
94
- },
95
- }),
78
+ bgcolor: 'transparent'
79
+ }
80
+ })
96
81
  }}
97
82
  {...(downLG && {
98
- onClick: () => openDrawer(false),
83
+ onClick: () => openDrawer(false)
99
84
  })}
100
85
  >
101
86
  {itemIcon && (
@@ -110,17 +95,16 @@ const NavItem = ({ item, level }) => {
110
95
  alignItems: 'center',
111
96
  justifyContent: 'center',
112
97
  '&:hover': {
113
- bgcolor:
114
- theme.palette.mode === 'dark' ? 'secondary.light' : 'secondary.lighter',
115
- },
98
+ bgcolor: theme.palette.mode === 'dark' ? 'secondary.light' : 'secondary.lighter'
99
+ }
116
100
  }),
117
101
  ...(!drawerOpen &&
118
102
  isSelected && {
119
103
  bgcolor: theme.palette.mode === 'dark' ? 'primary.900' : 'primary.lighter',
120
104
  '&:hover': {
121
- bgcolor: theme.palette.mode === 'dark' ? 'primary.darker' : 'primary.lighter',
122
- },
123
- }),
105
+ bgcolor: theme.palette.mode === 'dark' ? 'primary.darker' : 'primary.lighter'
106
+ }
107
+ })
124
108
  }}
125
109
  >
126
110
  {itemIcon}
@@ -154,28 +138,28 @@ const NavItem = ({ item, level }) => {
154
138
  zIndex: 1201,
155
139
  ...(drawerOpen && {
156
140
  '&:hover': {
157
- bgcolor: 'transparent',
141
+ bgcolor: 'transparent'
158
142
  },
159
143
  '&.Mui-selected': {
160
144
  bgcolor: 'transparent',
161
145
  color: iconSelectedColor,
162
146
  '&:hover': {
163
147
  color: iconSelectedColor,
164
- bgcolor: 'transparent',
165
- },
166
- },
148
+ bgcolor: 'transparent'
149
+ }
150
+ }
167
151
  }),
168
152
  ...(!drawerOpen && {
169
153
  '&:hover': {
170
- bgcolor: 'transparent',
154
+ bgcolor: 'transparent'
171
155
  },
172
156
  '&.Mui-selected': {
173
157
  '&:hover': {
174
- bgcolor: 'transparent',
158
+ bgcolor: 'transparent'
175
159
  },
176
- bgcolor: 'transparent',
177
- },
178
- }),
160
+ bgcolor: 'transparent'
161
+ }
162
+ })
179
163
  }}
180
164
  >
181
165
  {itemIcon && (
@@ -189,16 +173,16 @@ const NavItem = ({ item, level }) => {
189
173
  alignItems: 'center',
190
174
  justifyContent: 'flex-start',
191
175
  '&:hover': {
192
- bgcolor: 'transparent',
193
- },
176
+ bgcolor: 'transparent'
177
+ }
194
178
  }),
195
179
  ...(!drawerOpen &&
196
180
  isSelected && {
197
181
  bgcolor: 'transparent',
198
182
  '&:hover': {
199
- bgcolor: 'transparent',
200
- },
201
- }),
183
+ bgcolor: 'transparent'
184
+ }
185
+ })
202
186
  }}
203
187
  >
204
188
  {itemIcon}
@@ -214,16 +198,16 @@ const NavItem = ({ item, level }) => {
214
198
  alignItems: 'center',
215
199
  justifyContent: 'flex-start',
216
200
  '&:hover': {
217
- bgcolor: 'transparent',
218
- },
201
+ bgcolor: 'transparent'
202
+ }
219
203
  }),
220
204
  ...(!drawerOpen &&
221
205
  isSelected && {
222
206
  bgcolor: 'transparent',
223
207
  '&:hover': {
224
- bgcolor: 'transparent',
225
- },
226
- }),
208
+ bgcolor: 'transparent'
209
+ }
210
+ })
227
211
  }}
228
212
  >
229
213
  <Dot size={4} color={isSelected ? 'primary' : 'secondary'} />
@@ -248,12 +232,12 @@ const NavItem = ({ item, level }) => {
248
232
  </ListItemButton>
249
233
  )}
250
234
  </>
251
- )
252
- }
235
+ );
236
+ };
253
237
 
254
238
  NavItem.propTypes = {
255
239
  item: PropTypes.object,
256
- level: PropTypes.number,
257
- }
240
+ level: PropTypes.number
241
+ };
258
242
 
259
- export default NavItem
243
+ export default NavItem;
@@ -1,34 +1,34 @@
1
- import { Box, Typography, useMediaQuery } from '@mui/material'
2
- import { useMenu, useMenuConfig, useThemeConfig } from '../../../../../hooks'
1
+ import { Box, Typography, useMediaQuery } from '@mui/material';
2
+ import { useMenu, useMenuConfig, useThemeConfig } from '../../../../../hooks';
3
3
 
4
- import NavGroup from './NavGroup'
5
- import { useState } from 'react'
6
- import { useTheme } from '@mui/material/styles'
4
+ import NavGroup from './NavGroup';
5
+ import { useState } from 'react';
6
+ import { useTheme } from '@mui/material/styles';
7
7
 
8
8
  const Navigation = () => {
9
- const theme = useTheme()
10
- const { menu, isLoading } = useMenu()
11
- const downLG = useMediaQuery(theme.breakpoints.down('lg'))
9
+ const theme = useTheme();
10
+ const { menu, isLoading } = useMenu();
11
+ const downLG = useMediaQuery(theme.breakpoints.down('lg'));
12
12
 
13
- const { menuOrientation, horizontalMaxItems, isHorizontalLayout } = useThemeConfig()
14
- const { drawerOpen } = useMenuConfig()
15
- const [selectedItems, setSelectedItems] = useState('')
16
- const [selectedLevel, setSelectedLevel] = useState(0)
17
- const isHorizontal = isHorizontalLayout(menuOrientation) && !downLG
18
- const lastItem = isHorizontal ? horizontalMaxItems : null
13
+ const { menuOrientation, horizontalMaxItems, isHorizontalLayout } = useThemeConfig();
14
+ const { drawerOpen } = useMenuConfig();
15
+ const [selectedItems, setSelectedItems] = useState('');
16
+ const [selectedLevel, setSelectedLevel] = useState(0);
17
+ const isHorizontal = isHorizontalLayout(menuOrientation) && !downLG;
18
+ const lastItem = isHorizontal ? horizontalMaxItems : null;
19
19
 
20
- let lastItemIndex = isLoading ? 0 : menu.length - 1
21
- let remItems = []
22
- let lastItemId
20
+ let lastItemIndex = isLoading ? 0 : menu.length - 1;
21
+ let remItems = [];
22
+ let lastItemId;
23
23
 
24
24
  if (!isLoading && lastItem && lastItem < menu.length) {
25
- lastItemId = menu[lastItem - 1].id
26
- lastItemIndex = lastItem - 1
25
+ lastItemId = menu[lastItem - 1].id;
26
+ lastItemIndex = lastItem - 1;
27
27
  remItems = menu.slice(lastItem - 1, menu.length).map((item) => ({
28
28
  title: item.title,
29
29
  elements: item.children,
30
- icon: item.icon,
31
- }))
30
+ icon: item.icon
31
+ }));
32
32
  }
33
33
 
34
34
  const navGroups = isLoading
@@ -48,26 +48,26 @@ const Navigation = () => {
48
48
  lastItemId={lastItemId}
49
49
  item={item}
50
50
  />
51
- )
51
+ );
52
52
  default:
53
53
  return (
54
54
  <Typography key={item.id} variant="h6" color="error" align="center">
55
55
  Fix - Navigation Group
56
56
  </Typography>
57
- )
57
+ );
58
58
  }
59
- })
59
+ });
60
60
  return (
61
61
  <Box
62
62
  sx={{
63
63
  pt: drawerOpen ? (isHorizontal ? 0 : 2) : 0,
64
64
  '& > ul:first-of-type': { mt: 0 },
65
- display: isHorizontal ? { xs: 'block', lg: 'flex' } : 'block',
65
+ display: isHorizontal ? { xs: 'block', lg: 'flex' } : 'block'
66
66
  }}
67
67
  >
68
68
  {navGroups}
69
69
  </Box>
70
- )
71
- }
70
+ );
71
+ };
72
72
 
73
- export default Navigation
73
+ export default Navigation;
@@ -1,5 +1,5 @@
1
- import Navigation from './Navigation'
2
- import { SimpleBar } from '../../../third-party'
1
+ import Navigation from './Navigation';
2
+ import { SimpleBar } from '../../../third-party';
3
3
 
4
4
  const DrawerContent = () => {
5
5
  return (
@@ -7,13 +7,13 @@ const DrawerContent = () => {
7
7
  sx={{
8
8
  '& .simplebar-content': {
9
9
  display: 'flex',
10
- flexDirection: 'column',
11
- },
10
+ flexDirection: 'column'
11
+ }
12
12
  }}
13
13
  >
14
14
  <Navigation />
15
15
  </SimpleBar>
16
- )
17
- }
16
+ );
17
+ };
18
18
 
19
- export default DrawerContent
19
+ export default DrawerContent;