@campxdev/shared 1.5.7 → 1.5.9

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 (222) 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/Avenir-Heavy.ttf +0 -0
  5. package/src/assets/fonts/avenir/Avenir-Medium.ttf +0 -0
  6. package/src/assets/fonts/avenir/Avenir-Regular.ttf +0 -0
  7. package/src/assets/fonts/avenir/index.ts +13 -13
  8. package/src/assets/fonts/poppins/index.ts +18 -18
  9. package/src/assets/images/index.ts +17 -17
  10. package/src/assets/images/unauth.svg +92 -92
  11. package/src/components/ActionButton.tsx +20 -20
  12. package/src/components/Attachment.tsx +26 -26
  13. package/src/components/AutocompleteSearch/AutocompleteSearch.tsx +57 -57
  14. package/src/components/AutocompleteSearch/index.tsx +1 -1
  15. package/src/components/Breadcrumbs.tsx +72 -72
  16. package/src/components/Card.tsx +98 -98
  17. package/src/components/CardsGrid.tsx +28 -28
  18. package/src/components/ChangePassword.tsx +123 -123
  19. package/src/components/Chips.tsx +81 -81
  20. package/src/components/Detail.tsx +15 -15
  21. package/src/components/DetailsGrid.tsx +52 -52
  22. package/src/components/DividerHeading.tsx +41 -41
  23. package/src/components/DrawerWrapper/DialogWrapper.tsx +67 -67
  24. package/src/components/DrawerWrapper/DrawerTemplate.tsx +53 -53
  25. package/src/components/DrawerWrapper/DrawerWrapper.tsx +53 -53
  26. package/src/components/DropDownButton/AnchorElement.tsx +44 -44
  27. package/src/components/DropDownButton/DropDownButton.tsx +184 -184
  28. package/src/components/DropDownButton/DropdownMenuItem.tsx +110 -110
  29. package/src/components/DropDownButton/index.tsx +1 -1
  30. package/src/components/DropDownButton/styles.tsx +59 -59
  31. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  32. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  33. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  34. package/src/components/ErrorBoundary/index.tsx +1 -1
  35. package/src/components/ErrorBox.tsx +42 -42
  36. package/src/components/FilterComponents/FilterButton.tsx +56 -56
  37. package/src/components/FilterComponents/SearchBar.tsx +45 -45
  38. package/src/components/FloatingContainer.tsx +33 -33
  39. package/src/components/Form/Form.tsx +156 -156
  40. package/src/components/Form/RenderForm.tsx +188 -188
  41. package/src/components/FullCalendar/Actions.tsx +162 -162
  42. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  43. package/src/components/FullScreenLoader.tsx +19 -19
  44. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  45. package/src/components/HookForm/DatePicker.tsx +40 -40
  46. package/src/components/HookForm/DateTimePicker.tsx +47 -47
  47. package/src/components/HookForm/FormLabel.tsx +14 -14
  48. package/src/components/HookForm/MultiCheckbox.tsx +69 -69
  49. package/src/components/HookForm/MultiSelect.tsx +53 -53
  50. package/src/components/HookForm/RadioGroup.tsx +45 -45
  51. package/src/components/HookForm/SingleCheckbox.tsx +34 -34
  52. package/src/components/HookForm/SingleSelect.tsx +46 -46
  53. package/src/components/HookForm/TextField.tsx +40 -40
  54. package/src/components/HookForm/TimePicker.tsx +40 -40
  55. package/src/components/HookForm/index.ts +23 -23
  56. package/src/components/IconButtons/IconButtons.tsx +137 -137
  57. package/src/components/IconButtons/Icons.tsx +268 -268
  58. package/src/components/IconButtons/assets/edit.svg +4 -4
  59. package/src/components/IconButtons/assets/eye.svg +6 -6
  60. package/src/components/IconButtons/assets/trash.svg +7 -7
  61. package/src/components/IconButtons/index.tsx +8 -8
  62. package/src/components/IconLabel.tsx +37 -37
  63. package/src/components/Image/Image.tsx +45 -45
  64. package/src/components/Image/index.tsx +1 -1
  65. package/src/components/ImageUpload.tsx +98 -98
  66. package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +216 -216
  67. package/src/components/Input/AsyncSearchSelect/index.tsx +1 -1
  68. package/src/components/Input/AsyncSearchSelect/styles.tsx +105 -105
  69. package/src/components/Input/AutoCompleteSearch.tsx +121 -121
  70. package/src/components/Input/DatePicker.tsx +73 -73
  71. package/src/components/Input/DateRangePicker.tsx +105 -105
  72. package/src/components/Input/DateTimePicker.tsx +81 -81
  73. package/src/components/Input/FormLabel.tsx +21 -21
  74. package/src/components/Input/MultiCheckbox.tsx +64 -64
  75. package/src/components/Input/MultiSelect.tsx +150 -150
  76. package/src/components/Input/RadioGroup.tsx +104 -104
  77. package/src/components/Input/SingleCheckbox.tsx +78 -78
  78. package/src/components/Input/SingleSelect.tsx +104 -104
  79. package/src/components/Input/TextField.tsx +46 -46
  80. package/src/components/Input/TimePicker.tsx +74 -74
  81. package/src/components/Input/index.ts +26 -26
  82. package/src/components/Input/types.ts +3 -3
  83. package/src/components/JsonPreview.tsx +7 -7
  84. package/src/components/LabelValue.tsx +21 -21
  85. package/src/components/Layout/ChangePassword.tsx +49 -49
  86. package/src/components/Layout/Header/AppHeader.tsx +102 -102
  87. package/src/components/Layout/Header/AppsMenu.tsx +98 -98
  88. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  89. package/src/components/Layout/Header/Notification.tsx +13 -13
  90. package/src/components/Layout/Header/UserBox.tsx +70 -70
  91. package/src/components/Layout/Header/applications.ts +91 -91
  92. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  93. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  94. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  95. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  96. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  97. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  98. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  99. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  100. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  101. package/src/components/Layout/Header/assets/index.ts +33 -33
  102. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  103. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  104. package/src/components/Layout/Header/assets/payx.svg +19 -19
  105. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  106. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  107. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  108. package/src/components/Layout/Header/icons.tsx +57 -57
  109. package/src/components/Layout/Header/index.tsx +1 -1
  110. package/src/components/Layout/Header/styles.tsx +124 -124
  111. package/src/components/Layout/Helmet.tsx +49 -49
  112. package/src/components/Layout/LayoutWrapper.tsx +28 -28
  113. package/src/components/Layout/SideMenuHeader.tsx +29 -29
  114. package/src/components/Layout/SideNav.tsx +168 -168
  115. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +273 -273
  116. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +94 -94
  117. package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
  118. package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
  119. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  120. package/src/components/Layout/Tickets/index.tsx +1 -1
  121. package/src/components/Layout/Tickets/services.ts +11 -11
  122. package/src/components/Layout/Tickets/styles.tsx +136 -136
  123. package/src/components/LinearProgress.tsx +19 -19
  124. package/src/components/ListItemButton.tsx +95 -95
  125. package/src/components/LoginForm.tsx +80 -80
  126. package/src/components/MediaRow/MediaRow.tsx +69 -69
  127. package/src/components/MediaRow/index.tsx +1 -1
  128. package/src/components/ModalButtons/DialogButton.tsx +121 -121
  129. package/src/components/ModalButtons/DrawerButton.tsx +113 -113
  130. package/src/components/ModalButtons/index.tsx +4 -4
  131. package/src/components/NoDataIllustration.tsx +32 -32
  132. package/src/components/PageContent.tsx +12 -12
  133. package/src/components/PageHeader.tsx +55 -55
  134. package/src/components/PageNotFound.tsx +26 -26
  135. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  136. package/src/components/PopupConfirm/PopupConfirm.tsx +67 -67
  137. package/src/components/PopupConfirm/index.tsx +1 -1
  138. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  139. package/src/components/Row.tsx +24 -24
  140. package/src/components/Spinner.tsx +18 -18
  141. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  142. package/src/components/StepsHeader/index.tsx +1 -1
  143. package/src/components/StyledTableContainer.tsx +33 -33
  144. package/src/components/SwitchButton.tsx +41 -41
  145. package/src/components/Table.tsx +42 -42
  146. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  147. package/src/components/TableComponent/Icons/index.tsx +50 -50
  148. package/src/components/TableComponent/ReactTable.tsx +295 -295
  149. package/src/components/TableComponent/RenderTableBody.tsx +68 -68
  150. package/src/components/TableComponent/Table.tsx +197 -197
  151. package/src/components/TableComponent/TableFooter/TableFooter.tsx +104 -104
  152. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  153. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  154. package/src/components/TableComponent/index.tsx +1 -1
  155. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  156. package/src/components/TableComponent/styles.tsx +170 -170
  157. package/src/components/TableComponent/types.ts +57 -57
  158. package/src/components/Tabs/NavigationTabs.tsx +80 -80
  159. package/src/components/Tabs/Tabs.tsx +53 -53
  160. package/src/components/Tabs/TabsContainer.tsx +50 -50
  161. package/src/components/Tabs/index.tsx +1 -1
  162. package/src/components/Tabs/styles.tsx +55 -55
  163. package/src/components/ToastContainer/ToastContainer.tsx +57 -57
  164. package/src/components/ToastContainer/index.tsx +1 -1
  165. package/src/components/UploadButton/UploadButton.tsx +126 -126
  166. package/src/components/UploadButton/index.tsx +1 -1
  167. package/src/components/UploadButton/types.ts +19 -19
  168. package/src/components/UploadDocument.tsx +108 -108
  169. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  170. package/src/components/UploadFileDialog/index.tsx +1 -1
  171. package/src/components/index.ts +93 -93
  172. package/src/config/axios.ts +73 -73
  173. package/src/config/axiosEvaluator.ts +53 -53
  174. package/src/config/axiosXTenant.ts +57 -57
  175. package/src/constants/UIConstants.ts +97 -97
  176. package/src/constants/formValidations.ts +6 -6
  177. package/src/constants/index.ts +5 -5
  178. package/src/constants/isDevelopment.ts +3 -3
  179. package/src/constants/permissions.ts +67 -67
  180. package/src/constants/validateMessages.ts +12 -12
  181. package/src/contexts/LoginFormProvider.tsx +39 -39
  182. package/src/contexts/Providers.tsx +73 -73
  183. package/src/contexts/PublicProviders.tsx +30 -30
  184. package/src/contexts/QueryClientProvider.tsx +22 -22
  185. package/src/hooks/index.ts +4 -4
  186. package/src/hooks/useAuth.ts +96 -96
  187. package/src/hooks/useFetch.ts +53 -53
  188. package/src/hooks/useFilters.ts +80 -80
  189. package/src/hooks/useRouter.ts +31 -31
  190. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  191. package/src/layouts/Components/icons/index.tsx +403 -403
  192. package/src/layouts/Components/styles.tsx +74 -74
  193. package/src/layouts/ComponentsLayout.tsx +3 -3
  194. package/src/permissions/PageWithPermission.tsx +18 -18
  195. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  196. package/src/permissions/ValidateAccess.tsx +18 -18
  197. package/src/permissions/index.ts +2 -2
  198. package/src/react-app-env.d.ts +1 -1
  199. package/src/shared-state/AssetsStore.ts +15 -15
  200. package/src/shared-state/PermissionsStore.ts +352 -352
  201. package/src/shared-state/UserStore.ts +13 -13
  202. package/src/shared-state/index.ts +4 -4
  203. package/src/theme/App.less +3 -3
  204. package/src/theme/MuiThemeProvider.tsx +13 -13
  205. package/src/theme/customCssBaseline.ts +135 -135
  206. package/src/theme/index.css +28 -28
  207. package/src/theme/muiTheme.ts +592 -592
  208. package/src/theme/theme.d.ts +75 -75
  209. package/src/utils/alphabet.ts +23 -23
  210. package/src/utils/arrayPadEnd.ts +3 -3
  211. package/src/utils/formatCurrency.ts +9 -9
  212. package/src/utils/getUrlParams.ts +5 -5
  213. package/src/utils/index.ts +7 -7
  214. package/src/utils/logout.ts +25 -25
  215. package/src/utils/ordinalSuffixOf.ts +14 -14
  216. package/src/utils/romanize.ts +40 -40
  217. package/src/utils/withRouteWrapper.tsx +25 -25
  218. package/src/utils/withSuspense.tsx +6 -6
  219. package/styled-components.tsx +60 -60
  220. package/tsconfig.json +21 -21
  221. package/yarn-error.log +109 -0
  222. 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,7 +1,7 @@
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 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 onLogout } from './logout'
@@ -1,25 +1,25 @@
1
- import Cookies from 'js-cookie'
2
- import { useConfirm } from '../components'
3
- import axios, { axiosErrorToast } from '../config/axios'
4
- import { isDevelopment } from '../constants'
5
-
6
- export default function logout() {
7
- if (isDevelopment) {
8
- Cookies.remove('campx_session_key')
9
- window.location.href = window.location.origin + '/campx_dev'
10
- return
11
- }
12
-
13
- axios({
14
- method: 'POST',
15
- baseURL: 'https://api.campx.in',
16
- url: '/auth-server/auth/logout',
17
- })
18
- .then((res) => {
19
- Cookies.remove('campx_tenant')
20
- window.location.href = 'https://id.campx.in'
21
- })
22
- .catch((err) => {
23
- axiosErrorToast('Unable To Logout.')
24
- })
25
- }
1
+ import Cookies from 'js-cookie'
2
+ import { useConfirm } from '../components'
3
+ import axios, { axiosErrorToast } from '../config/axios'
4
+ import { isDevelopment } from '../constants'
5
+
6
+ export default function logout() {
7
+ if (isDevelopment) {
8
+ Cookies.remove('campx_session_key')
9
+ window.location.href = window.location.origin + '/campx_dev'
10
+ return
11
+ }
12
+
13
+ axios({
14
+ method: 'POST',
15
+ baseURL: 'https://api.campx.in',
16
+ url: '/auth-server/auth/logout',
17
+ })
18
+ .then((res) => {
19
+ Cookies.remove('campx_tenant')
20
+ window.location.href = 'https://id.campx.in'
21
+ })
22
+ .catch((err) => {
23
+ axiosErrorToast('Unable To Logout.')
24
+ })
25
+ }
@@ -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,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
+ }