@campxdev/shared 1.4.19 → 1.4.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/antd.customize.less +73 -73
  2. package/exports.ts +18 -18
  3. package/package.json +84 -84
  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/AnchorElement.tsx +44 -0
  24. package/src/components/DropDownButton/DropDownButton.tsx +175 -177
  25. package/src/components/DropDownButton/DropdownMenuItem.tsx +100 -0
  26. package/src/components/DropDownButton/index.tsx +1 -1
  27. package/src/components/DropDownButton/styles.tsx +59 -56
  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 +40 -40
  34. package/src/components/FilterComponents/SearchBar.tsx +40 -40
  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 +69 -69
  68. package/src/components/Input/DateRangePicker.tsx +105 -105
  69. package/src/components/Input/DateTimePicker.tsx +77 -77
  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 +70 -70
  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 +102 -102
  84. package/src/components/Layout/Header/AppsMenu.tsx +98 -98
  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 +81 -81
  88. package/src/components/Layout/Header/applications.ts +91 -91
  89. package/src/components/Layout/Header/assets/campx_square_small.svg +9 -9
  90. package/src/components/Layout/Header/assets/commutex.svg +14 -14
  91. package/src/components/Layout/Header/assets/commutexSmall.svg +11 -11
  92. package/src/components/Layout/Header/assets/enroll.svg +14 -14
  93. package/src/components/Layout/Header/assets/enrollx.svg +14 -14
  94. package/src/components/Layout/Header/assets/exams_small.svg +12 -12
  95. package/src/components/Layout/Header/assets/examsx.svg +14 -14
  96. package/src/components/Layout/Header/assets/hostel_small.svg +13 -13
  97. package/src/components/Layout/Header/assets/hostelx.svg +13 -13
  98. package/src/components/Layout/Header/assets/index.ts +33 -33
  99. package/src/components/Layout/Header/assets/libraryx.svg +12 -12
  100. package/src/components/Layout/Header/assets/pay_small.svg +16 -16
  101. package/src/components/Layout/Header/assets/payx.svg +19 -19
  102. package/src/components/Layout/Header/assets/people_small.svg +9 -9
  103. package/src/components/Layout/Header/assets/peoplex.svg +12 -12
  104. package/src/components/Layout/Header/assets/squarex.svg +12 -12
  105. package/src/components/Layout/Header/icons.tsx +57 -57
  106. package/src/components/Layout/Header/index.tsx +1 -1
  107. package/src/components/Layout/Header/styles.tsx +124 -124
  108. package/src/components/Layout/LayoutWrapper.tsx +28 -28
  109. package/src/components/Layout/SideMenuHeader.tsx +29 -29
  110. package/src/components/Layout/SideNav.tsx +168 -168
  111. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +273 -273
  112. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +94 -94
  113. package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
  114. package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
  115. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  116. package/src/components/Layout/Tickets/index.tsx +1 -1
  117. package/src/components/Layout/Tickets/services.ts +11 -11
  118. package/src/components/Layout/Tickets/styles.tsx +136 -136
  119. package/src/components/LinearProgress.tsx +19 -19
  120. package/src/components/ListItemButton.tsx +95 -95
  121. package/src/components/LoginForm.tsx +80 -80
  122. package/src/components/MediaRow/MediaRow.tsx +69 -69
  123. package/src/components/MediaRow/index.tsx +1 -1
  124. package/src/components/ModalButtons/DialogButton.tsx +121 -93
  125. package/src/components/ModalButtons/DrawerButton.tsx +113 -84
  126. package/src/components/ModalButtons/index.tsx +4 -4
  127. package/src/components/NoDataIllustration.tsx +32 -32
  128. package/src/components/PageContent.tsx +12 -12
  129. package/src/components/PageHeader.tsx +55 -55
  130. package/src/components/PageNotFound.tsx +26 -26
  131. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  132. package/src/components/PopupConfirm/PopupConfirm.tsx +34 -34
  133. package/src/components/PopupConfirm/index.tsx +1 -1
  134. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  135. package/src/components/Row.tsx +24 -24
  136. package/src/components/Spinner.tsx +18 -18
  137. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  138. package/src/components/StepsHeader/index.tsx +1 -1
  139. package/src/components/StyledTableContainer.tsx +33 -33
  140. package/src/components/SwitchButton.tsx +41 -41
  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 +295 -295
  145. package/src/components/TableComponent/RenderTableBody.tsx +68 -68
  146. package/src/components/TableComponent/Table.tsx +197 -197
  147. package/src/components/TableComponent/TableFooter/TableFooter.tsx +104 -104
  148. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  149. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  150. package/src/components/TableComponent/index.tsx +1 -1
  151. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  152. package/src/components/TableComponent/styles.tsx +170 -170
  153. package/src/components/TableComponent/types.ts +57 -57
  154. package/src/components/Tabs/Tabs.tsx +52 -52
  155. package/src/components/Tabs/TabsContainer.tsx +50 -50
  156. package/src/components/Tabs/index.tsx +1 -1
  157. package/src/components/Tabs/styles.tsx +55 -55
  158. package/src/components/ToastContainer/ToastContainer.tsx +42 -42
  159. package/src/components/ToastContainer/index.tsx +1 -1
  160. package/src/components/UploadButton/UploadButton.tsx +126 -126
  161. package/src/components/UploadButton/index.tsx +1 -1
  162. package/src/components/UploadButton/types.ts +19 -19
  163. package/src/components/UploadDocument.tsx +108 -108
  164. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  165. package/src/components/UploadFileDialog/index.tsx +1 -1
  166. package/src/components/index.ts +89 -89
  167. package/src/config/axios.ts +73 -73
  168. package/src/config/axiosEvaluator.ts +53 -53
  169. package/src/config/axiosXTenant.ts +57 -57
  170. package/src/constants/UIConstants.ts +97 -97
  171. package/src/constants/formValidations.ts +6 -6
  172. package/src/constants/index.ts +5 -5
  173. package/src/constants/isDevelopment.ts +3 -3
  174. package/src/constants/permissions.ts +67 -67
  175. package/src/constants/validateMessages.ts +12 -12
  176. package/src/contexts/LoginFormProvider.tsx +39 -39
  177. package/src/contexts/Providers.tsx +73 -73
  178. package/src/contexts/PublicProviders.tsx +30 -30
  179. package/src/contexts/QueryClientProvider.tsx +22 -22
  180. package/src/hooks/index.ts +3 -3
  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 +74 -74
  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 +592 -560
  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 +7 -7
  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/withRouteWrapper.tsx +25 -25
  212. package/src/utils/withSuspense.tsx +6 -6
  213. package/styled-components.tsx +60 -60
  214. package/tsconfig.json +21 -21
  215. package/yarn-error.log +109 -0
  216. package/src/components/Layout/Header/assets/commuteX.png +0 -0
@@ -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
+ }