@campxdev/shared 1.5.8 → 1.6.0

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 +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 +70 -70
  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/Helmet.tsx +49 -49
  109. package/src/components/Layout/LayoutWrapper.tsx +28 -28
  110. package/src/components/Layout/SideMenuHeader.tsx +29 -29
  111. package/src/components/Layout/SideNav.tsx +168 -168
  112. package/src/components/Layout/Tickets/HelpWidget/HelpWidget.tsx +273 -273
  113. package/src/components/Layout/Tickets/HelpWidget/styles.tsx +94 -94
  114. package/src/components/Layout/Tickets/MyTickets.tsx +72 -72
  115. package/src/components/Layout/Tickets/TicketDetails.tsx +65 -65
  116. package/src/components/Layout/Tickets/TimeLine.tsx +64 -64
  117. package/src/components/Layout/Tickets/index.tsx +1 -1
  118. package/src/components/Layout/Tickets/services.ts +11 -11
  119. package/src/components/Layout/Tickets/styles.tsx +136 -136
  120. package/src/components/LinearProgress.tsx +19 -19
  121. package/src/components/ListItemButton.tsx +95 -95
  122. package/src/components/LoginForm.tsx +80 -80
  123. package/src/components/MediaRow/MediaRow.tsx +69 -69
  124. package/src/components/MediaRow/index.tsx +1 -1
  125. package/src/components/ModalButtons/DialogButton.tsx +121 -121
  126. package/src/components/ModalButtons/DrawerButton.tsx +113 -113
  127. package/src/components/ModalButtons/index.tsx +4 -4
  128. package/src/components/NoDataIllustration.tsx +32 -32
  129. package/src/components/PageContent.tsx +12 -12
  130. package/src/components/PageHeader.tsx +55 -55
  131. package/src/components/PageNotFound.tsx +26 -26
  132. package/src/components/PopupConfirm/ConfirmContextProvider.tsx +40 -40
  133. package/src/components/PopupConfirm/PopupConfirm.tsx +67 -67
  134. package/src/components/PopupConfirm/index.tsx +1 -1
  135. package/src/components/PopupConfirm/useConfirm.ts +47 -47
  136. package/src/components/Row.tsx +24 -24
  137. package/src/components/Spinner.tsx +18 -18
  138. package/src/components/StepsHeader/StepsHeader.tsx +115 -115
  139. package/src/components/StepsHeader/index.tsx +1 -1
  140. package/src/components/StyledTableContainer.tsx +33 -33
  141. package/src/components/SwitchButton.tsx +41 -41
  142. package/src/components/Table.tsx +42 -42
  143. package/src/components/TableComponent/BatchActionsHeader.tsx +58 -58
  144. package/src/components/TableComponent/Icons/index.tsx +50 -50
  145. package/src/components/TableComponent/ReactTable.tsx +295 -295
  146. package/src/components/TableComponent/RenderTableBody.tsx +68 -68
  147. package/src/components/TableComponent/Table.tsx +197 -197
  148. package/src/components/TableComponent/TableFooter/TableFooter.tsx +104 -104
  149. package/src/components/TableComponent/TableFooter/index.tsx +1 -1
  150. package/src/components/TableComponent/TableFooter/styles.tsx +28 -28
  151. package/src/components/TableComponent/index.tsx +1 -1
  152. package/src/components/TableComponent/react-table-config.d.ts +128 -128
  153. package/src/components/TableComponent/styles.tsx +170 -170
  154. package/src/components/TableComponent/types.ts +57 -57
  155. package/src/components/Tabs/NavigationTabs.tsx +80 -80
  156. package/src/components/Tabs/Tabs.tsx +53 -53
  157. package/src/components/Tabs/TabsContainer.tsx +50 -50
  158. package/src/components/Tabs/index.tsx +1 -1
  159. package/src/components/Tabs/styles.tsx +55 -55
  160. package/src/components/ToastContainer/ToastContainer.tsx +57 -57
  161. package/src/components/ToastContainer/index.tsx +1 -1
  162. package/src/components/UploadButton/UploadButton.tsx +126 -126
  163. package/src/components/UploadButton/index.tsx +1 -1
  164. package/src/components/UploadButton/types.ts +19 -19
  165. package/src/components/UploadDocument.tsx +108 -108
  166. package/src/components/UploadFileDialog/UploadFileDialog.tsx +238 -238
  167. package/src/components/UploadFileDialog/index.tsx +1 -1
  168. package/src/components/index.ts +93 -93
  169. package/src/config/axios.ts +73 -73
  170. package/src/config/axiosEvaluator.ts +53 -53
  171. package/src/config/axiosXTenant.ts +57 -57
  172. package/src/constants/UIConstants.ts +97 -97
  173. package/src/constants/formValidations.ts +6 -6
  174. package/src/constants/index.ts +5 -5
  175. package/src/constants/isDevelopment.ts +3 -3
  176. package/src/constants/permissions.ts +67 -67
  177. package/src/constants/validateMessages.ts +12 -12
  178. package/src/contexts/LoginFormProvider.tsx +39 -39
  179. package/src/contexts/Providers.tsx +73 -73
  180. package/src/contexts/PublicProviders.tsx +30 -30
  181. package/src/contexts/QueryClientProvider.tsx +22 -22
  182. package/src/hooks/index.ts +4 -4
  183. package/src/hooks/useAuth.ts +96 -96
  184. package/src/hooks/useFetch.ts +53 -53
  185. package/src/hooks/useFilters.ts +80 -80
  186. package/src/hooks/useRouter.ts +31 -31
  187. package/src/layouts/Components/DashBoardMenu.tsx +232 -232
  188. package/src/layouts/Components/icons/index.tsx +403 -403
  189. package/src/layouts/Components/styles.tsx +74 -74
  190. package/src/layouts/ComponentsLayout.tsx +3 -3
  191. package/src/permissions/PageWithPermission.tsx +18 -18
  192. package/src/permissions/PermissionDeniedPage.tsx +16 -16
  193. package/src/permissions/ValidateAccess.tsx +18 -18
  194. package/src/permissions/index.ts +2 -2
  195. package/src/react-app-env.d.ts +1 -1
  196. package/src/shared-state/AssetsStore.ts +15 -15
  197. package/src/shared-state/PermissionsStore.ts +352 -352
  198. package/src/shared-state/UserStore.ts +13 -13
  199. package/src/shared-state/index.ts +4 -4
  200. package/src/theme/App.less +3 -3
  201. package/src/theme/MuiThemeProvider.tsx +13 -13
  202. package/src/theme/customCssBaseline.ts +135 -135
  203. package/src/theme/index.css +28 -28
  204. package/src/theme/muiTheme.ts +592 -592
  205. package/src/theme/theme.d.ts +75 -75
  206. package/src/utils/alphabet.ts +23 -23
  207. package/src/utils/arrayPadEnd.ts +3 -3
  208. package/src/utils/formatCurrency.ts +9 -9
  209. package/src/utils/getUrlParams.ts +5 -5
  210. package/src/utils/index.ts +7 -7
  211. package/src/utils/logout.ts +25 -25
  212. package/src/utils/ordinalSuffixOf.ts +14 -14
  213. package/src/utils/romanize.ts +40 -40
  214. package/src/utils/withRouteWrapper.tsx +25 -25
  215. package/src/utils/withSuspense.tsx +6 -6
  216. package/styled-components.tsx +60 -60
  217. package/tsconfig.json +21 -21
  218. package/yarn-error.log +109 -0
  219. 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
+ }