@campxdev/shared 0.5.20 → 0.5.21

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 (200) hide show
  1. package/antd.customize.less +73 -73
  2. package/exports.ts +15 -15
  3. package/package.json +52 -52
  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 +73 -73
  13. package/src/components/Card.tsx +97 -97
  14. package/src/components/CardsGrid.tsx +28 -28
  15. package/src/components/ChangePassword.tsx +164 -164
  16. package/src/components/Chips.tsx +77 -77
  17. package/src/components/Detail.tsx +15 -15
  18. package/src/components/DetailsGrid.tsx +52 -52
  19. package/src/components/DividerHeading.tsx +40 -40
  20. package/src/components/DrawerWrapper/DialogWrapper.tsx +63 -63
  21. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  22. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  23. package/src/components/DropDownButton.tsx +190 -190
  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 +26 -26
  30. package/src/components/FullCalendar/Actions.tsx +162 -162
  31. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  32. package/src/components/FullScreenLoader.tsx +19 -19
  33. package/src/components/HookForm/AutoCompleteSearch.tsx +143 -143
  34. package/src/components/HookForm/DatePicker.tsx +65 -65
  35. package/src/components/HookForm/DateTimePicker.tsx +70 -70
  36. package/src/components/HookForm/FormLabel.tsx +14 -14
  37. package/src/components/HookForm/MultiCheckbox.tsx +82 -82
  38. package/src/components/HookForm/MultiSelect.tsx +100 -100
  39. package/src/components/HookForm/RadioGroup.tsx +112 -112
  40. package/src/components/HookForm/SingleCheckbox.tsx +46 -46
  41. package/src/components/HookForm/SingleSelect.tsx +93 -93
  42. package/src/components/HookForm/TextField.tsx +74 -74
  43. package/src/components/HookForm/TimePicker.tsx +82 -82
  44. package/src/components/HookForm/index.ts +23 -23
  45. package/src/components/IconButtons/IconButtons.tsx +137 -137
  46. package/src/components/IconButtons/Icons.tsx +268 -268
  47. package/src/components/IconButtons/assets/edit.svg +4 -4
  48. package/src/components/IconButtons/assets/eye.svg +6 -6
  49. package/src/components/IconButtons/assets/trash.svg +7 -7
  50. package/src/components/IconButtons/index.tsx +8 -8
  51. package/src/components/IconLabel.tsx +37 -37
  52. package/src/components/Image/Image.tsx +43 -43
  53. package/src/components/Image/index.tsx +1 -1
  54. package/src/components/ImageUpload.tsx +98 -98
  55. package/src/components/Input/AutoCompleteSearch.tsx +143 -143
  56. package/src/components/Input/DatePicker.tsx +60 -60
  57. package/src/components/Input/DateRangePicker.tsx +131 -131
  58. package/src/components/Input/DateTimePicker.tsx +70 -70
  59. package/src/components/Input/FormLabel.tsx +14 -14
  60. package/src/components/Input/MultiCheckbox.tsx +79 -79
  61. package/src/components/Input/MultiSelect.tsx +52 -52
  62. package/src/components/Input/RadioGroup.tsx +55 -55
  63. package/src/components/Input/SingleCheckbox.tsx +23 -23
  64. package/src/components/Input/SingleSelect.tsx +139 -139
  65. package/src/components/Input/TextField.tsx +50 -50
  66. package/src/components/Input/TimePicker.tsx +82 -82
  67. package/src/components/Input/index.ts +26 -26
  68. package/src/components/JsonPreview/JsonPreview.tsx +7 -7
  69. package/src/components/JsonPreview/index.tsx +1 -1
  70. package/src/components/LabelValue/LabelValue.tsx +21 -21
  71. package/src/components/LabelValue/index.tsx +1 -1
  72. package/src/components/Layout/ChangePassword.tsx +49 -49
  73. package/src/components/Layout/Header/AppHeader.tsx +113 -113
  74. package/src/components/Layout/Header/AppsMenu.tsx +92 -92
  75. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  76. package/src/components/Layout/Header/FreshDeskHelpButton.tsx +19 -19
  77. package/src/components/Layout/Header/Notification.tsx +13 -13
  78. package/src/components/Layout/Header/UserBox.tsx +70 -70
  79. package/src/components/Layout/Header/applications.ts +87 -87
  80. package/src/components/Layout/Header/assets/campx.svg +29 -29
  81. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  82. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  83. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  84. package/src/components/Layout/Header/assets/index.ts +23 -23
  85. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  86. package/src/components/Layout/Header/assets/payxHeader.svg +21 -21
  87. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  88. package/src/components/Layout/Header/assets/peoplexHeader.svg +14 -14
  89. package/src/components/Layout/Header/icons.tsx +57 -57
  90. package/src/components/Layout/Header/index.tsx +1 -1
  91. package/src/components/Layout/Header/styles.tsx +98 -98
  92. package/src/components/LayoutWrapper.tsx +25 -25
  93. package/src/components/LinearProgress.tsx +19 -19
  94. package/src/components/ListItemButton.tsx +94 -94
  95. package/src/components/LoginForm.tsx +103 -103
  96. package/src/components/MediaRow/MediaRow.tsx +69 -69
  97. package/src/components/MediaRow/index.tsx +1 -1
  98. package/src/components/MenuButton.tsx +103 -103
  99. package/src/components/ModalButtons/DialogButton.tsx +85 -85
  100. package/src/components/ModalButtons/DrawerButton.tsx +89 -89
  101. package/src/components/ModalButtons/index.tsx +4 -4
  102. package/src/components/NoDataIllustration/NoDataIllustration.tsx +32 -32
  103. package/src/components/NoDataIllustration/index.tsx +1 -1
  104. package/src/components/PageContent.tsx +17 -17
  105. package/src/components/PageHeader.tsx +52 -52
  106. package/src/components/PageNotFound.tsx +26 -26
  107. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  108. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  109. package/src/components/PopupConfirm/index.tsx +1 -1
  110. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  111. package/src/components/Row/Row.tsx +24 -24
  112. package/src/components/Row/index.tsx +1 -1
  113. package/src/components/SearchBar/SearchBar.tsx +53 -53
  114. package/src/components/SearchBar/index.tsx +1 -1
  115. package/src/components/SideMenuHeader.tsx +29 -29
  116. package/src/components/SideNav.tsx +150 -150
  117. package/src/components/Spinner.tsx +18 -18
  118. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  119. package/src/components/StepsHeader/index.tsx +1 -1
  120. package/src/components/Styled/OutlinedIconButton.tsx +7 -7
  121. package/src/components/Styled/index.tsx +1 -1
  122. package/src/components/StyledTableContainer.tsx +33 -33
  123. package/src/components/Swiper/Swiper.tsx +39 -39
  124. package/src/components/Swiper/index.tsx +1 -1
  125. package/src/components/SwitchButton/SwitchButton.tsx +41 -41
  126. package/src/components/SwitchButton/index.tsx +1 -1
  127. package/src/components/Table.tsx +42 -42
  128. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  129. package/src/components/TableComponent/Icons/index.tsx +50 -50
  130. package/src/components/TableComponent/ReactTable.tsx +293 -293
  131. package/src/components/TableComponent/RenderTableBody.tsx +64 -64
  132. package/src/components/TableComponent/TableFooter/TableFooter.tsx +102 -102
  133. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  134. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  135. package/src/components/TableComponent/index.tsx +221 -221
  136. package/src/components/TableComponent/react-table-config.d.ts +129 -129
  137. package/src/components/TableComponent/styles.tsx +173 -173
  138. package/src/components/TableComponent/types.ts +57 -57
  139. package/src/components/Tabs/Tabs.tsx +52 -52
  140. package/src/components/Tabs/TabsContainer.tsx +50 -50
  141. package/src/components/Tabs/index.tsx +1 -1
  142. package/src/components/Tabs/styles.tsx +55 -55
  143. package/src/components/ToastContainer/ToastContainer.tsx +42 -42
  144. package/src/components/ToastContainer/index.tsx +1 -1
  145. package/src/components/UploadButton/UploadButton.tsx +98 -98
  146. package/src/components/UploadButton/index.tsx +1 -1
  147. package/src/components/UploadButton/types.ts +14 -14
  148. package/src/components/UploadDocument/UploadDocument.tsx +108 -108
  149. package/src/components/UploadDocument/index.tsx +1 -1
  150. package/src/components/UploadFileDialog/UploadFileDialog.tsx +240 -240
  151. package/src/components/UploadFileDialog/index.tsx +1 -1
  152. package/src/components/index.ts +82 -82
  153. package/src/config/axios.ts +73 -73
  154. package/src/constants/UIConstants.ts +97 -97
  155. package/src/constants/formValidations.ts +6 -6
  156. package/src/constants/index.ts +5 -5
  157. package/src/constants/isDevelopment.ts +3 -3
  158. package/src/constants/permissions.ts +67 -67
  159. package/src/constants/validateMessages.ts +12 -12
  160. package/src/contexts/LoginFormProvider.tsx +39 -39
  161. package/src/contexts/Providers.tsx +57 -57
  162. package/src/contexts/QueryClientProvider.tsx +22 -22
  163. package/src/hooks/index.ts +3 -3
  164. package/src/hooks/useAppInit.ts +33 -33
  165. package/src/hooks/useAuth.ts +90 -90
  166. package/src/hooks/useFetch.ts +53 -53
  167. package/src/hooks/useRouter.ts +31 -31
  168. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  169. package/src/layouts/Components/icons/index.tsx +403 -403
  170. package/src/layouts/Components/styles.tsx +60 -60
  171. package/src/layouts/ComponentsLayout.tsx +3 -3
  172. package/src/permissions/PageWithPermission.tsx +18 -18
  173. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  174. package/src/permissions/PermissionsStore.ts +352 -295
  175. package/src/permissions/ValidateAccess.tsx +18 -18
  176. package/src/permissions/index.ts +3 -3
  177. package/src/react-app-env.d.ts +1 -1
  178. package/src/shared-state/AssetsStore.ts +15 -15
  179. package/src/shared-state/UserStore.ts +13 -13
  180. package/src/shared-state/index.ts +3 -3
  181. package/src/theme/App.less +3 -3
  182. package/src/theme/MuiThemeProvider.tsx +13 -13
  183. package/src/theme/customCssBaseline.ts +78 -78
  184. package/src/theme/index.css +75 -75
  185. package/src/theme/muiTheme.ts +516 -516
  186. package/src/theme/theme.d.ts +75 -75
  187. package/src/utils/alphabet.ts +23 -23
  188. package/src/utils/arrayPadEnd.ts +3 -3
  189. package/src/utils/formatCurrency.ts +9 -9
  190. package/src/utils/getUrlParams.ts +5 -5
  191. package/src/utils/index.ts +8 -8
  192. package/src/utils/logout.ts +24 -24
  193. package/src/utils/ordinalSuffixOf.ts +14 -14
  194. package/src/utils/romanize.ts +40 -40
  195. package/src/utils/withLocalization.tsx +11 -11
  196. package/src/utils/withRouteWrapper.tsx +25 -25
  197. package/src/utils/withSuspense.tsx +6 -6
  198. package/styled-components.tsx +60 -60
  199. package/todo.md +8 -8
  200. package/tsconfig.json +21 -21
@@ -1,40 +1,40 @@
1
- import {createContext, ReactNode, useState} from 'react'
2
- import PopupConfirm from './PopupConfirm'
3
-
4
- interface ConfirmContextProps {
5
- confirm: {
6
- prompt: ReactNode
7
- isOpen: boolean
8
- proceed: () => void
9
- cancel: () => void
10
- }
11
- setConfirm: any
12
- }
13
-
14
- export const ConfirmContext = createContext<ConfirmContextProps>({
15
- confirm: {
16
- cancel: () => {},
17
- proceed: () => {},
18
- prompt: 'Are you sure?',
19
- isOpen: false,
20
- },
21
- setConfirm: () => {},
22
- })
23
-
24
- const ConfirmContextProvider = ({children}) => {
25
- const [confirm, setConfirm] = useState({
26
- prompt: '',
27
- isOpen: false,
28
- proceed: null,
29
- cancel: null,
30
- })
31
-
32
- return (
33
- <ConfirmContext.Provider value={{confirm, setConfirm}}>
34
- {children}
35
- <PopupConfirm />
36
- </ConfirmContext.Provider>
37
- )
38
- }
39
-
40
- export default ConfirmContextProvider
1
+ import {createContext, ReactNode, useState} from 'react'
2
+ import PopupConfirm from './PopupConfirm'
3
+
4
+ interface ConfirmContextProps {
5
+ confirm: {
6
+ prompt: ReactNode
7
+ isOpen: boolean
8
+ proceed: () => void
9
+ cancel: () => void
10
+ }
11
+ setConfirm: any
12
+ }
13
+
14
+ export const ConfirmContext = createContext<ConfirmContextProps>({
15
+ confirm: {
16
+ cancel: () => {},
17
+ proceed: () => {},
18
+ prompt: 'Are you sure?',
19
+ isOpen: false,
20
+ },
21
+ setConfirm: () => {},
22
+ })
23
+
24
+ const ConfirmContextProvider = ({children}) => {
25
+ const [confirm, setConfirm] = useState({
26
+ prompt: '',
27
+ isOpen: false,
28
+ proceed: null,
29
+ cancel: null,
30
+ })
31
+
32
+ return (
33
+ <ConfirmContext.Provider value={{confirm, setConfirm}}>
34
+ {children}
35
+ <PopupConfirm />
36
+ </ConfirmContext.Provider>
37
+ )
38
+ }
39
+
40
+ export default ConfirmContextProvider
@@ -1,34 +1,34 @@
1
- import {
2
- Button,
3
- Dialog,
4
- DialogActions,
5
- DialogContent,
6
- DialogTitle,
7
- } from '@mui/material'
8
- import useConfirm from './useConfirm'
9
-
10
- const PopupConfirm = () => {
11
- const {prompt = '', isOpen = false, proceed, cancel} = useConfirm()
12
- return (
13
- <Dialog
14
- sx={{zIndex: 1600}}
15
- keepMounted
16
- maxWidth='sm'
17
- fullWidth
18
- open={isOpen}
19
- transitionDuration={150}
20
- >
21
- <DialogTitle>Confirm</DialogTitle>
22
- <DialogContent sx={{minHeight: '40px'}}>{prompt}</DialogContent>
23
- <DialogActions>
24
- <Button variant='contained' color='primary' onClick={proceed}>
25
- Ok
26
- </Button>
27
- <Button color='secondary' variant='outlined' onClick={cancel}>
28
- Cancel
29
- </Button>
30
- </DialogActions>
31
- </Dialog>
32
- )
33
- }
34
- export default PopupConfirm
1
+ import {
2
+ Button,
3
+ Dialog,
4
+ DialogActions,
5
+ DialogContent,
6
+ DialogTitle,
7
+ } from '@mui/material'
8
+ import useConfirm from './useConfirm'
9
+
10
+ const PopupConfirm = () => {
11
+ const {prompt = '', isOpen = false, proceed, cancel} = useConfirm()
12
+ return (
13
+ <Dialog
14
+ sx={{zIndex: 1600}}
15
+ keepMounted
16
+ maxWidth='sm'
17
+ fullWidth
18
+ open={isOpen}
19
+ transitionDuration={150}
20
+ >
21
+ <DialogTitle>Confirm</DialogTitle>
22
+ <DialogContent sx={{minHeight: '40px'}}>{prompt}</DialogContent>
23
+ <DialogActions>
24
+ <Button variant='contained' color='primary' onClick={proceed}>
25
+ Ok
26
+ </Button>
27
+ <Button color='secondary' variant='outlined' onClick={cancel}>
28
+ Cancel
29
+ </Button>
30
+ </DialogActions>
31
+ </Dialog>
32
+ )
33
+ }
34
+ export default PopupConfirm
@@ -1 +1 @@
1
- export { default } from './PopupConfirm'
1
+ export { default } from './PopupConfirm'
@@ -1,47 +1,47 @@
1
- import {ReactNode, useContext, useEffect, useState} from 'react'
2
- import {ConfirmContext} from './ConfirmContextProvider'
3
-
4
- export default function useConfirm(): {
5
- isConfirmed: (prompt?: string) => Promise<boolean>
6
- prompt?: ReactNode
7
- isOpen?: boolean
8
- proceed?: () => void
9
- cancel?: () => void
10
- } {
11
- const {confirm, setConfirm} = useContext(ConfirmContext)
12
- const [needsCleanup, setNeedsCleanup] = useState(false)
13
-
14
- const isConfirmed = (prompt) => {
15
- setNeedsCleanup(true)
16
- const promise = new Promise((resolve, reject) => {
17
- setConfirm({
18
- prompt,
19
- isOpen: true,
20
- proceed: resolve,
21
- cancel: reject,
22
- })
23
- })
24
- return promise.then(
25
- () => {
26
- setConfirm({...confirm, isOpen: false})
27
- return true
28
- },
29
- () => {
30
- setConfirm({...confirm, isOpen: false})
31
- return false
32
- }
33
- )
34
- }
35
-
36
- useEffect(() => {
37
- return () => {
38
- if (confirm.cancel && needsCleanup) {
39
- confirm.cancel()
40
- }
41
- }
42
- }, [confirm, needsCleanup])
43
- return {
44
- ...confirm,
45
- isConfirmed,
46
- }
47
- }
1
+ import {ReactNode, useContext, useEffect, useState} from 'react'
2
+ import {ConfirmContext} from './ConfirmContextProvider'
3
+
4
+ export default function useConfirm(): {
5
+ isConfirmed: (prompt?: string) => Promise<boolean>
6
+ prompt?: ReactNode
7
+ isOpen?: boolean
8
+ proceed?: () => void
9
+ cancel?: () => void
10
+ } {
11
+ const {confirm, setConfirm} = useContext(ConfirmContext)
12
+ const [needsCleanup, setNeedsCleanup] = useState(false)
13
+
14
+ const isConfirmed = (prompt) => {
15
+ setNeedsCleanup(true)
16
+ const promise = new Promise((resolve, reject) => {
17
+ setConfirm({
18
+ prompt,
19
+ isOpen: true,
20
+ proceed: resolve,
21
+ cancel: reject,
22
+ })
23
+ })
24
+ return promise.then(
25
+ () => {
26
+ setConfirm({...confirm, isOpen: false})
27
+ return true
28
+ },
29
+ () => {
30
+ setConfirm({...confirm, isOpen: false})
31
+ return false
32
+ }
33
+ )
34
+ }
35
+
36
+ useEffect(() => {
37
+ return () => {
38
+ if (confirm.cancel && needsCleanup) {
39
+ confirm.cancel()
40
+ }
41
+ }
42
+ }, [confirm, needsCleanup])
43
+ return {
44
+ ...confirm,
45
+ isConfirmed,
46
+ }
47
+ }
@@ -1,24 +1,24 @@
1
- import { Box, SxProps } from '@mui/material'
2
- import { ReactNode } from 'react'
3
-
4
- export default function Row({
5
- gap,
6
- children,
7
- sx,
8
- }: {
9
- gap: number
10
- children: ReactNode
11
- sx?: SxProps
12
- }) {
13
- return (
14
- <Box
15
- sx={{
16
- display: 'flex',
17
- gap: `${gap}px`,
18
- ...sx,
19
- }}
20
- >
21
- {children}
22
- </Box>
23
- )
24
- }
1
+ import { Box, SxProps } from '@mui/material'
2
+ import { ReactNode } from 'react'
3
+
4
+ export default function Row({
5
+ gap,
6
+ children,
7
+ sx,
8
+ }: {
9
+ gap: number
10
+ children: ReactNode
11
+ sx?: SxProps
12
+ }) {
13
+ return (
14
+ <Box
15
+ sx={{
16
+ display: 'flex',
17
+ gap: `${gap}px`,
18
+ ...sx,
19
+ }}
20
+ >
21
+ {children}
22
+ </Box>
23
+ )
24
+ }
@@ -1 +1 @@
1
- export { default } from './Row'
1
+ export { default } from './Row'
@@ -1,53 +1,53 @@
1
- import { Search, Tune } from '@mui/icons-material'
2
- import { Box, InputAdornment, styled, TextField } from '@mui/material'
3
- import { useState } from 'react'
4
-
5
- interface SearchBarProps {
6
- onSearch: (v: string) => void
7
- filters?: {
8
- onClick: () => void
9
- }
10
- }
11
-
12
- export default function SearchBar({ onSearch, filters }: SearchBarProps) {
13
- const [search, setSearch] = useState('')
14
- return (
15
- <Box sx={{ display: 'flex', gap: '20px' }}>
16
- <TextField
17
- sx={{ maxWidth: '600px' }}
18
- label="Search"
19
- value={search}
20
- onChange={(e) => {
21
- setSearch(e.target.value)
22
- onSearch(e.target.value)
23
- }}
24
- InputProps={{
25
- endAdornment: (
26
- <InputAdornment position="end">
27
- <Search />
28
- </InputAdornment>
29
- ),
30
- }}
31
- />
32
- {filters && (
33
- <StyledButtonWrapper onClick={filters?.onClick}>
34
- <Tune />
35
- </StyledButtonWrapper>
36
- )}
37
- </Box>
38
- )
39
- }
40
-
41
- const StyledButtonWrapper = styled(Box)(({ theme }) => ({
42
- width: '52px',
43
- border: theme.borders.grayLight,
44
- display: 'flex',
45
- alignItems: 'center',
46
- justifyContent: 'center',
47
- borderRadius: '10px',
48
- cursor: 'pointer',
49
- '&:active': {
50
- border: `1px solid ${theme.palette.primary.main}`,
51
- },
52
- transition: 'border 0.1s ease-in-out',
53
- }))
1
+ import { Search, Tune } from '@mui/icons-material'
2
+ import { Box, InputAdornment, styled, TextField } from '@mui/material'
3
+ import { useState } from 'react'
4
+
5
+ interface SearchBarProps {
6
+ onSearch: (v: string) => void
7
+ filters?: {
8
+ onClick: () => void
9
+ }
10
+ }
11
+
12
+ export default function SearchBar({ onSearch, filters }: SearchBarProps) {
13
+ const [search, setSearch] = useState('')
14
+ return (
15
+ <Box sx={{ display: 'flex', gap: '20px' }}>
16
+ <TextField
17
+ sx={{ maxWidth: '600px' }}
18
+ label="Search"
19
+ value={search}
20
+ onChange={(e) => {
21
+ setSearch(e.target.value)
22
+ onSearch(e.target.value)
23
+ }}
24
+ InputProps={{
25
+ endAdornment: (
26
+ <InputAdornment position="end">
27
+ <Search />
28
+ </InputAdornment>
29
+ ),
30
+ }}
31
+ />
32
+ {filters && (
33
+ <StyledButtonWrapper onClick={filters?.onClick}>
34
+ <Tune />
35
+ </StyledButtonWrapper>
36
+ )}
37
+ </Box>
38
+ )
39
+ }
40
+
41
+ const StyledButtonWrapper = styled(Box)(({ theme }) => ({
42
+ width: '52px',
43
+ border: theme.borders.grayLight,
44
+ display: 'flex',
45
+ alignItems: 'center',
46
+ justifyContent: 'center',
47
+ borderRadius: '10px',
48
+ cursor: 'pointer',
49
+ '&:active': {
50
+ border: `1px solid ${theme.palette.primary.main}`,
51
+ },
52
+ transition: 'border 0.1s ease-in-out',
53
+ }))
@@ -1 +1 @@
1
- export { default as SearchBar } from './SearchBar'
1
+ export { default as SearchBar } from './SearchBar'
@@ -1,29 +1,29 @@
1
- import { KeyboardBackspace } from "@mui/icons-material";
2
- import { Box, styled as styledMui, Typography } from "@mui/material";
3
- import { useNavigate } from "react-router-dom";
4
-
5
- const StyledSideMenuHeader = styledMui(Box)(({ theme }) => ({
6
- height: "60px",
7
- display: "flex",
8
- gap: "8px",
9
- alignItems: "center",
10
- cursor: "pointer",
11
- background: "#1d1d1d",
12
- }));
13
-
14
- export const SideMenuHeader = ({ title, path }) => {
15
- const navigate = useNavigate();
16
-
17
- return (
18
- <StyledSideMenuHeader
19
- onClick={() => {
20
- navigate(path);
21
- }}
22
- >
23
- <KeyboardBackspace />
24
- <Typography variant="h3" color={"white"}>
25
- {title}
26
- </Typography>
27
- </StyledSideMenuHeader>
28
- );
29
- };
1
+ import { KeyboardBackspace } from "@mui/icons-material";
2
+ import { Box, styled as styledMui, Typography } from "@mui/material";
3
+ import { useNavigate } from "react-router-dom";
4
+
5
+ const StyledSideMenuHeader = styledMui(Box)(({ theme }) => ({
6
+ height: "60px",
7
+ display: "flex",
8
+ gap: "8px",
9
+ alignItems: "center",
10
+ cursor: "pointer",
11
+ background: "#1d1d1d",
12
+ }));
13
+
14
+ export const SideMenuHeader = ({ title, path }) => {
15
+ const navigate = useNavigate();
16
+
17
+ return (
18
+ <StyledSideMenuHeader
19
+ onClick={() => {
20
+ navigate(path);
21
+ }}
22
+ >
23
+ <KeyboardBackspace />
24
+ <Typography variant="h3" color={"white"}>
25
+ {title}
26
+ </Typography>
27
+ </StyledSideMenuHeader>
28
+ );
29
+ };