@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,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://auth-api.campx.in',
15
- url: '/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://auth-api.campx.in',
15
+ url: '/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 { LinearProgress } from '../components/LinearProgress'
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={<LinearProgress />} 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 { LinearProgress } from '../components/LinearProgress'
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={<LinearProgress />} 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
+ }