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
@@ -4,52 +4,47 @@ const useFormValidatingContext = (formArray) => {
4
4
  const initialValues = {};
5
5
  const validationShape = {};
6
6
  const renderCustomError = (field) => {
7
- if (field.customValidation) {
8
- validationShape[field.name] = validationShape[field.name].test("custom-check", field.customErrorMessage || "Invalid value", (value) => {
9
- // Call the custom validation function if provided
10
- return field.customValidation ? field.customValidation(value) : true;
11
- });
12
- }
7
+ if (!field.customValidation)
8
+ return;
9
+ const base = validationShape[field.name] || Yup.mixed();
10
+ validationShape[field.name] = base.test('custom-check', field.customErrorMessage || 'Invalid value', (value) => (field.customValidation ? field.customValidation(value) : true));
13
11
  };
14
12
  formArray.forEach((field) => {
15
13
  switch (field.inputType) {
16
- case "text":
17
- initialValues[field.name] = "";
14
+ case 'text':
15
+ initialValues[field.name] = '';
18
16
  if (field.required && field.errorMessage) {
19
- validationShape[field.name] = Yup.string()
17
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
20
18
  .typeError(field.errorMessage)
21
19
  .required(field.errorMessage);
22
- renderCustomError(field);
23
20
  }
24
21
  renderCustomError(field);
25
22
  break;
26
- case "rich-text-editor":
27
- initialValues[field.name] = "";
23
+ case 'rich-text-editor':
24
+ initialValues[field.name] = '';
28
25
  if (field.required && field.errorMessage) {
29
- validationShape[field.name] = Yup.string()
26
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
30
27
  .typeError(field.errorMessage)
31
28
  .required(field.errorMessage);
32
- renderCustomError(field);
33
29
  }
34
30
  renderCustomError(field);
35
31
  break;
36
- case "password":
37
- initialValues[field.name] = "";
32
+ case 'password':
33
+ initialValues[field.name] = '';
38
34
  if (field.required && field.errorMessage) {
39
- validationShape[field.name] = Yup.string()
35
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
40
36
  .typeError(field.errorMessage)
41
37
  .required(field.errorMessage);
42
- renderCustomError(field);
43
38
  }
44
39
  renderCustomError(field);
45
40
  break;
46
- case "email":
47
- initialValues[field.name] = "";
41
+ case 'email':
42
+ initialValues[field.name] = '';
48
43
  if (field.required && field.errorMessage) {
49
44
  validationShape[field.name] = Yup.string()
50
45
  .typeError(`Please enter ${field.label}`)
51
46
  .required(field.errorMessage)
52
- .test("valid-email", `Please enter valid Email`, (value) => {
47
+ .test('valid-email', `Please enter valid Email`, (value) => {
53
48
  return /\@.*\..+/.test(value);
54
49
  });
55
50
  renderCustomError(field);
@@ -57,7 +52,7 @@ const useFormValidatingContext = (formArray) => {
57
52
  else {
58
53
  validationShape[field.name] = Yup.string()
59
54
  .typeError(`Please enter ${field.label}`)
60
- .test("valid-email", `Please enter valid Email`, (value) => {
55
+ .test('valid-email', `Please enter valid Email`, (value) => {
61
56
  // Custom validation to check for at least one period after '@'
62
57
  return !value || /\@.*\..+/.test(value);
63
58
  });
@@ -65,16 +60,16 @@ const useFormValidatingContext = (formArray) => {
65
60
  }
66
61
  renderCustomError(field);
67
62
  break;
68
- case "multiEmail":
69
- initialValues[field.name] = "";
63
+ case 'multiEmail':
64
+ initialValues[field.name] = '';
70
65
  if (field.required && field.errorMessage) {
71
66
  validationShape[field.name] = Yup.string()
72
67
  .typeError(`Please enter ${field.label}`)
73
68
  .required(field.errorMessage)
74
- .test("valid-email", `Please enter valid Email`, (value) => {
69
+ .test('valid-email', `Please enter valid Email`, (value) => {
75
70
  if (!value)
76
71
  return false;
77
- const emails = value.split(";");
72
+ const emails = value.split(';');
78
73
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
79
74
  return emails.every((email) => emailRegex.test(email.trim()));
80
75
  });
@@ -83,13 +78,13 @@ const useFormValidatingContext = (formArray) => {
83
78
  else {
84
79
  validationShape[field.name] = Yup.string()
85
80
  .typeError(`Please enter ${field.label}`)
86
- .test("custom", `Please enter valid Email`, (value) => {
81
+ .test('custom', `Please enter valid Email`, (value) => {
87
82
  // Custom validation to check for at least one period after '@'
88
- if (!value || value === "") {
83
+ if (!value || value === '') {
89
84
  return true;
90
85
  }
91
86
  else {
92
- const emails = value.split(";");
87
+ const emails = value.split(';');
93
88
  const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
94
89
  return emails.every((email) => emailRegex.test(email.trim()));
95
90
  }
@@ -98,60 +93,56 @@ const useFormValidatingContext = (formArray) => {
98
93
  }
99
94
  renderCustomError(field);
100
95
  break;
101
- case "file":
96
+ case 'file':
102
97
  initialValues[field.name] = null;
103
98
  if (field.required && field.errorMessage) {
104
- validationShape[field.name] = Yup.mixed()
105
- .test("fileOrString", field?.errorMessage, (value) => {
106
- return (value instanceof File ||
107
- (typeof value === "string" && value.trim() !== ""));
99
+ validationShape[field.name] = (validationShape[field.name] || Yup.mixed())
100
+ .test('fileOrString', field?.errorMessage, (value) => {
101
+ return value instanceof File || (typeof value === 'string' && value.trim() !== '');
108
102
  })
109
103
  .required(field.errorMessage);
110
- renderCustomError(field);
111
104
  }
112
105
  renderCustomError(field);
113
106
  break;
114
- case "multifile":
107
+ case 'multifile':
115
108
  initialValues[field.name] = null;
116
109
  if (field.required && field.errorMessage) {
117
- validationShape[field.name] = Yup.string()
118
- .test("hasAtLeastOneFile", field.errorMessage, (value) => {
110
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
111
+ .test('hasAtLeastOneFile', field.errorMessage, (value) => {
119
112
  if (!value)
120
113
  return false;
121
114
  // Split by comma, trim, and filter out empty values
122
115
  const files = value
123
- .split(",")
116
+ .split(',')
124
117
  .map((f) => f.trim())
125
- .filter((f) => f !== "");
118
+ .filter((f) => f !== '');
126
119
  return files.length > 0;
127
120
  })
128
121
  .required(field.errorMessage);
129
- renderCustomError(field);
130
122
  }
131
123
  renderCustomError(field);
132
124
  break;
133
- case "number":
125
+ case 'number':
134
126
  initialValues[field.name] = null;
135
127
  if (field.required && field.errorMessage) {
136
- validationShape[field.name] = Yup.number()
128
+ validationShape[field.name] = (validationShape[field.name] || Yup.number())
137
129
  .nullable()
138
130
  .typeError(field.errorMessage)
139
131
  .required(field.errorMessage);
140
- renderCustomError(field);
141
132
  }
142
133
  renderCustomError(field);
143
134
  break;
144
- case "checkbox":
135
+ case 'checkbox':
145
136
  initialValues[field.name] = false;
146
137
  break;
147
- case "pincode":
138
+ case 'pincode':
148
139
  initialValues[field.name] = null;
149
140
  if (field.required && field.errorMessage) {
150
141
  validationShape[field.name] = Yup.number()
151
142
  .nullable()
152
143
  .typeError(`Please enter PinCode`)
153
144
  .required(field.errorMessage)
154
- .test("is-six-digits", `Please enter a 6-digit PinCode`, (value) => {
145
+ .test('is-six-digits', `Please enter a 6-digit PinCode`, (value) => {
155
146
  if (value) {
156
147
  const stringValue = value.toString();
157
148
  return stringValue.length === 6;
@@ -195,27 +186,26 @@ const useFormValidatingContext = (formArray) => {
195
186
  // renderCustomError(field)
196
187
  // }
197
188
  // break;
198
- case "phoneNumber":
189
+ case 'phoneNumber':
199
190
  initialValues[field.name] = null;
200
191
  if (field.required) {
201
- validationShape[field.name] = Yup.number()
192
+ validationShape[field.name] = (validationShape[field.name] || Yup.number())
202
193
  .nullable()
203
194
  .typeError(`Please enter Mobile Number`)
204
195
  .required(field.errorMessage)
205
- .test("is-two-digits", `Please enter a 10-digit Mobile Number`, (value) => {
196
+ .test('is-two-digits', `Please enter a 10-digit Mobile Number`, (value) => {
206
197
  if (value) {
207
198
  const stringValue = value.toString();
208
199
  return stringValue.length === 10;
209
200
  }
210
201
  return false;
211
202
  });
212
- renderCustomError(field);
213
203
  }
214
204
  else {
215
- validationShape[field.name] = Yup.string()
205
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
216
206
  .nullable()
217
207
  .typeError(``)
218
- .test("is-two-digits", `Please enter a 10-digit Mobile Number`, (value) => {
208
+ .test('is-two-digits', `Please enter a 10-digit Mobile Number`, (value) => {
219
209
  if (value) {
220
210
  // Custom validation to check for at least one period after '@'
221
211
  const stringValue = value.toString();
@@ -223,107 +213,103 @@ const useFormValidatingContext = (formArray) => {
223
213
  }
224
214
  return true; // Skip validation if no value is present
225
215
  });
226
- renderCustomError(field);
227
216
  }
228
217
  break;
229
- case "select":
230
- initialValues[field.name] = "";
218
+ case 'select':
219
+ case 'autocomplete-select': // alias for searchable select
220
+ initialValues[field.name] = '';
231
221
  if (field.required && field.errorMessage) {
232
- validationShape[field.name] = Yup.string()
222
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
233
223
  .typeError(`Select ${field.label}`)
234
224
  .required(field.errorMessage);
235
- renderCustomError(field);
236
225
  }
237
226
  renderCustomError(field);
238
227
  break;
239
- case "checkbox-group":
240
- case "radio-group":
241
- initialValues[field.name] = "";
228
+ case 'basic-select': // alias for non-autocomplete select
229
+ initialValues[field.name] = '';
242
230
  if (field.required && field.errorMessage) {
243
- validationShape[field.name] = Yup.string()
231
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
244
232
  .typeError(`Select ${field.label}`)
245
233
  .required(field.errorMessage);
246
- renderCustomError(field);
247
234
  }
248
235
  renderCustomError(field);
249
236
  break;
250
- case "multiselect":
237
+ case 'checkbox-group':
238
+ case 'radio-group':
239
+ initialValues[field.name] = '';
240
+ if (field.required && field.errorMessage) {
241
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
242
+ .typeError(`Select ${field.label}`)
243
+ .required(field.errorMessage);
244
+ }
245
+ renderCustomError(field);
246
+ break;
247
+ case 'multiselect':
251
248
  initialValues[field.name] = null;
252
249
  if (field.required && field.errorMessage) {
253
- validationShape[field.name] = validationShape[field.name] =
254
- Yup.string()
255
- .typeError(`Select atleast one ${field.label}`)
256
- .required(field.errorMessage);
257
- renderCustomError(field);
250
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
251
+ .typeError(`Select atleast one ${field.label}`)
252
+ .required(field.errorMessage);
258
253
  }
259
254
  renderCustomError(field);
260
255
  break;
261
- case "datepicker":
262
- case "timepicker":
256
+ case 'datepicker':
257
+ case 'timepicker':
263
258
  initialValues[field.name] = null;
264
259
  if (field.required && field.errorMessage) {
265
- validationShape[field.name] = validationShape[field.name] =
266
- Yup.string()
267
- .typeError(`Select ${field.label}`)
268
- .required(field.errorMessage);
269
- renderCustomError(field);
260
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
261
+ .typeError(`Select ${field.label}`)
262
+ .required(field.errorMessage);
270
263
  }
271
264
  renderCustomError(field);
272
265
  break;
273
- case "yearpicker":
266
+ case 'yearpicker':
274
267
  initialValues[field.name] = null;
275
268
  if (field.required && field.errorMessage) {
276
- validationShape[field.name] = validationShape[field.name] =
277
- Yup.string()
278
- .typeError(`Select ${field.label}`)
279
- .required(field.errorMessage);
280
- renderCustomError(field);
269
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
270
+ .typeError(`Select ${field.label}`)
271
+ .required(field.errorMessage);
281
272
  }
282
273
  renderCustomError(field);
283
274
  break;
284
- case "monthpicker":
275
+ case 'monthpicker':
285
276
  initialValues[field.name] = null;
286
277
  if (field.required && field.errorMessage) {
287
- validationShape[field.name] = validationShape[field.name] =
288
- Yup.string()
289
- .typeError(`Select ${field.label}`)
290
- .required(field.errorMessage);
291
- renderCustomError(field);
278
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
279
+ .typeError(`Select ${field.label}`)
280
+ .required(field.errorMessage);
292
281
  }
293
282
  renderCustomError(field);
294
283
  break;
295
- case "toggleSwitch":
284
+ case 'toggleSwitch':
296
285
  initialValues[field.name] = true;
297
286
  renderCustomError(field);
298
287
  break;
299
- case "dateRangePicker":
288
+ case 'dateRangePicker':
300
289
  const today = new Date();
301
- const day = String(today.getDate()).padStart(2, "0");
302
- const month = String(today.getMonth() + 1).padStart(2, "0"); // January is 0!
290
+ const day = String(today.getDate()).padStart(2, '0');
291
+ const month = String(today.getMonth() + 1).padStart(2, '0'); // January is 0!
303
292
  const year = today.getFullYear();
304
293
  const formattedDate = `${day}/${month}/${year}`;
305
294
  const threeMonthsAgo = new Date(today);
306
295
  threeMonthsAgo.setMonth(today.getMonth() - (field.monthSpan ?? 3));
307
- const dayBeforeThreeMonths = String(threeMonthsAgo.getDate()).padStart(2, "0");
308
- const monthBeforeThreeMonths = String(threeMonthsAgo.getMonth() + 1).padStart(2, "0"); // January is 0!
296
+ const dayBeforeThreeMonths = String(threeMonthsAgo.getDate()).padStart(2, '0');
297
+ const monthBeforeThreeMonths = String(threeMonthsAgo.getMonth() + 1).padStart(2, '0'); // January is 0!
309
298
  const yearBeforeThreeMonths = threeMonthsAgo.getFullYear();
310
299
  const formattedDateForThreeMonths = `${dayBeforeThreeMonths}/${monthBeforeThreeMonths}/${yearBeforeThreeMonths}`;
311
- initialValues["FromDate"] = formattedDateForThreeMonths;
312
- initialValues["ToDate"] = formattedDate;
300
+ initialValues['FromDate'] = formattedDateForThreeMonths;
301
+ initialValues['ToDate'] = formattedDate;
313
302
  if (field.required && field.errorMessage) {
314
- validationShape[field.name] = validationShape[field.name] =
315
- Yup.string()
316
- .typeError(`Select ${field.label}`)
317
- .required(field.errorMessage);
318
- renderCustomError(field);
303
+ validationShape[field.name] = (validationShape[field.name] || Yup.string())
304
+ .typeError(`Select ${field.label}`)
305
+ .required(field.errorMessage);
319
306
  }
320
307
  renderCustomError(field);
321
308
  break;
322
309
  default:
323
310
  initialValues[field.name] = null; // default value if inputType is not recognized
324
311
  if (field.required && field.errorMessage) {
325
- validationShape[field.name] = Yup.mixed().required(field.errorMessage);
326
- renderCustomError(field);
312
+ validationShape[field.name] = (validationShape[field.name] || Yup.mixed()).required(field.errorMessage);
327
313
  }
328
314
  renderCustomError(field);
329
315
  break;
@@ -1,3 +1,2 @@
1
- declare const FormContainer: () => import("react/jsx-runtime").JSX.Element;
2
- export default FormContainer;
3
- //# sourceMappingURL=FormContainer.d.ts.map
1
+ declare const _default: never;
2
+ export default _default;
@@ -0,0 +1,3 @@
1
+ var undefined$1 = undefined;
2
+
3
+ export { undefined$1 as default };
@@ -1,4 +1,11 @@
1
- import { FormRenderProps } from "../../lib/Interface/FormInterface";
2
- declare const RenderForm: (props: FormRenderProps) => import("react/jsx-runtime").JSX.Element;
3
- export default RenderForm;
4
- //# sourceMappingURL=FormRender.d.ts.map
1
+ import { FormRenderProps } from '../../utils';
2
+ import React from 'react';
3
+ /**
4
+ * Export the RenderForm component for use throughout the application
5
+ * This component is the central hub for rendering different form field types
6
+ * and is used by FormRenderWrapper and other form container components
7
+ *
8
+ * @see FormRenderWrapper
9
+ */
10
+ declare const _default: React.MemoExoticComponent<(props: FormRenderProps) => import("react/jsx-runtime").JSX.Element>;
11
+ export default _default;
@@ -0,0 +1,130 @@
1
+ import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import React__default, { lazy, Suspense } from 'react';
3
+ import FormCheckBox from '../FormComponents/FormCheckBox/FormCheckBox.esm.js';
4
+ import FormCheckBoxGroup from '../FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.esm.js';
5
+ import FormNumberField from '../FormComponents/FormNumberField/FormNumberField.esm.js';
6
+ import FormNumberFieldDecimal from '../FormComponents/FormNumberField/FormNumberFieldDecimal.esm.js';
7
+ import FormRadioGroup from '../FormComponents/FormRadioGroup/FormRadioGroup.esm.js';
8
+ import FormTextAreaField from '../FormComponents/FormTextAreaField/FormTextAreaField.esm.js';
9
+ import FormTextField from '../FormComponents/FormTextField/FormTextField.esm.js';
10
+ import PasswordField from '../FormComponents/PasswordField/PasswordField.esm.js';
11
+ import SingleSelect from '../FormComponents/Select/SingleSelect.esm.js';
12
+ import SingleSelectNonAutoComplete from '../FormComponents/Select/SingleSelectNonAutoComplete.esm.js';
13
+ import FormActiveSwitch from './FormActiveSwitch.esm.js';
14
+
15
+ // Lazy-loaded heavy components
16
+ const RichTextEditorWrapper = lazy(() => import('../RichTextEditor/index.esm.js').then((m) => ({ default: m.RichTextEditorWrapper })));
17
+ const MultiSelectV1 = lazy(() => import('../FormComponents/Select/MultiSelectv1.esm.js'));
18
+ const FormRenderFileUpload = lazy(() => import('../FileUpload/index.esm.js').then((m) => ({ default: m.FormRenderFileUpload })));
19
+ const FormRenderMultiFileUpload = lazy(() => import('../FileUpload/index.esm.js').then((m) => ({ default: m.FormRenderMultiFileUpload })));
20
+ const DatepickerWrapperV2 = lazy(() => import('../DatePicker/index.esm.js').then((m) => ({ default: m.DatepickerWrapperV2 })));
21
+ const Monthpickerrender = lazy(() => import('../DatePicker/index.esm.js').then((m) => ({ default: m.Monthpickerrender })));
22
+ const TimePickerFieldWrapper = lazy(() => import('../TimePicker/index.esm.js').then((m) => ({ default: m.TimePicker })));
23
+ // Loading fallback component
24
+ const LoadingFallback = () => jsx("div", { style: { minHeight: '36px' }, children: "Loading..." });
25
+ /**
26
+ * RenderForm Component
27
+ *
28
+ * Main renderer function that decides which form field component to render
29
+ * based on the `inputType` defined in the form item configuration.
30
+ *
31
+ * This component acts as a factory/mapper that instantiates the appropriate
32
+ * form field component based on the inputType property. It centralizes the
33
+ * mapping logic between input types and their corresponding components.
34
+ *
35
+ * @component
36
+ * @param {FormRenderProps} props - Form rendering properties including item configuration,
37
+ * form control, errors, and other form state
38
+ * @returns {JSX.Element} The appropriate form field component based on inputType
39
+ */
40
+ const RenderForm = (props) => {
41
+ /**
42
+ * Variant is an optional property that controls UI style differences
43
+ * Default is an empty string which will use the default styling
44
+ */
45
+ const variant = props.variant || '';
46
+ /**
47
+ * Switch between different input types and render the corresponding component
48
+ * This is the core mapping logic that determines which component to render
49
+ * based on the inputType property of the form item
50
+ */
51
+ switch (props.item?.inputType) {
52
+ /**
53
+ * Text input cases
54
+ * These cases handle standard text input, email input, and multi-email input
55
+ * All are rendered using the FormTextField component with appropriate validation
56
+ */
57
+ case 'text':
58
+ case 'multiEmail':
59
+ case 'email':
60
+ return jsx(FormTextField, { props: props, variant: variant });
61
+ // Rich text editor
62
+ case 'rich-text-editor':
63
+ return (jsx(Suspense, { fallback: jsx(LoadingFallback, {}), children: jsx(RichTextEditorWrapper, { props: props, variant: variant }) }));
64
+ // Password field
65
+ case 'password':
66
+ return jsx(PasswordField, { props: props, variant: variant });
67
+ // Dropdown select (auto-complete)
68
+ case 'select':
69
+ case 'autocomplete-select': // new alias
70
+ return jsx(SingleSelect, { props: props, variant: variant });
71
+ // Dropdown select (non auto-complete)
72
+ case 'select-v2':
73
+ case 'basic-select': // new alias
74
+ return jsx(SingleSelectNonAutoComplete, { props: props, variant: variant });
75
+ // Numeric inputs (integer, pincode, phone)
76
+ case 'number':
77
+ case 'pincode':
78
+ case 'phoneNumber':
79
+ return jsx(FormNumberField, { props: props, variant: variant });
80
+ // Decimal input
81
+ case 'decimal':
82
+ return jsx(FormNumberFieldDecimal, { props: props, variant: variant });
83
+ // Checkbox group (multiple options)
84
+ case 'checkbox-group':
85
+ return jsx(FormCheckBoxGroup, { props: props, variant: variant });
86
+ // Radio group (single option)
87
+ case 'radio-group':
88
+ return jsx(FormRadioGroup, { props: props, variant: variant });
89
+ // Date picker
90
+ case 'datepicker':
91
+ return (jsx(Suspense, { fallback: jsx(LoadingFallback, {}), children: jsx(DatepickerWrapperV2, { props: props, variant: variant }) }));
92
+ // Time picker
93
+ case 'timepicker':
94
+ return (jsx(Suspense, { fallback: jsx(LoadingFallback, {}), children: jsx(TimePickerFieldWrapper, { props: props, variant: variant }) }));
95
+ // Month picker
96
+ case 'monthpicker':
97
+ return (jsx(Suspense, { fallback: jsx(LoadingFallback, {}), children: jsx(Monthpickerrender, { props: props, variant: variant }) }));
98
+ // Multi-select dropdown
99
+ case 'multiselect':
100
+ return (jsx(Suspense, { fallback: jsx(LoadingFallback, {}), children: jsx(MultiSelectV1, { props: props, variant: variant }) }));
101
+ // Single file upload
102
+ case 'file':
103
+ return (jsx(Suspense, { fallback: jsx(LoadingFallback, {}), children: jsx(FormRenderFileUpload, { props: props, variant: variant }) }));
104
+ // Multi file upload
105
+ case 'multifile':
106
+ return (jsx(Suspense, { fallback: jsx(LoadingFallback, {}), children: jsx(FormRenderMultiFileUpload, { props: props, variant: variant }) }));
107
+ // Single checkbox
108
+ case 'checkbox':
109
+ return jsx(FormCheckBox, { props: props, variant: variant });
110
+ // Multi-line text input
111
+ case 'textarea':
112
+ return jsx(FormTextAreaField, { props: props, variant: variant });
113
+ // Toggle switch (active/inactive)
114
+ case 'toggleSwitch':
115
+ return jsx(FormActiveSwitch, { props: props }, props.item.name);
116
+ // Default case: if input type is not found, return nothing
117
+ default:
118
+ return jsx(Fragment, {});
119
+ }
120
+ };
121
+ /**
122
+ * Export the RenderForm component for use throughout the application
123
+ * This component is the central hub for rendering different form field types
124
+ * and is used by FormRenderWrapper and other form container components
125
+ *
126
+ * @see FormRenderWrapper
127
+ */
128
+ var RenderForm$1 = React__default.memo(RenderForm);
129
+
130
+ export { RenderForm$1 as default };
@@ -13,4 +13,3 @@ export interface FormsSection {
13
13
  arrayUpdate?: any;
14
14
  placeholderText?: string;
15
15
  }
16
- //# sourceMappingURL=FormRenderConstants.d.ts.map
@@ -1,9 +1,31 @@
1
- import { FormSectionPropsItem, VariantProps } from "@/lib/Interface/FormInterface";
2
- import { UseFormReturn } from "react-hook-form";
1
+ import React from 'react';
2
+ import { UseFormReturn } from 'react-hook-form';
3
+ import { FormSectionPropsItem, VariantProps } from '../../utils';
4
+ /**
5
+ * Interface for FormRenderWrapper component props
6
+ *
7
+ * @interface FormRenderWrapperProps
8
+ */
3
9
  export interface FormRenderWrapperProps {
10
+ /**
11
+ * Array of form section items to render
12
+ * Each item represents a form field with its configuration
13
+ */
4
14
  formArray: FormSectionPropsItem[];
15
+ /**
16
+ * Unique name identifier for the form
17
+ * Used for generating unique keys for form items
18
+ */
5
19
  name: string;
20
+ /**
21
+ * Number of columns to display form fields in
22
+ * Defaults to 3 if not specified
23
+ */
6
24
  numberOfColumns?: number;
25
+ /**
26
+ * React Hook Form's form control object
27
+ * Contains methods and state for form management
28
+ */
7
29
  form: UseFormReturn<{
8
30
  [x: string]: string | number | boolean | null;
9
31
  [x: number]: string | number | boolean | null;
@@ -11,9 +33,19 @@ export interface FormRenderWrapperProps {
11
33
  [x: string]: string | number | boolean | null;
12
34
  [x: number]: string | number | boolean | null;
13
35
  }>;
36
+ /**
37
+ * UI variant style to apply to form fields
38
+ * Controls the visual appearance of form elements
39
+ */
14
40
  variant?: VariantProps;
41
+ /**
42
+ * Whether to show error borders on fields with validation errors
43
+ */
15
44
  fieldError?: boolean;
16
45
  }
17
- declare const FormRenderWrapper: ({ formArray, name, numberOfColumns, form, variant, fieldError, }: FormRenderWrapperProps) => import("react/jsx-runtime").JSX.Element;
18
- export default FormRenderWrapper;
19
- //# sourceMappingURL=FormRenderWrapper.d.ts.map
46
+ /**
47
+ * Export the FormRenderWrapper component for use in form containers
48
+ * This component is the main entry point for rendering form fields
49
+ */
50
+ declare const _default: React.MemoExoticComponent<({ formArray, name, numberOfColumns, form, variant, fieldError, }: FormRenderWrapperProps) => import("react/jsx-runtime").JSX.Element>;
51
+ export default _default;
@@ -0,0 +1,33 @@
1
+ import { jsx, Fragment } from 'react/jsx-runtime';
2
+ import React__default from 'react';
3
+ import { useFormState } from 'react-hook-form';
4
+ import { FormComponent, Formitem } from './Form.styles.esm.js';
5
+ import RenderForm from './FormRender.esm.js';
6
+
7
+ /**
8
+ * FormRenderWrapper Component
9
+ *
10
+ * A container component that renders a collection of form fields based on configuration.
11
+ * Provides theming, layout, and form state management for the form fields.
12
+ *
13
+ * @component
14
+ * @param {FormRenderWrapperProps} props - The component props
15
+ */
16
+ const FormRenderWrapper = ({ formArray, name = '', numberOfColumns = 3, form, variant = '', fieldError, }) => {
17
+ // Subscribe to formState to react to validation changes
18
+ const { errors } = useFormState({ control: form.control });
19
+ /**
20
+ * Renders the form with theme provider and layout container
21
+ * Maps through the form array and renders each item with appropriate configuration
22
+ */
23
+ return (jsx(FormComponent, { container: true, margin: 'auto', children: formArray.map((item, i) => {
24
+ return (item.inputType && (jsx(Formitem, { container: true, sx: item.CustomProps, noOfColumn: item.numberOfColumns || numberOfColumns, children: item.inputType === 'custom' ? (item.FormElement || jsx(Fragment, {})) : (jsx(RenderForm, { item: item, register: form.register, control: form.control, errors: errors, getValues: form.getValues, clearErrors: form.clearErrors, setValue: form.setValue, variant: variant, fieldError: fieldError })) }, `${name}_${i}`)));
25
+ }) }));
26
+ };
27
+ /**
28
+ * Export the FormRenderWrapper component for use in form containers
29
+ * This component is the main entry point for rendering form fields
30
+ */
31
+ var FormRenderWrapper$1 = React__default.memo(FormRenderWrapper);
32
+
33
+ export { FormRenderWrapper$1 as default };
@@ -0,0 +1,6 @@
1
+ export { default as FormActiveSwitch } from './FormActiveSwitch';
2
+ export { default as useFormValidatingContext } from './FormConstants';
3
+ export { default as FormContainer } from './FormContainer';
4
+ export { default as RenderForm } from './FormRenderWrapper';
5
+ export { default as FormRender } from './FormRender';
6
+ export * from './FormRenderConstants';