@erpsquad/common 1.8.120 → 1.8.122

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 (278) hide show
  1. package/dist/_virtual/index/index.esm10.js +3 -3
  2. package/dist/_virtual/index/index.esm2.js +3 -3
  3. package/dist/_virtual/index/index.esm3.js +3 -3
  4. package/dist/_virtual/index/index.esm4.js +3 -3
  5. package/dist/_virtual/index/index.esm5.js +3 -3
  6. package/dist/_virtual/index/index.esm6.js +3 -3
  7. package/dist/_virtual/index/index.esm7.js +3 -3
  8. package/dist/_virtual/index/index.esm8.js +3 -3
  9. package/dist/_virtual/index/index.esm9.js +3 -3
  10. package/dist/_virtual/index/index10.js +1 -1
  11. package/dist/_virtual/index/index2.js +1 -1
  12. package/dist/_virtual/index/index3.js +1 -1
  13. package/dist/_virtual/index/index4.js +1 -1
  14. package/dist/_virtual/index/index5.js +1 -1
  15. package/dist/_virtual/index/index6.js +1 -1
  16. package/dist/_virtual/index/index7.js +1 -1
  17. package/dist/_virtual/index/index8.js +1 -1
  18. package/dist/_virtual/index/index9.js +1 -1
  19. package/dist/components/accordion/accordion.d.ts +1 -1
  20. package/dist/components/action-bar/action-bar.d.ts +1 -1
  21. package/dist/components/checkbox/checkbox.d.ts +1 -1
  22. package/dist/components/date-picker/date-picker.d.ts +1 -1
  23. package/dist/components/footer/footer.d.ts +1 -1
  24. package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  25. package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  26. package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  27. package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  28. package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  29. package/dist/components/form-control/form-parser/form-parser/index.esm.js +11 -3
  30. package/dist/components/form-control/form-parser/form-parser/index.esm.js.map +1 -1
  31. package/dist/components/form-control/form-parser/form-parser/index.js +4 -4
  32. package/dist/components/form-control/form-parser/form-parser/index.js.map +1 -1
  33. package/dist/components/form-control/form-parser/form-parser.d.ts +0 -1
  34. package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
  35. package/dist/components/icons/action-arrow.d.ts +3 -3
  36. package/dist/components/icons/add-circle.d.ts +3 -3
  37. package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
  38. package/dist/components/icons/arrow-circle-down.d.ts +3 -3
  39. package/dist/components/icons/arrow-down-three.d.ts +3 -3
  40. package/dist/components/icons/arrow-down-two.d.ts +3 -3
  41. package/dist/components/icons/arrow-down.d.ts +3 -3
  42. package/dist/components/icons/arrow-up-down.d.ts +3 -3
  43. package/dist/components/icons/arrow-up-two.d.ts +3 -3
  44. package/dist/components/icons/assignments.d.ts +3 -3
  45. package/dist/components/icons/blank-circle.d.ts +3 -3
  46. package/dist/components/icons/block-filled.d.ts +3 -3
  47. package/dist/components/icons/calendar-add.d.ts +3 -3
  48. package/dist/components/icons/calendar.d.ts +3 -3
  49. package/dist/components/icons/checkbox-square.d.ts +3 -3
  50. package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
  51. package/dist/components/icons/clock.d.ts +3 -3
  52. package/dist/components/icons/close.d.ts +3 -3
  53. package/dist/components/icons/coin-outline.d.ts +3 -3
  54. package/dist/components/icons/copy.d.ts +3 -3
  55. package/dist/components/icons/coupon.d.ts +3 -3
  56. package/dist/components/icons/cross-hire.d.ts +3 -3
  57. package/dist/components/icons/custom-styled-icon.d.ts +3 -3
  58. package/dist/components/icons/dashboard.d.ts +3 -3
  59. package/dist/components/icons/document-download.d.ts +3 -3
  60. package/dist/components/icons/document.d.ts +3 -3
  61. package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
  62. package/dist/components/icons/dollar-circle.d.ts +3 -3
  63. package/dist/components/icons/edit.d.ts +3 -3
  64. package/dist/components/icons/email.d.ts +3 -3
  65. package/dist/components/icons/export.d.ts +3 -3
  66. package/dist/components/icons/eye-off.d.ts +3 -3
  67. package/dist/components/icons/eye-plus-circle.d.ts +3 -3
  68. package/dist/components/icons/eye.d.ts +3 -3
  69. package/dist/components/icons/filled-circle.d.ts +3 -3
  70. package/dist/components/icons/filter-remove.d.ts +3 -3
  71. package/dist/components/icons/filter.d.ts +3 -3
  72. package/dist/components/icons/folder-save.d.ts +3 -3
  73. package/dist/components/icons/grid.d.ts +3 -3
  74. package/dist/components/icons/hashtag.d.ts +3 -3
  75. package/dist/components/icons/image.d.ts +3 -3
  76. package/dist/components/icons/import.d.ts +3 -3
  77. package/dist/components/icons/info-circle.d.ts +3 -3
  78. package/dist/components/icons/info.d.ts +3 -3
  79. package/dist/components/icons/link-horizontal.d.ts +3 -3
  80. package/dist/components/icons/link.d.ts +3 -3
  81. package/dist/components/icons/location.d.ts +3 -3
  82. package/dist/components/icons/lowest-lead-time.d.ts +3 -3
  83. package/dist/components/icons/lowest-min-qty.d.ts +3 -3
  84. package/dist/components/icons/lowest-price.d.ts +3 -3
  85. package/dist/components/icons/more.d.ts +3 -3
  86. package/dist/components/icons/notification.d.ts +3 -3
  87. package/dist/components/icons/paper-clip.d.ts +3 -3
  88. package/dist/components/icons/paragraph.d.ts +3 -3
  89. package/dist/components/icons/payment-request.d.ts +3 -3
  90. package/dist/components/icons/phone.d.ts +3 -3
  91. package/dist/components/icons/printer.d.ts +3 -3
  92. package/dist/components/icons/process-calendar.d.ts +3 -3
  93. package/dist/components/icons/promotion.d.ts +3 -3
  94. package/dist/components/icons/radio-button.d.ts +3 -3
  95. package/dist/components/icons/receipt-filled.d.ts +3 -3
  96. package/dist/components/icons/receipt-outline.d.ts +3 -3
  97. package/dist/components/icons/receipt.d.ts +3 -3
  98. package/dist/components/icons/refresh-icon.d.ts +3 -3
  99. package/dist/components/icons/replace.d.ts +3 -3
  100. package/dist/components/icons/save.d.ts +3 -3
  101. package/dist/components/icons/search-status.d.ts +3 -3
  102. package/dist/components/icons/search.d.ts +3 -3
  103. package/dist/components/icons/settings-fallback.d.ts +3 -3
  104. package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
  105. package/dist/components/icons/stacked-layer.d.ts +3 -3
  106. package/dist/components/icons/start-filled.d.ts +3 -3
  107. package/dist/components/icons/three-dot-icon.d.ts +3 -3
  108. package/dist/components/icons/tick-circle-filled.d.ts +3 -3
  109. package/dist/components/icons/tick-circle.d.ts +3 -3
  110. package/dist/components/icons/tick-octagon.d.ts +3 -3
  111. package/dist/components/icons/tick.d.ts +3 -3
  112. package/dist/components/icons/toggle-switch.d.ts +3 -3
  113. package/dist/components/icons/trash.d.ts +3 -3
  114. package/dist/components/icons/wave.d.ts +3 -3
  115. package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
  116. package/dist/components/icons/work-centre.d.ts +3 -3
  117. package/dist/components/index.esm.js +2 -2
  118. package/dist/components/index.js +1 -1
  119. package/dist/components/location-select.d.ts +1 -1
  120. package/dist/components/material-editable-table/material-editable-table.d.ts +1 -1
  121. package/dist/components/material-table/material-table.d.ts +1 -1
  122. package/dist/components/phone-input/phone-input.d.ts +1 -1
  123. package/dist/components/radio/radio.d.ts +1 -1
  124. package/dist/components/select/select.d.ts +1 -1
  125. package/dist/components/switches/android-12-switch.d.ts +3 -1
  126. package/dist/components/text-field/text-field.d.ts +1 -1
  127. package/dist/components/time-picker/time-picker.d.ts +1 -1
  128. package/dist/components/upload-media/upload-media.d.ts +1 -1
  129. package/dist/hooks/useUomFieldUpdater/index.esm.js +1 -1
  130. package/dist/hooks/useUomFieldUpdater/index.esm.js.map +1 -1
  131. package/dist/hooks/useUomFieldUpdater/index.js +1 -1
  132. package/dist/hooks/useUomFieldUpdater/index.js.map +1 -1
  133. package/dist/index.esm.js +75 -75
  134. package/dist/index.js +1 -1
  135. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.esm.js +1 -1
  136. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js +1 -1
  137. package/dist/node_modules/@mui/icons-material/utils/createSvgIcon/index.js.map +1 -1
  138. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
  139. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  140. package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
  141. package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
  142. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  143. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
  144. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
  145. package/dist/src/components/accordion/accordion.d.ts +1 -1
  146. package/dist/src/components/action-bar/action-bar.d.ts +1 -1
  147. package/dist/src/components/checkbox/checkbox.d.ts +1 -1
  148. package/dist/src/components/date-picker/date-picker.d.ts +1 -1
  149. package/dist/src/components/footer/footer.d.ts +1 -1
  150. package/dist/src/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  151. package/dist/src/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  152. package/dist/src/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  153. package/dist/src/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  154. package/dist/src/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  155. package/dist/src/components/form-control/form-parser/form-parser.d.ts +0 -1
  156. package/dist/src/components/form-control/form-parser/form-switcher.d.ts +1 -1
  157. package/dist/src/components/icons/action-arrow.d.ts +3 -3
  158. package/dist/src/components/icons/add-circle.d.ts +3 -3
  159. package/dist/src/components/icons/arrow-bidirectional.d.ts +3 -3
  160. package/dist/src/components/icons/arrow-circle-down.d.ts +3 -3
  161. package/dist/src/components/icons/arrow-down-three.d.ts +3 -3
  162. package/dist/src/components/icons/arrow-down-two.d.ts +3 -3
  163. package/dist/src/components/icons/arrow-down.d.ts +3 -3
  164. package/dist/src/components/icons/arrow-up-down.d.ts +3 -3
  165. package/dist/src/components/icons/arrow-up-two.d.ts +3 -3
  166. package/dist/src/components/icons/assignments.d.ts +3 -3
  167. package/dist/src/components/icons/blank-circle.d.ts +3 -3
  168. package/dist/src/components/icons/block-filled.d.ts +3 -3
  169. package/dist/src/components/icons/calendar-add.d.ts +3 -3
  170. package/dist/src/components/icons/calendar.d.ts +3 -3
  171. package/dist/src/components/icons/checkbox-square.d.ts +3 -3
  172. package/dist/src/components/icons/circular-arrow-setting.d.ts +3 -3
  173. package/dist/src/components/icons/clock.d.ts +3 -3
  174. package/dist/src/components/icons/close.d.ts +3 -3
  175. package/dist/src/components/icons/coin-outline.d.ts +3 -3
  176. package/dist/src/components/icons/copy.d.ts +3 -3
  177. package/dist/src/components/icons/coupon.d.ts +3 -3
  178. package/dist/src/components/icons/cross-hire.d.ts +3 -3
  179. package/dist/src/components/icons/custom-styled-icon.d.ts +3 -3
  180. package/dist/src/components/icons/dashboard.d.ts +3 -3
  181. package/dist/src/components/icons/document-download.d.ts +3 -3
  182. package/dist/src/components/icons/document.d.ts +3 -3
  183. package/dist/src/components/icons/dollar-circle-filled.d.ts +3 -3
  184. package/dist/src/components/icons/dollar-circle.d.ts +3 -3
  185. package/dist/src/components/icons/edit.d.ts +3 -3
  186. package/dist/src/components/icons/email.d.ts +3 -3
  187. package/dist/src/components/icons/export.d.ts +3 -3
  188. package/dist/src/components/icons/eye-off.d.ts +3 -3
  189. package/dist/src/components/icons/eye-plus-circle.d.ts +3 -3
  190. package/dist/src/components/icons/eye.d.ts +3 -3
  191. package/dist/src/components/icons/filled-circle.d.ts +3 -3
  192. package/dist/src/components/icons/filter-remove.d.ts +3 -3
  193. package/dist/src/components/icons/filter.d.ts +3 -3
  194. package/dist/src/components/icons/folder-save.d.ts +3 -3
  195. package/dist/src/components/icons/grid.d.ts +3 -3
  196. package/dist/src/components/icons/hashtag.d.ts +3 -3
  197. package/dist/src/components/icons/image.d.ts +3 -3
  198. package/dist/src/components/icons/import.d.ts +3 -3
  199. package/dist/src/components/icons/info-circle.d.ts +3 -3
  200. package/dist/src/components/icons/info.d.ts +3 -3
  201. package/dist/src/components/icons/link-horizontal.d.ts +3 -3
  202. package/dist/src/components/icons/link.d.ts +3 -3
  203. package/dist/src/components/icons/location.d.ts +3 -3
  204. package/dist/src/components/icons/lowest-lead-time.d.ts +3 -3
  205. package/dist/src/components/icons/lowest-min-qty.d.ts +3 -3
  206. package/dist/src/components/icons/lowest-price.d.ts +3 -3
  207. package/dist/src/components/icons/more.d.ts +3 -3
  208. package/dist/src/components/icons/notification.d.ts +3 -3
  209. package/dist/src/components/icons/paper-clip.d.ts +3 -3
  210. package/dist/src/components/icons/paragraph.d.ts +3 -3
  211. package/dist/src/components/icons/payment-request.d.ts +3 -3
  212. package/dist/src/components/icons/phone.d.ts +3 -3
  213. package/dist/src/components/icons/printer.d.ts +3 -3
  214. package/dist/src/components/icons/process-calendar.d.ts +3 -3
  215. package/dist/src/components/icons/promotion.d.ts +3 -3
  216. package/dist/src/components/icons/radio-button.d.ts +3 -3
  217. package/dist/src/components/icons/receipt-filled.d.ts +3 -3
  218. package/dist/src/components/icons/receipt-outline.d.ts +3 -3
  219. package/dist/src/components/icons/receipt.d.ts +3 -3
  220. package/dist/src/components/icons/refresh-icon.d.ts +3 -3
  221. package/dist/src/components/icons/replace.d.ts +3 -3
  222. package/dist/src/components/icons/save.d.ts +3 -3
  223. package/dist/src/components/icons/search-status.d.ts +3 -3
  224. package/dist/src/components/icons/search.d.ts +3 -3
  225. package/dist/src/components/icons/settings-fallback.d.ts +3 -3
  226. package/dist/src/components/icons/sort-arrow-icon.d.ts +3 -3
  227. package/dist/src/components/icons/stacked-layer.d.ts +3 -3
  228. package/dist/src/components/icons/start-filled.d.ts +3 -3
  229. package/dist/src/components/icons/three-dot-icon.d.ts +3 -3
  230. package/dist/src/components/icons/tick-circle-filled.d.ts +3 -3
  231. package/dist/src/components/icons/tick-circle.d.ts +3 -3
  232. package/dist/src/components/icons/tick-octagon.d.ts +3 -3
  233. package/dist/src/components/icons/tick.d.ts +3 -3
  234. package/dist/src/components/icons/toggle-switch.d.ts +3 -3
  235. package/dist/src/components/icons/trash.d.ts +3 -3
  236. package/dist/src/components/icons/wave.d.ts +3 -3
  237. package/dist/src/components/icons/with-out-tick-octagon.d.ts +3 -3
  238. package/dist/src/components/icons/work-centre.d.ts +3 -3
  239. package/dist/src/components/location-select.d.ts +1 -1
  240. package/dist/src/components/material-editable-table/material-editable-table.d.ts +1 -1
  241. package/dist/src/components/material-table/material-table.d.ts +1 -1
  242. package/dist/src/components/phone-input/phone-input.d.ts +1 -1
  243. package/dist/src/components/radio/radio.d.ts +1 -1
  244. package/dist/src/components/select/select.d.ts +1 -1
  245. package/dist/src/components/switches/android-12-switch.d.ts +3 -1
  246. package/dist/src/components/text-field/text-field.d.ts +1 -1
  247. package/dist/src/components/time-picker/time-picker.d.ts +1 -1
  248. package/dist/src/components/upload-media/upload-media.d.ts +1 -1
  249. package/dist/src/utils/api.d.ts +3 -9
  250. package/dist/src/utils/common-utility.d.ts +1 -1
  251. package/dist/src/utils/common.d.ts +4 -22
  252. package/dist/src/utils/form-builder-deconversion.d.ts +0 -43
  253. package/dist/style.css +72 -72
  254. package/dist/utils/api/index.esm.js +25 -22
  255. package/dist/utils/api/index.esm.js.map +1 -1
  256. package/dist/utils/api/index.js +1 -1
  257. package/dist/utils/api/index.js.map +1 -1
  258. package/dist/utils/api.d.ts +3 -9
  259. package/dist/utils/common-utility.d.ts +1 -1
  260. package/dist/utils/common.d.ts +4 -22
  261. package/dist/utils/constant/index.esm.js +1 -1
  262. package/dist/utils/constant/index.esm.js.map +1 -1
  263. package/dist/utils/constant/index.js +1 -1
  264. package/dist/utils/constant/index.js.map +1 -1
  265. package/dist/utils/form-builder-deconversion/index.esm.js +5 -4
  266. package/dist/utils/form-builder-deconversion/index.esm.js.map +1 -1
  267. package/dist/utils/form-builder-deconversion/index.js +1 -1
  268. package/dist/utils/form-builder-deconversion/index.js.map +1 -1
  269. package/dist/utils/form-builder-deconversion.d.ts +0 -43
  270. package/dist/utils/index.esm.js +4 -4
  271. package/dist/utils/index.js +1 -1
  272. package/dist/views/form-builder/custom-form/index.esm.js +1 -1
  273. package/dist/views/form-builder/custom-form/index.js +17 -17
  274. package/dist/views/form-builder/custom-form/index.js.map +1 -1
  275. package/dist/views/form-builder/utils/common/index.esm.js +1 -1
  276. package/dist/views/form-builder/utils/common/index.js +1 -1
  277. package/dist/views/form-builder/utils/common/index.js.map +1 -1
  278. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/material/utils/index/index.esm.js";
3
- var require$$0 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/clamp/index/index.esm.js";
3
+ var require$$2 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$0 as default
5
+ require$$2 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm10.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/styled-engine/index/index.esm.js";
3
- var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/material/utils/index/index.esm.js";
3
+ var require$$0 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$1 as default
5
+ require$$0 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm2.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/deepmerge/index/index.esm.js";
3
- var require$$4 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/styled-engine/index/index.esm.js";
3
+ var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$4 as default
5
+ require$$1 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm3.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/capitalize/index/index.esm.js";
3
- var require$$5 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/deepmerge/index/index.esm.js";
3
+ var require$$4 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$5 as default
5
+ require$$4 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm4.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/getDisplayName/index/index.esm.js";
3
- var require$$6 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/capitalize/index/index.esm.js";
3
+ var require$$5 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$6 as default
5
+ require$$5 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm5.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/system/esm/createTheme/index/index.esm.js";
3
- var require$$7 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/getDisplayName/index/index.esm.js";
3
+ var require$$6 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$7 as default
5
+ require$$6 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm6.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/system/esm/styleFunctionSx/index/index.esm.js";
3
- var require$$8 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/system/esm/createTheme/index/index.esm.js";
3
+ var require$$7 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$8 as default
5
+ require$$7 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm7.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.esm.js";
3
- var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/system/esm/styleFunctionSx/index/index.esm.js";
3
+ var require$$8 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$1 as default
5
+ require$$8 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm8.js.map
@@ -1,7 +1,7 @@
1
1
  import { getAugmentedNamespace } from "../_commonjsHelpers/index.esm.js";
2
- import * as index from "../../node_modules/@mui/utils/esm/clamp/index/index.esm.js";
3
- var require$$2 = /* @__PURE__ */ getAugmentedNamespace(index);
2
+ import * as index from "../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.esm.js";
3
+ var require$$1 = /* @__PURE__ */ getAugmentedNamespace(index);
4
4
  export {
5
- require$$2 as default
5
+ require$$1 as default
6
6
  };
7
7
  //# sourceMappingURL=index.esm9.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/material/utils/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/clamp/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index10.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/styled-engine/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/material/utils/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
2
2
  //# sourceMappingURL=index2.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/deepmerge/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/styled-engine/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index3.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/capitalize/index/index.js"),i=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/deepmerge/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index4.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/getDisplayName/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/capitalize/index/index.js"),i=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=i;
2
2
  //# sourceMappingURL=index5.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/createTheme/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/getDisplayName/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index6.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/styleFunctionSx/index/index.js"),t=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/createTheme/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
2
2
  //# sourceMappingURL=index7.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/system/esm/styleFunctionSx/index/index.js"),t=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=t;
2
2
  //# sourceMappingURL=index8.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),s=require("../../node_modules/@mui/utils/esm/clamp/index/index.js"),r=/* @__PURE__ */e.getAugmentedNamespace(s);exports.default=r;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_commonjsHelpers/index.js"),r=require("../../node_modules/@mui/utils/esm/formatMuiErrorMessage/index/index.js"),s=/* @__PURE__ */e.getAugmentedNamespace(r);exports.default=s;
2
2
  //# sourceMappingURL=index9.js.map
@@ -5,6 +5,6 @@ interface AccordionProps {
5
5
  children?: React.ReactNode;
6
6
  accordionProps?: Partial<MUIAccordionProps>;
7
7
  }
8
- declare const Accordion: import('react').MemoExoticComponent<(props: AccordionProps) => import("react/jsx-runtime").JSX.Element>;
8
+ declare const Accordion: import('react').NamedExoticComponent<AccordionProps>;
9
9
  export { Accordion };
10
10
  export default Accordion;
@@ -45,6 +45,6 @@ interface SavedFilter {
45
45
  name: string;
46
46
  query: RuleGroupType;
47
47
  }
48
- declare const ActionBar: React.MemoExoticComponent<(props: ActionBarPropsType) => import("react/jsx-runtime").JSX.Element>;
48
+ declare const ActionBar: React.NamedExoticComponent<ActionBarPropsType>;
49
49
  export { ActionBar };
50
50
  export default ActionBar;
@@ -1,5 +1,5 @@
1
1
  import { CheckboxProps } from '@mui/material';
2
2
 
3
- declare const Checkbox: import('react').MemoExoticComponent<(props: CheckboxProps) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const Checkbox: import('react').NamedExoticComponent<CheckboxProps>;
4
4
  export { Checkbox };
5
5
  export default Checkbox;
@@ -16,6 +16,6 @@ export interface DatePickerProps {
16
16
  textFieldProps?: any;
17
17
  format?: string;
18
18
  }
19
- declare const DatePicker: import('react').MemoExoticComponent<(props: DatePickerProps) => import("react/jsx-runtime").JSX.Element>;
19
+ declare const DatePicker: import('react').NamedExoticComponent<DatePickerProps>;
20
20
  export { DatePicker };
21
21
  export default DatePicker;
@@ -17,6 +17,6 @@ interface IFooter {
17
17
  isPaginationDisplayed?: boolean;
18
18
  isPageSaving?: boolean;
19
19
  }
20
- declare const Footer: React.MemoExoticComponent<({ pages, setPages, currentPage, setCurrentPage, total, paginationModel, handlePaginationModel, sharedPages, resource, savePageConfiguration, handlePageDelete, enablePages, isPaginationDisplayed, isPageSaving }: IFooter) => import("react/jsx-runtime").JSX.Element>;
20
+ declare const Footer: React.NamedExoticComponent<IFooter>;
21
21
  export { Footer };
22
22
  export default Footer;
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- declare const DynamicMedia: React.MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const DynamicMedia: React.NamedExoticComponent<any>;
4
4
  export { DynamicMedia };
5
5
  export default DynamicMedia;
@@ -1,4 +1,4 @@
1
1
 
2
- declare const DynamicPhone: import('react').MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
2
+ declare const DynamicPhone: import('react').NamedExoticComponent<any>;
3
3
  export { DynamicPhone };
4
4
  export default DynamicPhone;
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- declare const DynamicSelect: React.MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const DynamicSelect: React.NamedExoticComponent<any>;
4
4
  export { DynamicSelect };
5
5
  export default DynamicSelect;
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- declare const DynamicInput: React.MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const DynamicInput: React.NamedExoticComponent<any>;
4
4
  export { DynamicInput };
5
5
  export default DynamicInput;
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
 
3
- declare const DynamicTime: React.MemoExoticComponent<(props: any) => import("react/jsx-runtime").JSX.Element>;
3
+ declare const DynamicTime: React.NamedExoticComponent<any>;
4
4
  export { DynamicTime };
5
5
  export default DynamicTime;
@@ -4,7 +4,7 @@ import { useState, useCallback, useEffect } from "react";
4
4
  import { images } from "../../../../images/index.esm.js";
5
5
  /* empty css */
6
6
  import { TabBar } from "../../../tabs/tabs/index.esm.js";
7
- import { formBuilderDeConversion } from "../../../../utils/form-builder-deconversion/index.esm.js";
7
+ import formBuilderDeConversion from "../../../../utils/form-builder-deconversion/index.esm.js";
8
8
  import { yupResolver as o } from "../../../../node_modules/@hookform/resolvers/yup/dist/yup/index.esm.js";
9
9
  import * as Yup from "yup";
10
10
  import dayjs from "dayjs";
@@ -227,7 +227,16 @@ const FormParser = ({
227
227
  const selectedSectionForm = (values == null ? void 0 : values[formSwitcherName]) ? switchForms.find(
228
228
  (ele) => ele.name === (values == null ? void 0 : values[formSwitcherName])
229
229
  ) : {};
230
- const members = isFormSwitcher ? selectedSectionForm == null ? void 0 : selectedSectionForm.formMembers : section == null ? void 0 : section.members;
230
+ let members;
231
+ if (isFormSwitcher) {
232
+ const commonFields = sectionMembers.filter(
233
+ (member) => !member.section_form_id && !member.is_form_switcher_section
234
+ );
235
+ const formSpecificFields = (selectedSectionForm == null ? void 0 : selectedSectionForm.formMembers) || [];
236
+ members = [...commonFields, ...formSpecificFields];
237
+ } else {
238
+ members = section == null ? void 0 : section.members;
239
+ }
231
240
  return {
232
241
  isFormSwitcher,
233
242
  formSwitcherName,
@@ -574,7 +583,6 @@ const FormParser = ({
574
583
  );
575
584
  };
576
585
  export {
577
- FormParser,
578
586
  FormParser as default
579
587
  };
580
588
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/form-control/form-parser/form-parser.tsx"],"sourcesContent":["import { FormProvider, useForm, useWatch } from \"react-hook-form\";\n// import { useLocation } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\n\n// import FullScreenLayout from \"../../../layout/fullScreen/fullScreen\";\n\nimport { useState, useEffect, useCallback } from \"react\";\nimport images from \"../../../assets/images\";\nimport \"./form-parser.scss\";\nimport TabBar from \"../../tabs/tabs\";\nimport formBuilderDeConversion from \"../../../utils/form-builder-deconversion\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport dayjs from \"dayjs\";\nimport { SECTION_TYPES } from '../../../utils/constant';\nimport { CountryData } from 'react-phone-input-2';\nimport Alert from '../../alert/alert';\nimport _ from \"lodash\";\nimport { useTranslation } from \"react-i18next\";\nimport FormSection from \"./form-section\";\nconst validationReducer = (validations: any, validation: any, field: any, translationFn: any) => {\n switch (validation.type) {\n case \"required\":\n return (field.field_properties?.is_multiselect ? validations.required(translationFn(validation.msg_en)).min(1, translationFn(validation.msg_en)) : validation.value\n ? validations.required(translationFn(validation.msg_en)).test('not-empty', translationFn(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true): validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"postive_number\":\n return validations.test('is-positive-number', translationFn(validation.msg_en), (value) => value >= 0)\n case 'email':\n return validations.email(validation.msg_en);\n case \"no_special_char\":\n return validations.test(\n \"no-special-char\",\n translationFn(validation.msg_en),\n value =>\n typeof value === \"string\"\n ? /^[^.\\-\\W_]+$/u.test(value) // allow letters/digits only\n : true\n );\n case \"when\":\n return validations.when(validation.relation, {\n is: (val: any) => val === validation.values,\n then: () => validation?.thenValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n otherwise: () => validation?.otherWiseValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n });\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n}\n\nconst FormParser = ({\n data,\n defaultValues,\n handleFormSubmit,\n fieldArrayName,\n mode,\n displayAvtar = false,\n onTableAddClick,\n handleFormValues,\n getFormMethods,\n setFields,\n onSelectFooterClick,\n setActiveTabValue , \n activeTab = 0,\n recieveTabDataLenght,\n recieveIsValidForm,\n activeTabs,\n onTableCellChange,\n containerStyles = undefined,\n isButton = true,\n getSelectedData,\n refreshOptions=false,\n onBlur, \n }: any) => {\n\n const { t } = useTranslation();\n\n function convertToNestedObject(dotNotationString: string, field: any, existingObject: any = {}) {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n const fieldValidations = field.validation.reduce(\n (validations: any, validation: any) => {\n switch (validation.type) {\n case \"required\":\n return validation.value\n ? validations.required(t(validation.msg_en)).test('not-empty', t(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true)\n : (field.field_properties?.is_multiselect ? validations.min(1, t(validation.msg_en)) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, t(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, t(validation.msg_en));\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n },\n getValidationType(field)\n );\n currentLevel[key] = fieldValidations;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }\n\n const getValidationType = (field: any) => {\n switch (field.field_type) {\n case 'select':\n return field.field_properties?.is_multiselect\n ? yup.array()\n : yup.string()\n\n case 'number':\n case 'currency':\n return yup.number().transform((value, originalValue) => (originalValue === '' ? undefined : value)).typeError('Please enter valid number').nullable()\n case 'currency_with_amount':\n return yup.number()\n case 'url':\n return yup.string().matches(/^(https?:\\/\\/)?((([a-zA-Z0-9_-]+\\.)+[a-zA-Z]{2,})|localhost)(:\\d{2,5})?(\\/[a-zA-Z0-9#_-]+\\/?)*(\\?[a-zA-Z0-9&=_-]+)?(#\\S+)?$/, { excludeEmptyString: true, message: \"Please enter valid URL.\" })\n\n default:\n return yup.string()\n }\n }\n\n const convertNestedFieldSchemaObject = (nestedFields: any) => {\n const schema: any = {};\n\n for (const key in nestedFields) {\n if (typeof nestedFields[key] === 'object' && !Object.hasOwn(nestedFields[key], 'tests')) {\n schema[key] = yup.object().shape(convertNestedFieldSchemaObject(nestedFields[key]));\n } else {\n schema[key] = nestedFields[key]\n }\n }\n return schema;\n }\n\n\n const generateValidationSchema = (data: any[]) => {\n const yupSchemaObject: any = {};\n let nestedFielvalidations: any = {},\n nestedYupSchemaObj: any = {};\n\n data &&\n data?.forEach((field: any) => {\n let fieldValidations: any;\n if (field.validation && field.validation.length > 0) {\n if (field.name?.includes(\".\")) {\n nestedFielvalidations = convertToNestedObject(field.name, field, nestedFielvalidations);\n } else {\n fieldValidations = field.validation.reduce((validations: any, validation: any) => validationReducer(validations, validation, field, t),\n getValidationType(field)\n );\n yupSchemaObject[field.name] = fieldValidations;\n }\n\n nestedYupSchemaObj = convertNestedFieldSchemaObject(nestedFielvalidations)\n }\n\n });\n\n return yup.object().shape({\n [fieldArrayName]: yup.object().shape({ ...yupSchemaObject, ...nestedYupSchemaObj }),\n });\n };\n\n const {\n control,\n handleSubmit,\n formState: { errors },\n setValue,\n reset,\n getValues,\n watch,\n resetField,\n unregister,\n trigger,\n getFieldState,\n ...rest\n } = useForm({\n ...(defaultValues && typeof defaultValues === 'object' ? { defaultValues } : {}),\n resolver: yupResolver(generateValidationSchema(data)),\n mode: \"all\",\n });\n\n const watchedValues = useWatch({\n control,\n name: fieldArrayName,\n });\n\n // Local States\n const [schema, setSchema] = useState<[]>([]);\n const [tabsData, setTabsData] = useState<any[]>([]);\n const [errorAlert, setErrorAlert] = useState<boolean>(false);\n const [currencyOption, setCurrencyOptions] = useState<string>('');\n const [isTabFormValid, setTabFormValid] = useState<boolean>(false);\n const [validateRequiredFields, setValidRequiredFields] = useState<any[]>([]);\n\n // Local Functions\n const handleTableAddClick = (tableName?: string) => {\n onTableAddClick?.(tableName)\n }\n\n const getSectionData = useCallback((section: any) => {\n const sectionMembers = section?.members?.map((ele: any) => ele) || []\n const values = getValues(fieldArrayName)\n const isFormSwitcher = section.section_type === SECTION_TYPES.FORM_SWITCH_SECTION\n const formSwitcherName =\n section?.form_switcher_name ||\n section?.form_switcher_label?.toLowerCase().split(\" \").join(\"_\");\n const switchForms = section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n )\n }));\n const selectedSectionForm =\n values?.[formSwitcherName] ?\n switchForms.find((ele: any) =>\n ele.name === values?.[formSwitcherName]\n ) : {};\n const members = isFormSwitcher ? selectedSectionForm?.formMembers : section?.members\n\n return {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n selectedSectionForm,\n members,\n values\n }\n }, [fieldArrayName, getValues])\n\n const handleSetCountryCodeField = useCallback((country: CountryData, field: any, fieldArrayName: any, values: any) => {\n const oldVal = values?.[fieldArrayName]?.[field?.country_code_field_name]\n const newVal = `+${country.dialCode}`\n if (\n field?.is_country_code_separate &&\n field?.country_code_field_name &&\n oldVal !== newVal\n ) {\n setValue(\n `${fieldArrayName}.${field?.country_code_field_name}` as never,\n newVal as never\n )\n }\n }, [setValue])\n\n const handleFieldCleanUp = useCallback((switchForms: any) => {\n switchForms.forEach((form: any) => {\n form?.formMembers.forEach((member: any) => {\n const memberName = member?.name || member.label.toLowerCase().split(\" \").join(\"_\")\n const v = _.get(defaultValues, `${fieldArrayName}.${memberName}`, null)\n const newData = data.map((ele: any) => {\n if (member?.section_form_id === ele?.section_form_id) {\n delete ele.value\n }\n return ({\n ...ele,\n ...(v ? {value:v} : {}),\n })\n })\n if(!v) {\n resetField(`${fieldArrayName}.${memberName}` as never)\n unregister(`${fieldArrayName}.${memberName}` as never)\n }\n setFields?.(newData)\n })\n\n })\n }, [data, defaultValues, fieldArrayName, resetField, setFields, unregister])\n\n const createNestedObjectFromDot = useCallback((dotNotationString: string, field: any, existingObject: any = {}) => {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n let fieldValue = field.value\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field.field_type === 'date') {\n fieldValue = dayjs(fieldValue)\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n fieldValue = dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0)\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n fieldValue = Number(fieldValue)\n }\n }\n currentLevel[key] = fieldValue;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }, [])\n\n const removeMatchingKeyValuePairs = useCallback((obj1, obj2) => {\n _.forOwn(obj1, (value, key) => {\n if (_.has(obj2, key) && _.isEqual(value, obj2[key])) {\n delete obj1[key];\n }\n });\n return obj1;\n }, [])\n \n const validateRequiredSwitchFormData = useCallback((switchData: any) => {\n const requiredFields: string[] = [];\n if (switchData) {\n switchData && switchData[0]?.formMembers.forEach((member: any) => {\n if (member?.validation && Array.isArray(member?.validation)) {\n member?.validation.forEach((validation: any) => {\n if (validation?.thenValidations && Array.isArray(validation?.thenValidations)) {\n validation?.thenValidations.forEach((thenValidation: any) => {\n if (thenValidation?.type === \"required\" && thenValidation?.value === true) {\n if (member?.name) {\n requiredFields.push(member.name);\n }\n }\n });\n } else{\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n requiredFields.push(member.name);\n }\n }\n });\n }\n });\n\n }\n if(requiredFields){\n setValidRequiredFields(_.uniq(requiredFields))\n }\n \n }, [])\n\n const isEmpty = useCallback((value: any): boolean => {\n return (\n value === null ||\n value === undefined ||\n (Array.isArray(value) && value.length === 0) ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n );\n }, [])\n \n const getMissingFields = useCallback((watchedFields: any, validationReqFields: string[]): string[] => {\n const missingFields: string[] = [];\n \n validationReqFields.forEach((fieldPath) => {\n const keys = fieldPath.split(\".\");\n let currentLevel = watchedFields;\n \n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n \n if (!currentLevel?.[key] && currentLevel?.[key] !== 0) {\n // If any key in the path is missing, mark the field as missing\n missingFields.push(fieldPath);\n return;\n }\n \n // Move deeper into the object\n currentLevel = currentLevel[key];\n }\n \n // After navigating the full path, check if the final value is empty\n if (isEmpty(currentLevel)) {\n missingFields.push(fieldPath);\n }\n });\n\n \n return missingFields;\n }, [isEmpty])\n \n // Use Effects\n useEffect(() => {\n if (recieveTabDataLenght) {\n recieveTabDataLenght(tabsData.length)\n }\n }, [recieveTabDataLenght, tabsData])\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.origin !== window.origin) {\n return;\n }\n const { state } = event.data;\n\n if (state?.length) {\n const data: any = formBuilderDeConversion(state);\n\n if (data.tab) {\n setTabsData(data.tab);\n } else if (data.section) {\n setSchema(data.section);\n }\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n };\n }, []);\n\n useEffect(() => {\n if (data) {\n const formData = formBuilderDeConversion(data)\n if (formData?.tab) {\n // setSchema([])\n setTabsData(formData.tab);\n if (activeTab !== undefined) {\n setSchema(formData.tab[activeTab]?.data || []);\n }\n } else {\n setSchema(formData.section);\n // setTabsData([])\n }\n const dVals = _.get(defaultValues, fieldArrayName, {})\n const wVals = removeMatchingKeyValuePairs((watchedValues || {}), (dVals || {}))\n if (mode === 'edit' && !Object.keys(wVals)?.length) {\n let formValues: any = {};\n let nestedFormValues: any = {};\n data.forEach((field: any) => {\n const fieldValue = field.value\n if (field.name?.includes(\".\")) {\n nestedFormValues = createNestedObjectFromDot(field.name, field, nestedFormValues)\n } else {\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field?.is_section_field) {\n const fieldName = field?.form_switcher_name || field?.form_switcher_label;\n formValues = { ...formValues, [fieldName]: fieldValue }\n } else if (\n field?.name &&\n ['company_id', 'email_ids'].includes(field?.name) &&\n ['edit_customer', 'add_customer', 'edit_vendor', 'add_vendor'].includes(fieldArrayName)\n ) {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else if (field.field_type === 'date') {\n formValues = { ...formValues, [field.name]: dayjs(fieldValue) }\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n formValues = { ...formValues, [field.name]: dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0) }\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n if (fieldArrayName === \"edit_user\" && field.name === \"role_id\") {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else {\n formValues = { ...formValues, [field.name]: Number(fieldValue) }\n }\n } else {\n formValues = { ...formValues, [field.name]: fieldValue }\n }\n }\n }\n })\n const finalFormValues = { ...formValues, ...nestedFormValues }\n reset({ [fieldArrayName]: { ...finalFormValues } })\n }\n getFormMethods?.({ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch,getFieldState,errors, ...rest })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data])\n\n useEffect(() => {\n if (activeTab?.toString()) {\n if (tabsData && tabsData[activeTab]) {\n setSchema(tabsData[activeTab].data);\n }\n }\n }, [activeTab, tabsData]);\n\n useEffect(() => {\n if (watchedValues && handleFormValues) {\n handleFormValues?.(watchedValues);\n }\n }, [handleFormValues, watchedValues])\n\n useEffect(() => {\n if (errors?.[fieldArrayName]) {\n setErrorAlert(true)\n } else {\n setErrorAlert(false)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ fieldArrayName,JSON.stringify(errors)])\n\n useEffect(() => {\n const validatedFields: string[] = [];\n if (activeTab != undefined) {\n tabsData[activeTab]?.data.forEach((section: any) => {\n \n if (section.members && Array.isArray(section.members)) {\n \n section.members.forEach((member: any) => {\n if (member.validation && Array.isArray(member.validation)) {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n // validatedFields.push(fieldArrayName + '.' + member.name);\n validatedFields.push(member.name);\n }\n } \n });\n }\n })\n setValidRequiredFields(validatedFields);\n }\n }, [tabsData, activeTab]);\n\n useEffect(() => {\n if(watchedValues?.account_type){\n\n const switchFormData: any[] = [];\n schema && schema.forEach((section : any)=>{\n const sectionMembers = schema && section?.members?.map((ele: any) => ele) || [];\n \n const switchForms = schema && section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n ),\n }));\n if(switchForms){\n switchFormData.push(switchForms)\n }\n })\n\n const selectValue = watchedValues?.account_type || \"Individual\";\n const switchData = switchFormData && Array.isArray(switchFormData[0])\n ? switchFormData[0].filter((form: any) => form.name === selectValue)\n : []; \n \n if(switchData){\n validateRequiredSwitchFormData(switchData)\n } \n \n }\n }, [watchedValues?.account_type, schema, validateRequiredSwitchFormData]);\n\n useEffect(() => {\n if(validateRequiredFields.length > 0) {\n const updatedRequiredFields = getMissingFields(watchedValues, validateRequiredFields)\n\n // const updatedRequiredFields = validateRequiredFields.filter((fieldPath) => {\n // const watchedValue = watchedFields[fieldPath] ;\n // return watchedValue === undefined || watchedValue === null || watchedValue === 0 ;\n // });\n\n updatedRequiredFields.length === 0 ? setTabFormValid(true) : setTabFormValid(false) ; \n } else {\n setTabFormValid(true)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateRequiredFields , watchedValues , activeTab]) \n\n useEffect(() => {\n if (recieveIsValidForm) {\n recieveIsValidForm(isTabFormValid)\n }\n }, [recieveIsValidForm, isTabFormValid])\n\n \n return (\n // <FullScreenLayout>\n <Box sx={{ width: \"100%\", padding: \"2rem\", ...containerStyles }}>\n <FormProvider {...{ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, errors, ...rest }}>\n <form id={fieldArrayName} name={fieldArrayName} onSubmit={handleSubmit(handleFormSubmit)}>\n {Boolean(tabsData?.length) && (\n <>\n {errorAlert &&\n <Alert severity='error' onClose={() => setErrorAlert(false)}>\n Please fill all the required fields.\n </Alert>\n }\n <TabBar\n tabs={tabsData}\n activeTabs={activeTabs}\n activeValue={activeTab}\n setActiveValue={setActiveTabValue}\n isFormTabValid = {isTabFormValid}\n />\n </>\n )}\n {schema &&\n schema.map((section: any, index: number) => {\n const {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n members,\n values,\n } = getSectionData(section)\n\n return (\n <FormSection\n section={section}\n index={index}\n members={members}\n switchForms={switchForms}\n isFormSwitcher={isFormSwitcher}\n control={control}\n fieldArrayName={fieldArrayName}\n formSwitcherName={formSwitcherName}\n displayAvtar={displayAvtar}\n isButton={isButton}\n currencyOption={currencyOption}\n values={values}\n onBlur={onBlur}\n setValue={setValue}\n onSelectFooterClick={onSelectFooterClick}\n getSelectedData={getSelectedData}\n setCurrencyOptions={setCurrencyOptions}\n refreshOptions={refreshOptions}\n handleFieldCleanUp={handleFieldCleanUp}\n handleSetCountryCodeField={handleSetCountryCodeField}\n handleTableAddClick={handleTableAddClick}\n onTableCellChange={onTableCellChange}\n // setDetailsData={setDetailsData}\n t={t}\n images={images}\n />\n );\n })}\n </form>\n </FormProvider>\n </Box>\n // </FullScreenLayout>\n );\n};\n\nexport { FormParser };\nexport default FormParser;"],"names":["_a","validations","validation","yup","schema","data","yupResolver","fieldArrayName"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/components/form-control/form-parser/form-parser.tsx"],"sourcesContent":["import { FormProvider, useForm, useWatch } from \"react-hook-form\";\n// import { useLocation } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\n\n// import FullScreenLayout from \"../../../layout/fullScreen/fullScreen\";\n\nimport { useState, useEffect, useCallback } from \"react\";\nimport images from \"../../../assets/images\";\nimport \"./form-parser.scss\";\nimport TabBar from \"../../tabs/tabs\";\nimport formBuilderDeConversion from \"../../../utils/form-builder-deconversion\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport dayjs from \"dayjs\";\nimport { SECTION_TYPES } from '../../../utils/constant';\nimport { CountryData } from 'react-phone-input-2';\nimport Alert from '../../alert/alert';\nimport _ from \"lodash\";\nimport { useTranslation } from \"react-i18next\";\nimport FormSection from \"./form-section\";\nconst validationReducer = (validations: any, validation: any, field: any, translationFn: any) => {\n switch (validation.type) {\n case \"required\":\n return (field.field_properties?.is_multiselect ? validations.required(translationFn(validation.msg_en)).min(1, translationFn(validation.msg_en)) : validation.value\n ? validations.required(translationFn(validation.msg_en)).test('not-empty', translationFn(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"postive_number\":\n return validations.test('is-positive-number', translationFn(validation.msg_en), (value) => value >= 0)\n case 'email':\n return validations.email(validation.msg_en);\n case \"no_special_char\":\n return validations.test(\n \"no-special-char\",\n translationFn(validation.msg_en),\n value =>\n typeof value === \"string\"\n ? /^[^.\\-\\W_]+$/u.test(value) // allow letters/digits only\n : true\n );\n case \"when\":\n return validations.when(validation.relation, {\n is: (val: any) => val === validation.values,\n then: () => validation?.thenValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n otherwise: () => validation?.otherWiseValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n });\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n}\n\nconst FormParser = ({\n data,\n defaultValues,\n handleFormSubmit,\n fieldArrayName,\n mode,\n displayAvtar = false,\n onTableAddClick,\n handleFormValues,\n getFormMethods,\n setFields,\n onSelectFooterClick,\n setActiveTabValue,\n activeTab = 0,\n recieveTabDataLenght,\n recieveIsValidForm,\n activeTabs,\n onTableCellChange,\n containerStyles = undefined,\n isButton = true,\n getSelectedData,\n refreshOptions = false,\n onBlur,\n}: any) => {\n\n const { t } = useTranslation();\n\n function convertToNestedObject(dotNotationString: string, field: any, existingObject: any = {}) {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n const fieldValidations = field.validation.reduce(\n (validations: any, validation: any) => {\n switch (validation.type) {\n case \"required\":\n return validation.value\n ? validations.required(t(validation.msg_en)).test('not-empty', t(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true)\n : (field.field_properties?.is_multiselect ? validations.min(1, t(validation.msg_en)) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, t(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, t(validation.msg_en));\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n },\n getValidationType(field)\n );\n currentLevel[key] = fieldValidations;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }\n\n const getValidationType = (field: any) => {\n switch (field.field_type) {\n case 'select':\n return field.field_properties?.is_multiselect\n ? yup.array()\n : yup.string()\n\n case 'number':\n case 'currency':\n return yup.number().transform((value, originalValue) => (originalValue === '' ? undefined : value)).typeError('Please enter valid number').nullable()\n case 'currency_with_amount':\n return yup.number()\n case 'url':\n return yup.string().matches(/^(https?:\\/\\/)?((([a-zA-Z0-9_-]+\\.)+[a-zA-Z]{2,})|localhost)(:\\d{2,5})?(\\/[a-zA-Z0-9#_-]+\\/?)*(\\?[a-zA-Z0-9&=_-]+)?(#\\S+)?$/, { excludeEmptyString: true, message: \"Please enter valid URL.\" })\n\n default:\n return yup.string()\n }\n }\n\n const convertNestedFieldSchemaObject = (nestedFields: any) => {\n const schema: any = {};\n\n for (const key in nestedFields) {\n if (typeof nestedFields[key] === 'object' && !Object.hasOwn(nestedFields[key], 'tests')) {\n schema[key] = yup.object().shape(convertNestedFieldSchemaObject(nestedFields[key]));\n } else {\n schema[key] = nestedFields[key]\n }\n }\n return schema;\n }\n\n\n const generateValidationSchema = (data: any[]) => {\n const yupSchemaObject: any = {};\n let nestedFielvalidations: any = {},\n nestedYupSchemaObj: any = {};\n\n data &&\n data?.forEach((field: any) => {\n let fieldValidations: any;\n if (field.validation && field.validation.length > 0) {\n if (field.name?.includes(\".\")) {\n nestedFielvalidations = convertToNestedObject(field.name, field, nestedFielvalidations);\n } else {\n fieldValidations = field.validation.reduce((validations: any, validation: any) => validationReducer(validations, validation, field, t),\n getValidationType(field)\n );\n yupSchemaObject[field.name] = fieldValidations;\n }\n\n nestedYupSchemaObj = convertNestedFieldSchemaObject(nestedFielvalidations)\n }\n\n });\n\n return yup.object().shape({\n [fieldArrayName]: yup.object().shape({ ...yupSchemaObject, ...nestedYupSchemaObj }),\n });\n };\n\n const {\n control,\n handleSubmit,\n formState: { errors },\n setValue,\n reset,\n getValues,\n watch,\n resetField,\n unregister,\n trigger,\n getFieldState,\n ...rest\n } = useForm({\n ...(defaultValues && typeof defaultValues === 'object' ? { defaultValues } : {}),\n resolver: yupResolver(generateValidationSchema(data)),\n mode: \"all\",\n });\n\n const watchedValues = useWatch({\n control,\n name: fieldArrayName,\n });\n\n // Local States\n const [schema, setSchema] = useState<[]>([]);\n const [tabsData, setTabsData] = useState<any[]>([]);\n const [errorAlert, setErrorAlert] = useState<boolean>(false);\n const [currencyOption, setCurrencyOptions] = useState<string>('');\n const [isTabFormValid, setTabFormValid] = useState<boolean>(false);\n const [validateRequiredFields, setValidRequiredFields] = useState<any[]>([]);\n\n // Local Functions\n const handleTableAddClick = (tableName?: string) => {\n onTableAddClick?.(tableName)\n }\n\n const getSectionData = useCallback((section: any) => {\n const sectionMembers = section?.members?.map((ele: any) => ele) || []\n const values = getValues(fieldArrayName)\n const isFormSwitcher = section.section_type === SECTION_TYPES.FORM_SWITCH_SECTION\n const formSwitcherName =\n section?.form_switcher_name ||\n section?.form_switcher_label?.toLowerCase().split(\" \").join(\"_\");\n const switchForms = section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n )\n }));\n const selectedSectionForm =\n values?.[formSwitcherName] ?\n switchForms.find((ele: any) =>\n ele.name === values?.[formSwitcherName]\n ) : {};\n\n // When form switcher is active, include:\n // 1. Common fields (fields without section_form_id or is_form_switcher_section)\n // 2. Form-specific fields (fields with section_form_id matching the selected form)\n let members;\n if (isFormSwitcher) {\n const commonFields = sectionMembers.filter(\n (member: any) => !member.section_form_id && !member.is_form_switcher_section\n );\n const formSpecificFields = selectedSectionForm?.formMembers || [];\n members = [...commonFields, ...formSpecificFields];\n } else {\n members = section?.members;\n }\n\n return {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n selectedSectionForm,\n members,\n values\n }\n }, [fieldArrayName, getValues])\n\n const handleSetCountryCodeField = useCallback((country: CountryData, field: any, fieldArrayName: any, values: any) => {\n const oldVal = values?.[fieldArrayName]?.[field?.country_code_field_name]\n const newVal = `+${country.dialCode}`\n if (\n field?.is_country_code_separate &&\n field?.country_code_field_name &&\n oldVal !== newVal\n ) {\n setValue(\n `${fieldArrayName}.${field?.country_code_field_name}` as never,\n newVal as never\n )\n }\n }, [setValue])\n\n const handleFieldCleanUp = useCallback((switchForms: any) => {\n switchForms.forEach((form: any) => {\n form?.formMembers.forEach((member: any) => {\n const memberName = member?.name || member.label.toLowerCase().split(\" \").join(\"_\")\n const v = _.get(defaultValues, `${fieldArrayName}.${memberName}`, null)\n const newData = data.map((ele: any) => {\n if (member?.section_form_id === ele?.section_form_id) {\n delete ele.value\n }\n return ({\n ...ele,\n ...(v ? { value: v } : {}),\n })\n })\n if (!v) {\n resetField(`${fieldArrayName}.${memberName}` as never)\n unregister(`${fieldArrayName}.${memberName}` as never)\n }\n setFields?.(newData)\n })\n\n })\n }, [data, defaultValues, fieldArrayName, resetField, setFields, unregister])\n\n const createNestedObjectFromDot = useCallback((dotNotationString: string, field: any, existingObject: any = {}) => {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n let fieldValue = field.value\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field.field_type === 'date') {\n fieldValue = dayjs(fieldValue)\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n fieldValue = dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0)\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n fieldValue = Number(fieldValue)\n }\n }\n currentLevel[key] = fieldValue;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }, [])\n\n const removeMatchingKeyValuePairs = useCallback((obj1, obj2) => {\n _.forOwn(obj1, (value, key) => {\n if (_.has(obj2, key) && _.isEqual(value, obj2[key])) {\n delete obj1[key];\n }\n });\n return obj1;\n }, [])\n\n const validateRequiredSwitchFormData = useCallback((switchData: any) => {\n const requiredFields: string[] = [];\n if (switchData) {\n switchData && switchData[0]?.formMembers.forEach((member: any) => {\n if (member?.validation && Array.isArray(member?.validation)) {\n member?.validation.forEach((validation: any) => {\n if (validation?.thenValidations && Array.isArray(validation?.thenValidations)) {\n validation?.thenValidations.forEach((thenValidation: any) => {\n if (thenValidation?.type === \"required\" && thenValidation?.value === true) {\n if (member?.name) {\n requiredFields.push(member.name);\n }\n }\n });\n } else {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n requiredFields.push(member.name);\n }\n }\n });\n }\n });\n\n }\n if (requiredFields) {\n setValidRequiredFields(_.uniq(requiredFields))\n }\n\n }, [])\n\n const isEmpty = useCallback((value: any): boolean => {\n return (\n value === null ||\n value === undefined ||\n (Array.isArray(value) && value.length === 0) ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n );\n }, [])\n\n const getMissingFields = useCallback((watchedFields: any, validationReqFields: string[]): string[] => {\n const missingFields: string[] = [];\n\n validationReqFields.forEach((fieldPath) => {\n const keys = fieldPath.split(\".\");\n let currentLevel = watchedFields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (!currentLevel?.[key] && currentLevel?.[key] !== 0) {\n // If any key in the path is missing, mark the field as missing\n missingFields.push(fieldPath);\n return;\n }\n\n // Move deeper into the object\n currentLevel = currentLevel[key];\n }\n\n // After navigating the full path, check if the final value is empty\n if (isEmpty(currentLevel)) {\n missingFields.push(fieldPath);\n }\n });\n\n\n return missingFields;\n }, [isEmpty])\n\n // Use Effects\n useEffect(() => {\n if (recieveTabDataLenght) {\n recieveTabDataLenght(tabsData.length)\n }\n }, [recieveTabDataLenght, tabsData])\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.origin !== window.origin) {\n return;\n }\n const { state } = event.data;\n\n if (state?.length) {\n const data: any = formBuilderDeConversion(state);\n\n if (data.tab) {\n setTabsData(data.tab);\n } else if (data.section) {\n setSchema(data.section);\n }\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n };\n }, []);\n\n useEffect(() => {\n if (data) {\n const formData = formBuilderDeConversion(data)\n if (formData?.tab) {\n // setSchema([])\n setTabsData(formData.tab);\n if (activeTab !== undefined) {\n setSchema(formData.tab[activeTab]?.data || []);\n }\n } else {\n setSchema(formData.section);\n // setTabsData([])\n }\n const dVals = _.get(defaultValues, fieldArrayName, {})\n const wVals = removeMatchingKeyValuePairs((watchedValues || {}), (dVals || {}))\n if (mode === 'edit' && !Object.keys(wVals)?.length) {\n let formValues: any = {};\n let nestedFormValues: any = {};\n data.forEach((field: any) => {\n const fieldValue = field.value\n if (field.name?.includes(\".\")) {\n nestedFormValues = createNestedObjectFromDot(field.name, field, nestedFormValues)\n } else {\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field?.is_section_field) {\n const fieldName = field?.form_switcher_name || field?.form_switcher_label;\n formValues = { ...formValues, [fieldName]: fieldValue }\n } else if (\n field?.name &&\n ['company_id', 'email_ids'].includes(field?.name) &&\n ['edit_customer', 'add_customer', 'edit_vendor', 'add_vendor'].includes(fieldArrayName)\n ) {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else if (field.field_type === 'date') {\n formValues = { ...formValues, [field.name]: dayjs(fieldValue) }\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n formValues = { ...formValues, [field.name]: dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0) }\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n if (fieldArrayName === \"edit_user\" && field.name === \"role_id\") {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else {\n formValues = { ...formValues, [field.name]: Number(fieldValue) }\n }\n } else {\n formValues = { ...formValues, [field.name]: fieldValue }\n }\n }\n }\n })\n const finalFormValues = { ...formValues, ...nestedFormValues }\n reset({ [fieldArrayName]: { ...finalFormValues } })\n }\n getFormMethods?.({ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, getFieldState, errors, ...rest })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data])\n\n useEffect(() => {\n if (activeTab?.toString()) {\n if (tabsData && tabsData[activeTab]) {\n setSchema(tabsData[activeTab].data);\n }\n }\n }, [activeTab, tabsData]);\n\n useEffect(() => {\n if (watchedValues && handleFormValues) {\n handleFormValues?.(watchedValues);\n }\n }, [handleFormValues, watchedValues])\n\n useEffect(() => {\n if (errors?.[fieldArrayName]) {\n setErrorAlert(true)\n } else {\n setErrorAlert(false)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fieldArrayName, JSON.stringify(errors)])\n\n useEffect(() => {\n const validatedFields: string[] = [];\n if (activeTab != undefined) {\n tabsData[activeTab]?.data.forEach((section: any) => {\n\n if (section.members && Array.isArray(section.members)) {\n\n section.members.forEach((member: any) => {\n if (member.validation && Array.isArray(member.validation)) {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n // validatedFields.push(fieldArrayName + '.' + member.name);\n validatedFields.push(member.name);\n }\n }\n });\n }\n })\n setValidRequiredFields(validatedFields);\n }\n }, [tabsData, activeTab]);\n\n useEffect(() => {\n if (watchedValues?.account_type) {\n\n const switchFormData: any[] = [];\n schema && schema.forEach((section: any) => {\n const sectionMembers = schema && section?.members?.map((ele: any) => ele) || [];\n\n const switchForms = schema && section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n ),\n }));\n if (switchForms) {\n switchFormData.push(switchForms)\n }\n })\n\n const selectValue = watchedValues?.account_type || \"Individual\";\n const switchData = switchFormData && Array.isArray(switchFormData[0])\n ? switchFormData[0].filter((form: any) => form.name === selectValue)\n : [];\n\n if (switchData) {\n validateRequiredSwitchFormData(switchData)\n }\n\n }\n }, [watchedValues?.account_type, schema, validateRequiredSwitchFormData]);\n\n useEffect(() => {\n if (validateRequiredFields.length > 0) {\n const updatedRequiredFields = getMissingFields(watchedValues, validateRequiredFields)\n\n // const updatedRequiredFields = validateRequiredFields.filter((fieldPath) => {\n // const watchedValue = watchedFields[fieldPath] ;\n // return watchedValue === undefined || watchedValue === null || watchedValue === 0 ;\n // });\n\n updatedRequiredFields.length === 0 ? setTabFormValid(true) : setTabFormValid(false);\n } else {\n setTabFormValid(true)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateRequiredFields, watchedValues, activeTab])\n\n useEffect(() => {\n if (recieveIsValidForm) {\n recieveIsValidForm(isTabFormValid)\n }\n }, [recieveIsValidForm, isTabFormValid])\n\n\n return (\n // <FullScreenLayout>\n <Box sx={{ width: \"100%\", padding: \"2rem\", ...containerStyles }}>\n <FormProvider {...{ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, errors, ...rest }}>\n <form id={fieldArrayName} name={fieldArrayName} onSubmit={handleSubmit(handleFormSubmit)}>\n {Boolean(tabsData?.length) && (\n <>\n {errorAlert &&\n <Alert severity='error' onClose={() => setErrorAlert(false)}>\n Please fill all the required fields.\n </Alert>\n }\n <TabBar\n tabs={tabsData}\n activeTabs={activeTabs}\n activeValue={activeTab}\n setActiveValue={setActiveTabValue}\n isFormTabValid={isTabFormValid}\n />\n </>\n )}\n {schema &&\n schema.map((section: any, index: number) => {\n const {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n members,\n values,\n } = getSectionData(section)\n\n return (\n <FormSection\n section={section}\n index={index}\n members={members}\n switchForms={switchForms}\n isFormSwitcher={isFormSwitcher}\n control={control}\n fieldArrayName={fieldArrayName}\n formSwitcherName={formSwitcherName}\n displayAvtar={displayAvtar}\n isButton={isButton}\n currencyOption={currencyOption}\n values={values}\n onBlur={onBlur}\n setValue={setValue}\n onSelectFooterClick={onSelectFooterClick}\n getSelectedData={getSelectedData}\n setCurrencyOptions={setCurrencyOptions}\n refreshOptions={refreshOptions}\n handleFieldCleanUp={handleFieldCleanUp}\n handleSetCountryCodeField={handleSetCountryCodeField}\n handleTableAddClick={handleTableAddClick}\n onTableCellChange={onTableCellChange}\n // setDetailsData={setDetailsData}\n t={t}\n images={images}\n />\n );\n })}\n </form>\n </FormProvider>\n </Box>\n // </FullScreenLayout>\n );\n};\n\nexport default FormParser;"],"names":["_a","validations","validation","yup","schema","data","yupResolver","fieldArrayName"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react-hook-form"),r=require("react"),l=;/* empty css */;/* empty css */var i=,/* empty css */n=,/* empty css */a=,/* empty css */s=require("yup"),o=require("dayjs"),u=,/* empty css */d=,/* empty css */c=require("lodash"),m=require("react-i18next"),f=,/* empty css */v=;/* empty css */function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=/* @__PURE__ */Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,l.get?l:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,t}var y=/* @__PURE__ */_(s),p=/* @__PURE__ */h(o),b=/* @__PURE__ */h(c);const g=(e,t,r,l)=>{var i;switch(t.type){case"required":return(null==(i=r.field_properties)?void 0:i.is_multiselect)?e.required(l(t.msg_en)).min(1,l(t.msg_en)):t.value?e.required(l(t.msg_en)).test("not-empty",l(t.msg_en),e=>{var t;return"string"!=typeof e||e&&(null==(t=null==e?void 0:e.trim())?void 0:t.length)>0}):e.nullable();case"min_length":case"min_val":return e.min(t.value,l(t.msg_en));case"max_length":case"max_val":return e.max(t.value,l(t.msg_en));case"postive_number":return e.test("is-positive-number",l(t.msg_en),e=>e>=0);case"email":return e.email(t.msg_en);case"no_special_char":return e.test("no-special-char",l(t.msg_en),e=>"string"!=typeof e||/^[^.\-\W_]+$/u.test(e));case"when":return e.when(t.relation,{is:e=>e===t.values,then:()=>{var i;return(null==(i=null==t?void 0:t.thenValidations)?void 0:i.reduce((e,t)=>g(e,t,r,l),e))||e},otherwise:()=>{var i;return(null==(i=null==t?void 0:t.otherWiseValidations)?void 0:i.reduce((e,t)=>g(e,t,r,l),e))||e}});default:return e}},w=({data:s,defaultValues:o,handleFormSubmit:c,fieldArrayName:h,mode:_,displayAvtar:w=!1,onTableAddClick:j,handleFormValues:A,getFormMethods:x,setFields:E,onSelectFooterClick:S,setActiveTabValue:C,activeTab:F=0,recieveTabDataLenght:q,recieveIsValidForm:k,activeTabs:T,onTableCellChange:V,containerStyles:O,isButton:$=!0,getSelectedData:N,refreshOptions:B=!1,onBlur:P})=>{const{t:M}=m.useTranslation(),D=e=>{var t;switch(e.field_type){case"select":return(null==(t=e.field_properties)?void 0:t.is_multiselect)?y.array():y.string();case"number":case"currency":return y.number().transform((e,t)=>""===t?void 0:e).typeError("Please enter valid number").nullable();case"currency_with_amount":return y.number();case"url":return y.string().matches(/^(https?:\/\/)?((([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,})|localhost)(:\d{2,5})?(\/[a-zA-Z0-9#_-]+\/?)*(\?[a-zA-Z0-9&=_-]+)?(#\S+)?$/,{excludeEmptyString:!0,message:"Please enter valid URL."});default:return y.string()}},L=e=>{const t={};for(const r in e)"object"!=typeof e[r]||Object.hasOwn(e[r],"tests")?t[r]=e[r]:t[r]=y.object().shape(L(e[r]));return t},{control:I,handleSubmit:z,formState:{errors:W},setValue:Z,reset:R,getValues:U,watch:H,resetField:J,unregister:Y,trigger:G,getFieldState:K,...Q}=t.useForm({...o&&"object"==typeof o?{defaultValues:o}:{},resolver:a.yupResolver((e=>{const t={};let r={},l={};return e&&(null==e||e.forEach(e=>{var i;let n;e.validation&&e.validation.length>0&&((null==(i=e.name)?void 0:i.includes("."))?r=function(e,t,r={}){const l=e.split(".");let i=r;return l.forEach((e,r)=>{if(r===l.length-1)if(i[e]){if("object"!=typeof i[e]||Array.isArray(i[e]))throw new Error(`Conflict: The key "${e}" already exists and is not an object.`)}else{const r=t.validation.reduce((e,r)=>{var l;switch(r.type){case"required":return r.value?e.required(M(r.msg_en)).test("not-empty",M(r.msg_en),e=>{var t;return"string"!=typeof e||e&&(null==(t=null==e?void 0:e.trim())?void 0:t.length)>0}):(null==(l=t.field_properties)?void 0:l.is_multiselect)?e.min(1,M(r.msg_en)):e.nullable();case"min_length":case"min_val":return e.min(r.value,M(r.msg_en));case"max_length":case"max_val":return e.max(r.value,M(r.msg_en));default:return e}},D(t));i[e]=r}else{if(i[e]){if("object"!=typeof i[e]||Array.isArray(i[e]))throw new Error(`Conflict: The key "${e}" already exists and is not an object.`)}else i[e]={};i=i[e]}}),r}(e.name,e,r):(n=e.validation.reduce((t,r)=>g(t,r,e,M),D(e)),t[e.name]=n),l=L(r))})),y.object().shape({[h]:y.object().shape({...t,...l})})})(s)),mode:"all"}),X=t.useWatch({control:I,name:h}),[ee,te]=r.useState([]),[re,le]=r.useState([]),[ie,ne]=r.useState(!1),[ae,se]=r.useState(""),[oe,ue]=r.useState(!1),[de,ce]=r.useState([]),me=e=>{null==j||j(e)},fe=r.useCallback(e=>{var t,r,l;const i=(null==(t=null==e?void 0:e.members)?void 0:t.map(e=>e))||[],n=U(h),a=e.section_type===u.SECTION_TYPES.FORM_SWITCH_SECTION,s=(null==e?void 0:e.form_switcher_name)||(null==(r=null==e?void 0:e.form_switcher_label)?void 0:r.toLowerCase().split(" ").join("_")),o=null==(l=null==e?void 0:e.switcher_forms)?void 0:l.map(e=>({...e,formMembers:i.filter(t=>t.section_form_id===e.id)})),d=(null==n?void 0:n[s])?o.find(e=>e.name===(null==n?void 0:n[s])):{},c=a?null==d?void 0:d.formMembers:null==e?void 0:e.members;return{isFormSwitcher:a,formSwitcherName:s,switchForms:o,selectedSectionForm:d,members:c,values:n}},[h,U]),ve=r.useCallback((e,t,r,l)=>{var i;const n=null==(i=null==l?void 0:l[r])?void 0:i[null==t?void 0:t.country_code_field_name],a=`+${e.dialCode}`;(null==t?void 0:t.is_country_code_separate)&&(null==t?void 0:t.country_code_field_name)&&n!==a&&Z(`${r}.${null==t?void 0:t.country_code_field_name}`,a)},[Z]),he=r.useCallback(e=>{e.forEach(e=>{null==e||e.formMembers.forEach(e=>{const t=(null==e?void 0:e.name)||e.label.toLowerCase().split(" ").join("_"),r=b.default.get(o,`${h}.${t}`,null),l=s.map(t=>((null==e?void 0:e.section_form_id)===(null==t?void 0:t.section_form_id)&&delete t.value,{...t,...r?{value:r}:{}}));r||(J(`${h}.${t}`),Y(`${h}.${t}`)),null==E||E(l)})})},[s,o,h,J,E,Y]),_e=r.useCallback((e,t,r={})=>{const l=e.split(".");let i=r;return l.forEach((e,r)=>{if(r===l.length-1)if(i[e]){if("object"!=typeof i[e]||Array.isArray(i[e]))throw new Error(`Conflict: The key "${e}" already exists and is not an object.`)}else{let r=t.value;if(r&&("image"!==t.field_type||"file"!==t.field_type))if("date"===t.field_type)r=p.default(r);else if("time"===t.field_type){const[e,t,l]=r.split(":").map(Number);r=p.default().set("hour",e).set("minute",t).set("second",l).set("millisecond",0)}else t.name.includes("_id")&&!Array.isArray(null==t?void 0:t.value)&&(r=Number(r));i[e]=r}else{if(i[e]){if("object"!=typeof i[e]||Array.isArray(i[e]))throw new Error(`Conflict: The key "${e}" already exists and is not an object.`)}else i[e]={};i=i[e]}}),r},[]),ye=r.useCallback((e,t)=>(b.default.forOwn(e,(r,l)=>{b.default.has(t,l)&&b.default.isEqual(r,t[l])&&delete e[l]}),e),[]),pe=r.useCallback(e=>{var t;const r=[];e&&e&&(null==(t=e[0])||t.formMembers.forEach(e=>{(null==e?void 0:e.validation)&&Array.isArray(null==e?void 0:e.validation)&&(null==e||e.validation.forEach(t=>{(null==t?void 0:t.thenValidations)&&Array.isArray(null==t?void 0:t.thenValidations)?null==t||t.thenValidations.forEach(t=>{"required"===(null==t?void 0:t.type)&&!0===(null==t?void 0:t.value)&&(null==e?void 0:e.name)&&r.push(e.name)}):e.validation.some(e=>"required"===e.type&&!0===e.value)&&r.push(e.name)}))})),r&&ce(b.default.uniq(r))},[]),be=r.useCallback(e=>null==e||Array.isArray(e)&&0===e.length||"object"==typeof e&&0===Object.keys(e).length,[]),ge=r.useCallback((e,t)=>{const r=[];return t.forEach(t=>{const l=t.split(".");let i=e;for(let e=0;e<l.length;e++){const n=l[e];if(!(null==i?void 0:i[n])&&0!==(null==i?void 0:i[n]))return void r.push(t);i=i[n]}be(i)&&r.push(t)}),r},[be]);return r.useEffect(()=>{q&&q(re.length)},[q,re]),r.useEffect(()=>{const e=e=>{if(e.origin!==window.origin)return;const{state:t}=e.data;if(null==t?void 0:t.length){const e=n.formBuilderDeConversion(t);e.tab?le(e.tab):e.section&&te(e.section)}};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[]),r.useEffect(()=>{var e,t;if(s){const r=n.formBuilderDeConversion(s);(null==r?void 0:r.tab)?(le(r.tab),void 0!==F&&te((null==(e=r.tab[F])?void 0:e.data)||[])):te(r.section);const l=b.default.get(o,h,{}),i=ye(X||{},l||{});if("edit"===_&&!(null==(t=Object.keys(i))?void 0:t.length)){let e={},t={};s.forEach(r=>{var l;const i=r.value;if(null==(l=r.name)?void 0:l.includes("."))t=_e(r.name,r,t);else if(i&&("image"!==r.field_type||"file"!==r.field_type))if(null==r?void 0:r.is_section_field){const t=(null==r?void 0:r.form_switcher_name)||(null==r?void 0:r.form_switcher_label);e={...e,[t]:i}}else if((null==r?void 0:r.name)&&["company_id","email_ids"].includes(null==r?void 0:r.name)&&["edit_customer","add_customer","edit_vendor","add_vendor"].includes(h))e={...e,[r.name]:i};else if("date"===r.field_type)e={...e,[r.name]:p.default(i)};else if("time"===r.field_type){const[t,l,n]=i.split(":").map(Number);e={...e,[r.name]:p.default().set("hour",t).set("minute",l).set("second",n).set("millisecond",0)}}else e=r.name.includes("_id")&&!Array.isArray(null==r?void 0:r.value)?"edit_user"===h&&"role_id"===r.name?{...e,[r.name]:i}:{...e,[r.name]:Number(i)}:{...e,[r.name]:i}});const r={...e,...t};R({[h]:{...r}})}null==x||x({control:I,handleSubmit:z,setValue:Z,reset:R,resetField:J,getValues:U,unregister:Y,trigger:G,watch:H,getFieldState:K,errors:W,...Q})}},[s]),r.useEffect(()=>{(null==F?void 0:F.toString())&&re&&re[F]&&te(re[F].data)},[F,re]),r.useEffect(()=>{X&&A&&(null==A||A(X))},[A,X]),r.useEffect(()=>{(null==W?void 0:W[h])?ne(!0):ne(!1)},[h,JSON.stringify(W)]),r.useEffect(()=>{var e;const t=[];null!=F&&(null==(e=re[F])||e.data.forEach(e=>{e.members&&Array.isArray(e.members)&&e.members.forEach(e=>{e.validation&&Array.isArray(e.validation)&&e.validation.some(e=>"required"===e.type&&!0===e.value)&&t.push(e.name)})}),ce(t))},[re,F]),r.useEffect(()=>{if(null==X?void 0:X.account_type){const e=[];ee&&ee.forEach(t=>{var r,l;const i=ee&&(null==(r=null==t?void 0:t.members)?void 0:r.map(e=>e))||[],n=ee&&(null==(l=null==t?void 0:t.switcher_forms)?void 0:l.map(e=>({...e,formMembers:i.filter(t=>t.section_form_id===e.id)})));n&&e.push(n)});const t=(null==X?void 0:X.account_type)||"Individual",r=e&&Array.isArray(e[0])?e[0].filter(e=>e.name===t):[];r&&pe(r)}},[null==X?void 0:X.account_type,ee,pe]),r.useEffect(()=>{de.length>0?0===ge(X,de).length?ue(!0):ue(!1):ue(!0)},[de,X,F]),r.useEffect(()=>{k&&k(oe)},[k,oe]),
2
- /* @__PURE__ */e.jsx(v.default,{sx:{width:"100%",padding:"2rem",...O},children:/* @__PURE__ */e.jsx(t.FormProvider,{...{control:I,handleSubmit:z,setValue:Z,reset:R,resetField:J,getValues:U,unregister:Y,trigger:G,watch:H,errors:W,...Q},children:/* @__PURE__ */e.jsxs("form",{id:h,name:h,onSubmit:z(c),children:[Boolean(null==re?void 0:re.length)&&/* @__PURE__ */e.jsxs(e.Fragment,{children:[ie&&/* @__PURE__ */e.jsx(d.Alert,{severity:"error",onClose:()=>ne(!1),children:"Please fill all the required fields."}),
3
- /* @__PURE__ */e.jsx(i.TabBar,{tabs:re,activeTabs:T,activeValue:F,setActiveValue:C,isFormTabValid:oe})]}),ee&&ee.map((t,r)=>{const{isFormSwitcher:i,formSwitcherName:n,switchForms:a,members:s,values:o}=fe(t);/* @__PURE__ */
4
- return e.jsx(f.FormSection,{section:t,index:r,members:s,switchForms:a,isFormSwitcher:i,control:I,fieldArrayName:h,formSwitcherName:n,displayAvtar:w,isButton:$,currencyOption:ae,values:o,onBlur:P,setValue:Z,onSelectFooterClick:S,getSelectedData:N,setCurrencyOptions:se,refreshOptions:B,handleFieldCleanUp:he,handleSetCountryCodeField:ve,handleTableAddClick:me,onTableCellChange:V,t:M,images:l.images})})]})})})};exports.FormParser=w,exports.default=w;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react-hook-form"),r=require("react"),l=;/* empty css */;/* empty css */var i=,/* empty css */n=,/* empty css */a=,/* empty css */s=require("yup"),o=require("dayjs"),u=,/* empty css */d=,/* empty css */c=require("lodash"),m=require("react-i18next"),f=,/* empty css */v=;/* empty css */function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _(e){if(e&&"object"==typeof e&&"default"in e)return e;var t=/* @__PURE__ */Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,l.get?l:{enumerable:!0,get:function(){return e[r]}})}}),t.default=e,t}var y=/* @__PURE__ */_(s),p=/* @__PURE__ */h(o),b=/* @__PURE__ */h(c);const g=(e,t,r,l)=>{var i;switch(t.type){case"required":return(null==(i=r.field_properties)?void 0:i.is_multiselect)?e.required(l(t.msg_en)).min(1,l(t.msg_en)):t.value?e.required(l(t.msg_en)).test("not-empty",l(t.msg_en),e=>{var t;return"string"!=typeof e||e&&(null==(t=null==e?void 0:e.trim())?void 0:t.length)>0}):e.nullable();case"min_length":case"min_val":return e.min(t.value,l(t.msg_en));case"max_length":case"max_val":return e.max(t.value,l(t.msg_en));case"postive_number":return e.test("is-positive-number",l(t.msg_en),e=>e>=0);case"email":return e.email(t.msg_en);case"no_special_char":return e.test("no-special-char",l(t.msg_en),e=>"string"!=typeof e||/^[^.\-\W_]+$/u.test(e));case"when":return e.when(t.relation,{is:e=>e===t.values,then:()=>{var i;return(null==(i=null==t?void 0:t.thenValidations)?void 0:i.reduce((e,t)=>g(e,t,r,l),e))||e},otherwise:()=>{var i;return(null==(i=null==t?void 0:t.otherWiseValidations)?void 0:i.reduce((e,t)=>g(e,t,r,l),e))||e}});default:return e}};exports.default=({data:s,defaultValues:o,handleFormSubmit:c,fieldArrayName:h,mode:_,displayAvtar:w=!1,onTableAddClick:j,handleFormValues:A,getFormMethods:E,setFields:S,onSelectFooterClick:x,setActiveTabValue:C,activeTab:q=0,recieveTabDataLenght:F,recieveIsValidForm:k,activeTabs:T,onTableCellChange:V,containerStyles:O,isButton:$=!0,getSelectedData:N,refreshOptions:B=!1,onBlur:M})=>{const{t:P}=m.useTranslation(),L=e=>{var t;switch(e.field_type){case"select":return(null==(t=e.field_properties)?void 0:t.is_multiselect)?y.array():y.string();case"number":case"currency":return y.number().transform((e,t)=>""===t?void 0:e).typeError("Please enter valid number").nullable();case"currency_with_amount":return y.number();case"url":return y.string().matches(/^(https?:\/\/)?((([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,})|localhost)(:\d{2,5})?(\/[a-zA-Z0-9#_-]+\/?)*(\?[a-zA-Z0-9&=_-]+)?(#\S+)?$/,{excludeEmptyString:!0,message:"Please enter valid URL."});default:return y.string()}},I=e=>{const t={};for(const r in e)"object"!=typeof e[r]||Object.hasOwn(e[r],"tests")?t[r]=e[r]:t[r]=y.object().shape(I(e[r]));return t},{control:z,handleSubmit:D,formState:{errors:W},setValue:Z,reset:R,getValues:U,watch:H,resetField:J,unregister:Y,trigger:G,getFieldState:K,...Q}=t.useForm({...o&&"object"==typeof o?{defaultValues:o}:{},resolver:a.yupResolver((e=>{const t={};let r={},l={};return e&&(null==e||e.forEach(e=>{var i;let n;e.validation&&e.validation.length>0&&((null==(i=e.name)?void 0:i.includes("."))?r=function(e,t,r={}){const l=e.split(".");let i=r;return l.forEach((e,r)=>{if(r===l.length-1)if(i[e]){if("object"!=typeof i[e]||Array.isArray(i[e]))throw new Error(`Conflict: The key "${e}" already exists and is not an object.`)}else{const r=t.validation.reduce((e,r)=>{var l;switch(r.type){case"required":return r.value?e.required(P(r.msg_en)).test("not-empty",P(r.msg_en),e=>{var t;return"string"!=typeof e||e&&(null==(t=null==e?void 0:e.trim())?void 0:t.length)>0}):(null==(l=t.field_properties)?void 0:l.is_multiselect)?e.min(1,P(r.msg_en)):e.nullable();case"min_length":case"min_val":return e.min(r.value,P(r.msg_en));case"max_length":case"max_val":return e.max(r.value,P(r.msg_en));default:return e}},L(t));i[e]=r}else{if(i[e]){if("object"!=typeof i[e]||Array.isArray(i[e]))throw new Error(`Conflict: The key "${e}" already exists and is not an object.`)}else i[e]={};i=i[e]}}),r}(e.name,e,r):(n=e.validation.reduce((t,r)=>g(t,r,e,P),L(e)),t[e.name]=n),l=I(r))})),y.object().shape({[h]:y.object().shape({...t,...l})})})(s)),mode:"all"}),X=t.useWatch({control:z,name:h}),[ee,te]=r.useState([]),[re,le]=r.useState([]),[ie,ne]=r.useState(!1),[ae,se]=r.useState(""),[oe,ue]=r.useState(!1),[de,ce]=r.useState([]),me=e=>{null==j||j(e)},fe=r.useCallback(e=>{var t,r,l;const i=(null==(t=null==e?void 0:e.members)?void 0:t.map(e=>e))||[],n=U(h),a=e.section_type===u.SECTION_TYPES.FORM_SWITCH_SECTION,s=(null==e?void 0:e.form_switcher_name)||(null==(r=null==e?void 0:e.form_switcher_label)?void 0:r.toLowerCase().split(" ").join("_")),o=null==(l=null==e?void 0:e.switcher_forms)?void 0:l.map(e=>({...e,formMembers:i.filter(t=>t.section_form_id===e.id)})),d=(null==n?void 0:n[s])?o.find(e=>e.name===(null==n?void 0:n[s])):{};let c;return c=a?[...i.filter(e=>!e.section_form_id&&!e.is_form_switcher_section),...(null==d?void 0:d.formMembers)||[]]:null==e?void 0:e.members,{isFormSwitcher:a,formSwitcherName:s,switchForms:o,selectedSectionForm:d,members:c,values:n}},[h,U]),ve=r.useCallback((e,t,r,l)=>{var i;const n=null==(i=null==l?void 0:l[r])?void 0:i[null==t?void 0:t.country_code_field_name],a=`+${e.dialCode}`;(null==t?void 0:t.is_country_code_separate)&&(null==t?void 0:t.country_code_field_name)&&n!==a&&Z(`${r}.${null==t?void 0:t.country_code_field_name}`,a)},[Z]),he=r.useCallback(e=>{e.forEach(e=>{null==e||e.formMembers.forEach(e=>{const t=(null==e?void 0:e.name)||e.label.toLowerCase().split(" ").join("_"),r=b.default.get(o,`${h}.${t}`,null),l=s.map(t=>((null==e?void 0:e.section_form_id)===(null==t?void 0:t.section_form_id)&&delete t.value,{...t,...r?{value:r}:{}}));r||(J(`${h}.${t}`),Y(`${h}.${t}`)),null==S||S(l)})})},[s,o,h,J,S,Y]),_e=r.useCallback((e,t,r={})=>{const l=e.split(".");let i=r;return l.forEach((e,r)=>{if(r===l.length-1)if(i[e]){if("object"!=typeof i[e]||Array.isArray(i[e]))throw new Error(`Conflict: The key "${e}" already exists and is not an object.`)}else{let r=t.value;if(r&&("image"!==t.field_type||"file"!==t.field_type))if("date"===t.field_type)r=p.default(r);else if("time"===t.field_type){const[e,t,l]=r.split(":").map(Number);r=p.default().set("hour",e).set("minute",t).set("second",l).set("millisecond",0)}else t.name.includes("_id")&&!Array.isArray(null==t?void 0:t.value)&&(r=Number(r));i[e]=r}else{if(i[e]){if("object"!=typeof i[e]||Array.isArray(i[e]))throw new Error(`Conflict: The key "${e}" already exists and is not an object.`)}else i[e]={};i=i[e]}}),r},[]),ye=r.useCallback((e,t)=>(b.default.forOwn(e,(r,l)=>{b.default.has(t,l)&&b.default.isEqual(r,t[l])&&delete e[l]}),e),[]),pe=r.useCallback(e=>{var t;const r=[];e&&e&&(null==(t=e[0])||t.formMembers.forEach(e=>{(null==e?void 0:e.validation)&&Array.isArray(null==e?void 0:e.validation)&&(null==e||e.validation.forEach(t=>{(null==t?void 0:t.thenValidations)&&Array.isArray(null==t?void 0:t.thenValidations)?null==t||t.thenValidations.forEach(t=>{"required"===(null==t?void 0:t.type)&&!0===(null==t?void 0:t.value)&&(null==e?void 0:e.name)&&r.push(e.name)}):e.validation.some(e=>"required"===e.type&&!0===e.value)&&r.push(e.name)}))})),r&&ce(b.default.uniq(r))},[]),be=r.useCallback(e=>null==e||Array.isArray(e)&&0===e.length||"object"==typeof e&&0===Object.keys(e).length,[]),ge=r.useCallback((e,t)=>{const r=[];return t.forEach(t=>{const l=t.split(".");let i=e;for(let e=0;e<l.length;e++){const n=l[e];if(!(null==i?void 0:i[n])&&0!==(null==i?void 0:i[n]))return void r.push(t);i=i[n]}be(i)&&r.push(t)}),r},[be]);return r.useEffect(()=>{F&&F(re.length)},[F,re]),r.useEffect(()=>{const e=e=>{if(e.origin!==window.origin)return;const{state:t}=e.data;if(null==t?void 0:t.length){const e=n.default(t);e.tab?le(e.tab):e.section&&te(e.section)}};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[]),r.useEffect(()=>{var e,t;if(s){const r=n.default(s);(null==r?void 0:r.tab)?(le(r.tab),void 0!==q&&te((null==(e=r.tab[q])?void 0:e.data)||[])):te(r.section);const l=b.default.get(o,h,{}),i=ye(X||{},l||{});if("edit"===_&&!(null==(t=Object.keys(i))?void 0:t.length)){let e={},t={};s.forEach(r=>{var l;const i=r.value;if(null==(l=r.name)?void 0:l.includes("."))t=_e(r.name,r,t);else if(i&&("image"!==r.field_type||"file"!==r.field_type))if(null==r?void 0:r.is_section_field){const t=(null==r?void 0:r.form_switcher_name)||(null==r?void 0:r.form_switcher_label);e={...e,[t]:i}}else if((null==r?void 0:r.name)&&["company_id","email_ids"].includes(null==r?void 0:r.name)&&["edit_customer","add_customer","edit_vendor","add_vendor"].includes(h))e={...e,[r.name]:i};else if("date"===r.field_type)e={...e,[r.name]:p.default(i)};else if("time"===r.field_type){const[t,l,n]=i.split(":").map(Number);e={...e,[r.name]:p.default().set("hour",t).set("minute",l).set("second",n).set("millisecond",0)}}else e=r.name.includes("_id")&&!Array.isArray(null==r?void 0:r.value)?"edit_user"===h&&"role_id"===r.name?{...e,[r.name]:i}:{...e,[r.name]:Number(i)}:{...e,[r.name]:i}});const r={...e,...t};R({[h]:{...r}})}null==E||E({control:z,handleSubmit:D,setValue:Z,reset:R,resetField:J,getValues:U,unregister:Y,trigger:G,watch:H,getFieldState:K,errors:W,...Q})}},[s]),r.useEffect(()=>{(null==q?void 0:q.toString())&&re&&re[q]&&te(re[q].data)},[q,re]),r.useEffect(()=>{X&&A&&(null==A||A(X))},[A,X]),r.useEffect(()=>{(null==W?void 0:W[h])?ne(!0):ne(!1)},[h,JSON.stringify(W)]),r.useEffect(()=>{var e;const t=[];null!=q&&(null==(e=re[q])||e.data.forEach(e=>{e.members&&Array.isArray(e.members)&&e.members.forEach(e=>{e.validation&&Array.isArray(e.validation)&&e.validation.some(e=>"required"===e.type&&!0===e.value)&&t.push(e.name)})}),ce(t))},[re,q]),r.useEffect(()=>{if(null==X?void 0:X.account_type){const e=[];ee&&ee.forEach(t=>{var r,l;const i=ee&&(null==(r=null==t?void 0:t.members)?void 0:r.map(e=>e))||[],n=ee&&(null==(l=null==t?void 0:t.switcher_forms)?void 0:l.map(e=>({...e,formMembers:i.filter(t=>t.section_form_id===e.id)})));n&&e.push(n)});const t=(null==X?void 0:X.account_type)||"Individual",r=e&&Array.isArray(e[0])?e[0].filter(e=>e.name===t):[];r&&pe(r)}},[null==X?void 0:X.account_type,ee,pe]),r.useEffect(()=>{de.length>0?0===ge(X,de).length?ue(!0):ue(!1):ue(!0)},[de,X,q]),r.useEffect(()=>{k&&k(oe)},[k,oe]),
2
+ /* @__PURE__ */e.jsx(v.default,{sx:{width:"100%",padding:"2rem",...O},children:/* @__PURE__ */e.jsx(t.FormProvider,{...{control:z,handleSubmit:D,setValue:Z,reset:R,resetField:J,getValues:U,unregister:Y,trigger:G,watch:H,errors:W,...Q},children:/* @__PURE__ */e.jsxs("form",{id:h,name:h,onSubmit:D(c),children:[Boolean(null==re?void 0:re.length)&&/* @__PURE__ */e.jsxs(e.Fragment,{children:[ie&&/* @__PURE__ */e.jsx(d.Alert,{severity:"error",onClose:()=>ne(!1),children:"Please fill all the required fields."}),
3
+ /* @__PURE__ */e.jsx(i.TabBar,{tabs:re,activeTabs:T,activeValue:q,setActiveValue:C,isFormTabValid:oe})]}),ee&&ee.map((t,r)=>{const{isFormSwitcher:i,formSwitcherName:n,switchForms:a,members:s,values:o}=fe(t);/* @__PURE__ */
4
+ return e.jsx(f.FormSection,{section:t,index:r,members:s,switchForms:a,isFormSwitcher:i,control:z,fieldArrayName:h,formSwitcherName:n,displayAvtar:w,isButton:$,currencyOption:ae,values:o,onBlur:M,setValue:Z,onSelectFooterClick:x,getSelectedData:N,setCurrencyOptions:se,refreshOptions:B,handleFieldCleanUp:he,handleSetCountryCodeField:ve,handleTableAddClick:me,onTableCellChange:V,t:P,images:l.images})})]})})})};
5
5
  //# sourceMappingURL=index.js.map