@campxdev/shared 1.4.9 → 1.4.11

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 (213) hide show
  1. package/antd.customize.less +73 -73
  2. package/exports.ts +18 -18
  3. package/package.json +86 -86
  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 +20 -20
  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 +123 -123
  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/DropDownButton.tsx +177 -177
  24. package/src/components/DropDownButton/index.tsx +1 -1
  25. package/src/components/DropDownButton/styles.tsx +56 -56
  26. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  27. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  28. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  29. package/src/components/ErrorBoundary/index.tsx +1 -1
  30. package/src/components/ErrorBox.tsx +42 -42
  31. package/src/components/FloatingContainer.tsx +33 -33
  32. package/src/components/Form/Form.tsx +156 -156
  33. package/src/components/Form/RenderForm.tsx +188 -188
  34. package/src/components/FullCalendar/Actions.tsx +162 -162
  35. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  36. package/src/components/FullScreenLoader.tsx +19 -19
  37. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  38. package/src/components/HookForm/DatePicker.tsx +40 -40
  39. package/src/components/HookForm/DateTimePicker.tsx +47 -47
  40. package/src/components/HookForm/FormLabel.tsx +14 -14
  41. package/src/components/HookForm/MultiCheckbox.tsx +69 -69
  42. package/src/components/HookForm/MultiSelect.tsx +50 -50
  43. package/src/components/HookForm/RadioGroup.tsx +45 -45
  44. package/src/components/HookForm/SingleCheckbox.tsx +34 -34
  45. package/src/components/HookForm/SingleSelect.tsx +46 -46
  46. package/src/components/HookForm/TextField.tsx +40 -40
  47. package/src/components/HookForm/TimePicker.tsx +40 -40
  48. package/src/components/HookForm/index.ts +23 -23
  49. package/src/components/IconButtons/IconButtons.tsx +137 -137
  50. package/src/components/IconButtons/Icons.tsx +268 -268
  51. package/src/components/IconButtons/assets/edit.svg +4 -4
  52. package/src/components/IconButtons/assets/eye.svg +6 -6
  53. package/src/components/IconButtons/assets/trash.svg +7 -7
  54. package/src/components/IconButtons/index.tsx +8 -8
  55. package/src/components/IconLabel.tsx +37 -37
  56. package/src/components/Image/Image.tsx +43 -43
  57. package/src/components/Image/index.tsx +1 -1
  58. package/src/components/ImageUpload.tsx +98 -98
  59. package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +216 -216
  60. package/src/components/Input/AsyncSearchSelect/index.tsx +1 -1
  61. package/src/components/Input/AsyncSearchSelect/styles.tsx +105 -105
  62. package/src/components/Input/AutoCompleteSearch.tsx +121 -121
  63. package/src/components/Input/DatePicker.tsx +69 -69
  64. package/src/components/Input/DateRangePicker.tsx +131 -131
  65. package/src/components/Input/DateTimePicker.tsx +75 -75
  66. package/src/components/Input/FormLabel.tsx +21 -21
  67. package/src/components/Input/MultiCheckbox.tsx +64 -64
  68. package/src/components/Input/MultiSelect.tsx +148 -148
  69. package/src/components/Input/RadioGroup.tsx +104 -104
  70. package/src/components/Input/SingleCheckbox.tsx +78 -78
  71. package/src/components/Input/SingleSelect.tsx +104 -104
  72. package/src/components/Input/TextField.tsx +46 -46
  73. package/src/components/Input/TimePicker.tsx +70 -70
  74. package/src/components/Input/index.ts +26 -26
  75. package/src/components/Input/types.ts +3 -3
  76. package/src/components/JsonPreview.tsx +7 -7
  77. package/src/components/LabelValue.tsx +21 -21
  78. package/src/components/Layout/ChangePassword.tsx +49 -49
  79. package/src/components/Layout/Header/AppHeader.tsx +102 -102
  80. package/src/components/Layout/Header/AppsMenu.tsx +98 -98
  81. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  82. package/src/components/Layout/Header/Notification.tsx +13 -13
  83. package/src/components/Layout/Header/UserBox.tsx +81 -81
  84. package/src/components/Layout/Header/applications.ts +91 -91
  85. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  86. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  87. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  88. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  89. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  90. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  91. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  92. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  93. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  94. package/src/components/Layout/Header/assets/index.ts +33 -33
  95. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  96. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  97. package/src/components/Layout/Header/assets/payx.svg +19 -19
  98. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  99. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  100. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  101. package/src/components/Layout/Header/icons.tsx +57 -57
  102. package/src/components/Layout/Header/index.tsx +1 -1
  103. package/src/components/Layout/Header/styles.tsx +124 -124
  104. package/src/components/Layout/{Header → Tickets}/HelpWidget/HelpWidget.tsx +273 -273
  105. package/src/components/Layout/{Header → Tickets}/HelpWidget/styles.tsx +94 -94
  106. package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
  107. package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
  108. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  109. package/src/components/Layout/Tickets/index.tsx +1 -1
  110. package/src/components/Layout/Tickets/services.ts +11 -11
  111. package/src/components/Layout/Tickets/styles.tsx +136 -136
  112. package/src/components/LayoutWrapper.tsx +25 -25
  113. package/src/components/LinearProgress.tsx +19 -19
  114. package/src/components/ListItemButton.tsx +95 -95
  115. package/src/components/LoginForm.tsx +80 -80
  116. package/src/components/MediaRow/MediaRow.tsx +69 -69
  117. package/src/components/MediaRow/index.tsx +1 -1
  118. package/src/components/ModalButtons/DialogButton.tsx +93 -93
  119. package/src/components/ModalButtons/DrawerButton.tsx +85 -85
  120. package/src/components/ModalButtons/index.tsx +4 -4
  121. package/src/components/NoDataIllustration.tsx +32 -32
  122. package/src/components/PageContent.tsx +17 -17
  123. package/src/components/PageHeader.tsx +55 -55
  124. package/src/components/PageNotFound.tsx +26 -26
  125. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  126. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  127. package/src/components/PopupConfirm/index.tsx +1 -1
  128. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  129. package/src/components/Row.tsx +24 -24
  130. package/src/components/SearchBar.tsx +60 -60
  131. package/src/components/SideMenuHeader.tsx +29 -29
  132. package/src/components/SideNav.tsx +168 -168
  133. package/src/components/Spinner.tsx +18 -18
  134. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  135. package/src/components/StepsHeader/index.tsx +1 -1
  136. package/src/components/StyledTableContainer.tsx +33 -33
  137. package/src/components/SwitchButton.tsx +41 -41
  138. package/src/components/Table.tsx +42 -42
  139. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  140. package/src/components/TableComponent/Icons/index.tsx +50 -50
  141. package/src/components/TableComponent/ReactTable.tsx +293 -293
  142. package/src/components/TableComponent/RenderTableBody.tsx +66 -66
  143. package/src/components/TableComponent/Table.tsx +200 -200
  144. package/src/components/TableComponent/TableFooter/TableFooter.tsx +104 -104
  145. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  146. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  147. package/src/components/TableComponent/index.tsx +1 -1
  148. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  149. package/src/components/TableComponent/styles.tsx +170 -170
  150. package/src/components/TableComponent/types.ts +57 -57
  151. package/src/components/Tabs/Tabs.tsx +52 -52
  152. package/src/components/Tabs/TabsContainer.tsx +50 -50
  153. package/src/components/Tabs/index.tsx +1 -1
  154. package/src/components/Tabs/styles.tsx +55 -55
  155. package/src/components/ToastContainer/ToastContainer.tsx +42 -42
  156. package/src/components/ToastContainer/index.tsx +1 -1
  157. package/src/components/UploadButton/UploadButton.tsx +126 -126
  158. package/src/components/UploadButton/index.tsx +1 -1
  159. package/src/components/UploadButton/types.ts +19 -19
  160. package/src/components/UploadDocument.tsx +108 -108
  161. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  162. package/src/components/UploadFileDialog/index.tsx +1 -1
  163. package/src/components/index.ts +87 -84
  164. package/src/config/axios.ts +73 -73
  165. package/src/config/axiosEvaluator.ts +53 -53
  166. package/src/config/axiosXTenant.ts +57 -57
  167. package/src/constants/UIConstants.ts +97 -97
  168. package/src/constants/formValidations.ts +6 -6
  169. package/src/constants/index.ts +5 -5
  170. package/src/constants/isDevelopment.ts +3 -3
  171. package/src/constants/permissions.ts +67 -67
  172. package/src/constants/validateMessages.ts +12 -12
  173. package/src/contexts/LoginFormProvider.tsx +39 -39
  174. package/src/contexts/Providers.tsx +71 -71
  175. package/src/contexts/PublicProviders.tsx +30 -30
  176. package/src/contexts/QueryClientProvider.tsx +22 -22
  177. package/src/hooks/index.ts +3 -3
  178. package/src/hooks/useAuth.ts +96 -96
  179. package/src/hooks/useFetch.ts +53 -53
  180. package/src/hooks/useRouter.ts +31 -31
  181. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  182. package/src/layouts/Components/icons/index.tsx +403 -403
  183. package/src/layouts/Components/styles.tsx +60 -60
  184. package/src/layouts/ComponentsLayout.tsx +3 -3
  185. package/src/permissions/PageWithPermission.tsx +18 -18
  186. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  187. package/src/permissions/ValidateAccess.tsx +18 -18
  188. package/src/permissions/index.ts +2 -2
  189. package/src/react-app-env.d.ts +1 -1
  190. package/src/shared-state/AssetsStore.ts +15 -15
  191. package/src/shared-state/PermissionsStore.ts +352 -352
  192. package/src/shared-state/UserStore.ts +13 -13
  193. package/src/shared-state/index.ts +4 -4
  194. package/src/theme/App.less +3 -3
  195. package/src/theme/MuiThemeProvider.tsx +13 -13
  196. package/src/theme/customCssBaseline.ts +78 -78
  197. package/src/theme/index.css +75 -75
  198. package/src/theme/muiTheme.ts +560 -560
  199. package/src/theme/theme.d.ts +75 -75
  200. package/src/utils/alphabet.ts +23 -23
  201. package/src/utils/arrayPadEnd.ts +3 -3
  202. package/src/utils/formatCurrency.ts +9 -9
  203. package/src/utils/getUrlParams.ts +5 -5
  204. package/src/utils/index.ts +8 -8
  205. package/src/utils/logout.ts +24 -24
  206. package/src/utils/ordinalSuffixOf.ts +14 -14
  207. package/src/utils/romanize.ts +40 -40
  208. package/src/utils/withLocalization.tsx +11 -11
  209. package/src/utils/withRouteWrapper.tsx +25 -25
  210. package/src/utils/withSuspense.tsx +6 -6
  211. package/styled-components.tsx +60 -60
  212. package/tsconfig.json +21 -21
  213. package/src/components/Layout/Header/assets/commuteX.png +0 -0
@@ -1,75 +1,75 @@
1
- import { ThemeOptions as MuiThemeOptions } from '@mui/material/styles'
2
-
3
- declare module '@mui/material/styles' {
4
- interface Theme {
5
- borders: {
6
- grayLight: string
7
- primary: string
8
- }
9
- palette: {
10
- primary: {
11
- dark: string
12
- main: string
13
- light: string
14
- lighter: string
15
- }
16
- secondary: {
17
- main: string
18
- light: string
19
- dark: string
20
- lighter: string
21
- }
22
- common: {
23
- black: string
24
- white: string
25
- green: string
26
- yellow: string
27
- blue: string
28
- }
29
- error: {
30
- main: string
31
- }
32
- text: {
33
- primary: string
34
- secondary: string
35
- disabled: string
36
- }
37
- }
38
- }
39
- // allow configuration using `createTheme`
40
- interface CustomThemeOptions extends MuiThemeOptions {
41
- borders?: {
42
- grayLight?: string
43
- }
44
- palette: {
45
- secondary?: {
46
- main?: string
47
- light?: string
48
- dark?: string
49
- lighter?: string
50
- }
51
- primary?: {
52
- dark?: string
53
- main?: string
54
- light?: string
55
- lighter?: string
56
- }
57
- common?: {
58
- black?: string
59
- white?: string
60
- green?: string
61
- yellow?: string
62
- blue?: string
63
- }
64
- error?: {
65
- main?: string
66
- }
67
- text?: {
68
- primary?: string
69
- secondary?: string
70
- disabled?: string
71
- }
72
- }
73
- }
74
- export function createTheme(options?: CustomThemeOptions): CustomTheme
75
- }
1
+ import { ThemeOptions as MuiThemeOptions } from '@mui/material/styles'
2
+
3
+ declare module '@mui/material/styles' {
4
+ interface Theme {
5
+ borders: {
6
+ grayLight: string
7
+ primary: string
8
+ }
9
+ palette: {
10
+ primary: {
11
+ dark: string
12
+ main: string
13
+ light: string
14
+ lighter: string
15
+ }
16
+ secondary: {
17
+ main: string
18
+ light: string
19
+ dark: string
20
+ lighter: string
21
+ }
22
+ common: {
23
+ black: string
24
+ white: string
25
+ green: string
26
+ yellow: string
27
+ blue: string
28
+ }
29
+ error: {
30
+ main: string
31
+ }
32
+ text: {
33
+ primary: string
34
+ secondary: string
35
+ disabled: string
36
+ }
37
+ }
38
+ }
39
+ // allow configuration using `createTheme`
40
+ interface CustomThemeOptions extends MuiThemeOptions {
41
+ borders?: {
42
+ grayLight?: string
43
+ }
44
+ palette: {
45
+ secondary?: {
46
+ main?: string
47
+ light?: string
48
+ dark?: string
49
+ lighter?: string
50
+ }
51
+ primary?: {
52
+ dark?: string
53
+ main?: string
54
+ light?: string
55
+ lighter?: string
56
+ }
57
+ common?: {
58
+ black?: string
59
+ white?: string
60
+ green?: string
61
+ yellow?: string
62
+ blue?: string
63
+ }
64
+ error?: {
65
+ main?: string
66
+ }
67
+ text?: {
68
+ primary?: string
69
+ secondary?: string
70
+ disabled?: string
71
+ }
72
+ }
73
+ }
74
+ export function createTheme(options?: CustomThemeOptions): CustomTheme
75
+ }
@@ -1,23 +1,23 @@
1
- export function alphabet(option) {
2
- let letters: any = []
3
-
4
- //set the default value of i & j to print A to Z
5
- var i = 65
6
- var j = 91
7
-
8
- //if the option is small set the value of i,j to print a to z
9
- if (option == 'small') {
10
- i = 97
11
- j = 123
12
- }
13
-
14
- //loop through the values from i to j
15
- for (let k = i; k < j; k++) {
16
- //convert the char code to string (Alphabets)
17
- var str = String.fromCharCode(k)
18
- //print the result in console
19
- letters.push(str)
20
- }
21
-
22
- return letters
23
- }
1
+ export function alphabet(option) {
2
+ let letters: any = []
3
+
4
+ //set the default value of i & j to print A to Z
5
+ var i = 65
6
+ var j = 91
7
+
8
+ //if the option is small set the value of i,j to print a to z
9
+ if (option == 'small') {
10
+ i = 97
11
+ j = 123
12
+ }
13
+
14
+ //loop through the values from i to j
15
+ for (let k = i; k < j; k++) {
16
+ //convert the char code to string (Alphabets)
17
+ var str = String.fromCharCode(k)
18
+ //print the result in console
19
+ letters.push(str)
20
+ }
21
+
22
+ return letters
23
+ }
@@ -1,3 +1,3 @@
1
- export default function arrayPadEnd(array, minLength, fillValue = undefined) {
2
- return Object.assign(new Array(minLength).fill(fillValue), array)
3
- }
1
+ export default function arrayPadEnd(array, minLength, fillValue = undefined) {
2
+ return Object.assign(new Array(minLength).fill(fillValue), array)
3
+ }
@@ -1,9 +1,9 @@
1
- var formatter = new Intl.NumberFormat('en-IN', {
2
- style: 'currency',
3
- currency: 'INR',
4
- currencyDisplay: 'code',
5
- })
6
-
7
- export default function inr(amount: number) {
8
- return formatter.format(amount).replace('INR', '').trim()
9
- }
1
+ var formatter = new Intl.NumberFormat('en-IN', {
2
+ style: 'currency',
3
+ currency: 'INR',
4
+ currencyDisplay: 'code',
5
+ })
6
+
7
+ export default function inr(amount: number) {
8
+ return formatter.format(amount).replace('INR', '').trim()
9
+ }
@@ -1,5 +1,5 @@
1
- export default function getUrlParams() {
2
- const urlSearchParams = new URLSearchParams(window.location.search)
3
- const params = Object.fromEntries(urlSearchParams.entries())
4
- return params
5
- }
1
+ export default function getUrlParams() {
2
+ const urlSearchParams = new URLSearchParams(window.location.search)
3
+ const params = Object.fromEntries(urlSearchParams.entries())
4
+ return params
5
+ }
@@ -1,8 +1,8 @@
1
- export { default as getUrlParams } from './getUrlParams'
2
- export { default as arrayPadEnd } from './arrayPadEnd'
3
- export { default as romanize } from './romanize'
4
-
5
- export { default as withRouteWrapper } from './withRouteWrapper'
6
- export { default as withSuspense } from './withSuspense'
7
- export { default as withLocalization } from './withLocalization'
8
- export { default as onLogout } from './logout'
1
+ export { default as getUrlParams } from './getUrlParams'
2
+ export { default as arrayPadEnd } from './arrayPadEnd'
3
+ export { default as romanize } from './romanize'
4
+
5
+ export { default as withRouteWrapper } from './withRouteWrapper'
6
+ export { default as withSuspense } from './withSuspense'
7
+ export { default as withLocalization } from './withLocalization'
8
+ export { default as onLogout } from './logout'
@@ -1,24 +1,24 @@
1
- import Cookies from 'js-cookie'
2
- import axios, { axiosErrorToast } from '../config/axios'
3
- import { isDevelopment } from '../constants'
4
-
5
- export default function logout() {
6
- if (isDevelopment) {
7
- Cookies.remove('campx_session_key')
8
- window.location.href = window.location.origin + '/campx_dev'
9
- return
10
- }
11
-
12
- axios({
13
- method: 'POST',
14
- baseURL: 'https://api.campx.in',
15
- url: '/auth-server/auth/logout',
16
- })
17
- .then((res) => {
18
- Cookies.remove('campx_tenant')
19
- window.location.href = 'https://id.campx.in'
20
- })
21
- .catch((err) => {
22
- axiosErrorToast('Unable To Logout.')
23
- })
24
- }
1
+ import Cookies from 'js-cookie'
2
+ import axios, { axiosErrorToast } from '../config/axios'
3
+ import { isDevelopment } from '../constants'
4
+
5
+ export default function logout() {
6
+ if (isDevelopment) {
7
+ Cookies.remove('campx_session_key')
8
+ window.location.href = window.location.origin + '/campx_dev'
9
+ return
10
+ }
11
+
12
+ axios({
13
+ method: 'POST',
14
+ baseURL: 'https://api.campx.in',
15
+ url: '/auth-server/auth/logout',
16
+ })
17
+ .then((res) => {
18
+ Cookies.remove('campx_tenant')
19
+ window.location.href = 'https://id.campx.in'
20
+ })
21
+ .catch((err) => {
22
+ axiosErrorToast('Unable To Logout.')
23
+ })
24
+ }
@@ -1,14 +1,14 @@
1
- export default function ordinalSuffixOf(i: number) {
2
- var j = i % 10,
3
- k = i % 100
4
- if (j == 1 && k != 11) {
5
- return i + 'st'
6
- }
7
- if (j == 2 && k != 12) {
8
- return i + 'nd'
9
- }
10
- if (j == 3 && k != 13) {
11
- return i + 'rd'
12
- }
13
- return i + 'th'
14
- }
1
+ export default function ordinalSuffixOf(i: number) {
2
+ var j = i % 10,
3
+ k = i % 100
4
+ if (j == 1 && k != 11) {
5
+ return i + 'st'
6
+ }
7
+ if (j == 2 && k != 12) {
8
+ return i + 'nd'
9
+ }
10
+ if (j == 3 && k != 13) {
11
+ return i + 'rd'
12
+ }
13
+ return i + 'th'
14
+ }
@@ -1,40 +1,40 @@
1
- export default function romanize(num) {
2
- if (!+num) return false
3
- var digits = String(+num).split(''),
4
- key = [
5
- '',
6
- 'C',
7
- 'CC',
8
- 'CCC',
9
- 'CD',
10
- 'D',
11
- 'DC',
12
- 'DCC',
13
- 'DCCC',
14
- 'CM',
15
- '',
16
- 'X',
17
- 'XX',
18
- 'XXX',
19
- 'XL',
20
- 'L',
21
- 'LX',
22
- 'LXX',
23
- 'LXXX',
24
- 'XC',
25
- '',
26
- 'I',
27
- 'II',
28
- 'III',
29
- 'IV',
30
- 'V',
31
- 'VI',
32
- 'VII',
33
- 'VIII',
34
- 'IX',
35
- ],
36
- roman = '',
37
- i = 3
38
- while (i--) roman = (key[+digits.pop() + i * 10] || '') + roman
39
- return Array(+digits.join('') + 1).join('M') + roman
40
- }
1
+ export default function romanize(num) {
2
+ if (!+num) return false
3
+ var digits = String(+num).split(''),
4
+ key = [
5
+ '',
6
+ 'C',
7
+ 'CC',
8
+ 'CCC',
9
+ 'CD',
10
+ 'D',
11
+ 'DC',
12
+ 'DCC',
13
+ 'DCCC',
14
+ 'CM',
15
+ '',
16
+ 'X',
17
+ 'XX',
18
+ 'XXX',
19
+ 'XL',
20
+ 'L',
21
+ 'LX',
22
+ 'LXX',
23
+ 'LXXX',
24
+ 'XC',
25
+ '',
26
+ 'I',
27
+ 'II',
28
+ 'III',
29
+ 'IV',
30
+ 'V',
31
+ 'VI',
32
+ 'VII',
33
+ 'VIII',
34
+ 'IX',
35
+ ],
36
+ roman = '',
37
+ i = 3
38
+ while (i--) roman = (key[+digits.pop() + i * 10] || '') + roman
39
+ return Array(+digits.join('') + 1).join('M') + roman
40
+ }
@@ -1,11 +1,11 @@
1
- import { LocalizationProvider } from '@mui/x-date-pickers'
2
- import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment'
3
- import { ReactNode } from 'react'
4
-
5
- export default function withLocalization(component: ReactNode) {
6
- return (
7
- <LocalizationProvider dateAdapter={AdapterMoment}>
8
- {component}
9
- </LocalizationProvider>
10
- )
11
- }
1
+ import { LocalizationProvider } from '@mui/x-date-pickers'
2
+ import { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment'
3
+ import { ReactNode } from 'react'
4
+
5
+ export default function withLocalization(component: ReactNode) {
6
+ return (
7
+ <LocalizationProvider dateAdapter={AdapterMoment}>
8
+ {component}
9
+ </LocalizationProvider>
10
+ )
11
+ }
@@ -1,25 +1,25 @@
1
- import { Suspense } from 'react'
2
- import PageWithPermission from '../permissions/PageWithPermission'
3
- import { Spinner } from '../components'
4
-
5
- const withRouteWrapper = (routes) => {
6
- return routes?.map((item, index) => {
7
- if (item?.children) {
8
- return {
9
- ...item,
10
- children: withRouteWrapper(item.children),
11
- }
12
- }
13
- return {
14
- ...item,
15
- element: item?.element ? (
16
- <Suspense fallback={<Spinner />} key={index}>
17
- <PageWithPermission permissionKey={item?.permissionKey}>
18
- {item.element}
19
- </PageWithPermission>
20
- </Suspense>
21
- ) : undefined,
22
- }
23
- })
24
- }
25
- export default withRouteWrapper
1
+ import { Suspense } from 'react'
2
+ import PageWithPermission from '../permissions/PageWithPermission'
3
+ import { Spinner } from '../components'
4
+
5
+ const withRouteWrapper = (routes) => {
6
+ return routes?.map((item, index) => {
7
+ if (item?.children) {
8
+ return {
9
+ ...item,
10
+ children: withRouteWrapper(item.children),
11
+ }
12
+ }
13
+ return {
14
+ ...item,
15
+ element: item?.element ? (
16
+ <Suspense fallback={<Spinner />} key={index}>
17
+ <PageWithPermission permissionKey={item?.permissionKey}>
18
+ {item.element}
19
+ </PageWithPermission>
20
+ </Suspense>
21
+ ) : undefined,
22
+ }
23
+ })
24
+ }
25
+ export default withRouteWrapper
@@ -1,6 +1,6 @@
1
- import { LinearProgress, Spinner } from '../components'
2
- import { ReactNode, Suspense } from 'react'
3
-
4
- export default function withSuspense(component: ReactNode) {
5
- return <Suspense fallback={<LinearProgress />}>{component}</Suspense>
6
- }
1
+ import { LinearProgress, Spinner } from '../components'
2
+ import { ReactNode, Suspense } from 'react'
3
+
4
+ export default function withSuspense(component: ReactNode) {
5
+ return <Suspense fallback={<LinearProgress />}>{component}</Suspense>
6
+ }
@@ -1,60 +1,60 @@
1
- import styled from 'styled-components'
2
- import { styled as muiStyled } from '@mui/material'
3
-
4
- export const headerHeight = '64px'
5
- export const sideNavWidth = '220px'
6
-
7
- export const StyledLayoutContainer = styled.div`
8
- & > div {
9
- }
10
- `
11
-
12
- export const StyledHeaderContainer = styled.header`
13
- z-index: 300;
14
- width: 100%;
15
- position: fixed;
16
- top: 0;
17
- left: 0;
18
- min-height: ${headerHeight};
19
- background: #fff;
20
- & > div {
21
- height: ${headerHeight};
22
- }
23
- `
24
-
25
- export const StyledLeftNavContainer = muiStyled('aside')(({ theme }) => ({
26
- width: sideNavWidth,
27
- background: theme.palette.secondary.main,
28
- color: 'white',
29
- position: 'fixed',
30
- top: headerHeight,
31
- left: 0,
32
- height: `calc(100vh - ${headerHeight})`,
33
- overflowY: 'auto',
34
-
35
- '&::-webkit-scrollbar': {
36
- width: '0.5em',
37
- height: '0.5em',
38
- },
39
-
40
- '&::-webkit-scrollbar-thumb': {
41
- backgroundColor: 'rgba(255, 255, 255, 0.3)',
42
- borderRadius: '3px',
43
-
44
- '&:hover': {
45
- background: 'rgba(255, 255, 255, 0.4)',
46
- },
47
- },
48
-
49
- zIndex: 100,
50
- }))
51
-
52
- export const StyledMainContentContainer = muiStyled('main')(() => ({
53
- width: `calc(100% - ${sideNavWidth})`,
54
- // width: '100%',
55
- height: `calc(100vh - ${headerHeight})`,
56
- position: 'fixed',
57
- top: headerHeight,
58
- left: sideNavWidth,
59
- overflowY: 'auto',
60
- }))
1
+ import styled from 'styled-components'
2
+ import { styled as muiStyled } from '@mui/material'
3
+
4
+ export const headerHeight = '64px'
5
+ export const sideNavWidth = '220px'
6
+
7
+ export const StyledLayoutContainer = styled.div`
8
+ & > div {
9
+ }
10
+ `
11
+
12
+ export const StyledHeaderContainer = styled.header`
13
+ z-index: 300;
14
+ width: 100%;
15
+ position: fixed;
16
+ top: 0;
17
+ left: 0;
18
+ min-height: ${headerHeight};
19
+ background: #fff;
20
+ & > div {
21
+ height: ${headerHeight};
22
+ }
23
+ `
24
+
25
+ export const StyledLeftNavContainer = muiStyled('aside')(({ theme }) => ({
26
+ width: sideNavWidth,
27
+ background: theme.palette.secondary.main,
28
+ color: 'white',
29
+ position: 'fixed',
30
+ top: headerHeight,
31
+ left: 0,
32
+ height: `calc(100vh - ${headerHeight})`,
33
+ overflowY: 'auto',
34
+
35
+ '&::-webkit-scrollbar': {
36
+ width: '0.5em',
37
+ height: '0.5em',
38
+ },
39
+
40
+ '&::-webkit-scrollbar-thumb': {
41
+ backgroundColor: 'rgba(255, 255, 255, 0.3)',
42
+ borderRadius: '3px',
43
+
44
+ '&:hover': {
45
+ background: 'rgba(255, 255, 255, 0.4)',
46
+ },
47
+ },
48
+
49
+ zIndex: 100,
50
+ }))
51
+
52
+ export const StyledMainContentContainer = muiStyled('main')(() => ({
53
+ width: `calc(100% - ${sideNavWidth})`,
54
+ // width: '100%',
55
+ height: `calc(100vh - ${headerHeight})`,
56
+ position: 'fixed',
57
+ top: headerHeight,
58
+ left: sideNavWidth,
59
+ overflowY: 'auto',
60
+ }))
package/tsconfig.json CHANGED
@@ -1,21 +1,21 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES5",
4
- "lib": ["dom", "dom.iterable", "esnext"],
5
- "allowJs": true,
6
- "skipLibCheck": true,
7
- "esModuleInterop": true,
8
- "allowSyntheticDefaultImports": true,
9
- "strict": false,
10
- "forceConsistentCasingInFileNames": true,
11
- "noFallthroughCasesInSwitch": true,
12
- "module": "ESNext",
13
- "moduleResolution": "node",
14
- "resolveJsonModule": true,
15
- "isolatedModules": true,
16
- "noEmit": true,
17
- "jsx": "react-jsx",
18
- "types": ["node"]
19
- },
20
- "include": ["src"]
21
- }
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES5",
4
+ "lib": ["dom", "dom.iterable", "esnext"],
5
+ "allowJs": true,
6
+ "skipLibCheck": true,
7
+ "esModuleInterop": true,
8
+ "allowSyntheticDefaultImports": true,
9
+ "strict": false,
10
+ "forceConsistentCasingInFileNames": true,
11
+ "noFallthroughCasesInSwitch": true,
12
+ "module": "ESNext",
13
+ "moduleResolution": "node",
14
+ "resolveJsonModule": true,
15
+ "isolatedModules": true,
16
+ "noEmit": true,
17
+ "jsx": "react-jsx",
18
+ "types": ["node"]
19
+ },
20
+ "include": ["src"]
21
+ }