@erpsquad/common 1.8.81 → 1.8.82

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 (648) hide show
  1. package/CHANGELOG.md +253 -253
  2. package/README.md +979 -979
  3. package/dist/_virtual/index/index.esm10.js +3 -3
  4. package/dist/_virtual/index/index.esm11.js +3 -3
  5. package/dist/_virtual/index/index.esm4.js +1 -1
  6. package/dist/_virtual/index/index.esm5.js +3 -3
  7. package/dist/_virtual/index/index.esm6.js +3 -3
  8. package/dist/_virtual/index/index.esm7.js +3 -3
  9. package/dist/_virtual/index/index.esm8.js +3 -3
  10. package/dist/_virtual/index/index.esm9.js +3 -3
  11. package/dist/_virtual/index/index10.js +1 -1
  12. package/dist/_virtual/index/index11.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/api-client/api.accounting/api/index.esm.js.map +1 -1
  20. package/dist/api-client/api.accounting/api/index.js.map +1 -1
  21. package/dist/api-client/api.accounting/api-types.d.ts +15883 -15883
  22. package/dist/api-client/api.drive/api/index.esm.js.map +1 -1
  23. package/dist/api-client/api.drive/api/index.js.map +1 -1
  24. package/dist/api-client/api.drive/api-types.d.ts +696 -696
  25. package/dist/api-client/api.hrms/api/index.esm.js.map +1 -1
  26. package/dist/api-client/api.hrms/api/index.js.map +1 -1
  27. package/dist/api-client/api.inventory/api/index.esm.js.map +1 -1
  28. package/dist/api-client/api.inventory/api/index.js.map +1 -1
  29. package/dist/api-client/api.inventory/api-types.d.ts +6110 -6110
  30. package/dist/api-client/api.manufacturing/api/index.esm.js.map +1 -1
  31. package/dist/api-client/api.manufacturing/api/index.js.map +1 -1
  32. package/dist/api-client/api.manufacturing/api-types.d.ts +10066 -10066
  33. package/dist/api-client/api.purchase/api/index.esm.js.map +1 -1
  34. package/dist/api-client/api.purchase/api/index.js.map +1 -1
  35. package/dist/api-client/api.purchase/api-types.d.ts +6715 -6715
  36. package/dist/api-client/api.rbac/api/index.esm.js.map +1 -1
  37. package/dist/api-client/api.rbac/api/index.esm2.js.map +1 -1
  38. package/dist/api-client/api.rbac/api/index.js.map +1 -1
  39. package/dist/api-client/api.rbac/api/index2.js.map +1 -1
  40. package/dist/api-client/api.rbac/api-types.d.ts +1753 -1753
  41. package/dist/api-client/api.rental/api/index.esm.js.map +1 -1
  42. package/dist/api-client/api.rental/api/index.js.map +1 -1
  43. package/dist/api-client/api.rental/api-types.d.ts +15666 -15666
  44. package/dist/api-client/api.sales/api/index.esm.js.map +1 -1
  45. package/dist/api-client/api.sales/api/index.js.map +1 -1
  46. package/dist/api-client/api.sales/api-types.d.ts +8258 -8258
  47. package/dist/api-client/api.system-feature/api/index.esm.js.map +1 -1
  48. package/dist/api-client/api.system-feature/api/index.js.map +1 -1
  49. package/dist/api-client/api.system-feature/api-types.d.ts +2875 -2875
  50. package/dist/api-client/api.user/api/index.esm.js.map +1 -1
  51. package/dist/api-client/api.user/api/index.js.map +1 -1
  52. package/dist/api-client/api.user/api-types.d.ts +95 -95
  53. package/dist/api-client/api.workflow-automation/api/index.esm.js.map +1 -1
  54. package/dist/api-client/api.workflow-automation/api/index.js.map +1 -1
  55. package/dist/api-client/index.d.ts +39 -39
  56. package/dist/components/accordion/accordion/index.esm.js.map +1 -1
  57. package/dist/components/accordion/accordion/index.js.map +1 -1
  58. package/dist/components/accordion/accordion.d.ts +1 -1
  59. package/dist/components/action-bar/action-bar/index.esm.js +1 -1
  60. package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
  61. package/dist/components/action-bar/action-bar/index.js +5 -5
  62. package/dist/components/action-bar/action-bar/index.js.map +1 -1
  63. package/dist/components/action-bar/action-bar.d.ts +1 -1
  64. package/dist/components/activity-tag/activity-tag/index.esm.js.map +1 -1
  65. package/dist/components/activity-tag/activity-tag/index.js.map +1 -1
  66. package/dist/components/alert/alert/index.esm.js.map +1 -1
  67. package/dist/components/alert/alert/index.js.map +1 -1
  68. package/dist/components/button/button/index.esm.js.map +1 -1
  69. package/dist/components/button/button/index.js.map +1 -1
  70. package/dist/components/change-user-password-modal/change-user-password-modal/index.esm.js.map +1 -1
  71. package/dist/components/change-user-password-modal/change-user-password-modal/index.js.map +1 -1
  72. package/dist/components/checkbox/checkbox/index.esm.js.map +1 -1
  73. package/dist/components/checkbox/checkbox/index.js.map +1 -1
  74. package/dist/components/checkbox/checkbox.d.ts +1 -1
  75. package/dist/components/chip/chip/index.esm.js.map +1 -1
  76. package/dist/components/chip/chip/index.js.map +1 -1
  77. package/dist/components/chip-generator/chip-generator/index.esm.js.map +1 -1
  78. package/dist/components/chip-generator/chip-generator/index.js.map +1 -1
  79. package/dist/components/date-picker/date-picker/index.esm.js.map +1 -1
  80. package/dist/components/date-picker/date-picker/index.js.map +1 -1
  81. package/dist/components/date-picker/date-picker.d.ts +1 -1
  82. package/dist/components/date-time-picker/date-time-picker/index.esm.js.map +1 -1
  83. package/dist/components/date-time-picker/date-time-picker/index.js.map +1 -1
  84. package/dist/components/editor/custom-editor/index.esm.js.map +1 -1
  85. package/dist/components/editor/custom-editor/index.js.map +1 -1
  86. package/dist/components/filter/components/delete-group/index.esm.js +0 -1
  87. package/dist/components/filter/components/delete-group/index.esm.js.map +1 -1
  88. package/dist/components/filter/components/delete-group/index.js +1 -1
  89. package/dist/components/filter/components/delete-group/index.js.map +1 -1
  90. package/dist/components/filter/filter/index.esm.js +1 -1
  91. package/dist/components/filter/filter/index.esm.js.map +1 -1
  92. package/dist/components/filter/filter/index.js +7 -7
  93. package/dist/components/filter/filter/index.js.map +1 -1
  94. package/dist/components/footer/footer.d.ts +1 -1
  95. package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.esm.js.map +1 -1
  96. package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.js.map +1 -1
  97. package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  98. package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  99. package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  100. package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  101. package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  102. package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
  103. package/dist/components/header/header/index.esm.js.map +1 -1
  104. package/dist/components/header/header/index.js.map +1 -1
  105. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  106. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  107. package/dist/components/header/redux/actionCreator/index.js +1 -1
  108. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  109. package/dist/components/icons/action/index.esm.js.map +1 -1
  110. package/dist/components/icons/action/index.js.map +1 -1
  111. package/dist/components/icons/action-arrow.d.ts +3 -3
  112. package/dist/components/icons/add-circle.d.ts +3 -3
  113. package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
  114. package/dist/components/icons/arrow-circle-down.d.ts +3 -3
  115. package/dist/components/icons/arrow-down-three.d.ts +3 -3
  116. package/dist/components/icons/arrow-down-two.d.ts +3 -3
  117. package/dist/components/icons/arrow-down.d.ts +3 -3
  118. package/dist/components/icons/arrow-up-down.d.ts +3 -3
  119. package/dist/components/icons/arrow-up-two.d.ts +3 -3
  120. package/dist/components/icons/assignments.d.ts +3 -3
  121. package/dist/components/icons/blank-circle.d.ts +3 -3
  122. package/dist/components/icons/block-filled.d.ts +3 -3
  123. package/dist/components/icons/calendar-add.d.ts +3 -3
  124. package/dist/components/icons/calendar.d.ts +3 -3
  125. package/dist/components/icons/checkbox-square.d.ts +3 -3
  126. package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
  127. package/dist/components/icons/clock.d.ts +3 -3
  128. package/dist/components/icons/close.d.ts +3 -3
  129. package/dist/components/icons/coin-outline.d.ts +3 -3
  130. package/dist/components/icons/copy.d.ts +3 -3
  131. package/dist/components/icons/coupon.d.ts +3 -3
  132. package/dist/components/icons/criteria/index.esm.js.map +1 -1
  133. package/dist/components/icons/criteria/index.js.map +1 -1
  134. package/dist/components/icons/cross/index.esm.js.map +1 -1
  135. package/dist/components/icons/cross/index.js.map +1 -1
  136. package/dist/components/icons/cross-hire.d.ts +3 -3
  137. package/dist/components/icons/custom-styled-icon.d.ts +3 -3
  138. package/dist/components/icons/dashboard.d.ts +3 -3
  139. package/dist/components/icons/document-download.d.ts +3 -3
  140. package/dist/components/icons/document.d.ts +3 -3
  141. package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
  142. package/dist/components/icons/dollar-circle.d.ts +3 -3
  143. package/dist/components/icons/edit.d.ts +3 -3
  144. package/dist/components/icons/email.d.ts +3 -3
  145. package/dist/components/icons/export.d.ts +3 -3
  146. package/dist/components/icons/eye-off.d.ts +3 -3
  147. package/dist/components/icons/eye-plus-circle.d.ts +3 -3
  148. package/dist/components/icons/eye.d.ts +3 -3
  149. package/dist/components/icons/filled-circle.d.ts +3 -3
  150. package/dist/components/icons/filter-remove.d.ts +3 -3
  151. package/dist/components/icons/filter.d.ts +3 -3
  152. package/dist/components/icons/folder-save.d.ts +3 -3
  153. package/dist/components/icons/grid.d.ts +3 -3
  154. package/dist/components/icons/hashtag.d.ts +3 -3
  155. package/dist/components/icons/image.d.ts +3 -3
  156. package/dist/components/icons/import.d.ts +3 -3
  157. package/dist/components/icons/info-circle.d.ts +3 -3
  158. package/dist/components/icons/info.d.ts +3 -3
  159. package/dist/components/icons/link-horizontal.d.ts +3 -3
  160. package/dist/components/icons/link.d.ts +3 -3
  161. package/dist/components/icons/location.d.ts +3 -3
  162. package/dist/components/icons/lowest-lead-time.d.ts +3 -3
  163. package/dist/components/icons/lowest-min-qty.d.ts +3 -3
  164. package/dist/components/icons/lowest-price.d.ts +3 -3
  165. package/dist/components/icons/more.d.ts +3 -3
  166. package/dist/components/icons/notification.d.ts +3 -3
  167. package/dist/components/icons/paper-clip.d.ts +3 -3
  168. package/dist/components/icons/paragraph.d.ts +3 -3
  169. package/dist/components/icons/payment-request.d.ts +3 -3
  170. package/dist/components/icons/phone.d.ts +3 -3
  171. package/dist/components/icons/printer.d.ts +3 -3
  172. package/dist/components/icons/process-calendar.d.ts +3 -3
  173. package/dist/components/icons/promotion.d.ts +3 -3
  174. package/dist/components/icons/radio-button.d.ts +3 -3
  175. package/dist/components/icons/receipt-filled.d.ts +3 -3
  176. package/dist/components/icons/receipt-outline.d.ts +3 -3
  177. package/dist/components/icons/receipt.d.ts +3 -3
  178. package/dist/components/icons/refresh-icon.d.ts +3 -3
  179. package/dist/components/icons/replace.d.ts +3 -3
  180. package/dist/components/icons/save.d.ts +3 -3
  181. package/dist/components/icons/search-status.d.ts +3 -3
  182. package/dist/components/icons/search.d.ts +3 -3
  183. package/dist/components/icons/settings-fallback.d.ts +3 -3
  184. package/dist/components/icons/share/index.esm.js.map +1 -1
  185. package/dist/components/icons/share/index.js.map +1 -1
  186. package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
  187. package/dist/components/icons/stacked-layer.d.ts +3 -3
  188. package/dist/components/icons/start-filled.d.ts +3 -3
  189. package/dist/components/icons/three-dot-icon.d.ts +3 -3
  190. package/dist/components/icons/tick-circle-filled.d.ts +3 -3
  191. package/dist/components/icons/tick-circle.d.ts +3 -3
  192. package/dist/components/icons/tick-octagon.d.ts +3 -3
  193. package/dist/components/icons/tick.d.ts +3 -3
  194. package/dist/components/icons/toggle-switch.d.ts +3 -3
  195. package/dist/components/icons/trash.d.ts +3 -3
  196. package/dist/components/icons/wave.d.ts +3 -3
  197. package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
  198. package/dist/components/icons/work-centre.d.ts +3 -3
  199. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  200. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  201. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  202. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
  203. package/dist/components/label-value/label-value/index.esm.js.map +1 -1
  204. package/dist/components/label-value/label-value/index.js.map +1 -1
  205. package/dist/components/listing/listing/index.esm.js.map +1 -1
  206. package/dist/components/listing/listing/index.js.map +1 -1
  207. package/dist/components/loaders/erp-loader/index.esm.js.map +1 -1
  208. package/dist/components/loaders/erp-loader/index.js.map +1 -1
  209. package/dist/components/loaders/form-loader/index.esm.js.map +1 -1
  210. package/dist/components/loaders/form-loader/index.js.map +1 -1
  211. package/dist/components/loaders/modal-loader/index.esm.js.map +1 -1
  212. package/dist/components/loaders/modal-loader/index.js.map +1 -1
  213. package/dist/components/loaders/page-loader/index.esm.js.map +1 -1
  214. package/dist/components/loaders/page-loader/index.js.map +1 -1
  215. package/dist/components/location-select.d.ts +1 -1
  216. package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js.map +1 -1
  217. package/dist/components/material-editable-table/components/inline-edit-fields/index.js.map +1 -1
  218. package/dist/components/material-editable-table/material-editable-table/index.esm.js.map +1 -1
  219. package/dist/components/material-editable-table/material-editable-table/index.js.map +1 -1
  220. package/dist/components/material-editable-table/material-editable-table.d.ts +1 -1
  221. package/dist/components/material-table/material-table.d.ts +1 -1
  222. package/dist/components/menu/menu/index.esm.js.map +1 -1
  223. package/dist/components/menu/menu/index.js.map +1 -1
  224. package/dist/components/modal/modal/index.esm.js.map +1 -1
  225. package/dist/components/modal/modal/index.js.map +1 -1
  226. package/dist/components/page-navigator/page-navigator/index.esm.js.map +1 -1
  227. package/dist/components/page-navigator/page-navigator/index.js.map +1 -1
  228. package/dist/components/phone-input/phone-input.d.ts +1 -1
  229. package/dist/components/providers/ERPUIProvider/index.esm.js.map +1 -1
  230. package/dist/components/providers/ERPUIProvider/index.js.map +1 -1
  231. package/dist/components/radio/radio.d.ts +1 -1
  232. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  233. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
  234. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  235. package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
  236. package/dist/components/reset-password-modal/reset-password-modal/index.esm.js.map +1 -1
  237. package/dist/components/reset-password-modal/reset-password-modal/index.js.map +1 -1
  238. package/dist/components/search-bar/search-bar/index.esm.js.map +1 -1
  239. package/dist/components/search-bar/search-bar/index.js.map +1 -1
  240. package/dist/components/searchable-select/index.esm.js.map +1 -1
  241. package/dist/components/searchable-select/index.js.map +1 -1
  242. package/dist/components/select/controller/chip-or-placeholder/index.esm.js.map +1 -1
  243. package/dist/components/select/controller/chip-or-placeholder/index.js.map +1 -1
  244. package/dist/components/select/select/index.esm.js.map +1 -1
  245. package/dist/components/select/select/index.js.map +1 -1
  246. package/dist/components/select/select-search/index.esm.js.map +1 -1
  247. package/dist/components/select/select-search/index.js.map +1 -1
  248. package/dist/components/select/select.d.ts +1 -1
  249. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  250. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  251. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  252. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  253. package/dist/components/sub-header-doc/sub-header-doc/index.esm.js.map +1 -1
  254. package/dist/components/sub-header-doc/sub-header-doc/index.js.map +1 -1
  255. package/dist/components/switches/android-12-switch/index.esm.js.map +1 -1
  256. package/dist/components/switches/android-12-switch/index.js.map +1 -1
  257. package/dist/components/switches/android-12-switch.d.ts +3 -1
  258. package/dist/components/text-area/text-area/index.esm.js.map +1 -1
  259. package/dist/components/text-area/text-area/index.js.map +1 -1
  260. package/dist/components/text-field/text-field/index.esm.js.map +1 -1
  261. package/dist/components/text-field/text-field/index.js.map +1 -1
  262. package/dist/components/text-field/text-field.d.ts +1 -1
  263. package/dist/components/time-picker/time-picker/index.esm.js.map +1 -1
  264. package/dist/components/time-picker/time-picker/index.js.map +1 -1
  265. package/dist/components/time-picker/time-picker.d.ts +1 -1
  266. package/dist/components/toast/toast/index.esm.js.map +1 -1
  267. package/dist/components/toast/toast/index.js.map +1 -1
  268. package/dist/components/toggle/toggle/index.esm.js.map +1 -1
  269. package/dist/components/toggle/toggle/index.js.map +1 -1
  270. package/dist/components/typography/typography/index.esm.js.map +1 -1
  271. package/dist/components/typography/typography/index.js.map +1 -1
  272. package/dist/components/upload/upload/index.esm.js +2 -2
  273. package/dist/components/upload/upload/index.esm.js.map +1 -1
  274. package/dist/components/upload/upload/index.js +11 -11
  275. package/dist/components/upload/upload/index.js.map +1 -1
  276. package/dist/components/upload-media/upload-media.d.ts +1 -1
  277. package/dist/constants/defaultColumns/index.esm.js.map +1 -1
  278. package/dist/constants/defaultColumns/index.js.map +1 -1
  279. package/dist/constants/modules/index.esm.js.map +1 -1
  280. package/dist/constants/modules/index.js.map +1 -1
  281. package/dist/constants/pathnames/pathname/index.esm.js.map +1 -1
  282. package/dist/constants/pathnames/pathname/index.js.map +1 -1
  283. package/dist/constants/pathnames/pathname.accounting/index.esm.js.map +1 -1
  284. package/dist/constants/pathnames/pathname.accounting/index.js.map +1 -1
  285. package/dist/constants/pathnames/pathname.crm/index.esm.js.map +1 -1
  286. package/dist/constants/pathnames/pathname.crm/index.js.map +1 -1
  287. package/dist/constants/pathnames/pathname.document/index.esm.js.map +1 -1
  288. package/dist/constants/pathnames/pathname.document/index.js.map +1 -1
  289. package/dist/constants/pathnames/pathname.hrms/index.esm.js.map +1 -1
  290. package/dist/constants/pathnames/pathname.hrms/index.js.map +1 -1
  291. package/dist/constants/pathnames/pathname.inventory/index.esm.js.map +1 -1
  292. package/dist/constants/pathnames/pathname.inventory/index.js.map +1 -1
  293. package/dist/constants/pathnames/pathname.manufacturing/index.esm.js.map +1 -1
  294. package/dist/constants/pathnames/pathname.manufacturing/index.js.map +1 -1
  295. package/dist/constants/pathnames/pathname.office/index.esm.js.map +1 -1
  296. package/dist/constants/pathnames/pathname.office/index.js.map +1 -1
  297. package/dist/constants/pathnames/pathname.procurement/index.esm.js.map +1 -1
  298. package/dist/constants/pathnames/pathname.procurement/index.js.map +1 -1
  299. package/dist/constants/pathnames/pathname.project/index.esm.js.map +1 -1
  300. package/dist/constants/pathnames/pathname.project/index.js.map +1 -1
  301. package/dist/constants/pathnames/pathname.quotes/index.esm.js.map +1 -1
  302. package/dist/constants/pathnames/pathname.quotes/index.js.map +1 -1
  303. package/dist/constants/pathnames/pathname.rental/index.esm.js.map +1 -1
  304. package/dist/constants/pathnames/pathname.rental/index.js.map +1 -1
  305. package/dist/constants/pathnames/pathname.user/index.esm.js.map +1 -1
  306. package/dist/constants/pathnames/pathname.user/index.js.map +1 -1
  307. package/dist/constants/route-page-map/index.esm.js.map +1 -1
  308. package/dist/constants/route-page-map/index.js.map +1 -1
  309. package/dist/constants/status/index.esm.js.map +1 -1
  310. package/dist/constants/status/index.js.map +1 -1
  311. package/dist/contexts/AuthContext/index.esm.js +1 -1
  312. package/dist/contexts/AuthContext/index.esm.js.map +1 -1
  313. package/dist/contexts/AuthContext/index.js +1 -1
  314. package/dist/contexts/AuthContext/index.js.map +1 -1
  315. package/dist/contexts/languageContext/index.esm.js +1 -1
  316. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  317. package/dist/contexts/languageContext/index.js +1 -1
  318. package/dist/contexts/languageContext/index.js.map +1 -1
  319. package/dist/contexts/page-context/index.esm.js.map +1 -1
  320. package/dist/contexts/page-context/index.js.map +1 -1
  321. package/dist/hooks/use-translations/index.esm.js.map +1 -1
  322. package/dist/hooks/use-translations/index.js.map +1 -1
  323. package/dist/hooks/useApi/index.esm.js.map +1 -1
  324. package/dist/hooks/useApi/index.js.map +1 -1
  325. package/dist/hooks/useDataFetcher/index.esm.js.map +1 -1
  326. package/dist/hooks/useDataFetcher/index.js.map +1 -1
  327. package/dist/layout/fullScreen/fullScreen/index.esm.js.map +1 -1
  328. package/dist/layout/fullScreen/fullScreen/index.js.map +1 -1
  329. package/dist/layout/sidebarScreen/sidebarScreen/index.esm.js.map +1 -1
  330. package/dist/layout/sidebarScreen/sidebarScreen/index.js.map +1 -1
  331. package/dist/node_modules/@glideapps/glide-data-grid-cells/dist/js/article-cell-editor-JDI676YI/index.esm.js +1 -1
  332. package/dist/node_modules/@glideapps/glide-data-grid-cells/dist/js/article-cell-editor-JDI676YI/index.js +2 -2
  333. package/dist/node_modules/@glideapps/glide-data-grid-cells/dist/js/article-cell-editor-JDI676YI/index.js.map +1 -1
  334. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
  335. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  336. package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
  337. package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
  338. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  339. package/dist/node_modules/@mui/system/createStyled/index.js.map +1 -1
  340. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
  341. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
  342. package/dist/node_modules/{material-react-table/node_modules/@tanstack → @tanstack}/react-virtual/dist/esm/index/index.esm.js +2 -2
  343. package/dist/node_modules/@tanstack/react-virtual/dist/esm/index/index.esm.js.map +1 -0
  344. package/dist/node_modules/@tanstack/react-virtual/dist/esm/index/index.js +2 -0
  345. package/dist/node_modules/@tanstack/react-virtual/dist/esm/index/index.js.map +1 -0
  346. package/dist/node_modules/{@glideapps/glide-data-grid-cells/node_modules/@toast-ui → @toast-ui}/react-editor/dist/esm/index/index.esm.js +2 -2
  347. package/dist/node_modules/@toast-ui/react-editor/dist/esm/index/index.esm.js.map +1 -0
  348. package/dist/node_modules/@toast-ui/react-editor/dist/esm/index/index.js +2 -0
  349. package/dist/node_modules/@toast-ui/react-editor/dist/esm/index/index.js.map +1 -0
  350. package/dist/node_modules/material-react-table/dist/index.esm/index.esm.js +1 -1
  351. package/dist/node_modules/material-react-table/dist/index.esm/index.js +1 -1
  352. package/dist/node_modules/material-react-table/dist/index.esm/index.js.map +1 -1
  353. package/dist/redux/actionCreator/index.esm.js.map +1 -1
  354. package/dist/redux/actionCreator/index.js.map +1 -1
  355. package/dist/redux/module-reducer/index.esm.js.map +1 -1
  356. package/dist/redux/module-reducer/index.js.map +1 -1
  357. package/dist/redux/store/index.esm.js.map +1 -1
  358. package/dist/redux/store/index.js.map +1 -1
  359. package/dist/server/index.esm.js.map +1 -1
  360. package/dist/server/index.js.map +1 -1
  361. package/dist/src/components/accordion/accordion.d.ts +1 -1
  362. package/dist/src/components/action-bar/action-bar.d.ts +1 -1
  363. package/dist/src/components/checkbox/checkbox.d.ts +1 -1
  364. package/dist/src/components/date-picker/date-picker.d.ts +1 -1
  365. package/dist/src/components/footer/footer.d.ts +1 -1
  366. package/dist/src/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
  367. package/dist/src/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
  368. package/dist/src/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
  369. package/dist/src/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
  370. package/dist/src/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
  371. package/dist/src/components/form-control/form-parser/form-switcher.d.ts +1 -1
  372. package/dist/src/components/icons/action-arrow.d.ts +3 -3
  373. package/dist/src/components/icons/add-circle.d.ts +3 -3
  374. package/dist/src/components/icons/arrow-bidirectional.d.ts +3 -3
  375. package/dist/src/components/icons/arrow-circle-down.d.ts +3 -3
  376. package/dist/src/components/icons/arrow-down-three.d.ts +3 -3
  377. package/dist/src/components/icons/arrow-down-two.d.ts +3 -3
  378. package/dist/src/components/icons/arrow-down.d.ts +3 -3
  379. package/dist/src/components/icons/arrow-up-down.d.ts +3 -3
  380. package/dist/src/components/icons/arrow-up-two.d.ts +3 -3
  381. package/dist/src/components/icons/assignments.d.ts +3 -3
  382. package/dist/src/components/icons/blank-circle.d.ts +3 -3
  383. package/dist/src/components/icons/block-filled.d.ts +3 -3
  384. package/dist/src/components/icons/calendar-add.d.ts +3 -3
  385. package/dist/src/components/icons/calendar.d.ts +3 -3
  386. package/dist/src/components/icons/checkbox-square.d.ts +3 -3
  387. package/dist/src/components/icons/circular-arrow-setting.d.ts +3 -3
  388. package/dist/src/components/icons/clock.d.ts +3 -3
  389. package/dist/src/components/icons/close.d.ts +3 -3
  390. package/dist/src/components/icons/coin-outline.d.ts +3 -3
  391. package/dist/src/components/icons/copy.d.ts +3 -3
  392. package/dist/src/components/icons/coupon.d.ts +3 -3
  393. package/dist/src/components/icons/cross-hire.d.ts +3 -3
  394. package/dist/src/components/icons/custom-styled-icon.d.ts +3 -3
  395. package/dist/src/components/icons/dashboard.d.ts +3 -3
  396. package/dist/src/components/icons/document-download.d.ts +3 -3
  397. package/dist/src/components/icons/document.d.ts +3 -3
  398. package/dist/src/components/icons/dollar-circle-filled.d.ts +3 -3
  399. package/dist/src/components/icons/dollar-circle.d.ts +3 -3
  400. package/dist/src/components/icons/edit.d.ts +3 -3
  401. package/dist/src/components/icons/email.d.ts +3 -3
  402. package/dist/src/components/icons/export.d.ts +3 -3
  403. package/dist/src/components/icons/eye-off.d.ts +3 -3
  404. package/dist/src/components/icons/eye-plus-circle.d.ts +3 -3
  405. package/dist/src/components/icons/eye.d.ts +3 -3
  406. package/dist/src/components/icons/filled-circle.d.ts +3 -3
  407. package/dist/src/components/icons/filter-remove.d.ts +3 -3
  408. package/dist/src/components/icons/filter.d.ts +3 -3
  409. package/dist/src/components/icons/folder-save.d.ts +3 -3
  410. package/dist/src/components/icons/grid.d.ts +3 -3
  411. package/dist/src/components/icons/hashtag.d.ts +3 -3
  412. package/dist/src/components/icons/image.d.ts +3 -3
  413. package/dist/src/components/icons/import.d.ts +3 -3
  414. package/dist/src/components/icons/info-circle.d.ts +3 -3
  415. package/dist/src/components/icons/info.d.ts +3 -3
  416. package/dist/src/components/icons/link-horizontal.d.ts +3 -3
  417. package/dist/src/components/icons/link.d.ts +3 -3
  418. package/dist/src/components/icons/location.d.ts +3 -3
  419. package/dist/src/components/icons/lowest-lead-time.d.ts +3 -3
  420. package/dist/src/components/icons/lowest-min-qty.d.ts +3 -3
  421. package/dist/src/components/icons/lowest-price.d.ts +3 -3
  422. package/dist/src/components/icons/more.d.ts +3 -3
  423. package/dist/src/components/icons/notification.d.ts +3 -3
  424. package/dist/src/components/icons/paper-clip.d.ts +3 -3
  425. package/dist/src/components/icons/paragraph.d.ts +3 -3
  426. package/dist/src/components/icons/payment-request.d.ts +3 -3
  427. package/dist/src/components/icons/phone.d.ts +3 -3
  428. package/dist/src/components/icons/printer.d.ts +3 -3
  429. package/dist/src/components/icons/process-calendar.d.ts +3 -3
  430. package/dist/src/components/icons/promotion.d.ts +3 -3
  431. package/dist/src/components/icons/radio-button.d.ts +3 -3
  432. package/dist/src/components/icons/receipt-filled.d.ts +3 -3
  433. package/dist/src/components/icons/receipt-outline.d.ts +3 -3
  434. package/dist/src/components/icons/receipt.d.ts +3 -3
  435. package/dist/src/components/icons/refresh-icon.d.ts +3 -3
  436. package/dist/src/components/icons/replace.d.ts +3 -3
  437. package/dist/src/components/icons/save.d.ts +3 -3
  438. package/dist/src/components/icons/search-status.d.ts +3 -3
  439. package/dist/src/components/icons/search.d.ts +3 -3
  440. package/dist/src/components/icons/settings-fallback.d.ts +3 -3
  441. package/dist/src/components/icons/sort-arrow-icon.d.ts +3 -3
  442. package/dist/src/components/icons/stacked-layer.d.ts +3 -3
  443. package/dist/src/components/icons/start-filled.d.ts +3 -3
  444. package/dist/src/components/icons/three-dot-icon.d.ts +3 -3
  445. package/dist/src/components/icons/tick-circle-filled.d.ts +3 -3
  446. package/dist/src/components/icons/tick-circle.d.ts +3 -3
  447. package/dist/src/components/icons/tick-octagon.d.ts +3 -3
  448. package/dist/src/components/icons/tick.d.ts +3 -3
  449. package/dist/src/components/icons/toggle-switch.d.ts +3 -3
  450. package/dist/src/components/icons/trash.d.ts +3 -3
  451. package/dist/src/components/icons/wave.d.ts +3 -3
  452. package/dist/src/components/icons/with-out-tick-octagon.d.ts +3 -3
  453. package/dist/src/components/icons/work-centre.d.ts +3 -3
  454. package/dist/src/components/location-select.d.ts +1 -1
  455. package/dist/src/components/material-editable-table/material-editable-table.d.ts +1 -1
  456. package/dist/src/components/material-table/material-table.d.ts +1 -1
  457. package/dist/src/components/phone-input/phone-input.d.ts +1 -1
  458. package/dist/src/components/radio/radio.d.ts +1 -1
  459. package/dist/src/components/select/select.d.ts +1 -1
  460. package/dist/src/components/switches/android-12-switch.d.ts +3 -1
  461. package/dist/src/components/text-field/text-field.d.ts +1 -1
  462. package/dist/src/components/time-picker/time-picker.d.ts +1 -1
  463. package/dist/src/components/upload-media/upload-media.d.ts +1 -1
  464. package/dist/src/utils/common-utility.d.ts +1 -1
  465. package/dist/style.css +69 -69
  466. package/dist/styles/index.d.ts +1 -1
  467. package/dist/theme/theme-impl/index.esm.js.map +1 -1
  468. package/dist/theme/theme-impl/index.js.map +1 -1
  469. package/dist/utils/api/index.esm.js +6 -6
  470. package/dist/utils/api/index.esm.js.map +1 -1
  471. package/dist/utils/api/index.js +1 -1
  472. package/dist/utils/api/index.js.map +1 -1
  473. package/dist/utils/common/index.esm.js +6 -6
  474. package/dist/utils/common/index.esm.js.map +1 -1
  475. package/dist/utils/common/index.js +1 -1
  476. package/dist/utils/common/index.js.map +1 -1
  477. package/dist/utils/common-utility.d.ts +1 -1
  478. package/dist/utils/date-range/index.esm.js.map +1 -1
  479. package/dist/utils/date-range/index.js.map +1 -1
  480. package/dist/utils/i18n/index.esm.js.map +1 -1
  481. package/dist/utils/i18n/index.js.map +1 -1
  482. package/dist/utils/menu-filter/index.esm.js.map +1 -1
  483. package/dist/utils/menu-filter/index.js.map +1 -1
  484. package/dist/views/404/index.esm.js.map +1 -1
  485. package/dist/views/404/index.js.map +1 -1
  486. package/dist/views/afterAuth/dashboard/dashboard/index.esm.js.map +1 -1
  487. package/dist/views/afterAuth/dashboard/dashboard/index.js.map +1 -1
  488. package/dist/views/afterAuth/dashboard/redux/actionCreator/index.esm.js.map +1 -1
  489. package/dist/views/afterAuth/dashboard/redux/actionCreator/index.js.map +1 -1
  490. package/dist/views/afterAuth/dashboard/redux/reducer/index.esm.js.map +1 -1
  491. package/dist/views/afterAuth/dashboard/redux/reducer/index.js.map +1 -1
  492. package/dist/views/afterAuth/dashboard/redux/state/index.esm.js.map +1 -1
  493. package/dist/views/afterAuth/dashboard/redux/state/index.js.map +1 -1
  494. package/dist/views/afterAuth/page-view/page-view/index.esm.js.map +1 -1
  495. package/dist/views/afterAuth/page-view/page-view/index.js.map +1 -1
  496. package/dist/views/afterAuth/page-view/redux/actionCreator/index.esm.js.map +1 -1
  497. package/dist/views/afterAuth/page-view/redux/actionCreator/index.js.map +1 -1
  498. package/dist/views/afterAuth/page-view/redux/reducer/index.esm.js.map +1 -1
  499. package/dist/views/afterAuth/page-view/redux/reducer/index.js.map +1 -1
  500. package/dist/views/afterAuth/page-view/redux/state/index.esm.js.map +1 -1
  501. package/dist/views/afterAuth/page-view/redux/state/index.js.map +1 -1
  502. package/dist/views/afterAuth/page-view/utils/default-data/index.esm.js.map +1 -1
  503. package/dist/views/afterAuth/page-view/utils/default-data/index.js.map +1 -1
  504. package/dist/views/afterAuth/page-view/utils/local-data/index.esm.js.map +1 -1
  505. package/dist/views/afterAuth/page-view/utils/local-data/index.js.map +1 -1
  506. package/dist/views/beforeAuth/change-password/change-password/index.esm.js.map +1 -1
  507. package/dist/views/beforeAuth/change-password/change-password/index.js.map +1 -1
  508. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js.map +1 -1
  509. package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js.map +1 -1
  510. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js.map +1 -1
  511. package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js.map +1 -1
  512. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js.map +1 -1
  513. package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js.map +1 -1
  514. package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js.map +1 -1
  515. package/dist/views/beforeAuth/components/grid-data/grid-data/index.js.map +1 -1
  516. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js.map +1 -1
  517. package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js.map +1 -1
  518. package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js.map +1 -1
  519. package/dist/views/beforeAuth/components/list-content/column-raw/index.js.map +1 -1
  520. package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js.map +1 -1
  521. package/dist/views/beforeAuth/components/list-content/list-data/index.js.map +1 -1
  522. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js.map +1 -1
  523. package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js.map +1 -1
  524. package/dist/views/beforeAuth/components/share-modal-data/share-modal-data/index.esm.js.map +1 -1
  525. package/dist/views/beforeAuth/components/share-modal-data/share-modal-data/index.js.map +1 -1
  526. package/dist/views/beforeAuth/components/shared-pages-data/shared-pages-data/index.esm.js.map +1 -1
  527. package/dist/views/beforeAuth/components/shared-pages-data/shared-pages-data/index.js.map +1 -1
  528. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js.map +1 -1
  529. package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js.map +1 -1
  530. package/dist/views/beforeAuth/components/user-dashboard-data/user-dashboard-data/index.esm.js.map +1 -1
  531. package/dist/views/beforeAuth/components/user-dashboard-data/user-dashboard-data/index.js.map +1 -1
  532. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js.map +1 -1
  533. package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js.map +1 -1
  534. package/dist/views/beforeAuth/forgot-password/forgot-password/index.esm.js.map +1 -1
  535. package/dist/views/beforeAuth/forgot-password/forgot-password/index.js.map +1 -1
  536. package/dist/views/beforeAuth/landing/landing/index.esm.js.map +1 -1
  537. package/dist/views/beforeAuth/landing/landing/index.js.map +1 -1
  538. package/dist/views/beforeAuth/reset-password/reset-password/index.esm.js.map +1 -1
  539. package/dist/views/beforeAuth/reset-password/reset-password/index.js.map +1 -1
  540. package/dist/views/form-builder/custom-form/index.esm.js.map +1 -1
  541. package/dist/views/form-builder/custom-form/index.js.map +1 -1
  542. package/dist/views/form-builder/element-edit-forms/checkbox/index.esm.js.map +1 -1
  543. package/dist/views/form-builder/element-edit-forms/checkbox/index.js.map +1 -1
  544. package/dist/views/form-builder/element-edit-forms/column-width/index.esm.js.map +1 -1
  545. package/dist/views/form-builder/element-edit-forms/column-width/index.js.map +1 -1
  546. package/dist/views/form-builder/element-edit-forms/field-select/index.esm.js.map +1 -1
  547. package/dist/views/form-builder/element-edit-forms/field-select/index.js.map +1 -1
  548. package/dist/views/form-builder/element-edit-forms/section/index.esm.js.map +1 -1
  549. package/dist/views/form-builder/element-edit-forms/section/index.js.map +1 -1
  550. package/dist/views/form-builder/element-edit-forms/select/index.esm.js.map +1 -1
  551. package/dist/views/form-builder/element-edit-forms/select/index.js.map +1 -1
  552. package/dist/views/form-builder/element-edit-forms/table-form/index.esm.js.map +1 -1
  553. package/dist/views/form-builder/element-edit-forms/table-form/index.js.map +1 -1
  554. package/dist/views/form-builder/element-edit-forms/text/index.esm.js.map +1 -1
  555. package/dist/views/form-builder/element-edit-forms/text/index.js.map +1 -1
  556. package/dist/views/form-builder/field_properties/index.esm.js.map +1 -1
  557. package/dist/views/form-builder/field_properties/index.js.map +1 -1
  558. package/dist/views/form-builder/form-fields/index.esm.js.map +1 -1
  559. package/dist/views/form-builder/form-fields/index.js.map +1 -1
  560. package/dist/views/form-builder/redux/actionCreator/index.esm.js +1 -1
  561. package/dist/views/form-builder/redux/actionCreator/index.esm.js.map +1 -1
  562. package/dist/views/form-builder/redux/actionCreator/index.js +1 -1
  563. package/dist/views/form-builder/redux/actionCreator/index.js.map +1 -1
  564. package/dist/views/form-builder/redux/reducer/index.esm.js.map +1 -1
  565. package/dist/views/form-builder/redux/reducer/index.js.map +1 -1
  566. package/dist/views/form-builder/redux/state/index.esm.js.map +1 -1
  567. package/dist/views/form-builder/redux/state/index.js.map +1 -1
  568. package/dist/views/form-builder/utils/common/index.esm.js.map +1 -1
  569. package/dist/views/form-builder/utils/common/index.js.map +1 -1
  570. package/dist/views/index.d.ts +8 -8
  571. package/dist/views/privateRoute/index.esm.js.map +1 -1
  572. package/dist/views/privateRoute/index.js.map +1 -1
  573. package/dist/views/template-editor/add-template/add-template/index.esm.js.map +1 -1
  574. package/dist/views/template-editor/add-template/add-template/index.js.map +1 -1
  575. package/dist/views/template-editor/company-selection-modal/company-selection-modal/index.esm.js.map +1 -1
  576. package/dist/views/template-editor/company-selection-modal/company-selection-modal/index.js.map +1 -1
  577. package/dist/views/template-editor/components/EditorCanvas/index.esm.js.map +1 -1
  578. package/dist/views/template-editor/components/EditorCanvas/index.js.map +1 -1
  579. package/dist/views/template-editor/components/EditorHeader/index.esm.js.map +1 -1
  580. package/dist/views/template-editor/components/EditorHeader/index.js.map +1 -1
  581. package/dist/views/template-editor/components/EditorSection/index.esm.js.map +1 -1
  582. package/dist/views/template-editor/components/EditorSection/index.js.map +1 -1
  583. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -1
  584. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  585. package/dist/views/template-editor/components/EditorSidebar/index.js +1 -1
  586. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  587. package/dist/views/template-editor/components/SectionFlowEditor/index.esm.js.map +1 -1
  588. package/dist/views/template-editor/components/SectionFlowEditor/index.js.map +1 -1
  589. package/dist/views/template-editor/components/SectionFormatPanel/index.esm.js.map +1 -1
  590. package/dist/views/template-editor/components/SectionFormatPanel/index.js.map +1 -1
  591. package/dist/views/template-editor/components/controllers/AlignmentControl/index.esm.js.map +1 -1
  592. package/dist/views/template-editor/components/controllers/AlignmentControl/index.js.map +1 -1
  593. package/dist/views/template-editor/components/controllers/ButtonControls/index.esm.js.map +1 -1
  594. package/dist/views/template-editor/components/controllers/ButtonControls/index.js.map +1 -1
  595. package/dist/views/template-editor/components/controllers/CodeControls/index.esm.js.map +1 -1
  596. package/dist/views/template-editor/components/controllers/CodeControls/index.js.map +1 -1
  597. package/dist/views/template-editor/components/controllers/DividerControls/index.esm.js.map +1 -1
  598. package/dist/views/template-editor/components/controllers/DividerControls/index.js.map +1 -1
  599. package/dist/views/template-editor/components/controllers/ImageControls/index.esm.js.map +1 -1
  600. package/dist/views/template-editor/components/controllers/ImageControls/index.js.map +1 -1
  601. package/dist/views/template-editor/components/controllers/SignatureControls/index.esm.js.map +1 -1
  602. package/dist/views/template-editor/components/controllers/SignatureControls/index.js.map +1 -1
  603. package/dist/views/template-editor/components/controllers/TableControls/index.esm.js.map +1 -1
  604. package/dist/views/template-editor/components/controllers/TableControls/index.js.map +1 -1
  605. package/dist/views/template-editor/components/controllers/TextControls/index.esm.js.map +1 -1
  606. package/dist/views/template-editor/components/controllers/TextControls/index.js.map +1 -1
  607. package/dist/views/template-editor/components/controllers/border-control/index.esm.js.map +1 -1
  608. package/dist/views/template-editor/components/controllers/border-control/index.js.map +1 -1
  609. package/dist/views/template-editor/edit-section-modal/edit-section-modal/index.esm.js.map +1 -1
  610. package/dist/views/template-editor/edit-section-modal/edit-section-modal/index.js.map +1 -1
  611. package/dist/views/template-editor/routes/index.esm.js.map +1 -1
  612. package/dist/views/template-editor/routes/index.js.map +1 -1
  613. package/dist/views/template-editor/template-modal/html-thumbnail-preview/index.esm.js.map +1 -1
  614. package/dist/views/template-editor/template-modal/html-thumbnail-preview/index.js.map +1 -1
  615. package/dist/views/template-editor/template-modal/template-modal/index.esm.js.map +1 -1
  616. package/dist/views/template-editor/template-modal/template-modal/index.js.map +1 -1
  617. package/dist/views/template-editor/template-name-modal/template-name-modal/index.esm.js.map +1 -1
  618. package/dist/views/template-editor/template-name-modal/template-name-modal/index.js.map +1 -1
  619. package/dist/views/template-editor/templates/index.esm.js +1 -1
  620. package/dist/views/template-editor/templates/index.esm.js.map +1 -1
  621. package/dist/views/template-editor/templates/index.js +1 -1
  622. package/dist/views/template-editor/templates/index.js.map +1 -1
  623. package/dist/views/template-editor/utils/common/index.esm.js.map +1 -1
  624. package/dist/views/template-editor/utils/common/index.js.map +1 -1
  625. package/dist/views/template-editor/utils/constant/index.esm.js.map +1 -1
  626. package/dist/views/template-editor/utils/constant/index.js.map +1 -1
  627. package/dist/views/template-editor/utils/default-data/index.esm.js.map +1 -1
  628. package/dist/views/template-editor/utils/default-data/index.js.map +1 -1
  629. package/dist/views/template-editor/utils/style-extractor/index.esm.js.map +1 -1
  630. package/dist/views/template-editor/utils/style-extractor/index.js.map +1 -1
  631. package/dist/vite-env.d.ts +23 -23
  632. package/package.json +299 -299
  633. package/src/styles/README.md +287 -287
  634. package/src/styles/all.scss +7 -7
  635. package/src/styles/animations.scss +5 -5
  636. package/src/styles/css/reset.css +1 -1
  637. package/src/styles/index.d.ts +1 -1
  638. package/src/styles/index.ts +1 -1
  639. package/src/styles/mixins.scss +5 -5
  640. package/src/styles/sass/main.scss +11 -11
  641. package/src/styles/utils.scss +5 -5
  642. package/src/styles/variables.scss +4 -4
  643. package/dist/node_modules/@glideapps/glide-data-grid-cells/node_modules/@toast-ui/react-editor/dist/esm/index/index.esm.js.map +0 -1
  644. package/dist/node_modules/@glideapps/glide-data-grid-cells/node_modules/@toast-ui/react-editor/dist/esm/index/index.js +0 -2
  645. package/dist/node_modules/@glideapps/glide-data-grid-cells/node_modules/@toast-ui/react-editor/dist/esm/index/index.js.map +0 -1
  646. package/dist/node_modules/material-react-table/node_modules/@tanstack/react-virtual/dist/esm/index/index.esm.js.map +0 -1
  647. package/dist/node_modules/material-react-table/node_modules/@tanstack/react-virtual/dist/esm/index/index.js +0 -2
  648. package/dist/node_modules/material-react-table/node_modules/@tanstack/react-virtual/dist/esm/index/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/views/form-builder/form-fields.tsx"],"sourcesContent":["// React imports\r\nimport React, { memo, useMemo, useCallback } from 'react';\r\n\r\n// Material UI imports\r\nimport { Grid } from '@mui/material';\r\n\r\n// ERP Common imports - Form builder elements\r\nimport DynamicInput from '@/components/form-control/form-builder/form-builder-element/text';\r\nimport DynamicCheckBox from '@/components/form-control/form-builder/form-builder-element/checkbox';\r\nimport DynamicTable from '@/components/form-control/form-builder/form-builder-element/table';\r\nimport DynamicElementHOC from '@/components/form-control/form-builder/form-builder-element/dynamic-element-hoc';\r\nimport DynamicRadioButton from '@/components/form-control/form-builder/form-builder-element/radio-button';\r\nimport DynamicToggleButton from '@/components/form-control/form-builder/form-builder-element/toggle-button';\r\nimport DynamicInfo from '@/components/form-control/form-builder/form-builder-element/info';\r\nimport DynamicMedia from '@/components/form-control/form-builder/form-builder-element/media';\r\nimport DynamicTime from '@/components/form-control/form-builder/form-builder-element/time';\r\nimport DynamicDate from '@/components/form-control/form-builder/form-builder-element/date';\r\nimport DynamicSelect from '@/components/form-control/form-builder/form-builder-element/select';\r\nimport DynamicPhone from '@/components/form-control/form-builder/form-builder-element/phone';\r\n\r\n// Types\r\ninterface IField {\r\n id: string;\r\n field_type: string;\r\n placeholder?: string;\r\n label: string;\r\n default_value?: any;\r\n is_multiline?: boolean;\r\n is_required?: boolean;\r\n min_length?: number;\r\n max_length?: number;\r\n is_fullwidth?: boolean;\r\n custom_width?: number;\r\n options?: any[];\r\n is_multiselect?: boolean;\r\n is_future_dates_allowed?: boolean;\r\n is_past_dates_allowed?: boolean;\r\n option?: any;\r\n max_size?: number;\r\n title?: string;\r\n display?: string;\r\n title_position?: string;\r\n table_columns?: any[];\r\n float_step?: number;\r\n type: string;\r\n}\r\n\r\ninterface FormFieldsProps {\r\n sectionMembers: IField[];\r\n // Add other required props with proper types\r\n members: IField[];\r\n activeMember?: number;\r\n control: any;\r\n t: (key: string) => string;\r\n element: any;\r\n images: any;\r\n elementJSON?: any;\r\n remove: (index: number) => void;\r\n move: (from: number, to: number) => void;\r\n handleElementSelection: (e: any) => void;\r\n setElementSwap: (value: boolean) => void;\r\n handleDuplicateElement: (index: number) => void;\r\n setSelectedHoc: (value: string) => void;\r\n setActiveMember: (value: number | undefined) => void;\r\n}\r\n\r\n// Field type mapping for better maintainability\r\nconst FIELD_TYPE_MAP = {\r\n TEXT: 'text',\r\n EMAIL: 'email',\r\n NUMBER: 'number',\r\n PHONE: 'phone',\r\n SELECT: 'select',\r\n DATE: 'date',\r\n TIME: 'time',\r\n URL: 'url',\r\n CURRENCY: 'currency',\r\n FILE: 'file',\r\n IMAGE: 'image',\r\n GEO_LOCATION: 'geoLocation',\r\n RELATION: 'relation',\r\n INFO: 'info',\r\n TOGGLE_BUTTON: 'toggleButton',\r\n RADIO_BUTTON: 'radioButton',\r\n TAGS_INPUT: 'tagsInput',\r\n CHECKBOX: 'checkbox',\r\n TABLE: 'table'\r\n} as const;\r\n\r\n// Memoized individual field component\r\nconst FormField = memo<{\r\n field: IField;\r\n index: number;\r\n gridItemSize: number;\r\n activeMember?: number;\r\n control: any;\r\n t: (key: string) => string;\r\n element: any;\r\n images: any;\r\n elementJSON?: any;\r\n remove: (index: number) => void;\r\n move: (from: number, to: number) => void;\r\n handleElementSelection: (e: any) => void;\r\n setElementSwap: (value: boolean) => void;\r\n handleDuplicateElement: (index: number) => void;\r\n setSelectedHoc: (value: string) => void;\r\n setActiveMember: (value: number | undefined) => void;\r\n}>(({\r\n field,\r\n index,\r\n gridItemSize,\r\n activeMember,\r\n control,\r\n t,\r\n element,\r\n images,\r\n elementJSON,\r\n remove,\r\n move,\r\n handleElementSelection,\r\n setElementSwap,\r\n handleDuplicateElement,\r\n setSelectedHoc,\r\n setActiveMember\r\n}) => {\r\n // Common HOC props - memoized to prevent unnecessary re-renders\r\n const hocProps = useMemo(() => ({\r\n activeIndex: activeMember === index,\r\n removeElement: remove,\r\n index,\r\n onClick: handleElementSelection,\r\n swap: move,\r\n elementSwap: () => setElementSwap(true),\r\n handleDuplicate: handleDuplicateElement,\r\n setElementHoc: () => {\r\n setSelectedHoc(\"\");\r\n setActiveMember(undefined);\r\n }\r\n }), [\r\n activeMember, \r\n index, \r\n remove, \r\n handleElementSelection, \r\n move, \r\n setElementSwap, \r\n handleDuplicateElement, \r\n setSelectedHoc, \r\n setActiveMember\r\n ]);\r\n\r\n // Common field props - memoized to prevent unnecessary re-renders\r\n const commonFieldProps = useMemo(() => ({\r\n key: field.id,\r\n position: index,\r\n placeholder: t(field.placeholder || ''),\r\n label: t(field.label),\r\n formControl: control,\r\n name: \"message\",\r\n fieldArrayName: \"members\",\r\n required: field.is_required,\r\n formType: \"builder\" as const,\r\n typeOfField: field.type,\r\n disabled: true\r\n }), [field.id, field.placeholder, field.label, field.is_required, field.type, index, t, control]);\r\n\r\n // Render field based on type\r\n const renderFieldContent = useCallback(() => {\r\n const { field_type } = field;\r\n\r\n switch (field_type) {\r\n case element.text.field_type:\r\n return (\r\n <DynamicInput\r\n {...commonFieldProps}\r\n type={field_type}\r\n defaultValue={field.default_value}\r\n is_multiline={field.is_multiline}\r\n min={field.min_length}\r\n max={field.max_length}\r\n />\r\n );\r\n\r\n case element.email.field_type:\r\n return (\r\n <DynamicInput\r\n {...commonFieldProps}\r\n type={field_type}\r\n defaultValue={field.default_value}\r\n endIcon={<img src={images.sms} alt=\"email\" />}\r\n />\r\n );\r\n\r\n case element.number.field_type:\r\n return (\r\n <DynamicInput\r\n {...commonFieldProps}\r\n type={field_type}\r\n defaultValue={field.default_value}\r\n min={field.min_length}\r\n max={field.max_length}\r\n float_step={field.float_step}\r\n />\r\n );\r\n\r\n case element.phone.field_type:\r\n return (\r\n <DynamicPhone\r\n {...commonFieldProps}\r\n type={field_type}\r\n default_value={field.default_value}\r\n />\r\n );\r\n\r\n case element.select.field_type:\r\n return (\r\n <DynamicSelect\r\n {...commonFieldProps}\r\n options={field.options}\r\n defaultValue={field.default_value}\r\n is_multiselect={field.is_multiselect}\r\n />\r\n );\r\n\r\n case element.date.field_type:\r\n return (\r\n <DynamicDate\r\n {...commonFieldProps}\r\n defaultValue={field.default_value}\r\n is_future_dates_allowed={field.is_future_dates_allowed}\r\n is_past_dates_allowed={field.is_past_dates_allowed}\r\n disable={true}\r\n />\r\n );\r\n\r\n case element.time.field_type:\r\n return (\r\n <DynamicTime\r\n {...commonFieldProps}\r\n option={field.option}\r\n />\r\n );\r\n\r\n case element.url.field_type:\r\n return (\r\n <DynamicInput\r\n {...commonFieldProps}\r\n type={field_type}\r\n defaultValue={field.default_value}\r\n endIcon={<img src={images.url} alt=\"url\" />}\r\n />\r\n );\r\n\r\n case element.currency.field_type:\r\n return (\r\n <DynamicInput\r\n {...commonFieldProps}\r\n type={field_type}\r\n defaultValue={field.default_value}\r\n endIcon={<img src={images.dollar} alt=\"currency\" />}\r\n />\r\n );\r\n\r\n case element.file.field_type:\r\n case element.image.field_type:\r\n return (\r\n <DynamicMedia\r\n {...commonFieldProps}\r\n type={field_type}\r\n max_size={field.max_size}\r\n />\r\n );\r\n\r\n case element.geoLocation.field_type:\r\n return (\r\n <DynamicInput\r\n {...commonFieldProps}\r\n type={field_type}\r\n defaultValue={field.default_value}\r\n endIcon={<img src={images.location} alt=\"location\" />}\r\n />\r\n );\r\n\r\n case element.relation.field_type:\r\n return (\r\n <DynamicInput\r\n {...commonFieldProps}\r\n type={field_type}\r\n defaultValue={field.default_value}\r\n is_multiline={field.is_multiline}\r\n min={field.min_length}\r\n max={field.max_length}\r\n label={\r\n <span\r\n className=\"formSection--Relation\"\r\n data-position={index}\r\n data-name={`members.${index}.message`}\r\n >\r\n {t(field.label)}\r\n <img src={images.relation} alt=\"relation\" />\r\n </span>\r\n }\r\n />\r\n );\r\n\r\n case element.info.field_type:\r\n return (\r\n <DynamicInfo\r\n {...commonFieldProps}\r\n defaultValue={field.default_value}\r\n />\r\n );\r\n\r\n case element.toggleButton.field_type:\r\n return (\r\n <DynamicToggleButton\r\n {...commonFieldProps}\r\n title={t(field.title || '')}\r\n titlePosition={elementJSON?.title_position}\r\n />\r\n );\r\n\r\n case element.radioButton.field_type:\r\n return (\r\n <DynamicRadioButton\r\n {...commonFieldProps}\r\n options={field.options}\r\n display={field.display}\r\n titlePosition={elementJSON?.title_position}\r\n />\r\n );\r\n\r\n case element.tagsInput.field_type:\r\n return (\r\n <DynamicInput\r\n {...commonFieldProps}\r\n type={field_type}\r\n defaultValue={field.default_value}\r\n is_multiline={field.is_multiline}\r\n min={field.min_length}\r\n max={field.max_length}\r\n />\r\n );\r\n\r\n case element.checkbox.field_type:\r\n return (\r\n <DynamicCheckBox\r\n {...commonFieldProps}\r\n title={t(field.title || '')}\r\n titlePosition={field.title_position}\r\n />\r\n );\r\n\r\n case element.table.field_type:\r\n return (\r\n <DynamicTable\r\n {...commonFieldProps}\r\n columns={field.table_columns || elementJSON?.table_columns || []}\r\n />\r\n );\r\n\r\n default:\r\n console.warn(`Unknown field type: ${field_type}`);\r\n return null;\r\n }\r\n }, [field, commonFieldProps, element, images, elementJSON, t, index]);\r\n\r\n return (\r\n <Grid item xs={gridItemSize}>\r\n <DynamicElementHOC\r\n {...hocProps}\r\n element={field.field_type}\r\n >\r\n {renderFieldContent()}\r\n </DynamicElementHOC>\r\n </Grid>\r\n );\r\n});\r\n\r\nFormField.displayName = 'FormField';\r\n\r\n// Main component\r\nconst FormFields: React.FC<FormFieldsProps> = memo(({\r\n sectionMembers,\r\n members,\r\n activeMember,\r\n control,\r\n t,\r\n element,\r\n images,\r\n elementJSON,\r\n remove,\r\n move,\r\n handleElementSelection,\r\n setElementSwap,\r\n handleDuplicateElement,\r\n setSelectedHoc,\r\n setActiveMember\r\n}) => {\r\n // Memoize grid item size calculation\r\n const calculateGridSize = useCallback((field: IField): number => {\r\n if (field.is_fullwidth || field.field_type === \"table\") return 12;\r\n if (field.custom_width) return field.custom_width;\r\n return 6;\r\n }, []);\r\n\r\n // Memoize the rendered fields\r\n const renderedFields = useMemo(() => {\r\n return sectionMembers.map((field: IField) => {\r\n const index = members.findIndex(member => member === field);\r\n const gridItemSize = calculateGridSize(field);\r\n\r\n return (\r\n <FormField\r\n key={`${field.id}-${index}`} // Better key for React reconciliation\r\n field={field}\r\n index={index}\r\n gridItemSize={gridItemSize}\r\n activeMember={activeMember}\r\n control={control}\r\n t={t}\r\n element={element}\r\n images={images}\r\n elementJSON={elementJSON}\r\n remove={remove}\r\n move={move}\r\n handleElementSelection={handleElementSelection}\r\n setElementSwap={setElementSwap}\r\n handleDuplicateElement={handleDuplicateElement}\r\n setSelectedHoc={setSelectedHoc}\r\n setActiveMember={setActiveMember}\r\n />\r\n );\r\n });\r\n }, [\r\n sectionMembers,\r\n members,\r\n activeMember,\r\n control,\r\n t,\r\n element,\r\n images,\r\n elementJSON,\r\n remove,\r\n move,\r\n handleElementSelection,\r\n setElementSwap,\r\n handleDuplicateElement,\r\n setSelectedHoc,\r\n setActiveMember,\r\n calculateGridSize,\r\n elementJSON?.field_type\r\n ]);\r\n\r\n return <>{renderedFields}</>;\r\n});\r\n\r\nFormFields.displayName = 'FormFields';\r\n\r\nexport { FormField };\nexport default FormFields;"],"names":["FormField","memo","field","index","gridItemSize","activeMember","control","t","element","images","elementJSON","remove","move","handleElementSelection","setElementSwap","handleDuplicateElement","setSelectedHoc","setActiveMember","hocProps","useMemo","activeIndex","removeElement","onClick","swap","elementSwap","handleDuplicate","setElementHoc","commonFieldProps","key","id","position","placeholder","label","formControl","name","fieldArrayName","required","is_required","formType","typeOfField","type","disabled","renderFieldContent","useCallback","field_type","text","jsx","DynamicInput","defaultValue","default_value","is_multiline","min","min_length","max","max_length","email","endIcon","src","sms","alt","number","float_step","phone","DynamicPhone","select","DynamicSelect","options","is_multiselect","date","DynamicDate","is_future_dates_allowed","is_past_dates_allowed","disable","time","DynamicTime","option","url","currency","dollar","file","image","DynamicMedia","max_size","geoLocation","location","relation","jsxs","className","children","info","DynamicInfo","toggleButton","DynamicToggleButton","title","titlePosition","title_position","radioButton","DynamicRadioButton","display","tagsInput","checkbox","DynamicCheckBox","table","DynamicTable","columns","table_columns","Grid","item","xs","DynamicElementHOC","displayName","FormFields","sectionMembers","members","calculateGridSize","is_fullwidth","custom_width","renderedFields","map","findIndex","member"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/views/form-builder/form-fields.tsx"],"sourcesContent":["// React imports\nimport React, { memo, useMemo, useCallback } from 'react';\n\n// Material UI imports\nimport { Grid } from '@mui/material';\n\n// ERP Common imports - Form builder elements\nimport DynamicInput from '@/components/form-control/form-builder/form-builder-element/text';\nimport DynamicCheckBox from '@/components/form-control/form-builder/form-builder-element/checkbox';\nimport DynamicTable from '@/components/form-control/form-builder/form-builder-element/table';\nimport DynamicElementHOC from '@/components/form-control/form-builder/form-builder-element/dynamic-element-hoc';\nimport DynamicRadioButton from '@/components/form-control/form-builder/form-builder-element/radio-button';\nimport DynamicToggleButton from '@/components/form-control/form-builder/form-builder-element/toggle-button';\nimport DynamicInfo from '@/components/form-control/form-builder/form-builder-element/info';\nimport DynamicMedia from '@/components/form-control/form-builder/form-builder-element/media';\nimport DynamicTime from '@/components/form-control/form-builder/form-builder-element/time';\nimport DynamicDate from '@/components/form-control/form-builder/form-builder-element/date';\nimport DynamicSelect from '@/components/form-control/form-builder/form-builder-element/select';\nimport DynamicPhone from '@/components/form-control/form-builder/form-builder-element/phone';\n\n// Types\ninterface IField {\n id: string;\n field_type: string;\n placeholder?: string;\n label: string;\n default_value?: any;\n is_multiline?: boolean;\n is_required?: boolean;\n min_length?: number;\n max_length?: number;\n is_fullwidth?: boolean;\n custom_width?: number;\n options?: any[];\n is_multiselect?: boolean;\n is_future_dates_allowed?: boolean;\n is_past_dates_allowed?: boolean;\n option?: any;\n max_size?: number;\n title?: string;\n display?: string;\n title_position?: string;\n table_columns?: any[];\n float_step?: number;\n type: string;\n}\n\ninterface FormFieldsProps {\n sectionMembers: IField[];\n // Add other required props with proper types\n members: IField[];\n activeMember?: number;\n control: any;\n t: (key: string) => string;\n element: any;\n images: any;\n elementJSON?: any;\n remove: (index: number) => void;\n move: (from: number, to: number) => void;\n handleElementSelection: (e: any) => void;\n setElementSwap: (value: boolean) => void;\n handleDuplicateElement: (index: number) => void;\n setSelectedHoc: (value: string) => void;\n setActiveMember: (value: number | undefined) => void;\n}\n\n// Field type mapping for better maintainability\nconst FIELD_TYPE_MAP = {\n TEXT: 'text',\n EMAIL: 'email',\n NUMBER: 'number',\n PHONE: 'phone',\n SELECT: 'select',\n DATE: 'date',\n TIME: 'time',\n URL: 'url',\n CURRENCY: 'currency',\n FILE: 'file',\n IMAGE: 'image',\n GEO_LOCATION: 'geoLocation',\n RELATION: 'relation',\n INFO: 'info',\n TOGGLE_BUTTON: 'toggleButton',\n RADIO_BUTTON: 'radioButton',\n TAGS_INPUT: 'tagsInput',\n CHECKBOX: 'checkbox',\n TABLE: 'table'\n} as const;\n\n// Memoized individual field component\nconst FormField = memo<{\n field: IField;\n index: number;\n gridItemSize: number;\n activeMember?: number;\n control: any;\n t: (key: string) => string;\n element: any;\n images: any;\n elementJSON?: any;\n remove: (index: number) => void;\n move: (from: number, to: number) => void;\n handleElementSelection: (e: any) => void;\n setElementSwap: (value: boolean) => void;\n handleDuplicateElement: (index: number) => void;\n setSelectedHoc: (value: string) => void;\n setActiveMember: (value: number | undefined) => void;\n}>(({\n field,\n index,\n gridItemSize,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember\n}) => {\n // Common HOC props - memoized to prevent unnecessary re-renders\n const hocProps = useMemo(() => ({\n activeIndex: activeMember === index,\n removeElement: remove,\n index,\n onClick: handleElementSelection,\n swap: move,\n elementSwap: () => setElementSwap(true),\n handleDuplicate: handleDuplicateElement,\n setElementHoc: () => {\n setSelectedHoc(\"\");\n setActiveMember(undefined);\n }\n }), [\n activeMember, \n index, \n remove, \n handleElementSelection, \n move, \n setElementSwap, \n handleDuplicateElement, \n setSelectedHoc, \n setActiveMember\n ]);\n\n // Common field props - memoized to prevent unnecessary re-renders\n const commonFieldProps = useMemo(() => ({\n key: field.id,\n position: index,\n placeholder: t(field.placeholder || ''),\n label: t(field.label),\n formControl: control,\n name: \"message\",\n fieldArrayName: \"members\",\n required: field.is_required,\n formType: \"builder\" as const,\n typeOfField: field.type,\n disabled: true\n }), [field.id, field.placeholder, field.label, field.is_required, field.type, index, t, control]);\n\n // Render field based on type\n const renderFieldContent = useCallback(() => {\n const { field_type } = field;\n\n switch (field_type) {\n case element.text.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n />\n );\n\n case element.email.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.sms} alt=\"email\" />}\n />\n );\n\n case element.number.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n min={field.min_length}\n max={field.max_length}\n float_step={field.float_step}\n />\n );\n\n case element.phone.field_type:\n return (\n <DynamicPhone\n {...commonFieldProps}\n type={field_type}\n default_value={field.default_value}\n />\n );\n\n case element.select.field_type:\n return (\n <DynamicSelect\n {...commonFieldProps}\n options={field.options}\n defaultValue={field.default_value}\n is_multiselect={field.is_multiselect}\n />\n );\n\n case element.date.field_type:\n return (\n <DynamicDate\n {...commonFieldProps}\n defaultValue={field.default_value}\n is_future_dates_allowed={field.is_future_dates_allowed}\n is_past_dates_allowed={field.is_past_dates_allowed}\n disable={true}\n />\n );\n\n case element.time.field_type:\n return (\n <DynamicTime\n {...commonFieldProps}\n option={field.option}\n />\n );\n\n case element.url.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.url} alt=\"url\" />}\n />\n );\n\n case element.currency.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.dollar} alt=\"currency\" />}\n />\n );\n\n case element.file.field_type:\n case element.image.field_type:\n return (\n <DynamicMedia\n {...commonFieldProps}\n type={field_type}\n max_size={field.max_size}\n />\n );\n\n case element.geoLocation.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.location} alt=\"location\" />}\n />\n );\n\n case element.relation.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n label={\n <span\n className=\"formSection--Relation\"\n data-position={index}\n data-name={`members.${index}.message`}\n >\n {t(field.label)}\n <img src={images.relation} alt=\"relation\" />\n </span>\n }\n />\n );\n\n case element.info.field_type:\n return (\n <DynamicInfo\n {...commonFieldProps}\n defaultValue={field.default_value}\n />\n );\n\n case element.toggleButton.field_type:\n return (\n <DynamicToggleButton\n {...commonFieldProps}\n title={t(field.title || '')}\n titlePosition={elementJSON?.title_position}\n />\n );\n\n case element.radioButton.field_type:\n return (\n <DynamicRadioButton\n {...commonFieldProps}\n options={field.options}\n display={field.display}\n titlePosition={elementJSON?.title_position}\n />\n );\n\n case element.tagsInput.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n />\n );\n\n case element.checkbox.field_type:\n return (\n <DynamicCheckBox\n {...commonFieldProps}\n title={t(field.title || '')}\n titlePosition={field.title_position}\n />\n );\n\n case element.table.field_type:\n return (\n <DynamicTable\n {...commonFieldProps}\n columns={field.table_columns || elementJSON?.table_columns || []}\n />\n );\n\n default:\n console.warn(`Unknown field type: ${field_type}`);\n return null;\n }\n }, [field, commonFieldProps, element, images, elementJSON, t, index]);\n\n return (\n <Grid item xs={gridItemSize}>\n <DynamicElementHOC\n {...hocProps}\n element={field.field_type}\n >\n {renderFieldContent()}\n </DynamicElementHOC>\n </Grid>\n );\n});\n\nFormField.displayName = 'FormField';\n\n// Main component\nconst FormFields: React.FC<FormFieldsProps> = memo(({\n sectionMembers,\n members,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember\n}) => {\n // Memoize grid item size calculation\n const calculateGridSize = useCallback((field: IField): number => {\n if (field.is_fullwidth || field.field_type === \"table\") return 12;\n if (field.custom_width) return field.custom_width;\n return 6;\n }, []);\n\n // Memoize the rendered fields\n const renderedFields = useMemo(() => {\n return sectionMembers.map((field: IField) => {\n const index = members.findIndex(member => member === field);\n const gridItemSize = calculateGridSize(field);\n\n return (\n <FormField\n key={`${field.id}-${index}`} // Better key for React reconciliation\n field={field}\n index={index}\n gridItemSize={gridItemSize}\n activeMember={activeMember}\n control={control}\n t={t}\n element={element}\n images={images}\n elementJSON={elementJSON}\n remove={remove}\n move={move}\n handleElementSelection={handleElementSelection}\n setElementSwap={setElementSwap}\n handleDuplicateElement={handleDuplicateElement}\n setSelectedHoc={setSelectedHoc}\n setActiveMember={setActiveMember}\n />\n );\n });\n }, [\n sectionMembers,\n members,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember,\n calculateGridSize,\n elementJSON?.field_type\n ]);\n\n return <>{renderedFields}</>;\n});\n\nFormFields.displayName = 'FormFields';\n\nexport { FormField };\nexport default FormFields;"],"names":["FormField","memo","field","index","gridItemSize","activeMember","control","t","element","images","elementJSON","remove","move","handleElementSelection","setElementSwap","handleDuplicateElement","setSelectedHoc","setActiveMember","hocProps","useMemo","activeIndex","removeElement","onClick","swap","elementSwap","handleDuplicate","setElementHoc","commonFieldProps","key","id","position","placeholder","label","formControl","name","fieldArrayName","required","is_required","formType","typeOfField","type","disabled","renderFieldContent","useCallback","field_type","text","jsx","DynamicInput","defaultValue","default_value","is_multiline","min","min_length","max","max_length","email","endIcon","src","sms","alt","number","float_step","phone","DynamicPhone","select","DynamicSelect","options","is_multiselect","date","DynamicDate","is_future_dates_allowed","is_past_dates_allowed","disable","time","DynamicTime","option","url","currency","dollar","file","image","DynamicMedia","max_size","geoLocation","location","relation","jsxs","className","children","info","DynamicInfo","toggleButton","DynamicToggleButton","title","titlePosition","title_position","radioButton","DynamicRadioButton","display","tagsInput","checkbox","DynamicCheckBox","table","DynamicTable","columns","table_columns","Grid","item","xs","DynamicElementHOC","displayName","FormFields","sectionMembers","members","calculateGridSize","is_fullwidth","custom_width","renderedFields","map","findIndex","member"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { patchV1FormBuilderId, getV1FormBuilderId, getV1FormBuilderFieldsId, setBaseUrl } from "../../../../api-client/api.system-feature/api/index.esm.js";
2
2
  import { createAsyncThunk } from "@reduxjs/toolkit";
3
3
  import { getToken } from "../../../../utils/common/index.esm.js";
4
- setBaseUrl(`${"https://apidev.erpforce.co"}/system-feature`);
4
+ setBaseUrl(`${"http://127.0.0.1:4011"}/system-feature`);
5
5
  const patchFormDataById = createAsyncThunk(
6
6
  "formBuilder/put",
7
7
  async ({ id, data }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/redux/actionCreator.ts"],"sourcesContent":["import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId, setBaseUrl } from \"@/api-client/api.system-feature/api\";\r\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\r\nimport { getToken } from \"@/utils\";\r\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\r\n\r\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\r\n\r\nexport const patchFormDataById = createAsyncThunk(\r\n\r\n \"formBuilder/put\",\r\n async ({ id, data }: any) => {\r\n const response = await patchV1FormBuilderId({\r\n ...getToken(),\r\n id: id,\r\n ...data,\r\n });\r\n return response;\r\n },\r\n);\r\n\r\nexport const getFormDataById = createAsyncThunk(\r\n \"formBuilder/getById\",\r\n async (id: string) => {\r\n const response = await getV1FormBuilderId({\r\n ...getToken(),\r\n id: id,\r\n });\r\n return response;\r\n }\r\n);\r\n\r\n\r\n\r\nexport const getFieldsByFormId = createAsyncThunk(\r\n \"formBuilder/fields/get\",\r\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\r\n // id = \"661537c19ac80d3d5d0a915a\";\r\n const response: any = await getV1FormBuilderFieldsId({\r\n ...getToken(),\r\n id: id,\r\n });\r\n return response?.data.fields;\r\n },\r\n);\r\n"],"names":[],"mappings":";;;AAKA,WAAW,GAAG,4BAAqC,iBAAiB;AAE7D,MAAM,oBAAoB;AAAA,EAE/B;AAAA,EACA,OAAO,EAAE,IAAI,WAAgB;AAC3B,UAAM,WAAW,MAAM,qBAAqB;AAAA,MAC1C,GAAG,SAAA;AAAA,MACH;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AACD,WAAO;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA,OAAO,OAAe;AACpB,UAAM,WAAW,MAAM,mBAAmB;AAAA,MACxC,GAAG,SAAA;AAAA,MACH;AAAA,IAAA,CACD;AACD,WAAO;AAAA,EACT;AACF;AAIO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA,OAAO,EAAE,GAAA,MAA0C;AAEjD,UAAM,WAAgB,MAAM,yBAAyB;AAAA,MACnD,GAAG,SAAA;AAAA,MACH;AAAA,IAAA,CACD;AACD,WAAO,qCAAU,KAAK;AAAA,EACxB;AACF;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/redux/actionCreator.ts"],"sourcesContent":["import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId, setBaseUrl } from \"@/api-client/api.system-feature/api\";\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\nimport { getToken } from \"@/utils\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\nexport const patchFormDataById = createAsyncThunk(\n\n \"formBuilder/put\",\n async ({ id, data }: any) => {\n const response = await patchV1FormBuilderId({\n ...getToken(),\n id: id,\n ...data,\n });\n return response;\n },\n);\n\nexport const getFormDataById = createAsyncThunk(\n \"formBuilder/getById\",\n async (id: string) => {\n const response = await getV1FormBuilderId({\n ...getToken(),\n id: id,\n });\n return response;\n }\n);\n\n\n\nexport const getFieldsByFormId = createAsyncThunk(\n \"formBuilder/fields/get\",\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\n // id = \"661537c19ac80d3d5d0a915a\";\n const response: any = await getV1FormBuilderFieldsId({\n ...getToken(),\n id: id,\n });\n return response?.data.fields;\n },\n);\n"],"names":[],"mappings":";;;AAKA,WAAW,GAAG,uBAAqC,iBAAiB;AAE7D,MAAM,oBAAoB;AAAA,EAE/B;AAAA,EACA,OAAO,EAAE,IAAI,WAAgB;AAC3B,UAAM,WAAW,MAAM,qBAAqB;AAAA,MAC1C,GAAG,SAAA;AAAA,MACH;AAAA,MACA,GAAG;AAAA,IAAA,CACJ;AACD,WAAO;AAAA,EACT;AACF;AAEO,MAAM,kBAAkB;AAAA,EAC7B;AAAA,EACA,OAAO,OAAe;AACpB,UAAM,WAAW,MAAM,mBAAmB;AAAA,MACxC,GAAG,SAAA;AAAA,MACH;AAAA,IAAA,CACD;AACD,WAAO;AAAA,EACT;AACF;AAIO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA,OAAO,EAAE,GAAA,MAA0C;AAEjD,UAAM,WAAgB,MAAM,yBAAyB;AAAA,MACnD,GAAG,SAAA;AAAA,MACH;AAAA,IAAA,CACD;AACD,WAAO,qCAAU,KAAK;AAAA,EACxB;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../api-client/api.system-feature/api/index.js"),t=require("@reduxjs/toolkit"),r=require("../../../../utils/common/index.js");e.setBaseUrl("https://apidev.erpforce.co/system-feature");const i=t.createAsyncThunk("formBuilder/put",async({id:t,data:i})=>await e.patchV1FormBuilderId({...r.getToken(),id:t,...i})),a=t.createAsyncThunk("formBuilder/getById",async t=>await e.getV1FormBuilderId({...r.getToken(),id:t})),d=t.createAsyncThunk("formBuilder/fields/get",async({id:t})=>{const i=await e.getV1FormBuilderFieldsId({...r.getToken(),id:t});return null==i?void 0:i.data.fields});exports.getFieldsByFormId=d,exports.getFormDataById=a,exports.patchFormDataById=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../api-client/api.system-feature/api/index.js"),t=require("@reduxjs/toolkit"),r=require("../../../../utils/common/index.js");e.setBaseUrl("http://127.0.0.1:4011/system-feature");const i=t.createAsyncThunk("formBuilder/put",async({id:t,data:i})=>await e.patchV1FormBuilderId({...r.getToken(),id:t,...i})),a=t.createAsyncThunk("formBuilder/getById",async t=>await e.getV1FormBuilderId({...r.getToken(),id:t})),d=t.createAsyncThunk("formBuilder/fields/get",async({id:t})=>{const i=await e.getV1FormBuilderFieldsId({...r.getToken(),id:t});return null==i?void 0:i.data.fields});exports.getFieldsByFormId=d,exports.getFormDataById=a,exports.patchFormDataById=i;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/redux/actionCreator.ts"],"sourcesContent":["import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId, setBaseUrl } from \"@/api-client/api.system-feature/api\";\r\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\r\nimport { getToken } from \"@/utils\";\r\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\r\n\r\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\r\n\r\nexport const patchFormDataById = createAsyncThunk(\r\n\r\n \"formBuilder/put\",\r\n async ({ id, data }: any) => {\r\n const response = await patchV1FormBuilderId({\r\n ...getToken(),\r\n id: id,\r\n ...data,\r\n });\r\n return response;\r\n },\r\n);\r\n\r\nexport const getFormDataById = createAsyncThunk(\r\n \"formBuilder/getById\",\r\n async (id: string) => {\r\n const response = await getV1FormBuilderId({\r\n ...getToken(),\r\n id: id,\r\n });\r\n return response;\r\n }\r\n);\r\n\r\n\r\n\r\nexport const getFieldsByFormId = createAsyncThunk(\r\n \"formBuilder/fields/get\",\r\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\r\n // id = \"661537c19ac80d3d5d0a915a\";\r\n const response: any = await getV1FormBuilderFieldsId({\r\n ...getToken(),\r\n id: id,\r\n });\r\n return response?.data.fields;\r\n },\r\n);\r\n"],"names":["setBaseUrl","patchFormDataById","createAsyncThunk","async","id","data","patchV1FormBuilderId","getToken","getFormDataById","getV1FormBuilderId","getFieldsByFormId","response","getV1FormBuilderFieldsId","fields"],"mappings":"yNAKAA,EAAAA,WAAW,6CAEJ,MAAMC,EAAoBC,EAAAA,iBAE/B,kBACAC,OAASC,KAAIC,gBACYC,uBAAqB,IACvCC,aACHH,QACGC,KAMIG,EAAkBN,EAAAA,iBAC7B,sBACAC,MAAOC,SACkBK,qBAAmB,IACrCF,aACHH,QAQOM,EAAoBR,EAAAA,iBAC/B,yBACAC,OAASC,SAEP,MAAMO,QAAsBC,2BAAyB,IAChDL,aACHH,OAEF,aAAOO,WAAUN,KAAKQ"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/redux/actionCreator.ts"],"sourcesContent":["import { getV1FormBuilderFieldsId, getV1FormBuilderId, patchV1FormBuilderId, setBaseUrl } from \"@/api-client/api.system-feature/api\";\nimport { GetV1FormBuilderFieldsIdRequest } from \"@/api-client/api.system-feature/api-types\";\nimport { getToken } from \"@/utils\";\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/system-feature`);\n\nexport const patchFormDataById = createAsyncThunk(\n\n \"formBuilder/put\",\n async ({ id, data }: any) => {\n const response = await patchV1FormBuilderId({\n ...getToken(),\n id: id,\n ...data,\n });\n return response;\n },\n);\n\nexport const getFormDataById = createAsyncThunk(\n \"formBuilder/getById\",\n async (id: string) => {\n const response = await getV1FormBuilderId({\n ...getToken(),\n id: id,\n });\n return response;\n }\n);\n\n\n\nexport const getFieldsByFormId = createAsyncThunk(\n \"formBuilder/fields/get\",\n async ({ id }: GetV1FormBuilderFieldsIdRequest) => {\n // id = \"661537c19ac80d3d5d0a915a\";\n const response: any = await getV1FormBuilderFieldsId({\n ...getToken(),\n id: id,\n });\n return response?.data.fields;\n },\n);\n"],"names":["setBaseUrl","patchFormDataById","createAsyncThunk","async","id","data","patchV1FormBuilderId","getToken","getFormDataById","getV1FormBuilderId","getFieldsByFormId","response","getV1FormBuilderFieldsId","fields"],"mappings":"yNAKAA,EAAAA,WAAW,wCAEJ,MAAMC,EAAoBC,EAAAA,iBAE/B,kBACAC,OAASC,KAAIC,gBACYC,uBAAqB,IACvCC,aACHH,QACGC,KAMIG,EAAkBN,EAAAA,iBAC7B,sBACAC,MAAOC,SACkBK,qBAAmB,IACrCF,aACHH,QAQOM,EAAoBR,EAAAA,iBAC/B,yBACAC,OAASC,SAEP,MAAMO,QAAsBC,2BAAyB,IAChDL,aACHH,OAEF,aAAOO,WAAUN,KAAKQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/redux/reducer.ts"],"sourcesContent":["import { createSlice } from '@reduxjs/toolkit';\r\nimport {\r\n getFieldsByFormId,\r\n getFormDataById,\r\n patchFormDataById,\r\n\r\n} from \"./actionCreator\";\r\nimport initialState from \"./state\";\r\n\r\nconst isJsonParse = (json: string) => {\r\n try {\r\n return JSON.parse(json);\r\n } catch (error) {\r\n return false;\r\n }\r\n};\r\n\r\nexport const formBuilderListSlice = createSlice({\r\n name: \"formBuilder/getAllFormData\",\r\n initialState,\r\n reducers: {\r\n setFormData: (state, action) => {\r\n state.formData = action.payload\r\n },\r\n setPaginationModel(state, action) {\r\n state.paginationModel = { ...state.paginationModel, ...action.payload };\r\n },\r\n },\r\n extraReducers: (builder) => {\r\n /*--------------------------------GET Handle Pending State ---------------------------------*/\r\n\r\n\r\n\r\n /*--------------------------------GET BY ID Handle Pending State ---------------------------------*/\r\n\r\n builder.addCase(getFormDataById.pending, (state) => {\r\n state.isLoading = true;\r\n state.isError = false;\r\n state.error = '';\r\n state.formData = [];\r\n });\r\n\r\n /*--------------------------------GET BY ID Handle fullfiled State ---------------------------------*/\r\n builder.addCase(getFormDataById.fulfilled, (state, action: any) => {\r\n state.isLoading = false;\r\n state.isError = false;\r\n state.formData = action?.payload?.data?.form?.fields;\r\n state.error = \"\";\r\n });\r\n\r\n /*--------------------------------GET BY ID Handle Rejected State ---------------------------------*/\r\n builder.addCase(getFormDataById.rejected, (state, action) => {\r\n state.isLoading = false;\r\n state.isError = true;\r\n state.error = action.error.message || \"\";\r\n });\r\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\r\n\r\n builder.addCase(patchFormDataById.pending, (state) => {\r\n // state.isLoading = true;\r\n // state.isError = false;\r\n // state.isSuccess = false;\r\n // state.error = \"\";\r\n });\r\n\r\n /*--------------------------------Patch Handle fullfiled State ---------------------------------*/\r\n builder.addCase(patchFormDataById.fulfilled, (state) => {\r\n state.isLoading = false;\r\n state.isError = false;\r\n // state.formData = [];\r\n state.error = \"\";\r\n state.isSuccess = true;\r\n });\r\n\r\n /*--------------------------------Patch Handle Rejected State ---------------------------------*/\r\n builder.addCase(patchFormDataById.rejected, (state, action) => {\r\n const error: string = isJsonParse(action.error?.message)?.message || action.error.message || \"Something went wrong\";\r\n state.isLoading = false;\r\n state.isError = true;\r\n state.error = error;\r\n state.isSuccess = false;\r\n });\r\n\r\n\r\n\r\n\r\n /*--------------------------------Get Fields By Form ID handle pending state ---------------------------------*/\r\n builder.addCase(getFieldsByFormId.pending, (state) => {\r\n state.isLoading = true;\r\n });\r\n /*--------------------------------Get Fields By Form ID handle fullfilled state ---------------------------------*/\r\n builder.addCase(getFieldsByFormId.fulfilled, (state, action) => {\r\n const incomingFields = action.payload;\r\n if (incomingFields.length) {\r\n let fields = {};\r\n incomingFields.forEach((field: any) => {\r\n for (const key in field) {\r\n fields = {\r\n ...fields,\r\n [key]: field[key],\r\n };\r\n }\r\n });\r\n state.fields = fields;\r\n state.isLoading = false;\r\n }\r\n });\r\n /*--------------------------------Get Fields By Form ID handle rejected state ---------------------------------*/\r\n builder.addCase(getFieldsByFormId.rejected, (state, action) => {\r\n const message = `Fields API: ${isJsonParse(action.error.message as string)?.message ||\r\n action.error.message\r\n }`;\r\n state.isLoading = false;\r\n state.isError = true;\r\n state.error = message;\r\n });\r\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\r\n },\r\n});\r\n\r\nexport const { setFormData, setPaginationModel } = formBuilderListSlice.actions;\r\n\r\nexport default formBuilderListSlice.reducer;\r\n"],"names":["initialState","state"],"mappings":";;;AASA,MAAM,cAAc,CAAC,SAAiB;AACpC,MAAI;AACF,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAEO,MAAM,uBAAuB,YAAY;AAAA,EAC9C,MAAM;AAAA,EAAA,cACNA;AAAAA,EACA,UAAU;AAAA,IACR,aAAa,CAACC,QAAO,WAAW;AAC9B,MAAAA,OAAM,WAAW,OAAO;AAAA,IAC1B;AAAA,IACA,mBAAmBA,QAAO,QAAQ;AAChC,MAAAA,OAAM,kBAAkB,EAAE,GAAGA,OAAM,iBAAiB,GAAG,OAAO,QAAA;AAAA,IAChE;AAAA,EAAA;AAAA,EAEF,eAAe,CAAC,YAAY;AAO1B,YAAQ,QAAQ,gBAAgB,SAAS,CAACA,WAAU;AAClD,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,WAAW,CAAA;AAAA,IACnB,CAAC;AAGD,YAAQ,QAAQ,gBAAgB,WAAW,CAACA,QAAO,WAAgB;;AACjE,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,YAAW,kDAAQ,YAAR,mBAAiB,SAAjB,mBAAuB,SAAvB,mBAA6B;AAC9C,MAAAA,OAAM,QAAQ;AAAA,IAChB,CAAC;AAGD,YAAQ,QAAQ,gBAAgB,UAAU,CAACA,QAAO,WAAW;AAC3D,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ,OAAO,MAAM,WAAW;AAAA,IACxC,CAAC;AAGD,YAAQ,QAAQ,kBAAkB,SAAS,CAACA,WAAU;AAAA,IAKtD,CAAC;AAGD,YAAQ,QAAQ,kBAAkB,WAAW,CAACA,WAAU;AACtD,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAEhB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,YAAY;AAAA,IACpB,CAAC;AAGD,YAAQ,QAAQ,kBAAkB,UAAU,CAACA,QAAO,WAAW;;AAC7D,YAAM,UAAgB,kBAAY,YAAO,UAAP,mBAAc,OAAO,MAAjC,mBAAoC,YAAW,OAAO,MAAM,WAAW;AAC7F,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,YAAY;AAAA,IACpB,CAAC;AAMD,YAAQ,QAAQ,kBAAkB,SAAS,CAACA,WAAU;AACpD,MAAAA,OAAM,YAAY;AAAA,IACpB,CAAC;AAED,YAAQ,QAAQ,kBAAkB,WAAW,CAACA,QAAO,WAAW;AAC9D,YAAM,iBAAiB,OAAO;AAC9B,UAAI,eAAe,QAAQ;AACzB,YAAI,SAAS,CAAA;AACb,uBAAe,QAAQ,CAAC,UAAe;AACrC,qBAAW,OAAO,OAAO;AACvB,qBAAS;AAAA,cACP,GAAG;AAAA,cACH,CAAC,GAAG,GAAG,MAAM,GAAG;AAAA,YAAA;AAAA,UAEpB;AAAA,QACF,CAAC;AACD,QAAAA,OAAM,SAAS;AACf,QAAAA,OAAM,YAAY;AAAA,MACpB;AAAA,IACF,CAAC;AAED,YAAQ,QAAQ,kBAAkB,UAAU,CAACA,QAAO,WAAW;;AAC7D,YAAM,UAAU,iBAAe,iBAAY,OAAO,MAAM,OAAiB,MAA1C,mBAA6C,YAC1E,OAAO,MAAM,OACb;AACF,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AAAA,IAChB,CAAC;AAAA,EAEH;AACF,CAAC;AAEM,MAAM,EAAE,YAAgC,IAAI,qBAAqB;AAExE,IAAA,UAAe,qBAAqB;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/redux/reducer.ts"],"sourcesContent":["import { createSlice } from '@reduxjs/toolkit';\nimport {\n getFieldsByFormId,\n getFormDataById,\n patchFormDataById,\n\n} from \"./actionCreator\";\nimport initialState from \"./state\";\n\nconst isJsonParse = (json: string) => {\n try {\n return JSON.parse(json);\n } catch (error) {\n return false;\n }\n};\n\nexport const formBuilderListSlice = createSlice({\n name: \"formBuilder/getAllFormData\",\n initialState,\n reducers: {\n setFormData: (state, action) => {\n state.formData = action.payload\n },\n setPaginationModel(state, action) {\n state.paginationModel = { ...state.paginationModel, ...action.payload };\n },\n },\n extraReducers: (builder) => {\n /*--------------------------------GET Handle Pending State ---------------------------------*/\n\n\n\n /*--------------------------------GET BY ID Handle Pending State ---------------------------------*/\n\n builder.addCase(getFormDataById.pending, (state) => {\n state.isLoading = true;\n state.isError = false;\n state.error = '';\n state.formData = [];\n });\n\n /*--------------------------------GET BY ID Handle fullfiled State ---------------------------------*/\n builder.addCase(getFormDataById.fulfilled, (state, action: any) => {\n state.isLoading = false;\n state.isError = false;\n state.formData = action?.payload?.data?.form?.fields;\n state.error = \"\";\n });\n\n /*--------------------------------GET BY ID Handle Rejected State ---------------------------------*/\n builder.addCase(getFormDataById.rejected, (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.error = action.error.message || \"\";\n });\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\n\n builder.addCase(patchFormDataById.pending, (state) => {\n // state.isLoading = true;\n // state.isError = false;\n // state.isSuccess = false;\n // state.error = \"\";\n });\n\n /*--------------------------------Patch Handle fullfiled State ---------------------------------*/\n builder.addCase(patchFormDataById.fulfilled, (state) => {\n state.isLoading = false;\n state.isError = false;\n // state.formData = [];\n state.error = \"\";\n state.isSuccess = true;\n });\n\n /*--------------------------------Patch Handle Rejected State ---------------------------------*/\n builder.addCase(patchFormDataById.rejected, (state, action) => {\n const error: string = isJsonParse(action.error?.message)?.message || action.error.message || \"Something went wrong\";\n state.isLoading = false;\n state.isError = true;\n state.error = error;\n state.isSuccess = false;\n });\n\n\n\n\n /*--------------------------------Get Fields By Form ID handle pending state ---------------------------------*/\n builder.addCase(getFieldsByFormId.pending, (state) => {\n state.isLoading = true;\n });\n /*--------------------------------Get Fields By Form ID handle fullfilled state ---------------------------------*/\n builder.addCase(getFieldsByFormId.fulfilled, (state, action) => {\n const incomingFields = action.payload;\n if (incomingFields.length) {\n let fields = {};\n incomingFields.forEach((field: any) => {\n for (const key in field) {\n fields = {\n ...fields,\n [key]: field[key],\n };\n }\n });\n state.fields = fields;\n state.isLoading = false;\n }\n });\n /*--------------------------------Get Fields By Form ID handle rejected state ---------------------------------*/\n builder.addCase(getFieldsByFormId.rejected, (state, action) => {\n const message = `Fields API: ${isJsonParse(action.error.message as string)?.message ||\n action.error.message\n }`;\n state.isLoading = false;\n state.isError = true;\n state.error = message;\n });\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\n },\n});\n\nexport const { setFormData, setPaginationModel } = formBuilderListSlice.actions;\n\nexport default formBuilderListSlice.reducer;\n"],"names":["initialState","state"],"mappings":";;;AASA,MAAM,cAAc,CAAC,SAAiB;AACpC,MAAI;AACF,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAEO,MAAM,uBAAuB,YAAY;AAAA,EAC9C,MAAM;AAAA,EAAA,cACNA;AAAAA,EACA,UAAU;AAAA,IACR,aAAa,CAACC,QAAO,WAAW;AAC9B,MAAAA,OAAM,WAAW,OAAO;AAAA,IAC1B;AAAA,IACA,mBAAmBA,QAAO,QAAQ;AAChC,MAAAA,OAAM,kBAAkB,EAAE,GAAGA,OAAM,iBAAiB,GAAG,OAAO,QAAA;AAAA,IAChE;AAAA,EAAA;AAAA,EAEF,eAAe,CAAC,YAAY;AAO1B,YAAQ,QAAQ,gBAAgB,SAAS,CAACA,WAAU;AAClD,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,WAAW,CAAA;AAAA,IACnB,CAAC;AAGD,YAAQ,QAAQ,gBAAgB,WAAW,CAACA,QAAO,WAAgB;;AACjE,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,YAAW,kDAAQ,YAAR,mBAAiB,SAAjB,mBAAuB,SAAvB,mBAA6B;AAC9C,MAAAA,OAAM,QAAQ;AAAA,IAChB,CAAC;AAGD,YAAQ,QAAQ,gBAAgB,UAAU,CAACA,QAAO,WAAW;AAC3D,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ,OAAO,MAAM,WAAW;AAAA,IACxC,CAAC;AAGD,YAAQ,QAAQ,kBAAkB,SAAS,CAACA,WAAU;AAAA,IAKtD,CAAC;AAGD,YAAQ,QAAQ,kBAAkB,WAAW,CAACA,WAAU;AACtD,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAEhB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,YAAY;AAAA,IACpB,CAAC;AAGD,YAAQ,QAAQ,kBAAkB,UAAU,CAACA,QAAO,WAAW;;AAC7D,YAAM,UAAgB,kBAAY,YAAO,UAAP,mBAAc,OAAO,MAAjC,mBAAoC,YAAW,OAAO,MAAM,WAAW;AAC7F,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AACd,MAAAA,OAAM,YAAY;AAAA,IACpB,CAAC;AAMD,YAAQ,QAAQ,kBAAkB,SAAS,CAACA,WAAU;AACpD,MAAAA,OAAM,YAAY;AAAA,IACpB,CAAC;AAED,YAAQ,QAAQ,kBAAkB,WAAW,CAACA,QAAO,WAAW;AAC9D,YAAM,iBAAiB,OAAO;AAC9B,UAAI,eAAe,QAAQ;AACzB,YAAI,SAAS,CAAA;AACb,uBAAe,QAAQ,CAAC,UAAe;AACrC,qBAAW,OAAO,OAAO;AACvB,qBAAS;AAAA,cACP,GAAG;AAAA,cACH,CAAC,GAAG,GAAG,MAAM,GAAG;AAAA,YAAA;AAAA,UAEpB;AAAA,QACF,CAAC;AACD,QAAAA,OAAM,SAAS;AACf,QAAAA,OAAM,YAAY;AAAA,MACpB;AAAA,IACF,CAAC;AAED,YAAQ,QAAQ,kBAAkB,UAAU,CAACA,QAAO,WAAW;;AAC7D,YAAM,UAAU,iBAAe,iBAAY,OAAO,MAAM,OAAiB,MAA1C,mBAA6C,YAC1E,OAAO,MAAM,OACb;AACF,MAAAA,OAAM,YAAY;AAClB,MAAAA,OAAM,UAAU;AAChB,MAAAA,OAAM,QAAQ;AAAA,IAChB,CAAC;AAAA,EAEH;AACF,CAAC;AAEM,MAAM,EAAE,YAAgC,IAAI,qBAAqB;AAExE,IAAA,UAAe,qBAAqB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/redux/reducer.ts"],"sourcesContent":["import { createSlice } from '@reduxjs/toolkit';\r\nimport {\r\n getFieldsByFormId,\r\n getFormDataById,\r\n patchFormDataById,\r\n\r\n} from \"./actionCreator\";\r\nimport initialState from \"./state\";\r\n\r\nconst isJsonParse = (json: string) => {\r\n try {\r\n return JSON.parse(json);\r\n } catch (error) {\r\n return false;\r\n }\r\n};\r\n\r\nexport const formBuilderListSlice = createSlice({\r\n name: \"formBuilder/getAllFormData\",\r\n initialState,\r\n reducers: {\r\n setFormData: (state, action) => {\r\n state.formData = action.payload\r\n },\r\n setPaginationModel(state, action) {\r\n state.paginationModel = { ...state.paginationModel, ...action.payload };\r\n },\r\n },\r\n extraReducers: (builder) => {\r\n /*--------------------------------GET Handle Pending State ---------------------------------*/\r\n\r\n\r\n\r\n /*--------------------------------GET BY ID Handle Pending State ---------------------------------*/\r\n\r\n builder.addCase(getFormDataById.pending, (state) => {\r\n state.isLoading = true;\r\n state.isError = false;\r\n state.error = '';\r\n state.formData = [];\r\n });\r\n\r\n /*--------------------------------GET BY ID Handle fullfiled State ---------------------------------*/\r\n builder.addCase(getFormDataById.fulfilled, (state, action: any) => {\r\n state.isLoading = false;\r\n state.isError = false;\r\n state.formData = action?.payload?.data?.form?.fields;\r\n state.error = \"\";\r\n });\r\n\r\n /*--------------------------------GET BY ID Handle Rejected State ---------------------------------*/\r\n builder.addCase(getFormDataById.rejected, (state, action) => {\r\n state.isLoading = false;\r\n state.isError = true;\r\n state.error = action.error.message || \"\";\r\n });\r\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\r\n\r\n builder.addCase(patchFormDataById.pending, (state) => {\r\n // state.isLoading = true;\r\n // state.isError = false;\r\n // state.isSuccess = false;\r\n // state.error = \"\";\r\n });\r\n\r\n /*--------------------------------Patch Handle fullfiled State ---------------------------------*/\r\n builder.addCase(patchFormDataById.fulfilled, (state) => {\r\n state.isLoading = false;\r\n state.isError = false;\r\n // state.formData = [];\r\n state.error = \"\";\r\n state.isSuccess = true;\r\n });\r\n\r\n /*--------------------------------Patch Handle Rejected State ---------------------------------*/\r\n builder.addCase(patchFormDataById.rejected, (state, action) => {\r\n const error: string = isJsonParse(action.error?.message)?.message || action.error.message || \"Something went wrong\";\r\n state.isLoading = false;\r\n state.isError = true;\r\n state.error = error;\r\n state.isSuccess = false;\r\n });\r\n\r\n\r\n\r\n\r\n /*--------------------------------Get Fields By Form ID handle pending state ---------------------------------*/\r\n builder.addCase(getFieldsByFormId.pending, (state) => {\r\n state.isLoading = true;\r\n });\r\n /*--------------------------------Get Fields By Form ID handle fullfilled state ---------------------------------*/\r\n builder.addCase(getFieldsByFormId.fulfilled, (state, action) => {\r\n const incomingFields = action.payload;\r\n if (incomingFields.length) {\r\n let fields = {};\r\n incomingFields.forEach((field: any) => {\r\n for (const key in field) {\r\n fields = {\r\n ...fields,\r\n [key]: field[key],\r\n };\r\n }\r\n });\r\n state.fields = fields;\r\n state.isLoading = false;\r\n }\r\n });\r\n /*--------------------------------Get Fields By Form ID handle rejected state ---------------------------------*/\r\n builder.addCase(getFieldsByFormId.rejected, (state, action) => {\r\n const message = `Fields API: ${isJsonParse(action.error.message as string)?.message ||\r\n action.error.message\r\n }`;\r\n state.isLoading = false;\r\n state.isError = true;\r\n state.error = message;\r\n });\r\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\r\n },\r\n});\r\n\r\nexport const { setFormData, setPaginationModel } = formBuilderListSlice.actions;\r\n\r\nexport default formBuilderListSlice.reducer;\r\n"],"names":["isJsonParse","json","JSON","parse","error","formBuilderListSlice","createSlice","name","initialState","reducers","setFormData","state","action","formData","payload","setPaginationModel","paginationModel","extraReducers","builder","addCase","getFormDataById","pending","isLoading","isError","fulfilled","_c","_b","_a","data","form","fields","rejected","message","patchFormDataById","isSuccess","getFieldsByFormId","incomingFields","length","forEach","field","key","actions","reducer"],"mappings":"4KASA,MAAMA,EAAeC,IACnB,IACE,OAAOC,KAAKC,MAAMF,EACpB,OAASG,GACP,OAAO,CACT,GAGWC,EAAuBC,EAAAA,YAAY,CAC9CC,KAAM,6BAAAC,aACNA,EAAAA,MACAC,SAAU,CACRC,YAAa,CAACC,EAAOC,KACnBD,EAAME,SAAWD,EAAOE,SAE1B,kBAAAC,CAAmBJ,EAAOC,GACxBD,EAAMK,gBAAkB,IAAKL,EAAMK,mBAAoBJ,EAAOE,QAChE,GAEFG,cAAgBC,IAOdA,EAAQC,QAAQC,EAAAA,gBAAgBC,QAAUV,IACxCA,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAMP,MAAQ,GACdO,EAAME,SAAW,KAInBK,EAAQC,QAAQC,EAAAA,gBAAgBI,UAAW,CAACb,EAAOC,eACjDD,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAME,SAAW,OAAAY,EAAA,OAAAC,EAAA,OAAAC,EAAA,MAAAf,OAAA,EAAAA,EAAQE,kBAASc,WAAjB,EAAAF,EAAuBG,WAAvB,EAAAJ,EAA6BK,OAC9CnB,EAAMP,MAAQ,KAIhBc,EAAQC,QAAQC,EAAAA,gBAAgBW,SAAU,CAACpB,EAAOC,KAChDD,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAMP,MAAQQ,EAAOR,MAAM4B,SAAW,KAIxCd,EAAQC,QAAQc,EAAAA,kBAAkBZ,QAAUV,OAQ5CO,EAAQC,QAAQc,EAAAA,kBAAkBT,UAAYb,IAC5CA,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAEhBZ,EAAMP,MAAQ,GACdO,EAAMuB,WAAY,IAIpBhB,EAAQC,QAAQc,EAAAA,kBAAkBF,SAAU,CAACpB,EAAOC,aAClD,MAAMR,GAAgB,OAAAsB,EAAA1B,EAAY,OAAA2B,EAAAf,EAAOR,YAAP,EAAAuB,EAAcK,eAA1B,EAAAN,EAAoCM,UAAWpB,EAAOR,MAAM4B,SAAW,uBAC7FrB,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAMP,MAAQA,EACdO,EAAMuB,WAAY,IAOpBhB,EAAQC,QAAQgB,EAAAA,kBAAkBd,QAAUV,IAC1CA,EAAMW,WAAY,IAGpBJ,EAAQC,QAAQgB,EAAAA,kBAAkBX,UAAW,CAACb,EAAOC,KACnD,MAAMwB,EAAiBxB,EAAOE,QAC9B,GAAIsB,EAAeC,OAAQ,CACzB,IAAIP,EAAS,CAAA,EACbM,EAAeE,QAASC,IACtB,IAAA,MAAWC,KAAOD,EAChBT,EAAS,IACJA,EACHU,CAACA,GAAMD,EAAMC,MAInB7B,EAAMmB,OAASA,EACfnB,EAAMW,WAAY,CACpB,IAGFJ,EAAQC,QAAQgB,EAAAA,kBAAkBJ,SAAU,CAACpB,EAAOC,WAClD,MAAMoB,EAAU,gBAAe,OAAAL,EAAA3B,EAAYY,EAAOR,MAAM4B,eAAzB,EAAAL,EAA6CK,UAC1EpB,EAAOR,MAAM4B,UAEfrB,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAMP,MAAQ4B,QAMPtB,YAAEA,GAAoCL,EAAqBoC,QAExE,IAAAC,EAAerC,EAAqBqC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/redux/reducer.ts"],"sourcesContent":["import { createSlice } from '@reduxjs/toolkit';\nimport {\n getFieldsByFormId,\n getFormDataById,\n patchFormDataById,\n\n} from \"./actionCreator\";\nimport initialState from \"./state\";\n\nconst isJsonParse = (json: string) => {\n try {\n return JSON.parse(json);\n } catch (error) {\n return false;\n }\n};\n\nexport const formBuilderListSlice = createSlice({\n name: \"formBuilder/getAllFormData\",\n initialState,\n reducers: {\n setFormData: (state, action) => {\n state.formData = action.payload\n },\n setPaginationModel(state, action) {\n state.paginationModel = { ...state.paginationModel, ...action.payload };\n },\n },\n extraReducers: (builder) => {\n /*--------------------------------GET Handle Pending State ---------------------------------*/\n\n\n\n /*--------------------------------GET BY ID Handle Pending State ---------------------------------*/\n\n builder.addCase(getFormDataById.pending, (state) => {\n state.isLoading = true;\n state.isError = false;\n state.error = '';\n state.formData = [];\n });\n\n /*--------------------------------GET BY ID Handle fullfiled State ---------------------------------*/\n builder.addCase(getFormDataById.fulfilled, (state, action: any) => {\n state.isLoading = false;\n state.isError = false;\n state.formData = action?.payload?.data?.form?.fields;\n state.error = \"\";\n });\n\n /*--------------------------------GET BY ID Handle Rejected State ---------------------------------*/\n builder.addCase(getFormDataById.rejected, (state, action) => {\n state.isLoading = false;\n state.isError = true;\n state.error = action.error.message || \"\";\n });\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\n\n builder.addCase(patchFormDataById.pending, (state) => {\n // state.isLoading = true;\n // state.isError = false;\n // state.isSuccess = false;\n // state.error = \"\";\n });\n\n /*--------------------------------Patch Handle fullfiled State ---------------------------------*/\n builder.addCase(patchFormDataById.fulfilled, (state) => {\n state.isLoading = false;\n state.isError = false;\n // state.formData = [];\n state.error = \"\";\n state.isSuccess = true;\n });\n\n /*--------------------------------Patch Handle Rejected State ---------------------------------*/\n builder.addCase(patchFormDataById.rejected, (state, action) => {\n const error: string = isJsonParse(action.error?.message)?.message || action.error.message || \"Something went wrong\";\n state.isLoading = false;\n state.isError = true;\n state.error = error;\n state.isSuccess = false;\n });\n\n\n\n\n /*--------------------------------Get Fields By Form ID handle pending state ---------------------------------*/\n builder.addCase(getFieldsByFormId.pending, (state) => {\n state.isLoading = true;\n });\n /*--------------------------------Get Fields By Form ID handle fullfilled state ---------------------------------*/\n builder.addCase(getFieldsByFormId.fulfilled, (state, action) => {\n const incomingFields = action.payload;\n if (incomingFields.length) {\n let fields = {};\n incomingFields.forEach((field: any) => {\n for (const key in field) {\n fields = {\n ...fields,\n [key]: field[key],\n };\n }\n });\n state.fields = fields;\n state.isLoading = false;\n }\n });\n /*--------------------------------Get Fields By Form ID handle rejected state ---------------------------------*/\n builder.addCase(getFieldsByFormId.rejected, (state, action) => {\n const message = `Fields API: ${isJsonParse(action.error.message as string)?.message ||\n action.error.message\n }`;\n state.isLoading = false;\n state.isError = true;\n state.error = message;\n });\n /*--------------------------------Patch Handle Pending State ---------------------------------*/\n },\n});\n\nexport const { setFormData, setPaginationModel } = formBuilderListSlice.actions;\n\nexport default formBuilderListSlice.reducer;\n"],"names":["isJsonParse","json","JSON","parse","error","formBuilderListSlice","createSlice","name","initialState","reducers","setFormData","state","action","formData","payload","setPaginationModel","paginationModel","extraReducers","builder","addCase","getFormDataById","pending","isLoading","isError","fulfilled","_c","_b","_a","data","form","fields","rejected","message","patchFormDataById","isSuccess","getFieldsByFormId","incomingFields","length","forEach","field","key","actions","reducer"],"mappings":"4KASA,MAAMA,EAAeC,IACnB,IACE,OAAOC,KAAKC,MAAMF,EACpB,OAASG,GACP,OAAO,CACT,GAGWC,EAAuBC,EAAAA,YAAY,CAC9CC,KAAM,6BAAAC,aACNA,EAAAA,MACAC,SAAU,CACRC,YAAa,CAACC,EAAOC,KACnBD,EAAME,SAAWD,EAAOE,SAE1B,kBAAAC,CAAmBJ,EAAOC,GACxBD,EAAMK,gBAAkB,IAAKL,EAAMK,mBAAoBJ,EAAOE,QAChE,GAEFG,cAAgBC,IAOdA,EAAQC,QAAQC,EAAAA,gBAAgBC,QAAUV,IACxCA,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAMP,MAAQ,GACdO,EAAME,SAAW,KAInBK,EAAQC,QAAQC,EAAAA,gBAAgBI,UAAW,CAACb,EAAOC,eACjDD,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAME,SAAW,OAAAY,EAAA,OAAAC,EAAA,OAAAC,EAAA,MAAAf,OAAA,EAAAA,EAAQE,kBAASc,WAAjB,EAAAF,EAAuBG,WAAvB,EAAAJ,EAA6BK,OAC9CnB,EAAMP,MAAQ,KAIhBc,EAAQC,QAAQC,EAAAA,gBAAgBW,SAAU,CAACpB,EAAOC,KAChDD,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAMP,MAAQQ,EAAOR,MAAM4B,SAAW,KAIxCd,EAAQC,QAAQc,EAAAA,kBAAkBZ,QAAUV,OAQ5CO,EAAQC,QAAQc,EAAAA,kBAAkBT,UAAYb,IAC5CA,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAEhBZ,EAAMP,MAAQ,GACdO,EAAMuB,WAAY,IAIpBhB,EAAQC,QAAQc,EAAAA,kBAAkBF,SAAU,CAACpB,EAAOC,aAClD,MAAMR,GAAgB,OAAAsB,EAAA1B,EAAY,OAAA2B,EAAAf,EAAOR,YAAP,EAAAuB,EAAcK,eAA1B,EAAAN,EAAoCM,UAAWpB,EAAOR,MAAM4B,SAAW,uBAC7FrB,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAMP,MAAQA,EACdO,EAAMuB,WAAY,IAOpBhB,EAAQC,QAAQgB,EAAAA,kBAAkBd,QAAUV,IAC1CA,EAAMW,WAAY,IAGpBJ,EAAQC,QAAQgB,EAAAA,kBAAkBX,UAAW,CAACb,EAAOC,KACnD,MAAMwB,EAAiBxB,EAAOE,QAC9B,GAAIsB,EAAeC,OAAQ,CACzB,IAAIP,EAAS,CAAA,EACbM,EAAeE,QAASC,IACtB,IAAA,MAAWC,KAAOD,EAChBT,EAAS,IACJA,EACHU,CAACA,GAAMD,EAAMC,MAInB7B,EAAMmB,OAASA,EACfnB,EAAMW,WAAY,CACpB,IAGFJ,EAAQC,QAAQgB,EAAAA,kBAAkBJ,SAAU,CAACpB,EAAOC,WAClD,MAAMoB,EAAU,gBAAe,OAAAL,EAAA3B,EAAYY,EAAOR,MAAM4B,eAAzB,EAAAL,EAA6CK,UAC1EpB,EAAOR,MAAM4B,UAEfrB,EAAMW,WAAY,EAClBX,EAAMY,SAAU,EAChBZ,EAAMP,MAAQ4B,QAMPtB,YAAEA,GAAoCL,EAAqBoC,QAExE,IAAAC,EAAerC,EAAqBqC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/redux/state.ts"],"sourcesContent":["export interface ApiFormFields {\r\n [module: string]: {\r\n field: string;\r\n type: string;\r\n }[];\r\n}\r\n\r\nexport interface Pagination {\r\n\tpageNo: number;\r\n\tlimit: number;\r\n\ttotalCount: number;\r\n}\r\n\r\ninterface IState {\r\n rows: any[];\r\n workflowTemplate: any[];\r\n workflow: any[];\r\n isLoading: boolean;\r\n isError: boolean;\r\n count: number;\r\n error: string;\r\n formData: any[];\r\n fields: ApiFormFields | null;\r\n isSuccess: boolean;\r\n workflowAutomationId: {};\r\n paginationModel: Pagination;\r\n}\r\n\r\nexport const state: IState = {\r\n rows: [],\r\n workflowTemplate: [],\r\n workflow: [],\r\n isLoading: false,\r\n isError: false,\r\n count: 0,\r\n error: \"\",\r\n formData: [],\r\n fields: null,\r\n isSuccess: false,\r\n workflowAutomationId: {},\r\n paginationModel:{\r\n pageNo:1,\r\n limit:10,\r\n totalCount: 0\r\n }\r\n};\r\nexport default state;\r\n"],"names":[],"mappings":"AA4BO,MAAM,QAAgB;AAAA,EAC3B,MAAM,CAAA;AAAA,EACN,kBAAkB,CAAA;AAAA,EAClB,UAAU,CAAA;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU,CAAA;AAAA,EACV,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,sBAAsB,CAAA;AAAA,EACtB,iBAAgB;AAAA,IACd,QAAO;AAAA,IACP,OAAM;AAAA,IACN,YAAY;AAAA,EAAA;AAEhB;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/redux/state.ts"],"sourcesContent":["export interface ApiFormFields {\n [module: string]: {\n field: string;\n type: string;\n }[];\n}\n\nexport interface Pagination {\n\tpageNo: number;\n\tlimit: number;\n\ttotalCount: number;\n}\n\ninterface IState {\n rows: any[];\n workflowTemplate: any[];\n workflow: any[];\n isLoading: boolean;\n isError: boolean;\n count: number;\n error: string;\n formData: any[];\n fields: ApiFormFields | null;\n isSuccess: boolean;\n workflowAutomationId: {};\n paginationModel: Pagination;\n}\n\nexport const state: IState = {\n rows: [],\n workflowTemplate: [],\n workflow: [],\n isLoading: false,\n isError: false,\n count: 0,\n error: \"\",\n formData: [],\n fields: null,\n isSuccess: false,\n workflowAutomationId: {},\n paginationModel:{\n pageNo:1,\n limit:10,\n totalCount: 0\n }\n};\nexport default state;\n"],"names":[],"mappings":"AA4BO,MAAM,QAAgB;AAAA,EAC3B,MAAM,CAAA;AAAA,EACN,kBAAkB,CAAA;AAAA,EAClB,UAAU,CAAA;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU,CAAA;AAAA,EACV,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,sBAAsB,CAAA;AAAA,EACtB,iBAAgB;AAAA,IACd,QAAO;AAAA,IACP,OAAM;AAAA,IACN,YAAY;AAAA,EAAA;AAEhB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/redux/state.ts"],"sourcesContent":["export interface ApiFormFields {\r\n [module: string]: {\r\n field: string;\r\n type: string;\r\n }[];\r\n}\r\n\r\nexport interface Pagination {\r\n\tpageNo: number;\r\n\tlimit: number;\r\n\ttotalCount: number;\r\n}\r\n\r\ninterface IState {\r\n rows: any[];\r\n workflowTemplate: any[];\r\n workflow: any[];\r\n isLoading: boolean;\r\n isError: boolean;\r\n count: number;\r\n error: string;\r\n formData: any[];\r\n fields: ApiFormFields | null;\r\n isSuccess: boolean;\r\n workflowAutomationId: {};\r\n paginationModel: Pagination;\r\n}\r\n\r\nexport const state: IState = {\r\n rows: [],\r\n workflowTemplate: [],\r\n workflow: [],\r\n isLoading: false,\r\n isError: false,\r\n count: 0,\r\n error: \"\",\r\n formData: [],\r\n fields: null,\r\n isSuccess: false,\r\n workflowAutomationId: {},\r\n paginationModel:{\r\n pageNo:1,\r\n limit:10,\r\n totalCount: 0\r\n }\r\n};\r\nexport default state;\r\n"],"names":["state","rows","workflowTemplate","workflow","isLoading","isError","count","error","formData","fields","isSuccess","workflowAutomationId","paginationModel","pageNo","limit","totalCount"],"mappings":"oEA4BO,MAAMA,EAAgB,CAC3BC,KAAM,GACNC,iBAAkB,GAClBC,SAAU,GACVC,WAAW,EACXC,SAAS,EACTC,MAAO,EACPC,MAAO,GACPC,SAAU,GACVC,OAAQ,KACRC,WAAW,EACXC,qBAAsB,CAAA,EACtBC,gBAAgB,CACdC,OAAO,EACPC,MAAM,GACNC,WAAY"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/redux/state.ts"],"sourcesContent":["export interface ApiFormFields {\n [module: string]: {\n field: string;\n type: string;\n }[];\n}\n\nexport interface Pagination {\n\tpageNo: number;\n\tlimit: number;\n\ttotalCount: number;\n}\n\ninterface IState {\n rows: any[];\n workflowTemplate: any[];\n workflow: any[];\n isLoading: boolean;\n isError: boolean;\n count: number;\n error: string;\n formData: any[];\n fields: ApiFormFields | null;\n isSuccess: boolean;\n workflowAutomationId: {};\n paginationModel: Pagination;\n}\n\nexport const state: IState = {\n rows: [],\n workflowTemplate: [],\n workflow: [],\n isLoading: false,\n isError: false,\n count: 0,\n error: \"\",\n formData: [],\n fields: null,\n isSuccess: false,\n workflowAutomationId: {},\n paginationModel:{\n pageNo:1,\n limit:10,\n totalCount: 0\n }\n};\nexport default state;\n"],"names":["state","rows","workflowTemplate","workflow","isLoading","isError","count","error","formData","fields","isSuccess","workflowAutomationId","paginationModel","pageNo","limit","totalCount"],"mappings":"oEA4BO,MAAMA,EAAgB,CAC3BC,KAAM,GACNC,iBAAkB,GAClBC,SAAU,GACVC,WAAW,EACXC,SAAS,EACTC,MAAO,EACPC,MAAO,GACPC,SAAU,GACVC,OAAQ,KACRC,WAAW,EACXC,qBAAsB,CAAA,EACtBC,gBAAgB,CACdC,OAAO,EACPC,MAAM,GACNC,WAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/utils/common.ts"],"sourcesContent":["// React imports\r\nimport { useEffect } from \"react\";\r\n\r\n// ERP Common imports\r\nimport formBuilderDeConversion from \"@/utils/form-builder-deconversion\";\r\n\r\n// Module pathname imports\r\nimport { PathnameAccounting } from \"../../../constants/pathnames/pathname.accounting\";\r\nimport { PathnameCrm } from \"../../../constants/pathnames/pathname.crm\";\r\nimport { PathnameInventory } from \"../../../constants/pathnames/pathname.inventory\";\r\nimport { PathnameManufacturing } from \"../../../constants/pathnames/pathname.manufacturing\";\r\nimport { PathnamePurchase } from \"../../../constants/pathnames/pathname.procurement\";\r\nimport { PathnameRental } from \"../../../constants/pathnames/pathname.rental\";\r\nimport { PathnameUsers } from \"../../../constants/pathnames/pathname.user\";\r\n\r\n// Types for better type safety\r\nexport interface TableColumn {\r\n header: string;\r\n accessorKey: string;\r\n visible: boolean;\r\n}\r\n\r\nexport interface FormMember {\r\n field_type: string;\r\n table?: string;\r\n table_columns?: TableColumn[];\r\n [key: string]: any;\r\n}\r\n\r\nexport interface FormSection {\r\n field_type: string;\r\n label: string;\r\n is_accordion: boolean;\r\n id: string;\r\n remove_section: boolean;\r\n form_switcher_label?: string;\r\n form_switcher_name?: string;\r\n is_section_field?: boolean;\r\n section_type?: string;\r\n switcher_forms?: any;\r\n members: FormMember[];\r\n}\r\n\r\nexport interface TabData {\r\n tab_order: number;\r\n data: FormSection[];\r\n}\r\n\r\nexport interface ProcessedData {\r\n tab?: TabData[];\r\n section?: FormSection[];\r\n tabsData?: TabData[];\r\n}\r\n\r\n// Constants for module paths\r\nconst MODULE_PATHS = {\r\n accounting: PathnameAccounting.FORMS,\r\n inventory: PathnameInventory.FORMS,\r\n manufacturing: PathnameManufacturing.FORMS,\r\n procurement: PathnamePurchase.FORMS,\r\n crm: PathnameCrm.FORMS,\r\n rental: PathnameRental.FORMS,\r\n user: PathnameUsers.FORMS,\r\n} as const;\r\n\r\nexport type ModuleType = keyof typeof MODULE_PATHS;\r\n\r\n// Helper function to format text (converts snake_case to Title Case)\r\nexport const formatText = (text: string): string => {\r\n return text\r\n .split('_')\r\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\r\n .join(' ');\r\n};\r\n\r\n// Helper function to get redirection path\r\nconst getRedirectionPath = (currentModule: string): string => {\r\n if (!isValidModule(currentModule)) {\r\n throw new Error(`Invalid module: ${currentModule}`);\r\n }\r\n return MODULE_PATHS[currentModule as ModuleType];\r\n};\r\n\r\n// Type guard for module validation\r\nconst isValidModule = (module: string): module is ModuleType => {\r\n return module in MODULE_PATHS;\r\n};\r\n\r\n// Helper function to create default table columns\r\nexport const createDefaultTableColumns = (): TableColumn[] => [\r\n { header: \"Column 1\", accessorKey: \"column_1\", visible: true },\r\n { header: \"Column 2\", accessorKey: \"column_2\", visible: true },\r\n];\r\n\r\n// Helper function to process table columns\r\nexport const processTableColumns = (\r\n member: FormMember,\r\n formBuilder: any\r\n): TableColumn[] => {\r\n // Return existing columns if they exist\r\n if (member.table_columns?.length) {\r\n return member.table_columns;\r\n }\r\n\r\n // Check if table exists and has fields\r\n if (!member.table || !formBuilder.fields?.[member.table]) {\r\n return createDefaultTableColumns();\r\n }\r\n\r\n const fields = formBuilder.fields[member.table];\r\n if (!Array.isArray(fields) || fields.length === 0) {\r\n return createDefaultTableColumns();\r\n }\r\n\r\n return fields.map((field: any, index: number) => ({\r\n header: formatText(field.field),\r\n accessorKey: field.field,\r\n visible: index <= 3, // Show first 4 columns by default\r\n }));\r\n};\r\n\r\n// Helper function to process members\r\nexport const processMembers = (\r\n sections: FormSection[],\r\n formBuilder: any\r\n): FormMember[] => {\r\n return sections.flatMap((section) =>\r\n section.members.map((member) => {\r\n if (member.field_type === \"table\") {\r\n return {\r\n ...member,\r\n table_columns: processTableColumns(member, formBuilder),\r\n };\r\n }\r\n return { ...member };\r\n })\r\n );\r\n};\r\n\r\n// Helper function to extract sections data\r\nexport const extractSections = (sections: FormSection[]): Omit<FormSection, 'members'>[] => {\r\n return sections.map(({\r\n field_type,\r\n label,\r\n is_accordion,\r\n id,\r\n remove_section,\r\n form_switcher_label,\r\n form_switcher_name,\r\n is_section_field,\r\n section_type,\r\n switcher_forms,\r\n }) => ({\r\n field_type,\r\n label,\r\n is_accordion,\r\n id,\r\n remove_section,\r\n form_switcher_label,\r\n form_switcher_name,\r\n is_section_field,\r\n section_type,\r\n switcher_forms,\r\n }));\r\n};\r\n\r\n// Main processing function\r\nconst processData = (\r\n data: ProcessedData,\r\n activeTabId: number = 0,\r\n formBuilder: any,\r\n tabsData: TabData[] | null,\r\n // Callback functions\r\n callbacks: {\r\n removeSection: () => void;\r\n remove: () => void;\r\n setTabsData: (data: TabData[]) => void;\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n): void => {\r\n const { removeSection, remove, setTabsData, append, appendSection } = callbacks;\r\n\r\n try {\r\n // Clear existing data\r\n removeSection();\r\n remove();\r\n\r\n if (data.tab) {\r\n processTabData(data.tab, activeTabId, formBuilder, callbacks);\r\n } else if (data.section) {\r\n processSectionData(data.section, formBuilder, callbacks);\r\n } else if (data.tabsData && tabsData) {\r\n processExistingTabsData(tabsData, activeTabId, callbacks);\r\n } else {\r\n throw new Error(\"Invalid data format: Missing required properties (tab, section, or tabsData)\");\r\n }\r\n } catch (error) {\r\n console.error(\"Error processing data:\", error);\r\n // You might want to show a user-friendly error message instead of alert\r\n alert(error instanceof Error ? error.message : \"An error occurred while processing data\");\r\n }\r\n};\r\n\r\n// Process tab data\r\nconst processTabData = (\r\n tabs: TabData[],\r\n activeTabId: number,\r\n formBuilder: any,\r\n callbacks: {\r\n setTabsData: (data: TabData[]) => void;\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n): void => {\r\n const { setTabsData, append, appendSection } = callbacks;\r\n\r\n setTabsData(tabs);\r\n\r\n const activeTab = tabs.find(tab => tab.tab_order === activeTabId + 1);\r\n if (!activeTab?.data) {\r\n console.warn(`No active tab found for tab order: ${activeTabId + 1}`);\r\n return;\r\n }\r\n\r\n const sections = extractSections(activeTab.data);\r\n const members = processMembers(activeTab.data, formBuilder);\r\n\r\n append(members);\r\n appendSection(sections);\r\n};\r\n\r\n// Process section data\r\nconst processSectionData = (\r\n sections: FormSection[],\r\n formBuilder: any,\r\n callbacks: {\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n): void => {\r\n const { append, appendSection } = callbacks;\r\n\r\n const extractedSections = extractSections(sections);\r\n const members = processMembers(sections, formBuilder);\r\n\r\n append(members);\r\n appendSection(extractedSections);\r\n};\r\n\r\n// Process existing tabs data\r\nconst processExistingTabsData = (\r\n tabsData: TabData[],\r\n activeTabId: number,\r\n callbacks: {\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n): void => {\r\n const { append, appendSection } = callbacks;\r\n\r\n const activeTab = tabsData.find(tab => tab.tab_order === activeTabId + 1);\r\n if (!activeTab?.data) {\r\n console.warn(`No active tab found for tab order: ${activeTabId + 1}`);\r\n return;\r\n }\r\n\r\n const sections = extractSections(activeTab.data);\r\n const members = activeTab.data.flatMap(section =>\r\n section.members.map(member => ({ ...member }))\r\n );\r\n\r\n if (members.length > 0) append(members);\r\n if (sections.length > 0) appendSection(sections);\r\n};\r\n\r\n// Custom hook for form data processing\r\nexport const useFormDataProcessor = (\r\n formBuilder: any,\r\n tabsData: TabData[],\r\n activeTabValue: number,\r\n callbacks: {\r\n removeSection: () => void;\r\n remove: () => void;\r\n setTabsData: (data: TabData[]) => void;\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n) => {\r\n const { removeSection, remove, append } = callbacks;\r\n\r\n // Memoize the serialized form data to avoid unnecessary re-renders\r\n const serializedFormData = useMemo(() =>\r\n JSON.stringify(formBuilder?.formData),\r\n [formBuilder?.formData]\r\n );\r\n\r\n // Memoize the initial data processing\r\n const initialData = useMemo(() => {\r\n if (!formBuilder?.formData?.length) return null;\r\n\r\n try {\r\n return formBuilderDeConversion(formBuilder.formData);\r\n } catch (error) {\r\n console.error('Error processing form data:', error);\r\n return null;\r\n }\r\n }, [serializedFormData]);\r\n\r\n useEffect(() => {\r\n // Handle case when there's no initial data\r\n if (!initialData) {\r\n removeSection();\r\n remove();\r\n append([]);\r\n return;\r\n }\r\n\r\n // Determine processing strategy based on available data\r\n try {\r\n if (tabsData.length > 0) {\r\n // Process existing tabs data\r\n processData(\r\n { tabsData: tabsData },\r\n activeTabValue,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else if (initialData.tab) {\r\n // Process new tab data\r\n processData(\r\n initialData,\r\n activeTabValue,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else if (initialData.section) {\r\n // Process section data\r\n processData(\r\n initialData,\r\n 0, // No active tab for section-only data\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else {\r\n console.warn('No valid data structure found in initialData');\r\n removeSection();\r\n remove();\r\n append([]);\r\n }\r\n } catch (error) {\r\n console.error('Error in form data processing:', error);\r\n // Reset to clean state on error\r\n removeSection();\r\n remove();\r\n append([]);\r\n }\r\n }, [activeTabValue, serializedFormData, tabsData.length, initialData, callbacks, formBuilder]);\r\n\r\n return { initialData };\r\n};\r\n\r\n// Alternative: Direct useEffect implementation (if you prefer not to use custom hook)\r\nexport const useFormDataEffect = (\r\n formBuilder: any,\r\n tabsData: TabData[],\r\n activeTabValue: number = 0,\r\n callbacks: {\r\n removeSection: () => void;\r\n remove: () => void;\r\n setTabsData: (data: TabData[]) => void;\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n) => {\r\n const { removeSection, remove, append } = callbacks;\r\n\r\n useEffect(() => {\r\n let initialData: ProcessedData | null = null;\r\n\r\n // Process initial data\r\n if (formBuilder?.formData?.length) {\r\n try {\r\n initialData = formBuilderDeConversion(formBuilder.formData);\r\n } catch (error) {\r\n console.error('Error converting form data:', error);\r\n }\r\n }\r\n\r\n // Handle empty initial data\r\n if (!initialData) {\r\n removeSection();\r\n remove();\r\n append([]);\r\n return;\r\n }\r\n\r\n // Process data based on available structure\r\n try {\r\n if (tabsData.length > 0) {\r\n processData(\r\n { tabsData: tabsData },\r\n activeTabValue,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else if (initialData.tab) {\r\n processData(\r\n initialData,\r\n activeTabValue,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else if (initialData.section) {\r\n processData(\r\n initialData,\r\n 0,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else {\r\n console.warn('Invalid data structure in initialData');\r\n removeSection();\r\n remove();\r\n append([]);\r\n }\r\n } catch (error) {\r\n console.error('Error processing form data:', error);\r\n // Reset to clean state on error\r\n removeSection();\r\n remove();\r\n append([]);\r\n }\r\n }, [activeTabValue, JSON.stringify(formBuilder?.formData), tabsData.length]);\r\n};\r\n\r\n// Usage example:\r\n/*\r\n// Option 1: Using custom hook\r\nconst { initialData } = useFormDataProcessor(\r\n formBuilder,\r\n tabsData,\r\n activeTabValue,\r\n {\r\n removeSection,\r\n remove,\r\n setTabsData,\r\n append,\r\n appendSection\r\n }\r\n);\r\n\r\n// Option 2: Using direct useEffect\r\nuseFormDataEffect(\r\n formBuilder,\r\n tabsData,\r\n activeTabValue,\r\n {\r\n removeSection,\r\n remove,\r\n setTabsData,\r\n append,\r\n appendSection\r\n }\r\n);\r\n*/\r\n\r\n// Path generation utility (separate from the effect)\r\nexport const generateModulePath = (currentModule: string): string => {\r\n try {\r\n const redirectionPath = getRedirectionPath(currentModule);\r\n return `/dashboard/${currentModule}${redirectionPath}`;\r\n } catch (error) {\r\n console.error('Error generating module path:', error);\r\n throw error;\r\n }\r\n};"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/form-builder/utils/common.ts"],"sourcesContent":["// React imports\nimport { useEffect } from \"react\";\n\n// ERP Common imports\nimport formBuilderDeConversion from \"@/utils/form-builder-deconversion\";\n\n// Module pathname imports\nimport { PathnameAccounting } from \"../../../constants/pathnames/pathname.accounting\";\nimport { PathnameCrm } from \"../../../constants/pathnames/pathname.crm\";\nimport { PathnameInventory } from \"../../../constants/pathnames/pathname.inventory\";\nimport { PathnameManufacturing } from \"../../../constants/pathnames/pathname.manufacturing\";\nimport { PathnamePurchase } from \"../../../constants/pathnames/pathname.procurement\";\nimport { PathnameRental } from \"../../../constants/pathnames/pathname.rental\";\nimport { PathnameUsers } from \"../../../constants/pathnames/pathname.user\";\n\n// Types for better type safety\nexport interface TableColumn {\n header: string;\n accessorKey: string;\n visible: boolean;\n}\n\nexport interface FormMember {\n field_type: string;\n table?: string;\n table_columns?: TableColumn[];\n [key: string]: any;\n}\n\nexport interface FormSection {\n field_type: string;\n label: string;\n is_accordion: boolean;\n id: string;\n remove_section: boolean;\n form_switcher_label?: string;\n form_switcher_name?: string;\n is_section_field?: boolean;\n section_type?: string;\n switcher_forms?: any;\n members: FormMember[];\n}\n\nexport interface TabData {\n tab_order: number;\n data: FormSection[];\n}\n\nexport interface ProcessedData {\n tab?: TabData[];\n section?: FormSection[];\n tabsData?: TabData[];\n}\n\n// Constants for module paths\nconst MODULE_PATHS = {\n accounting: PathnameAccounting.FORMS,\n inventory: PathnameInventory.FORMS,\n manufacturing: PathnameManufacturing.FORMS,\n procurement: PathnamePurchase.FORMS,\n crm: PathnameCrm.FORMS,\n rental: PathnameRental.FORMS,\n user: PathnameUsers.FORMS,\n} as const;\n\nexport type ModuleType = keyof typeof MODULE_PATHS;\n\n// Helper function to format text (converts snake_case to Title Case)\nexport const formatText = (text: string): string => {\n return text\n .split('_')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n};\n\n// Helper function to get redirection path\nconst getRedirectionPath = (currentModule: string): string => {\n if (!isValidModule(currentModule)) {\n throw new Error(`Invalid module: ${currentModule}`);\n }\n return MODULE_PATHS[currentModule as ModuleType];\n};\n\n// Type guard for module validation\nconst isValidModule = (module: string): module is ModuleType => {\n return module in MODULE_PATHS;\n};\n\n// Helper function to create default table columns\nexport const createDefaultTableColumns = (): TableColumn[] => [\n { header: \"Column 1\", accessorKey: \"column_1\", visible: true },\n { header: \"Column 2\", accessorKey: \"column_2\", visible: true },\n];\n\n// Helper function to process table columns\nexport const processTableColumns = (\n member: FormMember,\n formBuilder: any\n): TableColumn[] => {\n // Return existing columns if they exist\n if (member.table_columns?.length) {\n return member.table_columns;\n }\n\n // Check if table exists and has fields\n if (!member.table || !formBuilder.fields?.[member.table]) {\n return createDefaultTableColumns();\n }\n\n const fields = formBuilder.fields[member.table];\n if (!Array.isArray(fields) || fields.length === 0) {\n return createDefaultTableColumns();\n }\n\n return fields.map((field: any, index: number) => ({\n header: formatText(field.field),\n accessorKey: field.field,\n visible: index <= 3, // Show first 4 columns by default\n }));\n};\n\n// Helper function to process members\nexport const processMembers = (\n sections: FormSection[],\n formBuilder: any\n): FormMember[] => {\n return sections.flatMap((section) =>\n section.members.map((member) => {\n if (member.field_type === \"table\") {\n return {\n ...member,\n table_columns: processTableColumns(member, formBuilder),\n };\n }\n return { ...member };\n })\n );\n};\n\n// Helper function to extract sections data\nexport const extractSections = (sections: FormSection[]): Omit<FormSection, 'members'>[] => {\n return sections.map(({\n field_type,\n label,\n is_accordion,\n id,\n remove_section,\n form_switcher_label,\n form_switcher_name,\n is_section_field,\n section_type,\n switcher_forms,\n }) => ({\n field_type,\n label,\n is_accordion,\n id,\n remove_section,\n form_switcher_label,\n form_switcher_name,\n is_section_field,\n section_type,\n switcher_forms,\n }));\n};\n\n// Main processing function\nconst processData = (\n data: ProcessedData,\n activeTabId: number = 0,\n formBuilder: any,\n tabsData: TabData[] | null,\n // Callback functions\n callbacks: {\n removeSection: () => void;\n remove: () => void;\n setTabsData: (data: TabData[]) => void;\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n): void => {\n const { removeSection, remove, setTabsData, append, appendSection } = callbacks;\n\n try {\n // Clear existing data\n removeSection();\n remove();\n\n if (data.tab) {\n processTabData(data.tab, activeTabId, formBuilder, callbacks);\n } else if (data.section) {\n processSectionData(data.section, formBuilder, callbacks);\n } else if (data.tabsData && tabsData) {\n processExistingTabsData(tabsData, activeTabId, callbacks);\n } else {\n throw new Error(\"Invalid data format: Missing required properties (tab, section, or tabsData)\");\n }\n } catch (error) {\n console.error(\"Error processing data:\", error);\n // You might want to show a user-friendly error message instead of alert\n alert(error instanceof Error ? error.message : \"An error occurred while processing data\");\n }\n};\n\n// Process tab data\nconst processTabData = (\n tabs: TabData[],\n activeTabId: number,\n formBuilder: any,\n callbacks: {\n setTabsData: (data: TabData[]) => void;\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n): void => {\n const { setTabsData, append, appendSection } = callbacks;\n\n setTabsData(tabs);\n\n const activeTab = tabs.find(tab => tab.tab_order === activeTabId + 1);\n if (!activeTab?.data) {\n console.warn(`No active tab found for tab order: ${activeTabId + 1}`);\n return;\n }\n\n const sections = extractSections(activeTab.data);\n const members = processMembers(activeTab.data, formBuilder);\n\n append(members);\n appendSection(sections);\n};\n\n// Process section data\nconst processSectionData = (\n sections: FormSection[],\n formBuilder: any,\n callbacks: {\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n): void => {\n const { append, appendSection } = callbacks;\n\n const extractedSections = extractSections(sections);\n const members = processMembers(sections, formBuilder);\n\n append(members);\n appendSection(extractedSections);\n};\n\n// Process existing tabs data\nconst processExistingTabsData = (\n tabsData: TabData[],\n activeTabId: number,\n callbacks: {\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n): void => {\n const { append, appendSection } = callbacks;\n\n const activeTab = tabsData.find(tab => tab.tab_order === activeTabId + 1);\n if (!activeTab?.data) {\n console.warn(`No active tab found for tab order: ${activeTabId + 1}`);\n return;\n }\n\n const sections = extractSections(activeTab.data);\n const members = activeTab.data.flatMap(section =>\n section.members.map(member => ({ ...member }))\n );\n\n if (members.length > 0) append(members);\n if (sections.length > 0) appendSection(sections);\n};\n\n// Custom hook for form data processing\nexport const useFormDataProcessor = (\n formBuilder: any,\n tabsData: TabData[],\n activeTabValue: number,\n callbacks: {\n removeSection: () => void;\n remove: () => void;\n setTabsData: (data: TabData[]) => void;\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n) => {\n const { removeSection, remove, append } = callbacks;\n\n // Memoize the serialized form data to avoid unnecessary re-renders\n const serializedFormData = useMemo(() =>\n JSON.stringify(formBuilder?.formData),\n [formBuilder?.formData]\n );\n\n // Memoize the initial data processing\n const initialData = useMemo(() => {\n if (!formBuilder?.formData?.length) return null;\n\n try {\n return formBuilderDeConversion(formBuilder.formData);\n } catch (error) {\n console.error('Error processing form data:', error);\n return null;\n }\n }, [serializedFormData]);\n\n useEffect(() => {\n // Handle case when there's no initial data\n if (!initialData) {\n removeSection();\n remove();\n append([]);\n return;\n }\n\n // Determine processing strategy based on available data\n try {\n if (tabsData.length > 0) {\n // Process existing tabs data\n processData(\n { tabsData: tabsData },\n activeTabValue,\n formBuilder,\n tabsData,\n callbacks\n );\n } else if (initialData.tab) {\n // Process new tab data\n processData(\n initialData,\n activeTabValue,\n formBuilder,\n tabsData,\n callbacks\n );\n } else if (initialData.section) {\n // Process section data\n processData(\n initialData,\n 0, // No active tab for section-only data\n formBuilder,\n tabsData,\n callbacks\n );\n } else {\n console.warn('No valid data structure found in initialData');\n removeSection();\n remove();\n append([]);\n }\n } catch (error) {\n console.error('Error in form data processing:', error);\n // Reset to clean state on error\n removeSection();\n remove();\n append([]);\n }\n }, [activeTabValue, serializedFormData, tabsData.length, initialData, callbacks, formBuilder]);\n\n return { initialData };\n};\n\n// Alternative: Direct useEffect implementation (if you prefer not to use custom hook)\nexport const useFormDataEffect = (\n formBuilder: any,\n tabsData: TabData[],\n activeTabValue: number = 0,\n callbacks: {\n removeSection: () => void;\n remove: () => void;\n setTabsData: (data: TabData[]) => void;\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n) => {\n const { removeSection, remove, append } = callbacks;\n\n useEffect(() => {\n let initialData: ProcessedData | null = null;\n\n // Process initial data\n if (formBuilder?.formData?.length) {\n try {\n initialData = formBuilderDeConversion(formBuilder.formData);\n } catch (error) {\n console.error('Error converting form data:', error);\n }\n }\n\n // Handle empty initial data\n if (!initialData) {\n removeSection();\n remove();\n append([]);\n return;\n }\n\n // Process data based on available structure\n try {\n if (tabsData.length > 0) {\n processData(\n { tabsData: tabsData },\n activeTabValue,\n formBuilder,\n tabsData,\n callbacks\n );\n } else if (initialData.tab) {\n processData(\n initialData,\n activeTabValue,\n formBuilder,\n tabsData,\n callbacks\n );\n } else if (initialData.section) {\n processData(\n initialData,\n 0,\n formBuilder,\n tabsData,\n callbacks\n );\n } else {\n console.warn('Invalid data structure in initialData');\n removeSection();\n remove();\n append([]);\n }\n } catch (error) {\n console.error('Error processing form data:', error);\n // Reset to clean state on error\n removeSection();\n remove();\n append([]);\n }\n }, [activeTabValue, JSON.stringify(formBuilder?.formData), tabsData.length]);\n};\n\n// Usage example:\n/*\n// Option 1: Using custom hook\nconst { initialData } = useFormDataProcessor(\n formBuilder,\n tabsData,\n activeTabValue,\n {\n removeSection,\n remove,\n setTabsData,\n append,\n appendSection\n }\n);\n\n// Option 2: Using direct useEffect\nuseFormDataEffect(\n formBuilder,\n tabsData,\n activeTabValue,\n {\n removeSection,\n remove,\n setTabsData,\n append,\n appendSection\n }\n);\n*/\n\n// Path generation utility (separate from the effect)\nexport const generateModulePath = (currentModule: string): string => {\n try {\n const redirectionPath = getRedirectionPath(currentModule);\n return `/dashboard/${currentModule}${redirectionPath}`;\n } catch (error) {\n console.error('Error generating module path:', error);\n throw error;\n }\n};"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/utils/common.ts"],"sourcesContent":["// React imports\r\nimport { useEffect } from \"react\";\r\n\r\n// ERP Common imports\r\nimport formBuilderDeConversion from \"@/utils/form-builder-deconversion\";\r\n\r\n// Module pathname imports\r\nimport { PathnameAccounting } from \"../../../constants/pathnames/pathname.accounting\";\r\nimport { PathnameCrm } from \"../../../constants/pathnames/pathname.crm\";\r\nimport { PathnameInventory } from \"../../../constants/pathnames/pathname.inventory\";\r\nimport { PathnameManufacturing } from \"../../../constants/pathnames/pathname.manufacturing\";\r\nimport { PathnamePurchase } from \"../../../constants/pathnames/pathname.procurement\";\r\nimport { PathnameRental } from \"../../../constants/pathnames/pathname.rental\";\r\nimport { PathnameUsers } from \"../../../constants/pathnames/pathname.user\";\r\n\r\n// Types for better type safety\r\nexport interface TableColumn {\r\n header: string;\r\n accessorKey: string;\r\n visible: boolean;\r\n}\r\n\r\nexport interface FormMember {\r\n field_type: string;\r\n table?: string;\r\n table_columns?: TableColumn[];\r\n [key: string]: any;\r\n}\r\n\r\nexport interface FormSection {\r\n field_type: string;\r\n label: string;\r\n is_accordion: boolean;\r\n id: string;\r\n remove_section: boolean;\r\n form_switcher_label?: string;\r\n form_switcher_name?: string;\r\n is_section_field?: boolean;\r\n section_type?: string;\r\n switcher_forms?: any;\r\n members: FormMember[];\r\n}\r\n\r\nexport interface TabData {\r\n tab_order: number;\r\n data: FormSection[];\r\n}\r\n\r\nexport interface ProcessedData {\r\n tab?: TabData[];\r\n section?: FormSection[];\r\n tabsData?: TabData[];\r\n}\r\n\r\n// Constants for module paths\r\nconst MODULE_PATHS = {\r\n accounting: PathnameAccounting.FORMS,\r\n inventory: PathnameInventory.FORMS,\r\n manufacturing: PathnameManufacturing.FORMS,\r\n procurement: PathnamePurchase.FORMS,\r\n crm: PathnameCrm.FORMS,\r\n rental: PathnameRental.FORMS,\r\n user: PathnameUsers.FORMS,\r\n} as const;\r\n\r\nexport type ModuleType = keyof typeof MODULE_PATHS;\r\n\r\n// Helper function to format text (converts snake_case to Title Case)\r\nexport const formatText = (text: string): string => {\r\n return text\r\n .split('_')\r\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\r\n .join(' ');\r\n};\r\n\r\n// Helper function to get redirection path\r\nconst getRedirectionPath = (currentModule: string): string => {\r\n if (!isValidModule(currentModule)) {\r\n throw new Error(`Invalid module: ${currentModule}`);\r\n }\r\n return MODULE_PATHS[currentModule as ModuleType];\r\n};\r\n\r\n// Type guard for module validation\r\nconst isValidModule = (module: string): module is ModuleType => {\r\n return module in MODULE_PATHS;\r\n};\r\n\r\n// Helper function to create default table columns\r\nexport const createDefaultTableColumns = (): TableColumn[] => [\r\n { header: \"Column 1\", accessorKey: \"column_1\", visible: true },\r\n { header: \"Column 2\", accessorKey: \"column_2\", visible: true },\r\n];\r\n\r\n// Helper function to process table columns\r\nexport const processTableColumns = (\r\n member: FormMember,\r\n formBuilder: any\r\n): TableColumn[] => {\r\n // Return existing columns if they exist\r\n if (member.table_columns?.length) {\r\n return member.table_columns;\r\n }\r\n\r\n // Check if table exists and has fields\r\n if (!member.table || !formBuilder.fields?.[member.table]) {\r\n return createDefaultTableColumns();\r\n }\r\n\r\n const fields = formBuilder.fields[member.table];\r\n if (!Array.isArray(fields) || fields.length === 0) {\r\n return createDefaultTableColumns();\r\n }\r\n\r\n return fields.map((field: any, index: number) => ({\r\n header: formatText(field.field),\r\n accessorKey: field.field,\r\n visible: index <= 3, // Show first 4 columns by default\r\n }));\r\n};\r\n\r\n// Helper function to process members\r\nexport const processMembers = (\r\n sections: FormSection[],\r\n formBuilder: any\r\n): FormMember[] => {\r\n return sections.flatMap((section) =>\r\n section.members.map((member) => {\r\n if (member.field_type === \"table\") {\r\n return {\r\n ...member,\r\n table_columns: processTableColumns(member, formBuilder),\r\n };\r\n }\r\n return { ...member };\r\n })\r\n );\r\n};\r\n\r\n// Helper function to extract sections data\r\nexport const extractSections = (sections: FormSection[]): Omit<FormSection, 'members'>[] => {\r\n return sections.map(({\r\n field_type,\r\n label,\r\n is_accordion,\r\n id,\r\n remove_section,\r\n form_switcher_label,\r\n form_switcher_name,\r\n is_section_field,\r\n section_type,\r\n switcher_forms,\r\n }) => ({\r\n field_type,\r\n label,\r\n is_accordion,\r\n id,\r\n remove_section,\r\n form_switcher_label,\r\n form_switcher_name,\r\n is_section_field,\r\n section_type,\r\n switcher_forms,\r\n }));\r\n};\r\n\r\n// Main processing function\r\nconst processData = (\r\n data: ProcessedData,\r\n activeTabId: number = 0,\r\n formBuilder: any,\r\n tabsData: TabData[] | null,\r\n // Callback functions\r\n callbacks: {\r\n removeSection: () => void;\r\n remove: () => void;\r\n setTabsData: (data: TabData[]) => void;\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n): void => {\r\n const { removeSection, remove, setTabsData, append, appendSection } = callbacks;\r\n\r\n try {\r\n // Clear existing data\r\n removeSection();\r\n remove();\r\n\r\n if (data.tab) {\r\n processTabData(data.tab, activeTabId, formBuilder, callbacks);\r\n } else if (data.section) {\r\n processSectionData(data.section, formBuilder, callbacks);\r\n } else if (data.tabsData && tabsData) {\r\n processExistingTabsData(tabsData, activeTabId, callbacks);\r\n } else {\r\n throw new Error(\"Invalid data format: Missing required properties (tab, section, or tabsData)\");\r\n }\r\n } catch (error) {\r\n console.error(\"Error processing data:\", error);\r\n // You might want to show a user-friendly error message instead of alert\r\n alert(error instanceof Error ? error.message : \"An error occurred while processing data\");\r\n }\r\n};\r\n\r\n// Process tab data\r\nconst processTabData = (\r\n tabs: TabData[],\r\n activeTabId: number,\r\n formBuilder: any,\r\n callbacks: {\r\n setTabsData: (data: TabData[]) => void;\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n): void => {\r\n const { setTabsData, append, appendSection } = callbacks;\r\n\r\n setTabsData(tabs);\r\n\r\n const activeTab = tabs.find(tab => tab.tab_order === activeTabId + 1);\r\n if (!activeTab?.data) {\r\n console.warn(`No active tab found for tab order: ${activeTabId + 1}`);\r\n return;\r\n }\r\n\r\n const sections = extractSections(activeTab.data);\r\n const members = processMembers(activeTab.data, formBuilder);\r\n\r\n append(members);\r\n appendSection(sections);\r\n};\r\n\r\n// Process section data\r\nconst processSectionData = (\r\n sections: FormSection[],\r\n formBuilder: any,\r\n callbacks: {\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n): void => {\r\n const { append, appendSection } = callbacks;\r\n\r\n const extractedSections = extractSections(sections);\r\n const members = processMembers(sections, formBuilder);\r\n\r\n append(members);\r\n appendSection(extractedSections);\r\n};\r\n\r\n// Process existing tabs data\r\nconst processExistingTabsData = (\r\n tabsData: TabData[],\r\n activeTabId: number,\r\n callbacks: {\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n): void => {\r\n const { append, appendSection } = callbacks;\r\n\r\n const activeTab = tabsData.find(tab => tab.tab_order === activeTabId + 1);\r\n if (!activeTab?.data) {\r\n console.warn(`No active tab found for tab order: ${activeTabId + 1}`);\r\n return;\r\n }\r\n\r\n const sections = extractSections(activeTab.data);\r\n const members = activeTab.data.flatMap(section =>\r\n section.members.map(member => ({ ...member }))\r\n );\r\n\r\n if (members.length > 0) append(members);\r\n if (sections.length > 0) appendSection(sections);\r\n};\r\n\r\n// Custom hook for form data processing\r\nexport const useFormDataProcessor = (\r\n formBuilder: any,\r\n tabsData: TabData[],\r\n activeTabValue: number,\r\n callbacks: {\r\n removeSection: () => void;\r\n remove: () => void;\r\n setTabsData: (data: TabData[]) => void;\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n) => {\r\n const { removeSection, remove, append } = callbacks;\r\n\r\n // Memoize the serialized form data to avoid unnecessary re-renders\r\n const serializedFormData = useMemo(() =>\r\n JSON.stringify(formBuilder?.formData),\r\n [formBuilder?.formData]\r\n );\r\n\r\n // Memoize the initial data processing\r\n const initialData = useMemo(() => {\r\n if (!formBuilder?.formData?.length) return null;\r\n\r\n try {\r\n return formBuilderDeConversion(formBuilder.formData);\r\n } catch (error) {\r\n console.error('Error processing form data:', error);\r\n return null;\r\n }\r\n }, [serializedFormData]);\r\n\r\n useEffect(() => {\r\n // Handle case when there's no initial data\r\n if (!initialData) {\r\n removeSection();\r\n remove();\r\n append([]);\r\n return;\r\n }\r\n\r\n // Determine processing strategy based on available data\r\n try {\r\n if (tabsData.length > 0) {\r\n // Process existing tabs data\r\n processData(\r\n { tabsData: tabsData },\r\n activeTabValue,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else if (initialData.tab) {\r\n // Process new tab data\r\n processData(\r\n initialData,\r\n activeTabValue,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else if (initialData.section) {\r\n // Process section data\r\n processData(\r\n initialData,\r\n 0, // No active tab for section-only data\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else {\r\n console.warn('No valid data structure found in initialData');\r\n removeSection();\r\n remove();\r\n append([]);\r\n }\r\n } catch (error) {\r\n console.error('Error in form data processing:', error);\r\n // Reset to clean state on error\r\n removeSection();\r\n remove();\r\n append([]);\r\n }\r\n }, [activeTabValue, serializedFormData, tabsData.length, initialData, callbacks, formBuilder]);\r\n\r\n return { initialData };\r\n};\r\n\r\n// Alternative: Direct useEffect implementation (if you prefer not to use custom hook)\r\nexport const useFormDataEffect = (\r\n formBuilder: any,\r\n tabsData: TabData[],\r\n activeTabValue: number = 0,\r\n callbacks: {\r\n removeSection: () => void;\r\n remove: () => void;\r\n setTabsData: (data: TabData[]) => void;\r\n append: (members: FormMember[]) => void;\r\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\r\n }\r\n) => {\r\n const { removeSection, remove, append } = callbacks;\r\n\r\n useEffect(() => {\r\n let initialData: ProcessedData | null = null;\r\n\r\n // Process initial data\r\n if (formBuilder?.formData?.length) {\r\n try {\r\n initialData = formBuilderDeConversion(formBuilder.formData);\r\n } catch (error) {\r\n console.error('Error converting form data:', error);\r\n }\r\n }\r\n\r\n // Handle empty initial data\r\n if (!initialData) {\r\n removeSection();\r\n remove();\r\n append([]);\r\n return;\r\n }\r\n\r\n // Process data based on available structure\r\n try {\r\n if (tabsData.length > 0) {\r\n processData(\r\n { tabsData: tabsData },\r\n activeTabValue,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else if (initialData.tab) {\r\n processData(\r\n initialData,\r\n activeTabValue,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else if (initialData.section) {\r\n processData(\r\n initialData,\r\n 0,\r\n formBuilder,\r\n tabsData,\r\n callbacks\r\n );\r\n } else {\r\n console.warn('Invalid data structure in initialData');\r\n removeSection();\r\n remove();\r\n append([]);\r\n }\r\n } catch (error) {\r\n console.error('Error processing form data:', error);\r\n // Reset to clean state on error\r\n removeSection();\r\n remove();\r\n append([]);\r\n }\r\n }, [activeTabValue, JSON.stringify(formBuilder?.formData), tabsData.length]);\r\n};\r\n\r\n// Usage example:\r\n/*\r\n// Option 1: Using custom hook\r\nconst { initialData } = useFormDataProcessor(\r\n formBuilder,\r\n tabsData,\r\n activeTabValue,\r\n {\r\n removeSection,\r\n remove,\r\n setTabsData,\r\n append,\r\n appendSection\r\n }\r\n);\r\n\r\n// Option 2: Using direct useEffect\r\nuseFormDataEffect(\r\n formBuilder,\r\n tabsData,\r\n activeTabValue,\r\n {\r\n removeSection,\r\n remove,\r\n setTabsData,\r\n append,\r\n appendSection\r\n }\r\n);\r\n*/\r\n\r\n// Path generation utility (separate from the effect)\r\nexport const generateModulePath = (currentModule: string): string => {\r\n try {\r\n const redirectionPath = getRedirectionPath(currentModule);\r\n return `/dashboard/${currentModule}${redirectionPath}`;\r\n } catch (error) {\r\n console.error('Error generating module path:', error);\r\n throw error;\r\n }\r\n};"],"names":["MODULE_PATHS","accounting","PathnameAccounting","FORMS","inventory","PathnameInventory","manufacturing","PathnameManufacturing","procurement","PathnamePurchase","crm","PathnameCrm","rental","PathnameRental","user","PathnameUsers","formatText","text","split","map","word","charAt","toUpperCase","slice","toLowerCase","join","processTableColumns","member","formBuilder","_a","table_columns","length","table","_b","fields","header","accessorKey","visible","Array","isArray","field","index","processMembers","sections","flatMap","section","members","field_type","extractSections","label","is_accordion","id","remove_section","form_switcher_label","form_switcher_name","is_section_field","section_type","switcher_forms","processData","data","activeTabId","tabsData","callbacks","removeSection","remove","tab","processTabData","processSectionData","Error","processExistingTabsData","error","alert","message","tabs","setTabsData","append","appendSection","activeTab","find","tab_order","extractedSections","currentModule","redirectionPath","getRedirectionPath","activeTabValue","useEffect","initialData","formData","formBuilderDeConversion","JSON","stringify","serializedFormData","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/form-builder/utils/common.ts"],"sourcesContent":["// React imports\nimport { useEffect } from \"react\";\n\n// ERP Common imports\nimport formBuilderDeConversion from \"@/utils/form-builder-deconversion\";\n\n// Module pathname imports\nimport { PathnameAccounting } from \"../../../constants/pathnames/pathname.accounting\";\nimport { PathnameCrm } from \"../../../constants/pathnames/pathname.crm\";\nimport { PathnameInventory } from \"../../../constants/pathnames/pathname.inventory\";\nimport { PathnameManufacturing } from \"../../../constants/pathnames/pathname.manufacturing\";\nimport { PathnamePurchase } from \"../../../constants/pathnames/pathname.procurement\";\nimport { PathnameRental } from \"../../../constants/pathnames/pathname.rental\";\nimport { PathnameUsers } from \"../../../constants/pathnames/pathname.user\";\n\n// Types for better type safety\nexport interface TableColumn {\n header: string;\n accessorKey: string;\n visible: boolean;\n}\n\nexport interface FormMember {\n field_type: string;\n table?: string;\n table_columns?: TableColumn[];\n [key: string]: any;\n}\n\nexport interface FormSection {\n field_type: string;\n label: string;\n is_accordion: boolean;\n id: string;\n remove_section: boolean;\n form_switcher_label?: string;\n form_switcher_name?: string;\n is_section_field?: boolean;\n section_type?: string;\n switcher_forms?: any;\n members: FormMember[];\n}\n\nexport interface TabData {\n tab_order: number;\n data: FormSection[];\n}\n\nexport interface ProcessedData {\n tab?: TabData[];\n section?: FormSection[];\n tabsData?: TabData[];\n}\n\n// Constants for module paths\nconst MODULE_PATHS = {\n accounting: PathnameAccounting.FORMS,\n inventory: PathnameInventory.FORMS,\n manufacturing: PathnameManufacturing.FORMS,\n procurement: PathnamePurchase.FORMS,\n crm: PathnameCrm.FORMS,\n rental: PathnameRental.FORMS,\n user: PathnameUsers.FORMS,\n} as const;\n\nexport type ModuleType = keyof typeof MODULE_PATHS;\n\n// Helper function to format text (converts snake_case to Title Case)\nexport const formatText = (text: string): string => {\n return text\n .split('_')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n};\n\n// Helper function to get redirection path\nconst getRedirectionPath = (currentModule: string): string => {\n if (!isValidModule(currentModule)) {\n throw new Error(`Invalid module: ${currentModule}`);\n }\n return MODULE_PATHS[currentModule as ModuleType];\n};\n\n// Type guard for module validation\nconst isValidModule = (module: string): module is ModuleType => {\n return module in MODULE_PATHS;\n};\n\n// Helper function to create default table columns\nexport const createDefaultTableColumns = (): TableColumn[] => [\n { header: \"Column 1\", accessorKey: \"column_1\", visible: true },\n { header: \"Column 2\", accessorKey: \"column_2\", visible: true },\n];\n\n// Helper function to process table columns\nexport const processTableColumns = (\n member: FormMember,\n formBuilder: any\n): TableColumn[] => {\n // Return existing columns if they exist\n if (member.table_columns?.length) {\n return member.table_columns;\n }\n\n // Check if table exists and has fields\n if (!member.table || !formBuilder.fields?.[member.table]) {\n return createDefaultTableColumns();\n }\n\n const fields = formBuilder.fields[member.table];\n if (!Array.isArray(fields) || fields.length === 0) {\n return createDefaultTableColumns();\n }\n\n return fields.map((field: any, index: number) => ({\n header: formatText(field.field),\n accessorKey: field.field,\n visible: index <= 3, // Show first 4 columns by default\n }));\n};\n\n// Helper function to process members\nexport const processMembers = (\n sections: FormSection[],\n formBuilder: any\n): FormMember[] => {\n return sections.flatMap((section) =>\n section.members.map((member) => {\n if (member.field_type === \"table\") {\n return {\n ...member,\n table_columns: processTableColumns(member, formBuilder),\n };\n }\n return { ...member };\n })\n );\n};\n\n// Helper function to extract sections data\nexport const extractSections = (sections: FormSection[]): Omit<FormSection, 'members'>[] => {\n return sections.map(({\n field_type,\n label,\n is_accordion,\n id,\n remove_section,\n form_switcher_label,\n form_switcher_name,\n is_section_field,\n section_type,\n switcher_forms,\n }) => ({\n field_type,\n label,\n is_accordion,\n id,\n remove_section,\n form_switcher_label,\n form_switcher_name,\n is_section_field,\n section_type,\n switcher_forms,\n }));\n};\n\n// Main processing function\nconst processData = (\n data: ProcessedData,\n activeTabId: number = 0,\n formBuilder: any,\n tabsData: TabData[] | null,\n // Callback functions\n callbacks: {\n removeSection: () => void;\n remove: () => void;\n setTabsData: (data: TabData[]) => void;\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n): void => {\n const { removeSection, remove, setTabsData, append, appendSection } = callbacks;\n\n try {\n // Clear existing data\n removeSection();\n remove();\n\n if (data.tab) {\n processTabData(data.tab, activeTabId, formBuilder, callbacks);\n } else if (data.section) {\n processSectionData(data.section, formBuilder, callbacks);\n } else if (data.tabsData && tabsData) {\n processExistingTabsData(tabsData, activeTabId, callbacks);\n } else {\n throw new Error(\"Invalid data format: Missing required properties (tab, section, or tabsData)\");\n }\n } catch (error) {\n console.error(\"Error processing data:\", error);\n // You might want to show a user-friendly error message instead of alert\n alert(error instanceof Error ? error.message : \"An error occurred while processing data\");\n }\n};\n\n// Process tab data\nconst processTabData = (\n tabs: TabData[],\n activeTabId: number,\n formBuilder: any,\n callbacks: {\n setTabsData: (data: TabData[]) => void;\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n): void => {\n const { setTabsData, append, appendSection } = callbacks;\n\n setTabsData(tabs);\n\n const activeTab = tabs.find(tab => tab.tab_order === activeTabId + 1);\n if (!activeTab?.data) {\n console.warn(`No active tab found for tab order: ${activeTabId + 1}`);\n return;\n }\n\n const sections = extractSections(activeTab.data);\n const members = processMembers(activeTab.data, formBuilder);\n\n append(members);\n appendSection(sections);\n};\n\n// Process section data\nconst processSectionData = (\n sections: FormSection[],\n formBuilder: any,\n callbacks: {\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n): void => {\n const { append, appendSection } = callbacks;\n\n const extractedSections = extractSections(sections);\n const members = processMembers(sections, formBuilder);\n\n append(members);\n appendSection(extractedSections);\n};\n\n// Process existing tabs data\nconst processExistingTabsData = (\n tabsData: TabData[],\n activeTabId: number,\n callbacks: {\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n): void => {\n const { append, appendSection } = callbacks;\n\n const activeTab = tabsData.find(tab => tab.tab_order === activeTabId + 1);\n if (!activeTab?.data) {\n console.warn(`No active tab found for tab order: ${activeTabId + 1}`);\n return;\n }\n\n const sections = extractSections(activeTab.data);\n const members = activeTab.data.flatMap(section =>\n section.members.map(member => ({ ...member }))\n );\n\n if (members.length > 0) append(members);\n if (sections.length > 0) appendSection(sections);\n};\n\n// Custom hook for form data processing\nexport const useFormDataProcessor = (\n formBuilder: any,\n tabsData: TabData[],\n activeTabValue: number,\n callbacks: {\n removeSection: () => void;\n remove: () => void;\n setTabsData: (data: TabData[]) => void;\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n) => {\n const { removeSection, remove, append } = callbacks;\n\n // Memoize the serialized form data to avoid unnecessary re-renders\n const serializedFormData = useMemo(() =>\n JSON.stringify(formBuilder?.formData),\n [formBuilder?.formData]\n );\n\n // Memoize the initial data processing\n const initialData = useMemo(() => {\n if (!formBuilder?.formData?.length) return null;\n\n try {\n return formBuilderDeConversion(formBuilder.formData);\n } catch (error) {\n console.error('Error processing form data:', error);\n return null;\n }\n }, [serializedFormData]);\n\n useEffect(() => {\n // Handle case when there's no initial data\n if (!initialData) {\n removeSection();\n remove();\n append([]);\n return;\n }\n\n // Determine processing strategy based on available data\n try {\n if (tabsData.length > 0) {\n // Process existing tabs data\n processData(\n { tabsData: tabsData },\n activeTabValue,\n formBuilder,\n tabsData,\n callbacks\n );\n } else if (initialData.tab) {\n // Process new tab data\n processData(\n initialData,\n activeTabValue,\n formBuilder,\n tabsData,\n callbacks\n );\n } else if (initialData.section) {\n // Process section data\n processData(\n initialData,\n 0, // No active tab for section-only data\n formBuilder,\n tabsData,\n callbacks\n );\n } else {\n console.warn('No valid data structure found in initialData');\n removeSection();\n remove();\n append([]);\n }\n } catch (error) {\n console.error('Error in form data processing:', error);\n // Reset to clean state on error\n removeSection();\n remove();\n append([]);\n }\n }, [activeTabValue, serializedFormData, tabsData.length, initialData, callbacks, formBuilder]);\n\n return { initialData };\n};\n\n// Alternative: Direct useEffect implementation (if you prefer not to use custom hook)\nexport const useFormDataEffect = (\n formBuilder: any,\n tabsData: TabData[],\n activeTabValue: number = 0,\n callbacks: {\n removeSection: () => void;\n remove: () => void;\n setTabsData: (data: TabData[]) => void;\n append: (members: FormMember[]) => void;\n appendSection: (sections: Omit<FormSection, 'members'>[]) => void;\n }\n) => {\n const { removeSection, remove, append } = callbacks;\n\n useEffect(() => {\n let initialData: ProcessedData | null = null;\n\n // Process initial data\n if (formBuilder?.formData?.length) {\n try {\n initialData = formBuilderDeConversion(formBuilder.formData);\n } catch (error) {\n console.error('Error converting form data:', error);\n }\n }\n\n // Handle empty initial data\n if (!initialData) {\n removeSection();\n remove();\n append([]);\n return;\n }\n\n // Process data based on available structure\n try {\n if (tabsData.length > 0) {\n processData(\n { tabsData: tabsData },\n activeTabValue,\n formBuilder,\n tabsData,\n callbacks\n );\n } else if (initialData.tab) {\n processData(\n initialData,\n activeTabValue,\n formBuilder,\n tabsData,\n callbacks\n );\n } else if (initialData.section) {\n processData(\n initialData,\n 0,\n formBuilder,\n tabsData,\n callbacks\n );\n } else {\n console.warn('Invalid data structure in initialData');\n removeSection();\n remove();\n append([]);\n }\n } catch (error) {\n console.error('Error processing form data:', error);\n // Reset to clean state on error\n removeSection();\n remove();\n append([]);\n }\n }, [activeTabValue, JSON.stringify(formBuilder?.formData), tabsData.length]);\n};\n\n// Usage example:\n/*\n// Option 1: Using custom hook\nconst { initialData } = useFormDataProcessor(\n formBuilder,\n tabsData,\n activeTabValue,\n {\n removeSection,\n remove,\n setTabsData,\n append,\n appendSection\n }\n);\n\n// Option 2: Using direct useEffect\nuseFormDataEffect(\n formBuilder,\n tabsData,\n activeTabValue,\n {\n removeSection,\n remove,\n setTabsData,\n append,\n appendSection\n }\n);\n*/\n\n// Path generation utility (separate from the effect)\nexport const generateModulePath = (currentModule: string): string => {\n try {\n const redirectionPath = getRedirectionPath(currentModule);\n return `/dashboard/${currentModule}${redirectionPath}`;\n } catch (error) {\n console.error('Error generating module path:', error);\n throw error;\n }\n};"],"names":["MODULE_PATHS","accounting","PathnameAccounting","FORMS","inventory","PathnameInventory","manufacturing","PathnameManufacturing","procurement","PathnamePurchase","crm","PathnameCrm","rental","PathnameRental","user","PathnameUsers","formatText","text","split","map","word","charAt","toUpperCase","slice","toLowerCase","join","processTableColumns","member","formBuilder","_a","table_columns","length","table","_b","fields","header","accessorKey","visible","Array","isArray","field","index","processMembers","sections","flatMap","section","members","field_type","extractSections","label","is_accordion","id","remove_section","form_switcher_label","form_switcher_name","is_section_field","section_type","switcher_forms","processData","data","activeTabId","tabsData","callbacks","removeSection","remove","tab","processTabData","processSectionData","Error","processExistingTabsData","error","alert","message","tabs","setTabsData","append","appendSection","activeTab","find","tab_order","extractedSections","currentModule","redirectionPath","getRedirectionPath","activeTabValue","useEffect","initialData","formData","formBuilderDeConversion","JSON","stringify","serializedFormData","useMemo"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- export { default as NotFound } from './404';
2
- export * from './404';
3
- export { default as PrivateRoute } from './privateRoute';
4
- export * from './privateRoute';
5
- export * from './afterAuth';
6
- export * from './beforeAuth';
7
- export * from './form-builder';
8
- export * from './template-editor';
1
+ export { default as NotFound } from './404';
2
+ export * from './404';
3
+ export { default as PrivateRoute } from './privateRoute';
4
+ export * from './privateRoute';
5
+ export * from './afterAuth';
6
+ export * from './beforeAuth';
7
+ export * from './form-builder';
8
+ export * from './template-editor';
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/views/privateRoute.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { Navigate, Outlet } from \"react-router-dom\";\r\n\r\nimport { Pathname } from \"../constants/pathnames/pathname\";\r\nimport { useAuth } from \"../hooks/useAuth\";\r\nimport Loader from \"../components/loader\";\r\n\r\nexport const PrivateRoute = () => {\r\n const { user, loading } = useAuth();\r\n\r\n return loading ? (\r\n <Loader />\r\n ) : user ? (\r\n <Outlet />\r\n ) : (\r\n <Navigate to={Pathname.LOGIN} />\r\n );\r\n};\r\n\r\nexport default PrivateRoute;\r\n"],"names":[],"mappings":";;;;;AAOO,MAAM,eAAe,MAAM;AAChC,QAAM,EAAE,MAAM,QAAA,IAAY,QAAA;AAE1B,SAAO,UACL,oBAAC,QAAA,CAAA,CAAO,IACN,OACF,oBAAC,QAAA,CAAA,CAAO,IAER,oBAAC,UAAA,EAAS,IAAI,SAAS,OAAO;AAElC;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../src/views/privateRoute.tsx"],"sourcesContent":["import React from \"react\";\nimport { Navigate, Outlet } from \"react-router-dom\";\n\nimport { Pathname } from \"../constants/pathnames/pathname\";\nimport { useAuth } from \"../hooks/useAuth\";\nimport Loader from \"../components/loader\";\n\nexport const PrivateRoute = () => {\n const { user, loading } = useAuth();\n\n return loading ? (\n <Loader />\n ) : user ? (\n <Outlet />\n ) : (\n <Navigate to={Pathname.LOGIN} />\n );\n};\n\nexport default PrivateRoute;\n"],"names":[],"mappings":";;;;;AAOO,MAAM,eAAe,MAAM;AAChC,QAAM,EAAE,MAAM,QAAA,IAAY,QAAA;AAE1B,SAAO,UACL,oBAAC,QAAA,CAAA,CAAO,IACN,OACF,oBAAC,QAAA,CAAA,CAAO,IAER,oBAAC,UAAA,EAAS,IAAI,SAAS,OAAO;AAElC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/views/privateRoute.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { Navigate, Outlet } from \"react-router-dom\";\r\n\r\nimport { Pathname } from \"../constants/pathnames/pathname\";\r\nimport { useAuth } from \"../hooks/useAuth\";\r\nimport Loader from \"../components/loader\";\r\n\r\nexport const PrivateRoute = () => {\r\n const { user, loading } = useAuth();\r\n\r\n return loading ? (\r\n <Loader />\r\n ) : user ? (\r\n <Outlet />\r\n ) : (\r\n <Navigate to={Pathname.LOGIN} />\r\n );\r\n};\r\n\r\nexport default PrivateRoute;\r\n"],"names":["PrivateRoute","user","loading","useAuth","jsx","Loader","Outlet","Navigate","to","Pathname","LOGIN"],"mappings":"sRAOO,MAAMA,EAAe,KAC1B,MAAMC,KAAEA,EAAAC,QAAMA,GAAYC,YAE1B,OAAOD,iBACLE,EAAAA,IAACC,EAAAA,OAAA,CAAA,GACCJ,iBACFG,MAACE,EAAAA,OAAA,CAAA,kBAEDF,EAAAA,IAACG,EAAAA,SAAA,CAASC,GAAIC,EAAAA,SAASC"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/views/privateRoute.tsx"],"sourcesContent":["import React from \"react\";\nimport { Navigate, Outlet } from \"react-router-dom\";\n\nimport { Pathname } from \"../constants/pathnames/pathname\";\nimport { useAuth } from \"../hooks/useAuth\";\nimport Loader from \"../components/loader\";\n\nexport const PrivateRoute = () => {\n const { user, loading } = useAuth();\n\n return loading ? (\n <Loader />\n ) : user ? (\n <Outlet />\n ) : (\n <Navigate to={Pathname.LOGIN} />\n );\n};\n\nexport default PrivateRoute;\n"],"names":["PrivateRoute","user","loading","useAuth","jsx","Loader","Outlet","Navigate","to","Pathname","LOGIN"],"mappings":"sRAOO,MAAMA,EAAe,KAC1B,MAAMC,KAAEA,EAAAC,QAAMA,GAAYC,YAE1B,OAAOD,iBACLE,EAAAA,IAACC,EAAAA,OAAA,CAAA,GACCJ,iBACFG,MAACE,EAAAA,OAAA,CAAA,kBAEDF,EAAAA,IAACG,EAAAA,SAAA,CAASC,GAAIC,EAAAA,SAASC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/template-editor/add-template/add-template.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\r\nimport { Box } from '@mui/material';\r\nimport SectionFlowEditor from '../components/SectionFlowEditor';\r\nimport './add-template.scss';\r\nimport { ITemplateFormProps } from '../utils/types';\r\n\r\nconst AddTemplate: React.FC<ITemplateFormProps> = ({ modulePath, module, type}) => {\r\n return (\r\n <Box sx={{ minHeight: '100vh', bgcolor: 'grey.50' }}>\r\n <SectionFlowEditor modulePath={modulePath} module={module} type={type}/>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default AddTemplate;"],"names":[],"mappings":";;;;AAMA,MAAM,cAA4C,CAAC,EAAE,YAAY,QAAQ,WAAU;AACjF,SACE,oBAAC,KAAA,EAAI,IAAI,EAAE,WAAW,SAAS,SAAS,UAAA,GACtC,UAAA,oBAAC,mBAAA,EAAkB,YAAwB,QAAgB,MAAW,GACxE;AAEJ;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/template-editor/add-template/add-template.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\nimport { Box } from '@mui/material';\nimport SectionFlowEditor from '../components/SectionFlowEditor';\nimport './add-template.scss';\nimport { ITemplateFormProps } from '../utils/types';\n\nconst AddTemplate: React.FC<ITemplateFormProps> = ({ modulePath, module, type}) => {\n return (\n <Box sx={{ minHeight: '100vh', bgcolor: 'grey.50' }}>\n <SectionFlowEditor modulePath={modulePath} module={module} type={type}/>\n </Box>\n );\n};\n\nexport default AddTemplate;"],"names":[],"mappings":";;;;AAMA,MAAM,cAA4C,CAAC,EAAE,YAAY,QAAQ,WAAU;AACjF,SACE,oBAAC,KAAA,EAAI,IAAI,EAAE,WAAW,SAAS,SAAS,UAAA,GACtC,UAAA,oBAAC,mBAAA,EAAkB,YAAwB,QAAgB,MAAW,GACxE;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/template-editor/add-template/add-template.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\r\nimport { Box } from '@mui/material';\r\nimport SectionFlowEditor from '../components/SectionFlowEditor';\r\nimport './add-template.scss';\r\nimport { ITemplateFormProps } from '../utils/types';\r\n\r\nconst AddTemplate: React.FC<ITemplateFormProps> = ({ modulePath, module, type}) => {\r\n return (\r\n <Box sx={{ minHeight: '100vh', bgcolor: 'grey.50' }}>\r\n <SectionFlowEditor modulePath={modulePath} module={module} type={type}/>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default AddTemplate;"],"names":["modulePath","module","type","jsx","Box","sx","minHeight","bgcolor","children","SectionFlowEditor"],"mappings":"kSAMkD,EAAGA,aAAYC,OAAAA,EAAQC,yBAErEC,EAAAA,IAACC,EAAAA,QAAA,CAAIC,GAAI,CAAEC,UAAW,QAASC,QAAS,WACtCC,wBAAAL,EAAAA,IAACM,UAAA,CAAkBT,aAAwBC,OAAAA,EAAgBC"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/template-editor/add-template/add-template.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\nimport { Box } from '@mui/material';\nimport SectionFlowEditor from '../components/SectionFlowEditor';\nimport './add-template.scss';\nimport { ITemplateFormProps } from '../utils/types';\n\nconst AddTemplate: React.FC<ITemplateFormProps> = ({ modulePath, module, type}) => {\n return (\n <Box sx={{ minHeight: '100vh', bgcolor: 'grey.50' }}>\n <SectionFlowEditor modulePath={modulePath} module={module} type={type}/>\n </Box>\n );\n};\n\nexport default AddTemplate;"],"names":["modulePath","module","type","jsx","Box","sx","minHeight","bgcolor","children","SectionFlowEditor"],"mappings":"kSAMkD,EAAGA,aAAYC,OAAAA,EAAQC,yBAErEC,EAAAA,IAACC,EAAAA,QAAA,CAAIC,GAAI,CAAEC,UAAW,QAASC,QAAS,WACtCC,wBAAAL,EAAAA,IAACM,UAAA,CAAkBT,aAAwBC,OAAAA,EAAgBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/template-editor/company-selection-modal/company-selection-modal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/* eslint-disable unused-imports/no-unused-vars */\r\nimport React from 'react';\r\n\r\nimport Modal from '../../../components/modal/modal';\r\nimport Typography from '../../../components/typography/typography';\r\nimport Button from '../../../components/button/button';\r\nimport Select from '../../../components/select/select';\r\n\r\nimport {\r\n\tBox,\r\n\tDialogActions,\r\n\tDialogContent,\r\n\tDialogProps,\r\n\tDialogTitle,\r\n\tIconButton,\r\n\tMenuItem\r\n} from '@mui/material';\r\nimport Close from '@mui/icons-material/Close';\r\n\r\nimport './company-selection-modal.scss';\r\nimport { IEmail } from '../utils/types';\r\nimport { enqueueSnackbar } from 'notistack';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\ninterface CompanySelectionModalProps {\r\n\tisOpen: boolean;\r\n\tsetIsOpen: (value: IEmail | null) => void;\r\n\tmodalProps?: DialogProps;\r\n\temail: IEmail;\r\n\tcompanies: Record<string, any>[];\r\n\ttemplateRoutes: Record<string, any>\r\n}\r\n\r\nconst CompanySelectionModal: React.FC<CompanySelectionModalProps> = ({\r\n\tisOpen,\r\n\tsetIsOpen,\r\n\tmodalProps,\r\n\tcompanies,\r\n\temail,\r\n\ttemplateRoutes\r\n}) => {\r\n\r\n\tconst navigate = useNavigate();\r\n\tconst [selectedCompany, setSelectedCompany] = React.useState<number>(0);\r\n\r\n\tconst handleModalClose = () => {\r\n\t\tsetIsOpen(null);\r\n\t};\r\n\r\n\tconst handleContinue = () => {\r\n\t\tif(!selectedCompany) {\r\n\t\t\tenqueueSnackbar('Please select a company', { variant: 'error' });\r\n\t\t\treturn;\r\n\t\t} else if(!email) {\r\n\t\t\tenqueueSnackbar('Something went wrong for a subject', { variant: 'error' });\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tnavigate(templateRoutes.ADD_TEMPLATE(email._id), { state: { company_id: selectedCompany }})\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Modal\r\n\t\t\topen={isOpen}\r\n\t\t\tonClose={handleModalClose}\r\n\t\t\tmaxWidth='xs'\r\n\t\t\tfullWidth\r\n\t\t\t{...modalProps}>\r\n\t\t\t<DialogTitle className='companySelectionModal--DialogTitle'>\r\n\t\t\t\t<Typography type='s3' color='inherit' weight='medium'>\r\n\t\t\t\t\tSelect Company\r\n\t\t\t\t</Typography>\r\n\t\t\t\t<IconButton onClick={handleModalClose}>\r\n\t\t\t\t\t<Close fontSize='small' />\r\n\t\t\t\t</IconButton>\r\n\t\t\t</DialogTitle>\r\n\t\t\t<DialogContent className='companySelectionModal--DialogContents'>\r\n\t\t\t\t<Select\r\n\t\t\t\t\tdisplayEmpty\r\n\t\t\t\t\tvalue={selectedCompany}\r\n\t\t\t\t\tsize='small'\r\n\t\t\t\t\trenderValue={(value) => value ? companies.find((option) => option.value === value)?.label : 'Select Company'}\r\n\t\t\t\t\tfullWidth\r\n\t\t\t\t\tsx={{\r\n\t\t\t\t\t\tbgcolor: 'white',\r\n\t\t\t\t\t\tborderRadius: 1,\r\n\t\t\t\t\t\t'& .MuiSelect-select': { py: 0.75 }\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\tif (e.target.value) {\r\n\t\t\t\t\t\t\tsetSelectedCompany(e.target.value as number);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}}>\r\n\t\t\t\t\t{companies.map((option) => (\r\n\t\t\t\t\t\t<MenuItem key={option.value} value={option.value}>\r\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>{option.label}</Typography>\r\n\t\t\t\t\t\t</MenuItem>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</Select>\r\n\t\t\t</DialogContent>\r\n\t\t\t<DialogActions className='companySelectionModal--DialogAction'>\r\n\t\t\t\t<Box display='flex' gap={1.5}>\r\n\t\t\t\t\t<Button className='companySelectionModal--DialogAction--WhiteBtn' onClick={handleModalClose}>Cancel</Button>\r\n\t\t\t\t\t<Button onClick={() => handleContinue()} disabled={!selectedCompany}>Continue</Button>\r\n\t\t\t\t</Box>\r\n\t\t\t</DialogActions>\r\n\t\t</Modal>\r\n\t);\r\n};\r\n\r\nexport default CompanySelectionModal;\r\n"],"names":["React","Close"],"mappings":";;;;;;;;;;;;;;;;AAkCA,MAAM,wBAA8D,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAM;AAEL,QAAM,WAAW,YAAA;AACjB,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,eAAM,SAAiB,CAAC;AAEtE,QAAM,mBAAmB,MAAM;AAC9B,cAAU,IAAI;AAAA,EACf;AAEA,QAAM,iBAAiB,MAAM;AAC5B,QAAG,CAAC,iBAAiB;AACpB,sBAAgB,2BAA2B,EAAE,SAAS,QAAA,CAAS;AAC/D;AAAA,IACD,WAAU,CAAC,OAAO;AACjB,sBAAgB,sCAAsC,EAAE,SAAS,QAAA,CAAS;AAC1E;AAAA,IACD;AAEA,aAAS,eAAe,aAAa,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,YAAY,gBAAA,GAAkB;AAAA,EAC3F;AAEA,SACC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,MACT,UAAS;AAAA,MACT,WAAS;AAAA,MACR,GAAG;AAAA,MACJ,UAAA;AAAA,QAAA,qBAAC,aAAA,EAAY,WAAU,sCACtB,UAAA;AAAA,UAAA,oBAAC,cAAW,MAAK,MAAK,OAAM,WAAU,QAAO,UAAS,UAAA,iBAAA,CAEtD;AAAA,UACA,oBAAC,cAAW,SAAS,kBACpB,8BAACC,WAAA,EAAM,UAAS,SAAQ,EAAA,CACzB;AAAA,QAAA,GACD;AAAA,QACA,oBAAC,eAAA,EAAc,WAAU,yCACxB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,cAAY;AAAA,YACZ,OAAO;AAAA,YACP,MAAK;AAAA,YACL,aAAa,CAAC;;AAAU,8BAAQ,eAAU,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,MAAjD,mBAAoD,QAAQ;AAAA;AAAA,YAC5F,WAAS;AAAA,YACT,IAAI;AAAA,cACH,SAAS;AAAA,cACT,cAAc;AAAA,cACd,uBAAuB,EAAE,IAAI,KAAA;AAAA,YAAK;AAAA,YAEnC,UAAU,CAAC,MAAM;AAChB,kBAAI,EAAE,OAAO,OAAO;AACnB,mCAAmB,EAAE,OAAO,KAAe;AAAA,cAC5C;AAAA,YACD;AAAA,YACC,UAAA,UAAU,IAAI,CAAC,+BACd,UAAA,EAA4B,OAAO,OAAO,OAC1C,UAAA,oBAAC,cAAW,MAAK,MAAK,OAAM,wBAAwB,UAAA,OAAO,OAAM,KADnD,OAAO,KAEtB,CACA;AAAA,UAAA;AAAA,QAAA,GAEH;AAAA,QACA,oBAAC,iBAAc,WAAU,uCACxB,+BAAC,KAAA,EAAI,SAAQ,QAAO,KAAK,KACxB,UAAA;AAAA,UAAA,oBAAC,QAAA,EAAO,WAAU,iDAAgD,SAAS,kBAAkB,UAAA,UAAM;AAAA,UACnG,oBAAC,UAAO,SAAS,MAAM,kBAAkB,UAAU,CAAC,iBAAiB,UAAA,WAAA,CAAQ;AAAA,QAAA,EAAA,CAC9E,EAAA,CACD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGH;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/template-editor/company-selection-modal/company-selection-modal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React from 'react';\n\nimport Modal from '../../../components/modal/modal';\nimport Typography from '../../../components/typography/typography';\nimport Button from '../../../components/button/button';\nimport Select from '../../../components/select/select';\n\nimport {\n\tBox,\n\tDialogActions,\n\tDialogContent,\n\tDialogProps,\n\tDialogTitle,\n\tIconButton,\n\tMenuItem\n} from '@mui/material';\nimport Close from '@mui/icons-material/Close';\n\nimport './company-selection-modal.scss';\nimport { IEmail } from '../utils/types';\nimport { enqueueSnackbar } from 'notistack';\nimport { useNavigate } from 'react-router-dom';\n\ninterface CompanySelectionModalProps {\n\tisOpen: boolean;\n\tsetIsOpen: (value: IEmail | null) => void;\n\tmodalProps?: DialogProps;\n\temail: IEmail;\n\tcompanies: Record<string, any>[];\n\ttemplateRoutes: Record<string, any>\n}\n\nconst CompanySelectionModal: React.FC<CompanySelectionModalProps> = ({\n\tisOpen,\n\tsetIsOpen,\n\tmodalProps,\n\tcompanies,\n\temail,\n\ttemplateRoutes\n}) => {\n\n\tconst navigate = useNavigate();\n\tconst [selectedCompany, setSelectedCompany] = React.useState<number>(0);\n\n\tconst handleModalClose = () => {\n\t\tsetIsOpen(null);\n\t};\n\n\tconst handleContinue = () => {\n\t\tif(!selectedCompany) {\n\t\t\tenqueueSnackbar('Please select a company', { variant: 'error' });\n\t\t\treturn;\n\t\t} else if(!email) {\n\t\t\tenqueueSnackbar('Something went wrong for a subject', { variant: 'error' });\n\t\t\treturn;\n\t\t}\n\n\t\tnavigate(templateRoutes.ADD_TEMPLATE(email._id), { state: { company_id: selectedCompany }})\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\topen={isOpen}\n\t\t\tonClose={handleModalClose}\n\t\t\tmaxWidth='xs'\n\t\t\tfullWidth\n\t\t\t{...modalProps}>\n\t\t\t<DialogTitle className='companySelectionModal--DialogTitle'>\n\t\t\t\t<Typography type='s3' color='inherit' weight='medium'>\n\t\t\t\t\tSelect Company\n\t\t\t\t</Typography>\n\t\t\t\t<IconButton onClick={handleModalClose}>\n\t\t\t\t\t<Close fontSize='small' />\n\t\t\t\t</IconButton>\n\t\t\t</DialogTitle>\n\t\t\t<DialogContent className='companySelectionModal--DialogContents'>\n\t\t\t\t<Select\n\t\t\t\t\tdisplayEmpty\n\t\t\t\t\tvalue={selectedCompany}\n\t\t\t\t\tsize='small'\n\t\t\t\t\trenderValue={(value) => value ? companies.find((option) => option.value === value)?.label : 'Select Company'}\n\t\t\t\t\tfullWidth\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tbgcolor: 'white',\n\t\t\t\t\t\tborderRadius: 1,\n\t\t\t\t\t\t'& .MuiSelect-select': { py: 0.75 }\n\t\t\t\t\t}}\n\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\tif (e.target.value) {\n\t\t\t\t\t\t\tsetSelectedCompany(e.target.value as number);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t{companies.map((option) => (\n\t\t\t\t\t\t<MenuItem key={option.value} value={option.value}>\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>{option.label}</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions className='companySelectionModal--DialogAction'>\n\t\t\t\t<Box display='flex' gap={1.5}>\n\t\t\t\t\t<Button className='companySelectionModal--DialogAction--WhiteBtn' onClick={handleModalClose}>Cancel</Button>\n\t\t\t\t\t<Button onClick={() => handleContinue()} disabled={!selectedCompany}>Continue</Button>\n\t\t\t\t</Box>\n\t\t\t</DialogActions>\n\t\t</Modal>\n\t);\n};\n\nexport default CompanySelectionModal;\n"],"names":["React","Close"],"mappings":";;;;;;;;;;;;;;;;AAkCA,MAAM,wBAA8D,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAM;AAEL,QAAM,WAAW,YAAA;AACjB,QAAM,CAAC,iBAAiB,kBAAkB,IAAIA,eAAM,SAAiB,CAAC;AAEtE,QAAM,mBAAmB,MAAM;AAC9B,cAAU,IAAI;AAAA,EACf;AAEA,QAAM,iBAAiB,MAAM;AAC5B,QAAG,CAAC,iBAAiB;AACpB,sBAAgB,2BAA2B,EAAE,SAAS,QAAA,CAAS;AAC/D;AAAA,IACD,WAAU,CAAC,OAAO;AACjB,sBAAgB,sCAAsC,EAAE,SAAS,QAAA,CAAS;AAC1E;AAAA,IACD;AAEA,aAAS,eAAe,aAAa,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,YAAY,gBAAA,GAAkB;AAAA,EAC3F;AAEA,SACC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAM;AAAA,MACN,SAAS;AAAA,MACT,UAAS;AAAA,MACT,WAAS;AAAA,MACR,GAAG;AAAA,MACJ,UAAA;AAAA,QAAA,qBAAC,aAAA,EAAY,WAAU,sCACtB,UAAA;AAAA,UAAA,oBAAC,cAAW,MAAK,MAAK,OAAM,WAAU,QAAO,UAAS,UAAA,iBAAA,CAEtD;AAAA,UACA,oBAAC,cAAW,SAAS,kBACpB,8BAACC,WAAA,EAAM,UAAS,SAAQ,EAAA,CACzB;AAAA,QAAA,GACD;AAAA,QACA,oBAAC,eAAA,EAAc,WAAU,yCACxB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACA,cAAY;AAAA,YACZ,OAAO;AAAA,YACP,MAAK;AAAA,YACL,aAAa,CAAC;;AAAU,8BAAQ,eAAU,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,MAAjD,mBAAoD,QAAQ;AAAA;AAAA,YAC5F,WAAS;AAAA,YACT,IAAI;AAAA,cACH,SAAS;AAAA,cACT,cAAc;AAAA,cACd,uBAAuB,EAAE,IAAI,KAAA;AAAA,YAAK;AAAA,YAEnC,UAAU,CAAC,MAAM;AAChB,kBAAI,EAAE,OAAO,OAAO;AACnB,mCAAmB,EAAE,OAAO,KAAe;AAAA,cAC5C;AAAA,YACD;AAAA,YACC,UAAA,UAAU,IAAI,CAAC,+BACd,UAAA,EAA4B,OAAO,OAAO,OAC1C,UAAA,oBAAC,cAAW,MAAK,MAAK,OAAM,wBAAwB,UAAA,OAAO,OAAM,KADnD,OAAO,KAEtB,CACA;AAAA,UAAA;AAAA,QAAA,GAEH;AAAA,QACA,oBAAC,iBAAc,WAAU,uCACxB,+BAAC,KAAA,EAAI,SAAQ,QAAO,KAAK,KACxB,UAAA;AAAA,UAAA,oBAAC,QAAA,EAAO,WAAU,iDAAgD,SAAS,kBAAkB,UAAA,UAAM;AAAA,UACnG,oBAAC,UAAO,SAAS,MAAM,kBAAkB,UAAU,CAAC,iBAAiB,UAAA,WAAA,CAAQ;AAAA,QAAA,EAAA,CAC9E,EAAA,CACD;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/template-editor/company-selection-modal/company-selection-modal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/* eslint-disable unused-imports/no-unused-vars */\r\nimport React from 'react';\r\n\r\nimport Modal from '../../../components/modal/modal';\r\nimport Typography from '../../../components/typography/typography';\r\nimport Button from '../../../components/button/button';\r\nimport Select from '../../../components/select/select';\r\n\r\nimport {\r\n\tBox,\r\n\tDialogActions,\r\n\tDialogContent,\r\n\tDialogProps,\r\n\tDialogTitle,\r\n\tIconButton,\r\n\tMenuItem\r\n} from '@mui/material';\r\nimport Close from '@mui/icons-material/Close';\r\n\r\nimport './company-selection-modal.scss';\r\nimport { IEmail } from '../utils/types';\r\nimport { enqueueSnackbar } from 'notistack';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\ninterface CompanySelectionModalProps {\r\n\tisOpen: boolean;\r\n\tsetIsOpen: (value: IEmail | null) => void;\r\n\tmodalProps?: DialogProps;\r\n\temail: IEmail;\r\n\tcompanies: Record<string, any>[];\r\n\ttemplateRoutes: Record<string, any>\r\n}\r\n\r\nconst CompanySelectionModal: React.FC<CompanySelectionModalProps> = ({\r\n\tisOpen,\r\n\tsetIsOpen,\r\n\tmodalProps,\r\n\tcompanies,\r\n\temail,\r\n\ttemplateRoutes\r\n}) => {\r\n\r\n\tconst navigate = useNavigate();\r\n\tconst [selectedCompany, setSelectedCompany] = React.useState<number>(0);\r\n\r\n\tconst handleModalClose = () => {\r\n\t\tsetIsOpen(null);\r\n\t};\r\n\r\n\tconst handleContinue = () => {\r\n\t\tif(!selectedCompany) {\r\n\t\t\tenqueueSnackbar('Please select a company', { variant: 'error' });\r\n\t\t\treturn;\r\n\t\t} else if(!email) {\r\n\t\t\tenqueueSnackbar('Something went wrong for a subject', { variant: 'error' });\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tnavigate(templateRoutes.ADD_TEMPLATE(email._id), { state: { company_id: selectedCompany }})\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Modal\r\n\t\t\topen={isOpen}\r\n\t\t\tonClose={handleModalClose}\r\n\t\t\tmaxWidth='xs'\r\n\t\t\tfullWidth\r\n\t\t\t{...modalProps}>\r\n\t\t\t<DialogTitle className='companySelectionModal--DialogTitle'>\r\n\t\t\t\t<Typography type='s3' color='inherit' weight='medium'>\r\n\t\t\t\t\tSelect Company\r\n\t\t\t\t</Typography>\r\n\t\t\t\t<IconButton onClick={handleModalClose}>\r\n\t\t\t\t\t<Close fontSize='small' />\r\n\t\t\t\t</IconButton>\r\n\t\t\t</DialogTitle>\r\n\t\t\t<DialogContent className='companySelectionModal--DialogContents'>\r\n\t\t\t\t<Select\r\n\t\t\t\t\tdisplayEmpty\r\n\t\t\t\t\tvalue={selectedCompany}\r\n\t\t\t\t\tsize='small'\r\n\t\t\t\t\trenderValue={(value) => value ? companies.find((option) => option.value === value)?.label : 'Select Company'}\r\n\t\t\t\t\tfullWidth\r\n\t\t\t\t\tsx={{\r\n\t\t\t\t\t\tbgcolor: 'white',\r\n\t\t\t\t\t\tborderRadius: 1,\r\n\t\t\t\t\t\t'& .MuiSelect-select': { py: 0.75 }\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonChange={(e) => {\r\n\t\t\t\t\t\tif (e.target.value) {\r\n\t\t\t\t\t\t\tsetSelectedCompany(e.target.value as number);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}}>\r\n\t\t\t\t\t{companies.map((option) => (\r\n\t\t\t\t\t\t<MenuItem key={option.value} value={option.value}>\r\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>{option.label}</Typography>\r\n\t\t\t\t\t\t</MenuItem>\r\n\t\t\t\t\t))}\r\n\t\t\t\t</Select>\r\n\t\t\t</DialogContent>\r\n\t\t\t<DialogActions className='companySelectionModal--DialogAction'>\r\n\t\t\t\t<Box display='flex' gap={1.5}>\r\n\t\t\t\t\t<Button className='companySelectionModal--DialogAction--WhiteBtn' onClick={handleModalClose}>Cancel</Button>\r\n\t\t\t\t\t<Button onClick={() => handleContinue()} disabled={!selectedCompany}>Continue</Button>\r\n\t\t\t\t</Box>\r\n\t\t\t</DialogActions>\r\n\t\t</Modal>\r\n\t);\r\n};\r\n\r\nexport default CompanySelectionModal;\r\n"],"names":["isOpen","setIsOpen","modalProps","companies","email","templateRoutes","navigate","useNavigate","selectedCompany","setSelectedCompany","React","useState","handleModalClose","jsxs","Modal","open","onClose","maxWidth","fullWidth","children","DialogTitle","className","jsx","Typography","type","color","weight","IconButton","onClick","Close","fontSize","DialogContent","Select","displayEmpty","value","size","renderValue","_a","find","option","label","sx","bgcolor","borderRadius","py","onChange","e","target","map","MenuItem","DialogActions","Box","display","gap","Button","ADD_TEMPLATE","_id","state","company_id","enqueueSnackbar","variant","disabled"],"mappings":"krCAkCoE,EACnEA,SACAC,YACAC,aACAC,YACAC,QACAC,qBAGA,MAAMC,EAAWC,EAAAA,eACVC,EAAiBC,GAAsBC,EAAAA,QAAMC,SAAiB,GAE/DC,EAAmB,KACxBX,EAAU;AAeX,OACCY,EAAAA,KAACC,EAAAA,MAAA,CACAC,KAAMf,EACNgB,QAASJ,EACTK,SAAS,KACTC,WAAS,KACLhB,EACJiB,SAAA;iBAAAN,KAACO,EAAAA,QAAA,CAAYC,UAAU,qCACtBF,SAAA;eAAAG,EAAAA,IAACC,EAAAA,YAAWC,KAAK,KAAKC,MAAM,UAAUC,OAAO,SAASP,SAAA;iBAGtDG,IAACK,EAAAA,SAAWC,QAAShB,EACpBO,8BAACU,UAAA,CAAMC,SAAS;eAGlBR,EAAAA,IAACS,EAAAA,QAAA,CAAcV,UAAU,wCACxBF,wBAAAG,EAAAA,IAACU,EAAAA,OAAA,CACAC,cAAY,EACZC,MAAO1B,EACP2B,KAAK,QACLC,YAAcF,UAAU,OAAAA,EAAQ,OAAAG,EAAAlC,EAAUmC,KAAMC,GAAWA,EAAOL,QAAUA,SAA5C,EAAAG,EAAoDG,MAAQ,kBAC5FtB,WAAS,EACTuB,GAAI,CACHC,QAAS,QACTC,aAAc,EACd,sBAAuB,CAAEC,GAAI,MAE9BC,SAAWC,IACNA,EAAEC,OAAOb,OACZzB,EAAmBqC,EAAEC,OAAOb,QAG7Bf,SAAAhB,EAAU6C,IAAKT,wBACdU,EAAAA,QAAA,CAA4Bf,MAAOK,EAAOL,MAC1Cf,wBAAAG,EAAAA,IAACC,EAAAA,YAAWC,KAAK,KAAKC,MAAM,uBAAwBN,SAAAoB,EAAOC,SAD7CD,EAAOL;iBAMzBZ,IAAC4B,EAAAA,SAAc7B,UAAU,sCACxBF,+BAACgC,EAAAA,QAAA,CAAIC,QAAQ,OAAOC,IAAK,IACxBlC,SAAA;eAAAG,MAACgC,EAAAA,OAAA,CAAOjC,UAAU,gDAAgDO,QAAShB,EAAkBO,SAAA;eAC7FG,MAACgC,EAAAA,QAAO1B,QAAS,KArDhBpB,EAGOJ,EAKXE,EAASD,EAAekD,aAAanD,EAAMoD,KAAM,CAAEC,MAAO,CAAEC,WAAYlD,KAJvEmD,EAAAA,gBAAgB,qCAAsC,CAAEC,QAAS,UAHjED,EAAAA,gBAAgB,0BAA2B,CAAEC,QAAS,WAoDXC,UAAWrD,EAAiBW,SAAA"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/template-editor/company-selection-modal/company-selection-modal.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React from 'react';\n\nimport Modal from '../../../components/modal/modal';\nimport Typography from '../../../components/typography/typography';\nimport Button from '../../../components/button/button';\nimport Select from '../../../components/select/select';\n\nimport {\n\tBox,\n\tDialogActions,\n\tDialogContent,\n\tDialogProps,\n\tDialogTitle,\n\tIconButton,\n\tMenuItem\n} from '@mui/material';\nimport Close from '@mui/icons-material/Close';\n\nimport './company-selection-modal.scss';\nimport { IEmail } from '../utils/types';\nimport { enqueueSnackbar } from 'notistack';\nimport { useNavigate } from 'react-router-dom';\n\ninterface CompanySelectionModalProps {\n\tisOpen: boolean;\n\tsetIsOpen: (value: IEmail | null) => void;\n\tmodalProps?: DialogProps;\n\temail: IEmail;\n\tcompanies: Record<string, any>[];\n\ttemplateRoutes: Record<string, any>\n}\n\nconst CompanySelectionModal: React.FC<CompanySelectionModalProps> = ({\n\tisOpen,\n\tsetIsOpen,\n\tmodalProps,\n\tcompanies,\n\temail,\n\ttemplateRoutes\n}) => {\n\n\tconst navigate = useNavigate();\n\tconst [selectedCompany, setSelectedCompany] = React.useState<number>(0);\n\n\tconst handleModalClose = () => {\n\t\tsetIsOpen(null);\n\t};\n\n\tconst handleContinue = () => {\n\t\tif(!selectedCompany) {\n\t\t\tenqueueSnackbar('Please select a company', { variant: 'error' });\n\t\t\treturn;\n\t\t} else if(!email) {\n\t\t\tenqueueSnackbar('Something went wrong for a subject', { variant: 'error' });\n\t\t\treturn;\n\t\t}\n\n\t\tnavigate(templateRoutes.ADD_TEMPLATE(email._id), { state: { company_id: selectedCompany }})\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\topen={isOpen}\n\t\t\tonClose={handleModalClose}\n\t\t\tmaxWidth='xs'\n\t\t\tfullWidth\n\t\t\t{...modalProps}>\n\t\t\t<DialogTitle className='companySelectionModal--DialogTitle'>\n\t\t\t\t<Typography type='s3' color='inherit' weight='medium'>\n\t\t\t\t\tSelect Company\n\t\t\t\t</Typography>\n\t\t\t\t<IconButton onClick={handleModalClose}>\n\t\t\t\t\t<Close fontSize='small' />\n\t\t\t\t</IconButton>\n\t\t\t</DialogTitle>\n\t\t\t<DialogContent className='companySelectionModal--DialogContents'>\n\t\t\t\t<Select\n\t\t\t\t\tdisplayEmpty\n\t\t\t\t\tvalue={selectedCompany}\n\t\t\t\t\tsize='small'\n\t\t\t\t\trenderValue={(value) => value ? companies.find((option) => option.value === value)?.label : 'Select Company'}\n\t\t\t\t\tfullWidth\n\t\t\t\t\tsx={{\n\t\t\t\t\t\tbgcolor: 'white',\n\t\t\t\t\t\tborderRadius: 1,\n\t\t\t\t\t\t'& .MuiSelect-select': { py: 0.75 }\n\t\t\t\t\t}}\n\t\t\t\t\tonChange={(e) => {\n\t\t\t\t\t\tif (e.target.value) {\n\t\t\t\t\t\t\tsetSelectedCompany(e.target.value as number);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t{companies.map((option) => (\n\t\t\t\t\t\t<MenuItem key={option.value} value={option.value}>\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>{option.label}</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</DialogContent>\n\t\t\t<DialogActions className='companySelectionModal--DialogAction'>\n\t\t\t\t<Box display='flex' gap={1.5}>\n\t\t\t\t\t<Button className='companySelectionModal--DialogAction--WhiteBtn' onClick={handleModalClose}>Cancel</Button>\n\t\t\t\t\t<Button onClick={() => handleContinue()} disabled={!selectedCompany}>Continue</Button>\n\t\t\t\t</Box>\n\t\t\t</DialogActions>\n\t\t</Modal>\n\t);\n};\n\nexport default CompanySelectionModal;\n"],"names":["isOpen","setIsOpen","modalProps","companies","email","templateRoutes","navigate","useNavigate","selectedCompany","setSelectedCompany","React","useState","handleModalClose","jsxs","Modal","open","onClose","maxWidth","fullWidth","children","DialogTitle","className","jsx","Typography","type","color","weight","IconButton","onClick","Close","fontSize","DialogContent","Select","displayEmpty","value","size","renderValue","_a","find","option","label","sx","bgcolor","borderRadius","py","onChange","e","target","map","MenuItem","DialogActions","Box","display","gap","Button","ADD_TEMPLATE","_id","state","company_id","enqueueSnackbar","variant","disabled"],"mappings":"krCAkCoE,EACnEA,SACAC,YACAC,aACAC,YACAC,QACAC,qBAGA,MAAMC,EAAWC,EAAAA,eACVC,EAAiBC,GAAsBC,EAAAA,QAAMC,SAAiB,GAE/DC,EAAmB,KACxBX,EAAU;AAeX,OACCY,EAAAA,KAACC,EAAAA,MAAA,CACAC,KAAMf,EACNgB,QAASJ,EACTK,SAAS,KACTC,WAAS,KACLhB,EACJiB,SAAA;iBAAAN,KAACO,EAAAA,QAAA,CAAYC,UAAU,qCACtBF,SAAA;eAAAG,EAAAA,IAACC,EAAAA,YAAWC,KAAK,KAAKC,MAAM,UAAUC,OAAO,SAASP,SAAA;iBAGtDG,IAACK,EAAAA,SAAWC,QAAShB,EACpBO,8BAACU,UAAA,CAAMC,SAAS;eAGlBR,EAAAA,IAACS,EAAAA,QAAA,CAAcV,UAAU,wCACxBF,wBAAAG,EAAAA,IAACU,EAAAA,OAAA,CACAC,cAAY,EACZC,MAAO1B,EACP2B,KAAK,QACLC,YAAcF,UAAU,OAAAA,EAAQ,OAAAG,EAAAlC,EAAUmC,KAAMC,GAAWA,EAAOL,QAAUA,SAA5C,EAAAG,EAAoDG,MAAQ,kBAC5FtB,WAAS,EACTuB,GAAI,CACHC,QAAS,QACTC,aAAc,EACd,sBAAuB,CAAEC,GAAI,MAE9BC,SAAWC,IACNA,EAAEC,OAAOb,OACZzB,EAAmBqC,EAAEC,OAAOb,QAG7Bf,SAAAhB,EAAU6C,IAAKT,wBACdU,EAAAA,QAAA,CAA4Bf,MAAOK,EAAOL,MAC1Cf,wBAAAG,EAAAA,IAACC,EAAAA,YAAWC,KAAK,KAAKC,MAAM,uBAAwBN,SAAAoB,EAAOC,SAD7CD,EAAOL;iBAMzBZ,IAAC4B,EAAAA,SAAc7B,UAAU,sCACxBF,+BAACgC,EAAAA,QAAA,CAAIC,QAAQ,OAAOC,IAAK,IACxBlC,SAAA;eAAAG,MAACgC,EAAAA,OAAA,CAAOjC,UAAU,gDAAgDO,QAAShB,EAAkBO,SAAA;eAC7FG,MAACgC,EAAAA,QAAO1B,QAAS,KArDhBpB,EAGOJ,EAKXE,EAASD,EAAekD,aAAanD,EAAMoD,KAAM,CAAEC,MAAO,CAAEC,WAAYlD,KAJvEmD,EAAAA,gBAAgB,qCAAsC,CAAEC,QAAS,UAHjED,EAAAA,gBAAgB,0BAA2B,CAAEC,QAAS,WAoDXC,UAAWrD,EAAiBW,SAAA"}