@campxdev/shared 1.6.2 → 1.6.3

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 (219) 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 +13 -13
  5. package/src/assets/fonts/poppins/index.ts +18 -18
  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/AnchorElement.tsx +44 -44
  24. package/src/components/DropDownButton/DropDownButton.tsx +184 -184
  25. package/src/components/DropDownButton/DropdownMenuItem.tsx +110 -110
  26. package/src/components/DropDownButton/index.tsx +1 -1
  27. package/src/components/DropDownButton/styles.tsx +59 -59
  28. package/src/components/ErrorBoundary/ErrorBoundary.tsx +28 -28
  29. package/src/components/ErrorBoundary/ErrorFallback.tsx +236 -236
  30. package/src/components/ErrorBoundary/GlobalNetworkLoadingIndicator.tsx +13 -13
  31. package/src/components/ErrorBoundary/index.tsx +1 -1
  32. package/src/components/ErrorBox.tsx +42 -42
  33. package/src/components/FilterComponents/FilterButton.tsx +56 -56
  34. package/src/components/FilterComponents/SearchBar.tsx +45 -45
  35. package/src/components/FloatingContainer.tsx +33 -33
  36. package/src/components/Form/Form.tsx +156 -156
  37. package/src/components/Form/RenderForm.tsx +188 -188
  38. package/src/components/FullCalendar/Actions.tsx +162 -162
  39. package/src/components/FullCalendar/FullCalendarWrapper.tsx +54 -54
  40. package/src/components/FullScreenLoader.tsx +19 -19
  41. package/src/components/HookForm/AutoCompleteSearch.tsx +113 -113
  42. package/src/components/HookForm/DatePicker.tsx +40 -40
  43. package/src/components/HookForm/DateTimePicker.tsx +47 -47
  44. package/src/components/HookForm/FormLabel.tsx +14 -14
  45. package/src/components/HookForm/MultiCheckbox.tsx +69 -69
  46. package/src/components/HookForm/MultiSelect.tsx +53 -53
  47. package/src/components/HookForm/RadioGroup.tsx +45 -45
  48. package/src/components/HookForm/SingleCheckbox.tsx +34 -34
  49. package/src/components/HookForm/SingleSelect.tsx +46 -46
  50. package/src/components/HookForm/TextField.tsx +40 -40
  51. package/src/components/HookForm/TimePicker.tsx +40 -40
  52. package/src/components/HookForm/index.ts +23 -23
  53. package/src/components/IconButtons/IconButtons.tsx +137 -137
  54. package/src/components/IconButtons/Icons.tsx +268 -268
  55. package/src/components/IconButtons/assets/edit.svg +4 -4
  56. package/src/components/IconButtons/assets/eye.svg +6 -6
  57. package/src/components/IconButtons/assets/trash.svg +7 -7
  58. package/src/components/IconButtons/index.tsx +8 -8
  59. package/src/components/IconLabel.tsx +37 -37
  60. package/src/components/Image/Image.tsx +45 -45
  61. package/src/components/Image/index.tsx +1 -1
  62. package/src/components/ImageUpload.tsx +98 -98
  63. package/src/components/Input/AsyncSearchSelect/AsyncSearchSelect.tsx +216 -216
  64. package/src/components/Input/AsyncSearchSelect/index.tsx +1 -1
  65. package/src/components/Input/AsyncSearchSelect/styles.tsx +105 -105
  66. package/src/components/Input/AutoCompleteSearch.tsx +121 -121
  67. package/src/components/Input/DatePicker.tsx +73 -73
  68. package/src/components/Input/DateRangePicker.tsx +105 -105
  69. package/src/components/Input/DateTimePicker.tsx +81 -81
  70. package/src/components/Input/FormLabel.tsx +21 -21
  71. package/src/components/Input/MultiCheckbox.tsx +64 -64
  72. package/src/components/Input/MultiSelect.tsx +150 -150
  73. package/src/components/Input/RadioGroup.tsx +104 -104
  74. package/src/components/Input/SingleCheckbox.tsx +78 -78
  75. package/src/components/Input/SingleSelect.tsx +104 -104
  76. package/src/components/Input/TextField.tsx +46 -46
  77. package/src/components/Input/TimePicker.tsx +74 -74
  78. package/src/components/Input/index.ts +26 -26
  79. package/src/components/Input/types.ts +3 -3
  80. package/src/components/JsonPreview.tsx +7 -7
  81. package/src/components/LabelValue.tsx +21 -21
  82. package/src/components/Layout/ChangePassword.tsx +49 -49
  83. package/src/components/Layout/Header/AppHeader.tsx +121 -121
  84. package/src/components/Layout/Header/AppsMenu.tsx +102 -102
  85. package/src/components/Layout/Header/CogWheelMenu.tsx +33 -33
  86. package/src/components/Layout/Header/Notification.tsx +13 -13
  87. package/src/components/Layout/Header/UserBox.tsx +61 -61
  88. package/src/components/Layout/Header/applications.ts +91 -91
  89. package/src/components/Layout/Header/assets/campx_square_small.svg +8 -8
  90. package/src/components/Layout/Header/assets/commuteX.png +0 -0
  91. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  92. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  93. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  94. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  95. package/src/components/Layout/Header/assets/exams_small.svg +11 -11
  96. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  97. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  98. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  99. package/src/components/Layout/Header/assets/index.ts +33 -33
  100. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  101. package/src/components/Layout/Header/assets/pay_small.svg +15 -15
  102. package/src/components/Layout/Header/assets/payx.svg +19 -19
  103. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  104. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  105. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  106. package/src/components/Layout/Header/icons.tsx +57 -57
  107. package/src/components/Layout/Header/index.tsx +1 -1
  108. package/src/components/Layout/Header/styles.tsx +133 -133
  109. package/src/components/Layout/Helmet.tsx +49 -49
  110. package/src/components/Layout/LayoutWrapper.tsx +28 -28
  111. package/src/components/Layout/SideMenuHeader.tsx +29 -29
  112. package/src/components/Layout/SideNav.tsx +168 -168
  113. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +273 -273
  114. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +94 -94
  115. package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
  116. package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
  117. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  118. package/src/components/Layout/Tickets/index.tsx +1 -1
  119. package/src/components/Layout/Tickets/services.ts +11 -11
  120. package/src/components/Layout/Tickets/styles.tsx +136 -136
  121. package/src/components/LinearProgress.tsx +19 -19
  122. package/src/components/ListItemButton.tsx +95 -95
  123. package/src/components/LoginForm.tsx +80 -80
  124. package/src/components/MediaRow/MediaRow.tsx +69 -69
  125. package/src/components/MediaRow/index.tsx +1 -1
  126. package/src/components/ModalButtons/DialogButton.tsx +121 -121
  127. package/src/components/ModalButtons/DrawerButton.tsx +113 -113
  128. package/src/components/ModalButtons/index.tsx +4 -4
  129. package/src/components/NoDataIllustration.tsx +32 -32
  130. package/src/components/PageContent.tsx +12 -12
  131. package/src/components/PageHeader.tsx +55 -55
  132. package/src/components/PageNotFound.tsx +26 -26
  133. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  134. package/src/components/PopupConfirm/PopupConfirm.tsx +67 -67
  135. package/src/components/PopupConfirm/index.tsx +1 -1
  136. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  137. package/src/components/Row.tsx +24 -24
  138. package/src/components/Spinner.tsx +18 -18
  139. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  140. package/src/components/StepsHeader/index.tsx +1 -1
  141. package/src/components/StyledTableContainer.tsx +33 -33
  142. package/src/components/SwitchButton.tsx +41 -41
  143. package/src/components/Table.tsx +42 -42
  144. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  145. package/src/components/TableComponent/Icons/index.tsx +50 -50
  146. package/src/components/TableComponent/ReactTable.tsx +295 -295
  147. package/src/components/TableComponent/RenderTableBody.tsx +68 -68
  148. package/src/components/TableComponent/Table.tsx +197 -197
  149. package/src/components/TableComponent/TableFooter/TableFooter.tsx +104 -104
  150. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  151. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  152. package/src/components/TableComponent/index.tsx +1 -1
  153. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  154. package/src/components/TableComponent/styles.tsx +170 -170
  155. package/src/components/TableComponent/types.ts +57 -57
  156. package/src/components/Tabs/NavigationTabs.tsx +80 -80
  157. package/src/components/Tabs/Tabs.tsx +53 -53
  158. package/src/components/Tabs/TabsContainer.tsx +50 -50
  159. package/src/components/Tabs/index.tsx +1 -1
  160. package/src/components/Tabs/styles.tsx +55 -55
  161. package/src/components/ToastContainer/ToastContainer.tsx +57 -57
  162. package/src/components/ToastContainer/index.tsx +1 -1
  163. package/src/components/UploadButton/UploadButton.tsx +126 -126
  164. package/src/components/UploadButton/index.tsx +1 -1
  165. package/src/components/UploadButton/types.ts +19 -19
  166. package/src/components/UploadDocument.tsx +108 -108
  167. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  168. package/src/components/UploadFileDialog/index.tsx +1 -1
  169. package/src/components/index.ts +93 -93
  170. package/src/config/axios.ts +73 -73
  171. package/src/config/axiosEvaluator.ts +53 -53
  172. package/src/config/axiosXTenant.ts +57 -57
  173. package/src/constants/UIConstants.ts +97 -97
  174. package/src/constants/formValidations.ts +6 -6
  175. package/src/constants/index.ts +5 -5
  176. package/src/constants/isDevelopment.ts +3 -3
  177. package/src/constants/permissions.ts +67 -67
  178. package/src/constants/validateMessages.ts +12 -12
  179. package/src/contexts/LoginFormProvider.tsx +39 -39
  180. package/src/contexts/Providers.tsx +44 -73
  181. package/src/contexts/PublicProviders.tsx +30 -30
  182. package/src/contexts/QueryClientProvider.tsx +22 -22
  183. package/src/hooks/index.ts +4 -4
  184. package/src/hooks/useAuth.ts +96 -96
  185. package/src/hooks/useFetch.ts +53 -53
  186. package/src/hooks/useFilters.ts +80 -80
  187. package/src/hooks/useRouter.ts +31 -31
  188. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  189. package/src/layouts/Components/icons/index.tsx +403 -403
  190. package/src/layouts/Components/styles.tsx +74 -74
  191. package/src/layouts/ComponentsLayout.tsx +3 -3
  192. package/src/permissions/PageWithPermission.tsx +18 -18
  193. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  194. package/src/permissions/ValidateAccess.tsx +18 -18
  195. package/src/permissions/index.ts +2 -2
  196. package/src/react-app-env.d.ts +1 -1
  197. package/src/shared-state/AssetsStore.ts +15 -15
  198. package/src/shared-state/PermissionsStore.ts +352 -352
  199. package/src/shared-state/UserStore.ts +13 -13
  200. package/src/shared-state/index.ts +4 -4
  201. package/src/theme/App.less +3 -3
  202. package/src/theme/MuiThemeProvider.tsx +18 -13
  203. package/src/theme/customCssBaseline.ts +135 -135
  204. package/src/theme/index.css +28 -28
  205. package/src/theme/muiTheme.ts +592 -592
  206. package/src/theme/theme.d.ts +75 -75
  207. package/src/utils/alphabet.ts +23 -23
  208. package/src/utils/arrayPadEnd.ts +3 -3
  209. package/src/utils/formatCurrency.ts +9 -9
  210. package/src/utils/getUrlParams.ts +5 -5
  211. package/src/utils/index.ts +7 -7
  212. package/src/utils/logout.ts +25 -25
  213. package/src/utils/ordinalSuffixOf.ts +14 -14
  214. package/src/utils/romanize.ts +40 -40
  215. package/src/utils/withRouteWrapper.tsx +25 -25
  216. package/src/utils/withSuspense.tsx +6 -6
  217. package/styled-components.tsx +60 -60
  218. package/tsconfig.json +21 -21
  219. package/yarn-error.log +0 -109
@@ -1,45 +1,45 @@
1
- import { Box, BoxProps, RadioGroupProps } from '@mui/material'
2
- import { ReactNode } from 'react'
3
- import { Controller } from 'react-hook-form'
4
- import { RadioGroup } from '../Input'
5
-
6
- interface Props extends RadioGroupProps {
7
- label?: ReactNode
8
- name: string
9
- control: any
10
- sx?: any
11
- row?: boolean
12
- required?: boolean
13
- options: { value: any; label: string | ReactNode }[]
14
- containerProps?: BoxProps
15
- }
16
-
17
- export default function FormRadioGroup({
18
- name,
19
- control,
20
- label,
21
- options = [],
22
- row = false,
23
- containerProps,
24
- ...rest
25
- }: Props) {
26
- return (
27
- <Controller
28
- name={name}
29
- control={control}
30
- render={({ field, fieldState: { error } }) => (
31
- <Box width="100%" {...containerProps}>
32
- <RadioGroup
33
- row={row}
34
- name={name}
35
- label={label}
36
- options={options}
37
- value={field.value}
38
- onChange={field.onChange}
39
- {...rest}
40
- />
41
- </Box>
42
- )}
43
- />
44
- )
45
- }
1
+ import { Box, BoxProps, RadioGroupProps } from '@mui/material'
2
+ import { ReactNode } from 'react'
3
+ import { Controller } from 'react-hook-form'
4
+ import { RadioGroup } from '../Input'
5
+
6
+ interface Props extends RadioGroupProps {
7
+ label?: ReactNode
8
+ name: string
9
+ control: any
10
+ sx?: any
11
+ row?: boolean
12
+ required?: boolean
13
+ options: { value: any; label: string | ReactNode }[]
14
+ containerProps?: BoxProps
15
+ }
16
+
17
+ export default function FormRadioGroup({
18
+ name,
19
+ control,
20
+ label,
21
+ options = [],
22
+ row = false,
23
+ containerProps,
24
+ ...rest
25
+ }: Props) {
26
+ return (
27
+ <Controller
28
+ name={name}
29
+ control={control}
30
+ render={({ field, fieldState: { error } }) => (
31
+ <Box width="100%" {...containerProps}>
32
+ <RadioGroup
33
+ row={row}
34
+ name={name}
35
+ label={label}
36
+ options={options}
37
+ value={field.value}
38
+ onChange={field.onChange}
39
+ {...rest}
40
+ />
41
+ </Box>
42
+ )}
43
+ />
44
+ )
45
+ }
@@ -1,34 +1,34 @@
1
- import { CheckboxProps } from '@mui/material'
2
- import { ReactNode } from 'react'
3
- import { Controller } from 'react-hook-form'
4
- import { SingleCheckbox } from '../Input'
5
-
6
- interface Props extends CheckboxProps {
7
- label?: ReactNode
8
- name: string
9
- control: any
10
- }
11
-
12
- export default function FormSingleCheckbox({
13
- name,
14
- control,
15
- label,
16
- onChange,
17
- checked,
18
- ...rest
19
- }: Props) {
20
- return (
21
- <Controller
22
- name={name}
23
- control={control}
24
- render={({ field, fieldState: { error } }) => (
25
- <SingleCheckbox
26
- checked={checked ?? field.value}
27
- onChange={onChange ?? field.onChange}
28
- label={label}
29
- {...rest}
30
- />
31
- )}
32
- />
33
- )
34
- }
1
+ import { CheckboxProps } from '@mui/material'
2
+ import { ReactNode } from 'react'
3
+ import { Controller } from 'react-hook-form'
4
+ import { SingleCheckbox } from '../Input'
5
+
6
+ interface Props extends CheckboxProps {
7
+ label?: ReactNode
8
+ name: string
9
+ control: any
10
+ }
11
+
12
+ export default function FormSingleCheckbox({
13
+ name,
14
+ control,
15
+ label,
16
+ onChange,
17
+ checked,
18
+ ...rest
19
+ }: Props) {
20
+ return (
21
+ <Controller
22
+ name={name}
23
+ control={control}
24
+ render={({ field, fieldState: { error } }) => (
25
+ <SingleCheckbox
26
+ checked={checked ?? field.value}
27
+ onChange={onChange ?? field.onChange}
28
+ label={label}
29
+ {...rest}
30
+ />
31
+ )}
32
+ />
33
+ )
34
+ }
@@ -1,46 +1,46 @@
1
- import { SelectProps } from '@mui/material'
2
- import { ReactNode } from 'react'
3
- import { Controller } from 'react-hook-form'
4
- import { SingleSelect } from '../Input'
5
-
6
- type Props = {
7
- name: string
8
- control: any
9
- options: Array<{ label: ReactNode; value: any }>
10
- firstItemEmpty?: boolean
11
- } & SelectProps
12
-
13
- export default function FormSingleSelect(props: Props) {
14
- const {
15
- name = 'select',
16
- options = [],
17
- control,
18
- label,
19
- onChange,
20
- value,
21
- firstItemEmpty = false,
22
- } = props
23
-
24
- const inputOptions = firstItemEmpty
25
- ? [{ label: 'All', value: '__empty__' }, ...options]
26
- : options
27
-
28
- return (
29
- <Controller
30
- name={name}
31
- control={control}
32
- render={({ field, fieldState: { error } }) => (
33
- <SingleSelect
34
- label={label}
35
- name={name}
36
- onChange={onChange ?? field.onChange}
37
- value={value ?? field?.value}
38
- options={inputOptions}
39
- error={!!error}
40
- helperText={error?.message}
41
- {...props}
42
- />
43
- )}
44
- />
45
- )
46
- }
1
+ import { SelectProps } from '@mui/material'
2
+ import { ReactNode } from 'react'
3
+ import { Controller } from 'react-hook-form'
4
+ import { SingleSelect } from '../Input'
5
+
6
+ type Props = {
7
+ name: string
8
+ control: any
9
+ options: Array<{ label: ReactNode; value: any }>
10
+ firstItemEmpty?: boolean
11
+ } & SelectProps
12
+
13
+ export default function FormSingleSelect(props: Props) {
14
+ const {
15
+ name = 'select',
16
+ options = [],
17
+ control,
18
+ label,
19
+ onChange,
20
+ value,
21
+ firstItemEmpty = false,
22
+ } = props
23
+
24
+ const inputOptions = firstItemEmpty
25
+ ? [{ label: 'All', value: '__empty__' }, ...options]
26
+ : options
27
+
28
+ return (
29
+ <Controller
30
+ name={name}
31
+ control={control}
32
+ render={({ field, fieldState: { error } }) => (
33
+ <SingleSelect
34
+ label={label}
35
+ name={name}
36
+ onChange={onChange ?? field.onChange}
37
+ value={value ?? field?.value}
38
+ options={inputOptions}
39
+ error={!!error}
40
+ helperText={error?.message}
41
+ {...props}
42
+ />
43
+ )}
44
+ />
45
+ )
46
+ }
@@ -1,40 +1,40 @@
1
- import { TextFieldProps as MuiTextFieldProps } from '@mui/material'
2
- import React from 'react'
3
- import { Controller } from 'react-hook-form'
4
- import { TextField } from '../Input'
5
-
6
- type MyTextFieldProps = MuiTextFieldProps & {
7
- control: any
8
- label?: string
9
- name: string
10
- required?: boolean
11
- }
12
-
13
- export default function FormTextField({
14
- name,
15
- control,
16
- label,
17
- required,
18
- onChange,
19
- value,
20
- ...rest
21
- }: MyTextFieldProps) {
22
- return (
23
- <Controller
24
- control={control}
25
- name={name}
26
- render={({ field, fieldState: { error } }) => (
27
- <TextField
28
- name={name}
29
- label={label}
30
- onChange={onChange ?? field.onChange}
31
- value={value ?? field?.value}
32
- required={required}
33
- error={error ? true : false}
34
- helperText={error ? error.message : null}
35
- {...rest}
36
- />
37
- )}
38
- />
39
- )
40
- }
1
+ import { TextFieldProps as MuiTextFieldProps } from '@mui/material'
2
+ import React from 'react'
3
+ import { Controller } from 'react-hook-form'
4
+ import { TextField } from '../Input'
5
+
6
+ type MyTextFieldProps = MuiTextFieldProps & {
7
+ control: any
8
+ label?: string
9
+ name: string
10
+ required?: boolean
11
+ }
12
+
13
+ export default function FormTextField({
14
+ name,
15
+ control,
16
+ label,
17
+ required,
18
+ onChange,
19
+ value,
20
+ ...rest
21
+ }: MyTextFieldProps) {
22
+ return (
23
+ <Controller
24
+ control={control}
25
+ name={name}
26
+ render={({ field, fieldState: { error } }) => (
27
+ <TextField
28
+ name={name}
29
+ label={label}
30
+ onChange={onChange ?? field.onChange}
31
+ value={value ?? field?.value}
32
+ required={required}
33
+ error={error ? true : false}
34
+ helperText={error ? error.message : null}
35
+ {...rest}
36
+ />
37
+ )}
38
+ />
39
+ )
40
+ }
@@ -1,40 +1,40 @@
1
- import { Controller } from 'react-hook-form'
2
- import TimePicker, { ITimePicker } from '../Input/TimePicker'
3
-
4
- interface Props extends Omit<ITimePicker, 'onChange' | 'value'> {
5
- name: string
6
- control: any
7
- }
8
-
9
- export default function FormTimePicker({
10
- name,
11
- control,
12
- label,
13
- minTime,
14
- maxTime,
15
- required,
16
- ...rest
17
- }: Props) {
18
- return (
19
- <Controller
20
- name={name}
21
- control={control}
22
- render={({ field, fieldState: { error } }) => (
23
- <TimePicker
24
- label={label}
25
- required={required}
26
- onChange={field.onChange}
27
- value={field.value}
28
- minTime={minTime}
29
- maxTime={maxTime}
30
- inputProps={{
31
- ...rest.inputProps,
32
- error: !!error,
33
- helperText: error?.message ?? '',
34
- }}
35
- {...rest}
36
- />
37
- )}
38
- />
39
- )
40
- }
1
+ import { Controller } from 'react-hook-form'
2
+ import TimePicker, { ITimePicker } from '../Input/TimePicker'
3
+
4
+ interface Props extends Omit<ITimePicker, 'onChange' | 'value'> {
5
+ name: string
6
+ control: any
7
+ }
8
+
9
+ export default function FormTimePicker({
10
+ name,
11
+ control,
12
+ label,
13
+ minTime,
14
+ maxTime,
15
+ required,
16
+ ...rest
17
+ }: Props) {
18
+ return (
19
+ <Controller
20
+ name={name}
21
+ control={control}
22
+ render={({ field, fieldState: { error } }) => (
23
+ <TimePicker
24
+ label={label}
25
+ required={required}
26
+ onChange={field.onChange}
27
+ value={field.value}
28
+ minTime={minTime}
29
+ maxTime={maxTime}
30
+ inputProps={{
31
+ ...rest.inputProps,
32
+ error: !!error,
33
+ helperText: error?.message ?? '',
34
+ }}
35
+ {...rest}
36
+ />
37
+ )}
38
+ />
39
+ )
40
+ }
@@ -1,23 +1,23 @@
1
- import SingleSelect from './SingleSelect'
2
- import FormDatePicker from './DatePicker'
3
- import MultiCheckbox from './MultiCheckbox'
4
- import MultiSelect from './MultiSelect'
5
- import RadioGroup from './RadioGroup'
6
- import SingleCheckbox from './SingleCheckbox'
7
- import AutoCompleteSearch from './AutoCompleteSearch'
8
- import FormTextField from './TextField'
9
- import TimePicker from './TimePicker'
10
- import FormDateTimePicker from './DateTimePicker'
11
-
12
- export {
13
- SingleSelect as FormSingleSelect,
14
- FormDatePicker,
15
- FormTextField,
16
- MultiCheckbox as FormMultiCheckbox,
17
- MultiSelect as FormMultiSelect,
18
- RadioGroup as FormRadioGroup,
19
- SingleCheckbox as FormSingleCheckbox,
20
- AutoCompleteSearch as FormAutoCompleteSearch,
21
- TimePicker as FormTimePicker,
22
- FormDateTimePicker,
23
- }
1
+ import SingleSelect from './SingleSelect'
2
+ import FormDatePicker from './DatePicker'
3
+ import MultiCheckbox from './MultiCheckbox'
4
+ import MultiSelect from './MultiSelect'
5
+ import RadioGroup from './RadioGroup'
6
+ import SingleCheckbox from './SingleCheckbox'
7
+ import AutoCompleteSearch from './AutoCompleteSearch'
8
+ import FormTextField from './TextField'
9
+ import TimePicker from './TimePicker'
10
+ import FormDateTimePicker from './DateTimePicker'
11
+
12
+ export {
13
+ SingleSelect as FormSingleSelect,
14
+ FormDatePicker,
15
+ FormTextField,
16
+ MultiCheckbox as FormMultiCheckbox,
17
+ MultiSelect as FormMultiSelect,
18
+ RadioGroup as FormRadioGroup,
19
+ SingleCheckbox as FormSingleCheckbox,
20
+ AutoCompleteSearch as FormAutoCompleteSearch,
21
+ TimePicker as FormTimePicker,
22
+ FormDateTimePicker,
23
+ }