tp-react-elements-dev 1.12.24 → 1.12.25

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 (252) hide show
  1. package/README.md +196 -167
  2. package/dist/assets/icons/flaticon_hvc.css +71 -70
  3. package/dist/assets/icons/flaticon_hvc.scss +126 -124
  4. package/dist/auth/authContext.d.ts +19 -0
  5. package/dist/auth/authContext.esm.js +26 -0
  6. package/dist/components/Button/Button.d.ts +7 -0
  7. package/dist/components/Button/Button.esm.js +15 -0
  8. package/dist/components/Button/index.d.ts +1 -0
  9. package/dist/components/Button/index.esm.js +1 -0
  10. package/dist/components/CheckBox/index.d.ts +1 -0
  11. package/dist/components/CheckBox/index.esm.js +1 -0
  12. package/dist/components/CheckBoxGroup/index.d.ts +1 -0
  13. package/dist/components/CheckBoxGroup/index.esm.js +1 -0
  14. package/dist/components/DatePicker/index.d.ts +4 -0
  15. package/dist/components/DatePicker/index.esm.js +4 -0
  16. package/dist/components/Delete/index.d.ts +1 -0
  17. package/dist/components/Delete/index.esm.js +1 -0
  18. package/dist/components/DeleteComponent/DeleteField.d.ts +0 -1
  19. package/dist/components/DeleteComponent/{DeleteField.js → DeleteField.esm.js} +6 -6
  20. package/dist/components/DeleteComponent/index.d.ts +1 -0
  21. package/dist/components/DeleteComponent/index.esm.js +1 -0
  22. package/dist/components/Feedback/index.d.ts +5 -0
  23. package/dist/components/Feedback/index.esm.js +7 -0
  24. package/dist/components/FileUpload/index.d.ts +2 -0
  25. package/dist/components/FileUpload/index.esm.js +2 -0
  26. package/dist/components/Form/Form.styles.d.ts +8 -26
  27. package/dist/components/Form/Form.styles.esm.js +111 -0
  28. package/dist/components/Form/FormActiveSwitch.d.ts +1 -2
  29. package/dist/components/Form/FormActiveSwitch.esm.js +11 -0
  30. package/dist/components/Form/FormConstants.d.ts +2 -3
  31. package/dist/components/Form/{FormConstants.js → FormConstants.esm.js} +89 -103
  32. package/dist/components/Form/FormContainer.d.ts +2 -3
  33. package/dist/components/Form/FormContainer.esm.js +3 -0
  34. package/dist/components/Form/FormRender.d.ts +11 -4
  35. package/dist/components/Form/FormRender.esm.js +130 -0
  36. package/dist/components/Form/FormRenderConstants.d.ts +0 -1
  37. package/dist/components/Form/FormRenderWrapper.d.ts +37 -5
  38. package/dist/components/Form/FormRenderWrapper.esm.js +33 -0
  39. package/dist/components/Form/index.d.ts +6 -0
  40. package/dist/components/Form/index.esm.js +5 -0
  41. package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.d.ts +1 -2
  42. package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.esm.js +72 -0
  43. package/dist/components/FormComponents/DatePicker/MonthPicker.d.ts +0 -1
  44. package/dist/components/FormComponents/DatePicker/{MonthPicker.js → MonthPicker.esm.js} +3 -3
  45. package/dist/components/FormComponents/DatePicker/Monthpickerrender.d.ts +1 -2
  46. package/dist/components/FormComponents/DatePicker/Monthpickerrender.esm.js +70 -0
  47. package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.d.ts +1 -2
  48. package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.esm.js +71 -0
  49. package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.d.ts +1 -2
  50. package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.esm.js +85 -0
  51. package/dist/components/FormComponents/FormBottomField/FormBottomField.d.ts +15 -2
  52. package/dist/components/FormComponents/FormBottomField/FormBottomField.esm.js +22 -0
  53. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts +20 -2
  54. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.esm.js +32 -0
  55. package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.d.ts +20 -2
  56. package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.esm.js +42 -0
  57. package/dist/components/FormComponents/FormErrorField/FormErrorField.d.ts +14 -2
  58. package/dist/components/FormComponents/FormErrorField/FormErrorField.esm.js +21 -0
  59. package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts +40 -3
  60. package/dist/components/FormComponents/FormNumberField/FormNumberField.esm.js +102 -0
  61. package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.d.ts +1 -2
  62. package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.esm.js +50 -0
  63. package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.d.ts +21 -3
  64. package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.esm.js +44 -0
  65. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.d.ts +20 -2
  66. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.esm.js +65 -0
  67. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.d.ts +1 -4
  68. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.esm.js +35 -0
  69. package/dist/components/FormComponents/FormTextField/FormTextField.d.ts +39 -3
  70. package/dist/components/FormComponents/FormTextField/FormTextField.esm.js +111 -0
  71. package/dist/components/FormComponents/FormTextField/FormTextField.styles.d.ts +10 -4
  72. package/dist/components/FormComponents/FormTextField/FormTextField.styles.esm.js +27 -0
  73. package/dist/components/FormComponents/HelperText/HelperText.d.ts +14 -2
  74. package/dist/components/FormComponents/HelperText/HelperText.esm.js +23 -0
  75. package/dist/components/FormComponents/PasswordField/PasswordField.d.ts +21 -3
  76. package/dist/components/FormComponents/PasswordField/PasswordField.esm.js +91 -0
  77. package/dist/components/FormComponents/RichTextEditor/RichTextEditor.d.ts +1 -2
  78. package/dist/components/FormComponents/RichTextEditor/{RichTextEditor.js → RichTextEditor.esm.js} +50 -31
  79. package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.d.ts +1 -2
  80. package/dist/components/FormComponents/RichTextEditor/{RichTextEditorWrapper.js → RichTextEditorWrapper.esm.js} +4 -3
  81. package/dist/components/FormComponents/RichTextEditor/jodit.index.d.ts +5 -10
  82. package/dist/components/FormComponents/RichTextEditor/jodit.index.esm.js +23 -0
  83. package/dist/components/FormComponents/Select/MultiSelect.d.ts +0 -1
  84. package/dist/components/FormComponents/Select/MultiSelectv1.d.ts +1 -2
  85. package/dist/components/FormComponents/Select/{MultiSelectv1.js → MultiSelectv1.esm.js} +54 -61
  86. package/dist/components/FormComponents/Select/SingleSelect.d.ts +2 -3
  87. package/dist/components/FormComponents/Select/SingleSelect.esm.js +61 -0
  88. package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.d.ts +1 -2
  89. package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.esm.js +32 -0
  90. package/dist/components/FormComponents/Select/SingleSelectSearchApi.d.ts +2 -3
  91. package/dist/components/FormComponents/Select/{SingleSelectSearchApi.js → SingleSelectSearchApi.esm.js} +2 -6
  92. package/dist/components/FormComponents/TimePicker/TimePicker.d.ts +1 -2
  93. package/dist/components/FormComponents/TimePicker/TimePicker.esm.js +70 -0
  94. package/dist/components/FormComponents/YearPickerField/YearPickerField.d.ts +2 -3
  95. package/dist/components/FormComponents/YearPickerField/{YearPickerField.js → YearPickerField.esm.js} +2 -6
  96. package/dist/components/FormComponents/index.d.ts +16 -25
  97. package/dist/components/FormComponents/{index.js → index.esm.js} +24 -26
  98. package/dist/components/Global.styles.d.ts +7 -22
  99. package/dist/components/{Global.styles.js → Global.styles.esm.js} +2 -2
  100. package/dist/components/ModalField/ConfirmationDialog.d.ts +2 -11
  101. package/dist/components/ModalField/ConfirmationDialog.esm.js +46 -0
  102. package/dist/components/ModalField/ModalField.d.ts +2 -3
  103. package/dist/components/ModalField/{ModalField.js → ModalField.esm.js} +10 -10
  104. package/dist/components/ModalField/index.d.ts +2 -0
  105. package/dist/components/ModalField/index.esm.js +2 -0
  106. package/dist/components/NumberField/index.d.ts +2 -0
  107. package/dist/components/NumberField/index.esm.js +2 -0
  108. package/dist/components/PasswordField/index.d.ts +1 -0
  109. package/dist/components/PasswordField/index.esm.js +1 -0
  110. package/dist/components/RadioGroup/index.d.ts +1 -0
  111. package/dist/components/RadioGroup/index.esm.js +1 -0
  112. package/dist/components/RichTextEditor/index.d.ts +2 -0
  113. package/dist/components/RichTextEditor/index.esm.js +2 -0
  114. package/dist/components/Select/index.d.ts +6 -0
  115. package/dist/components/Select/index.esm.js +8 -0
  116. package/dist/components/SelectField/MultiSelectField.d.ts +1 -0
  117. package/dist/components/SelectField/MultiSelectFieldComponent.d.ts +0 -1
  118. package/dist/components/SelectField/{MultiSelectFieldComponent.js → MultiSelectFieldComponent.esm.js} +36 -45
  119. package/dist/components/SelectField/index.d.ts +2 -0
  120. package/dist/components/SelectField/index.esm.js +1 -0
  121. package/dist/components/SessionTimeOut/SessionTimeOut.d.ts +1 -3
  122. package/dist/components/SessionTimeOut/{SessionTimeOut.js → SessionTimeOut.esm.js} +6 -7
  123. package/dist/components/SessionTimeOut/index.d.ts +1 -0
  124. package/dist/components/SessionTimeOut/index.esm.js +1 -0
  125. package/dist/components/TextAreaField/index.d.ts +1 -0
  126. package/dist/components/TextAreaField/index.esm.js +1 -0
  127. package/dist/components/TextField/index.d.ts +1 -0
  128. package/dist/components/TextField/index.esm.js +1 -0
  129. package/dist/components/TimePicker/index.d.ts +1 -0
  130. package/dist/components/TimePicker/index.esm.js +1 -0
  131. package/dist/components/TimePickerField/TimePickerField.d.ts +0 -1
  132. package/dist/components/TimePickerField/TimePickerField.esm.js +11 -0
  133. package/dist/components/TimePickerField/index.d.ts +1 -0
  134. package/dist/components/TimePickerField/index.esm.js +1 -0
  135. package/dist/index.d.ts +14 -9
  136. package/dist/index.esm.css +1 -0
  137. package/dist/index.esm.js +14 -0
  138. package/dist/theme/index.d.ts +0 -2
  139. package/dist/theme/{index.js → index.esm.js} +4 -7
  140. package/dist/types/index.d.ts +3 -4
  141. package/dist/utils/Constants/FormConstants.d.ts +40 -0
  142. package/dist/utils/Constants/FormConstants.esm.js +78 -0
  143. package/dist/{lib → utils}/Constants/FunctionConstants.d.ts +6 -7
  144. package/dist/{lib/Constants/FunctionConstants.js → utils/Constants/FunctionConstants.esm.js} +46 -54
  145. package/dist/utils/Constants/FunctionConstants.test.d.ts +1 -0
  146. package/dist/utils/Constants/crypto-js.d.ts +29 -0
  147. package/dist/utils/Constants/date-pickers.d.ts +29 -0
  148. package/dist/utils/Constants/date-pickers.esm.js +33 -0
  149. package/dist/utils/Constants/file-saver.d.ts +14 -0
  150. package/dist/utils/Constants/file-saver.esm.js +22 -0
  151. package/dist/utils/Constants/index.d.ts +5 -0
  152. package/dist/utils/Constants/xlsx-js-style.d.ts +22 -0
  153. package/dist/utils/Constants/xlsx-js-style.esm.js +46 -0
  154. package/dist/{lib → utils}/Interface/FormInterface.d.ts +11 -8
  155. package/dist/utils/Interface/MainInterface.d.ts +17 -0
  156. package/dist/utils/Interface/ModalInterface.d.ts +12 -0
  157. package/dist/utils/Interface/index.d.ts +3 -0
  158. package/dist/{lib → utils}/index.d.ts +3 -4
  159. package/dist/{lib/index.js → utils/index.esm.js} +2 -2
  160. package/dist/validation/index.d.ts +1 -0
  161. package/dist/validation/index.esm.js +1 -0
  162. package/dist/validation/schemas.d.ts +65 -6
  163. package/dist/validation/schemas.esm.js +111 -0
  164. package/package.json +62 -27
  165. package/scripts/install-deps.js +103 -46
  166. package/dist/assets/types.d.ts +0 -62
  167. package/dist/components/DeleteComponent/DeleteField.d.ts.map +0 -1
  168. package/dist/components/Form/Form.styles.d.ts.map +0 -1
  169. package/dist/components/Form/Form.styles.js +0 -111
  170. package/dist/components/Form/FormActiveSwitch.d.ts.map +0 -1
  171. package/dist/components/Form/FormActiveSwitch.js +0 -27
  172. package/dist/components/Form/FormConstants.d.ts.map +0 -1
  173. package/dist/components/Form/FormContainer.d.ts.map +0 -1
  174. package/dist/components/Form/FormRender.d.ts.map +0 -1
  175. package/dist/components/Form/FormRender.js +0 -96
  176. package/dist/components/Form/FormRenderConstants.d.ts.map +0 -1
  177. package/dist/components/Form/FormRenderWrapper.d.ts.map +0 -1
  178. package/dist/components/Form/FormRenderWrapper.js +0 -13
  179. package/dist/components/FormComponents/DatePicker/DateRangePicker.d.ts +0 -7
  180. package/dist/components/FormComponents/DatePicker/DateRangePicker.d.ts.map +0 -1
  181. package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.d.ts.map +0 -1
  182. package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.js +0 -58
  183. package/dist/components/FormComponents/DatePicker/MonthPicker.d.ts.map +0 -1
  184. package/dist/components/FormComponents/DatePicker/Monthpickerrender.d.ts.map +0 -1
  185. package/dist/components/FormComponents/DatePicker/Monthpickerrender.js +0 -61
  186. package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.d.ts.map +0 -1
  187. package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.js +0 -86
  188. package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.d.ts.map +0 -1
  189. package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.js +0 -96
  190. package/dist/components/FormComponents/FormBottomField/FormBottomField.d.ts.map +0 -1
  191. package/dist/components/FormComponents/FormBottomField/FormBottomField.js +0 -9
  192. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts.map +0 -1
  193. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.js +0 -10
  194. package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.d.ts.map +0 -1
  195. package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.js +0 -23
  196. package/dist/components/FormComponents/FormErrorField/FormErrorField.d.ts.map +0 -1
  197. package/dist/components/FormComponents/FormErrorField/FormErrorField.js +0 -9
  198. package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts.map +0 -1
  199. package/dist/components/FormComponents/FormNumberField/FormNumberField.js +0 -49
  200. package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.d.ts.map +0 -1
  201. package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.js +0 -45
  202. package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.d.ts.map +0 -1
  203. package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.js +0 -26
  204. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.d.ts.map +0 -1
  205. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.js +0 -31
  206. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.d.ts.map +0 -1
  207. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.js +0 -35
  208. package/dist/components/FormComponents/FormTextField/FormTextField.d.ts.map +0 -1
  209. package/dist/components/FormComponents/FormTextField/FormTextField.js +0 -46
  210. package/dist/components/FormComponents/FormTextField/FormTextField.styles.d.ts.map +0 -1
  211. package/dist/components/FormComponents/FormTextField/FormTextField.styles.js +0 -22
  212. package/dist/components/FormComponents/HelperText/HelperText.d.ts.map +0 -1
  213. package/dist/components/FormComponents/HelperText/HelperText.js +0 -10
  214. package/dist/components/FormComponents/PasswordField/PasswordField.d.ts.map +0 -1
  215. package/dist/components/FormComponents/PasswordField/PasswordField.js +0 -49
  216. package/dist/components/FormComponents/RichTextEditor/RichTextEditor.d.ts.map +0 -1
  217. package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.d.ts.map +0 -1
  218. package/dist/components/FormComponents/RichTextEditor/jodit.index.d.ts.map +0 -1
  219. package/dist/components/FormComponents/RichTextEditor/jodit.index.js +0 -27
  220. package/dist/components/FormComponents/Select/MultiSelect.d.ts.map +0 -1
  221. package/dist/components/FormComponents/Select/MultiSelectv1.d.ts.map +0 -1
  222. package/dist/components/FormComponents/Select/SingleSelect.d.ts.map +0 -1
  223. package/dist/components/FormComponents/Select/SingleSelect.js +0 -51
  224. package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.d.ts.map +0 -1
  225. package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.js +0 -27
  226. package/dist/components/FormComponents/Select/SingleSelectSearchApi.d.ts.map +0 -1
  227. package/dist/components/FormComponents/TimePicker/TimePicker.d.ts.map +0 -1
  228. package/dist/components/FormComponents/TimePicker/TimePicker.js +0 -55
  229. package/dist/components/FormComponents/YearPickerField/YearPickerField.d.ts.map +0 -1
  230. package/dist/components/FormComponents/index.d.ts.map +0 -1
  231. package/dist/components/Global.styles.d.ts.map +0 -1
  232. package/dist/components/ModalField/ConfirmationDialog.d.ts.map +0 -1
  233. package/dist/components/ModalField/ConfirmationDialog.js +0 -48
  234. package/dist/components/ModalField/ModalField.d.ts.map +0 -1
  235. package/dist/components/SelectField/MultiSelectFieldComponent.d.ts.map +0 -1
  236. package/dist/components/SessionTimeOut/SessionTimeOut.d.ts.map +0 -1
  237. package/dist/components/TimePickerField/TimePickerField.d.ts.map +0 -1
  238. package/dist/components/index.d.ts +0 -8
  239. package/dist/components/index.d.ts.map +0 -1
  240. package/dist/index.css +0 -1
  241. package/dist/index.d.ts.map +0 -1
  242. package/dist/index.js +0 -16
  243. package/dist/lib/Constants/FormConstants.d.ts +0 -11
  244. package/dist/lib/Constants/FormConstants.d.ts.map +0 -1
  245. package/dist/lib/Constants/FormConstants.js +0 -54
  246. package/dist/lib/Constants/FunctionConstants.d.ts.map +0 -1
  247. package/dist/lib/Interface/FormInterface.d.ts.map +0 -1
  248. package/dist/lib/index.d.ts.map +0 -1
  249. package/dist/theme/index.d.ts.map +0 -1
  250. package/dist/types/index.d.ts.map +0 -1
  251. package/dist/validation/schemas.d.ts.map +0 -1
  252. package/dist/validation/schemas.js +0 -60
@@ -0,0 +1,91 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { Visibility, VisibilityOff } from '@mui/icons-material';
3
+ import { Box, FormControl, TextField, IconButton } from '@mui/material';
4
+ import { useState } from 'react';
5
+ import { Controller } from 'react-hook-form';
6
+ import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
7
+ import 'dayjs';
8
+ import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
9
+
10
+ /**
11
+ * PasswordField Component
12
+ *
13
+ * A password input field component that integrates with react-hook-form for form state management.
14
+ * Includes a visibility toggle button to show/hide the password.
15
+ *
16
+ * @component
17
+ * @param {Object} props - The component props
18
+ * @param {FormRenderProps} props.props - Form rendering properties from parent form
19
+ * @param {VariantProps} props.variant - UI variant style ('standard', 'outlined', etc.)
20
+ *
21
+ * @example
22
+ * // Basic usage in FormRender
23
+ * <PasswordField props={formRenderProps} variant="outlined" />
24
+ */
25
+ const PasswordField = ({ props, variant }) => {
26
+ /**
27
+ * State to track password visibility
28
+ */
29
+ const [showPassword, setShowPassword] = useState(false);
30
+ /**
31
+ * Toggles password visibility between plain text and hidden
32
+ */
33
+ const handleTogglePasswordVisibility = () => {
34
+ setShowPassword((prevShowPassword) => !prevShowPassword);
35
+ };
36
+ /**
37
+ * Generates the field label based on variant type
38
+ * For non-standard variants, appends an asterisk if the field is required
39
+ */
40
+ const label = variant !== 'standard' ? `${props.item.label}${props.item.required ? ' *' : ''}` : '';
41
+ /**
42
+ * Determines if the field has an error based on form validation
43
+ */
44
+ const isError = !!props.errors?.[props.item.name];
45
+ const isShowBorderError = isError;
46
+ /**
47
+ * Renders the password field component with visibility toggle
48
+ */
49
+ return (jsx(Box, { position: 'relative', children: jsx(FormControl, { fullWidth: true, children: jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsxs(Fragment, { children: [jsxs(Box, { sx: { position: 'relative' }, children: [renderLabel(variant, props), jsx(TextField, { size: "small", error: isShowBorderError, type: showPassword ? 'text' : 'password', autoComplete: props.item?.InputProps?.autoComplete || 'off', placeholder: props.item.placeholder || '', ...field, label: label, sx: {
50
+ width: '100%',
51
+ '& .css-kichxs-MuiFormLabel-root-MuiInputLabel-root,.css-1holvmy': {
52
+ top: '-8px',
53
+ },
54
+ }, inputProps: {
55
+ maxLength: props.item.maxLength || 100,
56
+ /**
57
+ * Handles input events
58
+ * Calls custom onInputProps handler if provided
59
+ *
60
+ * @param {any} e - The input event object
61
+ */
62
+ onInput: (e) => {
63
+ props.item.onInputProps && props.item.onInputProps(e);
64
+ },
65
+ /**
66
+ * Handles paste events
67
+ * Prevents paste action if configured
68
+ *
69
+ * @param {React.ClipboardEvent} e - The paste event object
70
+ */
71
+ onPaste: (e) => {
72
+ if (props.item?.doNotAllowPaste) {
73
+ e.preventDefault();
74
+ }
75
+ },
76
+ }, value: field.value || null, disabled: props.item.disable }), jsx(IconButton, { sx: {
77
+ position: 'absolute',
78
+ right: '14px',
79
+ top: variant === 'standard' ? '70%' : '50%',
80
+ transform: 'translateY(-50%)',
81
+ width: '25px',
82
+ }, "aria-label": showPassword ? 'Hide password' : 'Show password', "aria-pressed": showPassword, onClick: handleTogglePasswordVisibility, edge: "end", children: showPassword ? (jsx(Visibility, { sx: {
83
+ fontSize: '12px',
84
+ position: 'absolute',
85
+ } })) : (jsx(VisibilityOff, { sx: {
86
+ fontSize: '12px',
87
+ position: 'absolute',
88
+ } })) })] }), jsx(FormBottomField, { ...props })] })) }) }) }, props.item.name));
89
+ };
90
+
91
+ export { PasswordField as default };
@@ -1,6 +1,5 @@
1
- import { FormRenderProps } from "../../../lib/Interface/FormInterface";
1
+ import { FormRenderProps } from '../../../utils';
2
2
  declare const RichTextEditor: ({ props }: {
3
3
  props: FormRenderProps;
4
4
  }) => import("react/jsx-runtime").JSX.Element;
5
5
  export default RichTextEditor;
6
- //# sourceMappingURL=RichTextEditor.d.ts.map
@@ -1,69 +1,84 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
2
  import { useRef, useState, useEffect } from 'react';
3
- import JoditEditor from 'jodit-react';
4
- import { Jodit } from 'jodit';
3
+ import { useWatch } from 'react-hook-form';
4
+ import { getJoditEditor } from './jodit.index.esm.js';
5
5
 
6
6
  const RichTextEditor = ({ props }) => {
7
7
  const editor = useRef(null);
8
- const [content, setContent] = useState("");
9
- const value = props.getValues(props.item.name);
8
+ const [content, setContent] = useState('');
9
+ const [JoditEditor, setJoditEditor] = useState(null);
10
+ const [isLoading, setIsLoading] = useState(true);
11
+ const value = useWatch({ control: props.control, name: props.item.name });
12
+ // Dynamically load JoditEditor only
13
+ useEffect(() => {
14
+ const loadJoditDependencies = async () => {
15
+ try {
16
+ const joditEditorModule = await getJoditEditor();
17
+ setJoditEditor(joditEditorModule);
18
+ setIsLoading(false);
19
+ }
20
+ catch (error) {
21
+ console.error('Failed to load Jodit dependencies:', error);
22
+ }
23
+ };
24
+ loadJoditDependencies();
25
+ }, []);
10
26
  const config = {
11
27
  readonly: false,
12
- placeholder: props.item.placeholder || "Start typing...",
28
+ placeholder: props.item.placeholder || 'Start typing...',
13
29
  statusbar: false,
14
30
  removeButtons: props.item.removeButtons,
15
31
  style: {
16
- "font-family": "Arial",
32
+ 'font-family': 'Arial',
17
33
  },
18
34
  controls: {
19
35
  font: {
20
36
  list: {
21
- Arial: "Arial",
37
+ Arial: 'Arial',
22
38
  ...props.item?.FontFamily,
23
39
  },
24
40
  },
25
41
  fontsize: {
26
- list: Jodit.atom(props.item.Fonts || [
27
- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
28
- 25, 26, 27, 28, 29, 30,
29
- ]),
42
+ list: props.item.Fonts || [
43
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
44
+ ],
30
45
  },
31
46
  },
32
- defaultFont: "Arial",
33
- defaultFontSize: "11px",
47
+ defaultFont: 'Arial',
48
+ defaultFontSize: '11px',
34
49
  askBeforePasteFromWord: false,
35
50
  askBeforePasteHTML: false,
36
51
  hotkeys: {
37
- redo: "ctrl+z",
38
- undo: "ctrl+y,ctrl+shift+z",
39
- indent: "ctrl+]",
40
- outdent: "ctrl+[",
41
- bold: "ctrl+b",
42
- italic: "ctrl+i",
43
- removeFormat: "ctrl+shift+m",
44
- insertOrderedList: "ctrl+shift+7",
45
- insertUnorderedList: "ctrl+shift+8",
46
- openSearchDialog: "ctrl+f",
47
- openReplaceDialog: "ctrl+r",
52
+ redo: 'ctrl+z',
53
+ undo: 'ctrl+y,ctrl+shift+z',
54
+ indent: 'ctrl+]',
55
+ outdent: 'ctrl+[',
56
+ bold: 'ctrl+b',
57
+ italic: 'ctrl+i',
58
+ removeFormat: 'ctrl+shift+m',
59
+ insertOrderedList: 'ctrl+shift+7',
60
+ insertUnorderedList: 'ctrl+shift+8',
61
+ openSearchDialog: 'ctrl+f',
62
+ openReplaceDialog: 'ctrl+r',
48
63
  },
49
64
  events: {
50
65
  processPaste: (_event, html) => {
51
66
  const instance = editor.current;
52
67
  if (instance?.editor) {
53
68
  const joditEditor = instance.editor;
54
- joditEditor.selection.insertHTML(html);
55
- joditEditor.tempContent = joditEditor.getHTML();
69
+ joditEditor.selection?.insertHTML?.(html);
70
+ joditEditor.tempContent = joditEditor.getHTML?.();
56
71
  }
57
72
  },
58
73
  afterPaste: () => {
59
74
  const instance = editor.current;
60
75
  if (instance?.editor) {
61
76
  const joditEditor = instance.editor;
62
- const el = document.createElement("div");
77
+ const el = document.createElement('div');
63
78
  el.innerHTML = joditEditor.tempContent
64
79
  ? joditEditor.tempContent
65
- : joditEditor.getHTML();
66
- joditEditor.setHTML(el.innerHTML);
80
+ : joditEditor.getHTML?.();
81
+ joditEditor.setHTML?.(el.innerHTML);
67
82
  joditEditor.tempContent = null;
68
83
  }
69
84
  },
@@ -74,9 +89,9 @@ const RichTextEditor = ({ props }) => {
74
89
  setContent(value);
75
90
  }, [value]);
76
91
  const handleBlur = (newContent) => {
77
- if (newContent === "<p><br></p>") {
92
+ if (newContent === '<p><br></p>') {
78
93
  setContent(newContent);
79
- props.setValue(props.item.name, "");
94
+ props.setValue(props.item.name, '');
80
95
  }
81
96
  else {
82
97
  setContent(newContent);
@@ -87,6 +102,10 @@ const RichTextEditor = ({ props }) => {
87
102
  const handleChange = (newContent) => {
88
103
  props.item.onChangeFn && props.item.onChangeFn(newContent);
89
104
  };
105
+ // Show loading state while Jodit is being loaded
106
+ if (isLoading || !JoditEditor) {
107
+ return jsx("div", { children: "Loading editor..." });
108
+ }
90
109
  return (jsx(JoditEditor, { ref: editor, value: content, config: config,
91
110
  // tabIndex={1 as IJoditEditorProps["tabIndex"]}
92
111
  onBlur: handleBlur, onChange: handleChange }));
@@ -1,7 +1,6 @@
1
- import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
1
+ import { FormRenderProps, VariantProps } from '../../../utils';
2
2
  declare const RichTextEditorWrapper: ({ props, variant, }: {
3
3
  props: FormRenderProps;
4
4
  variant: VariantProps;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
6
6
  export default RichTextEditorWrapper;
7
- //# sourceMappingURL=RichTextEditorWrapper.d.ts.map
@@ -1,8 +1,9 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { Controller } from 'react-hook-form';
3
- import { renderLabel } from '../../../lib/Constants/FormConstants.js';
4
- import FormBottomField from '../FormBottomField/FormBottomField.js';
5
- import RichTextEditor from './RichTextEditor.js';
3
+ import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
4
+ import RichTextEditor from './RichTextEditor.esm.js';
5
+ import 'dayjs';
6
+ import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
6
7
 
7
8
  const RichTextEditorWrapper = ({ props, variant, }) => {
8
9
  return (jsx(Controller, { control: props.control, name: props.item.name, render: () => (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(RichTextEditor, { props: props }), jsx(FormBottomField, { ...props })] })) }, props.item.name));
@@ -1,5 +1,3 @@
1
- import JoditEditor from "jodit-react";
2
- import { Jodit } from "jodit";
3
1
  export interface IJoditEditorProps {
4
2
  value?: string;
5
3
  config?: any;
@@ -7,12 +5,9 @@ export interface IJoditEditorProps {
7
5
  onBlur?: (content: string) => void;
8
6
  onChange?: (content: string) => void;
9
7
  }
10
- declare module 'jodit' {
11
- interface Jodit {
12
- getHTML(): string;
13
- setHTML(html: string): void;
14
- }
15
- }
8
+ declare const getJoditEditor: () => Promise<any>;
9
+ declare const getJodit: () => Promise<null>;
10
+ declare const JoditEditor: any;
16
11
  export default JoditEditor;
17
- export { Jodit };
18
- //# sourceMappingURL=jodit.index.d.ts.map
12
+ export { getJoditEditor, getJodit };
13
+ export declare const Jodit: any;
@@ -0,0 +1,23 @@
1
+ // import { Jodit } from 'jodit/esm/index';
2
+ // import * as React from 'react';
3
+ // Declare module augmentation for TypeScript
4
+ // Removing module augmentation since we are not importing 'jodit' directly here
5
+ // Create a dynamic import function to load Jodit only when needed
6
+ let JoditEditorPromise = null;
7
+ const getJoditEditor = async () => {
8
+ if (!JoditEditorPromise) {
9
+ JoditEditorPromise = import('jodit-react').then((module) => module.default || module);
10
+ }
11
+ return JoditEditorPromise;
12
+ };
13
+ // Export a proxy object that will load the real module on demand
14
+ new Proxy({}, {
15
+ get: function () {
16
+ throw new Error('JoditEditor must be dynamically imported before use');
17
+ },
18
+ apply: function () {
19
+ throw new Error('JoditEditor must be dynamically imported before use');
20
+ },
21
+ });
22
+
23
+ export { getJoditEditor };
@@ -1,3 +1,2 @@
1
1
  declare const MultiSelect: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default MultiSelect;
3
- //# sourceMappingURL=MultiSelect.d.ts.map
@@ -1,6 +1,5 @@
1
- import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
1
+ import { FormRenderProps, VariantProps } from '../../../utils';
2
2
  export default function MultiSelectV1({ props, variant, }: {
3
3
  props: FormRenderProps;
4
4
  variant: VariantProps;
5
5
  }): import("react/jsx-runtime").JSX.Element;
6
- //# sourceMappingURL=MultiSelectv1.d.ts.map
@@ -7,9 +7,11 @@ import ListItemText from '@mui/material/ListItemText';
7
7
  import MenuItem from '@mui/material/MenuItem';
8
8
  import OutlinedInput from '@mui/material/OutlinedInput';
9
9
  import Select from '@mui/material/Select';
10
- import React__default, { useState } from 'react';
11
- import { renderLabel } from '../../../lib/Constants/FormConstants.js';
12
- import FormBottomField from '../FormBottomField/FormBottomField.js';
10
+ import React__default, { useState, useMemo } from 'react';
11
+ import { useWatch } from 'react-hook-form';
12
+ import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
13
+ import 'dayjs';
14
+ import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
13
15
 
14
16
  const ITEM_HEIGHT = 48;
15
17
  const ITEM_PADDING_TOP = 3;
@@ -32,24 +34,22 @@ const MenuProps = {
32
34
  // },
33
35
  // }));
34
36
  const extractValuesToArray = (inputString) => {
35
- const valuesArray = inputString?.split(",");
37
+ const valuesArray = inputString?.split(',');
36
38
  const trimmedArray = valuesArray?.map((value) => value.trim());
37
39
  return trimmedArray;
38
40
  };
39
41
  function MultiSelectV1({ props, variant, }) {
40
- const [personName, setPersonName] = React__default.useState(props.getValues(props.item.name)
41
- ? extractValuesToArray(props.getValues(props.item.name))
42
- : []);
43
- const [searchText, setSearchText] = useState("");
42
+ const [personName, setPersonName] = React__default.useState(props.getValues(props.item.name) ? extractValuesToArray(props.getValues(props.item.name)) : []);
43
+ const [searchText, setSearchText] = useState('');
44
44
  const options = props.item?.options || [];
45
45
  const [filterOptions, setFilterOptions] = useState(props.item.options || []);
46
46
  const [selectAll, setSelectAll] = useState(false);
47
47
  const textfieldRef = React__default.useRef(null);
48
- const fieldValue = props.getValues(props.item.name);
49
- const mappedIds = filterOptions.map((item) => item.value);
50
- const filterIds = filterOptions.map((item) => item.value);
48
+ const fieldValue = useWatch({ control: props.control, name: props.item.name });
49
+ const mappedIds = useMemo(() => filterOptions.map((item) => item.value), [filterOptions]);
50
+ const filterIds = useMemo(() => filterOptions.map((item) => item.value), [filterOptions]);
51
51
  React__default.useEffect(() => {
52
- if (searchText !== "") {
52
+ if (searchText !== '') {
53
53
  setFilterOptions(options.filter((item) => item.label.toLowerCase().includes(searchText.toLowerCase())));
54
54
  }
55
55
  else {
@@ -60,98 +60,91 @@ function MultiSelectV1({ props, variant, }) {
60
60
  return array.some((item) => item === value);
61
61
  }
62
62
  React__default.useEffect(() => {
63
- if (fieldValue?.split(",").length !== filterOptions.length) {
63
+ if (fieldValue?.split(',').length !== filterOptions.length) {
64
64
  setSelectAll(false);
65
65
  }
66
66
  else {
67
- console.log(fieldValue?.split(","), 'fieldValue?.split(",")', filterIds);
68
- if (fieldValue
69
- ?.split(",")
70
- .every((value) => hasExactMatch(filterIds, value))) {
67
+ if (fieldValue?.split(',').every((value) => hasExactMatch(filterIds, value))) {
71
68
  setSelectAll(true);
72
69
  }
73
70
  }
74
71
  }, [filterOptions, fieldValue]);
75
72
  const handleChange = (event) => {
76
73
  const { target: { value }, } = event;
77
- setPersonName(typeof value === "string" ? value?.split(",") : value);
78
- props.setValue(props.item.name, (typeof value === "string" ? value?.split(",") : value).join(","));
74
+ setPersonName(typeof value === 'string' ? value?.split(',') : value);
75
+ props.setValue(props.item.name, (typeof value === 'string' ? value?.split(',') : value).join(','));
79
76
  };
80
- const selectedOptions = options.filter((item) => fieldValue?.split(",").some((value) => value === item.value));
81
- const selectedValues = selectedOptions
82
- .map((item) => item.label)
83
- .join(" , ");
77
+ const selectedOptions = useMemo(() => options.filter((item) => fieldValue?.split(',').some((value) => value === item.value)), [options, fieldValue]);
78
+ const selectedValues = selectedOptions.map((item) => item.label).join(' , ');
84
79
  const isError = !!props.errors?.[props.item.name];
85
- const isShowBorderError = isError && props.fieldError;
80
+ const isShowBorderError = isError;
86
81
  return (jsx(Box, { children: jsxs(FormControl, { fullWidth: true, sx: {
87
- "& .css-kichxs-MuiFormLabel-root-MuiInputLabel-root,.css-1holvmy": {
88
- top: "-10px",
82
+ '& .css-kichxs-MuiFormLabel-root-MuiInputLabel-root,.css-1holvmy': {
83
+ top: '-10px',
89
84
  },
90
- "& .MuiFormLabel-root": {
85
+ '& .MuiFormLabel-root': {
91
86
  top: -10,
92
87
  },
93
- "& .MuiInputLabel-shrink": {
88
+ '& .MuiInputLabel-shrink': {
94
89
  top: 0,
95
90
  },
96
- }, children: [renderLabel(variant, props), variant !== "standard" ? (jsxs(InputLabel, { error: isShowBorderError, id: "demo-multiple-checkbox-label", children: [props.item.label, props.item.required ? " *" : ""] })) : (""), jsxs(Select, { labelId: "demo-multiple-checkbox-label", id: "demo-multiple-checkbox", multiple: true, sx: {
97
- "& .MuiTypography-root": {
98
- fontSize: "5px !important",
91
+ }, children: [renderLabel(variant, props), variant !== 'standard' ? (jsxs(InputLabel, { error: isShowBorderError, id: `${props.item.name}-ms-labelId`, children: [props.item.label, props.item.required ? ' *' : ''] })) : (''), jsxs(Select, { labelId: `${props.item.name}-ms-labelId`, id: `${props.item.name}-ms-select`, multiple: true, sx: {
92
+ '& .MuiTypography-root': {
93
+ fontSize: '5px !important',
99
94
  },
100
- }, error: isShowBorderError, disabled: props.item.disable, value: props.getValues(props.item.name)
101
- ? extractValuesToArray(props.getValues(props.item.name))
102
- : [], onChange: handleChange, onOpen: () => {
95
+ }, error: isShowBorderError, disabled: props.item.disable, value: fieldValue ? extractValuesToArray(fieldValue) : [], onChange: handleChange, inputProps: {
96
+ 'aria-labelledby': `${props.item.name}-label`,
97
+ 'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
98
+ 'aria-required': props.item.required ? true : undefined,
99
+ }, onOpen: () => {
103
100
  setTimeout(() => {
104
101
  if (textfieldRef.current) {
105
102
  textfieldRef.current?.focus();
106
103
  }
107
104
  }, 0);
108
105
  }, onClose: () => {
109
- setSearchText("");
106
+ setSearchText('');
110
107
  props?.item?.onCloseMenu && props?.item?.onCloseMenu();
111
- }, input: jsx(OutlinedInput, { label: variant !== "standard" ? props.item.label : "" }), renderValue: (_selected) => (jsx(Tooltip, { title: selectedValues, children: jsx("span", { children: selectedOptions.length >
112
- (props.item.multiSelectLabelLength || 3)
108
+ }, input: jsx(OutlinedInput, { label: variant !== 'standard' ? props.item.label : '' }), renderValue: (_selected) => (jsx(Tooltip, { title: selectedValues, children: jsx("span", { children: selectedOptions.length > (props.item.multiSelectLabelLength || 3)
113
109
  ? `${selectedOptions.length} Selected`
114
110
  : selectedValues }) })), MenuProps: MenuProps, autoFocus: false, children: [jsx(Box, { sx: {
115
- width: "100%",
116
- position: "sticky",
117
- top: "0px",
118
- padding: "7px",
111
+ width: '100%',
112
+ position: 'sticky',
113
+ top: '0px',
114
+ padding: '7px',
119
115
  zIndex: 2,
120
- height: "33px",
121
- background: "#fff",
122
- display: options.length === 0 ? "none" : undefined,
116
+ height: '33px',
117
+ background: '#fff',
118
+ display: options.length === 0 ? 'none' : undefined,
123
119
  }, children: jsx(TextField, { inputRef: textfieldRef, autoFocus: true, value: searchText, sx: {
124
- width: "100%",
120
+ width: '100%',
125
121
  }, placeholder: "Search...", onChange: (e) => {
126
122
  setSearchText(e.target.value);
127
123
  }, onKeyDown: (e) => {
128
- if (e.key !== "Escape") {
124
+ if (e.key !== 'Escape') {
129
125
  e.stopPropagation();
130
126
  }
131
- } }) }), jsxs(MenuItem, { disabled: filterOptions.length === 0, sx: { zIndex: 0, fontSize: "5px !important" }, children: [jsx(Checkbox, { size: "small", checked: selectAll, onChange: () => {
127
+ } }) }), jsxs(MenuItem, { disabled: filterOptions.length === 0, sx: { zIndex: 0, fontSize: '5px !important' }, children: [jsx(Checkbox, { size: "small", checked: selectAll, onChange: () => {
132
128
  setSelectAll(!selectAll);
133
129
  const selectChanged = !selectAll;
134
130
  if (!selectChanged) {
135
- props.setValue(props.item.name, "");
131
+ props.setValue(props.item.name, '');
136
132
  }
137
133
  else {
138
- const allDataMapped = mappedIds.join(",");
139
- console.log(allDataMapped, "allDataMapped");
134
+ const allDataMapped = mappedIds.join(',');
140
135
  props.setValue(props.item.name, allDataMapped);
141
136
  }
142
- } }), jsx(ListItemText, { primary: "Select All", sx: {
143
- fontSize: "5px !important",
144
- "& span": {
145
- fontSize: "12px !important",
137
+ } }), jsx(ListItemText, { primary: 'Select All', sx: {
138
+ fontSize: '5px !important',
139
+ '& span': {
140
+ fontSize: '12px !important',
146
141
  },
147
- } })] }), filterOptions.length !== 0 ? (filterOptions.map((option) => (jsxs(MenuItem, { value: `${option.value}`, sx: { zIndex: 0, fontSize: "11px !important" }, children: [jsx(Checkbox, { checked: fieldValue
148
- ?.split(",")
149
- .some((value) => value === option.value), size: "small" }), jsx(ListItemText, { primary: option.label, sx: {
150
- fontSize: "5px !important",
151
- "& span": {
152
- fontSize: "12px !important",
142
+ } })] }), filterOptions.length !== 0 ? (filterOptions.map((option) => (jsxs(MenuItem, { value: `${option.value}`, sx: { zIndex: 0, fontSize: '11px !important' }, children: [jsx(Checkbox, { checked: fieldValue?.split(',').some((value) => value === option.value), size: "small" }), jsx(ListItemText, { primary: option.label, sx: {
143
+ fontSize: '5px !important',
144
+ '& span': {
145
+ fontSize: '12px !important',
153
146
  },
154
- } })] }, option.value)))) : (jsx(MenuItem, { disabled: true, value: "NA", children: "No data Found" }, "NA"))] }), jsx(FormBottomField, { ...props })] }) }, props.item.name));
147
+ } })] }, option.value)))) : (jsx(MenuItem, { disabled: true, value: 'NA', children: "No data Found" }, 'NA'))] }), jsx(FormBottomField, { ...props })] }) }, props.item.name));
155
148
  }
156
149
 
157
150
  export { MultiSelectV1 as default };
@@ -1,7 +1,6 @@
1
- import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
2
- declare const SingleSelect: ({ props, variant, }: {
1
+ import { FormRenderProps, VariantProps } from '../../../utils';
2
+ declare const SingleSelect: ({ props, variant }: {
3
3
  props: FormRenderProps;
4
4
  variant: VariantProps;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
6
6
  export default SingleSelect;
7
- //# sourceMappingURL=SingleSelect.d.ts.map
@@ -0,0 +1,61 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import { Autocomplete, TextField } from '@mui/material';
3
+ import { useWatch, Controller } from 'react-hook-form';
4
+ import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
5
+ import 'dayjs';
6
+ import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
7
+
8
+ const SingleSelect = ({ props, variant }) => {
9
+ const isError = !!props.errors?.[props.item.name];
10
+ const watchedValue = useWatch({ control: props.control, name: props.item.name });
11
+ const isShowBorderError = isError && !watchedValue;
12
+ const currentValue = watchedValue;
13
+ const value = currentValue
14
+ ? props.item.options?.find((item) => item.value === currentValue)
15
+ : null;
16
+ return (jsx(Controller, { control: props.control, name: props.item.name, render: ({ field }) => (jsxs(Fragment, { children: [renderLabel(variant, props), jsx(Autocomplete, { ...field, id: `${props.item.name}-autocomplete`, value: value, onChange: (_, newValue) => {
17
+ props.setValue(props?.item?.name, newValue?.value);
18
+ props?.item?.onChangeFn && props?.item?.onChangeFn(newValue?.value);
19
+ props?.clearErrors && props?.clearErrors(props?.item?.name);
20
+ }, onBlur: (e) => {
21
+ props?.item?.onBlurFn && props?.item?.onBlurFn(e);
22
+ }, size: "small", sx: {
23
+ '& .MuiAutocomplete-input': {
24
+ padding: '0px 0px 0px 5px !important',
25
+ },
26
+ '& .css-erkti9-MuiFormLabel-root-MuiInputLabel-root,.css-8edmr2-MuiFormLabel-root-MuiInputLabel-root': {
27
+ top: '-3px',
28
+ },
29
+ // Note: Options are rendered in a portal; keep this as a fallback only
30
+ '& .MuiAutocomplete-option': {
31
+ fontSize: '11px',
32
+ zIndex: 2000,
33
+ },
34
+ ...props.item.sx,
35
+ }, ListboxProps: {
36
+ onScroll: (event) => {
37
+ const listboxNode = event.currentTarget;
38
+ if (listboxNode.scrollTop + listboxNode.clientHeight === listboxNode.scrollHeight) ;
39
+ },
40
+ }, disabled: props.item.disable, options: props.item.options || [], slotProps: {
41
+ popper: {
42
+ sx: {
43
+ zIndex: 1401,
44
+ },
45
+ },
46
+ listbox: {
47
+ sx: {
48
+ fontSize: '11px',
49
+ },
50
+ },
51
+ }, renderInput: (params) => (jsx(TextField, { ...params, placeholder: props.item.placeholder, error: isShowBorderError, label: variant !== 'standard'
52
+ ? `${props.item.label}${props.item.required ? ' *' : ''}`
53
+ : '', inputProps: {
54
+ ...params.inputProps,
55
+ 'aria-labelledby': `${props.item.name}-label`,
56
+ 'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
57
+ 'aria-required': props.item.required ? true : undefined,
58
+ } })) }), jsx(FormBottomField, { ...props })] })) }, props.item.name));
59
+ };
60
+
61
+ export { SingleSelect as default };
@@ -1,7 +1,6 @@
1
- import { FormRenderProps, VariantProps } from "../../../lib/Interface/FormInterface";
1
+ import { FormRenderProps, VariantProps } from '../../../utils';
2
2
  declare const SingleSelectNonAutoComplete: ({ props, variant, }: {
3
3
  props: FormRenderProps;
4
4
  variant: VariantProps;
5
5
  }) => import("react/jsx-runtime").JSX.Element;
6
6
  export default SingleSelectNonAutoComplete;
7
- //# sourceMappingURL=SingleSelectNonAutoComplete.d.ts.map
@@ -0,0 +1,32 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { FormControl, InputLabel, Select, MenuItem } from '@mui/material';
3
+ import { useWatch } from 'react-hook-form';
4
+ import FormBottomField from '../FormBottomField/FormBottomField.esm.js';
5
+ import 'dayjs';
6
+ import { renderLabel } from '../../../utils/Constants/FormConstants.esm.js';
7
+
8
+ const SingleSelectNonAutoComplete = ({ props, variant, }) => {
9
+ const isError = !!props.errors?.[props.item.name];
10
+ const isShowBorderError = isError;
11
+ const value = useWatch({ control: props.control, name: props.item.name });
12
+ return (jsxs(FormControl, { fullWidth: true, sx: {
13
+ position: 'relative',
14
+ '& .MuiFormLabel-root': {
15
+ top: -10,
16
+ },
17
+ '& .MuiInputLabel-shrink': {
18
+ top: 0,
19
+ },
20
+ }, children: [renderLabel(variant, props), variant !== 'standard' && (jsx(InputLabel, { error: isShowBorderError, id: `${props.item.name}-labelId`, children: props.item.label })), jsx(Select, { labelId: `${props.item.name}-labelId`, id: `${props.item.name}-select`, value: value, label: variant !== 'standard' ? `${props.item.label}${props.item.required ? ' *' : ''}` : '', onChange: (e) => props.setValue(props.item.name, e.target.value), onBlur: (e) => {
21
+ props?.item?.onBlurFn && props?.item?.onBlurFn(e);
22
+ }, error: isShowBorderError, inputProps: {
23
+ 'aria-labelledby': `${props.item.name}-label`,
24
+ 'aria-describedby': `${props.item.name}-helper ${props.item.name}-error`,
25
+ 'aria-required': props.item.required ? true : undefined,
26
+ }, children: (props.item.options || []).map((item) => (jsx(MenuItem, { sx: {
27
+ fontSize: '11px', // Adjust the font size as needed
28
+ zIndex: 2000,
29
+ }, value: item.value, children: item.label }, item.value))) }), jsx(FormBottomField, { ...props })] }, props.item.name));
30
+ };
31
+
32
+ export { SingleSelectNonAutoComplete as default };