@erpsquad/common 1.11.8 → 1.11.9

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 (599) hide show
  1. package/dist/api-client/index.esm.js +1 -1
  2. package/dist/api-client/index.js +1 -1
  3. package/dist/chunks/{DynamicDependentField-C0XXmMlG.esm.js → DynamicDependentField-CzEJwzIq.esm.js} +2 -2
  4. package/dist/chunks/{DynamicDependentField-C0XXmMlG.esm.js.map → DynamicDependentField-CzEJwzIq.esm.js.map} +1 -1
  5. package/dist/chunks/{DynamicDependentField-CQIfDDqc.js → DynamicDependentField-D8K1QyqC.js} +2 -2
  6. package/dist/chunks/{DynamicDependentField-CQIfDDqc.js.map → DynamicDependentField-D8K1QyqC.js.map} +1 -1
  7. package/dist/chunks/{ERPUIProvider-I4j_X_SD.esm.js → ERPUIProvider-CqbIIC8j.esm.js} +3 -3
  8. package/dist/chunks/{ERPUIProvider-I4j_X_SD.esm.js.map → ERPUIProvider-CqbIIC8j.esm.js.map} +1 -1
  9. package/dist/chunks/{ERPUIProvider-CcSTcdEo.js → ERPUIProvider-TOq-GnAq.js} +3 -3
  10. package/dist/chunks/{ERPUIProvider-CcSTcdEo.js.map → ERPUIProvider-TOq-GnAq.js.map} +1 -1
  11. package/dist/chunks/{FORMS-pxf6g6xE.esm.js → FORMS-C1qQnoDd.esm.js} +7 -7
  12. package/dist/chunks/{FORMS-pxf6g6xE.esm.js.map → FORMS-C1qQnoDd.esm.js.map} +1 -1
  13. package/dist/chunks/{FORMS-CUx32b_4.js → FORMS-qlTftaaD.js} +7 -7
  14. package/dist/chunks/{FORMS-CUx32b_4.js.map → FORMS-qlTftaaD.js.map} +1 -1
  15. package/dist/chunks/{FlexibleReduxExample--GtoEJhc.js → FlexibleReduxExample-BEK1732S.js} +4 -4
  16. package/dist/chunks/{FlexibleReduxExample--GtoEJhc.js.map → FlexibleReduxExample-BEK1732S.js.map} +1 -1
  17. package/dist/chunks/{FlexibleReduxExample-C-2qOGIw.esm.js → FlexibleReduxExample-CfMjfKUf.esm.js} +4 -4
  18. package/dist/chunks/{FlexibleReduxExample-C-2qOGIw.esm.js.map → FlexibleReduxExample-CfMjfKUf.esm.js.map} +1 -1
  19. package/dist/chunks/{SectionFlowEditor-sKsZ3oQo.js → SectionFlowEditor-Bo7czbNc.js} +5 -5
  20. package/dist/chunks/{SectionFlowEditor-sKsZ3oQo.js.map → SectionFlowEditor-Bo7czbNc.js.map} +1 -1
  21. package/dist/chunks/{SectionFlowEditor-CFfJBYKx.esm.js → SectionFlowEditor-Ch24-oHf.esm.js} +5 -5
  22. package/dist/chunks/{SectionFlowEditor-CFfJBYKx.esm.js.map → SectionFlowEditor-Ch24-oHf.esm.js.map} +1 -1
  23. package/dist/chunks/{action-bar-C7Alva4T.esm.js → action-bar-BQ3DcZpw.esm.js} +4 -4
  24. package/dist/chunks/{action-bar-C7Alva4T.esm.js.map → action-bar-BQ3DcZpw.esm.js.map} +1 -1
  25. package/dist/chunks/{action-bar-DdtpxWNk.js → action-bar-CiYO9X02.js} +4 -4
  26. package/dist/chunks/{action-bar-DdtpxWNk.js.map → action-bar-CiYO9X02.js.map} +1 -1
  27. package/dist/chunks/{actionCreator-o4ecxFME.js → actionCreator-BdAKTPvT.js} +3 -3
  28. package/dist/chunks/{actionCreator-o4ecxFME.js.map → actionCreator-BdAKTPvT.js.map} +1 -1
  29. package/dist/chunks/{actionCreator-Cl8vPLVO.esm.js → actionCreator-C5C0Rg3P.esm.js} +2 -2
  30. package/dist/chunks/{actionCreator-Cl8vPLVO.esm.js.map → actionCreator-C5C0Rg3P.esm.js.map} +1 -1
  31. package/dist/chunks/{actionCreator-Cb3NxILP.esm.js → actionCreator-C6VISpYt.esm.js} +3 -3
  32. package/dist/chunks/{actionCreator-Cb3NxILP.esm.js.map → actionCreator-C6VISpYt.esm.js.map} +1 -1
  33. package/dist/chunks/{actionCreator-Dar9Z8_d.esm.js → actionCreator-C7fR-FtF.esm.js} +2 -2
  34. package/dist/chunks/{actionCreator-Dar9Z8_d.esm.js.map → actionCreator-C7fR-FtF.esm.js.map} +1 -1
  35. package/dist/chunks/{actionCreator-CMigYdax.js → actionCreator-CPRDrGDt.js} +3 -3
  36. package/dist/chunks/{actionCreator-CMigYdax.js.map → actionCreator-CPRDrGDt.js.map} +1 -1
  37. package/dist/chunks/{actionCreator-CXmvL3vl.js → actionCreator-D1M0-Fq1.js} +2 -2
  38. package/dist/chunks/{actionCreator-CXmvL3vl.js.map → actionCreator-D1M0-Fq1.js.map} +1 -1
  39. package/dist/chunks/{actionCreator-Bas2FW_X.js → actionCreator-Dds_g-Bu.js} +2 -2
  40. package/dist/chunks/{actionCreator-Bas2FW_X.js.map → actionCreator-Dds_g-Bu.js.map} +1 -1
  41. package/dist/chunks/{actionCreator-CpePNxQM.esm.js → actionCreator-EaDmUCRb.esm.js} +2 -2
  42. package/dist/chunks/{actionCreator-CpePNxQM.esm.js.map → actionCreator-EaDmUCRb.esm.js.map} +1 -1
  43. package/dist/chunks/{actionCreator-CL5ICuqZ.esm.js → actionCreator-Jk4efZIf.esm.js} +3 -3
  44. package/dist/chunks/{actionCreator-CL5ICuqZ.esm.js.map → actionCreator-Jk4efZIf.esm.js.map} +1 -1
  45. package/dist/chunks/{actionCreator-Dl5gTT9c.js → actionCreator-cbPvURIw.js} +2 -2
  46. package/dist/chunks/{actionCreator-Dl5gTT9c.js.map → actionCreator-cbPvURIw.js.map} +1 -1
  47. package/dist/chunks/{add-template-DVvbD9a4.esm.js → add-template-CMJffU6X.esm.js} +2 -2
  48. package/dist/chunks/{add-template-DVvbD9a4.esm.js.map → add-template-CMJffU6X.esm.js.map} +1 -1
  49. package/dist/chunks/{add-template-Dohg2bHJ.js → add-template-xJNMepo_.js} +2 -2
  50. package/dist/chunks/{add-template-Dohg2bHJ.js.map → add-template-xJNMepo_.js.map} +1 -1
  51. package/dist/chunks/{address-modal-CYhiC7ui.js → address-modal-D-FwM2i_.js} +2 -2
  52. package/dist/chunks/{address-modal-CYhiC7ui.js.map → address-modal-D-FwM2i_.js.map} +1 -1
  53. package/dist/chunks/{address-modal-CkDBjnye.esm.js → address-modal-DuLY8PAg.esm.js} +2 -2
  54. package/dist/chunks/{address-modal-CkDBjnye.esm.js.map → address-modal-DuLY8PAg.esm.js.map} +1 -1
  55. package/dist/chunks/{ai-summary-BxcrnNNM.js → ai-summary-CzLIVEbV.js} +3 -3
  56. package/dist/chunks/{ai-summary-BxcrnNNM.js.map → ai-summary-CzLIVEbV.js.map} +1 -1
  57. package/dist/chunks/{ai-summary-SKK5KN2s.esm.js → ai-summary-DGQyEhsD.esm.js} +3 -3
  58. package/dist/chunks/{ai-summary-SKK5KN2s.esm.js.map → ai-summary-DGQyEhsD.esm.js.map} +1 -1
  59. package/dist/chunks/{api-DBhNDBh9.js → api-CMF1LApB.js} +57 -1
  60. package/dist/chunks/{api-DBhNDBh9.js.map → api-CMF1LApB.js.map} +1 -1
  61. package/dist/chunks/{api-BIVCMSwW.esm.js → api-COFUx2RW.esm.js} +2 -2
  62. package/dist/chunks/{api-BIVCMSwW.esm.js.map → api-COFUx2RW.esm.js.map} +1 -1
  63. package/dist/chunks/{api-Bl6wVi9D.esm.js → api-D4FV2rsK.esm.js} +69 -13
  64. package/dist/chunks/{api-Bl6wVi9D.esm.js.map → api-D4FV2rsK.esm.js.map} +1 -1
  65. package/dist/chunks/{api-EomXz8pk.js → api-DuBJvpDR.js} +2 -2
  66. package/dist/chunks/{api-EomXz8pk.js.map → api-DuBJvpDR.js.map} +1 -1
  67. package/dist/chunks/{appbar-rqqjZ99v.js → appbar-DzkTUvFH.js} +2 -2
  68. package/dist/chunks/{appbar-rqqjZ99v.js.map → appbar-DzkTUvFH.js.map} +1 -1
  69. package/dist/chunks/{appbar-BRbO--as.esm.js → appbar-NK7cEVYo.esm.js} +2 -2
  70. package/dist/chunks/{appbar-BRbO--as.esm.js.map → appbar-NK7cEVYo.esm.js.map} +1 -1
  71. package/dist/chunks/{approval-wrapper-BTtmXMlk.esm.js → approval-wrapper-Dkc8WEg5.esm.js} +2 -2
  72. package/dist/chunks/{approval-wrapper-BTtmXMlk.esm.js.map → approval-wrapper-Dkc8WEg5.esm.js.map} +1 -1
  73. package/dist/chunks/{approval-wrapper-BM5NxbtT.js → approval-wrapper-Nh3CVait.js} +2 -2
  74. package/dist/chunks/{approval-wrapper-BM5NxbtT.js.map → approval-wrapper-Nh3CVait.js.map} +1 -1
  75. package/dist/chunks/{chat-bot-BpNtrZEL.esm.js → chat-bot-3MwduUlf.esm.js} +245 -68
  76. package/dist/chunks/chat-bot-3MwduUlf.esm.js.map +1 -0
  77. package/dist/chunks/{chat-bot-osiGMG3g.js → chat-bot-sjkDRlr3.js} +244 -67
  78. package/dist/chunks/chat-bot-sjkDRlr3.js.map +1 -0
  79. package/dist/chunks/{common-utility-DGpbsf7S.esm.js → common-utility-GjUrjpEf.esm.js} +2 -2
  80. package/dist/chunks/{common-utility-DGpbsf7S.esm.js.map → common-utility-GjUrjpEf.esm.js.map} +1 -1
  81. package/dist/chunks/{common-utility-CA_Upser.js → common-utility-TLpddkaa.js} +2 -2
  82. package/dist/chunks/{common-utility-CA_Upser.js.map → common-utility-TLpddkaa.js.map} +1 -1
  83. package/dist/chunks/{custom-editor-6-xqhKz6.esm.js → custom-editor-BjUUIs4F.esm.js} +2 -2
  84. package/dist/chunks/{custom-editor-6-xqhKz6.esm.js.map → custom-editor-BjUUIs4F.esm.js.map} +1 -1
  85. package/dist/chunks/{custom-editor-BeLYFfpv.js → custom-editor-ByC55Z4G.js} +2 -2
  86. package/dist/chunks/{custom-editor-BeLYFfpv.js.map → custom-editor-ByC55Z4G.js.map} +1 -1
  87. package/dist/chunks/{custom-form-CFU7NEVb.js → custom-form-DEzUMeYP.js} +6 -6
  88. package/dist/chunks/{custom-form-CFU7NEVb.js.map → custom-form-DEzUMeYP.js.map} +1 -1
  89. package/dist/chunks/{custom-form-DD7YOHMF.esm.js → custom-form-RvoE2OQr.esm.js} +6 -6
  90. package/dist/chunks/{custom-form-DD7YOHMF.esm.js.map → custom-form-RvoE2OQr.esm.js.map} +1 -1
  91. package/dist/chunks/{dashboard-DL83yYRR.esm.js → dashboard-C-HlBEpm.esm.js} +3 -3
  92. package/dist/chunks/{dashboard-DL83yYRR.esm.js.map → dashboard-C-HlBEpm.esm.js.map} +1 -1
  93. package/dist/chunks/{dashboard-BcWVkWZt.js → dashboard-CSms9RGu.js} +3 -3
  94. package/dist/chunks/{dashboard-BcWVkWZt.js.map → dashboard-CSms9RGu.js.map} +1 -1
  95. package/dist/chunks/{dynamic-report-Z7TQNhUq.js → dynamic-report-2BfQqTlE.js} +4 -4
  96. package/dist/chunks/{dynamic-report-Z7TQNhUq.js.map → dynamic-report-2BfQqTlE.js.map} +1 -1
  97. package/dist/chunks/{dynamic-report-tKn-KqAd.esm.js → dynamic-report-6NS0z5pW.esm.js} +4 -4
  98. package/dist/chunks/{dynamic-report-tKn-KqAd.esm.js.map → dynamic-report-6NS0z5pW.esm.js.map} +1 -1
  99. package/dist/chunks/{dynamic-rows-CTGETfcP.esm.js → dynamic-rows-CZ1dmLX-.esm.js} +2 -2
  100. package/dist/chunks/{dynamic-rows-CTGETfcP.esm.js.map → dynamic-rows-CZ1dmLX-.esm.js.map} +1 -1
  101. package/dist/chunks/{dynamic-rows-CNd_zBwf.js → dynamic-rows-DXy4dtIP.js} +2 -2
  102. package/dist/chunks/{dynamic-rows-CNd_zBwf.js.map → dynamic-rows-DXy4dtIP.js.map} +1 -1
  103. package/dist/chunks/{dynamic-text-editor-BBIYTdKZ.js → dynamic-text-editor-BsS7d6iX.js} +2 -2
  104. package/dist/chunks/{dynamic-text-editor-BBIYTdKZ.js.map → dynamic-text-editor-BsS7d6iX.js.map} +1 -1
  105. package/dist/chunks/{dynamic-text-editor-CPvlGcLK.esm.js → dynamic-text-editor-CLrhRiKM.esm.js} +2 -2
  106. package/dist/chunks/{dynamic-text-editor-CPvlGcLK.esm.js.map → dynamic-text-editor-CLrhRiKM.esm.js.map} +1 -1
  107. package/dist/chunks/{edit-section-modal-BW-aZmUv.esm.js → edit-section-modal-BVH6gzyy.esm.js} +2 -2
  108. package/dist/chunks/{edit-section-modal-BW-aZmUv.esm.js.map → edit-section-modal-BVH6gzyy.esm.js.map} +1 -1
  109. package/dist/chunks/{edit-section-modal-Br2ITvLk.js → edit-section-modal-CB6-TNxs.js} +2 -2
  110. package/dist/chunks/{edit-section-modal-Br2ITvLk.js.map → edit-section-modal-CB6-TNxs.js.map} +1 -1
  111. package/dist/chunks/{filter-Cr_OSIpb.js → filter-Chgp8Ga-.js} +3 -3
  112. package/dist/chunks/{filter-Cr_OSIpb.js.map → filter-Chgp8Ga-.js.map} +1 -1
  113. package/dist/chunks/{filter-COXKBEER.esm.js → filter-DgzeYnXU.esm.js} +3 -3
  114. package/dist/chunks/{filter-COXKBEER.esm.js.map → filter-DgzeYnXU.esm.js.map} +1 -1
  115. package/dist/chunks/{footer-CD3kMRdS.js → footer-CTDZ2Qkg.js} +2 -2
  116. package/dist/chunks/{footer-CD3kMRdS.js.map → footer-CTDZ2Qkg.js.map} +1 -1
  117. package/dist/chunks/{footer-m3_dlNl8.esm.js → footer-Db5CEUun.esm.js} +2 -2
  118. package/dist/chunks/{footer-m3_dlNl8.esm.js.map → footer-Db5CEUun.esm.js.map} +1 -1
  119. package/dist/chunks/{form-fields-yE9kwjvb.js → form-fields-BrEECDh1.js} +2 -2
  120. package/dist/chunks/{form-fields-yE9kwjvb.js.map → form-fields-BrEECDh1.js.map} +1 -1
  121. package/dist/chunks/{form-fields-hMMnB_wE.esm.js → form-fields-CpOWIV5e.esm.js} +2 -2
  122. package/dist/chunks/{form-fields-hMMnB_wE.esm.js.map → form-fields-CpOWIV5e.esm.js.map} +1 -1
  123. package/dist/chunks/{form-parser-DbnSn5eY.esm.js → form-parser-BOBQohRY.esm.js} +2 -2
  124. package/dist/chunks/{form-parser-DbnSn5eY.esm.js.map → form-parser-BOBQohRY.esm.js.map} +1 -1
  125. package/dist/chunks/{form-parser-m4fnw38a.js → form-parser-Bo_xCoz5.js} +2 -2
  126. package/dist/chunks/{form-parser-m4fnw38a.js.map → form-parser-Bo_xCoz5.js.map} +1 -1
  127. package/dist/chunks/{form-section-CPIyMdk2.js → form-section-CQkrOcT4.js} +5 -5
  128. package/dist/chunks/{form-section-CPIyMdk2.js.map → form-section-CQkrOcT4.js.map} +1 -1
  129. package/dist/chunks/{form-section-TMjdOVeW.esm.js → form-section-CuA5Rmec.esm.js} +5 -5
  130. package/dist/chunks/{form-section-TMjdOVeW.esm.js.map → form-section-CuA5Rmec.esm.js.map} +1 -1
  131. package/dist/chunks/{fullScreen-BLLa9ogA.js → fullScreen-CKsAPzW8.js} +3 -3
  132. package/dist/chunks/{fullScreen-BLLa9ogA.js.map → fullScreen-CKsAPzW8.js.map} +1 -1
  133. package/dist/chunks/{fullScreen-DFgzE41_.esm.js → fullScreen-Dq0rkDY2.esm.js} +3 -3
  134. package/dist/chunks/{fullScreen-DFgzE41_.esm.js.map → fullScreen-Dq0rkDY2.esm.js.map} +1 -1
  135. package/dist/chunks/{global-search-BOkxXiZ0.esm.js → global-search-CzTd58hv.esm.js} +3 -3
  136. package/dist/chunks/{global-search-BOkxXiZ0.esm.js.map → global-search-CzTd58hv.esm.js.map} +1 -1
  137. package/dist/chunks/{global-search-BjKPmzsQ.js → global-search-mE46QvyY.js} +3 -3
  138. package/dist/chunks/{global-search-BjKPmzsQ.js.map → global-search-mE46QvyY.js.map} +1 -1
  139. package/dist/chunks/{grid-view-Bo86x7YL.esm.js → grid-view-Ccl3P7WG.esm.js} +2 -2
  140. package/dist/chunks/{grid-view-Bo86x7YL.esm.js.map → grid-view-Ccl3P7WG.esm.js.map} +1 -1
  141. package/dist/chunks/{grid-view-B1u_x5yr.js → grid-view-CcmdZI39.js} +2 -2
  142. package/dist/chunks/{grid-view-B1u_x5yr.js.map → grid-view-CcmdZI39.js.map} +1 -1
  143. package/dist/chunks/{header-BHsex2As.js → header-BLQberkS.js} +3 -3
  144. package/dist/chunks/{header-BHsex2As.js.map → header-BLQberkS.js.map} +1 -1
  145. package/dist/chunks/{header-B-HaoeK7.esm.js → header-DJXi29Ed.esm.js} +3 -3
  146. package/dist/chunks/{header-B-HaoeK7.esm.js.map → header-DJXi29Ed.esm.js.map} +1 -1
  147. package/dist/chunks/{header-enhanced-BjfqyQ1a.esm.js → header-enhanced-BXn_RBUl.esm.js} +2 -2
  148. package/dist/chunks/{header-enhanced-BjfqyQ1a.esm.js.map → header-enhanced-BXn_RBUl.esm.js.map} +1 -1
  149. package/dist/chunks/{header-enhanced-gJl4iC4m.js → header-enhanced-GQeFu_BL.js} +2 -2
  150. package/dist/chunks/{header-enhanced-gJl4iC4m.js.map → header-enhanced-GQeFu_BL.js.map} +1 -1
  151. package/dist/chunks/{inline-edit-fields-BYhRpPcH.esm.js → inline-edit-fields-D68s-Ll-.esm.js} +2 -2
  152. package/dist/chunks/{inline-edit-fields-BYhRpPcH.esm.js.map → inline-edit-fields-D68s-Ll-.esm.js.map} +1 -1
  153. package/dist/chunks/{inline-edit-fields-atDP84QL.js → inline-edit-fields-vGyiNTyf.js} +2 -2
  154. package/dist/chunks/{inline-edit-fields-atDP84QL.js.map → inline-edit-fields-vGyiNTyf.js.map} +1 -1
  155. package/dist/chunks/{inventory-reports-title-bar-Bog2i0dr.js → inventory-reports-title-bar-CT7SIGlT.js} +3 -3
  156. package/dist/chunks/{inventory-reports-title-bar-Bog2i0dr.js.map → inventory-reports-title-bar-CT7SIGlT.js.map} +1 -1
  157. package/dist/chunks/{inventory-reports-title-bar-CP8FzW6A.esm.js → inventory-reports-title-bar-Ddh26t2X.esm.js} +3 -3
  158. package/dist/chunks/{inventory-reports-title-bar-CP8FzW6A.esm.js.map → inventory-reports-title-bar-Ddh26t2X.esm.js.map} +1 -1
  159. package/dist/chunks/{item-response-details-DsGQ7Dlc.js → item-response-details-BGtHtJ76.js} +4 -4
  160. package/dist/chunks/{item-response-details-DsGQ7Dlc.js.map → item-response-details-BGtHtJ76.js.map} +1 -1
  161. package/dist/chunks/{item-response-details-SHSD-nBh.esm.js → item-response-details-DSCdVRmu.esm.js} +4 -4
  162. package/dist/chunks/{item-response-details-SHSD-nBh.esm.js.map → item-response-details-DSCdVRmu.esm.js.map} +1 -1
  163. package/dist/chunks/{listing-DIuzQrzb.js → listing-CTIuYwFQ.js} +4 -4
  164. package/dist/chunks/{listing-DIuzQrzb.js.map → listing-CTIuYwFQ.js.map} +1 -1
  165. package/dist/chunks/{listing-C0Yb6MVq.esm.js → listing-Dy2Rksst.esm.js} +4 -4
  166. package/dist/chunks/{listing-C0Yb6MVq.esm.js.map → listing-Dy2Rksst.esm.js.map} +1 -1
  167. package/dist/chunks/{location-select-g5uczAUF.js → location-select-Dij5uwHV.js} +2 -2
  168. package/dist/chunks/{location-select-g5uczAUF.js.map → location-select-Dij5uwHV.js.map} +1 -1
  169. package/dist/chunks/{location-select-CFa00fy4.esm.js → location-select-N7YryMzR.esm.js} +2 -2
  170. package/dist/chunks/{location-select-CFa00fy4.esm.js.map → location-select-N7YryMzR.esm.js.map} +1 -1
  171. package/dist/chunks/{material-editable-table-pAyK7KYf.esm.js → material-editable-table-DH-mHUyW.esm.js} +3 -3
  172. package/dist/chunks/{material-editable-table-pAyK7KYf.esm.js.map → material-editable-table-DH-mHUyW.esm.js.map} +1 -1
  173. package/dist/chunks/{material-editable-table-BGLjrTzT.js → material-editable-table-flZ7dwOO.js} +3 -3
  174. package/dist/chunks/{material-editable-table-BGLjrTzT.js.map → material-editable-table-flZ7dwOO.js.map} +1 -1
  175. package/dist/chunks/{module-reducer-DMxxForv.esm.js → module-reducer-BOqAXAJs.esm.js} +2 -2
  176. package/dist/chunks/{module-reducer-DMxxForv.esm.js.map → module-reducer-BOqAXAJs.esm.js.map} +1 -1
  177. package/dist/chunks/{module-reducer-Ck36ZEmZ.js → module-reducer-khxO3m2l.js} +2 -2
  178. package/dist/chunks/{module-reducer-Ck36ZEmZ.js.map → module-reducer-khxO3m2l.js.map} +1 -1
  179. package/dist/chunks/{notification-menu-D7ASm-K1.js → notification-menu-DhXt9aJ6.js} +2 -2
  180. package/dist/chunks/{notification-menu-D7ASm-K1.js.map → notification-menu-DhXt9aJ6.js.map} +1 -1
  181. package/dist/chunks/{notification-menu-XAadkn-e.esm.js → notification-menu-INKsWdja.esm.js} +2 -2
  182. package/dist/chunks/{notification-menu-XAadkn-e.esm.js.map → notification-menu-INKsWdja.esm.js.map} +1 -1
  183. package/dist/chunks/{page-action-BPzaL2KJ.js → page-action-8XNeWxvS.js} +4 -4
  184. package/dist/chunks/{page-action-BPzaL2KJ.js.map → page-action-8XNeWxvS.js.map} +1 -1
  185. package/dist/chunks/{page-action-C07iGjvN.esm.js → page-action-BhSpPGBy.esm.js} +4 -4
  186. package/dist/chunks/{page-action-C07iGjvN.esm.js.map → page-action-BhSpPGBy.esm.js.map} +1 -1
  187. package/dist/chunks/{page-navigator-Cgbh3tTG.js → page-navigator-DSmNN1Eb.js} +2 -2
  188. package/dist/chunks/{page-navigator-Cgbh3tTG.js.map → page-navigator-DSmNN1Eb.js.map} +1 -1
  189. package/dist/chunks/{page-navigator-8gZpp9_P.esm.js → page-navigator-DjG5btI1.esm.js} +2 -2
  190. package/dist/chunks/{page-navigator-8gZpp9_P.esm.js.map → page-navigator-DjG5btI1.esm.js.map} +1 -1
  191. package/dist/chunks/{page-view-DJ6HS_dV.js → page-view-Dbf_t78X.js} +3 -3
  192. package/dist/chunks/{page-view-DJ6HS_dV.js.map → page-view-Dbf_t78X.js.map} +1 -1
  193. package/dist/chunks/{page-view-CokUNMBn.esm.js → page-view-DknSUnFR.esm.js} +3 -3
  194. package/dist/chunks/{page-view-CokUNMBn.esm.js.map → page-view-DknSUnFR.esm.js.map} +1 -1
  195. package/dist/chunks/{quick-approval-modal-BwYjIbO5.js → quick-approval-modal-BQcjEC5r.js} +2 -2
  196. package/dist/chunks/{quick-approval-modal-BwYjIbO5.js.map → quick-approval-modal-BQcjEC5r.js.map} +1 -1
  197. package/dist/chunks/{quick-approval-modal-CPWs8htH.esm.js → quick-approval-modal-DcZGFHAN.esm.js} +2 -2
  198. package/dist/chunks/{quick-approval-modal-CPWs8htH.esm.js.map → quick-approval-modal-DcZGFHAN.esm.js.map} +1 -1
  199. package/dist/chunks/{reducer-IsgN83rP.esm.js → reducer-C3tNAbZa.esm.js} +2 -2
  200. package/dist/chunks/{reducer-IsgN83rP.esm.js.map → reducer-C3tNAbZa.esm.js.map} +1 -1
  201. package/dist/chunks/{reducer-CdJ6znKF.esm.js → reducer-CACnVYCu.esm.js} +2 -2
  202. package/dist/chunks/{reducer-CdJ6znKF.esm.js.map → reducer-CACnVYCu.esm.js.map} +1 -1
  203. package/dist/chunks/{reducer-Qab0amzE.js → reducer-Ca4A9Z08.js} +3 -3
  204. package/dist/chunks/{reducer-Qab0amzE.js.map → reducer-Ca4A9Z08.js.map} +1 -1
  205. package/dist/chunks/{reducer-BRD8W9sK.js → reducer-CqXx-nCW.js} +2 -2
  206. package/dist/chunks/{reducer-BRD8W9sK.js.map → reducer-CqXx-nCW.js.map} +1 -1
  207. package/dist/chunks/{reducer-3tSO6RW6.esm.js → reducer-D5uYbcnW.esm.js} +3 -3
  208. package/dist/chunks/{reducer-3tSO6RW6.esm.js.map → reducer-D5uYbcnW.esm.js.map} +1 -1
  209. package/dist/chunks/{reducer-CpOEECi1.js → reducer-D9YsCrPV.js} +2 -2
  210. package/dist/chunks/{reducer-CpOEECi1.js.map → reducer-D9YsCrPV.js.map} +1 -1
  211. package/dist/chunks/{reducer-sgaK2vfW.esm.js → reducer-DgqigQMj.esm.js} +2 -2
  212. package/dist/chunks/{reducer-sgaK2vfW.esm.js.map → reducer-DgqigQMj.esm.js.map} +1 -1
  213. package/dist/chunks/{reducer-CPisqqqN.js → reducer-LZj3gYJv.js} +2 -2
  214. package/dist/chunks/{reducer-CPisqqqN.js.map → reducer-LZj3gYJv.js.map} +1 -1
  215. package/dist/chunks/{reducer-yyZtsg1A.esm.js → reducer-TleDUmAC.esm.js} +2 -2
  216. package/dist/chunks/{reducer-yyZtsg1A.esm.js.map → reducer-TleDUmAC.esm.js.map} +1 -1
  217. package/dist/chunks/{reducer-Bmr6fvcs.js → reducer-zvGfUKoI.js} +2 -2
  218. package/dist/chunks/{reducer-Bmr6fvcs.js.map → reducer-zvGfUKoI.js.map} +1 -1
  219. package/dist/chunks/{reports-title-bar-Kz6JjqsY.js → reports-title-bar-D-1LT4fp.js} +4 -4
  220. package/dist/chunks/{reports-title-bar-Kz6JjqsY.js.map → reports-title-bar-D-1LT4fp.js.map} +1 -1
  221. package/dist/chunks/{reports-title-bar-Cay4E8SQ.esm.js → reports-title-bar-QUF0UaA5.esm.js} +4 -4
  222. package/dist/chunks/{reports-title-bar-Cay4E8SQ.esm.js.map → reports-title-bar-QUF0UaA5.esm.js.map} +1 -1
  223. package/dist/chunks/{routes-CfqLAYgR.js → routes--Iz18uA1.js} +3 -3
  224. package/dist/chunks/{routes-CfqLAYgR.js.map → routes--Iz18uA1.js.map} +1 -1
  225. package/dist/chunks/{routes-CAc76Zan.esm.js → routes-JUv69qeO.esm.js} +3 -3
  226. package/dist/chunks/{routes-CAc76Zan.esm.js.map → routes-JUv69qeO.esm.js.map} +1 -1
  227. package/dist/chunks/{schedule-report-B4ZfEuiU.js → schedule-report-Br9G5M-o.js} +6 -6
  228. package/dist/chunks/{schedule-report-B4ZfEuiU.js.map → schedule-report-Br9G5M-o.js.map} +1 -1
  229. package/dist/chunks/{schedule-report-CLXjjfjc.esm.js → schedule-report-Ce2EEmZX.esm.js} +6 -6
  230. package/dist/chunks/{schedule-report-CLXjjfjc.esm.js.map → schedule-report-Ce2EEmZX.esm.js.map} +1 -1
  231. package/dist/chunks/{schedule-report-modal-CB3G9H7x.esm.js → schedule-report-modal-C5CAD-AQ.esm.js} +3 -3
  232. package/dist/chunks/{schedule-report-modal-CB3G9H7x.esm.js.map → schedule-report-modal-C5CAD-AQ.esm.js.map} +1 -1
  233. package/dist/chunks/{schedule-report-modal-iwoDI-sg.js → schedule-report-modal-CraO2R9I.js} +3 -3
  234. package/dist/chunks/{schedule-report-modal-iwoDI-sg.js.map → schedule-report-modal-CraO2R9I.js.map} +1 -1
  235. package/dist/chunks/{searchable-select-_DCkITfk.js → searchable-select-BdR8A-uG.js} +6 -6
  236. package/dist/chunks/{searchable-select-_DCkITfk.js.map → searchable-select-BdR8A-uG.js.map} +1 -1
  237. package/dist/chunks/{searchable-select-0F6E4XAr.esm.js → searchable-select-DSxOplyJ.esm.js} +6 -6
  238. package/dist/chunks/{searchable-select-0F6E4XAr.esm.js.map → searchable-select-DSxOplyJ.esm.js.map} +1 -1
  239. package/dist/chunks/{share-modal-BaEyZs2h.esm.js → share-modal-0Xrxwpxh.esm.js} +3 -3
  240. package/dist/chunks/{share-modal-BaEyZs2h.esm.js.map → share-modal-0Xrxwpxh.esm.js.map} +1 -1
  241. package/dist/chunks/{share-modal-DrXvh-fV.js → share-modal-CP_CC8wR.js} +3 -3
  242. package/dist/chunks/{share-modal-DrXvh-fV.js.map → share-modal-CP_CC8wR.js.map} +1 -1
  243. package/dist/chunks/{share-modal-enhanced-DnEdDBmu.esm.js → share-modal-enhanced-BFmwba0h.esm.js} +2 -2
  244. package/dist/chunks/{share-modal-enhanced-DnEdDBmu.esm.js.map → share-modal-enhanced-BFmwba0h.esm.js.map} +1 -1
  245. package/dist/chunks/{share-modal-enhanced-BTr0zRhF.js → share-modal-enhanced-BajRayrK.js} +2 -2
  246. package/dist/chunks/{share-modal-enhanced-BTr0zRhF.js.map → share-modal-enhanced-BajRayrK.js.map} +1 -1
  247. package/dist/chunks/{sidebarScreen-DpYj_wlK.js → sidebarScreen-CaNfS0JJ.js} +5 -5
  248. package/dist/chunks/{sidebarScreen-DpYj_wlK.js.map → sidebarScreen-CaNfS0JJ.js.map} +1 -1
  249. package/dist/chunks/{sidebarScreen-DiOAiXeU.esm.js → sidebarScreen-CmnTAXY7.esm.js} +5 -5
  250. package/dist/chunks/{sidebarScreen-DiOAiXeU.esm.js.map → sidebarScreen-CmnTAXY7.esm.js.map} +1 -1
  251. package/dist/chunks/{store-BSJc1kCM.js → store-CqIuLzOS.js} +6 -6
  252. package/dist/chunks/{store-BSJc1kCM.js.map → store-CqIuLzOS.js.map} +1 -1
  253. package/dist/chunks/{store-BL5VFPie.esm.js → store-DH8pCqim.esm.js} +6 -6
  254. package/dist/chunks/{store-BL5VFPie.esm.js.map → store-DH8pCqim.esm.js.map} +1 -1
  255. package/dist/chunks/{table-gxAlAeTq.esm.js → table-ClKu8f94.esm.js} +3 -3
  256. package/dist/chunks/{table-gxAlAeTq.esm.js.map → table-ClKu8f94.esm.js.map} +1 -1
  257. package/dist/chunks/{table-DWx7x8zw.js → table-DgWNw_5R.js} +3 -3
  258. package/dist/chunks/{table-DWx7x8zw.js.map → table-DgWNw_5R.js.map} +1 -1
  259. package/dist/chunks/{table-form-DsTwCUcs.esm.js → table-form-BonoJoe4.esm.js} +2 -2
  260. package/dist/chunks/{table-form-DsTwCUcs.esm.js.map → table-form-BonoJoe4.esm.js.map} +1 -1
  261. package/dist/chunks/{table-form-DQ-pp0A_.js → table-form-DlMHRtLK.js} +2 -2
  262. package/dist/chunks/{table-form-DQ-pp0A_.js.map → table-form-DlMHRtLK.js.map} +1 -1
  263. package/dist/chunks/{template-editor-router-D4NIwVws.js → template-editor-router-BsD0ydNM.js} +2 -2
  264. package/dist/chunks/{template-editor-router-D4NIwVws.js.map → template-editor-router-BsD0ydNM.js.map} +1 -1
  265. package/dist/chunks/{template-editor-router-BXLUTvsk.esm.js → template-editor-router-DoOt_Usq.esm.js} +2 -2
  266. package/dist/chunks/{template-editor-router-BXLUTvsk.esm.js.map → template-editor-router-DoOt_Usq.esm.js.map} +1 -1
  267. package/dist/chunks/{template-modal-X-iSmlki.js → template-modal-BXZblB-i.js} +2 -2
  268. package/dist/chunks/{template-modal-X-iSmlki.js.map → template-modal-BXZblB-i.js.map} +1 -1
  269. package/dist/chunks/{template-modal-B2VgotrF.esm.js → template-modal-Cyj0AUks.esm.js} +2 -2
  270. package/dist/chunks/{template-modal-B2VgotrF.esm.js.map → template-modal-Cyj0AUks.esm.js.map} +1 -1
  271. package/dist/chunks/{templates-CCy1eG6A.esm.js → templates-BK_pcPtR.esm.js} +7 -7
  272. package/dist/chunks/{templates-CCy1eG6A.esm.js.map → templates-BK_pcPtR.esm.js.map} +1 -1
  273. package/dist/chunks/{templates-CUREMwYo.js → templates-C5whh_WJ.js} +7 -7
  274. package/dist/chunks/{templates-CUREMwYo.js.map → templates-C5whh_WJ.js.map} +1 -1
  275. package/dist/chunks/{text-measurement-BRaY2UMX.js → text-measurement-C5RUDcy3.js} +2 -2
  276. package/dist/chunks/{text-measurement-BRaY2UMX.js.map → text-measurement-C5RUDcy3.js.map} +1 -1
  277. package/dist/chunks/{text-measurement-BCjauPbB.esm.js → text-measurement-DvKHzZhR.esm.js} +2 -2
  278. package/dist/chunks/{text-measurement-BCjauPbB.esm.js.map → text-measurement-DvKHzZhR.esm.js.map} +1 -1
  279. package/dist/chunks/{translations-BrwQcVN3.esm.js → translations-BLrQX9my.esm.js} +2 -2
  280. package/dist/chunks/{translations-BrwQcVN3.esm.js.map → translations-BLrQX9my.esm.js.map} +1 -1
  281. package/dist/chunks/{translations-DoVrWLog.js → translations-CaEkNqOX.js} +2 -2
  282. package/dist/chunks/{translations-DoVrWLog.js.map → translations-CaEkNqOX.js.map} +1 -1
  283. package/dist/chunks/{uom-field-wrapper-CTbEc-MB.esm.js → uom-field-wrapper-By-UFGEf.esm.js} +2 -2
  284. package/dist/chunks/{uom-field-wrapper-CTbEc-MB.esm.js.map → uom-field-wrapper-By-UFGEf.esm.js.map} +1 -1
  285. package/dist/chunks/{uom-field-wrapper-DXZgzOYB.js → uom-field-wrapper-CPbf2ESo.js} +2 -2
  286. package/dist/chunks/{uom-field-wrapper-DXZgzOYB.js.map → uom-field-wrapper-CPbf2ESo.js.map} +1 -1
  287. package/dist/chunks/{upload-excel-BZPP13tP.esm.js → upload-excel-Bv2QulNF.esm.js} +2 -2
  288. package/dist/chunks/{upload-excel-BZPP13tP.esm.js.map → upload-excel-Bv2QulNF.esm.js.map} +1 -1
  289. package/dist/chunks/{upload-excel-rzyINtLp.js → upload-excel-Dki_3fi7.js} +2 -2
  290. package/dist/chunks/{upload-excel-rzyINtLp.js.map → upload-excel-Dki_3fi7.js.map} +1 -1
  291. package/dist/chunks/{use-translations-5wUQBxMm.js → use-translations-CiaeAhQ7.js} +2 -2
  292. package/dist/chunks/{use-translations-5wUQBxMm.js.map → use-translations-CiaeAhQ7.js.map} +1 -1
  293. package/dist/chunks/{use-translations-CcjSFA3F.esm.js → use-translations-Cplg_xvQ.esm.js} +2 -2
  294. package/dist/chunks/{use-translations-CcjSFA3F.esm.js.map → use-translations-Cplg_xvQ.esm.js.map} +1 -1
  295. package/dist/chunks/{useAccountSetting-vAqgEiJB.esm.js → useAccountSetting-D2zH-h5F.esm.js} +3 -3
  296. package/dist/chunks/{useAccountSetting-vAqgEiJB.esm.js.map → useAccountSetting-D2zH-h5F.esm.js.map} +1 -1
  297. package/dist/chunks/{useAccountSetting-9XBALMnW.js → useAccountSetting-Dvyv7WUv.js} +3 -3
  298. package/dist/chunks/{useAccountSetting-9XBALMnW.js.map → useAccountSetting-Dvyv7WUv.js.map} +1 -1
  299. package/dist/chunks/{useCheckSkuAndName-CqSLFlhD.js → useCheckSkuAndName-3SCc5HGN.js} +2 -2
  300. package/dist/chunks/{useCheckSkuAndName-CqSLFlhD.js.map → useCheckSkuAndName-3SCc5HGN.js.map} +1 -1
  301. package/dist/chunks/{useCheckSkuAndName-Dl24wQO-.esm.js → useCheckSkuAndName-BuHzZ_fJ.esm.js} +2 -2
  302. package/dist/chunks/{useCheckSkuAndName-Dl24wQO-.esm.js.map → useCheckSkuAndName-BuHzZ_fJ.esm.js.map} +1 -1
  303. package/dist/chunks/{useReduxIntegration-DZBfKF7d.esm.js → useReduxIntegration-B0bZ0VOc.esm.js} +2 -2
  304. package/dist/chunks/{useReduxIntegration-DZBfKF7d.esm.js.map → useReduxIntegration-B0bZ0VOc.esm.js.map} +1 -1
  305. package/dist/chunks/{useReduxIntegration-Ct1UN9fB.js → useReduxIntegration-GG8n-C3E.js} +2 -2
  306. package/dist/chunks/{useReduxIntegration-Ct1UN9fB.js.map → useReduxIntegration-GG8n-C3E.js.map} +1 -1
  307. package/dist/chunks/{useUniquenessCheck-bYjnp_0P.esm.js → useUniquenessCheck-B_KNcS14.esm.js} +2 -2
  308. package/dist/chunks/{useUniquenessCheck-bYjnp_0P.esm.js.map → useUniquenessCheck-B_KNcS14.esm.js.map} +1 -1
  309. package/dist/chunks/{useUniquenessCheck-By5zlovX.js → useUniquenessCheck-SyibUppM.js} +2 -2
  310. package/dist/chunks/{useUniquenessCheck-By5zlovX.js.map → useUniquenessCheck-SyibUppM.js.map} +1 -1
  311. package/dist/chunks/{useVendorAICompare-BAkWpJbe.js → useVendorAICompare-Br8Zaj9n.js} +3 -3
  312. package/dist/chunks/{useVendorAICompare-BAkWpJbe.js.map → useVendorAICompare-Br8Zaj9n.js.map} +1 -1
  313. package/dist/chunks/{useVendorAICompare-DZRFDk4i.esm.js → useVendorAICompare-MAhIaPcK.esm.js} +3 -3
  314. package/dist/chunks/{useVendorAICompare-DZRFDk4i.esm.js.map → useVendorAICompare-MAhIaPcK.esm.js.map} +1 -1
  315. package/dist/chunks/{value-editor-BSS9Ns2T.js → value-editor-CjBbeBcy.js} +3 -3
  316. package/dist/chunks/{value-editor-BSS9Ns2T.js.map → value-editor-CjBbeBcy.js.map} +1 -1
  317. package/dist/chunks/{value-editor-DQ1qgZ2u.esm.js → value-editor-Du1_lUxK.esm.js} +3 -3
  318. package/dist/chunks/{value-editor-DQ1qgZ2u.esm.js.map → value-editor-Du1_lUxK.esm.js.map} +1 -1
  319. package/dist/chunks/{vendor-ai-summary-DWmAaQ_N.js → vendor-ai-summary-ChCg_E_J.js} +2 -2
  320. package/dist/chunks/{vendor-ai-summary-DWmAaQ_N.js.map → vendor-ai-summary-ChCg_E_J.js.map} +1 -1
  321. package/dist/chunks/{vendor-ai-summary-BA6m2dH9.esm.js → vendor-ai-summary-DICDiSMd.esm.js} +2 -2
  322. package/dist/chunks/{vendor-ai-summary-BA6m2dH9.esm.js.map → vendor-ai-summary-DICDiSMd.esm.js.map} +1 -1
  323. package/dist/components/action-bar/action-bar/index.esm.js +1 -1
  324. package/dist/components/action-bar/action-bar/index.js +1 -1
  325. package/dist/components/action-bar/index.esm.js +1 -1
  326. package/dist/components/action-bar/index.js +1 -1
  327. package/dist/components/address-modal/index.esm.js +1 -1
  328. package/dist/components/address-modal/index.js +1 -1
  329. package/dist/components/ai-summary/ai-summary/index.esm.js +1 -1
  330. package/dist/components/ai-summary/ai-summary/index.js +1 -1
  331. package/dist/components/ai-summary/index.esm.js +1 -1
  332. package/dist/components/ai-summary/index.js +1 -1
  333. package/dist/components/appbar/appbar/index.esm.js +1 -1
  334. package/dist/components/appbar/appbar/index.js +1 -1
  335. package/dist/components/appbar/index.esm.js +1 -1
  336. package/dist/components/appbar/index.js +1 -1
  337. package/dist/components/approval-wrapper/approval-wrapper/index.esm.js +1 -1
  338. package/dist/components/approval-wrapper/approval-wrapper/index.js +1 -1
  339. package/dist/components/approval-wrapper/index.esm.js +1 -1
  340. package/dist/components/approval-wrapper/index.js +1 -1
  341. package/dist/components/chat-bot/index.esm.js +1 -1
  342. package/dist/components/chat-bot/index.js +1 -1
  343. package/dist/components/custom-forms/FORMS/index.esm.js +1 -1
  344. package/dist/components/custom-forms/FORMS/index.js +1 -1
  345. package/dist/components/custom-forms/grid-view/grid-view/index.esm.js +1 -1
  346. package/dist/components/custom-forms/grid-view/grid-view/index.js +1 -1
  347. package/dist/components/custom-forms/grid-view/index.esm.js +1 -1
  348. package/dist/components/custom-forms/grid-view/index.js +1 -1
  349. package/dist/components/custom-forms/index.esm.js +2 -2
  350. package/dist/components/custom-forms/index.js +2 -2
  351. package/dist/components/department-add-modal/index.esm.js +1 -1
  352. package/dist/components/department-add-modal/index.js +1 -1
  353. package/dist/components/designation-add-modal/index.esm.js +1 -1
  354. package/dist/components/designation-add-modal/index.js +1 -1
  355. package/dist/components/editor/custom-editor/index.esm.js +1 -1
  356. package/dist/components/editor/custom-editor/index.js +1 -1
  357. package/dist/components/editor/index.esm.js +1 -1
  358. package/dist/components/editor/index.js +1 -1
  359. package/dist/components/examples/FlexibleReduxExample/index.esm.js +1 -1
  360. package/dist/components/examples/FlexibleReduxExample/index.js +1 -1
  361. package/dist/components/examples/index.esm.js +1 -1
  362. package/dist/components/examples/index.js +1 -1
  363. package/dist/components/filter/components/index.esm.js +1 -1
  364. package/dist/components/filter/components/index.js +1 -1
  365. package/dist/components/filter/components/value-editor/index.esm.js +1 -1
  366. package/dist/components/filter/components/value-editor/index.js +1 -1
  367. package/dist/components/filter/filter/index.esm.js +1 -1
  368. package/dist/components/filter/filter/index.js +1 -1
  369. package/dist/components/filter/index.esm.js +2 -2
  370. package/dist/components/filter/index.js +2 -2
  371. package/dist/components/footer/footer/index.esm.js +1 -1
  372. package/dist/components/footer/footer/index.js +1 -1
  373. package/dist/components/footer/index.esm.js +1 -1
  374. package/dist/components/footer/index.js +1 -1
  375. package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.esm.js +1 -1
  376. package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.js +1 -1
  377. package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.esm.js +1 -1
  378. package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.js +1 -1
  379. package/dist/components/form-control/form-builder/form-builder-element/dynamic-text-editor/index.esm.js +1 -1
  380. package/dist/components/form-control/form-builder/form-builder-element/dynamic-text-editor/index.js +1 -1
  381. package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.esm.js +1 -1
  382. package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.js +1 -1
  383. package/dist/components/form-control/form-builder/form-builder-element/index.esm.js +4 -4
  384. package/dist/components/form-control/form-builder/form-builder-element/index.js +4 -4
  385. package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.esm.js +1 -1
  386. package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.js +1 -1
  387. package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.esm.js +1 -1
  388. package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.js +1 -1
  389. package/dist/components/form-control/form-builder/form-builder-element/table/index.esm.js +1 -1
  390. package/dist/components/form-control/form-builder/form-builder-element/table/index.js +1 -1
  391. package/dist/components/form-control/form-builder/index.esm.js +4 -4
  392. package/dist/components/form-control/form-builder/index.js +4 -4
  393. package/dist/components/form-control/form-parser/form-parser/index.esm.js +1 -1
  394. package/dist/components/form-control/form-parser/form-parser/index.js +1 -1
  395. package/dist/components/form-control/form-parser/form-section/index.esm.js +1 -1
  396. package/dist/components/form-control/form-parser/form-section/index.js +1 -1
  397. package/dist/components/form-control/form-parser/index.esm.js +2 -2
  398. package/dist/components/form-control/form-parser/index.js +2 -2
  399. package/dist/components/form-control/index.esm.js +6 -6
  400. package/dist/components/form-control/index.js +6 -6
  401. package/dist/components/header/components/global-search/index.esm.js +1 -1
  402. package/dist/components/header/components/global-search/index.js +1 -1
  403. package/dist/components/header/components/index.esm.js +1 -1
  404. package/dist/components/header/components/index.js +1 -1
  405. package/dist/components/header/components/notification-menu/index.esm.js +1 -1
  406. package/dist/components/header/components/notification-menu/index.js +1 -1
  407. package/dist/components/header/components/notification-menu/notification-menu/index.esm.js +1 -1
  408. package/dist/components/header/components/notification-menu/notification-menu/index.js +1 -1
  409. package/dist/components/header/header/index.esm.js +1 -1
  410. package/dist/components/header/header/index.js +1 -1
  411. package/dist/components/header/header-enhanced/index.esm.js +1 -1
  412. package/dist/components/header/header-enhanced/index.js +1 -1
  413. package/dist/components/header/index.esm.js +5 -5
  414. package/dist/components/header/index.js +5 -5
  415. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  416. package/dist/components/header/redux/actionCreator/index.js +1 -1
  417. package/dist/components/header/redux/index.esm.js +2 -2
  418. package/dist/components/header/redux/index.js +2 -2
  419. package/dist/components/header/redux/reducer/index.esm.js +1 -1
  420. package/dist/components/header/redux/reducer/index.js +1 -1
  421. package/dist/components/index.esm.js +36 -36
  422. package/dist/components/index.js +36 -36
  423. package/dist/components/inventory-reports-title-bar/index.esm.js +3 -3
  424. package/dist/components/inventory-reports-title-bar/index.js +3 -3
  425. package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.esm.js +1 -1
  426. package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.js +1 -1
  427. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  428. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
  429. package/dist/components/inventory-reports-title-bar/redux/index.esm.js +2 -2
  430. package/dist/components/inventory-reports-title-bar/redux/index.js +2 -2
  431. package/dist/components/inventory-reports-title-bar/redux/reducer/index.esm.js +1 -1
  432. package/dist/components/inventory-reports-title-bar/redux/reducer/index.js +1 -1
  433. package/dist/components/listing/index.esm.js +1 -1
  434. package/dist/components/listing/index.js +1 -1
  435. package/dist/components/listing/listing/index.esm.js +1 -1
  436. package/dist/components/listing/listing/index.js +1 -1
  437. package/dist/components/location-select/index.esm.js +1 -1
  438. package/dist/components/location-select/index.js +1 -1
  439. package/dist/components/material-editable-table/components/index.esm.js +1 -1
  440. package/dist/components/material-editable-table/components/index.js +1 -1
  441. package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js +1 -1
  442. package/dist/components/material-editable-table/components/inline-edit-fields/index.js +1 -1
  443. package/dist/components/material-editable-table/index.esm.js +2 -2
  444. package/dist/components/material-editable-table/index.js +2 -2
  445. package/dist/components/material-editable-table/material-editable-table/index.esm.js +1 -1
  446. package/dist/components/material-editable-table/material-editable-table/index.js +1 -1
  447. package/dist/components/material-table/components/index.esm.js +1 -1
  448. package/dist/components/material-table/components/index.js +1 -1
  449. package/dist/components/material-table/components/inline-edit-fields/index.esm.js +1 -1
  450. package/dist/components/material-table/components/inline-edit-fields/index.js +1 -1
  451. package/dist/components/material-table/index.esm.js +1 -1
  452. package/dist/components/material-table/index.js +1 -1
  453. package/dist/components/material-table/material-table/index.esm.js +1 -1
  454. package/dist/components/material-table/material-table/index.js +1 -1
  455. package/dist/components/page-navigator/components/index.esm.js +1 -1
  456. package/dist/components/page-navigator/components/index.js +1 -1
  457. package/dist/components/page-navigator/components/page-action/index.esm.js +1 -1
  458. package/dist/components/page-navigator/components/page-action/index.js +1 -1
  459. package/dist/components/page-navigator/index.esm.js +2 -2
  460. package/dist/components/page-navigator/index.js +2 -2
  461. package/dist/components/page-navigator/page-navigator/index.esm.js +1 -1
  462. package/dist/components/page-navigator/page-navigator/index.js +1 -1
  463. package/dist/components/parties-modal/index.esm.js +1 -1
  464. package/dist/components/parties-modal/index.js +1 -1
  465. package/dist/components/parties-modal/parties-modal/index.esm.js +1 -1
  466. package/dist/components/parties-modal/parties-modal/index.js +1 -1
  467. package/dist/components/providers/ERPUIProvider/index.esm.js +1 -1
  468. package/dist/components/providers/ERPUIProvider/index.js +1 -1
  469. package/dist/components/providers/index.esm.js +1 -1
  470. package/dist/components/providers/index.js +1 -1
  471. package/dist/components/quick-approval-modal/index.esm.js +1 -1
  472. package/dist/components/quick-approval-modal/index.js +1 -1
  473. package/dist/components/quick-approval-modal/quick-approval-modal/index.esm.js +1 -1
  474. package/dist/components/quick-approval-modal/quick-approval-modal/index.js +1 -1
  475. package/dist/components/reports/dynamic-report/dynamic-report/index.esm.js +1 -1
  476. package/dist/components/reports/dynamic-report/dynamic-report/index.js +1 -1
  477. package/dist/components/reports/dynamic-report/dynamic-rows/index.esm.js +1 -1
  478. package/dist/components/reports/dynamic-report/dynamic-rows/index.js +1 -1
  479. package/dist/components/reports/dynamic-report/index.esm.js +2 -2
  480. package/dist/components/reports/dynamic-report/index.js +2 -2
  481. package/dist/components/reports/index.esm.js +2 -2
  482. package/dist/components/reports/index.js +2 -2
  483. package/dist/components/reports-title-bar/index.esm.js +3 -3
  484. package/dist/components/reports-title-bar/index.js +3 -3
  485. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  486. package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
  487. package/dist/components/reports-title-bar/redux/index.esm.js +2 -2
  488. package/dist/components/reports-title-bar/redux/index.js +2 -2
  489. package/dist/components/reports-title-bar/redux/reducer/index.esm.js +1 -1
  490. package/dist/components/reports-title-bar/redux/reducer/index.js +1 -1
  491. package/dist/components/reports-title-bar/reports-title-bar/index.esm.js +1 -1
  492. package/dist/components/reports-title-bar/reports-title-bar/index.js +1 -1
  493. package/dist/components/rfq-response/index.esm.js +1 -1
  494. package/dist/components/rfq-response/index.js +1 -1
  495. package/dist/components/rfq-response/item-response-details/index.esm.js +1 -1
  496. package/dist/components/rfq-response/item-response-details/index.js +1 -1
  497. package/dist/components/schedule-report/index.esm.js +2 -2
  498. package/dist/components/schedule-report/index.js +2 -2
  499. package/dist/components/schedule-report/schedule-report/index.esm.js +1 -1
  500. package/dist/components/schedule-report/schedule-report/index.js +1 -1
  501. package/dist/components/schedule-report/schedule-report-modal/index.esm.js +1 -1
  502. package/dist/components/schedule-report/schedule-report-modal/index.js +1 -1
  503. package/dist/components/searchable-select/index.esm.js +1 -1
  504. package/dist/components/searchable-select/index.js +1 -1
  505. package/dist/components/share-modal/index.esm.js +4 -4
  506. package/dist/components/share-modal/index.js +4 -4
  507. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  508. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  509. package/dist/components/share-modal/redux/index.esm.js +2 -2
  510. package/dist/components/share-modal/redux/index.js +2 -2
  511. package/dist/components/share-modal/redux/reducer/index.esm.js +1 -1
  512. package/dist/components/share-modal/redux/reducer/index.js +1 -1
  513. package/dist/components/share-modal/share-modal/index.esm.js +1 -1
  514. package/dist/components/share-modal/share-modal/index.js +1 -1
  515. package/dist/components/share-modal/share-modal-enhanced/index.esm.js +1 -1
  516. package/dist/components/share-modal/share-modal-enhanced/index.js +1 -1
  517. package/dist/components/team-add-modal/index.esm.js +1 -1
  518. package/dist/components/team-add-modal/index.js +1 -1
  519. package/dist/components/uom-field-wrapper/index.esm.js +1 -1
  520. package/dist/components/uom-field-wrapper/index.js +1 -1
  521. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js +1 -1
  522. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js +1 -1
  523. package/dist/components/upload-excel/index.esm.js +1 -1
  524. package/dist/components/upload-excel/index.js +1 -1
  525. package/dist/components/upload-excel/upload-excel/index.esm.js +1 -1
  526. package/dist/components/upload-excel/upload-excel/index.js +1 -1
  527. package/dist/components/vendor-ai-summary/index.esm.js +1 -1
  528. package/dist/components/vendor-ai-summary/index.js +1 -1
  529. package/dist/hooks/index.esm.js +6 -6
  530. package/dist/hooks/index.js +6 -6
  531. package/dist/hooks/use-translations/index.esm.js +1 -1
  532. package/dist/hooks/use-translations/index.js +1 -1
  533. package/dist/hooks/useAccountSetting/index.esm.js +1 -1
  534. package/dist/hooks/useAccountSetting/index.js +1 -1
  535. package/dist/hooks/useCheckSkuAndName/index.esm.js +1 -1
  536. package/dist/hooks/useCheckSkuAndName/index.js +1 -1
  537. package/dist/hooks/useReduxIntegration/index.esm.js +1 -1
  538. package/dist/hooks/useReduxIntegration/index.js +1 -1
  539. package/dist/hooks/useUniquenessCheck/index.esm.js +1 -1
  540. package/dist/hooks/useUniquenessCheck/index.js +1 -1
  541. package/dist/index.esm.js +64 -64
  542. package/dist/index.js +64 -64
  543. package/dist/layout/fullScreen/index.esm.js +1 -1
  544. package/dist/layout/fullScreen/index.js +1 -1
  545. package/dist/layout/index.esm.js +2 -2
  546. package/dist/layout/index.js +2 -2
  547. package/dist/layout/sidebarScreen/index.esm.js +1 -1
  548. package/dist/layout/sidebarScreen/index.js +1 -1
  549. package/dist/redux/index.esm.js +3 -3
  550. package/dist/redux/index.js +3 -3
  551. package/dist/runtime/index.esm.js +1 -1
  552. package/dist/runtime/index.js +1 -1
  553. package/dist/src/api-client/api.ai-feature/api.d.ts +15 -0
  554. package/dist/src/components/chat-bot/types.d.ts +1 -1
  555. package/dist/utils/api/index.esm.js +1 -1
  556. package/dist/utils/api/index.js +1 -1
  557. package/dist/utils/common/index.esm.js +1 -1
  558. package/dist/utils/common/index.js +1 -1
  559. package/dist/utils/common-utility/index.esm.js +1 -1
  560. package/dist/utils/common-utility/index.js +1 -1
  561. package/dist/utils/index.esm.js +5 -5
  562. package/dist/utils/index.js +4 -4
  563. package/dist/utils/text-measurement/index.esm.js +1 -1
  564. package/dist/utils/text-measurement/index.js +1 -1
  565. package/dist/views/afterAuth/dashboard/index.esm.js +1 -1
  566. package/dist/views/afterAuth/dashboard/index.js +1 -1
  567. package/dist/views/afterAuth/index.esm.js +2 -2
  568. package/dist/views/afterAuth/index.js +2 -2
  569. package/dist/views/afterAuth/page-view/index.esm.js +1 -1
  570. package/dist/views/afterAuth/page-view/index.js +1 -1
  571. package/dist/views/form-builder/custom-form/index.esm.js +1 -1
  572. package/dist/views/form-builder/custom-form/index.js +1 -1
  573. package/dist/views/form-builder/element-edit-forms/index.esm.js +1 -1
  574. package/dist/views/form-builder/element-edit-forms/index.js +1 -1
  575. package/dist/views/form-builder/form-fields/index.esm.js +1 -1
  576. package/dist/views/form-builder/form-fields/index.js +1 -1
  577. package/dist/views/form-builder/index.esm.js +4 -4
  578. package/dist/views/form-builder/index.js +4 -4
  579. package/dist/views/form-builder/redux/index.esm.js +1 -1
  580. package/dist/views/form-builder/redux/index.js +1 -1
  581. package/dist/views/index.esm.js +13 -13
  582. package/dist/views/index.js +13 -13
  583. package/dist/views/template-editor/add-template/index.esm.js +1 -1
  584. package/dist/views/template-editor/add-template/index.js +1 -1
  585. package/dist/views/template-editor/components/index.esm.js +1 -1
  586. package/dist/views/template-editor/components/index.js +1 -1
  587. package/dist/views/template-editor/edit-section-modal/index.esm.js +1 -1
  588. package/dist/views/template-editor/edit-section-modal/index.js +1 -1
  589. package/dist/views/template-editor/index.esm.js +7 -7
  590. package/dist/views/template-editor/index.js +7 -7
  591. package/dist/views/template-editor/routes/index.esm.js +1 -1
  592. package/dist/views/template-editor/routes/index.js +1 -1
  593. package/dist/views/template-editor/template-modal/index.esm.js +1 -1
  594. package/dist/views/template-editor/template-modal/index.js +1 -1
  595. package/dist/views/template-editor/templates/index.esm.js +1 -1
  596. package/dist/views/template-editor/templates/index.js +1 -1
  597. package/package.json +1 -1
  598. package/dist/chunks/chat-bot-BpNtrZEL.esm.js.map +0 -1
  599. package/dist/chunks/chat-bot-osiGMG3g.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"templates-CCy1eG6A.esm.js","sources":["../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '@erpsquad/common/runtime';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\n\nimport './templates.scss';\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n\tconst viewEmails = localStorage.getItem('email-subjects-view');\n\tconst [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n\tconst [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 20, totalCount: 0, skip: 0 });\n\tconst [rows, setRows] = useState<any[]>([]);\n\tconst [isFetching, setIsFetching] = useState<boolean>(false);\n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [templateModalSource, setTemplateModalSource] = useState<'view' | 'add'>('add');\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst formatLabelString = (key: string) => {\n\t\treturn typeof key === 'string'\n\t\t\t? key.split(/[:_-]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join('')\n\t\t\t: key;\n\t}\n\tconst capitalizedModule = module ? formatLabelString(module) : '';\n\tconst modulePrefixedSubjectKey = capitalizedModule ? `${capitalizedModule}Subjects` : 'Subjects';\n\tconst modulePrefixedTemplatesKey = capitalizedModule ? `${capitalizedModule}Templates` : 'Templates';\n\tconst modulePrefixedTemplateEditorKey = capitalizedModule ? `${capitalizedModule}TemplateEditor` : 'TemplateEditor';\n\n\tconst SubjectPermissions = permissions?.[modulePrefixedSubjectKey] \n\t\t|| permissions?.Subjects \n\t\t|| permissions?.[modulePrefixedTemplatesKey] \n\t\t|| permissions?.Templates \n\t\t|| permissions?.[modulePrefixedTemplateEditorKey]\n\t\t|| permissions?.TemplateEditor\n\t\t|| {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif (!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif (companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else {\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value } })\n\t\t}\n\t};\n\n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => {\n\t\t\t\tsetTemplateModalSource('add');\n\t\t\t\tsetShowTemplateModal(email);\n\t\t\t},\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif (type == \"email\") {\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({ ...paginationModel, ...(response?.pagination || {}) });\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\tconst companiesArr = await fetchApi({ apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" } });\n\t\tsetCompanies(companiesArr?.data || []);\n\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 20, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n\tuseEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt', viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t<MaterialTable\n\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\ttotalPages={total}\n\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t}\n\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\tisResetRow={false}\n\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t}\n\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t}\n\t\t\t\t\tshowPreview={true}\n\t\t\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t<GridCard\n\t\t\t\t\tdata={tableRows}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!actionBarActiveTab && (\n\t\t\t\t<Fallback\n\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t</Fallback>\n\t\t\t)}\n\n\t\t\t<Footer\n\t\t\t\ttotal={total}\n\t\t\t\tpaginationModel={{\n\t\t\t\t\t...paginationModel,\n\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t}}\n\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\tresource=''\n\t\t\t/>\n\n\t\t\t{/* Action Menu */}\n\t\t\t<Menu\n\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t</Menu>\n\t\t\t{showTemplateModal && (\n\t\t\t\t<TemplateModal\n\t\t\t\t\temail={showTemplateModal}\n\t\t\t\t\tonClose={() => setShowTemplateModal(null)}\n\t\t\t\t\topen={showTemplateModal !== null}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\tsource={templateModalSource}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showCompanySelectionModal && (\n\t\t\t\t<CompanySelectionModal\n\t\t\t\t\tisOpen={showCompanySelectionModal !== null}\n\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["_a","logo"],"mappings":"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"}
1
+ {"version":3,"file":"templates-BK_pcPtR.esm.js","sources":["../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '@erpsquad/common/runtime';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\n\nimport './templates.scss';\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n\tconst viewEmails = localStorage.getItem('email-subjects-view');\n\tconst [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n\tconst [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 20, totalCount: 0, skip: 0 });\n\tconst [rows, setRows] = useState<any[]>([]);\n\tconst [isFetching, setIsFetching] = useState<boolean>(false);\n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [templateModalSource, setTemplateModalSource] = useState<'view' | 'add'>('add');\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst formatLabelString = (key: string) => {\n\t\treturn typeof key === 'string'\n\t\t\t? key.split(/[:_-]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join('')\n\t\t\t: key;\n\t}\n\tconst capitalizedModule = module ? formatLabelString(module) : '';\n\tconst modulePrefixedSubjectKey = capitalizedModule ? `${capitalizedModule}Subjects` : 'Subjects';\n\tconst modulePrefixedTemplatesKey = capitalizedModule ? `${capitalizedModule}Templates` : 'Templates';\n\tconst modulePrefixedTemplateEditorKey = capitalizedModule ? `${capitalizedModule}TemplateEditor` : 'TemplateEditor';\n\n\tconst SubjectPermissions = permissions?.[modulePrefixedSubjectKey] \n\t\t|| permissions?.Subjects \n\t\t|| permissions?.[modulePrefixedTemplatesKey] \n\t\t|| permissions?.Templates \n\t\t|| permissions?.[modulePrefixedTemplateEditorKey]\n\t\t|| permissions?.TemplateEditor\n\t\t|| {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif (!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif (companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else {\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value } })\n\t\t}\n\t};\n\n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => {\n\t\t\t\tsetTemplateModalSource('add');\n\t\t\t\tsetShowTemplateModal(email);\n\t\t\t},\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif (type == \"email\") {\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({ ...paginationModel, ...(response?.pagination || {}) });\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\tconst companiesArr = await fetchApi({ apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" } });\n\t\tsetCompanies(companiesArr?.data || []);\n\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 20, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n\tuseEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt', viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t<MaterialTable\n\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\ttotalPages={total}\n\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t}\n\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\tisResetRow={false}\n\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t}\n\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t}\n\t\t\t\t\tshowPreview={true}\n\t\t\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t<GridCard\n\t\t\t\t\tdata={tableRows}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!actionBarActiveTab && (\n\t\t\t\t<Fallback\n\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t</Fallback>\n\t\t\t)}\n\n\t\t\t<Footer\n\t\t\t\ttotal={total}\n\t\t\t\tpaginationModel={{\n\t\t\t\t\t...paginationModel,\n\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t}}\n\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\tresource=''\n\t\t\t/>\n\n\t\t\t{/* Action Menu */}\n\t\t\t<Menu\n\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t</Menu>\n\t\t\t{showTemplateModal && (\n\t\t\t\t<TemplateModal\n\t\t\t\t\temail={showTemplateModal}\n\t\t\t\t\tonClose={() => setShowTemplateModal(null)}\n\t\t\t\t\topen={showTemplateModal !== null}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\tsource={templateModalSource}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showCompanySelectionModal && (\n\t\t\t\t<CompanySelectionModal\n\t\t\t\t\tisOpen={showCompanySelectionModal !== null}\n\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["_a","logo"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const React = require("react");
4
- const actionBar$1 = require("./action-bar-DdtpxWNk.js");
4
+ const actionBar$1 = require("./action-bar-CiYO9X02.js");
5
5
  const actionBar = require("./action-bar-DMv6sqDP.js");
6
- const searchableSelect = require("./searchable-select-_DCkITfk.js");
6
+ const searchableSelect = require("./searchable-select-BdR8A-uG.js");
7
7
  const typography = require("./typography-Bqfr1Ksf.js");
8
8
  const fallback = require("./fallback-DoprkqLe.js");
9
9
  const menu = require("./menu-CbpcDA_h.js");
10
- const footer = require("./footer-CD3kMRdS.js");
10
+ const footer = require("./footer-CTDZ2Qkg.js");
11
11
  const useDeepMemo = require("./use-deep-memo-7bIH1dxU.js");
12
12
  const runtime = require("@erpsquad/common/runtime");
13
- const commonUtility = require("./common-utility-CA_Upser.js");
14
- const api = require("./api-EomXz8pk.js");
13
+ const commonUtility = require("./common-utility-TLpddkaa.js");
14
+ const api = require("./api-DuBJvpDR.js");
15
15
  const images = require("../images/index.js");
16
16
  const material = require("@mui/material");
17
17
  const reactI18next = require("react-i18next");
@@ -19,7 +19,7 @@ const notistack = require("notistack");
19
19
  const common = require("./common-C5AokA7z.js");
20
20
  const reactRouterDom = require("react-router-dom");
21
21
  const api$1 = require("./api-D3c7E20L.js");
22
- const templateModal = require("./template-modal-X-iSmlki.js");
22
+ const templateModal = require("./template-modal-BXZblB-i.js");
23
23
  const companySelectionModal = require("./company-selection-modal-B7jFVWWs.js");
24
24
  ;/* empty css */
25
25
  const Templates = ({ type, module: module2, modulePath }) => {
@@ -275,4 +275,4 @@ const Templates = ({ type, module: module2, modulePath }) => {
275
275
  ] });
276
276
  };
277
277
  exports.Templates = Templates;
278
- //# sourceMappingURL=templates-CUREMwYo.js.map
278
+ //# sourceMappingURL=templates-C5whh_WJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates-CUREMwYo.js","sources":["../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '@erpsquad/common/runtime';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\n\nimport './templates.scss';\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n\tconst viewEmails = localStorage.getItem('email-subjects-view');\n\tconst [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n\tconst [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 20, totalCount: 0, skip: 0 });\n\tconst [rows, setRows] = useState<any[]>([]);\n\tconst [isFetching, setIsFetching] = useState<boolean>(false);\n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [templateModalSource, setTemplateModalSource] = useState<'view' | 'add'>('add');\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst formatLabelString = (key: string) => {\n\t\treturn typeof key === 'string'\n\t\t\t? key.split(/[:_-]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join('')\n\t\t\t: key;\n\t}\n\tconst capitalizedModule = module ? formatLabelString(module) : '';\n\tconst modulePrefixedSubjectKey = capitalizedModule ? `${capitalizedModule}Subjects` : 'Subjects';\n\tconst modulePrefixedTemplatesKey = capitalizedModule ? `${capitalizedModule}Templates` : 'Templates';\n\tconst modulePrefixedTemplateEditorKey = capitalizedModule ? `${capitalizedModule}TemplateEditor` : 'TemplateEditor';\n\n\tconst SubjectPermissions = permissions?.[modulePrefixedSubjectKey] \n\t\t|| permissions?.Subjects \n\t\t|| permissions?.[modulePrefixedTemplatesKey] \n\t\t|| permissions?.Templates \n\t\t|| permissions?.[modulePrefixedTemplateEditorKey]\n\t\t|| permissions?.TemplateEditor\n\t\t|| {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif (!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif (companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else {\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value } })\n\t\t}\n\t};\n\n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => {\n\t\t\t\tsetTemplateModalSource('add');\n\t\t\t\tsetShowTemplateModal(email);\n\t\t\t},\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif (type == \"email\") {\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({ ...paginationModel, ...(response?.pagination || {}) });\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\tconst companiesArr = await fetchApi({ apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" } });\n\t\tsetCompanies(companiesArr?.data || []);\n\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 20, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n\tuseEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt', viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t<MaterialTable\n\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\ttotalPages={total}\n\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t}\n\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\tisResetRow={false}\n\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t}\n\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t}\n\t\t\t\t\tshowPreview={true}\n\t\t\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t<GridCard\n\t\t\t\t\tdata={tableRows}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!actionBarActiveTab && (\n\t\t\t\t<Fallback\n\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t</Fallback>\n\t\t\t)}\n\n\t\t\t<Footer\n\t\t\t\ttotal={total}\n\t\t\t\tpaginationModel={{\n\t\t\t\t\t...paginationModel,\n\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t}}\n\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\tresource=''\n\t\t\t/>\n\n\t\t\t{/* Action Menu */}\n\t\t\t<Menu\n\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t</Menu>\n\t\t\t{showTemplateModal && (\n\t\t\t\t<TemplateModal\n\t\t\t\t\temail={showTemplateModal}\n\t\t\t\t\tonClose={() => setShowTemplateModal(null)}\n\t\t\t\t\topen={showTemplateModal !== null}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\tsource={templateModalSource}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showCompanySelectionModal && (\n\t\t\t\t<CompanySelectionModal\n\t\t\t\t\tisOpen={showCompanySelectionModal !== null}\n\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["module","useTranslation","usePages","useDeepMemo","useState","viewTypes","useNavigate","usePermissions","templateRoutes","enqueueSnackbar","_a","useCallback","appendConditionSafely","getV1Subjects","getToken","fetchApi","useMemo","transformTableColumns","defaultCurrencySymbol","useEffect","jsxs","jsx","ActionBar","MaterialTable","Fallback","logo","Footer","Menu","MenuItem","Typography","TemplateModal","CompanySelectionModal"],"mappings":"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"}
1
+ {"version":3,"file":"templates-C5whh_WJ.js","sources":["../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '@erpsquad/common/runtime';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\n\nimport './templates.scss';\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n\tconst viewEmails = localStorage.getItem('email-subjects-view');\n\tconst [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n\tconst [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 20, totalCount: 0, skip: 0 });\n\tconst [rows, setRows] = useState<any[]>([]);\n\tconst [isFetching, setIsFetching] = useState<boolean>(false);\n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [templateModalSource, setTemplateModalSource] = useState<'view' | 'add'>('add');\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst formatLabelString = (key: string) => {\n\t\treturn typeof key === 'string'\n\t\t\t? key.split(/[:_-]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join('')\n\t\t\t: key;\n\t}\n\tconst capitalizedModule = module ? formatLabelString(module) : '';\n\tconst modulePrefixedSubjectKey = capitalizedModule ? `${capitalizedModule}Subjects` : 'Subjects';\n\tconst modulePrefixedTemplatesKey = capitalizedModule ? `${capitalizedModule}Templates` : 'Templates';\n\tconst modulePrefixedTemplateEditorKey = capitalizedModule ? `${capitalizedModule}TemplateEditor` : 'TemplateEditor';\n\n\tconst SubjectPermissions = permissions?.[modulePrefixedSubjectKey] \n\t\t|| permissions?.Subjects \n\t\t|| permissions?.[modulePrefixedTemplatesKey] \n\t\t|| permissions?.Templates \n\t\t|| permissions?.[modulePrefixedTemplateEditorKey]\n\t\t|| permissions?.TemplateEditor\n\t\t|| {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif (!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif (companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else {\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value } })\n\t\t}\n\t};\n\n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => {\n\t\t\t\tsetTemplateModalSource('add');\n\t\t\t\tsetShowTemplateModal(email);\n\t\t\t},\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif (type == \"email\") {\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({ ...paginationModel, ...(response?.pagination || {}) });\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\tconst companiesArr = await fetchApi({ apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" } });\n\t\tsetCompanies(companiesArr?.data || []);\n\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 20, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n\tuseEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt', viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t<MaterialTable\n\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\ttotalPages={total}\n\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t}\n\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\tisResetRow={false}\n\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t}\n\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t}\n\t\t\t\t\tshowPreview={true}\n\t\t\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t<GridCard\n\t\t\t\t\tdata={tableRows}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!actionBarActiveTab && (\n\t\t\t\t<Fallback\n\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t</Fallback>\n\t\t\t)}\n\n\t\t\t<Footer\n\t\t\t\ttotal={total}\n\t\t\t\tpaginationModel={{\n\t\t\t\t\t...paginationModel,\n\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t}}\n\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\tresource=''\n\t\t\t/>\n\n\t\t\t{/* Action Menu */}\n\t\t\t<Menu\n\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t</Menu>\n\t\t\t{showTemplateModal && (\n\t\t\t\t<TemplateModal\n\t\t\t\t\temail={showTemplateModal}\n\t\t\t\t\tonClose={() => setShowTemplateModal(null)}\n\t\t\t\t\topen={showTemplateModal !== null}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\tsource={templateModalSource}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showCompanySelectionModal && (\n\t\t\t\t<CompanySelectionModal\n\t\t\t\t\tisOpen={showCompanySelectionModal !== null}\n\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["module","useTranslation","usePages","useDeepMemo","useState","viewTypes","useNavigate","usePermissions","templateRoutes","enqueueSnackbar","_a","useCallback","appendConditionSafely","getV1Subjects","getToken","fetchApi","useMemo","transformTableColumns","defaultCurrencySymbol","useEffect","jsxs","jsx","ActionBar","MaterialTable","Fallback","logo","Footer","Menu","MenuItem","Typography","TemplateModal","CompanySelectionModal"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  const typography = require("./typography-G3sgt_Ls.js");
3
- const api = require("./api-EomXz8pk.js");
3
+ const api = require("./api-DuBJvpDR.js");
4
4
  const dateFormat = require("./dateFormat-DruK2Qh9.js");
5
5
  const DEFAULT_MEASUREMENT_CONFIG = {
6
6
  fontSize: "14px",
@@ -248,4 +248,4 @@ exports.getCheckboxColumnWidth = getCheckboxColumnWidth;
248
248
  exports.getFontConfig = getFontConfig;
249
249
  exports.measureTextWidth = measureTextWidth;
250
250
  exports.sampleRowContent = sampleRowContent;
251
- //# sourceMappingURL=text-measurement-BRaY2UMX.js.map
251
+ //# sourceMappingURL=text-measurement-C5RUDcy3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-measurement-BRaY2UMX.js","sources":["../../src/utils/text-measurement.ts"],"sourcesContent":["import { primaryFont } from '../theme/typography';\nimport { toFixedWithNumbers } from './common';\nimport { formatDate } from './dateFormat';\n\nexport interface MeasurementConfig {\n fontSize: string;\n fontFamily: string;\n fontWeight: string | number;\n}\n\nexport const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig = {\n fontSize: '14px',\n fontFamily: primaryFont,\n fontWeight: '500'\n};\n\nlet canvasContext: CanvasRenderingContext2D | null = null;\n\nfunction getCanvasContext(): CanvasRenderingContext2D | null {\n if (canvasContext) {\n return canvasContext;\n }\n\n try {\n const canvas = document.createElement('canvas');\n canvasContext = canvas.getContext('2d');\n return canvasContext;\n } catch (error) {\n console.warn('Canvas context creation failed, falling back to DOM measurement:', error);\n return null;\n }\n}\n\nfunction measureTextWidthCanvas(text: string, config: MeasurementConfig): number {\n const context = getCanvasContext();\n\n if (!context) {\n console.warn('Canvas context not available, returning 0');\n return 0;\n }\n\n context.font = `${config.fontWeight} ${config.fontSize} ${config.fontFamily}`;\n\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction measureTextWidthDOM(text: string, config: MeasurementConfig): number {\n try {\n const element = document.createElement('span');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.fontSize = config.fontSize;\n element.style.fontFamily = config.fontFamily;\n element.style.fontWeight = String(config.fontWeight);\n element.textContent = text;\n\n document.body.appendChild(element);\n const width = element.offsetWidth;\n document.body.removeChild(element);\n\n return width;\n } catch (error) {\n console.warn('DOM measurement failed:', error);\n return text.length * 8;\n }\n}\n\nexport function measureTextWidth(\n text: string,\n config: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG\n): number {\n if (!text || text.length === 0) {\n return 0;\n }\n\n const textStr = String(text);\n\n const context = getCanvasContext();\n if (context) {\n return measureTextWidthCanvas(textStr, config);\n }\n\n return measureTextWidthDOM(textStr, config);\n}\n\nexport function getFontConfig(element?: HTMLElement): MeasurementConfig {\n if (!element) {\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n\n try {\n const computedStyle = window.getComputedStyle(element);\n\n return {\n fontSize: computedStyle.fontSize || DEFAULT_MEASUREMENT_CONFIG.fontSize,\n fontFamily: computedStyle.fontFamily || DEFAULT_MEASUREMENT_CONFIG.fontFamily,\n fontWeight: computedStyle.fontWeight || DEFAULT_MEASUREMENT_CONFIG.fontWeight\n };\n } catch (error) {\n console.warn('Failed to extract font config from element:', error);\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n}\n\nexport function formatValueForMeasurement(value: any, type?: string): string {\n if (value === null || value === undefined) {\n return '-';\n }\n\n if (type === 'date' || value instanceof Date) {\n try {\n return new Date(value).toLocaleDateString();\n } catch {\n return String(value);\n }\n }\n\n if (type === 'number' || typeof value === 'number') {\n return String(value);\n }\n\n if (typeof value === 'object') {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n\n return String(value);\n}\n\nexport function cleanupMeasurementContext(): void {\n canvasContext = null;\n}\n\nexport interface SampleConfig {\n maxRows: number;\n headers: any[];\n data: any[];\n tableHeaders: any[];\n}\n\nexport interface WidthConstraints {\n min: number;\n max?: number;\n padding: number;\n}\n\nexport interface WidthCalculationResult {\n [columnName: string]: number;\n}\n\nexport interface HeaderConfig {\n name: string;\n label: string;\n width?: number | string;\n enableSorting?: boolean;\n type?: 'date' | 'number' | 'string';\n render?: (value: any, row: any, data: any) => React.ReactNode;\n}\n\nexport function calculateColumnWidths(\n headers: HeaderConfig[],\n rowContentSamples: { [columnName: string]: string[] },\n measurementConfig: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG,\n constraints: WidthConstraints = { min: 80, padding: 24 },\n t: any\n): WidthCalculationResult {\n\n const calculatedWidths: WidthCalculationResult = {};\n\n headers.forEach((header) => {\n const label = t(header.label)\n if (header.width) {\n const numericWidth = typeof header.width === 'string'\n ? parseInt(header.width.replace(/[^\\d]/g, ''), 10)\n : header.width;\n\n calculatedWidths[label] = numericWidth;\n return;\n }\n\n const headerText = label;\n let headerWidth = measureTextWidth(headerText, measurementConfig);\n\n if (header.enableSorting) {\n headerWidth += 48;\n }\n\n let maxRowContentWidth = 0;\n const samples = rowContentSamples[label] || [];\n\n samples.forEach((content) => {\n const contentWidth = measureTextWidth(content, measurementConfig);\n maxRowContentWidth = Math.max(maxRowContentWidth, contentWidth);\n });\n \n // const isHeaderWidth=(headerWidth < 100 ? headerWidth + 24 : headerWidth >maxRowContentWidth)\n\n let calculatedWidth = Math.max(headerWidth < 100 ? headerWidth + 24 : headerWidth, maxRowContentWidth);\n\n const dynamicPadding = constraints.padding \n\n calculatedWidth += dynamicPadding;\n\n if (maxRowContentWidth > 10) {\n calculatedWidth = Math.max(constraints.min, calculatedWidth);\n } else {\n calculatedWidth = Math.max(60, calculatedWidth);\n }\n\n if (constraints.max) {\n calculatedWidth = Math.min(constraints.max, calculatedWidth);\n }\n\n calculatedWidths[label] = Math.round(calculatedWidth) > 100 ? Math.round(calculatedWidth) : 100;\n });\n\n return calculatedWidths\n}\n\nconst valueMapper = {\n 'amount': {\n format: toFixedWithNumbers\n },\n 'date': {\n format: formatDate\n },\n 'string': {\n format: (value: any) => value\n },\n 'toFixed':{\n format:(value:any)=>toFixedWithNumbers(value)\n }\n}\n\nfunction getNestedValue(obj: any, path: any): any {\n const type = path?.type || 'string';\n if (!path?.name || path?.name === '') {\n return '';\n }\n\n const value = path?.name.split('.').reduce(\n (acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj\n );\n\n if (value === 0 || value === '0') {\n return '0';\n }\n\n return value !== undefined ? valueMapper[type]?.format(value) : '-';\n}\nexport function sampleRowContent(config: SampleConfig): { [columnName: string]: string[] } {\n const { maxRows, headers, data, tableHeaders, t } = config;\n const samples: { [columnName: string]: string[] } = {};\n\n headers.forEach((header) => {\n samples[t(header.label)] = [];\n });\n\n if (!data || !Array.isArray(data) || data.length === 0) {\n return samples;\n }\n\n let sampledCount = 0;\n const maxSamples = maxRows;\n\n function sampleRows(rows: any[], level: number = 0, /* parentRow?: any */) {\n if (!Array.isArray(rows) || sampledCount >= maxSamples) {\n return;\n }\n\n const levelHeaders = tableHeaders && tableHeaders[level] && tableHeaders[level].headers\n ? tableHeaders[level].headers\n : headers;\n\n for (let i = 0; i < rows.length && sampledCount < maxSamples; i++) {\n const row = rows[i];\n\n // Process all headers in the original headers array\n headers.forEach((header: any) => {\n const columnLabel = t(header.label);\n if (!samples[columnLabel]) {\n return;\n }\n\n // Check if this header belongs to the current level\n const headerInCurrentLevel = levelHeaders.find((lh: any) =>\n t(lh.label) === columnLabel\n );\n\n let content: string;\n\n if (headerInCurrentLevel) {\n // This header belongs to current level - get value from current row\n if (header.render && typeof header.render === 'function') {\n try {\n const rendered = header.render(getNestedValue(row, header), row, data);\n\n if (typeof rendered === 'string') {\n content = rendered;\n } else if (typeof rendered === 'number') {\n content = String(rendered);\n } else if (rendered && typeof rendered === 'object' && 'props' in rendered) {\n const props = (rendered as any).props;\n if (props && props.children) {\n content = String(props.children);\n } else {\n content = String(rendered);\n }\n } else {\n content = String(rendered);\n }\n } catch (error) {\n content = formatValueForMeasurement(getNestedValue(row, header), header.type);\n }\n } else {\n const value = getNestedValue(row, header);\n content = formatValueForMeasurement(value, header.type);\n }\n } else {\n // This header belongs to a parent level - use placeholder\n content = \"-\";\n }\n\n samples[columnLabel].push(content);\n });\n\n sampledCount++;\n\n // Recurse into nested data\n if (tableHeaders && tableHeaders[level + 1]) {\n const nextRowKey = tableHeaders[level + 1]?.rowKey;\n if (nextRowKey && row[nextRowKey] && Array.isArray(row[nextRowKey])) {\n sampleRows(row[nextRowKey], level + 1, row);\n }\n }\n }\n }\n\n sampleRows(data, 0);\n\n return samples;\n}\n\nexport function getCheckboxColumnWidth(): number {\n return 60;\n}"],"names":["primaryFont","toFixedWithNumbers","formatDate"],"mappings":"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"}
1
+ {"version":3,"file":"text-measurement-C5RUDcy3.js","sources":["../../src/utils/text-measurement.ts"],"sourcesContent":["import { primaryFont } from '../theme/typography';\nimport { toFixedWithNumbers } from './common';\nimport { formatDate } from './dateFormat';\n\nexport interface MeasurementConfig {\n fontSize: string;\n fontFamily: string;\n fontWeight: string | number;\n}\n\nexport const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig = {\n fontSize: '14px',\n fontFamily: primaryFont,\n fontWeight: '500'\n};\n\nlet canvasContext: CanvasRenderingContext2D | null = null;\n\nfunction getCanvasContext(): CanvasRenderingContext2D | null {\n if (canvasContext) {\n return canvasContext;\n }\n\n try {\n const canvas = document.createElement('canvas');\n canvasContext = canvas.getContext('2d');\n return canvasContext;\n } catch (error) {\n console.warn('Canvas context creation failed, falling back to DOM measurement:', error);\n return null;\n }\n}\n\nfunction measureTextWidthCanvas(text: string, config: MeasurementConfig): number {\n const context = getCanvasContext();\n\n if (!context) {\n console.warn('Canvas context not available, returning 0');\n return 0;\n }\n\n context.font = `${config.fontWeight} ${config.fontSize} ${config.fontFamily}`;\n\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction measureTextWidthDOM(text: string, config: MeasurementConfig): number {\n try {\n const element = document.createElement('span');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.fontSize = config.fontSize;\n element.style.fontFamily = config.fontFamily;\n element.style.fontWeight = String(config.fontWeight);\n element.textContent = text;\n\n document.body.appendChild(element);\n const width = element.offsetWidth;\n document.body.removeChild(element);\n\n return width;\n } catch (error) {\n console.warn('DOM measurement failed:', error);\n return text.length * 8;\n }\n}\n\nexport function measureTextWidth(\n text: string,\n config: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG\n): number {\n if (!text || text.length === 0) {\n return 0;\n }\n\n const textStr = String(text);\n\n const context = getCanvasContext();\n if (context) {\n return measureTextWidthCanvas(textStr, config);\n }\n\n return measureTextWidthDOM(textStr, config);\n}\n\nexport function getFontConfig(element?: HTMLElement): MeasurementConfig {\n if (!element) {\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n\n try {\n const computedStyle = window.getComputedStyle(element);\n\n return {\n fontSize: computedStyle.fontSize || DEFAULT_MEASUREMENT_CONFIG.fontSize,\n fontFamily: computedStyle.fontFamily || DEFAULT_MEASUREMENT_CONFIG.fontFamily,\n fontWeight: computedStyle.fontWeight || DEFAULT_MEASUREMENT_CONFIG.fontWeight\n };\n } catch (error) {\n console.warn('Failed to extract font config from element:', error);\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n}\n\nexport function formatValueForMeasurement(value: any, type?: string): string {\n if (value === null || value === undefined) {\n return '-';\n }\n\n if (type === 'date' || value instanceof Date) {\n try {\n return new Date(value).toLocaleDateString();\n } catch {\n return String(value);\n }\n }\n\n if (type === 'number' || typeof value === 'number') {\n return String(value);\n }\n\n if (typeof value === 'object') {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n\n return String(value);\n}\n\nexport function cleanupMeasurementContext(): void {\n canvasContext = null;\n}\n\nexport interface SampleConfig {\n maxRows: number;\n headers: any[];\n data: any[];\n tableHeaders: any[];\n}\n\nexport interface WidthConstraints {\n min: number;\n max?: number;\n padding: number;\n}\n\nexport interface WidthCalculationResult {\n [columnName: string]: number;\n}\n\nexport interface HeaderConfig {\n name: string;\n label: string;\n width?: number | string;\n enableSorting?: boolean;\n type?: 'date' | 'number' | 'string';\n render?: (value: any, row: any, data: any) => React.ReactNode;\n}\n\nexport function calculateColumnWidths(\n headers: HeaderConfig[],\n rowContentSamples: { [columnName: string]: string[] },\n measurementConfig: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG,\n constraints: WidthConstraints = { min: 80, padding: 24 },\n t: any\n): WidthCalculationResult {\n\n const calculatedWidths: WidthCalculationResult = {};\n\n headers.forEach((header) => {\n const label = t(header.label)\n if (header.width) {\n const numericWidth = typeof header.width === 'string'\n ? parseInt(header.width.replace(/[^\\d]/g, ''), 10)\n : header.width;\n\n calculatedWidths[label] = numericWidth;\n return;\n }\n\n const headerText = label;\n let headerWidth = measureTextWidth(headerText, measurementConfig);\n\n if (header.enableSorting) {\n headerWidth += 48;\n }\n\n let maxRowContentWidth = 0;\n const samples = rowContentSamples[label] || [];\n\n samples.forEach((content) => {\n const contentWidth = measureTextWidth(content, measurementConfig);\n maxRowContentWidth = Math.max(maxRowContentWidth, contentWidth);\n });\n \n // const isHeaderWidth=(headerWidth < 100 ? headerWidth + 24 : headerWidth >maxRowContentWidth)\n\n let calculatedWidth = Math.max(headerWidth < 100 ? headerWidth + 24 : headerWidth, maxRowContentWidth);\n\n const dynamicPadding = constraints.padding \n\n calculatedWidth += dynamicPadding;\n\n if (maxRowContentWidth > 10) {\n calculatedWidth = Math.max(constraints.min, calculatedWidth);\n } else {\n calculatedWidth = Math.max(60, calculatedWidth);\n }\n\n if (constraints.max) {\n calculatedWidth = Math.min(constraints.max, calculatedWidth);\n }\n\n calculatedWidths[label] = Math.round(calculatedWidth) > 100 ? Math.round(calculatedWidth) : 100;\n });\n\n return calculatedWidths\n}\n\nconst valueMapper = {\n 'amount': {\n format: toFixedWithNumbers\n },\n 'date': {\n format: formatDate\n },\n 'string': {\n format: (value: any) => value\n },\n 'toFixed':{\n format:(value:any)=>toFixedWithNumbers(value)\n }\n}\n\nfunction getNestedValue(obj: any, path: any): any {\n const type = path?.type || 'string';\n if (!path?.name || path?.name === '') {\n return '';\n }\n\n const value = path?.name.split('.').reduce(\n (acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj\n );\n\n if (value === 0 || value === '0') {\n return '0';\n }\n\n return value !== undefined ? valueMapper[type]?.format(value) : '-';\n}\nexport function sampleRowContent(config: SampleConfig): { [columnName: string]: string[] } {\n const { maxRows, headers, data, tableHeaders, t } = config;\n const samples: { [columnName: string]: string[] } = {};\n\n headers.forEach((header) => {\n samples[t(header.label)] = [];\n });\n\n if (!data || !Array.isArray(data) || data.length === 0) {\n return samples;\n }\n\n let sampledCount = 0;\n const maxSamples = maxRows;\n\n function sampleRows(rows: any[], level: number = 0, /* parentRow?: any */) {\n if (!Array.isArray(rows) || sampledCount >= maxSamples) {\n return;\n }\n\n const levelHeaders = tableHeaders && tableHeaders[level] && tableHeaders[level].headers\n ? tableHeaders[level].headers\n : headers;\n\n for (let i = 0; i < rows.length && sampledCount < maxSamples; i++) {\n const row = rows[i];\n\n // Process all headers in the original headers array\n headers.forEach((header: any) => {\n const columnLabel = t(header.label);\n if (!samples[columnLabel]) {\n return;\n }\n\n // Check if this header belongs to the current level\n const headerInCurrentLevel = levelHeaders.find((lh: any) =>\n t(lh.label) === columnLabel\n );\n\n let content: string;\n\n if (headerInCurrentLevel) {\n // This header belongs to current level - get value from current row\n if (header.render && typeof header.render === 'function') {\n try {\n const rendered = header.render(getNestedValue(row, header), row, data);\n\n if (typeof rendered === 'string') {\n content = rendered;\n } else if (typeof rendered === 'number') {\n content = String(rendered);\n } else if (rendered && typeof rendered === 'object' && 'props' in rendered) {\n const props = (rendered as any).props;\n if (props && props.children) {\n content = String(props.children);\n } else {\n content = String(rendered);\n }\n } else {\n content = String(rendered);\n }\n } catch (error) {\n content = formatValueForMeasurement(getNestedValue(row, header), header.type);\n }\n } else {\n const value = getNestedValue(row, header);\n content = formatValueForMeasurement(value, header.type);\n }\n } else {\n // This header belongs to a parent level - use placeholder\n content = \"-\";\n }\n\n samples[columnLabel].push(content);\n });\n\n sampledCount++;\n\n // Recurse into nested data\n if (tableHeaders && tableHeaders[level + 1]) {\n const nextRowKey = tableHeaders[level + 1]?.rowKey;\n if (nextRowKey && row[nextRowKey] && Array.isArray(row[nextRowKey])) {\n sampleRows(row[nextRowKey], level + 1, row);\n }\n }\n }\n }\n\n sampleRows(data, 0);\n\n return samples;\n}\n\nexport function getCheckboxColumnWidth(): number {\n return 60;\n}"],"names":["primaryFont","toFixedWithNumbers","formatDate"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { p as primaryFont } from "./typography-DSb3h0jJ.esm.js";
2
- import { av as toFixedWithNumbers } from "./api-BIVCMSwW.esm.js";
2
+ import { av as toFixedWithNumbers } from "./api-COFUx2RW.esm.js";
3
3
  import { a as formatDate } from "./dateFormat-VzMEQghL.esm.js";
4
4
  const DEFAULT_MEASUREMENT_CONFIG = {
5
5
  fontSize: "14px",
@@ -249,4 +249,4 @@ export {
249
249
  measureTextWidth as m,
250
250
  sampleRowContent as s
251
251
  };
252
- //# sourceMappingURL=text-measurement-BCjauPbB.esm.js.map
252
+ //# sourceMappingURL=text-measurement-DvKHzZhR.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-measurement-BCjauPbB.esm.js","sources":["../../src/utils/text-measurement.ts"],"sourcesContent":["import { primaryFont } from '../theme/typography';\nimport { toFixedWithNumbers } from './common';\nimport { formatDate } from './dateFormat';\n\nexport interface MeasurementConfig {\n fontSize: string;\n fontFamily: string;\n fontWeight: string | number;\n}\n\nexport const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig = {\n fontSize: '14px',\n fontFamily: primaryFont,\n fontWeight: '500'\n};\n\nlet canvasContext: CanvasRenderingContext2D | null = null;\n\nfunction getCanvasContext(): CanvasRenderingContext2D | null {\n if (canvasContext) {\n return canvasContext;\n }\n\n try {\n const canvas = document.createElement('canvas');\n canvasContext = canvas.getContext('2d');\n return canvasContext;\n } catch (error) {\n console.warn('Canvas context creation failed, falling back to DOM measurement:', error);\n return null;\n }\n}\n\nfunction measureTextWidthCanvas(text: string, config: MeasurementConfig): number {\n const context = getCanvasContext();\n\n if (!context) {\n console.warn('Canvas context not available, returning 0');\n return 0;\n }\n\n context.font = `${config.fontWeight} ${config.fontSize} ${config.fontFamily}`;\n\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction measureTextWidthDOM(text: string, config: MeasurementConfig): number {\n try {\n const element = document.createElement('span');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.fontSize = config.fontSize;\n element.style.fontFamily = config.fontFamily;\n element.style.fontWeight = String(config.fontWeight);\n element.textContent = text;\n\n document.body.appendChild(element);\n const width = element.offsetWidth;\n document.body.removeChild(element);\n\n return width;\n } catch (error) {\n console.warn('DOM measurement failed:', error);\n return text.length * 8;\n }\n}\n\nexport function measureTextWidth(\n text: string,\n config: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG\n): number {\n if (!text || text.length === 0) {\n return 0;\n }\n\n const textStr = String(text);\n\n const context = getCanvasContext();\n if (context) {\n return measureTextWidthCanvas(textStr, config);\n }\n\n return measureTextWidthDOM(textStr, config);\n}\n\nexport function getFontConfig(element?: HTMLElement): MeasurementConfig {\n if (!element) {\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n\n try {\n const computedStyle = window.getComputedStyle(element);\n\n return {\n fontSize: computedStyle.fontSize || DEFAULT_MEASUREMENT_CONFIG.fontSize,\n fontFamily: computedStyle.fontFamily || DEFAULT_MEASUREMENT_CONFIG.fontFamily,\n fontWeight: computedStyle.fontWeight || DEFAULT_MEASUREMENT_CONFIG.fontWeight\n };\n } catch (error) {\n console.warn('Failed to extract font config from element:', error);\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n}\n\nexport function formatValueForMeasurement(value: any, type?: string): string {\n if (value === null || value === undefined) {\n return '-';\n }\n\n if (type === 'date' || value instanceof Date) {\n try {\n return new Date(value).toLocaleDateString();\n } catch {\n return String(value);\n }\n }\n\n if (type === 'number' || typeof value === 'number') {\n return String(value);\n }\n\n if (typeof value === 'object') {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n\n return String(value);\n}\n\nexport function cleanupMeasurementContext(): void {\n canvasContext = null;\n}\n\nexport interface SampleConfig {\n maxRows: number;\n headers: any[];\n data: any[];\n tableHeaders: any[];\n}\n\nexport interface WidthConstraints {\n min: number;\n max?: number;\n padding: number;\n}\n\nexport interface WidthCalculationResult {\n [columnName: string]: number;\n}\n\nexport interface HeaderConfig {\n name: string;\n label: string;\n width?: number | string;\n enableSorting?: boolean;\n type?: 'date' | 'number' | 'string';\n render?: (value: any, row: any, data: any) => React.ReactNode;\n}\n\nexport function calculateColumnWidths(\n headers: HeaderConfig[],\n rowContentSamples: { [columnName: string]: string[] },\n measurementConfig: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG,\n constraints: WidthConstraints = { min: 80, padding: 24 },\n t: any\n): WidthCalculationResult {\n\n const calculatedWidths: WidthCalculationResult = {};\n\n headers.forEach((header) => {\n const label = t(header.label)\n if (header.width) {\n const numericWidth = typeof header.width === 'string'\n ? parseInt(header.width.replace(/[^\\d]/g, ''), 10)\n : header.width;\n\n calculatedWidths[label] = numericWidth;\n return;\n }\n\n const headerText = label;\n let headerWidth = measureTextWidth(headerText, measurementConfig);\n\n if (header.enableSorting) {\n headerWidth += 48;\n }\n\n let maxRowContentWidth = 0;\n const samples = rowContentSamples[label] || [];\n\n samples.forEach((content) => {\n const contentWidth = measureTextWidth(content, measurementConfig);\n maxRowContentWidth = Math.max(maxRowContentWidth, contentWidth);\n });\n \n // const isHeaderWidth=(headerWidth < 100 ? headerWidth + 24 : headerWidth >maxRowContentWidth)\n\n let calculatedWidth = Math.max(headerWidth < 100 ? headerWidth + 24 : headerWidth, maxRowContentWidth);\n\n const dynamicPadding = constraints.padding \n\n calculatedWidth += dynamicPadding;\n\n if (maxRowContentWidth > 10) {\n calculatedWidth = Math.max(constraints.min, calculatedWidth);\n } else {\n calculatedWidth = Math.max(60, calculatedWidth);\n }\n\n if (constraints.max) {\n calculatedWidth = Math.min(constraints.max, calculatedWidth);\n }\n\n calculatedWidths[label] = Math.round(calculatedWidth) > 100 ? Math.round(calculatedWidth) : 100;\n });\n\n return calculatedWidths\n}\n\nconst valueMapper = {\n 'amount': {\n format: toFixedWithNumbers\n },\n 'date': {\n format: formatDate\n },\n 'string': {\n format: (value: any) => value\n },\n 'toFixed':{\n format:(value:any)=>toFixedWithNumbers(value)\n }\n}\n\nfunction getNestedValue(obj: any, path: any): any {\n const type = path?.type || 'string';\n if (!path?.name || path?.name === '') {\n return '';\n }\n\n const value = path?.name.split('.').reduce(\n (acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj\n );\n\n if (value === 0 || value === '0') {\n return '0';\n }\n\n return value !== undefined ? valueMapper[type]?.format(value) : '-';\n}\nexport function sampleRowContent(config: SampleConfig): { [columnName: string]: string[] } {\n const { maxRows, headers, data, tableHeaders, t } = config;\n const samples: { [columnName: string]: string[] } = {};\n\n headers.forEach((header) => {\n samples[t(header.label)] = [];\n });\n\n if (!data || !Array.isArray(data) || data.length === 0) {\n return samples;\n }\n\n let sampledCount = 0;\n const maxSamples = maxRows;\n\n function sampleRows(rows: any[], level: number = 0, /* parentRow?: any */) {\n if (!Array.isArray(rows) || sampledCount >= maxSamples) {\n return;\n }\n\n const levelHeaders = tableHeaders && tableHeaders[level] && tableHeaders[level].headers\n ? tableHeaders[level].headers\n : headers;\n\n for (let i = 0; i < rows.length && sampledCount < maxSamples; i++) {\n const row = rows[i];\n\n // Process all headers in the original headers array\n headers.forEach((header: any) => {\n const columnLabel = t(header.label);\n if (!samples[columnLabel]) {\n return;\n }\n\n // Check if this header belongs to the current level\n const headerInCurrentLevel = levelHeaders.find((lh: any) =>\n t(lh.label) === columnLabel\n );\n\n let content: string;\n\n if (headerInCurrentLevel) {\n // This header belongs to current level - get value from current row\n if (header.render && typeof header.render === 'function') {\n try {\n const rendered = header.render(getNestedValue(row, header), row, data);\n\n if (typeof rendered === 'string') {\n content = rendered;\n } else if (typeof rendered === 'number') {\n content = String(rendered);\n } else if (rendered && typeof rendered === 'object' && 'props' in rendered) {\n const props = (rendered as any).props;\n if (props && props.children) {\n content = String(props.children);\n } else {\n content = String(rendered);\n }\n } else {\n content = String(rendered);\n }\n } catch (error) {\n content = formatValueForMeasurement(getNestedValue(row, header), header.type);\n }\n } else {\n const value = getNestedValue(row, header);\n content = formatValueForMeasurement(value, header.type);\n }\n } else {\n // This header belongs to a parent level - use placeholder\n content = \"-\";\n }\n\n samples[columnLabel].push(content);\n });\n\n sampledCount++;\n\n // Recurse into nested data\n if (tableHeaders && tableHeaders[level + 1]) {\n const nextRowKey = tableHeaders[level + 1]?.rowKey;\n if (nextRowKey && row[nextRowKey] && Array.isArray(row[nextRowKey])) {\n sampleRows(row[nextRowKey], level + 1, row);\n }\n }\n }\n }\n\n sampleRows(data, 0);\n\n return samples;\n}\n\nexport function getCheckboxColumnWidth(): number {\n return 60;\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-measurement-DvKHzZhR.esm.js","sources":["../../src/utils/text-measurement.ts"],"sourcesContent":["import { primaryFont } from '../theme/typography';\nimport { toFixedWithNumbers } from './common';\nimport { formatDate } from './dateFormat';\n\nexport interface MeasurementConfig {\n fontSize: string;\n fontFamily: string;\n fontWeight: string | number;\n}\n\nexport const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig = {\n fontSize: '14px',\n fontFamily: primaryFont,\n fontWeight: '500'\n};\n\nlet canvasContext: CanvasRenderingContext2D | null = null;\n\nfunction getCanvasContext(): CanvasRenderingContext2D | null {\n if (canvasContext) {\n return canvasContext;\n }\n\n try {\n const canvas = document.createElement('canvas');\n canvasContext = canvas.getContext('2d');\n return canvasContext;\n } catch (error) {\n console.warn('Canvas context creation failed, falling back to DOM measurement:', error);\n return null;\n }\n}\n\nfunction measureTextWidthCanvas(text: string, config: MeasurementConfig): number {\n const context = getCanvasContext();\n\n if (!context) {\n console.warn('Canvas context not available, returning 0');\n return 0;\n }\n\n context.font = `${config.fontWeight} ${config.fontSize} ${config.fontFamily}`;\n\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction measureTextWidthDOM(text: string, config: MeasurementConfig): number {\n try {\n const element = document.createElement('span');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.fontSize = config.fontSize;\n element.style.fontFamily = config.fontFamily;\n element.style.fontWeight = String(config.fontWeight);\n element.textContent = text;\n\n document.body.appendChild(element);\n const width = element.offsetWidth;\n document.body.removeChild(element);\n\n return width;\n } catch (error) {\n console.warn('DOM measurement failed:', error);\n return text.length * 8;\n }\n}\n\nexport function measureTextWidth(\n text: string,\n config: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG\n): number {\n if (!text || text.length === 0) {\n return 0;\n }\n\n const textStr = String(text);\n\n const context = getCanvasContext();\n if (context) {\n return measureTextWidthCanvas(textStr, config);\n }\n\n return measureTextWidthDOM(textStr, config);\n}\n\nexport function getFontConfig(element?: HTMLElement): MeasurementConfig {\n if (!element) {\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n\n try {\n const computedStyle = window.getComputedStyle(element);\n\n return {\n fontSize: computedStyle.fontSize || DEFAULT_MEASUREMENT_CONFIG.fontSize,\n fontFamily: computedStyle.fontFamily || DEFAULT_MEASUREMENT_CONFIG.fontFamily,\n fontWeight: computedStyle.fontWeight || DEFAULT_MEASUREMENT_CONFIG.fontWeight\n };\n } catch (error) {\n console.warn('Failed to extract font config from element:', error);\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n}\n\nexport function formatValueForMeasurement(value: any, type?: string): string {\n if (value === null || value === undefined) {\n return '-';\n }\n\n if (type === 'date' || value instanceof Date) {\n try {\n return new Date(value).toLocaleDateString();\n } catch {\n return String(value);\n }\n }\n\n if (type === 'number' || typeof value === 'number') {\n return String(value);\n }\n\n if (typeof value === 'object') {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n\n return String(value);\n}\n\nexport function cleanupMeasurementContext(): void {\n canvasContext = null;\n}\n\nexport interface SampleConfig {\n maxRows: number;\n headers: any[];\n data: any[];\n tableHeaders: any[];\n}\n\nexport interface WidthConstraints {\n min: number;\n max?: number;\n padding: number;\n}\n\nexport interface WidthCalculationResult {\n [columnName: string]: number;\n}\n\nexport interface HeaderConfig {\n name: string;\n label: string;\n width?: number | string;\n enableSorting?: boolean;\n type?: 'date' | 'number' | 'string';\n render?: (value: any, row: any, data: any) => React.ReactNode;\n}\n\nexport function calculateColumnWidths(\n headers: HeaderConfig[],\n rowContentSamples: { [columnName: string]: string[] },\n measurementConfig: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG,\n constraints: WidthConstraints = { min: 80, padding: 24 },\n t: any\n): WidthCalculationResult {\n\n const calculatedWidths: WidthCalculationResult = {};\n\n headers.forEach((header) => {\n const label = t(header.label)\n if (header.width) {\n const numericWidth = typeof header.width === 'string'\n ? parseInt(header.width.replace(/[^\\d]/g, ''), 10)\n : header.width;\n\n calculatedWidths[label] = numericWidth;\n return;\n }\n\n const headerText = label;\n let headerWidth = measureTextWidth(headerText, measurementConfig);\n\n if (header.enableSorting) {\n headerWidth += 48;\n }\n\n let maxRowContentWidth = 0;\n const samples = rowContentSamples[label] || [];\n\n samples.forEach((content) => {\n const contentWidth = measureTextWidth(content, measurementConfig);\n maxRowContentWidth = Math.max(maxRowContentWidth, contentWidth);\n });\n \n // const isHeaderWidth=(headerWidth < 100 ? headerWidth + 24 : headerWidth >maxRowContentWidth)\n\n let calculatedWidth = Math.max(headerWidth < 100 ? headerWidth + 24 : headerWidth, maxRowContentWidth);\n\n const dynamicPadding = constraints.padding \n\n calculatedWidth += dynamicPadding;\n\n if (maxRowContentWidth > 10) {\n calculatedWidth = Math.max(constraints.min, calculatedWidth);\n } else {\n calculatedWidth = Math.max(60, calculatedWidth);\n }\n\n if (constraints.max) {\n calculatedWidth = Math.min(constraints.max, calculatedWidth);\n }\n\n calculatedWidths[label] = Math.round(calculatedWidth) > 100 ? Math.round(calculatedWidth) : 100;\n });\n\n return calculatedWidths\n}\n\nconst valueMapper = {\n 'amount': {\n format: toFixedWithNumbers\n },\n 'date': {\n format: formatDate\n },\n 'string': {\n format: (value: any) => value\n },\n 'toFixed':{\n format:(value:any)=>toFixedWithNumbers(value)\n }\n}\n\nfunction getNestedValue(obj: any, path: any): any {\n const type = path?.type || 'string';\n if (!path?.name || path?.name === '') {\n return '';\n }\n\n const value = path?.name.split('.').reduce(\n (acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj\n );\n\n if (value === 0 || value === '0') {\n return '0';\n }\n\n return value !== undefined ? valueMapper[type]?.format(value) : '-';\n}\nexport function sampleRowContent(config: SampleConfig): { [columnName: string]: string[] } {\n const { maxRows, headers, data, tableHeaders, t } = config;\n const samples: { [columnName: string]: string[] } = {};\n\n headers.forEach((header) => {\n samples[t(header.label)] = [];\n });\n\n if (!data || !Array.isArray(data) || data.length === 0) {\n return samples;\n }\n\n let sampledCount = 0;\n const maxSamples = maxRows;\n\n function sampleRows(rows: any[], level: number = 0, /* parentRow?: any */) {\n if (!Array.isArray(rows) || sampledCount >= maxSamples) {\n return;\n }\n\n const levelHeaders = tableHeaders && tableHeaders[level] && tableHeaders[level].headers\n ? tableHeaders[level].headers\n : headers;\n\n for (let i = 0; i < rows.length && sampledCount < maxSamples; i++) {\n const row = rows[i];\n\n // Process all headers in the original headers array\n headers.forEach((header: any) => {\n const columnLabel = t(header.label);\n if (!samples[columnLabel]) {\n return;\n }\n\n // Check if this header belongs to the current level\n const headerInCurrentLevel = levelHeaders.find((lh: any) =>\n t(lh.label) === columnLabel\n );\n\n let content: string;\n\n if (headerInCurrentLevel) {\n // This header belongs to current level - get value from current row\n if (header.render && typeof header.render === 'function') {\n try {\n const rendered = header.render(getNestedValue(row, header), row, data);\n\n if (typeof rendered === 'string') {\n content = rendered;\n } else if (typeof rendered === 'number') {\n content = String(rendered);\n } else if (rendered && typeof rendered === 'object' && 'props' in rendered) {\n const props = (rendered as any).props;\n if (props && props.children) {\n content = String(props.children);\n } else {\n content = String(rendered);\n }\n } else {\n content = String(rendered);\n }\n } catch (error) {\n content = formatValueForMeasurement(getNestedValue(row, header), header.type);\n }\n } else {\n const value = getNestedValue(row, header);\n content = formatValueForMeasurement(value, header.type);\n }\n } else {\n // This header belongs to a parent level - use placeholder\n content = \"-\";\n }\n\n samples[columnLabel].push(content);\n });\n\n sampledCount++;\n\n // Recurse into nested data\n if (tableHeaders && tableHeaders[level + 1]) {\n const nextRowKey = tableHeaders[level + 1]?.rowKey;\n if (nextRowKey && row[nextRowKey] && Array.isArray(row[nextRowKey])) {\n sampleRows(row[nextRowKey], level + 1, row);\n }\n }\n }\n }\n\n sampleRows(data, 0);\n\n return samples;\n}\n\nexport function getCheckboxColumnWidth(): number {\n return 60;\n}"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import _ from "lodash";
2
2
  import { f as getV1LanguagesTranslations } from "./api-DBmWILBN.esm.js";
3
- import { ab as getToken } from "./api-BIVCMSwW.esm.js";
3
+ import { ab as getToken } from "./api-COFUx2RW.esm.js";
4
4
  const loadedModules = /* @__PURE__ */ new Set();
5
5
  function nestTranslation(flatObject) {
6
6
  const nested = {};
@@ -56,4 +56,4 @@ async function loadModuleTranslations(moduleNames, i18nInstance) {
56
56
  export {
57
57
  loadModuleTranslations as l
58
58
  };
59
- //# sourceMappingURL=translations-BrwQcVN3.esm.js.map
59
+ //# sourceMappingURL=translations-BLrQX9my.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"translations-BrwQcVN3.esm.js","sources":["../../src/utils/translations.ts"],"sourcesContent":["import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["_a"],"mappings":";;;AAKA,MAAM,oCAAoB,IAAA;AAE1B,SAAS,gBAAgB,YAAiB;AACxC,QAAM,SAAS,CAAA;AACf,QAAM,OAAO,OAAO,KAAK,UAAU;AACnC,QAAM,oCAAoB,IAAA;AAG1B,OAAK,QAAQ,CAAC,QAAQ;AACpB,SAAK,QAAQ,CAAC,aAAa;AACzB,UAAI,SAAS,WAAW,MAAM,GAAG,GAAG;AAClC,sBAAc,IAAI,GAAG;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAGD,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,CAAC,cAAc,IAAI,GAAG,GAAG;AAC3B,QAAE,IAAI,QAAQ,KAAK,WAAW,GAAG,CAAC;AAAA,IACpC;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEA,eAAsB,uBAAuB,aAAuB,cAAoB;;AACtF,QAAM,iBAAgB,2CAAa,OAAO,CAAA,MAAK,CAAC,cAAc,IAAI,CAAC,OAAM,CAAA;AAEzE,MAAG,CAAC,cAAc,OAAQ;AAE1B,QAAM,UAAU,eAAe,+CAAe,KAAK,IAAI;AAEvD,QAAM,WAAW,MAAM,2BAA2B;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,IACP,GAAG,SAAA;AAAA,EAAS,CACb;AAED,QAAM,SAAO,0CAAU,SAAV,mBAAgB,iBAAgB,CAAA;AAE7C,QAAM,YAAoD,CAAA;AAE1D,OAAK,QAAQ,CAAC,WAAgB;;AAC5B,KAAAA,MAAA,iCAAQ,WAAR,gBAAAA,IAAgB,QAAQ,CAAC,SAAc;AACrC,iBAAW,QAAQ,KAAK,aAAa;AACnC,YAAI,CAAC,UAAU,IAAI,GAAG;AACpB,oBAAU,IAAI,IAAI,CAAA;AAAA,QACpB;AACA,kBAAU,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,YAAY,IAAI;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAC;AAGD,MAAI,cAAc;AAChB,WAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AACvC,YAAM,SAAS,gBAAgB,UAAU,IAAI,CAAC;AAC9C,mBAAa,kBAAkB,MAAM,eAAe,QAAQ,MAAM,IAAI;AAAA,IACxE,CAAC;AAAA,EACH;AAEA,gBAAc,QAAQ,CAAC,WAAW;AAChC,kBAAc,IAAI,MAAM;AAAA,EAC1B,CAAC;AACH;"}
1
+ {"version":3,"file":"translations-BLrQX9my.esm.js","sources":["../../src/utils/translations.ts"],"sourcesContent":["import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["_a"],"mappings":";;;AAKA,MAAM,oCAAoB,IAAA;AAE1B,SAAS,gBAAgB,YAAiB;AACxC,QAAM,SAAS,CAAA;AACf,QAAM,OAAO,OAAO,KAAK,UAAU;AACnC,QAAM,oCAAoB,IAAA;AAG1B,OAAK,QAAQ,CAAC,QAAQ;AACpB,SAAK,QAAQ,CAAC,aAAa;AACzB,UAAI,SAAS,WAAW,MAAM,GAAG,GAAG;AAClC,sBAAc,IAAI,GAAG;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAGD,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,CAAC,cAAc,IAAI,GAAG,GAAG;AAC3B,QAAE,IAAI,QAAQ,KAAK,WAAW,GAAG,CAAC;AAAA,IACpC;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEA,eAAsB,uBAAuB,aAAuB,cAAoB;;AACtF,QAAM,iBAAgB,2CAAa,OAAO,CAAA,MAAK,CAAC,cAAc,IAAI,CAAC,OAAM,CAAA;AAEzE,MAAG,CAAC,cAAc,OAAQ;AAE1B,QAAM,UAAU,eAAe,+CAAe,KAAK,IAAI;AAEvD,QAAM,WAAW,MAAM,2BAA2B;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,IACP,GAAG,SAAA;AAAA,EAAS,CACb;AAED,QAAM,SAAO,0CAAU,SAAV,mBAAgB,iBAAgB,CAAA;AAE7C,QAAM,YAAoD,CAAA;AAE1D,OAAK,QAAQ,CAAC,WAAgB;;AAC5B,KAAAA,MAAA,iCAAQ,WAAR,gBAAAA,IAAgB,QAAQ,CAAC,SAAc;AACrC,iBAAW,QAAQ,KAAK,aAAa;AACnC,YAAI,CAAC,UAAU,IAAI,GAAG;AACpB,oBAAU,IAAI,IAAI,CAAA;AAAA,QACpB;AACA,kBAAU,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,YAAY,IAAI;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAC;AAGD,MAAI,cAAc;AAChB,WAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AACvC,YAAM,SAAS,gBAAgB,UAAU,IAAI,CAAC;AAC9C,mBAAa,kBAAkB,MAAM,eAAe,QAAQ,MAAM,IAAI;AAAA,IACxE,CAAC;AAAA,EACH;AAEA,gBAAc,QAAQ,CAAC,WAAW;AAChC,kBAAc,IAAI,MAAM;AAAA,EAC1B,CAAC;AACH;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const _ = require("lodash");
3
3
  const api = require("./api-D3c7E20L.js");
4
- const api$1 = require("./api-EomXz8pk.js");
4
+ const api$1 = require("./api-DuBJvpDR.js");
5
5
  const loadedModules = /* @__PURE__ */ new Set();
6
6
  function nestTranslation(flatObject) {
7
7
  const nested = {};
@@ -55,4 +55,4 @@ async function loadModuleTranslations(moduleNames, i18nInstance) {
55
55
  });
56
56
  }
57
57
  exports.loadModuleTranslations = loadModuleTranslations;
58
- //# sourceMappingURL=translations-DoVrWLog.js.map
58
+ //# sourceMappingURL=translations-CaEkNqOX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"translations-DoVrWLog.js","sources":["../../src/utils/translations.ts"],"sourcesContent":["import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["getV1LanguagesTranslations","getToken","module","_a"],"mappings":";;;;AAKA,MAAM,oCAAoB,IAAA;AAE1B,SAAS,gBAAgB,YAAiB;AACxC,QAAM,SAAS,CAAA;AACf,QAAM,OAAO,OAAO,KAAK,UAAU;AACnC,QAAM,oCAAoB,IAAA;AAG1B,OAAK,QAAQ,CAAC,QAAQ;AACpB,SAAK,QAAQ,CAAC,aAAa;AACzB,UAAI,SAAS,WAAW,MAAM,GAAG,GAAG;AAClC,sBAAc,IAAI,GAAG;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAGD,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,CAAC,cAAc,IAAI,GAAG,GAAG;AAC3B,QAAE,IAAI,QAAQ,KAAK,WAAW,GAAG,CAAC;AAAA,IACpC;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEA,eAAsB,uBAAuB,aAAuB,cAAoB;;AACtF,QAAM,iBAAgB,2CAAa,OAAO,CAAA,MAAK,CAAC,cAAc,IAAI,CAAC,OAAM,CAAA;AAEzE,MAAG,CAAC,cAAc,OAAQ;AAE1B,QAAM,UAAU,eAAe,+CAAe,KAAK,IAAI;AAEvD,QAAM,WAAW,MAAMA,+BAA2B;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,IACP,GAAGC,MAAAA,SAAA;AAAA,EAAS,CACb;AAED,QAAM,SAAO,0CAAU,SAAV,mBAAgB,iBAAgB,CAAA;AAE7C,QAAM,YAAoD,CAAA;AAE1D,OAAK,QAAQ,CAACC,YAAgB;;AAC5B,KAAAC,MAAAD,WAAA,gBAAAA,QAAQ,WAAR,gBAAAC,IAAgB,QAAQ,CAAC,SAAc;AACrC,iBAAW,QAAQ,KAAK,aAAa;AACnC,YAAI,CAAC,UAAU,IAAI,GAAG;AACpB,oBAAU,IAAI,IAAI,CAAA;AAAA,QACpB;AACA,kBAAU,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,YAAY,IAAI;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAC;AAGD,MAAI,cAAc;AAChB,WAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AACvC,YAAM,SAAS,gBAAgB,UAAU,IAAI,CAAC;AAC9C,mBAAa,kBAAkB,MAAM,eAAe,QAAQ,MAAM,IAAI;AAAA,IACxE,CAAC;AAAA,EACH;AAEA,gBAAc,QAAQ,CAACD,YAAW;AAChC,kBAAc,IAAIA,OAAM;AAAA,EAC1B,CAAC;AACH;;"}
1
+ {"version":3,"file":"translations-CaEkNqOX.js","sources":["../../src/utils/translations.ts"],"sourcesContent":["import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["getV1LanguagesTranslations","getToken","module","_a"],"mappings":";;;;AAKA,MAAM,oCAAoB,IAAA;AAE1B,SAAS,gBAAgB,YAAiB;AACxC,QAAM,SAAS,CAAA;AACf,QAAM,OAAO,OAAO,KAAK,UAAU;AACnC,QAAM,oCAAoB,IAAA;AAG1B,OAAK,QAAQ,CAAC,QAAQ;AACpB,SAAK,QAAQ,CAAC,aAAa;AACzB,UAAI,SAAS,WAAW,MAAM,GAAG,GAAG;AAClC,sBAAc,IAAI,GAAG;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAGD,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,CAAC,cAAc,IAAI,GAAG,GAAG;AAC3B,QAAE,IAAI,QAAQ,KAAK,WAAW,GAAG,CAAC;AAAA,IACpC;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEA,eAAsB,uBAAuB,aAAuB,cAAoB;;AACtF,QAAM,iBAAgB,2CAAa,OAAO,CAAA,MAAK,CAAC,cAAc,IAAI,CAAC,OAAM,CAAA;AAEzE,MAAG,CAAC,cAAc,OAAQ;AAE1B,QAAM,UAAU,eAAe,+CAAe,KAAK,IAAI;AAEvD,QAAM,WAAW,MAAMA,+BAA2B;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,IACP,GAAGC,MAAAA,SAAA;AAAA,EAAS,CACb;AAED,QAAM,SAAO,0CAAU,SAAV,mBAAgB,iBAAgB,CAAA;AAE7C,QAAM,YAAoD,CAAA;AAE1D,OAAK,QAAQ,CAACC,YAAgB;;AAC5B,KAAAC,MAAAD,WAAA,gBAAAA,QAAQ,WAAR,gBAAAC,IAAgB,QAAQ,CAAC,SAAc;AACrC,iBAAW,QAAQ,KAAK,aAAa;AACnC,YAAI,CAAC,UAAU,IAAI,GAAG;AACpB,oBAAU,IAAI,IAAI,CAAA;AAAA,QACpB;AACA,kBAAU,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,YAAY,IAAI;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAC;AAGD,MAAI,cAAc;AAChB,WAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AACvC,YAAM,SAAS,gBAAgB,UAAU,IAAI,CAAC;AAC9C,mBAAa,kBAAkB,MAAM,eAAe,QAAQ,MAAM,IAAI;AAAA,IACxE,CAAC;AAAA,EACH;AAEA,gBAAc,QAAQ,CAACD,YAAW;AAChC,kBAAc,IAAIA,OAAM;AAAA,EAC1B,CAAC;AACH;;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useState, useMemo, useEffect } from "react";
3
- import { D as DynamicSearchSelect } from "./searchable-select-0F6E4XAr.esm.js";
3
+ import { D as DynamicSearchSelect } from "./searchable-select-DSxOplyJ.esm.js";
4
4
  import { u as useUomFieldUpdater } from "./useUomFieldUpdater-CPZcwzAe.esm.js";
5
5
  import { useFormContext } from "react-hook-form";
6
6
  const UomFieldWrapper = ({
@@ -77,4 +77,4 @@ const UomFieldWrapper = ({
77
77
  export {
78
78
  UomFieldWrapper as U
79
79
  };
80
- //# sourceMappingURL=uom-field-wrapper-CTbEc-MB.esm.js.map
80
+ //# sourceMappingURL=uom-field-wrapper-By-UFGEf.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uom-field-wrapper-CTbEc-MB.esm.js","sources":["../../src/components/uom-field-wrapper/uom-field-wrapper.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DynamicSearchSelect from '../form-control/form-builder/form-builder-element/dynamic-select';\nimport { useUomFieldUpdater } from '../../hooks/useUomFieldUpdater';\nimport { useFormContext } from 'react-hook-form';\n\ninterface UomFieldWrapperProps {\n label: string;\n name?: string;\n placeholder?: string;\n fieldArrayName?: string;\n required?: boolean;\n is_loading?: boolean;\n disabled?: boolean;\n selectedItem: any;\n selectedUom?: any;\n fieldMapping?: Record<string, string>;\n customeFilter?: Record<string, any>;\n getSelectedData?: (data: any, name: string) => void;\n fieldPrefix?: string;\n setValue?: any;\n control?: any;\n isConversationFactor?: boolean;\n active_location?: any;\n}\n\nconst UomFieldWrapper: React.FC<UomFieldWrapperProps> = ({\n label,\n name = 'uom_id',\n placeholder,\n fieldArrayName,\n required = false,\n is_loading = false,\n disabled = false,\n selectedItem,\n fieldMapping = {\n 'total_on_hand_quantity': 'on_hand_quantity',\n 'total_available_quantity': 'available_quantity',\n 'total_committed_quantity': 'committed_quantity',\n },\n customeFilter,\n getSelectedData,\n fieldPrefix,\n setValue,\n control,\n isConversationFactor = true,\n active_location\n}) => {\n // const selectedUom = useMemo(() => getValues(`${fieldArrayName}.${name}`), [getValues(`${fieldArrayName}.${name}`)])\n\n const [uomDetails, setUomDetails] = useState<any>(null);\n const formContext = useFormContext()\n const {\n control: contextControl,\n setValue: contextSetValue,\n } = formContext || {};\n\n const effectiveFieldPrefix = fieldPrefix !== undefined ? fieldPrefix : fieldArrayName || '';\n const finalFieldMapping = useMemo(() => fieldMapping,\n //eslint-disable-next-line\n [JSON.stringify(fieldMapping)]);\n\n const handleUomChange = useUomFieldUpdater({\n fieldMapping: finalFieldMapping,\n sourceData: selectedItem,\n conversation_factor: uomDetails?.conversation_factor,\n fieldPrefix: effectiveFieldPrefix,\n setValue: setValue || contextSetValue,\n control: control || contextControl,\n active_location: active_location,\n // shouldUpdate: !!selectedUom\n });\n\n useEffect(() => {\n if (!isConversationFactor) return;\n handleUomChange();\n // eslint-disable-next-line\n }, [handleUomChange, isConversationFactor]);\n\n const handleUomSelect = (data: any, name: string) => {\n setUomDetails(data);\n getSelectedData?.(data, name);\n };\n\n const effectiveCustomeFilter = customeFilter || {\n '&template_id.eq': selectedItem?.unit_of_measurement || 0\n };\n\n return (\n <DynamicSearchSelect\n label={label}\n name={name}\n placeholder={placeholder || ''}\n fieldArrayName={fieldArrayName || ''}\n formControl={control}\n required={required}\n is_loading={is_loading}\n disabled={disabled}\n apiType='uom'\n customeFilter={effectiveCustomeFilter}\n getSelectedData={handleUomSelect}\n />\n );\n};\n\nexport default UomFieldWrapper;\n"],"names":["name"],"mappings":";;;;;AA0BA,MAAM,kBAAkD,CAAC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,eAAe;AAAA,IACX,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB;AACJ,MAAM;AAGF,QAAM,CAAC,YAAY,aAAa,IAAI,SAAc,IAAI;AACtD,QAAM,cAAc,eAAA;AACpB,QAAM;AAAA,IACF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,IACV,eAAe,CAAA;AAEnB,QAAM,uBAAuB,gBAAgB,SAAY,cAAc,kBAAkB;AACzF,QAAM,oBAAoB;AAAA,IAAQ,MAAM;AAAA;AAAA,IAEpC,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAAA;AAEjC,QAAM,kBAAkB,mBAAmB;AAAA,IACvC,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,qBAAqB,yCAAY;AAAA,IACjC,aAAa;AAAA,IACb,UAAU,YAAY;AAAA,IAEtB;AAAA;AAAA,EAAA,CAEH;AAED,YAAU,MAAM;AACZ,QAAI,CAAC,qBAAsB;AAC3B,oBAAA;AAAA,EAEJ,GAAG,CAAC,iBAAiB,oBAAoB,CAAC;AAE1C,QAAM,kBAAkB,CAAC,MAAWA,UAAiB;AACjD,kBAAc,IAAI;AAClB,uDAAkB,MAAMA;AAAAA,EAC5B;AAEA,QAAM,yBAAyB,iBAAiB;AAAA,IAC5C,oBAAmB,6CAAc,wBAAuB;AAAA,EAAA;AAG5D,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,aAAa,eAAe;AAAA,MAC5B,gBAAgB,kBAAkB;AAAA,MAClC,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAG7B;"}
1
+ {"version":3,"file":"uom-field-wrapper-By-UFGEf.esm.js","sources":["../../src/components/uom-field-wrapper/uom-field-wrapper.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DynamicSearchSelect from '../form-control/form-builder/form-builder-element/dynamic-select';\nimport { useUomFieldUpdater } from '../../hooks/useUomFieldUpdater';\nimport { useFormContext } from 'react-hook-form';\n\ninterface UomFieldWrapperProps {\n label: string;\n name?: string;\n placeholder?: string;\n fieldArrayName?: string;\n required?: boolean;\n is_loading?: boolean;\n disabled?: boolean;\n selectedItem: any;\n selectedUom?: any;\n fieldMapping?: Record<string, string>;\n customeFilter?: Record<string, any>;\n getSelectedData?: (data: any, name: string) => void;\n fieldPrefix?: string;\n setValue?: any;\n control?: any;\n isConversationFactor?: boolean;\n active_location?: any;\n}\n\nconst UomFieldWrapper: React.FC<UomFieldWrapperProps> = ({\n label,\n name = 'uom_id',\n placeholder,\n fieldArrayName,\n required = false,\n is_loading = false,\n disabled = false,\n selectedItem,\n fieldMapping = {\n 'total_on_hand_quantity': 'on_hand_quantity',\n 'total_available_quantity': 'available_quantity',\n 'total_committed_quantity': 'committed_quantity',\n },\n customeFilter,\n getSelectedData,\n fieldPrefix,\n setValue,\n control,\n isConversationFactor = true,\n active_location\n}) => {\n // const selectedUom = useMemo(() => getValues(`${fieldArrayName}.${name}`), [getValues(`${fieldArrayName}.${name}`)])\n\n const [uomDetails, setUomDetails] = useState<any>(null);\n const formContext = useFormContext()\n const {\n control: contextControl,\n setValue: contextSetValue,\n } = formContext || {};\n\n const effectiveFieldPrefix = fieldPrefix !== undefined ? fieldPrefix : fieldArrayName || '';\n const finalFieldMapping = useMemo(() => fieldMapping,\n //eslint-disable-next-line\n [JSON.stringify(fieldMapping)]);\n\n const handleUomChange = useUomFieldUpdater({\n fieldMapping: finalFieldMapping,\n sourceData: selectedItem,\n conversation_factor: uomDetails?.conversation_factor,\n fieldPrefix: effectiveFieldPrefix,\n setValue: setValue || contextSetValue,\n control: control || contextControl,\n active_location: active_location,\n // shouldUpdate: !!selectedUom\n });\n\n useEffect(() => {\n if (!isConversationFactor) return;\n handleUomChange();\n // eslint-disable-next-line\n }, [handleUomChange, isConversationFactor]);\n\n const handleUomSelect = (data: any, name: string) => {\n setUomDetails(data);\n getSelectedData?.(data, name);\n };\n\n const effectiveCustomeFilter = customeFilter || {\n '&template_id.eq': selectedItem?.unit_of_measurement || 0\n };\n\n return (\n <DynamicSearchSelect\n label={label}\n name={name}\n placeholder={placeholder || ''}\n fieldArrayName={fieldArrayName || ''}\n formControl={control}\n required={required}\n is_loading={is_loading}\n disabled={disabled}\n apiType='uom'\n customeFilter={effectiveCustomeFilter}\n getSelectedData={handleUomSelect}\n />\n );\n};\n\nexport default UomFieldWrapper;\n"],"names":["name"],"mappings":";;;;;AA0BA,MAAM,kBAAkD,CAAC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,eAAe;AAAA,IACX,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB;AACJ,MAAM;AAGF,QAAM,CAAC,YAAY,aAAa,IAAI,SAAc,IAAI;AACtD,QAAM,cAAc,eAAA;AACpB,QAAM;AAAA,IACF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,IACV,eAAe,CAAA;AAEnB,QAAM,uBAAuB,gBAAgB,SAAY,cAAc,kBAAkB;AACzF,QAAM,oBAAoB;AAAA,IAAQ,MAAM;AAAA;AAAA,IAEpC,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAAA;AAEjC,QAAM,kBAAkB,mBAAmB;AAAA,IACvC,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,qBAAqB,yCAAY;AAAA,IACjC,aAAa;AAAA,IACb,UAAU,YAAY;AAAA,IAEtB;AAAA;AAAA,EAAA,CAEH;AAED,YAAU,MAAM;AACZ,QAAI,CAAC,qBAAsB;AAC3B,oBAAA;AAAA,EAEJ,GAAG,CAAC,iBAAiB,oBAAoB,CAAC;AAE1C,QAAM,kBAAkB,CAAC,MAAWA,UAAiB;AACjD,kBAAc,IAAI;AAClB,uDAAkB,MAAMA;AAAAA,EAC5B;AAEA,QAAM,yBAAyB,iBAAiB;AAAA,IAC5C,oBAAmB,6CAAc,wBAAuB;AAAA,EAAA;AAG5D,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,aAAa,eAAe;AAAA,MAC5B,gBAAgB,kBAAkB;AAAA,MAClC,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAG7B;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const React = require("react");
4
- const searchableSelect = require("./searchable-select-_DCkITfk.js");
4
+ const searchableSelect = require("./searchable-select-BdR8A-uG.js");
5
5
  const useUomFieldUpdater = require("./useUomFieldUpdater-CLrGFr8x.js");
6
6
  const reactHookForm = require("react-hook-form");
7
7
  const UomFieldWrapper = ({
@@ -76,4 +76,4 @@ const UomFieldWrapper = ({
76
76
  );
77
77
  };
78
78
  exports.UomFieldWrapper = UomFieldWrapper;
79
- //# sourceMappingURL=uom-field-wrapper-DXZgzOYB.js.map
79
+ //# sourceMappingURL=uom-field-wrapper-CPbf2ESo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uom-field-wrapper-DXZgzOYB.js","sources":["../../src/components/uom-field-wrapper/uom-field-wrapper.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DynamicSearchSelect from '../form-control/form-builder/form-builder-element/dynamic-select';\nimport { useUomFieldUpdater } from '../../hooks/useUomFieldUpdater';\nimport { useFormContext } from 'react-hook-form';\n\ninterface UomFieldWrapperProps {\n label: string;\n name?: string;\n placeholder?: string;\n fieldArrayName?: string;\n required?: boolean;\n is_loading?: boolean;\n disabled?: boolean;\n selectedItem: any;\n selectedUom?: any;\n fieldMapping?: Record<string, string>;\n customeFilter?: Record<string, any>;\n getSelectedData?: (data: any, name: string) => void;\n fieldPrefix?: string;\n setValue?: any;\n control?: any;\n isConversationFactor?: boolean;\n active_location?: any;\n}\n\nconst UomFieldWrapper: React.FC<UomFieldWrapperProps> = ({\n label,\n name = 'uom_id',\n placeholder,\n fieldArrayName,\n required = false,\n is_loading = false,\n disabled = false,\n selectedItem,\n fieldMapping = {\n 'total_on_hand_quantity': 'on_hand_quantity',\n 'total_available_quantity': 'available_quantity',\n 'total_committed_quantity': 'committed_quantity',\n },\n customeFilter,\n getSelectedData,\n fieldPrefix,\n setValue,\n control,\n isConversationFactor = true,\n active_location\n}) => {\n // const selectedUom = useMemo(() => getValues(`${fieldArrayName}.${name}`), [getValues(`${fieldArrayName}.${name}`)])\n\n const [uomDetails, setUomDetails] = useState<any>(null);\n const formContext = useFormContext()\n const {\n control: contextControl,\n setValue: contextSetValue,\n } = formContext || {};\n\n const effectiveFieldPrefix = fieldPrefix !== undefined ? fieldPrefix : fieldArrayName || '';\n const finalFieldMapping = useMemo(() => fieldMapping,\n //eslint-disable-next-line\n [JSON.stringify(fieldMapping)]);\n\n const handleUomChange = useUomFieldUpdater({\n fieldMapping: finalFieldMapping,\n sourceData: selectedItem,\n conversation_factor: uomDetails?.conversation_factor,\n fieldPrefix: effectiveFieldPrefix,\n setValue: setValue || contextSetValue,\n control: control || contextControl,\n active_location: active_location,\n // shouldUpdate: !!selectedUom\n });\n\n useEffect(() => {\n if (!isConversationFactor) return;\n handleUomChange();\n // eslint-disable-next-line\n }, [handleUomChange, isConversationFactor]);\n\n const handleUomSelect = (data: any, name: string) => {\n setUomDetails(data);\n getSelectedData?.(data, name);\n };\n\n const effectiveCustomeFilter = customeFilter || {\n '&template_id.eq': selectedItem?.unit_of_measurement || 0\n };\n\n return (\n <DynamicSearchSelect\n label={label}\n name={name}\n placeholder={placeholder || ''}\n fieldArrayName={fieldArrayName || ''}\n formControl={control}\n required={required}\n is_loading={is_loading}\n disabled={disabled}\n apiType='uom'\n customeFilter={effectiveCustomeFilter}\n getSelectedData={handleUomSelect}\n />\n );\n};\n\nexport default UomFieldWrapper;\n"],"names":["useState","useFormContext","useMemo","useUomFieldUpdater","useEffect","name","jsx","DynamicSearchSelect"],"mappings":";;;;;;AA0BA,MAAM,kBAAkD,CAAC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,eAAe;AAAA,IACX,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB;AACJ,MAAM;AAGF,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAc,IAAI;AACtD,QAAM,cAAcC,cAAAA,eAAA;AACpB,QAAM;AAAA,IACF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,IACV,eAAe,CAAA;AAEnB,QAAM,uBAAuB,gBAAgB,SAAY,cAAc,kBAAkB;AACzF,QAAM,oBAAoBC,MAAAA;AAAAA,IAAQ,MAAM;AAAA;AAAA,IAEpC,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAAA;AAEjC,QAAM,kBAAkBC,mBAAAA,mBAAmB;AAAA,IACvC,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,qBAAqB,yCAAY;AAAA,IACjC,aAAa;AAAA,IACb,UAAU,YAAY;AAAA,IAEtB;AAAA;AAAA,EAAA,CAEH;AAEDC,QAAAA,UAAU,MAAM;AACZ,QAAI,CAAC,qBAAsB;AAC3B,oBAAA;AAAA,EAEJ,GAAG,CAAC,iBAAiB,oBAAoB,CAAC;AAE1C,QAAM,kBAAkB,CAAC,MAAWC,UAAiB;AACjD,kBAAc,IAAI;AAClB,uDAAkB,MAAMA;AAAAA,EAC5B;AAEA,QAAM,yBAAyB,iBAAiB;AAAA,IAC5C,oBAAmB,6CAAc,wBAAuB;AAAA,EAAA;AAG5D,SACIC,2BAAAA;AAAAA,IAACC,iBAAAA;AAAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,aAAa,eAAe;AAAA,MAC5B,gBAAgB,kBAAkB;AAAA,MAClC,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAG7B;;"}
1
+ {"version":3,"file":"uom-field-wrapper-CPbf2ESo.js","sources":["../../src/components/uom-field-wrapper/uom-field-wrapper.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DynamicSearchSelect from '../form-control/form-builder/form-builder-element/dynamic-select';\nimport { useUomFieldUpdater } from '../../hooks/useUomFieldUpdater';\nimport { useFormContext } from 'react-hook-form';\n\ninterface UomFieldWrapperProps {\n label: string;\n name?: string;\n placeholder?: string;\n fieldArrayName?: string;\n required?: boolean;\n is_loading?: boolean;\n disabled?: boolean;\n selectedItem: any;\n selectedUom?: any;\n fieldMapping?: Record<string, string>;\n customeFilter?: Record<string, any>;\n getSelectedData?: (data: any, name: string) => void;\n fieldPrefix?: string;\n setValue?: any;\n control?: any;\n isConversationFactor?: boolean;\n active_location?: any;\n}\n\nconst UomFieldWrapper: React.FC<UomFieldWrapperProps> = ({\n label,\n name = 'uom_id',\n placeholder,\n fieldArrayName,\n required = false,\n is_loading = false,\n disabled = false,\n selectedItem,\n fieldMapping = {\n 'total_on_hand_quantity': 'on_hand_quantity',\n 'total_available_quantity': 'available_quantity',\n 'total_committed_quantity': 'committed_quantity',\n },\n customeFilter,\n getSelectedData,\n fieldPrefix,\n setValue,\n control,\n isConversationFactor = true,\n active_location\n}) => {\n // const selectedUom = useMemo(() => getValues(`${fieldArrayName}.${name}`), [getValues(`${fieldArrayName}.${name}`)])\n\n const [uomDetails, setUomDetails] = useState<any>(null);\n const formContext = useFormContext()\n const {\n control: contextControl,\n setValue: contextSetValue,\n } = formContext || {};\n\n const effectiveFieldPrefix = fieldPrefix !== undefined ? fieldPrefix : fieldArrayName || '';\n const finalFieldMapping = useMemo(() => fieldMapping,\n //eslint-disable-next-line\n [JSON.stringify(fieldMapping)]);\n\n const handleUomChange = useUomFieldUpdater({\n fieldMapping: finalFieldMapping,\n sourceData: selectedItem,\n conversation_factor: uomDetails?.conversation_factor,\n fieldPrefix: effectiveFieldPrefix,\n setValue: setValue || contextSetValue,\n control: control || contextControl,\n active_location: active_location,\n // shouldUpdate: !!selectedUom\n });\n\n useEffect(() => {\n if (!isConversationFactor) return;\n handleUomChange();\n // eslint-disable-next-line\n }, [handleUomChange, isConversationFactor]);\n\n const handleUomSelect = (data: any, name: string) => {\n setUomDetails(data);\n getSelectedData?.(data, name);\n };\n\n const effectiveCustomeFilter = customeFilter || {\n '&template_id.eq': selectedItem?.unit_of_measurement || 0\n };\n\n return (\n <DynamicSearchSelect\n label={label}\n name={name}\n placeholder={placeholder || ''}\n fieldArrayName={fieldArrayName || ''}\n formControl={control}\n required={required}\n is_loading={is_loading}\n disabled={disabled}\n apiType='uom'\n customeFilter={effectiveCustomeFilter}\n getSelectedData={handleUomSelect}\n />\n );\n};\n\nexport default UomFieldWrapper;\n"],"names":["useState","useFormContext","useMemo","useUomFieldUpdater","useEffect","name","jsx","DynamicSearchSelect"],"mappings":";;;;;;AA0BA,MAAM,kBAAkD,CAAC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,eAAe;AAAA,IACX,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB;AACJ,MAAM;AAGF,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAc,IAAI;AACtD,QAAM,cAAcC,cAAAA,eAAA;AACpB,QAAM;AAAA,IACF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,IACV,eAAe,CAAA;AAEnB,QAAM,uBAAuB,gBAAgB,SAAY,cAAc,kBAAkB;AACzF,QAAM,oBAAoBC,MAAAA;AAAAA,IAAQ,MAAM;AAAA;AAAA,IAEpC,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAAA;AAEjC,QAAM,kBAAkBC,mBAAAA,mBAAmB;AAAA,IACvC,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,qBAAqB,yCAAY;AAAA,IACjC,aAAa;AAAA,IACb,UAAU,YAAY;AAAA,IAEtB;AAAA;AAAA,EAAA,CAEH;AAEDC,QAAAA,UAAU,MAAM;AACZ,QAAI,CAAC,qBAAsB;AAC3B,oBAAA;AAAA,EAEJ,GAAG,CAAC,iBAAiB,oBAAoB,CAAC;AAE1C,QAAM,kBAAkB,CAAC,MAAWC,UAAiB;AACjD,kBAAc,IAAI;AAClB,uDAAkB,MAAMA;AAAAA,EAC5B;AAEA,QAAM,yBAAyB,iBAAiB;AAAA,IAC5C,oBAAmB,6CAAc,wBAAuB;AAAA,EAAA;AAG5D,SACIC,2BAAAA;AAAAA,IAACC,iBAAAA;AAAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,aAAa,eAAe;AAAA,MAC5B,gBAAgB,kBAAkB;AAAA,MAClC,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAG7B;;"}
@@ -10,7 +10,7 @@ import images from "../images/index.esm.js";
10
10
  import { M as ModalLoader } from "./modal-loader-B8S5-RWv.esm.js";
11
11
  import { T as Trash } from "./trash-Zhhh3VNZ.esm.js";
12
12
  import { Upload, KeyboardArrowUp, KeyboardArrowDown } from "@mui/icons-material";
13
- import { ao as postImportSheet } from "./api-BIVCMSwW.esm.js";
13
+ import { ao as postImportSheet } from "./api-COFUx2RW.esm.js";
14
14
  import { B as Button } from "./button-BtdpXmjA.esm.js";
15
15
  const formatBytes = (bytes, decimals = 2) => {
16
16
  if (bytes === 0) return "0 Bytes";
@@ -358,4 +358,4 @@ const UploadExcel = (props) => {
358
358
  export {
359
359
  UploadExcel as U
360
360
  };
361
- //# sourceMappingURL=upload-excel-BZPP13tP.esm.js.map
361
+ //# sourceMappingURL=upload-excel-Bv2QulNF.esm.js.map