@applica-software-guru/react-admin 1.0.42 → 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.
- package/bitbucket-pipelines.yml +2 -0
- package/dist/ApplicaAdmin.d.ts.map +1 -1
- package/dist/components/@extended/AnimateButton.d.ts +1 -1
- package/dist/components/@extended/AnimateButton.d.ts.map +1 -1
- package/dist/components/@extended/Avatar.d.ts.map +1 -1
- package/dist/components/@extended/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/@extended/IconButton.d.ts.map +1 -1
- package/dist/components/@extended/LoadingButton.d.ts.map +1 -1
- package/dist/components/@extended/Tooltip.d.ts.map +1 -1
- package/dist/components/@extended/Transitions.d.ts.map +1 -1
- package/dist/components/@extended/progress/CircularWithLabel.d.ts.map +1 -1
- package/dist/components/@extended/progress/CircularWithPath.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.d.ts +1 -1
- package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavGroup.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerContent/Navigation/NavItem.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerHeader/DrawerHeaderStyled.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/DrawerHeader/index.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/MiniDrawerStyled.d.ts.map +1 -1
- package/dist/components/Layout/Drawer/index.d.ts.map +1 -1
- package/dist/components/Layout/Footer.d.ts.map +1 -1
- package/dist/components/Layout/Header/AppBarStyled.d.ts.map +1 -1
- package/dist/components/Layout/Header/HeaderContent/Notification.d.ts.map +1 -1
- package/dist/components/Layout/Header/HeaderContent/NotificationItem.d.ts.map +1 -1
- package/dist/components/Layout/Header/HeaderContent/Profile.d.ts.map +1 -1
- package/dist/components/Layout/Header/HeaderContent/index.d.ts.map +1 -1
- package/dist/components/Layout/Header/index.d.ts.map +1 -1
- package/dist/components/Layout/index.d.ts.map +1 -1
- package/dist/components/MenuPopover/styles.d.ts.map +1 -1
- package/dist/components/Notification.d.ts.map +1 -1
- package/dist/components/ScrollX.d.ts.map +1 -1
- package/dist/components/ra-buttons/EditInDialogButton.d.ts.map +1 -1
- package/dist/components/ra-fields/CoverField.d.ts.map +1 -1
- package/dist/components/ra-fields/DateAgoField.d.ts.map +1 -1
- package/dist/components/ra-fields/ReadonlyField.d.ts.map +1 -1
- package/dist/components/ra-forms/CardForm.d.ts.map +1 -1
- package/dist/components/ra-forms/LongForm/useFormRootPath.d.ts.map +1 -1
- package/dist/components/ra-forms/TabbedForm.d.ts.map +1 -1
- package/dist/components/ra-inputs/ReferenceManyInput.d.ts.map +1 -1
- package/dist/components/ra-lists/Empty.d.ts.map +1 -1
- package/dist/components/ra-lists/NotificationList/NotificationList.d.ts.map +1 -1
- package/dist/components/ra-lists/NotificationList/button/MarkAsReadedButton.d.ts.map +1 -1
- package/dist/components/ra-lists/NotificationList/field/NotificationField.d.ts.map +1 -1
- package/dist/contexts/MenuConfigContext.d.ts.map +1 -1
- package/dist/contexts/MenuPropTypes.d.ts.map +1 -1
- package/dist/dev/useCliErrorCatcher.d.ts +1 -1
- package/dist/hooks/useMenu.d.ts.map +1 -1
- package/dist/i18n/useI18nCatcher.d.ts +1 -1
- package/dist/i18n/useI18nLanguages.d.ts +1 -1
- package/dist/i18n/useI18nLanguages.d.ts.map +1 -1
- package/dist/i18n/useI18nProvider.d.ts.map +1 -1
- package/dist/react-admin.cjs.js +1 -1
- package/dist/react-admin.cjs.js.map +1 -1
- package/dist/react-admin.es.js +299 -784
- package/dist/react-admin.es.js.map +1 -1
- package/dist/react-admin.umd.js +1 -1
- package/dist/react-admin.umd.js.map +1 -1
- package/dist/themes/overrides/OutlinedInput.d.ts.map +1 -1
- package/dist/themes/palette.d.ts.map +1 -1
- package/dist/themes/theme/theme1.d.ts.map +1 -1
- package/dist/themes/theme/theme2.d.ts.map +1 -1
- package/dist/themes/theme/theme3.d.ts.map +1 -1
- package/dist/themes/theme/theme4.d.ts.map +1 -1
- package/dist/themes/theme/theme5.d.ts.map +1 -1
- package/dist/themes/theme/theme6.d.ts.map +1 -1
- package/dist/themes/theme/theme7.d.ts.map +1 -1
- package/dist/themes/theme/theme8.d.ts.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/lang.d.ts +1 -1
- package/dist/utils/lang.d.ts.map +1 -1
- package/dist/utils/time.d.ts +2 -1
- package/dist/utils/time.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/Admin.jsx +8 -8
- package/src/AdminContext.jsx +9 -9
- package/src/ApplicaAdmin.jsx +30 -35
- package/src/components/@extended/AnimateButton.jsx +25 -33
- package/src/components/@extended/Avatar.jsx +35 -42
- package/src/components/@extended/Breadcrumbs.jsx +62 -96
- package/src/components/@extended/Dot.jsx +14 -14
- package/src/components/@extended/IconButton.jsx +55 -65
- package/src/components/@extended/LoadingButton.jsx +84 -86
- package/src/components/@extended/Tooltip.jsx +24 -27
- package/src/components/@extended/Transitions.jsx +98 -107
- package/src/components/@extended/index.jsx +10 -10
- package/src/components/@extended/progress/CircularWithLabel.jsx +7 -9
- package/src/components/@extended/progress/CircularWithPath.jsx +9 -18
- package/src/components/@extended/progress/LinearWithIcon.jsx +5 -5
- package/src/components/@extended/progress/LinearWithLabel.jsx +5 -5
- package/src/components/@extended/progress/index.jsx +5 -5
- package/src/components/Layout/Drawer/DrawerContent/Navigation/NavCollapse.jsx +112 -131
- package/src/components/Layout/Drawer/DrawerContent/Navigation/NavGroup.jsx +67 -88
- package/src/components/Layout/Drawer/DrawerContent/Navigation/NavItem.jsx +63 -79
- package/src/components/Layout/Drawer/DrawerContent/Navigation/index.jsx +28 -28
- package/src/components/Layout/Drawer/DrawerContent/index.jsx +7 -7
- package/src/components/Layout/Drawer/DrawerHeader/DrawerHeaderStyled.jsx +13 -15
- package/src/components/Layout/Drawer/DrawerHeader/index.jsx +17 -22
- package/src/components/Layout/Drawer/HorizontalBar.jsx +17 -17
- package/src/components/Layout/Drawer/MiniDrawerStyled.jsx +27 -29
- package/src/components/Layout/Drawer/index.jsx +21 -24
- package/src/components/Layout/Footer.jsx +7 -12
- package/src/components/Layout/Header/AppBarStyled.jsx +26 -28
- package/src/components/Layout/Header/HeaderContent/MobileSection.jsx +27 -27
- package/src/components/Layout/Header/HeaderContent/Notification.jsx +34 -55
- package/src/components/Layout/Header/HeaderContent/NotificationItem.jsx +24 -36
- package/src/components/Layout/Header/HeaderContent/Profile.jsx +48 -73
- package/src/components/Layout/Header/HeaderContent/index.jsx +16 -18
- package/src/components/Layout/Header/index.jsx +25 -43
- package/src/components/Layout/index.jsx +36 -52
- package/src/components/Loadable.jsx +4 -4
- package/src/components/Loader.jsx +7 -7
- package/src/components/Logo.jsx +14 -14
- package/src/components/MainIcon.jsx +6 -6
- package/src/components/MenuPopover/MenuPopover.jsx +15 -15
- package/src/components/MenuPopover/getPosition.jsx +40 -40
- package/src/components/MenuPopover/index.jsx +3 -3
- package/src/components/MenuPopover/styles.jsx +20 -20
- package/src/components/Notification.jsx +7 -7
- package/src/components/ScrollTop.jsx +13 -13
- package/src/components/ScrollX.jsx +4 -4
- package/src/components/SmallIcon.jsx +6 -6
- package/src/components/ra-buttons/EditInDialogButton.jsx +39 -45
- package/src/components/ra-buttons/ImpersonateUserButton.jsx +20 -20
- package/src/components/ra-buttons/index.jsx +4 -4
- package/src/components/ra-fields/ActionsField.jsx +12 -12
- package/src/components/ra-fields/CoverField.jsx +20 -26
- package/src/components/ra-fields/DateAgoField.jsx +17 -20
- package/src/components/ra-fields/DateField.jsx +14 -14
- package/src/components/ra-fields/EmailField.jsx +14 -14
- package/src/components/ra-fields/FileField.jsx +23 -23
- package/src/components/ra-fields/FunctionField.jsx +5 -5
- package/src/components/ra-fields/ImageField.jsx +11 -11
- package/src/components/ra-fields/ReadonlyField.jsx +40 -42
- package/src/components/ra-fields/ReferenceManyField.jsx +21 -21
- package/src/components/ra-fields/SizeField.jsx +15 -15
- package/src/components/ra-fields/TextField.jsx +14 -14
- package/src/components/ra-fields/index.jsx +15 -15
- package/src/components/ra-forms/CardForm.jsx +34 -40
- package/src/components/ra-forms/LongForm/useFormRootPath.ts +8 -13
- package/src/components/ra-forms/TabbedForm.jsx +10 -10
- package/src/components/ra-forms/Toolbar.jsx +15 -15
- package/src/components/ra-forms/index.jsx +9 -9
- package/src/components/ra-inputs/AutocompleteArrayInput.jsx +7 -7
- package/src/components/ra-inputs/AutocompleteInput.jsx +9 -9
- package/src/components/ra-inputs/BooleanInput.jsx +19 -19
- package/src/components/ra-inputs/DateInput.jsx +13 -13
- package/src/components/ra-inputs/FileInput.jsx +33 -33
- package/src/components/ra-inputs/ImageInput.jsx +19 -19
- package/src/components/ra-inputs/NumberInput.jsx +13 -13
- package/src/components/ra-inputs/RecordInput.jsx +39 -39
- package/src/components/ra-inputs/ReferenceArrayInput.jsx +10 -10
- package/src/components/ra-inputs/ReferenceInput.jsx +10 -10
- package/src/components/ra-inputs/ReferenceManyInput.jsx +13 -24
- package/src/components/ra-inputs/SearchInput.jsx +6 -6
- package/src/components/ra-inputs/SelectArrayInput.jsx +19 -19
- package/src/components/ra-inputs/TimeInput.jsx +21 -21
- package/src/components/ra-lists/Empty.jsx +32 -37
- package/src/components/ra-lists/List.jsx +9 -9
- package/src/components/ra-lists/NotificationList/NotificationList.jsx +14 -16
- package/src/components/ra-lists/NotificationList/button/MarkAsReadedButton.jsx +21 -25
- package/src/components/ra-lists/NotificationList/button/MarkAsUnreadedButton.jsx +19 -19
- package/src/components/ra-lists/NotificationList/button/index.jsx +2 -2
- package/src/components/ra-lists/NotificationList/field/NotificationField.jsx +20 -31
- package/src/components/ra-lists/NotificationList/field/index.jsx +1 -1
- package/src/components/ra-lists/NotificationList/index.jsx +2 -2
- package/src/components/ra-lists/index.jsx +5 -5
- package/src/components/third-party/SimpleBar.jsx +10 -10
- package/src/components/third-party/index.jsx +2 -2
- package/src/contexts/MenuConfigContext.jsx +35 -35
- package/src/contexts/MenuPropTypes.jsx +7 -7
- package/src/contexts/index.jsx +5 -5
- package/src/dev/index.jsx +2 -2
- package/src/dev/useCliErrorCatcher.jsx +32 -32
- package/src/hooks/index.jsx +8 -16
- package/src/hooks/useAppConfig.jsx +4 -4
- package/src/hooks/useBreadcrumbs.jsx +37 -37
- package/src/hooks/useLocalStorage.jsx +16 -16
- package/src/hooks/useMenu.jsx +83 -88
- package/src/hooks/useMenuConfig.jsx +4 -4
- package/src/hooks/useResourceTitle.jsx +13 -13
- package/src/hooks/useThemeConfig.jsx +4 -4
- package/src/i18n/createI18nProvider.jsx +7 -7
- package/src/i18n/index.jsx +4 -4
- package/src/i18n/useI18nCatcher.jsx +26 -26
- package/src/i18n/useI18nLanguages.jsx +12 -16
- package/src/i18n/useI18nProvider.jsx +3 -4
- package/src/themes/getColors.jsx +8 -8
- package/src/themes/getShadow.jsx +17 -17
- package/src/themes/index.jsx +29 -29
- package/src/themes/overrides/Accordion.jsx +9 -9
- package/src/themes/overrides/AccordionDetails.jsx +5 -5
- package/src/themes/overrides/AccordionSummary.jsx +11 -11
- package/src/themes/overrides/Alert.jsx +21 -21
- package/src/themes/overrides/AlertTitle.jsx +5 -5
- package/src/themes/overrides/Autocomplete.jsx +9 -9
- package/src/themes/overrides/Badge.jsx +12 -12
- package/src/themes/overrides/Button.jsx +62 -62
- package/src/themes/overrides/ButtonBase.jsx +4 -4
- package/src/themes/overrides/ButtonGroup.jsx +4 -4
- package/src/themes/overrides/CardContent.jsx +6 -6
- package/src/themes/overrides/Checkbox.jsx +31 -31
- package/src/themes/overrides/Chip.jsx +22 -22
- package/src/themes/overrides/Dialog.jsx +7 -7
- package/src/themes/overrides/DialogContentText.jsx +5 -5
- package/src/themes/overrides/DialogTitle.jsx +5 -5
- package/src/themes/overrides/Fab.jsx +21 -21
- package/src/themes/overrides/IconButton.jsx +8 -8
- package/src/themes/overrides/InputBase.jsx +3 -3
- package/src/themes/overrides/InputLabel.jsx +8 -8
- package/src/themes/overrides/LinearProgress.jsx +6 -6
- package/src/themes/overrides/Link.jsx +4 -4
- package/src/themes/overrides/ListItemButton.jsx +7 -7
- package/src/themes/overrides/ListItemIcon.jsx +5 -5
- package/src/themes/overrides/LoadingButton.jsx +6 -6
- package/src/themes/overrides/OutlinedInput.jsx +20 -21
- package/src/themes/overrides/Pagination.jsx +4 -4
- package/src/themes/overrides/PaginationItem.jsx +55 -55
- package/src/themes/overrides/Popover.jsx +5 -5
- package/src/themes/overrides/Radio.jsx +30 -30
- package/src/themes/overrides/Slider.jsx +20 -20
- package/src/themes/overrides/Switch.jsx +26 -26
- package/src/themes/overrides/Tab.jsx +7 -7
- package/src/themes/overrides/TableBody.jsx +11 -11
- package/src/themes/overrides/TableCell.jsx +12 -12
- package/src/themes/overrides/TableFooter.jsx +5 -5
- package/src/themes/overrides/TableHead.jsx +5 -5
- package/src/themes/overrides/TablePagination.jsx +6 -6
- package/src/themes/overrides/TableRow.jsx +10 -10
- package/src/themes/overrides/Tabs.jsx +5 -5
- package/src/themes/overrides/ToggleButton.jsx +7 -7
- package/src/themes/overrides/Tooltip.jsx +5 -5
- package/src/themes/overrides/TreeItem.jsx +7 -7
- package/src/themes/overrides/Typography.jsx +5 -5
- package/src/themes/overrides/index.jsx +47 -47
- package/src/themes/palette.jsx +22 -34
- package/src/themes/shadows.jsx +4 -4
- package/src/themes/theme/default.jsx +17 -17
- package/src/themes/theme/index.jsx +23 -23
- package/src/themes/theme/theme1.jsx +24 -46
- package/src/themes/theme/theme2.jsx +24 -46
- package/src/themes/theme/theme3.jsx +24 -46
- package/src/themes/theme/theme4.jsx +24 -46
- package/src/themes/theme/theme5.jsx +24 -46
- package/src/themes/theme/theme6.jsx +24 -46
- package/src/themes/theme/theme7.jsx +24 -46
- package/src/themes/theme/theme8.jsx +24 -46
- package/src/themes/typography.jsx +16 -16
- package/src/utils/{lang.js → lang.ts} +4 -4
- package/src/utils/time.ts +14 -0
- package/src/utils/time.js +0 -13
- /package/src/utils/{index.js → index.ts} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import PropTypes from 'prop-types'
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
2
|
|
|
3
3
|
// material-ui
|
|
4
|
-
import { Box, CircularProgress, Typography } from '@mui/material'
|
|
4
|
+
import { Box, CircularProgress, Typography } from '@mui/material';
|
|
5
5
|
|
|
6
6
|
// ==============================|| PROGRESS - CIRCULAR LABEL ||============================== //
|
|
7
7
|
|
|
@@ -18,17 +18,15 @@ export default function CircularWithLabel({ value, ...others }) {
|
|
|
18
18
|
position: 'absolute',
|
|
19
19
|
display: 'flex',
|
|
20
20
|
alignItems: 'center',
|
|
21
|
-
justifyContent: 'center'
|
|
21
|
+
justifyContent: 'center'
|
|
22
22
|
}}
|
|
23
23
|
>
|
|
24
|
-
<Typography variant="caption" component="div" color="text.secondary">{`${Math.round(
|
|
25
|
-
value,
|
|
26
|
-
)}%`}</Typography>
|
|
24
|
+
<Typography variant="caption" component="div" color="text.secondary">{`${Math.round(value)}%`}</Typography>
|
|
27
25
|
</Box>
|
|
28
26
|
</Box>
|
|
29
|
-
)
|
|
27
|
+
);
|
|
30
28
|
}
|
|
31
29
|
|
|
32
30
|
CircularWithLabel.propTypes = {
|
|
33
|
-
value: PropTypes.number
|
|
34
|
-
}
|
|
31
|
+
value: PropTypes.number
|
|
32
|
+
};
|
|
@@ -1,20 +1,11 @@
|
|
|
1
|
-
import PropTypes from 'prop-types'
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
2
|
|
|
3
3
|
// material-ui
|
|
4
|
-
import { Box, CircularProgress, Typography, circularProgressClasses } from '@mui/material'
|
|
4
|
+
import { Box, CircularProgress, Typography, circularProgressClasses } from '@mui/material';
|
|
5
5
|
|
|
6
6
|
// ==============================|| PROGRESS - CIRCULAR PATH ||============================== //
|
|
7
7
|
|
|
8
|
-
export default function CircularWithPath({
|
|
9
|
-
value,
|
|
10
|
-
size,
|
|
11
|
-
variant,
|
|
12
|
-
thickness,
|
|
13
|
-
showLabel,
|
|
14
|
-
pathColor,
|
|
15
|
-
sx,
|
|
16
|
-
...others
|
|
17
|
-
}) {
|
|
8
|
+
export default function CircularWithPath({ value, size, variant, thickness, showLabel, pathColor, sx, ...others }) {
|
|
18
9
|
return (
|
|
19
10
|
<Box sx={{ position: 'relative', display: 'inline-flex' }}>
|
|
20
11
|
<CircularProgress
|
|
@@ -35,7 +26,7 @@ export default function CircularWithPath({
|
|
|
35
26
|
position: 'absolute',
|
|
36
27
|
display: 'flex',
|
|
37
28
|
alignItems: 'center',
|
|
38
|
-
justifyContent: 'center'
|
|
29
|
+
justifyContent: 'center'
|
|
39
30
|
}}
|
|
40
31
|
>
|
|
41
32
|
<Typography variant="caption" component="div" color="text.secondary">
|
|
@@ -50,8 +41,8 @@ export default function CircularWithPath({
|
|
|
50
41
|
position: 'absolute',
|
|
51
42
|
left: 0,
|
|
52
43
|
[`& .${circularProgressClasses.circle}`]: {
|
|
53
|
-
strokeLinecap: 'round'
|
|
54
|
-
}
|
|
44
|
+
strokeLinecap: 'round'
|
|
45
|
+
}
|
|
55
46
|
}}
|
|
56
47
|
size={size}
|
|
57
48
|
thickness={thickness}
|
|
@@ -59,7 +50,7 @@ export default function CircularWithPath({
|
|
|
59
50
|
{...others}
|
|
60
51
|
/>
|
|
61
52
|
</Box>
|
|
62
|
-
)
|
|
53
|
+
);
|
|
63
54
|
}
|
|
64
55
|
|
|
65
56
|
CircularWithPath.propTypes = {
|
|
@@ -70,5 +61,5 @@ CircularWithPath.propTypes = {
|
|
|
70
61
|
showLabel: PropTypes.bool,
|
|
71
62
|
pathColor: PropTypes.string,
|
|
72
63
|
sx: PropTypes.array,
|
|
73
|
-
others: PropTypes.array
|
|
74
|
-
}
|
|
64
|
+
others: PropTypes.array
|
|
65
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import PropTypes from 'prop-types'
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
2
|
|
|
3
3
|
// material-ui
|
|
4
|
-
import { Box, LinearProgress } from '@mui/material'
|
|
4
|
+
import { Box, LinearProgress } from '@mui/material';
|
|
5
5
|
|
|
6
6
|
// ==============================|| PROGRESS - LINEAR ICON ||============================== //
|
|
7
7
|
|
|
@@ -13,10 +13,10 @@ export default function LinearWithIcon({ icon, value, ...others }) {
|
|
|
13
13
|
</Box>
|
|
14
14
|
<Box sx={{ minWidth: 35 }}>{icon}</Box>
|
|
15
15
|
</Box>
|
|
16
|
-
)
|
|
16
|
+
);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
LinearWithIcon.propTypes = {
|
|
20
20
|
icon: PropTypes.node,
|
|
21
|
-
value: PropTypes.number
|
|
22
|
-
}
|
|
21
|
+
value: PropTypes.number
|
|
22
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import PropTypes from 'prop-types'
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
2
|
|
|
3
3
|
// material-ui
|
|
4
|
-
import { Box, LinearProgress, Typography } from '@mui/material'
|
|
4
|
+
import { Box, LinearProgress, Typography } from '@mui/material';
|
|
5
5
|
|
|
6
6
|
// ==============================|| PROGRESS - LINEAR WITH LABEL ||============================== //
|
|
7
7
|
|
|
@@ -15,9 +15,9 @@ export default function LinearWithLabel({ value, ...others }) {
|
|
|
15
15
|
<Typography variant="body2" color="text.secondary">{`${Math.round(value)}%`}</Typography>
|
|
16
16
|
</Box>
|
|
17
17
|
</Box>
|
|
18
|
-
)
|
|
18
|
+
);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
LinearWithLabel.propTypes = {
|
|
22
|
-
value: PropTypes.number
|
|
23
|
-
}
|
|
22
|
+
value: PropTypes.number
|
|
23
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import CircularWithLabel from './CircularWithLabel'
|
|
2
|
-
import CircularWithPath from './CircularWithPath'
|
|
3
|
-
import LinearWithIcon from './LinearWithIcon'
|
|
4
|
-
import LinearWithLabel from './LinearWithLabel'
|
|
1
|
+
import CircularWithLabel from './CircularWithLabel';
|
|
2
|
+
import CircularWithPath from './CircularWithPath';
|
|
3
|
+
import LinearWithIcon from './LinearWithIcon';
|
|
4
|
+
import LinearWithLabel from './LinearWithLabel';
|
|
5
5
|
|
|
6
|
-
export { CircularWithLabel, CircularWithPath, LinearWithIcon, LinearWithLabel }
|
|
6
|
+
export { CircularWithLabel, CircularWithPath, LinearWithIcon, LinearWithLabel };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BorderOutlined, DownOutlined, RightOutlined, UpOutlined } from '@ant-design/icons'
|
|
1
|
+
import { BorderOutlined, DownOutlined, RightOutlined, UpOutlined } from '@ant-design/icons';
|
|
2
2
|
import {
|
|
3
3
|
Box,
|
|
4
4
|
ClickAwayListener,
|
|
@@ -10,16 +10,16 @@ import {
|
|
|
10
10
|
Paper,
|
|
11
11
|
Popper,
|
|
12
12
|
Typography,
|
|
13
|
-
useMediaQuery
|
|
14
|
-
} from '@mui/material'
|
|
15
|
-
import { Dot, Transitions } from '../../../../@extended'
|
|
16
|
-
import React, { useEffect, useMemo, useState } from 'react'
|
|
17
|
-
import { styled, useTheme } from '@mui/material/styles'
|
|
18
|
-
import { useLocation, useNavigate } from 'react-router-dom'
|
|
19
|
-
import { useMenuConfig, useThemeConfig } from '../../../../../hooks'
|
|
13
|
+
useMediaQuery
|
|
14
|
+
} from '@mui/material';
|
|
15
|
+
import { Dot, Transitions } from '../../../../@extended';
|
|
16
|
+
import React, { useEffect, useMemo, useState } from 'react';
|
|
17
|
+
import { styled, useTheme } from '@mui/material/styles';
|
|
18
|
+
import { useLocation, useNavigate } from 'react-router-dom';
|
|
19
|
+
import { useMenuConfig, useThemeConfig } from '../../../../../hooks';
|
|
20
20
|
|
|
21
|
-
import NavItem from './NavItem'
|
|
22
|
-
import PropTypes from 'prop-types'
|
|
21
|
+
import NavItem from './NavItem';
|
|
22
|
+
import PropTypes from 'prop-types';
|
|
23
23
|
|
|
24
24
|
const PopperStyled = styled(Popper)(({ theme }) => ({
|
|
25
25
|
overflow: 'visible',
|
|
@@ -37,116 +37,108 @@ const PopperStyled = styled(Popper)(({ theme }) => ({
|
|
|
37
37
|
transform: 'translateY(-50%) rotate(45deg)',
|
|
38
38
|
zIndex: 120,
|
|
39
39
|
borderLeft: `1px solid ${theme.palette.grey.A800}`,
|
|
40
|
-
borderBottom: `1px solid ${theme.palette.grey.A800}
|
|
41
|
-
}
|
|
42
|
-
}))
|
|
40
|
+
borderBottom: `1px solid ${theme.palette.grey.A800}`
|
|
41
|
+
}
|
|
42
|
+
}));
|
|
43
43
|
|
|
44
|
-
const NavCollapse = ({
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
selectedLevel,
|
|
52
|
-
}) => {
|
|
53
|
-
const theme = useTheme()
|
|
54
|
-
const { activeItem } = useMenuConfig()
|
|
55
|
-
const downLG = useMediaQuery(theme.breakpoints.down('lg'))
|
|
56
|
-
const { drawerOpen } = useMenuConfig()
|
|
57
|
-
const { menuOrientation, isVerticalLayout } = useThemeConfig()
|
|
58
|
-
const Navigation = useNavigate()
|
|
44
|
+
const NavCollapse = ({ menu, level, parentId, setSelectedItems, selectedItems, setSelectedLevel, selectedLevel }) => {
|
|
45
|
+
const theme = useTheme();
|
|
46
|
+
const { activeItem } = useMenuConfig();
|
|
47
|
+
const downLG = useMediaQuery(theme.breakpoints.down('lg'));
|
|
48
|
+
const { drawerOpen } = useMenuConfig();
|
|
49
|
+
const { menuOrientation, isVerticalLayout } = useThemeConfig();
|
|
50
|
+
const Navigation = useNavigate();
|
|
59
51
|
|
|
60
|
-
const [open, setOpen] = useState(false)
|
|
61
|
-
const [selected, setSelected] = useState(null)
|
|
52
|
+
const [open, setOpen] = useState(false);
|
|
53
|
+
const [selected, setSelected] = useState(null);
|
|
62
54
|
|
|
63
|
-
const [anchorEl, setAnchorEl] = useState(null)
|
|
55
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
64
56
|
|
|
65
57
|
const handleClick = (event) => {
|
|
66
|
-
setAnchorEl(null)
|
|
67
|
-
setSelectedLevel(level)
|
|
58
|
+
setAnchorEl(null);
|
|
59
|
+
setSelectedLevel(level);
|
|
68
60
|
if (drawerOpen) {
|
|
69
|
-
setOpen(!open)
|
|
70
|
-
setSelected(!selected ? menu.id : null)
|
|
71
|
-
setSelectedItems(!selected ? menu.id : '')
|
|
72
|
-
if (menu.url) Navigation(`${menu.url}`)
|
|
61
|
+
setOpen(!open);
|
|
62
|
+
setSelected(!selected ? menu.id : null);
|
|
63
|
+
setSelectedItems(!selected ? menu.id : '');
|
|
64
|
+
if (menu.url) Navigation(`${menu.url}`);
|
|
73
65
|
} else {
|
|
74
|
-
setAnchorEl(event?.currentTarget)
|
|
66
|
+
setAnchorEl(event?.currentTarget);
|
|
75
67
|
}
|
|
76
|
-
}
|
|
68
|
+
};
|
|
77
69
|
|
|
78
70
|
const handlerIconLink = () => {
|
|
79
71
|
if (!drawerOpen) {
|
|
80
|
-
if (menu.url) Navigation(`${menu.url}`)
|
|
72
|
+
if (menu.url) Navigation(`${menu.url}`);
|
|
81
73
|
}
|
|
82
|
-
}
|
|
74
|
+
};
|
|
83
75
|
|
|
84
76
|
const handleHover = (event) => {
|
|
85
|
-
setAnchorEl(event?.currentTarget)
|
|
86
|
-
}
|
|
77
|
+
setAnchorEl(event?.currentTarget);
|
|
78
|
+
};
|
|
87
79
|
|
|
88
80
|
const handleClose = () => {
|
|
89
|
-
setOpen(false)
|
|
90
|
-
setSelected(null)
|
|
91
|
-
setAnchorEl(null)
|
|
92
|
-
}
|
|
81
|
+
setOpen(false);
|
|
82
|
+
setSelected(null);
|
|
83
|
+
setAnchorEl(null);
|
|
84
|
+
};
|
|
93
85
|
|
|
94
86
|
useMemo(() => {
|
|
95
87
|
if (selected === selectedItems) {
|
|
96
88
|
if (level === 1) {
|
|
97
|
-
setOpen(true)
|
|
89
|
+
setOpen(true);
|
|
98
90
|
}
|
|
99
91
|
} else {
|
|
100
92
|
if (level === selectedLevel) {
|
|
101
|
-
setOpen(false)
|
|
102
|
-
setSelected(null)
|
|
93
|
+
setOpen(false);
|
|
94
|
+
setSelected(null);
|
|
103
95
|
}
|
|
104
96
|
}
|
|
105
|
-
}, [selectedItems, level, selected, selectedLevel])
|
|
97
|
+
}, [selectedItems, level, selected, selectedLevel]);
|
|
106
98
|
|
|
107
|
-
const { pathname } = useLocation()
|
|
108
|
-
const openMini = Boolean(anchorEl)
|
|
99
|
+
const { pathname } = useLocation();
|
|
100
|
+
const openMini = Boolean(anchorEl);
|
|
109
101
|
|
|
110
102
|
const checkOpenForParent = (child, id) => {
|
|
111
103
|
child.forEach((item) => {
|
|
112
104
|
if (item.url === pathname) {
|
|
113
|
-
setOpen(true)
|
|
114
|
-
setSelected(id)
|
|
105
|
+
setOpen(true);
|
|
106
|
+
setSelected(id);
|
|
115
107
|
}
|
|
116
|
-
})
|
|
117
|
-
}
|
|
108
|
+
});
|
|
109
|
+
};
|
|
118
110
|
|
|
119
111
|
useEffect(() => {
|
|
120
|
-
setOpen(false)
|
|
121
|
-
setSelected(null)
|
|
122
|
-
if (openMini) setAnchorEl(null)
|
|
112
|
+
setOpen(false);
|
|
113
|
+
setSelected(null);
|
|
114
|
+
if (openMini) setAnchorEl(null);
|
|
123
115
|
if (menu.children) {
|
|
124
116
|
menu.children.forEach((item) => {
|
|
125
117
|
if (item.children?.length) {
|
|
126
|
-
checkOpenForParent(item.children, menu.id)
|
|
118
|
+
checkOpenForParent(item.children, menu.id);
|
|
127
119
|
}
|
|
128
120
|
if (item.url === pathname) {
|
|
129
|
-
setSelected(menu.id)
|
|
130
|
-
setOpen(true)
|
|
121
|
+
setSelected(menu.id);
|
|
122
|
+
setOpen(true);
|
|
131
123
|
}
|
|
132
124
|
if (pathname.includes(item.url)) {
|
|
133
|
-
setSelected(menu.id)
|
|
134
|
-
setOpen(true)
|
|
125
|
+
setSelected(menu.id);
|
|
126
|
+
setOpen(true);
|
|
135
127
|
}
|
|
136
|
-
})
|
|
128
|
+
});
|
|
137
129
|
}
|
|
138
130
|
|
|
139
131
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
140
|
-
}, [pathname, menu.children])
|
|
132
|
+
}, [pathname, menu.children]);
|
|
141
133
|
|
|
142
134
|
useEffect(() => {
|
|
143
135
|
if (menu.url === pathname && selected !== menu.id) {
|
|
144
|
-
activeItem([menu.id])
|
|
145
|
-
setSelected(menu.id)
|
|
146
|
-
setAnchorEl(null)
|
|
147
|
-
setOpen(true)
|
|
136
|
+
activeItem([menu.id]);
|
|
137
|
+
setSelected(menu.id);
|
|
138
|
+
setAnchorEl(null);
|
|
139
|
+
setOpen(true);
|
|
148
140
|
}
|
|
149
|
-
}, [pathname, menu, selected, activeItem])
|
|
141
|
+
}, [pathname, menu, selected, activeItem]);
|
|
150
142
|
|
|
151
143
|
const navCollapse = menu.children?.map((item) => {
|
|
152
144
|
switch (item.type) {
|
|
@@ -162,38 +154,31 @@ const NavCollapse = ({
|
|
|
162
154
|
level={level + 1}
|
|
163
155
|
parentId={parentId}
|
|
164
156
|
/>
|
|
165
|
-
)
|
|
157
|
+
);
|
|
166
158
|
case 'item':
|
|
167
|
-
return <NavItem key={item.id} item={item} level={level + 1}
|
|
159
|
+
return <NavItem key={item.id} item={item} level={level + 1} />;
|
|
168
160
|
default:
|
|
169
161
|
return (
|
|
170
162
|
<Typography key={item.id} variant="h6" color="error" align="center">
|
|
171
163
|
Fix - Collapse or Item
|
|
172
164
|
</Typography>
|
|
173
|
-
)
|
|
165
|
+
);
|
|
174
166
|
}
|
|
175
|
-
})
|
|
167
|
+
});
|
|
176
168
|
|
|
177
|
-
const isSelected = selected === menu.id
|
|
178
|
-
const borderIcon = level === 1 ? <BorderOutlined style={{ fontSize: '1rem' }} /> : false
|
|
179
|
-
const Icon = menu.icon
|
|
180
|
-
const menuIcon = menu.icon ?
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
)
|
|
185
|
-
const textColor = theme.palette.mode === 'dark' ? 'grey.400' : 'text.primary'
|
|
186
|
-
const iconSelectedColor =
|
|
187
|
-
theme.palette.mode === 'dark' && drawerOpen
|
|
188
|
-
? theme.palette.text.primary
|
|
189
|
-
: theme.palette.primary.main
|
|
190
|
-
const popperId = openMini ? `collapse-pop-${menu.id}` : undefined
|
|
169
|
+
const isSelected = selected === menu.id;
|
|
170
|
+
const borderIcon = level === 1 ? <BorderOutlined style={{ fontSize: '1rem' }} /> : false;
|
|
171
|
+
const Icon = menu.icon;
|
|
172
|
+
const menuIcon = menu.icon ? <Icon style={{ fontSize: drawerOpen ? '1rem' : '1.25rem' }} /> : borderIcon;
|
|
173
|
+
const textColor = theme.palette.mode === 'dark' ? 'grey.400' : 'text.primary';
|
|
174
|
+
const iconSelectedColor = theme.palette.mode === 'dark' && drawerOpen ? theme.palette.text.primary : theme.palette.primary.main;
|
|
175
|
+
const popperId = openMini ? `collapse-pop-${menu.id}` : undefined;
|
|
191
176
|
const FlexBox = {
|
|
192
177
|
display: 'flex',
|
|
193
178
|
justifyContent: 'space-between',
|
|
194
179
|
alignItems: 'center',
|
|
195
|
-
width: '100%'
|
|
196
|
-
}
|
|
180
|
+
width: '100%'
|
|
181
|
+
};
|
|
197
182
|
|
|
198
183
|
return (
|
|
199
184
|
<>
|
|
@@ -209,28 +194,28 @@ const NavCollapse = ({
|
|
|
209
194
|
py: !drawerOpen && level === 1 ? 1.25 : 1,
|
|
210
195
|
...(drawerOpen && {
|
|
211
196
|
'&:hover': {
|
|
212
|
-
bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'primary.lighter'
|
|
197
|
+
bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'primary.lighter'
|
|
213
198
|
},
|
|
214
199
|
'&.Mui-selected': {
|
|
215
200
|
bgcolor: 'transparent',
|
|
216
201
|
color: iconSelectedColor,
|
|
217
202
|
'&:hover': {
|
|
218
203
|
color: iconSelectedColor,
|
|
219
|
-
bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'transparent'
|
|
220
|
-
}
|
|
221
|
-
}
|
|
204
|
+
bgcolor: theme.palette.mode === 'dark' ? 'divider' : 'transparent'
|
|
205
|
+
}
|
|
206
|
+
}
|
|
222
207
|
}),
|
|
223
208
|
...(!drawerOpen && {
|
|
224
209
|
'&:hover': {
|
|
225
|
-
bgcolor: 'transparent'
|
|
210
|
+
bgcolor: 'transparent'
|
|
226
211
|
},
|
|
227
212
|
'&.Mui-selected': {
|
|
228
213
|
'&:hover': {
|
|
229
|
-
bgcolor: 'transparent'
|
|
214
|
+
bgcolor: 'transparent'
|
|
230
215
|
},
|
|
231
|
-
bgcolor: 'transparent'
|
|
232
|
-
}
|
|
233
|
-
})
|
|
216
|
+
bgcolor: 'transparent'
|
|
217
|
+
}
|
|
218
|
+
})
|
|
234
219
|
}}
|
|
235
220
|
>
|
|
236
221
|
{menuIcon && (
|
|
@@ -246,18 +231,16 @@ const NavCollapse = ({
|
|
|
246
231
|
alignItems: 'center',
|
|
247
232
|
justifyContent: 'center',
|
|
248
233
|
'&:hover': {
|
|
249
|
-
bgcolor:
|
|
250
|
-
|
|
251
|
-
},
|
|
234
|
+
bgcolor: theme.palette.mode === 'dark' ? 'secondary.light' : 'secondary.lighter'
|
|
235
|
+
}
|
|
252
236
|
}),
|
|
253
237
|
...(!drawerOpen &&
|
|
254
238
|
selected === menu.id && {
|
|
255
239
|
bgcolor: theme.palette.mode === 'dark' ? 'primary.900' : 'primary.lighter',
|
|
256
240
|
'&:hover': {
|
|
257
|
-
bgcolor:
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
}),
|
|
241
|
+
bgcolor: theme.palette.mode === 'dark' ? 'primary.darker' : 'primary.lighter'
|
|
242
|
+
}
|
|
243
|
+
})
|
|
261
244
|
}}
|
|
262
245
|
>
|
|
263
246
|
{menuIcon}
|
|
@@ -281,9 +264,7 @@ const NavCollapse = ({
|
|
|
281
264
|
)}
|
|
282
265
|
{(drawerOpen || (!drawerOpen && level !== 1)) &&
|
|
283
266
|
(openMini || open ? (
|
|
284
|
-
<UpOutlined
|
|
285
|
-
style={{ fontSize: '0.625rem', marginLeft: 1, color: theme.palette.primary.main }}
|
|
286
|
-
/>
|
|
267
|
+
<UpOutlined style={{ fontSize: '0.625rem', marginLeft: 1, color: theme.palette.primary.main }} />
|
|
287
268
|
) : (
|
|
288
269
|
<DownOutlined style={{ fontSize: '0.625rem', marginLeft: 1 }} />
|
|
289
270
|
))}
|
|
@@ -294,17 +275,17 @@ const NavCollapse = ({
|
|
|
294
275
|
anchorEl={anchorEl}
|
|
295
276
|
placement="right-start"
|
|
296
277
|
style={{
|
|
297
|
-
zIndex: 2001
|
|
278
|
+
zIndex: 2001
|
|
298
279
|
}}
|
|
299
280
|
popperOptions={{
|
|
300
281
|
modifiers: [
|
|
301
282
|
{
|
|
302
283
|
name: 'offset',
|
|
303
284
|
options: {
|
|
304
|
-
offset: [-12, 1]
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
]
|
|
285
|
+
offset: [-12, 1]
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
]
|
|
308
289
|
}}
|
|
309
290
|
>
|
|
310
291
|
{({ TransitionProps }) => (
|
|
@@ -315,7 +296,7 @@ const NavCollapse = ({
|
|
|
315
296
|
mt: 1.5,
|
|
316
297
|
boxShadow: theme.customShadows.z1,
|
|
317
298
|
backgroundImage: 'none',
|
|
318
|
-
border: `1px solid ${theme.palette.divider}
|
|
299
|
+
border: `1px solid ${theme.palette.divider}`
|
|
319
300
|
}}
|
|
320
301
|
>
|
|
321
302
|
<ClickAwayListener onClickAway={handleClose}>
|
|
@@ -345,8 +326,8 @@ const NavCollapse = ({
|
|
|
345
326
|
aria-describedby={popperId}
|
|
346
327
|
sx={{
|
|
347
328
|
'&.Mui-selected': {
|
|
348
|
-
bgcolor: 'transparent'
|
|
349
|
-
}
|
|
329
|
+
bgcolor: 'transparent'
|
|
330
|
+
}
|
|
350
331
|
}}
|
|
351
332
|
>
|
|
352
333
|
<Box onClick={handlerIconLink} sx={FlexBox}>
|
|
@@ -355,7 +336,7 @@ const NavCollapse = ({
|
|
|
355
336
|
sx={{
|
|
356
337
|
my: 'auto',
|
|
357
338
|
minWidth: !menu.icon ? 18 : 36,
|
|
358
|
-
color: theme.palette.secondary.dark
|
|
339
|
+
color: theme.palette.secondary.dark
|
|
359
340
|
}}
|
|
360
341
|
>
|
|
361
342
|
{menuIcon}
|
|
@@ -367,7 +348,7 @@ const NavCollapse = ({
|
|
|
367
348
|
my: 'auto',
|
|
368
349
|
minWidth: !menu.icon ? 18 : 36,
|
|
369
350
|
bgcolor: 'transparent',
|
|
370
|
-
'&:hover': { bgcolor: 'transparent' }
|
|
351
|
+
'&:hover': { bgcolor: 'transparent' }
|
|
371
352
|
}}
|
|
372
353
|
>
|
|
373
354
|
<Dot size={4} color={isSelected ? 'primary' : 'secondary'} />
|
|
@@ -390,15 +371,15 @@ const NavCollapse = ({
|
|
|
390
371
|
anchorEl={anchorEl}
|
|
391
372
|
placement="right-start"
|
|
392
373
|
style={{
|
|
393
|
-
zIndex: 2001
|
|
374
|
+
zIndex: 2001
|
|
394
375
|
}}
|
|
395
376
|
modifiers={[
|
|
396
377
|
{
|
|
397
378
|
name: 'offset',
|
|
398
379
|
options: {
|
|
399
|
-
offset: [-10, 0]
|
|
400
|
-
}
|
|
401
|
-
}
|
|
380
|
+
offset: [-10, 0]
|
|
381
|
+
}
|
|
382
|
+
}
|
|
402
383
|
]}
|
|
403
384
|
>
|
|
404
385
|
{({ TransitionProps }) => (
|
|
@@ -409,7 +390,7 @@ const NavCollapse = ({
|
|
|
409
390
|
mt: 1.5,
|
|
410
391
|
py: 0.5,
|
|
411
392
|
boxShadow: theme.shadows[8],
|
|
412
|
-
backgroundImage: 'none'
|
|
393
|
+
backgroundImage: 'none'
|
|
413
394
|
}}
|
|
414
395
|
>
|
|
415
396
|
<ClickAwayListener onClickAway={handleClose}>
|
|
@@ -424,8 +405,8 @@ const NavCollapse = ({
|
|
|
424
405
|
</>
|
|
425
406
|
)}
|
|
426
407
|
</>
|
|
427
|
-
)
|
|
428
|
-
}
|
|
408
|
+
);
|
|
409
|
+
};
|
|
429
410
|
|
|
430
411
|
NavCollapse.propTypes = {
|
|
431
412
|
menu: PropTypes.object,
|
|
@@ -434,7 +415,7 @@ NavCollapse.propTypes = {
|
|
|
434
415
|
setSelectedItems: PropTypes.func,
|
|
435
416
|
selectedItems: PropTypes.string,
|
|
436
417
|
setSelectedLevel: PropTypes.func,
|
|
437
|
-
selectedLevel: PropTypes.number
|
|
438
|
-
}
|
|
418
|
+
selectedLevel: PropTypes.number
|
|
419
|
+
};
|
|
439
420
|
|
|
440
|
-
export default NavCollapse
|
|
421
|
+
export default NavCollapse;
|