@campxdev/shared 1.1.4 → 1.1.6

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 (215) hide show
  1. package/antd.customize.less +73 -73
  2. package/exports.ts +17 -17
  3. package/package.json +82 -82
  4. package/src/assets/fonts/avenir/index.ts +2 -2
  5. package/src/assets/fonts/poppins/index.ts +7 -7
  6. package/src/assets/images/index.ts +17 -17
  7. package/src/assets/images/unauth.svg +92 -92
  8. package/src/components/ActionButton.tsx +28 -28
  9. package/src/components/Attachment.tsx +26 -26
  10. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
  11. package/src/components/AutocompleteSearch/index.tsx +1 -1
  12. package/src/components/Breadcrumbs.tsx +72 -72
  13. package/src/components/Card.tsx +98 -98
  14. package/src/components/CardsGrid.tsx +28 -28
  15. package/src/components/ChangePassword.tsx +164 -164
  16. package/src/components/Chips.tsx +81 -81
  17. package/src/components/Detail.tsx +15 -15
  18. package/src/components/DetailsGrid.tsx +52 -52
  19. package/src/components/DividerHeading.tsx +41 -41
  20. package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -67
  21. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  22. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  23. package/src/components/DropDownButton.tsx +194 -194
  24. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  25. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  26. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  27. package/src/components/ErrorBoundary/index.tsx +1 -1
  28. package/src/components/ErrorBox.tsx +42 -42
  29. package/src/components/FloatingContainer.tsx +33 -33
  30. package/src/components/Form/Form.tsx +156 -156
  31. package/src/components/Form/RenderForm.tsx +188 -188
  32. package/src/components/FullCalendar/Actions.tsx +162 -162
  33. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  34. package/src/components/FullScreenLoader.tsx +19 -19
  35. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  36. package/src/components/HookForm/DatePicker.tsx +65 -65
  37. package/src/components/HookForm/DateTimePicker.tsx +70 -70
  38. package/src/components/HookForm/FormLabel.tsx +14 -14
  39. package/src/components/HookForm/MultiCheckbox.tsx +82 -82
  40. package/src/components/HookForm/MultiSelect.tsx +100 -100
  41. package/src/components/HookForm/RadioGroup.tsx +106 -106
  42. package/src/components/HookForm/SingleCheckbox.tsx +46 -46
  43. package/src/components/HookForm/SingleSelect.tsx +94 -94
  44. package/src/components/HookForm/TextField.tsx +74 -74
  45. package/src/components/HookForm/TimePicker.tsx +82 -82
  46. package/src/components/HookForm/index.ts +23 -23
  47. package/src/components/IconButtons/IconButtons.tsx +137 -137
  48. package/src/components/IconButtons/Icons.tsx +268 -268
  49. package/src/components/IconButtons/assets/edit.svg +4 -4
  50. package/src/components/IconButtons/assets/eye.svg +6 -6
  51. package/src/components/IconButtons/assets/trash.svg +7 -7
  52. package/src/components/IconButtons/index.tsx +8 -8
  53. package/src/components/IconLabel.tsx +37 -37
  54. package/src/components/Image/Image.tsx +43 -43
  55. package/src/components/Image/index.tsx +1 -1
  56. package/src/components/ImageUpload.tsx +98 -98
  57. package/src/components/Input/AutoCompleteSearch.tsx +113 -113
  58. package/src/components/Input/DatePicker.tsx +60 -60
  59. package/src/components/Input/DateRangePicker.tsx +131 -131
  60. package/src/components/Input/DateTimePicker.tsx +70 -70
  61. package/src/components/Input/FormLabel.tsx +14 -14
  62. package/src/components/Input/MultiCheckbox.tsx +79 -79
  63. package/src/components/Input/MultiSelect.tsx +52 -52
  64. package/src/components/Input/RadioGroup.tsx +61 -61
  65. package/src/components/Input/SingleCheckbox.tsx +23 -23
  66. package/src/components/Input/SingleSelect.tsx +126 -126
  67. package/src/components/Input/TextField.tsx +50 -50
  68. package/src/components/Input/TimePicker.tsx +82 -82
  69. package/src/components/Input/index.ts +26 -26
  70. package/src/components/JsonPreview/JsonPreview.tsx +7 -7
  71. package/src/components/JsonPreview/index.tsx +1 -1
  72. package/src/components/LabelValue/LabelValue.tsx +21 -21
  73. package/src/components/LabelValue/index.tsx +1 -1
  74. package/src/components/Layout/ChangePassword.tsx +49 -49
  75. package/src/components/Layout/Header/AppHeader.tsx +124 -124
  76. package/src/components/Layout/Header/AppsMenu.tsx +92 -92
  77. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  78. package/src/components/Layout/Header/HelpWidget/HelpWidget.tsx +299 -298
  79. package/src/components/Layout/Header/HelpWidget/styles.tsx +94 -94
  80. package/src/components/Layout/Header/Notification.tsx +13 -13
  81. package/src/components/Layout/Header/UserBox.tsx +91 -91
  82. package/src/components/Layout/Header/applications.ts +90 -90
  83. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  84. package/src/components/Layout/Header/assets/commuteX.png +0 -0
  85. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  86. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  87. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  88. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  89. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  90. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  91. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  92. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  93. package/src/components/Layout/Header/assets/index.ts +33 -33
  94. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  95. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  96. package/src/components/Layout/Header/assets/payx.svg +19 -19
  97. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  98. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  99. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  100. package/src/components/Layout/Header/icons.tsx +57 -57
  101. package/src/components/Layout/Header/index.tsx +1 -1
  102. package/src/components/Layout/Header/styles.tsx +98 -98
  103. package/src/components/Layout/Tickets/MyTickets.tsx +76 -74
  104. package/src/components/Layout/Tickets/Services.tsx +6 -6
  105. package/src/components/Layout/Tickets/TicketDetails.tsx +66 -66
  106. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  107. package/src/components/Layout/Tickets/index.tsx +1 -1
  108. package/src/components/Layout/Tickets/styles.tsx +136 -136
  109. package/src/components/LayoutWrapper.tsx +25 -25
  110. package/src/components/LinearProgress.tsx +19 -19
  111. package/src/components/ListItemButton.tsx +95 -95
  112. package/src/components/LoginForm.tsx +105 -105
  113. package/src/components/MediaRow/MediaRow.tsx +69 -69
  114. package/src/components/MediaRow/index.tsx +1 -1
  115. package/src/components/MenuButton.tsx +103 -103
  116. package/src/components/ModalButtons/DialogButton.tsx +88 -88
  117. package/src/components/ModalButtons/DrawerButton.tsx +89 -89
  118. package/src/components/ModalButtons/index.tsx +4 -4
  119. package/src/components/NoDataIllustration/NoDataIllustration.tsx +32 -32
  120. package/src/components/NoDataIllustration/index.tsx +1 -1
  121. package/src/components/PageContent.tsx +17 -17
  122. package/src/components/PageHeader.tsx +52 -52
  123. package/src/components/PageNotFound.tsx +26 -26
  124. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  125. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  126. package/src/components/PopupConfirm/index.tsx +1 -1
  127. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  128. package/src/components/Router.tsx +7 -7
  129. package/src/components/Row/Row.tsx +24 -24
  130. package/src/components/Row/index.tsx +1 -1
  131. package/src/components/SearchBar/SearchBar.tsx +53 -53
  132. package/src/components/SearchBar/index.tsx +1 -1
  133. package/src/components/SideMenuHeader.tsx +29 -29
  134. package/src/components/SideNav.tsx +168 -168
  135. package/src/components/Spinner.tsx +18 -18
  136. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  137. package/src/components/StepsHeader/index.tsx +1 -1
  138. package/src/components/StyledTableContainer.tsx +33 -33
  139. package/src/components/SwitchButton/SwitchButton.tsx +41 -41
  140. package/src/components/SwitchButton/index.tsx +1 -1
  141. package/src/components/Table.tsx +42 -42
  142. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  143. package/src/components/TableComponent/Icons/index.tsx +50 -50
  144. package/src/components/TableComponent/ReactTable.tsx +293 -293
  145. package/src/components/TableComponent/RenderTableBody.tsx +64 -64
  146. package/src/components/TableComponent/TableFooter/TableFooter.tsx +102 -102
  147. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  148. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  149. package/src/components/TableComponent/index.tsx +226 -226
  150. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  151. package/src/components/TableComponent/styles.tsx +173 -173
  152. package/src/components/TableComponent/types.ts +57 -57
  153. package/src/components/Tabs/Tabs.tsx +52 -52
  154. package/src/components/Tabs/TabsContainer.tsx +50 -50
  155. package/src/components/Tabs/index.tsx +1 -1
  156. package/src/components/Tabs/styles.tsx +55 -55
  157. package/src/components/ToastContainer/ToastContainer.tsx +42 -42
  158. package/src/components/ToastContainer/index.tsx +1 -1
  159. package/src/components/UploadButton/UploadButton.tsx +126 -126
  160. package/src/components/UploadButton/index.tsx +1 -1
  161. package/src/components/UploadButton/types.ts +19 -19
  162. package/src/components/UploadDocument/UploadDocument.tsx +108 -108
  163. package/src/components/UploadDocument/index.tsx +1 -1
  164. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  165. package/src/components/UploadFileDialog/index.tsx +1 -1
  166. package/src/components/index.ts +86 -86
  167. package/src/config/axios.ts +74 -74
  168. package/src/config/axiosXTenant.ts +57 -57
  169. package/src/constants/UIConstants.ts +97 -97
  170. package/src/constants/formValidations.ts +6 -6
  171. package/src/constants/index.ts +5 -5
  172. package/src/constants/isDevelopment.ts +3 -3
  173. package/src/constants/permissions.ts +67 -67
  174. package/src/constants/validateMessages.ts +12 -12
  175. package/src/contexts/LoginFormProvider.tsx +39 -39
  176. package/src/contexts/Providers.tsx +60 -60
  177. package/src/contexts/PublicProviders.tsx +30 -30
  178. package/src/contexts/QueryClientProvider.tsx +22 -22
  179. package/src/hooks/index.ts +3 -3
  180. package/src/hooks/useAppInit.ts +33 -33
  181. package/src/hooks/useAuth.ts +96 -96
  182. package/src/hooks/useFetch.ts +53 -53
  183. package/src/hooks/useRouter.ts +31 -31
  184. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  185. package/src/layouts/Components/icons/index.tsx +403 -403
  186. package/src/layouts/Components/styles.tsx +60 -60
  187. package/src/layouts/ComponentsLayout.tsx +3 -3
  188. package/src/permissions/PageWithPermission.tsx +18 -18
  189. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  190. package/src/permissions/ValidateAccess.tsx +18 -18
  191. package/src/permissions/index.ts +2 -2
  192. package/src/react-app-env.d.ts +1 -1
  193. package/src/shared-state/AssetsStore.ts +15 -15
  194. package/src/shared-state/PermissionsStore.ts +352 -352
  195. package/src/shared-state/UserStore.ts +13 -13
  196. package/src/shared-state/index.ts +4 -4
  197. package/src/theme/App.less +3 -3
  198. package/src/theme/MuiThemeProvider.tsx +13 -13
  199. package/src/theme/customCssBaseline.ts +78 -78
  200. package/src/theme/index.css +75 -75
  201. package/src/theme/muiTheme.ts +490 -490
  202. package/src/theme/theme.d.ts +75 -75
  203. package/src/utils/alphabet.ts +23 -23
  204. package/src/utils/arrayPadEnd.ts +3 -3
  205. package/src/utils/formatCurrency.ts +9 -9
  206. package/src/utils/getUrlParams.ts +5 -5
  207. package/src/utils/index.ts +8 -8
  208. package/src/utils/logout.ts +24 -24
  209. package/src/utils/ordinalSuffixOf.ts +14 -14
  210. package/src/utils/romanize.ts +40 -40
  211. package/src/utils/withLocalization.tsx +11 -11
  212. package/src/utils/withRouteWrapper.tsx +25 -25
  213. package/src/utils/withSuspense.tsx +6 -6
  214. package/styled-components.tsx +60 -60
  215. package/tsconfig.json +21 -21
@@ -1,88 +1,88 @@
1
- import { Close } from '@mui/icons-material'
2
- import {
3
- alpha,
4
- Box,
5
- ButtonProps,
6
- Dialog,
7
- DialogProps,
8
- IconButton,
9
- styled,
10
- Typography,
11
- } from '@mui/material'
12
- import { createElement, ReactNode, useState } from 'react'
13
-
14
- const StyledDialogHeader = styled(Box)(({ theme }) => ({
15
- height: '64px',
16
- backgroundColor: alpha(theme.palette.text.secondary, 0.1),
17
- display: 'flex',
18
- justifyContent: 'space-between',
19
- alignItems: 'center',
20
- padding: '0.6rem 1rem',
21
- }))
22
-
23
- const StyledDialogContent = styled(Box)(({ theme }) => ({
24
- width: '100%',
25
- padding: '1rem',
26
- }))
27
-
28
- type ContentProps = {
29
- close: () => void
30
- }
31
-
32
- interface DrawerButtonProps {
33
- button: any
34
- content: (props: ContentProps) => ReactNode
35
- title: string | ReactNode
36
- btnTxt?: string | ReactNode
37
- btnProps?: ButtonProps
38
- dialogProps?: Omit<DialogProps, 'open'>
39
- onDialogClose?: () => void
40
- }
41
-
42
- export default function DialogButton({
43
- button: Button,
44
- content,
45
- title,
46
- btnTxt,
47
- btnProps,
48
- dialogProps,
49
- onDialogClose,
50
- }: DrawerButtonProps) {
51
- const [open, setOpen] = useState(false)
52
-
53
- const ButtonEl = (props) => (
54
- <Button {...props} {...btnProps} sx={{ fontSize: '14px', fontWeight: 600 }}>
55
- {btnTxt}
56
- </Button>
57
- )
58
-
59
- const MyButton = createElement(ButtonEl, {
60
- onClick: () => setOpen(true),
61
- })
62
-
63
- const onClose = () => {
64
- onDialogClose && onDialogClose()
65
- setOpen(false)
66
- }
67
- return (
68
- <>
69
- {MyButton}
70
- <Dialog
71
- PaperProps={{ sx: { borderRadius: '10px' } }}
72
- fullWidth
73
- onClose={onClose}
74
- open={open}
75
- transitionDuration={200}
76
- {...dialogProps}
77
- >
78
- <StyledDialogHeader>
79
- <Typography fontWeight={600}>{title}</Typography>
80
- <IconButton onClick={onClose}>
81
- <Close />
82
- </IconButton>
83
- </StyledDialogHeader>
84
- <StyledDialogContent>{content({ close: onClose })}</StyledDialogContent>
85
- </Dialog>
86
- </>
87
- )
88
- }
1
+ import { Close } from '@mui/icons-material'
2
+ import {
3
+ alpha,
4
+ Box,
5
+ ButtonProps,
6
+ Dialog,
7
+ DialogProps,
8
+ IconButton,
9
+ styled,
10
+ Typography,
11
+ } from '@mui/material'
12
+ import { createElement, ReactNode, useState } from 'react'
13
+
14
+ const StyledDialogHeader = styled(Box)(({ theme }) => ({
15
+ height: '64px',
16
+ backgroundColor: alpha(theme.palette.text.secondary, 0.1),
17
+ display: 'flex',
18
+ justifyContent: 'space-between',
19
+ alignItems: 'center',
20
+ padding: '0.6rem 1rem',
21
+ }))
22
+
23
+ const StyledDialogContent = styled(Box)(({ theme }) => ({
24
+ width: '100%',
25
+ padding: '1rem',
26
+ }))
27
+
28
+ type ContentProps = {
29
+ close: () => void
30
+ }
31
+
32
+ interface DrawerButtonProps {
33
+ button: any
34
+ content: (props: ContentProps) => ReactNode
35
+ title: string | ReactNode
36
+ btnTxt?: string | ReactNode
37
+ btnProps?: ButtonProps
38
+ dialogProps?: Omit<DialogProps, 'open'>
39
+ onDialogClose?: () => void
40
+ }
41
+
42
+ export default function DialogButton({
43
+ button: Button,
44
+ content,
45
+ title,
46
+ btnTxt,
47
+ btnProps,
48
+ dialogProps,
49
+ onDialogClose,
50
+ }: DrawerButtonProps) {
51
+ const [open, setOpen] = useState(false)
52
+
53
+ const ButtonEl = (props) => (
54
+ <Button {...props} {...btnProps} sx={{ fontSize: '14px', fontWeight: 600 }}>
55
+ {btnTxt}
56
+ </Button>
57
+ )
58
+
59
+ const MyButton = createElement(ButtonEl, {
60
+ onClick: () => setOpen(true),
61
+ })
62
+
63
+ const onClose = () => {
64
+ onDialogClose && onDialogClose()
65
+ setOpen(false)
66
+ }
67
+ return (
68
+ <>
69
+ {MyButton}
70
+ <Dialog
71
+ PaperProps={{ sx: { borderRadius: '10px' } }}
72
+ fullWidth
73
+ onClose={onClose}
74
+ open={open}
75
+ transitionDuration={200}
76
+ {...dialogProps}
77
+ >
78
+ <StyledDialogHeader>
79
+ <Typography fontWeight={600}>{title}</Typography>
80
+ <IconButton onClick={onClose}>
81
+ <Close />
82
+ </IconButton>
83
+ </StyledDialogHeader>
84
+ <StyledDialogContent>{content({ close: onClose })}</StyledDialogContent>
85
+ </Dialog>
86
+ </>
87
+ )
88
+ }
@@ -1,89 +1,89 @@
1
- import { Close } from '@mui/icons-material'
2
- import {
3
- alpha,
4
- Box,
5
- ButtonProps,
6
- Drawer,
7
- IconButton,
8
- styled,
9
- Typography,
10
- } from '@mui/material'
11
- import { createElement, ReactNode, useState } from 'react'
12
-
13
- const StyledDrawerHeader = styled(Box)(({ theme }) => ({
14
- height: '64px',
15
- backgroundColor: alpha(theme.palette.text.secondary, 0.1),
16
- display: 'flex',
17
- justifyContent: 'space-between',
18
- alignItems: 'center',
19
- padding: '0.6rem 1rem',
20
- }))
21
-
22
- const StyledDrawerContent = styled(Box)(({ theme }) => ({
23
- padding: '1rem',
24
- height: 'calc(100vh - 64px)',
25
- overflowY: 'auto',
26
- paddingBottom: '4rem',
27
- }))
28
-
29
- type ContentProps = {
30
- close: () => void
31
- }
32
-
33
- interface DrawerButtonProps {
34
- button: any
35
- content: (props: ContentProps) => ReactNode
36
- title: string | ReactNode
37
- btnTxt?: string | ReactNode
38
- btnProps?: ButtonProps
39
- }
40
-
41
- export default function DrawerButton({
42
- button: Button,
43
- content,
44
- title,
45
- btnTxt,
46
- btnProps,
47
- }: DrawerButtonProps) {
48
- const [open, setOpen] = useState(false)
49
-
50
- const ButtonEl = (props) => (
51
- <Button {...props} {...btnProps} sx={{ fontSize: '14px', fontWeight: 600 }}>
52
- {btnTxt}
53
- </Button>
54
- )
55
-
56
- const MyButton = createElement(ButtonEl, {
57
- onClick: () => setOpen(true),
58
- })
59
-
60
- const onClose = () => {
61
- setOpen(false)
62
- }
63
- return (
64
- <>
65
- {MyButton}
66
- <Drawer
67
- anchor="right"
68
- elevation={10}
69
- onClose={onClose}
70
- open={open}
71
- sx={{
72
- zIndex: 500,
73
- '& .MuiDrawer-paper': {
74
- boxSizing: 'border-box',
75
- width: 600,
76
- },
77
- }}
78
- >
79
- <StyledDrawerHeader>
80
- <Typography fontWeight={600}>{title}</Typography>
81
- <IconButton onClick={onClose}>
82
- <Close />
83
- </IconButton>
84
- </StyledDrawerHeader>
85
- <StyledDrawerContent>{content({ close: onClose })}</StyledDrawerContent>
86
- </Drawer>
87
- </>
88
- )
89
- }
1
+ import { Close } from '@mui/icons-material'
2
+ import {
3
+ alpha,
4
+ Box,
5
+ ButtonProps,
6
+ Drawer,
7
+ IconButton,
8
+ styled,
9
+ Typography,
10
+ } from '@mui/material'
11
+ import { createElement, ReactNode, useState } from 'react'
12
+
13
+ const StyledDrawerHeader = styled(Box)(({ theme }) => ({
14
+ height: '64px',
15
+ backgroundColor: alpha(theme.palette.text.secondary, 0.1),
16
+ display: 'flex',
17
+ justifyContent: 'space-between',
18
+ alignItems: 'center',
19
+ padding: '0.6rem 1rem',
20
+ }))
21
+
22
+ const StyledDrawerContent = styled(Box)(({ theme }) => ({
23
+ padding: '1rem',
24
+ height: 'calc(100vh - 64px)',
25
+ overflowY: 'auto',
26
+ paddingBottom: '4rem',
27
+ }))
28
+
29
+ type ContentProps = {
30
+ close: () => void
31
+ }
32
+
33
+ interface DrawerButtonProps {
34
+ button: any
35
+ content: (props: ContentProps) => ReactNode
36
+ title: string | ReactNode
37
+ btnTxt?: string | ReactNode
38
+ btnProps?: ButtonProps
39
+ }
40
+
41
+ export default function DrawerButton({
42
+ button: Button,
43
+ content,
44
+ title,
45
+ btnTxt,
46
+ btnProps,
47
+ }: DrawerButtonProps) {
48
+ const [open, setOpen] = useState(false)
49
+
50
+ const ButtonEl = (props) => (
51
+ <Button {...props} {...btnProps} sx={{ fontSize: '14px', fontWeight: 600 }}>
52
+ {btnTxt}
53
+ </Button>
54
+ )
55
+
56
+ const MyButton = createElement(ButtonEl, {
57
+ onClick: () => setOpen(true),
58
+ })
59
+
60
+ const onClose = () => {
61
+ setOpen(false)
62
+ }
63
+ return (
64
+ <>
65
+ {MyButton}
66
+ <Drawer
67
+ anchor="right"
68
+ elevation={10}
69
+ onClose={onClose}
70
+ open={open}
71
+ sx={{
72
+ zIndex: 500,
73
+ '& .MuiDrawer-paper': {
74
+ boxSizing: 'border-box',
75
+ width: 600,
76
+ },
77
+ }}
78
+ >
79
+ <StyledDrawerHeader>
80
+ <Typography fontWeight={600}>{title}</Typography>
81
+ <IconButton onClick={onClose}>
82
+ <Close />
83
+ </IconButton>
84
+ </StyledDrawerHeader>
85
+ <StyledDrawerContent>{content({ close: onClose })}</StyledDrawerContent>
86
+ </Drawer>
87
+ </>
88
+ )
89
+ }
@@ -1,4 +1,4 @@
1
- import DialogButton from './DialogButton'
2
- import DrawerButton from './DrawerButton'
3
-
4
- export { DialogButton, DrawerButton }
1
+ import DialogButton from './DialogButton'
2
+ import DrawerButton from './DrawerButton'
3
+
4
+ export { DialogButton, DrawerButton }
@@ -1,32 +1,32 @@
1
- import { Box, Typography } from '@mui/material'
2
- import Image from '../Image'
3
- import { ReactNode } from 'react'
4
-
5
- interface Props {
6
- imageSrc: string
7
- height?: string
8
- message?: string | ReactNode
9
- }
10
-
11
- export default function NoData({
12
- imageSrc,
13
- height = '300px',
14
- message = 'No Data Found',
15
- }: Props) {
16
- return (
17
- <Box
18
- sx={{
19
- marginTop: '20px',
20
- }}
21
- >
22
- <Image alt="No Data Found" height={height} width="auto" src={imageSrc} />
23
- {typeof message === 'string' ? (
24
- <Typography marginTop={'20px'} textAlign={'center'}>
25
- {message}
26
- </Typography>
27
- ) : (
28
- <>{message}</>
29
- )}
30
- </Box>
31
- )
32
- }
1
+ import { Box, Typography } from '@mui/material'
2
+ import Image from '../Image'
3
+ import { ReactNode } from 'react'
4
+
5
+ interface Props {
6
+ imageSrc: string
7
+ height?: string
8
+ message?: string | ReactNode
9
+ }
10
+
11
+ export default function NoData({
12
+ imageSrc,
13
+ height = '300px',
14
+ message = 'No Data Found',
15
+ }: Props) {
16
+ return (
17
+ <Box
18
+ sx={{
19
+ marginTop: '20px',
20
+ }}
21
+ >
22
+ <Image alt="No Data Found" height={height} width="auto" src={imageSrc} />
23
+ {typeof message === 'string' ? (
24
+ <Typography marginTop={'20px'} textAlign={'center'}>
25
+ {message}
26
+ </Typography>
27
+ ) : (
28
+ <>{message}</>
29
+ )}
30
+ </Box>
31
+ )
32
+ }
@@ -1 +1 @@
1
- export { default } from './NoDataIllustration'
1
+ export { default } from './NoDataIllustration'
@@ -1,17 +1,17 @@
1
- import { Box, styled } from '@mui/material'
2
- import ErrorBoundary from './ErrorBoundary'
3
-
4
- const StyledPageContent = styled(Box)(() => ({
5
- paddingLeft: '25px',
6
- paddingRight: '25px',
7
- marginTop: '16px',
8
- paddingBottom: '3rem',
9
- }))
10
-
11
- export function PageContent(props) {
12
- return (
13
- <StyledPageContent style={props.style}>
14
- <ErrorBoundary>{props.children}</ErrorBoundary>
15
- </StyledPageContent>
16
- )
17
- }
1
+ import { Box, styled } from '@mui/material'
2
+ import ErrorBoundary from './ErrorBoundary'
3
+
4
+ const StyledPageContent = styled(Box)(() => ({
5
+ paddingLeft: '25px',
6
+ paddingRight: '25px',
7
+ marginTop: '16px',
8
+ paddingBottom: '3rem',
9
+ }))
10
+
11
+ export function PageContent(props) {
12
+ return (
13
+ <StyledPageContent style={props.style}>
14
+ <ErrorBoundary>{props.children}</ErrorBoundary>
15
+ </StyledPageContent>
16
+ )
17
+ }
@@ -1,52 +1,52 @@
1
- import { Box, styled, Typography } from '@mui/material'
2
- import { ReactNode } from 'react'
3
-
4
- interface PageHeaderProps {
5
- title: string | ReactNode
6
- subtitle?: string | ReactNode
7
- actions?: ReactNode
8
- noPadding?: boolean
9
- }
10
-
11
- const StyledBox = styled(Box, {
12
- shouldForwardProp: (prop) => prop !== 'noPadding',
13
- })<{ noPadding: boolean }>(({ theme, noPadding }) => ({
14
- minHeight: '40px',
15
- padding: noPadding ? 0 : '0 25px',
16
- display: 'flex',
17
- alignItems: 'center',
18
- justifyContent: 'space-between',
19
- margin: '1rem 0',
20
- flexWrap: 'wrap',
21
- '& .actions': {
22
- display: 'flex',
23
- gap: '1rem',
24
- alignItems: 'center',
25
- marginLeft: 'auto',
26
- },
27
- }))
28
-
29
- export default function PageHeader({
30
- title,
31
- subtitle,
32
- actions,
33
- noPadding = false,
34
- }: PageHeaderProps) {
35
- return (
36
- <StyledBox noPadding={noPadding}>
37
- <>
38
- {typeof title === 'string' ? (
39
- <Typography variant="h1">{title}</Typography>
40
- ) : (
41
- title
42
- )}
43
- {typeof subtitle === 'string' ? (
44
- <Typography>{subtitle}</Typography>
45
- ) : (
46
- <Box marginTop={'10px'}>{subtitle}</Box>
47
- )}
48
- </>
49
- <Box className="actions">{actions}</Box>
50
- </StyledBox>
51
- )
52
- }
1
+ import { Box, styled, Typography } from '@mui/material'
2
+ import { ReactNode } from 'react'
3
+
4
+ interface PageHeaderProps {
5
+ title: string | ReactNode
6
+ subtitle?: string | ReactNode
7
+ actions?: ReactNode
8
+ noPadding?: boolean
9
+ }
10
+
11
+ const StyledBox = styled(Box, {
12
+ shouldForwardProp: (prop) => prop !== 'noPadding',
13
+ })<{ noPadding: boolean }>(({ theme, noPadding }) => ({
14
+ minHeight: '40px',
15
+ padding: noPadding ? 0 : '0 25px',
16
+ display: 'flex',
17
+ alignItems: 'center',
18
+ justifyContent: 'space-between',
19
+ margin: '1rem 0',
20
+ flexWrap: 'wrap',
21
+ '& .actions': {
22
+ display: 'flex',
23
+ gap: '1rem',
24
+ alignItems: 'center',
25
+ marginLeft: 'auto',
26
+ },
27
+ }))
28
+
29
+ export default function PageHeader({
30
+ title,
31
+ subtitle,
32
+ actions,
33
+ noPadding = false,
34
+ }: PageHeaderProps) {
35
+ return (
36
+ <StyledBox noPadding={noPadding}>
37
+ <>
38
+ {typeof title === 'string' ? (
39
+ <Typography variant="h1">{title}</Typography>
40
+ ) : (
41
+ title
42
+ )}
43
+ {typeof subtitle === 'string' ? (
44
+ <Typography>{subtitle}</Typography>
45
+ ) : (
46
+ <Box marginTop={'10px'}>{subtitle}</Box>
47
+ )}
48
+ </>
49
+ <Box className="actions">{actions}</Box>
50
+ </StyledBox>
51
+ )
52
+ }
@@ -1,26 +1,26 @@
1
- import { Box, Button, Typography } from '@mui/material'
2
- import axios from 'axios'
3
- import React, { useEffect, useState } from 'react'
4
- import { pagenotfound } from '../assets/images'
5
-
6
- function PageNotFound() {
7
- return (
8
- <>
9
- <Box
10
- sx={{
11
- width: '100%',
12
- display: 'flex',
13
- flexDirection: 'column',
14
- alignItems: 'center',
15
- justifyContent: 'center',
16
- marginTop: '50px',
17
- }}
18
- >
19
- <img src={pagenotfound} alt="page not found" width={470} />
20
- <Typography variant="h1">Page Not Found.</Typography>
21
- </Box>
22
- </>
23
- )
24
- }
25
-
26
- export default PageNotFound
1
+ import { Box, Button, Typography } from '@mui/material'
2
+ import axios from 'axios'
3
+ import React, { useEffect, useState } from 'react'
4
+ import { pagenotfound } from '../assets/images'
5
+
6
+ function PageNotFound() {
7
+ return (
8
+ <>
9
+ <Box
10
+ sx={{
11
+ width: '100%',
12
+ display: 'flex',
13
+ flexDirection: 'column',
14
+ alignItems: 'center',
15
+ justifyContent: 'center',
16
+ marginTop: '50px',
17
+ }}
18
+ >
19
+ <img src={pagenotfound} alt="page not found" width={470} />
20
+ <Typography variant="h1">Page Not Found.</Typography>
21
+ </Box>
22
+ </>
23
+ )
24
+ }
25
+
26
+ export default PageNotFound