@erpsquad/common 1.11.5 → 1.11.6

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 (395) hide show
  1. package/dist/chunks/{DynamicDependentField-Bug_QweP.esm.js → DynamicDependentField-C0XXmMlG.esm.js} +2 -2
  2. package/dist/chunks/{DynamicDependentField-Bug_QweP.esm.js.map → DynamicDependentField-C0XXmMlG.esm.js.map} +1 -1
  3. package/dist/chunks/{DynamicDependentField-GTIwrPfP.js → DynamicDependentField-CQIfDDqc.js} +2 -2
  4. package/dist/chunks/{DynamicDependentField-GTIwrPfP.js.map → DynamicDependentField-CQIfDDqc.js.map} +1 -1
  5. package/dist/chunks/{FORMS-QqBksLc2.esm.js → FORMS-B40NtUdz.esm.js} +5 -5
  6. package/dist/chunks/{FORMS-QqBksLc2.esm.js.map → FORMS-B40NtUdz.esm.js.map} +1 -1
  7. package/dist/chunks/{FORMS-DITDFHy1.js → FORMS-K5QYZYJc.js} +5 -5
  8. package/dist/chunks/{FORMS-DITDFHy1.js.map → FORMS-K5QYZYJc.js.map} +1 -1
  9. package/dist/chunks/{FlexibleReduxExample-CMUylyy1.js → FlexibleReduxExample-WGpR03V0.js} +3 -3
  10. package/dist/chunks/{FlexibleReduxExample-CMUylyy1.js.map → FlexibleReduxExample-WGpR03V0.js.map} +1 -1
  11. package/dist/chunks/{FlexibleReduxExample-BweOhhft.esm.js → FlexibleReduxExample-lJRAIjmS.esm.js} +3 -3
  12. package/dist/chunks/{FlexibleReduxExample-BweOhhft.esm.js.map → FlexibleReduxExample-lJRAIjmS.esm.js.map} +1 -1
  13. package/dist/chunks/{SectionFlowEditor-COarQdF5.esm.js → SectionFlowEditor-CFfJBYKx.esm.js} +2 -2
  14. package/dist/chunks/{SectionFlowEditor-COarQdF5.esm.js.map → SectionFlowEditor-CFfJBYKx.esm.js.map} +1 -1
  15. package/dist/chunks/{SectionFlowEditor--gfRgdM2.js → SectionFlowEditor-sKsZ3oQo.js} +2 -2
  16. package/dist/chunks/{SectionFlowEditor--gfRgdM2.js.map → SectionFlowEditor-sKsZ3oQo.js.map} +1 -1
  17. package/dist/chunks/{action-bar-sX54kFo9.esm.js → action-bar-C7Alva4T.esm.js} +3 -3
  18. package/dist/chunks/{action-bar-sX54kFo9.esm.js.map → action-bar-C7Alva4T.esm.js.map} +1 -1
  19. package/dist/chunks/{action-bar-CGP-GLkt.js → action-bar-DdtpxWNk.js} +3 -3
  20. package/dist/chunks/{action-bar-CGP-GLkt.js.map → action-bar-DdtpxWNk.js.map} +1 -1
  21. package/dist/chunks/{add-template-xyPHm3zV.esm.js → add-template-DVvbD9a4.esm.js} +2 -2
  22. package/dist/chunks/{add-template-xyPHm3zV.esm.js.map → add-template-DVvbD9a4.esm.js.map} +1 -1
  23. package/dist/chunks/{add-template-vpXcccHo.js → add-template-Dohg2bHJ.js} +2 -2
  24. package/dist/chunks/{add-template-vpXcccHo.js.map → add-template-Dohg2bHJ.js.map} +1 -1
  25. package/dist/chunks/{address-modal-DFd5sQtR.js → address-modal-CYhiC7ui.js} +2 -2
  26. package/dist/chunks/{address-modal-DFd5sQtR.js.map → address-modal-CYhiC7ui.js.map} +1 -1
  27. package/dist/chunks/{address-modal-DRT30GGc.esm.js → address-modal-CkDBjnye.esm.js} +2 -2
  28. package/dist/chunks/{address-modal-DRT30GGc.esm.js.map → address-modal-CkDBjnye.esm.js.map} +1 -1
  29. package/dist/chunks/{app-switcher-VhH9z0Rd.js → app-switcher-CyEQmYAN.js} +2 -2
  30. package/dist/chunks/{app-switcher-VhH9z0Rd.js.map → app-switcher-CyEQmYAN.js.map} +1 -1
  31. package/dist/chunks/{app-switcher-B6eapuGG.esm.js → app-switcher-D-Bvz9uO.esm.js} +2 -2
  32. package/dist/chunks/{app-switcher-B6eapuGG.esm.js.map → app-switcher-D-Bvz9uO.esm.js.map} +1 -1
  33. package/dist/chunks/{appbar-D5moUuMm.esm.js → appbar-BdTp1k68.esm.js} +2 -2
  34. package/dist/chunks/{appbar-D5moUuMm.esm.js.map → appbar-BdTp1k68.esm.js.map} +1 -1
  35. package/dist/chunks/{appbar-WvWT7p_M.js → appbar-DyIptRTa.js} +2 -2
  36. package/dist/chunks/{appbar-WvWT7p_M.js.map → appbar-DyIptRTa.js.map} +1 -1
  37. package/dist/chunks/{common-PH2uWkqL.js → common-CS5L0Ld_.js} +2 -2
  38. package/dist/chunks/{common-PH2uWkqL.js.map → common-CS5L0Ld_.js.map} +1 -1
  39. package/dist/chunks/{common-Cl5oGXmX.esm.js → common-yORBIVv-.esm.js} +2 -2
  40. package/dist/chunks/{common-Cl5oGXmX.esm.js.map → common-yORBIVv-.esm.js.map} +1 -1
  41. package/dist/chunks/{constants-D_xuLHSu.js → constants-06kIVUBw.js} +2 -2
  42. package/dist/chunks/{constants-D_xuLHSu.js.map → constants-06kIVUBw.js.map} +1 -1
  43. package/dist/chunks/{constants-BrmMAwu2.esm.js → constants-nmkxkzps.esm.js} +2 -2
  44. package/dist/chunks/{constants-BrmMAwu2.esm.js.map → constants-nmkxkzps.esm.js.map} +1 -1
  45. package/dist/chunks/{custom-form-T4yc_sE_.js → custom-form-CFU7NEVb.js} +4 -4
  46. package/dist/chunks/{custom-form-T4yc_sE_.js.map → custom-form-CFU7NEVb.js.map} +1 -1
  47. package/dist/chunks/{custom-form-B0iJKE-f.esm.js → custom-form-DD7YOHMF.esm.js} +4 -4
  48. package/dist/chunks/{custom-form-B0iJKE-f.esm.js.map → custom-form-DD7YOHMF.esm.js.map} +1 -1
  49. package/dist/chunks/{dashboard-u68tvYf2.esm.js → dashboard-B5qcT2Dt.esm.js} +3 -3
  50. package/dist/chunks/{dashboard-u68tvYf2.esm.js.map → dashboard-B5qcT2Dt.esm.js.map} +1 -1
  51. package/dist/chunks/{dashboard-Ck4clis4.js → dashboard-Dzts5-X6.js} +3 -3
  52. package/dist/chunks/{dashboard-Ck4clis4.js.map → dashboard-Dzts5-X6.js.map} +1 -1
  53. package/dist/chunks/{filter-BxLWUhFQ.esm.js → filter-COXKBEER.esm.js} +3 -3
  54. package/dist/chunks/{filter-BxLWUhFQ.esm.js.map → filter-COXKBEER.esm.js.map} +1 -1
  55. package/dist/chunks/{filter-DQNAPq4l.js → filter-Cr_OSIpb.js} +3 -3
  56. package/dist/chunks/{filter-DQNAPq4l.js.map → filter-Cr_OSIpb.js.map} +1 -1
  57. package/dist/chunks/{footer-DioOh69g.js → footer-CD3kMRdS.js} +2 -2
  58. package/dist/chunks/{footer-DioOh69g.js.map → footer-CD3kMRdS.js.map} +1 -1
  59. package/dist/chunks/{footer-BXClGYIb.esm.js → footer-m3_dlNl8.esm.js} +2 -2
  60. package/dist/chunks/{footer-BXClGYIb.esm.js.map → footer-m3_dlNl8.esm.js.map} +1 -1
  61. package/dist/chunks/{form-fields-DKFiyLCi.esm.js → form-fields-hMMnB_wE.esm.js} +2 -2
  62. package/dist/chunks/{form-fields-DKFiyLCi.esm.js.map → form-fields-hMMnB_wE.esm.js.map} +1 -1
  63. package/dist/chunks/{form-fields-BYDhbAgB.js → form-fields-yE9kwjvb.js} +2 -2
  64. package/dist/chunks/{form-fields-BYDhbAgB.js.map → form-fields-yE9kwjvb.js.map} +1 -1
  65. package/dist/chunks/{form-parser-C95b2on7.esm.js → form-parser-DbnSn5eY.esm.js} +2 -2
  66. package/dist/chunks/{form-parser-C95b2on7.esm.js.map → form-parser-DbnSn5eY.esm.js.map} +1 -1
  67. package/dist/chunks/{form-parser-BnMdMDSb.js → form-parser-m4fnw38a.js} +2 -2
  68. package/dist/chunks/{form-parser-BnMdMDSb.js.map → form-parser-m4fnw38a.js.map} +1 -1
  69. package/dist/chunks/{form-section-CFeWD-tF.js → form-section-CPIyMdk2.js} +5 -5
  70. package/dist/chunks/{form-section-CFeWD-tF.js.map → form-section-CPIyMdk2.js.map} +1 -1
  71. package/dist/chunks/{form-section-Bx_D21gW.esm.js → form-section-TMjdOVeW.esm.js} +5 -5
  72. package/dist/chunks/{form-section-Bx_D21gW.esm.js.map → form-section-TMjdOVeW.esm.js.map} +1 -1
  73. package/dist/chunks/{fullScreen-q9u5VL-5.js → fullScreen-B5iqC1y0.js} +2 -2
  74. package/dist/chunks/{fullScreen-q9u5VL-5.js.map → fullScreen-B5iqC1y0.js.map} +1 -1
  75. package/dist/chunks/{fullScreen-DTQ6tqij.esm.js → fullScreen-D-isf0wv.esm.js} +2 -2
  76. package/dist/chunks/{fullScreen-DTQ6tqij.esm.js.map → fullScreen-D-isf0wv.esm.js.map} +1 -1
  77. package/dist/chunks/{global-search-DCsutWXD.esm.js → global-search-BOkxXiZ0.esm.js} +2 -2
  78. package/dist/chunks/{global-search-DCsutWXD.esm.js.map → global-search-BOkxXiZ0.esm.js.map} +1 -1
  79. package/dist/chunks/{global-search-BTV5iL6-.js → global-search-BjKPmzsQ.js} +2 -2
  80. package/dist/chunks/{global-search-BTV5iL6-.js.map → global-search-BjKPmzsQ.js.map} +1 -1
  81. package/dist/chunks/{header-CqTEaHw3.js → header-DQ_e75rt.js} +6 -6
  82. package/dist/chunks/{header-CqTEaHw3.js.map → header-DQ_e75rt.js.map} +1 -1
  83. package/dist/chunks/{header-I2izTvvZ.esm.js → header-D_pPOjdz.esm.js} +6 -6
  84. package/dist/chunks/{header-I2izTvvZ.esm.js.map → header-D_pPOjdz.esm.js.map} +1 -1
  85. package/dist/chunks/{header-enhanced-Dxdetx0I.js → header-enhanced-DCDMljaN.js} +3 -3
  86. package/dist/chunks/{header-enhanced-Dxdetx0I.js.map → header-enhanced-DCDMljaN.js.map} +1 -1
  87. package/dist/chunks/{header-enhanced-D31BpL2H.esm.js → header-enhanced-OiKzLG4i.esm.js} +3 -3
  88. package/dist/chunks/{header-enhanced-D31BpL2H.esm.js.map → header-enhanced-OiKzLG4i.esm.js.map} +1 -1
  89. package/dist/chunks/{inline-edit-fields-CjqUhdIv.esm.js → inline-edit-fields-BYhRpPcH.esm.js} +2 -2
  90. package/dist/chunks/{inline-edit-fields-CjqUhdIv.esm.js.map → inline-edit-fields-BYhRpPcH.esm.js.map} +1 -1
  91. package/dist/chunks/{inline-edit-fields-Cd_qUOjU.js → inline-edit-fields-atDP84QL.js} +2 -2
  92. package/dist/chunks/{inline-edit-fields-Cd_qUOjU.js.map → inline-edit-fields-atDP84QL.js.map} +1 -1
  93. package/dist/chunks/{inventory-reports-title-bar-BfUMM54c.js → inventory-reports-title-bar-Bog2i0dr.js} +2 -2
  94. package/dist/chunks/{inventory-reports-title-bar-BfUMM54c.js.map → inventory-reports-title-bar-Bog2i0dr.js.map} +1 -1
  95. package/dist/chunks/{inventory-reports-title-bar-DPS3r5V2.esm.js → inventory-reports-title-bar-CP8FzW6A.esm.js} +2 -2
  96. package/dist/chunks/{inventory-reports-title-bar-DPS3r5V2.esm.js.map → inventory-reports-title-bar-CP8FzW6A.esm.js.map} +1 -1
  97. package/dist/chunks/{item-response-details-BheThTTK.js → item-response-details-DsGQ7Dlc.js} +2 -2
  98. package/dist/chunks/{item-response-details-BheThTTK.js.map → item-response-details-DsGQ7Dlc.js.map} +1 -1
  99. package/dist/chunks/{item-response-details-BtCmz7XT.esm.js → item-response-details-SHSD-nBh.esm.js} +2 -2
  100. package/dist/chunks/{item-response-details-BtCmz7XT.esm.js.map → item-response-details-SHSD-nBh.esm.js.map} +1 -1
  101. package/dist/chunks/{listing-Ck-RqIjL.esm.js → listing-C0Yb6MVq.esm.js} +4 -4
  102. package/dist/chunks/{listing-Ck-RqIjL.esm.js.map → listing-C0Yb6MVq.esm.js.map} +1 -1
  103. package/dist/chunks/{listing-BDN5cLvI.js → listing-DIuzQrzb.js} +4 -4
  104. package/dist/chunks/{listing-BDN5cLvI.js.map → listing-DIuzQrzb.js.map} +1 -1
  105. package/dist/chunks/{location-select-jwR8SCYN.esm.js → location-select-CFa00fy4.esm.js} +2 -2
  106. package/dist/chunks/{location-select-jwR8SCYN.esm.js.map → location-select-CFa00fy4.esm.js.map} +1 -1
  107. package/dist/chunks/{location-select-CLyRUilk.js → location-select-g5uczAUF.js} +2 -2
  108. package/dist/chunks/{location-select-CLyRUilk.js.map → location-select-g5uczAUF.js.map} +1 -1
  109. package/dist/chunks/{material-editable-table-DFGB0q-s.js → material-editable-table-BGLjrTzT.js} +3 -3
  110. package/dist/chunks/{material-editable-table-DFGB0q-s.js.map → material-editable-table-BGLjrTzT.js.map} +1 -1
  111. package/dist/chunks/{material-editable-table-qC9FTg-4.esm.js → material-editable-table-pAyK7KYf.esm.js} +3 -3
  112. package/dist/chunks/{material-editable-table-qC9FTg-4.esm.js.map → material-editable-table-pAyK7KYf.esm.js.map} +1 -1
  113. package/dist/chunks/{modules-DTRr7zwt.js → modules-BZNWOWrz.js} +2 -2
  114. package/dist/chunks/{modules-DTRr7zwt.js.map → modules-BZNWOWrz.js.map} +1 -1
  115. package/dist/chunks/{modules-enwLrpfQ.esm.js → modules-CWV4WSHs.esm.js} +2 -2
  116. package/dist/chunks/{modules-enwLrpfQ.esm.js.map → modules-CWV4WSHs.esm.js.map} +1 -1
  117. package/dist/chunks/{notification-menu-B00hDUbn.js → notification-menu-D7ASm-K1.js} +2 -2
  118. package/dist/chunks/{notification-menu-B00hDUbn.js.map → notification-menu-D7ASm-K1.js.map} +1 -1
  119. package/dist/chunks/{notification-menu-B_4BOTgX.esm.js → notification-menu-XAadkn-e.esm.js} +2 -2
  120. package/dist/chunks/{notification-menu-B_4BOTgX.esm.js.map → notification-menu-XAadkn-e.esm.js.map} +1 -1
  121. package/dist/chunks/{page-action-TMFOytDw.js → page-action-BPzaL2KJ.js} +2 -2
  122. package/dist/chunks/{page-action-TMFOytDw.js.map → page-action-BPzaL2KJ.js.map} +1 -1
  123. package/dist/chunks/{page-action-0S_h4623.esm.js → page-action-C07iGjvN.esm.js} +2 -2
  124. package/dist/chunks/{page-action-0S_h4623.esm.js.map → page-action-C07iGjvN.esm.js.map} +1 -1
  125. package/dist/chunks/{page-navigator-B17f-mUz.esm.js → page-navigator-8gZpp9_P.esm.js} +2 -2
  126. package/dist/chunks/{page-navigator-B17f-mUz.esm.js.map → page-navigator-8gZpp9_P.esm.js.map} +1 -1
  127. package/dist/chunks/{page-navigator-DdRsmtLy.js → page-navigator-Cgbh3tTG.js} +2 -2
  128. package/dist/chunks/{page-navigator-DdRsmtLy.js.map → page-navigator-Cgbh3tTG.js.map} +1 -1
  129. package/dist/chunks/{page-view-CnzxewUy.esm.js → page-view-CokUNMBn.esm.js} +3 -3
  130. package/dist/chunks/{page-view-CnzxewUy.esm.js.map → page-view-CokUNMBn.esm.js.map} +1 -1
  131. package/dist/chunks/{page-view-CvfqzV03.js → page-view-DJ6HS_dV.js} +3 -3
  132. package/dist/chunks/{page-view-CvfqzV03.js.map → page-view-DJ6HS_dV.js.map} +1 -1
  133. package/dist/chunks/{pathname.rental-CwK6JuID.js → pathname.rental-DgH4LoG7.js} +7 -2
  134. package/dist/chunks/{pathname.rental-CwK6JuID.js.map → pathname.rental-DgH4LoG7.js.map} +1 -1
  135. package/dist/chunks/{pathname.rental-CqHO_l_D.esm.js → pathname.rental-qsAe3XFd.esm.js} +81 -76
  136. package/dist/chunks/{pathname.rental-CqHO_l_D.esm.js.map → pathname.rental-qsAe3XFd.esm.js.map} +1 -1
  137. package/dist/chunks/{reports-title-bar-CqVqKrPd.esm.js → reports-title-bar-Cay4E8SQ.esm.js} +2 -2
  138. package/dist/chunks/{reports-title-bar-CqVqKrPd.esm.js.map → reports-title-bar-Cay4E8SQ.esm.js.map} +1 -1
  139. package/dist/chunks/{reports-title-bar-B1_IweEc.js → reports-title-bar-Kz6JjqsY.js} +2 -2
  140. package/dist/chunks/{reports-title-bar-B1_IweEc.js.map → reports-title-bar-Kz6JjqsY.js.map} +1 -1
  141. package/dist/chunks/{route-page-map-CSg28AvB.esm.js → route-page-map-DkWoisiB.esm.js} +132 -75
  142. package/dist/chunks/{route-page-map-CSg28AvB.esm.js.map → route-page-map-DkWoisiB.esm.js.map} +1 -1
  143. package/dist/chunks/{route-page-map-__F1KHUj.js → route-page-map-Dn-SAbdf.js} +59 -2
  144. package/dist/chunks/{route-page-map-__F1KHUj.js.map → route-page-map-Dn-SAbdf.js.map} +1 -1
  145. package/dist/chunks/{routes-DauYjaxu.esm.js → routes-Be8qxaVS.esm.js} +3 -3
  146. package/dist/chunks/{routes-DauYjaxu.esm.js.map → routes-Be8qxaVS.esm.js.map} +1 -1
  147. package/dist/chunks/{routes-Bs7dqd7j.js → routes-Bi8lChPT.js} +3 -3
  148. package/dist/chunks/{routes-Bs7dqd7j.js.map → routes-Bi8lChPT.js.map} +1 -1
  149. package/dist/chunks/{schedule-report-BwmZ5jea.js → schedule-report-B4ZfEuiU.js} +4 -4
  150. package/dist/chunks/{schedule-report-BwmZ5jea.js.map → schedule-report-B4ZfEuiU.js.map} +1 -1
  151. package/dist/chunks/{schedule-report-D2oYKVGN.esm.js → schedule-report-CLXjjfjc.esm.js} +4 -4
  152. package/dist/chunks/{schedule-report-D2oYKVGN.esm.js.map → schedule-report-CLXjjfjc.esm.js.map} +1 -1
  153. package/dist/chunks/{schedule-report-modal-maDNFV-h.esm.js → schedule-report-modal-CB3G9H7x.esm.js} +2 -2
  154. package/dist/chunks/{schedule-report-modal-maDNFV-h.esm.js.map → schedule-report-modal-CB3G9H7x.esm.js.map} +1 -1
  155. package/dist/chunks/{schedule-report-modal-iNnWP9s4.js → schedule-report-modal-iwoDI-sg.js} +2 -2
  156. package/dist/chunks/{schedule-report-modal-iNnWP9s4.js.map → schedule-report-modal-iwoDI-sg.js.map} +1 -1
  157. package/dist/chunks/{searchable-select-CcG1qflA.esm.js → searchable-select-0F6E4XAr.esm.js} +2 -2
  158. package/dist/chunks/{searchable-select-CcG1qflA.esm.js.map → searchable-select-0F6E4XAr.esm.js.map} +1 -1
  159. package/dist/chunks/{searchable-select-DVUCWWti.js → searchable-select-_DCkITfk.js} +2 -2
  160. package/dist/chunks/{searchable-select-DVUCWWti.js.map → searchable-select-_DCkITfk.js.map} +1 -1
  161. package/dist/chunks/{share-modal-CQYd5GU0.esm.js → share-modal-BaEyZs2h.esm.js} +2 -2
  162. package/dist/chunks/{share-modal-CQYd5GU0.esm.js.map → share-modal-BaEyZs2h.esm.js.map} +1 -1
  163. package/dist/chunks/{share-modal-CobK7BN7.js → share-modal-DrXvh-fV.js} +2 -2
  164. package/dist/chunks/{share-modal-CobK7BN7.js.map → share-modal-DrXvh-fV.js.map} +1 -1
  165. package/dist/chunks/{share-modal-enhanced-DVarD-jt.js → share-modal-enhanced-BTr0zRhF.js} +2 -2
  166. package/dist/chunks/{share-modal-enhanced-DVarD-jt.js.map → share-modal-enhanced-BTr0zRhF.js.map} +1 -1
  167. package/dist/chunks/{share-modal-enhanced-04WjO7Ej.esm.js → share-modal-enhanced-DnEdDBmu.esm.js} +2 -2
  168. package/dist/chunks/{share-modal-enhanced-04WjO7Ej.esm.js.map → share-modal-enhanced-DnEdDBmu.esm.js.map} +1 -1
  169. package/dist/chunks/{sidebarScreen-BvaFDSr8.js → sidebarScreen-3iZYCAMn.js} +2 -2
  170. package/dist/chunks/{sidebarScreen-BvaFDSr8.js.map → sidebarScreen-3iZYCAMn.js.map} +1 -1
  171. package/dist/chunks/{sidebarScreen-CLsGgJpX.esm.js → sidebarScreen-CYUn8OsB.esm.js} +2 -2
  172. package/dist/chunks/{sidebarScreen-CLsGgJpX.esm.js.map → sidebarScreen-CYUn8OsB.esm.js.map} +1 -1
  173. package/dist/chunks/{table-Bpt6ggr3.js → table-DWx7x8zw.js} +2 -2
  174. package/dist/chunks/{table-Bpt6ggr3.js.map → table-DWx7x8zw.js.map} +1 -1
  175. package/dist/chunks/{table-DgCWox6A.esm.js → table-gxAlAeTq.esm.js} +2 -2
  176. package/dist/chunks/{table-DgCWox6A.esm.js.map → table-gxAlAeTq.esm.js.map} +1 -1
  177. package/dist/chunks/{template-editor-router-Dq3Hsw99.js → template-editor-router-BRxF8Dj_.js} +2 -2
  178. package/dist/chunks/{template-editor-router-Dq3Hsw99.js.map → template-editor-router-BRxF8Dj_.js.map} +1 -1
  179. package/dist/chunks/{template-editor-router-DAGjgCfA.esm.js → template-editor-router-BV5FrwJm.esm.js} +2 -2
  180. package/dist/chunks/{template-editor-router-DAGjgCfA.esm.js.map → template-editor-router-BV5FrwJm.esm.js.map} +1 -1
  181. package/dist/chunks/{templates-BkVjG5c0.js → templates-BY9HF32G.js} +4 -4
  182. package/dist/chunks/{templates-BkVjG5c0.js.map → templates-BY9HF32G.js.map} +1 -1
  183. package/dist/chunks/{templates-DrKOJkmh.esm.js → templates-DxvU4PQY.esm.js} +4 -4
  184. package/dist/chunks/{templates-DrKOJkmh.esm.js.map → templates-DxvU4PQY.esm.js.map} +1 -1
  185. package/dist/chunks/{uom-field-wrapper-DyhwLo9Q.esm.js → uom-field-wrapper-CTbEc-MB.esm.js} +2 -2
  186. package/dist/chunks/{uom-field-wrapper-DyhwLo9Q.esm.js.map → uom-field-wrapper-CTbEc-MB.esm.js.map} +1 -1
  187. package/dist/chunks/{uom-field-wrapper-CSqeiVPY.js → uom-field-wrapper-DXZgzOYB.js} +2 -2
  188. package/dist/chunks/{uom-field-wrapper-CSqeiVPY.js.map → uom-field-wrapper-DXZgzOYB.js.map} +1 -1
  189. package/dist/chunks/{use-translations-RGIbWjPM.esm.js → use-translations-BzykVZOP.esm.js} +2 -2
  190. package/dist/chunks/{use-translations-RGIbWjPM.esm.js.map → use-translations-BzykVZOP.esm.js.map} +1 -1
  191. package/dist/chunks/{use-translations-Cn3b4Kqh.js → use-translations-CNI_xsIo.js} +2 -2
  192. package/dist/chunks/{use-translations-Cn3b4Kqh.js.map → use-translations-CNI_xsIo.js.map} +1 -1
  193. package/dist/chunks/{value-editor-Br7X_wEB.js → value-editor-BSS9Ns2T.js} +2 -2
  194. package/dist/chunks/{value-editor-Br7X_wEB.js.map → value-editor-BSS9Ns2T.js.map} +1 -1
  195. package/dist/chunks/{value-editor-DkDNIrZ4.esm.js → value-editor-DQ1qgZ2u.esm.js} +2 -2
  196. package/dist/chunks/{value-editor-DkDNIrZ4.esm.js.map → value-editor-DQ1qgZ2u.esm.js.map} +1 -1
  197. package/dist/chunks/{vendor-ai-summary-C33oHYPA.esm.js → vendor-ai-summary-BA6m2dH9.esm.js} +2 -2
  198. package/dist/chunks/{vendor-ai-summary-C33oHYPA.esm.js.map → vendor-ai-summary-BA6m2dH9.esm.js.map} +1 -1
  199. package/dist/chunks/{vendor-ai-summary-zranZkfk.js → vendor-ai-summary-DWmAaQ_N.js} +2 -2
  200. package/dist/chunks/{vendor-ai-summary-zranZkfk.js.map → vendor-ai-summary-DWmAaQ_N.js.map} +1 -1
  201. package/dist/components/action-bar/action-bar/index.esm.js +1 -1
  202. package/dist/components/action-bar/action-bar/index.js +1 -1
  203. package/dist/components/action-bar/index.esm.js +1 -1
  204. package/dist/components/action-bar/index.js +1 -1
  205. package/dist/components/address-modal/index.esm.js +1 -1
  206. package/dist/components/address-modal/index.js +1 -1
  207. package/dist/components/appbar/appbar/index.esm.js +1 -1
  208. package/dist/components/appbar/appbar/index.js +1 -1
  209. package/dist/components/appbar/index.esm.js +1 -1
  210. package/dist/components/appbar/index.js +1 -1
  211. package/dist/components/custom-forms/FORMS/index.esm.js +1 -1
  212. package/dist/components/custom-forms/FORMS/index.js +1 -1
  213. package/dist/components/custom-forms/index.esm.js +1 -1
  214. package/dist/components/custom-forms/index.js +1 -1
  215. package/dist/components/department-add-modal/index.esm.js +1 -1
  216. package/dist/components/department-add-modal/index.js +1 -1
  217. package/dist/components/designation-add-modal/index.esm.js +1 -1
  218. package/dist/components/designation-add-modal/index.js +1 -1
  219. package/dist/components/examples/FlexibleReduxExample/index.esm.js +1 -1
  220. package/dist/components/examples/FlexibleReduxExample/index.js +1 -1
  221. package/dist/components/examples/index.esm.js +1 -1
  222. package/dist/components/examples/index.js +1 -1
  223. package/dist/components/filter/components/index.esm.js +1 -1
  224. package/dist/components/filter/components/index.js +1 -1
  225. package/dist/components/filter/components/value-editor/index.esm.js +1 -1
  226. package/dist/components/filter/components/value-editor/index.js +1 -1
  227. package/dist/components/filter/filter/index.esm.js +1 -1
  228. package/dist/components/filter/filter/index.js +1 -1
  229. package/dist/components/filter/index.esm.js +2 -2
  230. package/dist/components/filter/index.js +2 -2
  231. package/dist/components/footer/footer/index.esm.js +1 -1
  232. package/dist/components/footer/footer/index.js +1 -1
  233. package/dist/components/footer/index.esm.js +1 -1
  234. package/dist/components/footer/index.js +1 -1
  235. package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.esm.js +1 -1
  236. package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.js +1 -1
  237. package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.esm.js +1 -1
  238. package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.js +1 -1
  239. package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.esm.js +1 -1
  240. package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.js +1 -1
  241. package/dist/components/form-control/form-builder/form-builder-element/index.esm.js +3 -3
  242. package/dist/components/form-control/form-builder/form-builder-element/index.js +3 -3
  243. package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.esm.js +1 -1
  244. package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.js +1 -1
  245. package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.esm.js +1 -1
  246. package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.js +1 -1
  247. package/dist/components/form-control/form-builder/form-builder-element/table/index.esm.js +1 -1
  248. package/dist/components/form-control/form-builder/form-builder-element/table/index.js +1 -1
  249. package/dist/components/form-control/form-builder/index.esm.js +3 -3
  250. package/dist/components/form-control/form-builder/index.js +3 -3
  251. package/dist/components/form-control/form-parser/form-parser/index.esm.js +1 -1
  252. package/dist/components/form-control/form-parser/form-parser/index.js +1 -1
  253. package/dist/components/form-control/form-parser/form-section/index.esm.js +1 -1
  254. package/dist/components/form-control/form-parser/form-section/index.js +1 -1
  255. package/dist/components/form-control/form-parser/index.esm.js +2 -2
  256. package/dist/components/form-control/form-parser/index.js +2 -2
  257. package/dist/components/form-control/index.esm.js +5 -5
  258. package/dist/components/form-control/index.js +5 -5
  259. package/dist/components/header/components/app-switcher/index.esm.js +1 -1
  260. package/dist/components/header/components/app-switcher/index.js +1 -1
  261. package/dist/components/header/components/global-search/index.esm.js +1 -1
  262. package/dist/components/header/components/global-search/index.js +1 -1
  263. package/dist/components/header/components/index.esm.js +1 -1
  264. package/dist/components/header/components/index.js +1 -1
  265. package/dist/components/header/components/notification-menu/index.esm.js +1 -1
  266. package/dist/components/header/components/notification-menu/index.js +1 -1
  267. package/dist/components/header/components/notification-menu/notification-menu/index.esm.js +1 -1
  268. package/dist/components/header/components/notification-menu/notification-menu/index.js +1 -1
  269. package/dist/components/header/header/index.esm.js +1 -1
  270. package/dist/components/header/header/index.js +1 -1
  271. package/dist/components/header/header-enhanced/index.esm.js +1 -1
  272. package/dist/components/header/header-enhanced/index.js +1 -1
  273. package/dist/components/header/index.esm.js +3 -3
  274. package/dist/components/header/index.js +3 -3
  275. package/dist/components/index.esm.js +26 -26
  276. package/dist/components/index.js +26 -26
  277. package/dist/components/inventory-reports-title-bar/index.esm.js +1 -1
  278. package/dist/components/inventory-reports-title-bar/index.js +1 -1
  279. package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.esm.js +1 -1
  280. package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.js +1 -1
  281. package/dist/components/listing/index.esm.js +1 -1
  282. package/dist/components/listing/index.js +1 -1
  283. package/dist/components/listing/listing/index.esm.js +1 -1
  284. package/dist/components/listing/listing/index.js +1 -1
  285. package/dist/components/location-select/index.esm.js +1 -1
  286. package/dist/components/location-select/index.js +1 -1
  287. package/dist/components/material-editable-table/components/index.esm.js +1 -1
  288. package/dist/components/material-editable-table/components/index.js +1 -1
  289. package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js +1 -1
  290. package/dist/components/material-editable-table/components/inline-edit-fields/index.js +1 -1
  291. package/dist/components/material-editable-table/index.esm.js +2 -2
  292. package/dist/components/material-editable-table/index.js +2 -2
  293. package/dist/components/material-editable-table/material-editable-table/index.esm.js +1 -1
  294. package/dist/components/material-editable-table/material-editable-table/index.js +1 -1
  295. package/dist/components/material-table/components/index.esm.js +1 -1
  296. package/dist/components/material-table/components/index.js +1 -1
  297. package/dist/components/material-table/components/inline-edit-fields/index.esm.js +1 -1
  298. package/dist/components/material-table/components/inline-edit-fields/index.js +1 -1
  299. package/dist/components/material-table/index.esm.js +1 -1
  300. package/dist/components/material-table/index.js +1 -1
  301. package/dist/components/material-table/material-table/index.esm.js +1 -1
  302. package/dist/components/material-table/material-table/index.js +1 -1
  303. package/dist/components/page-navigator/components/index.esm.js +1 -1
  304. package/dist/components/page-navigator/components/index.js +1 -1
  305. package/dist/components/page-navigator/components/page-action/index.esm.js +1 -1
  306. package/dist/components/page-navigator/components/page-action/index.js +1 -1
  307. package/dist/components/page-navigator/index.esm.js +2 -2
  308. package/dist/components/page-navigator/index.js +2 -2
  309. package/dist/components/page-navigator/page-navigator/index.esm.js +1 -1
  310. package/dist/components/page-navigator/page-navigator/index.js +1 -1
  311. package/dist/components/parties-modal/index.esm.js +1 -1
  312. package/dist/components/parties-modal/index.js +1 -1
  313. package/dist/components/parties-modal/parties-modal/index.esm.js +1 -1
  314. package/dist/components/parties-modal/parties-modal/index.js +1 -1
  315. package/dist/components/reports-title-bar/index.esm.js +1 -1
  316. package/dist/components/reports-title-bar/index.js +1 -1
  317. package/dist/components/reports-title-bar/reports-title-bar/index.esm.js +1 -1
  318. package/dist/components/reports-title-bar/reports-title-bar/index.js +1 -1
  319. package/dist/components/rfq-response/index.esm.js +1 -1
  320. package/dist/components/rfq-response/index.js +1 -1
  321. package/dist/components/rfq-response/item-response-details/index.esm.js +1 -1
  322. package/dist/components/rfq-response/item-response-details/index.js +1 -1
  323. package/dist/components/schedule-report/index.esm.js +2 -2
  324. package/dist/components/schedule-report/index.js +2 -2
  325. package/dist/components/schedule-report/schedule-report/index.esm.js +1 -1
  326. package/dist/components/schedule-report/schedule-report/index.js +1 -1
  327. package/dist/components/schedule-report/schedule-report-modal/index.esm.js +1 -1
  328. package/dist/components/schedule-report/schedule-report-modal/index.js +1 -1
  329. package/dist/components/searchable-select/index.esm.js +1 -1
  330. package/dist/components/searchable-select/index.js +1 -1
  331. package/dist/components/share-modal/index.esm.js +2 -2
  332. package/dist/components/share-modal/index.js +2 -2
  333. package/dist/components/share-modal/share-modal/index.esm.js +1 -1
  334. package/dist/components/share-modal/share-modal/index.js +1 -1
  335. package/dist/components/share-modal/share-modal-enhanced/index.esm.js +1 -1
  336. package/dist/components/share-modal/share-modal-enhanced/index.js +1 -1
  337. package/dist/components/team-add-modal/index.esm.js +1 -1
  338. package/dist/components/team-add-modal/index.js +1 -1
  339. package/dist/components/uom-field-wrapper/index.esm.js +1 -1
  340. package/dist/components/uom-field-wrapper/index.js +1 -1
  341. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js +1 -1
  342. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js +1 -1
  343. package/dist/components/vendor-ai-summary/index.esm.js +1 -1
  344. package/dist/components/vendor-ai-summary/index.js +1 -1
  345. package/dist/constants/index.esm.js +145 -143
  346. package/dist/constants/index.js +5 -3
  347. package/dist/constants/index.js.map +1 -1
  348. package/dist/hooks/index.esm.js +1 -1
  349. package/dist/hooks/index.js +1 -1
  350. package/dist/hooks/use-translations/index.esm.js +1 -1
  351. package/dist/hooks/use-translations/index.js +1 -1
  352. package/dist/index.esm.js +182 -180
  353. package/dist/index.js +43 -41
  354. package/dist/index.js.map +1 -1
  355. package/dist/layout/fullScreen/index.esm.js +1 -1
  356. package/dist/layout/fullScreen/index.js +1 -1
  357. package/dist/layout/index.esm.js +2 -2
  358. package/dist/layout/index.js +2 -2
  359. package/dist/layout/sidebarScreen/index.esm.js +1 -1
  360. package/dist/layout/sidebarScreen/index.js +1 -1
  361. package/dist/runtime/index.esm.js +2 -2
  362. package/dist/runtime/index.js +2 -2
  363. package/dist/src/constants/defaultColumns.d.ts +1 -0
  364. package/dist/src/constants/pathnames/pathname.procurement.d.ts +4 -0
  365. package/dist/utils/export-filters/index.esm.js +1 -0
  366. package/dist/utils/export-filters/index.esm.js.map +1 -1
  367. package/dist/utils/export-filters/index.js +1 -0
  368. package/dist/utils/export-filters/index.js.map +1 -1
  369. package/dist/views/afterAuth/dashboard/index.esm.js +1 -1
  370. package/dist/views/afterAuth/dashboard/index.js +1 -1
  371. package/dist/views/afterAuth/index.esm.js +2 -2
  372. package/dist/views/afterAuth/index.js +2 -2
  373. package/dist/views/afterAuth/page-view/index.esm.js +1 -1
  374. package/dist/views/afterAuth/page-view/index.js +1 -1
  375. package/dist/views/form-builder/custom-form/index.esm.js +1 -1
  376. package/dist/views/form-builder/custom-form/index.js +1 -1
  377. package/dist/views/form-builder/form-fields/index.esm.js +1 -1
  378. package/dist/views/form-builder/form-fields/index.js +1 -1
  379. package/dist/views/form-builder/index.esm.js +3 -3
  380. package/dist/views/form-builder/index.js +3 -3
  381. package/dist/views/form-builder/utils/index.esm.js +1 -1
  382. package/dist/views/form-builder/utils/index.js +1 -1
  383. package/dist/views/index.esm.js +10 -10
  384. package/dist/views/index.js +10 -10
  385. package/dist/views/template-editor/add-template/index.esm.js +1 -1
  386. package/dist/views/template-editor/add-template/index.js +1 -1
  387. package/dist/views/template-editor/components/index.esm.js +1 -1
  388. package/dist/views/template-editor/components/index.js +1 -1
  389. package/dist/views/template-editor/index.esm.js +5 -5
  390. package/dist/views/template-editor/index.js +5 -5
  391. package/dist/views/template-editor/routes/index.esm.js +1 -1
  392. package/dist/views/template-editor/routes/index.js +1 -1
  393. package/dist/views/template-editor/templates/index.esm.js +1 -1
  394. package/dist/views/template-editor/templates/index.js +1 -1
  395. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sidebarScreen-CLsGgJpX.esm.js","sources":["../../src/layout/sidebarScreen/sidebarScreen.tsx"],"sourcesContent":["import { useEffect, useState, useCallback, useMemo } from 'react';\n\nimport { useTheme } from '@mui/material';\nimport { Box } from '@mui/material';\n\nimport AppBar from '../../components/appbar/appbar';\nimport SideBar from '../../components/sidebar/sidebar';\nimport ActivityArea from '../../components/activityArea/activityArea';\nimport ChatBot from '../../components/chat-bot/chat-bot';\n\nimport drawerWidth from '../../constants/mui.constants';\n// const drawerWidth = 240;\nimport { useLanguage } from '@erpsquad/common/runtime';\nimport { getToken } from '@/utils';\nimport { getV1Settings } from '../../api-client/api.manufacturing/api';\nimport { useLocation } from 'react-router-dom';\nimport { ModuleSkeleton } from '../../components/loaders/module-skeleton';\n\n// Local storage key for drawer state\nconst DRAWER_STATE_KEY = '_is_drawer_open';\n\n// Interface for better type safety\nexport interface ISidebarLayoutProps {\n\tmenu: any[];\n\tchildren: React.ReactNode;\n\tdashboardPath?: string;\n}\n\nexport const SidebarLayout = (props: ISidebarLayoutProps) => {\n\tconst theme = useTheme();\n\tconst { currentLanguage } = useLanguage();\n\tconst isRtl = useMemo(\n\t\t() => currentLanguage?.direction === 'rtl',\n\t\t[currentLanguage]\n\t);\n\t// Enhanced state management\n\tconst [forcedOpen, setForcedOpen] = useState(true);\n\tconst [hoverOpen, setHoverOpen] = useState(false);\n\tconst [isInitialized, setIsInitialized] = useState(false);\n\tconst location = useLocation();\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\n\t// Memoized computed state for actual drawer open status\n\tconst isDrawerOpen = forcedOpen || (!forcedOpen && hoverOpen);\n\n\t// Enhanced drawer control functions with better state management\n\tconst handleDrawerOpen = useCallback(() => {\n\t\tsetForcedOpen(true);\n\t\tsetHoverOpen(false); // Clear hover state when forcing open\n\t\ttry {\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\n\t\t} catch (error) {\n\t\t\tconsole.warn('Failed to save drawer state to localStorage:', error);\n\t\t}\n\t}, []);\n\n\tconst handleDrawerClose = useCallback(() => {\n\t\tsetForcedOpen(false);\n\t\twindow.localStorage.setItem('_is_drawer_open', 'false');\n\t}, []);\n\n\tconst [wipSettingsData, setWipSettingsData] = useState<any>(null);\n\n\tconst getSettings = useCallback(async () => {\n\t\t// getToken returns { \"x-token\": string; \"x-timezone\": number }, but API expects string type for \"x-timezone\"\n\t\tconst tokenData = getToken();\n\t\tconst apiParams = {\n\t\t\t'x-token': tokenData['x-token'],\n\t\t\t'x-timezone': String(tokenData['x-timezone'])\n\t\t};\n\t\tconst response = await getV1Settings(apiParams);\n\t\t// The \"data\" property may not exist on GetV1SettingsResponses, so check existence safely\n\t\tconst data = (response && (response as any)?.data?.settings?.[0]) || null;\n\t\tsetWipSettingsData(data);\n\t\tlocalStorage.setItem('wip_settings_data', JSON.stringify(data));\n\t}, []);\n\tuseEffect(() => {\n\t\tif(curPathName?.includes('manufacturing')) {\n\t\t\tgetSettings();\n\t\t}\n\t}, [getSettings, curPathName]);\n\n\tconst [manufacturingSubmenu, setManufacturingSubmenu] = useState<any>(\n\t\tprops.menu\n\t);\n\n\tuseEffect(() => {\n\t\tif (wipSettingsData && Array.isArray(props?.menu)) {\n\t\t\tconst _new = props.menu.filter((item) => {\n\t\t\t\tif (!wipSettingsData?.enable_production_planning) {\n\t\t\t\t\treturn item.label !== 'Plans';\n\t\t\t\t} else {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetManufacturingSubmenu(_new);\n\t\t}\n\t}, [wipSettingsData, props.menu]);\n\t// const module_type = '';\n\n\tconst handleMouseEnter = () => {\n\t\tif (!forcedOpen) {\n\t\t\t// setOpen(true);\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\n\t\t}\n\t};\n\n\tconst handleMouseLeave = useCallback(() => {\n\t\tif (!forcedOpen && isInitialized) {\n\t\t\tsetHoverOpen(false);\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'false');\n\t\t}\n\t}, [forcedOpen, isInitialized]);\n\n\t// Toggle function for programmatic control\n\tconst toggleDrawer = useCallback(() => {\n\t\tif (forcedOpen) {\n\t\t\thandleDrawerClose();\n\t\t} else {\n\t\t\thandleDrawerOpen();\n\t\t}\n\t}, [forcedOpen, handleDrawerClose, handleDrawerOpen]);\n\n\t// Enhanced initialization with error handling\n\tuseEffect(() => {\n\t\tconst initializeDrawerState = () => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\n\n\t\t\t\t\tsetForcedOpen(shouldBeOpen);\n\t\t\t\t\tsetHoverOpen(false); // Ensure hover state is reset\n\t\t\t\t\tsetIsInitialized(true);\n\t\t\t\t} else {\n\t\t\t\t\t// Fallback for environments without localStorage\n\t\t\t\t\tsetForcedOpen(true);\n\t\t\t\t\tsetIsInitialized(true);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Failed to read drawer state from localStorage:', error);\n\t\t\t\t// Fallback to default state\n\t\t\t\tsetForcedOpen(true);\n\t\t\t\tsetIsInitialized(true);\n\t\t\t}\n\t\t};\n\n\t\tinitializeDrawerState();\n\t}, []);\n\n\t// Handle window focus to sync state across tabs\n\tuseEffect(() => {\n\t\tconst handleWindowFocus = () => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\n\n\t\t\t\t\tif (shouldBeOpen !== forcedOpen) {\n\t\t\t\t\t\tsetForcedOpen(shouldBeOpen);\n\t\t\t\t\t\tsetHoverOpen(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Failed to sync drawer state on window focus:', error);\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('focus', handleWindowFocus);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('focus', handleWindowFocus);\n\t\t};\n\t}, [forcedOpen]);\n\n\t// Prevent rendering until initialization is complete\n\tif (!isInitialized) {\n\t\treturn (\n\t\t\t// <Box\n\t\t\t// \tsx={{\n\t\t\t// \t\tdisplay: 'flex',\n\t\t\t// \t\tminHeight: '100vh',\n\t\t\t// \t\talignItems: 'center',\n\t\t\t// \t\tjustifyContent: 'center'\n\t\t\t// \t}}>\n\t\t\t\t<ModuleSkeleton />\n\t\t\t/* </Box> */\n\t\t);\n\t}\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tminHeight: '100vh',\n\t\t\t\tdirection: isRtl ? 'rtl' : 'ltr'\n\t\t\t}}>\n\t\t\t<AppBar\n\t\t\t\topen={forcedOpen}\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\n\t\t\t\thandleDrawerClose={handleDrawerClose}\n\t\t\t\ttoggleDrawer={toggleDrawer}\n\t\t\t\twidth={drawerWidth}\n\t\t\t\tforcedOpen={forcedOpen}\n\t\t\t\thoverOpen={hoverOpen}\n\t\t\t/>\n\n\t\t\t<SideBar\n\t\t\t\topen={forcedOpen}\n\t\t\t\tforcedOpen={forcedOpen}\n\t\t\t\thoverOpen={hoverOpen}\n\t\t\t\thandleDrawerClose={handleDrawerClose}\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\n\t\t\t\ttoggleDrawer={toggleDrawer}\n\t\t\t\twidth={drawerWidth}\n\t\t\t\ttheme={theme}\n\t\t\t\tmenu={manufacturingSubmenu}\n\t\t\t\thandleMouseEnter={handleMouseEnter}\n\t\t\t\thandleMouseLeave={handleMouseLeave}\n\t\t\t\tisInitialized={isInitialized}\n\t\t\t\tdashboardPath={props.dashboardPath}\n\t\t\t/>\n\n\t\t\t<ActivityArea\n\t\t\t\tisDrawerOpen={isDrawerOpen}\n\t\t\t\tdrawerWidth={drawerWidth}\n\t\t\t\tforcedOpen={forcedOpen}>\n\t\t\t\t{props.children}\n\t\t\t</ActivityArea>\n\t\t\t<ChatBot />\n\t\t</Box>\n\t);\n};\n\nexport default SidebarLayout;\n"],"names":["AppBar","SideBar"],"mappings":"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"}
1
+ {"version":3,"file":"sidebarScreen-CYUn8OsB.esm.js","sources":["../../src/layout/sidebarScreen/sidebarScreen.tsx"],"sourcesContent":["import { useEffect, useState, useCallback, useMemo } from 'react';\n\nimport { useTheme } from '@mui/material';\nimport { Box } from '@mui/material';\n\nimport AppBar from '../../components/appbar/appbar';\nimport SideBar from '../../components/sidebar/sidebar';\nimport ActivityArea from '../../components/activityArea/activityArea';\nimport ChatBot from '../../components/chat-bot/chat-bot';\n\nimport drawerWidth from '../../constants/mui.constants';\n// const drawerWidth = 240;\nimport { useLanguage } from '@erpsquad/common/runtime';\nimport { getToken } from '@/utils';\nimport { getV1Settings } from '../../api-client/api.manufacturing/api';\nimport { useLocation } from 'react-router-dom';\nimport { ModuleSkeleton } from '../../components/loaders/module-skeleton';\n\n// Local storage key for drawer state\nconst DRAWER_STATE_KEY = '_is_drawer_open';\n\n// Interface for better type safety\nexport interface ISidebarLayoutProps {\n\tmenu: any[];\n\tchildren: React.ReactNode;\n\tdashboardPath?: string;\n}\n\nexport const SidebarLayout = (props: ISidebarLayoutProps) => {\n\tconst theme = useTheme();\n\tconst { currentLanguage } = useLanguage();\n\tconst isRtl = useMemo(\n\t\t() => currentLanguage?.direction === 'rtl',\n\t\t[currentLanguage]\n\t);\n\t// Enhanced state management\n\tconst [forcedOpen, setForcedOpen] = useState(true);\n\tconst [hoverOpen, setHoverOpen] = useState(false);\n\tconst [isInitialized, setIsInitialized] = useState(false);\n\tconst location = useLocation();\n\tconst curPathName = useMemo(() => location.pathname, [location.pathname])\n\n\t// Memoized computed state for actual drawer open status\n\tconst isDrawerOpen = forcedOpen || (!forcedOpen && hoverOpen);\n\n\t// Enhanced drawer control functions with better state management\n\tconst handleDrawerOpen = useCallback(() => {\n\t\tsetForcedOpen(true);\n\t\tsetHoverOpen(false); // Clear hover state when forcing open\n\t\ttry {\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\n\t\t} catch (error) {\n\t\t\tconsole.warn('Failed to save drawer state to localStorage:', error);\n\t\t}\n\t}, []);\n\n\tconst handleDrawerClose = useCallback(() => {\n\t\tsetForcedOpen(false);\n\t\twindow.localStorage.setItem('_is_drawer_open', 'false');\n\t}, []);\n\n\tconst [wipSettingsData, setWipSettingsData] = useState<any>(null);\n\n\tconst getSettings = useCallback(async () => {\n\t\t// getToken returns { \"x-token\": string; \"x-timezone\": number }, but API expects string type for \"x-timezone\"\n\t\tconst tokenData = getToken();\n\t\tconst apiParams = {\n\t\t\t'x-token': tokenData['x-token'],\n\t\t\t'x-timezone': String(tokenData['x-timezone'])\n\t\t};\n\t\tconst response = await getV1Settings(apiParams);\n\t\t// The \"data\" property may not exist on GetV1SettingsResponses, so check existence safely\n\t\tconst data = (response && (response as any)?.data?.settings?.[0]) || null;\n\t\tsetWipSettingsData(data);\n\t\tlocalStorage.setItem('wip_settings_data', JSON.stringify(data));\n\t}, []);\n\tuseEffect(() => {\n\t\tif(curPathName?.includes('manufacturing')) {\n\t\t\tgetSettings();\n\t\t}\n\t}, [getSettings, curPathName]);\n\n\tconst [manufacturingSubmenu, setManufacturingSubmenu] = useState<any>(\n\t\tprops.menu\n\t);\n\n\tuseEffect(() => {\n\t\tif (wipSettingsData && Array.isArray(props?.menu)) {\n\t\t\tconst _new = props.menu.filter((item) => {\n\t\t\t\tif (!wipSettingsData?.enable_production_planning) {\n\t\t\t\t\treturn item.label !== 'Plans';\n\t\t\t\t} else {\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetManufacturingSubmenu(_new);\n\t\t}\n\t}, [wipSettingsData, props.menu]);\n\t// const module_type = '';\n\n\tconst handleMouseEnter = () => {\n\t\tif (!forcedOpen) {\n\t\t\t// setOpen(true);\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'true');\n\t\t}\n\t};\n\n\tconst handleMouseLeave = useCallback(() => {\n\t\tif (!forcedOpen && isInitialized) {\n\t\t\tsetHoverOpen(false);\n\t\t\twindow.localStorage.setItem(DRAWER_STATE_KEY, 'false');\n\t\t}\n\t}, [forcedOpen, isInitialized]);\n\n\t// Toggle function for programmatic control\n\tconst toggleDrawer = useCallback(() => {\n\t\tif (forcedOpen) {\n\t\t\thandleDrawerClose();\n\t\t} else {\n\t\t\thandleDrawerOpen();\n\t\t}\n\t}, [forcedOpen, handleDrawerClose, handleDrawerOpen]);\n\n\t// Enhanced initialization with error handling\n\tuseEffect(() => {\n\t\tconst initializeDrawerState = () => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\n\n\t\t\t\t\tsetForcedOpen(shouldBeOpen);\n\t\t\t\t\tsetHoverOpen(false); // Ensure hover state is reset\n\t\t\t\t\tsetIsInitialized(true);\n\t\t\t\t} else {\n\t\t\t\t\t// Fallback for environments without localStorage\n\t\t\t\t\tsetForcedOpen(true);\n\t\t\t\t\tsetIsInitialized(true);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Failed to read drawer state from localStorage:', error);\n\t\t\t\t// Fallback to default state\n\t\t\t\tsetForcedOpen(true);\n\t\t\t\tsetIsInitialized(true);\n\t\t\t}\n\t\t};\n\n\t\tinitializeDrawerState();\n\t}, []);\n\n\t// Handle window focus to sync state across tabs\n\tuseEffect(() => {\n\t\tconst handleWindowFocus = () => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined' && window.localStorage) {\n\t\t\t\t\tconst savedState = window.localStorage.getItem(DRAWER_STATE_KEY);\n\t\t\t\t\tconst shouldBeOpen = savedState === 'true';\n\n\t\t\t\t\tif (shouldBeOpen !== forcedOpen) {\n\t\t\t\t\t\tsetForcedOpen(shouldBeOpen);\n\t\t\t\t\t\tsetHoverOpen(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.warn('Failed to sync drawer state on window focus:', error);\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('focus', handleWindowFocus);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('focus', handleWindowFocus);\n\t\t};\n\t}, [forcedOpen]);\n\n\t// Prevent rendering until initialization is complete\n\tif (!isInitialized) {\n\t\treturn (\n\t\t\t// <Box\n\t\t\t// \tsx={{\n\t\t\t// \t\tdisplay: 'flex',\n\t\t\t// \t\tminHeight: '100vh',\n\t\t\t// \t\talignItems: 'center',\n\t\t\t// \t\tjustifyContent: 'center'\n\t\t\t// \t}}>\n\t\t\t\t<ModuleSkeleton />\n\t\t\t/* </Box> */\n\t\t);\n\t}\n\n\treturn (\n\t\t<Box\n\t\t\tsx={{\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tminHeight: '100vh',\n\t\t\t\tdirection: isRtl ? 'rtl' : 'ltr'\n\t\t\t}}>\n\t\t\t<AppBar\n\t\t\t\topen={forcedOpen}\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\n\t\t\t\thandleDrawerClose={handleDrawerClose}\n\t\t\t\ttoggleDrawer={toggleDrawer}\n\t\t\t\twidth={drawerWidth}\n\t\t\t\tforcedOpen={forcedOpen}\n\t\t\t\thoverOpen={hoverOpen}\n\t\t\t/>\n\n\t\t\t<SideBar\n\t\t\t\topen={forcedOpen}\n\t\t\t\tforcedOpen={forcedOpen}\n\t\t\t\thoverOpen={hoverOpen}\n\t\t\t\thandleDrawerClose={handleDrawerClose}\n\t\t\t\thandleDrawerOpen={handleDrawerOpen}\n\t\t\t\ttoggleDrawer={toggleDrawer}\n\t\t\t\twidth={drawerWidth}\n\t\t\t\ttheme={theme}\n\t\t\t\tmenu={manufacturingSubmenu}\n\t\t\t\thandleMouseEnter={handleMouseEnter}\n\t\t\t\thandleMouseLeave={handleMouseLeave}\n\t\t\t\tisInitialized={isInitialized}\n\t\t\t\tdashboardPath={props.dashboardPath}\n\t\t\t/>\n\n\t\t\t<ActivityArea\n\t\t\t\tisDrawerOpen={isDrawerOpen}\n\t\t\t\tdrawerWidth={drawerWidth}\n\t\t\t\tforcedOpen={forcedOpen}>\n\t\t\t\t{props.children}\n\t\t\t</ActivityArea>\n\t\t\t<ChatBot />\n\t\t</Box>\n\t);\n};\n\nexport default SidebarLayout;\n"],"names":["AppBar","SideBar"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const iconsMaterial = require("@mui/icons-material");
4
4
  const button = require("./button-CYiSRppg.js");
5
- const searchableSelect = require("./searchable-select-DVUCWWti.js");
5
+ const searchableSelect = require("./searchable-select-_DCkITfk.js");
6
6
  const typography = require("./typography-Bqfr1Ksf.js");
7
7
  const material = require("@mui/material");
8
8
  ;/* empty css */
@@ -181,4 +181,4 @@ const DynamicTable = React.memo(({
181
181
  ] });
182
182
  });
183
183
  exports.DynamicTable = DynamicTable;
184
- //# sourceMappingURL=table-Bpt6ggr3.js.map
184
+ //# sourceMappingURL=table-DWx7x8zw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-Bpt6ggr3.js","sources":["../../src/components/form-control/form-builder/form-builder-element/table.tsx"],"sourcesContent":["// import { MRT_ColumnDef, MRT_RowData } from 'material-react-table';\nimport { Add } from '@mui/icons-material';\nimport Button from '../../../button/button';\nimport MaterialTable, { MaterialTableColumnProps } from '../../../material-table/material-table';\nimport Typography from '../../../typography/typography';\nimport { Box } from '@mui/material';\nimport './element.scss';\nimport { parse, stringify } from 'flatted';\nimport React, { useCallback } from 'react';\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { formatDate } from '../../../../utils/dateFormat';\nimport Chip from '../../../chip/chip';\nimport Checkbox from '../../../checkbox/checkbox';\nimport { MRT_Row } from 'material-react-table';\nimport _ from 'lodash';\nimport { formatAmount, getFileName, toFixedWithNumbers } from \"../../../../utils/common\";\nimport { getApiConfigSafe } from \"../../../../utils/api-config\";\nimport { useTranslation } from 'react-i18next';\nimport { formatLabel } from '../../../../utils/format-text';\nexport interface ICellChangeParam {\n\tvalue: any,\n\tdata: any,\n\tcol: MaterialTableColumnProps,\n\trow: MRT_Row<any>,\n\tname: string,\n\tuRows: any[]\n}\n\ninterface IDynamicTable {\n\tcolumns: any[];\n\trows?: any[];\n\tposition: number;\n\tlabel: string;\n\tdisabled?: boolean;\n\ttypeOfField?: string;\n\tonAddClick?: (name?: string) => void;\n\tname?: string;\n\tis_button?: boolean;\n\tdisableTableAddButton?: boolean;\n\totherButtons?: React.ReactNode[];\n\tdefaultActionColumnItems?: React.ReactElement[];\n\tonTableCellChange: ({ value, data, col, row }: ICellChangeParam) => void;\n\tcurrencySymbol?: string;\n}\n\nconst DynamicTable: React.FC<IDynamicTable> = React.memo(({\n\tcolumns,\n\tposition,\n\tlabel,\n\trows = [],\n\tonAddClick,\n\tname,\n\tis_button = true,\n\tdisableTableAddButton,\n\totherButtons,\n\tdefaultActionColumnItems,\n\tonTableCellChange,\n\tcurrencySymbol = '',\n\t...rest\n\t// disabled\n}) => {\n\tconst { t } = useTranslation();\n\tconst { user } = useAuth();\n\tconst cs = currencySymbol || user?.currency_data?.symbol || '';\n\tconst currencyFormat = user?.currency_data?.number_format || '';\n\tconst symbolPosition = user?.currency_data?.position || 'before';\n\tconst isSpar = getApiConfigSafe()?.countryEnv === 'spar';\n\tconst takeCurencyOrPercentage = useCallback((type: string, value: any) => {\n\t\tswitch (type) {\n\t\t\tcase 'Percentage':\n\t\t\t\treturn `${value}%`;\n\t\t\tcase 'Fixed Amount':\n\t\t\t\treturn `${cs}${value}`;\n\n\t\t\tdefault:\n\t\t\t\treturn value;\n\t\t}\n\t}, [cs]);\n\n\tconst isCellChangeAFunc = onTableCellChange instanceof Function\n\n\tconst tableColumns = useCallback(\n\t\t(columns: MaterialTableColumnProps[]) => {\n\t\t\treturn columns.map((column) => {\n\t\t\t\tconst originalCell = column.Cell;\n\t\t\t\treturn {\n\t\t\t\t\t...column,\n\t\t\t\t\theader: t(column.header),\n\t\t\t\t\tCell: (cellProps: any) => {\n\t\t\t\t\t\tif (originalCell) {\n\t\t\t\t\t\t\treturn originalCell(cellProps);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet v = cellProps.renderedCellValue;\n\t\t\t\t\t\tif (column.accessorKey?.endsWith('.items.name')) {\n\t\t\t\t\t\t\tconst prefix = column.accessorKey.replace(/\\.name$/, '');\n\t\t\t\t\t\t\tconst item = _.get(cellProps.row.original, prefix);\n\t\t\t\t\t\t\tif (item?.sku) {\n\t\t\t\t\t\t\t\tv = `${item.sku} - ${item.name}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (isSpar && column.type !== 'currency' && typeof v === 'number' && v && String(v)?.includes('.')) {\n\t\t\t\t\t\t\treturn v = toFixedWithNumbers(v, 4)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch (column.type) {\n\t\t\t\t\t\t\tcase 'formattedString':\n\t\t\t\t\t\t\t\tv = formatLabel(cellProps.renderedCellValue) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'date':\n\t\t\t\t\t\t\t\tv = formatDate(\n\t\t\t\t\t\t\t\t\tcellProps.renderedCellValue,\n\t\t\t\t\t\t\t\t\tcolumn.editProperties?.dateFormat || 'DD-MM-YYYY'\n\t\t\t\t\t\t\t\t) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'currency':\n\t\t\t\t\t\t\t\tv = cellProps.renderedCellValue ? `${formatAmount(cellProps.renderedCellValue, currencyFormat, symbolPosition, cs, isSpar ? 4 : undefined)}` : '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'stringOrArray': {\n\t\t\t\t\t\t\t\tconst type = cellProps.row.original?.promotion_map_data?.type;\n\t\t\t\t\t\t\t\tv = Array.isArray(cellProps.renderedCellValue)\n\t\t\t\t\t\t\t\t\t? cellProps.renderedCellValue.map((rcv) => (\n\t\t\t\t\t\t\t\t\t\trcv ? <Chip label={takeCurencyOrPercentage(type, rcv)} /> : null\n\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t: takeCurencyOrPercentage(type, cellProps.renderedCellValue);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"checkbox\": {\n\t\t\t\t\t\t\t\tv = <Checkbox\n\t\t\t\t\t\t\t\t\tchecked={Boolean(cellProps.renderedCellValue)}\n\t\t\t\t\t\t\t\t\tonClick={isCellChangeAFunc\n\t\t\t\t\t\t\t\t\t\t? (e) => onTableCellChange({\n\t\t\t\t\t\t\t\t\t\t\tvalue: e.target.checked,\n\t\t\t\t\t\t\t\t\t\t\tdata: cellProps.row.original,\n\t\t\t\t\t\t\t\t\t\t\tcol: column,\n\t\t\t\t\t\t\t\t\t\t\trow: cellProps.row,\n\t\t\t\t\t\t\t\t\t\t\tname: name,\n\t\t\t\t\t\t\t\t\t\t\tuRows: rows\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"array\": {\n\t\t\t\t\t\t\t\tv = Array.isArray(cellProps.renderedCellValue) && cellProps.renderedCellValue.length ?\n\t\t\t\t\t\t\t\t\t<Box sx={{ display: 'flex', gap: 0.5, alignItems: 'center', flexWrap: 'wrap' }}>\n\t\t\t\t\t\t\t\t\t\t{cellProps.renderedCellValue.map(r => (<Chip type='normal' label={_.get(r, column?.valueGet, '')} active />))}\n\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t\t: '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"file\": {\n\t\t\t\t\t\t\t\tv = getFileName(cellProps.renderedCellValue) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn v;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[cs, takeCurencyOrPercentage, currencySymbol, rows]\n\t);\n\treturn (\n\t\t<Box data-position={position}>\n\t\t\t<Typography\n\t\t\t\ttype='s5'\n\t\t\t\tweight='medium'\n\t\t\t\tcolor='theme.secondary.800'\n\t\t\t\tdata-position={position}\n\t\t\t\tsx={{ mb: 0.5 }}>\n\t\t\t\t{t(label)}\n\t\t\t</Typography>\n\t\t\t<Box /* sx={disabled ? { pointerEvents: 'none' } : {}} */>\n\t\t\t\t<MaterialTable\n\t\t\t\t\tcolumnOrder={['mrt-row-select']}\n\t\t\t\t\t// rows={parse(stringify(rows))}\n\t\t\t\t\trows={rows}\n\t\t\t\t\tcolumns={tableColumns(columns ? columns.map((col: any) => ({ ...col })) : [])}\n\t\t\t\t\ttotalPages={20}\n\t\t\t\t\tpaginationModel={{ pageNo: 1, limit: 20 }}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableBottomToolbar={false}\n\t\t\t\t\tdefaultActionColumnItems={defaultActionColumnItems}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t\t{is_button && !disableTableAddButton && (\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tjustifyContent: 'space-between',\n\t\t\t\t\t\t\tmt: 1\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\tonClick={() => onAddClick?.(name)}\n\t\t\t\t\t\t\tstartIcon={<Add />}\n\t\t\t\t\t\t\tclassName='table--AddButton'>\n\t\t\t\t\t\t\tAdd\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{Boolean(otherButtons?.length) && otherButtons}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</Box>\n\t\t</Box>\n\t);\n});\n\nexport default DynamicTable;\n"],"names":["useTranslation","useAuth","getApiConfigSafe","useCallback","columns","_a","_b","toFixedWithNumbers","formatLabel","formatDate","_c","formatAmount","_d","jsx","Chip","Checkbox","Box","getFileName","jsxs","Typography","MaterialTable","Button","Add"],"mappings":"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"}
1
+ {"version":3,"file":"table-DWx7x8zw.js","sources":["../../src/components/form-control/form-builder/form-builder-element/table.tsx"],"sourcesContent":["// import { MRT_ColumnDef, MRT_RowData } from 'material-react-table';\nimport { Add } from '@mui/icons-material';\nimport Button from '../../../button/button';\nimport MaterialTable, { MaterialTableColumnProps } from '../../../material-table/material-table';\nimport Typography from '../../../typography/typography';\nimport { Box } from '@mui/material';\nimport './element.scss';\nimport { parse, stringify } from 'flatted';\nimport React, { useCallback } from 'react';\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { formatDate } from '../../../../utils/dateFormat';\nimport Chip from '../../../chip/chip';\nimport Checkbox from '../../../checkbox/checkbox';\nimport { MRT_Row } from 'material-react-table';\nimport _ from 'lodash';\nimport { formatAmount, getFileName, toFixedWithNumbers } from \"../../../../utils/common\";\nimport { getApiConfigSafe } from \"../../../../utils/api-config\";\nimport { useTranslation } from 'react-i18next';\nimport { formatLabel } from '../../../../utils/format-text';\nexport interface ICellChangeParam {\n\tvalue: any,\n\tdata: any,\n\tcol: MaterialTableColumnProps,\n\trow: MRT_Row<any>,\n\tname: string,\n\tuRows: any[]\n}\n\ninterface IDynamicTable {\n\tcolumns: any[];\n\trows?: any[];\n\tposition: number;\n\tlabel: string;\n\tdisabled?: boolean;\n\ttypeOfField?: string;\n\tonAddClick?: (name?: string) => void;\n\tname?: string;\n\tis_button?: boolean;\n\tdisableTableAddButton?: boolean;\n\totherButtons?: React.ReactNode[];\n\tdefaultActionColumnItems?: React.ReactElement[];\n\tonTableCellChange: ({ value, data, col, row }: ICellChangeParam) => void;\n\tcurrencySymbol?: string;\n}\n\nconst DynamicTable: React.FC<IDynamicTable> = React.memo(({\n\tcolumns,\n\tposition,\n\tlabel,\n\trows = [],\n\tonAddClick,\n\tname,\n\tis_button = true,\n\tdisableTableAddButton,\n\totherButtons,\n\tdefaultActionColumnItems,\n\tonTableCellChange,\n\tcurrencySymbol = '',\n\t...rest\n\t// disabled\n}) => {\n\tconst { t } = useTranslation();\n\tconst { user } = useAuth();\n\tconst cs = currencySymbol || user?.currency_data?.symbol || '';\n\tconst currencyFormat = user?.currency_data?.number_format || '';\n\tconst symbolPosition = user?.currency_data?.position || 'before';\n\tconst isSpar = getApiConfigSafe()?.countryEnv === 'spar';\n\tconst takeCurencyOrPercentage = useCallback((type: string, value: any) => {\n\t\tswitch (type) {\n\t\t\tcase 'Percentage':\n\t\t\t\treturn `${value}%`;\n\t\t\tcase 'Fixed Amount':\n\t\t\t\treturn `${cs}${value}`;\n\n\t\t\tdefault:\n\t\t\t\treturn value;\n\t\t}\n\t}, [cs]);\n\n\tconst isCellChangeAFunc = onTableCellChange instanceof Function\n\n\tconst tableColumns = useCallback(\n\t\t(columns: MaterialTableColumnProps[]) => {\n\t\t\treturn columns.map((column) => {\n\t\t\t\tconst originalCell = column.Cell;\n\t\t\t\treturn {\n\t\t\t\t\t...column,\n\t\t\t\t\theader: t(column.header),\n\t\t\t\t\tCell: (cellProps: any) => {\n\t\t\t\t\t\tif (originalCell) {\n\t\t\t\t\t\t\treturn originalCell(cellProps);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet v = cellProps.renderedCellValue;\n\t\t\t\t\t\tif (column.accessorKey?.endsWith('.items.name')) {\n\t\t\t\t\t\t\tconst prefix = column.accessorKey.replace(/\\.name$/, '');\n\t\t\t\t\t\t\tconst item = _.get(cellProps.row.original, prefix);\n\t\t\t\t\t\t\tif (item?.sku) {\n\t\t\t\t\t\t\t\tv = `${item.sku} - ${item.name}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (isSpar && column.type !== 'currency' && typeof v === 'number' && v && String(v)?.includes('.')) {\n\t\t\t\t\t\t\treturn v = toFixedWithNumbers(v, 4)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch (column.type) {\n\t\t\t\t\t\t\tcase 'formattedString':\n\t\t\t\t\t\t\t\tv = formatLabel(cellProps.renderedCellValue) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'date':\n\t\t\t\t\t\t\t\tv = formatDate(\n\t\t\t\t\t\t\t\t\tcellProps.renderedCellValue,\n\t\t\t\t\t\t\t\t\tcolumn.editProperties?.dateFormat || 'DD-MM-YYYY'\n\t\t\t\t\t\t\t\t) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'currency':\n\t\t\t\t\t\t\t\tv = cellProps.renderedCellValue ? `${formatAmount(cellProps.renderedCellValue, currencyFormat, symbolPosition, cs, isSpar ? 4 : undefined)}` : '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'stringOrArray': {\n\t\t\t\t\t\t\t\tconst type = cellProps.row.original?.promotion_map_data?.type;\n\t\t\t\t\t\t\t\tv = Array.isArray(cellProps.renderedCellValue)\n\t\t\t\t\t\t\t\t\t? cellProps.renderedCellValue.map((rcv) => (\n\t\t\t\t\t\t\t\t\t\trcv ? <Chip label={takeCurencyOrPercentage(type, rcv)} /> : null\n\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t: takeCurencyOrPercentage(type, cellProps.renderedCellValue);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"checkbox\": {\n\t\t\t\t\t\t\t\tv = <Checkbox\n\t\t\t\t\t\t\t\t\tchecked={Boolean(cellProps.renderedCellValue)}\n\t\t\t\t\t\t\t\t\tonClick={isCellChangeAFunc\n\t\t\t\t\t\t\t\t\t\t? (e) => onTableCellChange({\n\t\t\t\t\t\t\t\t\t\t\tvalue: e.target.checked,\n\t\t\t\t\t\t\t\t\t\t\tdata: cellProps.row.original,\n\t\t\t\t\t\t\t\t\t\t\tcol: column,\n\t\t\t\t\t\t\t\t\t\t\trow: cellProps.row,\n\t\t\t\t\t\t\t\t\t\t\tname: name,\n\t\t\t\t\t\t\t\t\t\t\tuRows: rows\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"array\": {\n\t\t\t\t\t\t\t\tv = Array.isArray(cellProps.renderedCellValue) && cellProps.renderedCellValue.length ?\n\t\t\t\t\t\t\t\t\t<Box sx={{ display: 'flex', gap: 0.5, alignItems: 'center', flexWrap: 'wrap' }}>\n\t\t\t\t\t\t\t\t\t\t{cellProps.renderedCellValue.map(r => (<Chip type='normal' label={_.get(r, column?.valueGet, '')} active />))}\n\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t\t: '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"file\": {\n\t\t\t\t\t\t\t\tv = getFileName(cellProps.renderedCellValue) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn v;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[cs, takeCurencyOrPercentage, currencySymbol, rows]\n\t);\n\treturn (\n\t\t<Box data-position={position}>\n\t\t\t<Typography\n\t\t\t\ttype='s5'\n\t\t\t\tweight='medium'\n\t\t\t\tcolor='theme.secondary.800'\n\t\t\t\tdata-position={position}\n\t\t\t\tsx={{ mb: 0.5 }}>\n\t\t\t\t{t(label)}\n\t\t\t</Typography>\n\t\t\t<Box /* sx={disabled ? { pointerEvents: 'none' } : {}} */>\n\t\t\t\t<MaterialTable\n\t\t\t\t\tcolumnOrder={['mrt-row-select']}\n\t\t\t\t\t// rows={parse(stringify(rows))}\n\t\t\t\t\trows={rows}\n\t\t\t\t\tcolumns={tableColumns(columns ? columns.map((col: any) => ({ ...col })) : [])}\n\t\t\t\t\ttotalPages={20}\n\t\t\t\t\tpaginationModel={{ pageNo: 1, limit: 20 }}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableBottomToolbar={false}\n\t\t\t\t\tdefaultActionColumnItems={defaultActionColumnItems}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t\t{is_button && !disableTableAddButton && (\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tjustifyContent: 'space-between',\n\t\t\t\t\t\t\tmt: 1\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\tonClick={() => onAddClick?.(name)}\n\t\t\t\t\t\t\tstartIcon={<Add />}\n\t\t\t\t\t\t\tclassName='table--AddButton'>\n\t\t\t\t\t\t\tAdd\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{Boolean(otherButtons?.length) && otherButtons}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</Box>\n\t\t</Box>\n\t);\n});\n\nexport default DynamicTable;\n"],"names":["useTranslation","useAuth","getApiConfigSafe","useCallback","columns","_a","_b","toFixedWithNumbers","formatLabel","formatDate","_c","formatAmount","_d","jsx","Chip","Checkbox","Box","getFileName","jsxs","Typography","MaterialTable","Button","Add"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { Add } from "@mui/icons-material";
3
3
  import { B as Button } from "./button-BtdpXmjA.esm.js";
4
- import { M as MaterialTable } from "./searchable-select-CcG1qflA.esm.js";
4
+ import { M as MaterialTable } from "./searchable-select-0F6E4XAr.esm.js";
5
5
  import { T as Typography } from "./typography-CG_A0iOJ.esm.js";
6
6
  import { Box } from "@mui/material";
7
7
  /* empty css */
@@ -182,4 +182,4 @@ const DynamicTable = React__default.memo(({
182
182
  export {
183
183
  DynamicTable as D
184
184
  };
185
- //# sourceMappingURL=table-DgCWox6A.esm.js.map
185
+ //# sourceMappingURL=table-gxAlAeTq.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-DgCWox6A.esm.js","sources":["../../src/components/form-control/form-builder/form-builder-element/table.tsx"],"sourcesContent":["// import { MRT_ColumnDef, MRT_RowData } from 'material-react-table';\nimport { Add } from '@mui/icons-material';\nimport Button from '../../../button/button';\nimport MaterialTable, { MaterialTableColumnProps } from '../../../material-table/material-table';\nimport Typography from '../../../typography/typography';\nimport { Box } from '@mui/material';\nimport './element.scss';\nimport { parse, stringify } from 'flatted';\nimport React, { useCallback } from 'react';\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { formatDate } from '../../../../utils/dateFormat';\nimport Chip from '../../../chip/chip';\nimport Checkbox from '../../../checkbox/checkbox';\nimport { MRT_Row } from 'material-react-table';\nimport _ from 'lodash';\nimport { formatAmount, getFileName, toFixedWithNumbers } from \"../../../../utils/common\";\nimport { getApiConfigSafe } from \"../../../../utils/api-config\";\nimport { useTranslation } from 'react-i18next';\nimport { formatLabel } from '../../../../utils/format-text';\nexport interface ICellChangeParam {\n\tvalue: any,\n\tdata: any,\n\tcol: MaterialTableColumnProps,\n\trow: MRT_Row<any>,\n\tname: string,\n\tuRows: any[]\n}\n\ninterface IDynamicTable {\n\tcolumns: any[];\n\trows?: any[];\n\tposition: number;\n\tlabel: string;\n\tdisabled?: boolean;\n\ttypeOfField?: string;\n\tonAddClick?: (name?: string) => void;\n\tname?: string;\n\tis_button?: boolean;\n\tdisableTableAddButton?: boolean;\n\totherButtons?: React.ReactNode[];\n\tdefaultActionColumnItems?: React.ReactElement[];\n\tonTableCellChange: ({ value, data, col, row }: ICellChangeParam) => void;\n\tcurrencySymbol?: string;\n}\n\nconst DynamicTable: React.FC<IDynamicTable> = React.memo(({\n\tcolumns,\n\tposition,\n\tlabel,\n\trows = [],\n\tonAddClick,\n\tname,\n\tis_button = true,\n\tdisableTableAddButton,\n\totherButtons,\n\tdefaultActionColumnItems,\n\tonTableCellChange,\n\tcurrencySymbol = '',\n\t...rest\n\t// disabled\n}) => {\n\tconst { t } = useTranslation();\n\tconst { user } = useAuth();\n\tconst cs = currencySymbol || user?.currency_data?.symbol || '';\n\tconst currencyFormat = user?.currency_data?.number_format || '';\n\tconst symbolPosition = user?.currency_data?.position || 'before';\n\tconst isSpar = getApiConfigSafe()?.countryEnv === 'spar';\n\tconst takeCurencyOrPercentage = useCallback((type: string, value: any) => {\n\t\tswitch (type) {\n\t\t\tcase 'Percentage':\n\t\t\t\treturn `${value}%`;\n\t\t\tcase 'Fixed Amount':\n\t\t\t\treturn `${cs}${value}`;\n\n\t\t\tdefault:\n\t\t\t\treturn value;\n\t\t}\n\t}, [cs]);\n\n\tconst isCellChangeAFunc = onTableCellChange instanceof Function\n\n\tconst tableColumns = useCallback(\n\t\t(columns: MaterialTableColumnProps[]) => {\n\t\t\treturn columns.map((column) => {\n\t\t\t\tconst originalCell = column.Cell;\n\t\t\t\treturn {\n\t\t\t\t\t...column,\n\t\t\t\t\theader: t(column.header),\n\t\t\t\t\tCell: (cellProps: any) => {\n\t\t\t\t\t\tif (originalCell) {\n\t\t\t\t\t\t\treturn originalCell(cellProps);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet v = cellProps.renderedCellValue;\n\t\t\t\t\t\tif (column.accessorKey?.endsWith('.items.name')) {\n\t\t\t\t\t\t\tconst prefix = column.accessorKey.replace(/\\.name$/, '');\n\t\t\t\t\t\t\tconst item = _.get(cellProps.row.original, prefix);\n\t\t\t\t\t\t\tif (item?.sku) {\n\t\t\t\t\t\t\t\tv = `${item.sku} - ${item.name}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (isSpar && column.type !== 'currency' && typeof v === 'number' && v && String(v)?.includes('.')) {\n\t\t\t\t\t\t\treturn v = toFixedWithNumbers(v, 4)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch (column.type) {\n\t\t\t\t\t\t\tcase 'formattedString':\n\t\t\t\t\t\t\t\tv = formatLabel(cellProps.renderedCellValue) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'date':\n\t\t\t\t\t\t\t\tv = formatDate(\n\t\t\t\t\t\t\t\t\tcellProps.renderedCellValue,\n\t\t\t\t\t\t\t\t\tcolumn.editProperties?.dateFormat || 'DD-MM-YYYY'\n\t\t\t\t\t\t\t\t) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'currency':\n\t\t\t\t\t\t\t\tv = cellProps.renderedCellValue ? `${formatAmount(cellProps.renderedCellValue, currencyFormat, symbolPosition, cs, isSpar ? 4 : undefined)}` : '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'stringOrArray': {\n\t\t\t\t\t\t\t\tconst type = cellProps.row.original?.promotion_map_data?.type;\n\t\t\t\t\t\t\t\tv = Array.isArray(cellProps.renderedCellValue)\n\t\t\t\t\t\t\t\t\t? cellProps.renderedCellValue.map((rcv) => (\n\t\t\t\t\t\t\t\t\t\trcv ? <Chip label={takeCurencyOrPercentage(type, rcv)} /> : null\n\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t: takeCurencyOrPercentage(type, cellProps.renderedCellValue);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"checkbox\": {\n\t\t\t\t\t\t\t\tv = <Checkbox\n\t\t\t\t\t\t\t\t\tchecked={Boolean(cellProps.renderedCellValue)}\n\t\t\t\t\t\t\t\t\tonClick={isCellChangeAFunc\n\t\t\t\t\t\t\t\t\t\t? (e) => onTableCellChange({\n\t\t\t\t\t\t\t\t\t\t\tvalue: e.target.checked,\n\t\t\t\t\t\t\t\t\t\t\tdata: cellProps.row.original,\n\t\t\t\t\t\t\t\t\t\t\tcol: column,\n\t\t\t\t\t\t\t\t\t\t\trow: cellProps.row,\n\t\t\t\t\t\t\t\t\t\t\tname: name,\n\t\t\t\t\t\t\t\t\t\t\tuRows: rows\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"array\": {\n\t\t\t\t\t\t\t\tv = Array.isArray(cellProps.renderedCellValue) && cellProps.renderedCellValue.length ?\n\t\t\t\t\t\t\t\t\t<Box sx={{ display: 'flex', gap: 0.5, alignItems: 'center', flexWrap: 'wrap' }}>\n\t\t\t\t\t\t\t\t\t\t{cellProps.renderedCellValue.map(r => (<Chip type='normal' label={_.get(r, column?.valueGet, '')} active />))}\n\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t\t: '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"file\": {\n\t\t\t\t\t\t\t\tv = getFileName(cellProps.renderedCellValue) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn v;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[cs, takeCurencyOrPercentage, currencySymbol, rows]\n\t);\n\treturn (\n\t\t<Box data-position={position}>\n\t\t\t<Typography\n\t\t\t\ttype='s5'\n\t\t\t\tweight='medium'\n\t\t\t\tcolor='theme.secondary.800'\n\t\t\t\tdata-position={position}\n\t\t\t\tsx={{ mb: 0.5 }}>\n\t\t\t\t{t(label)}\n\t\t\t</Typography>\n\t\t\t<Box /* sx={disabled ? { pointerEvents: 'none' } : {}} */>\n\t\t\t\t<MaterialTable\n\t\t\t\t\tcolumnOrder={['mrt-row-select']}\n\t\t\t\t\t// rows={parse(stringify(rows))}\n\t\t\t\t\trows={rows}\n\t\t\t\t\tcolumns={tableColumns(columns ? columns.map((col: any) => ({ ...col })) : [])}\n\t\t\t\t\ttotalPages={20}\n\t\t\t\t\tpaginationModel={{ pageNo: 1, limit: 20 }}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableBottomToolbar={false}\n\t\t\t\t\tdefaultActionColumnItems={defaultActionColumnItems}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t\t{is_button && !disableTableAddButton && (\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tjustifyContent: 'space-between',\n\t\t\t\t\t\t\tmt: 1\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\tonClick={() => onAddClick?.(name)}\n\t\t\t\t\t\t\tstartIcon={<Add />}\n\t\t\t\t\t\t\tclassName='table--AddButton'>\n\t\t\t\t\t\t\tAdd\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{Boolean(otherButtons?.length) && otherButtons}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</Box>\n\t\t</Box>\n\t);\n});\n\nexport default DynamicTable;\n"],"names":["React","columns","_a","_b","_c","_d"],"mappings":"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"}
1
+ {"version":3,"file":"table-gxAlAeTq.esm.js","sources":["../../src/components/form-control/form-builder/form-builder-element/table.tsx"],"sourcesContent":["// import { MRT_ColumnDef, MRT_RowData } from 'material-react-table';\nimport { Add } from '@mui/icons-material';\nimport Button from '../../../button/button';\nimport MaterialTable, { MaterialTableColumnProps } from '../../../material-table/material-table';\nimport Typography from '../../../typography/typography';\nimport { Box } from '@mui/material';\nimport './element.scss';\nimport { parse, stringify } from 'flatted';\nimport React, { useCallback } from 'react';\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { formatDate } from '../../../../utils/dateFormat';\nimport Chip from '../../../chip/chip';\nimport Checkbox from '../../../checkbox/checkbox';\nimport { MRT_Row } from 'material-react-table';\nimport _ from 'lodash';\nimport { formatAmount, getFileName, toFixedWithNumbers } from \"../../../../utils/common\";\nimport { getApiConfigSafe } from \"../../../../utils/api-config\";\nimport { useTranslation } from 'react-i18next';\nimport { formatLabel } from '../../../../utils/format-text';\nexport interface ICellChangeParam {\n\tvalue: any,\n\tdata: any,\n\tcol: MaterialTableColumnProps,\n\trow: MRT_Row<any>,\n\tname: string,\n\tuRows: any[]\n}\n\ninterface IDynamicTable {\n\tcolumns: any[];\n\trows?: any[];\n\tposition: number;\n\tlabel: string;\n\tdisabled?: boolean;\n\ttypeOfField?: string;\n\tonAddClick?: (name?: string) => void;\n\tname?: string;\n\tis_button?: boolean;\n\tdisableTableAddButton?: boolean;\n\totherButtons?: React.ReactNode[];\n\tdefaultActionColumnItems?: React.ReactElement[];\n\tonTableCellChange: ({ value, data, col, row }: ICellChangeParam) => void;\n\tcurrencySymbol?: string;\n}\n\nconst DynamicTable: React.FC<IDynamicTable> = React.memo(({\n\tcolumns,\n\tposition,\n\tlabel,\n\trows = [],\n\tonAddClick,\n\tname,\n\tis_button = true,\n\tdisableTableAddButton,\n\totherButtons,\n\tdefaultActionColumnItems,\n\tonTableCellChange,\n\tcurrencySymbol = '',\n\t...rest\n\t// disabled\n}) => {\n\tconst { t } = useTranslation();\n\tconst { user } = useAuth();\n\tconst cs = currencySymbol || user?.currency_data?.symbol || '';\n\tconst currencyFormat = user?.currency_data?.number_format || '';\n\tconst symbolPosition = user?.currency_data?.position || 'before';\n\tconst isSpar = getApiConfigSafe()?.countryEnv === 'spar';\n\tconst takeCurencyOrPercentage = useCallback((type: string, value: any) => {\n\t\tswitch (type) {\n\t\t\tcase 'Percentage':\n\t\t\t\treturn `${value}%`;\n\t\t\tcase 'Fixed Amount':\n\t\t\t\treturn `${cs}${value}`;\n\n\t\t\tdefault:\n\t\t\t\treturn value;\n\t\t}\n\t}, [cs]);\n\n\tconst isCellChangeAFunc = onTableCellChange instanceof Function\n\n\tconst tableColumns = useCallback(\n\t\t(columns: MaterialTableColumnProps[]) => {\n\t\t\treturn columns.map((column) => {\n\t\t\t\tconst originalCell = column.Cell;\n\t\t\t\treturn {\n\t\t\t\t\t...column,\n\t\t\t\t\theader: t(column.header),\n\t\t\t\t\tCell: (cellProps: any) => {\n\t\t\t\t\t\tif (originalCell) {\n\t\t\t\t\t\t\treturn originalCell(cellProps);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet v = cellProps.renderedCellValue;\n\t\t\t\t\t\tif (column.accessorKey?.endsWith('.items.name')) {\n\t\t\t\t\t\t\tconst prefix = column.accessorKey.replace(/\\.name$/, '');\n\t\t\t\t\t\t\tconst item = _.get(cellProps.row.original, prefix);\n\t\t\t\t\t\t\tif (item?.sku) {\n\t\t\t\t\t\t\t\tv = `${item.sku} - ${item.name}`;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (isSpar && column.type !== 'currency' && typeof v === 'number' && v && String(v)?.includes('.')) {\n\t\t\t\t\t\t\treturn v = toFixedWithNumbers(v, 4)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch (column.type) {\n\t\t\t\t\t\t\tcase 'formattedString':\n\t\t\t\t\t\t\t\tv = formatLabel(cellProps.renderedCellValue) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'date':\n\t\t\t\t\t\t\t\tv = formatDate(\n\t\t\t\t\t\t\t\t\tcellProps.renderedCellValue,\n\t\t\t\t\t\t\t\t\tcolumn.editProperties?.dateFormat || 'DD-MM-YYYY'\n\t\t\t\t\t\t\t\t) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'currency':\n\t\t\t\t\t\t\t\tv = cellProps.renderedCellValue ? `${formatAmount(cellProps.renderedCellValue, currencyFormat, symbolPosition, cs, isSpar ? 4 : undefined)}` : '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'stringOrArray': {\n\t\t\t\t\t\t\t\tconst type = cellProps.row.original?.promotion_map_data?.type;\n\t\t\t\t\t\t\t\tv = Array.isArray(cellProps.renderedCellValue)\n\t\t\t\t\t\t\t\t\t? cellProps.renderedCellValue.map((rcv) => (\n\t\t\t\t\t\t\t\t\t\trcv ? <Chip label={takeCurencyOrPercentage(type, rcv)} /> : null\n\t\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t\t\t: takeCurencyOrPercentage(type, cellProps.renderedCellValue);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"checkbox\": {\n\t\t\t\t\t\t\t\tv = <Checkbox\n\t\t\t\t\t\t\t\t\tchecked={Boolean(cellProps.renderedCellValue)}\n\t\t\t\t\t\t\t\t\tonClick={isCellChangeAFunc\n\t\t\t\t\t\t\t\t\t\t? (e) => onTableCellChange({\n\t\t\t\t\t\t\t\t\t\t\tvalue: e.target.checked,\n\t\t\t\t\t\t\t\t\t\t\tdata: cellProps.row.original,\n\t\t\t\t\t\t\t\t\t\t\tcol: column,\n\t\t\t\t\t\t\t\t\t\t\trow: cellProps.row,\n\t\t\t\t\t\t\t\t\t\t\tname: name,\n\t\t\t\t\t\t\t\t\t\t\tuRows: rows\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"array\": {\n\t\t\t\t\t\t\t\tv = Array.isArray(cellProps.renderedCellValue) && cellProps.renderedCellValue.length ?\n\t\t\t\t\t\t\t\t\t<Box sx={{ display: 'flex', gap: 0.5, alignItems: 'center', flexWrap: 'wrap' }}>\n\t\t\t\t\t\t\t\t\t\t{cellProps.renderedCellValue.map(r => (<Chip type='normal' label={_.get(r, column?.valueGet, '')} active />))}\n\t\t\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t\t\t\t: '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcase \"file\": {\n\t\t\t\t\t\t\t\tv = getFileName(cellProps.renderedCellValue) || '-';\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn v;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t});\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[cs, takeCurencyOrPercentage, currencySymbol, rows]\n\t);\n\treturn (\n\t\t<Box data-position={position}>\n\t\t\t<Typography\n\t\t\t\ttype='s5'\n\t\t\t\tweight='medium'\n\t\t\t\tcolor='theme.secondary.800'\n\t\t\t\tdata-position={position}\n\t\t\t\tsx={{ mb: 0.5 }}>\n\t\t\t\t{t(label)}\n\t\t\t</Typography>\n\t\t\t<Box /* sx={disabled ? { pointerEvents: 'none' } : {}} */>\n\t\t\t\t<MaterialTable\n\t\t\t\t\tcolumnOrder={['mrt-row-select']}\n\t\t\t\t\t// rows={parse(stringify(rows))}\n\t\t\t\t\trows={rows}\n\t\t\t\t\tcolumns={tableColumns(columns ? columns.map((col: any) => ({ ...col })) : [])}\n\t\t\t\t\ttotalPages={20}\n\t\t\t\t\tpaginationModel={{ pageNo: 1, limit: 20 }}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableBottomToolbar={false}\n\t\t\t\t\tdefaultActionColumnItems={defaultActionColumnItems}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t\t{is_button && !disableTableAddButton && (\n\t\t\t\t\t<Box\n\t\t\t\t\t\tsx={{\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tjustifyContent: 'space-between',\n\t\t\t\t\t\t\tmt: 1\n\t\t\t\t\t\t}}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\tonClick={() => onAddClick?.(name)}\n\t\t\t\t\t\t\tstartIcon={<Add />}\n\t\t\t\t\t\t\tclassName='table--AddButton'>\n\t\t\t\t\t\t\tAdd\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{Boolean(otherButtons?.length) && otherButtons}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</Box>\n\t\t</Box>\n\t);\n});\n\nexport default DynamicTable;\n"],"names":["React","columns","_a","_b","_c","_d"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  const reactRouterDom = require("react-router-dom");
3
- const routes = require("./routes-Bs7dqd7j.js");
3
+ const routes = require("./routes-Bi8lChPT.js");
4
4
  function TemplateEditorRouter({ modulePath, module: module2 }) {
5
5
  return reactRouterDom.useRoutes(routes.templateEditorRoutes(modulePath, module2));
6
6
  }
7
7
  exports.TemplateEditorRouter = TemplateEditorRouter;
8
- //# sourceMappingURL=template-editor-router-Dq3Hsw99.js.map
8
+ //# sourceMappingURL=template-editor-router-BRxF8Dj_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-editor-router-Dq3Hsw99.js","sources":["../../src/views/template-editor/template-editor-router.tsx"],"sourcesContent":["import { useRoutes } from \"react-router-dom\";\nimport { templateEditorRoutes } from \"./routes\";\n\ninterface Props {\n\tmodulePath: string;\n\tmodule: string;\n}\n\nexport default function TemplateEditorRouter({ modulePath, module }: Props) {\n\treturn useRoutes(templateEditorRoutes(modulePath, module));\n}\n"],"names":["module","useRoutes","templateEditorRoutes"],"mappings":";;;AAQA,SAAwB,qBAAqB,EAAE,YAAY,QAAAA,WAAiB;AAC3E,SAAOC,yBAAUC,OAAAA,qBAAqB,YAAYF,OAAM,CAAC;AAC1D;;"}
1
+ {"version":3,"file":"template-editor-router-BRxF8Dj_.js","sources":["../../src/views/template-editor/template-editor-router.tsx"],"sourcesContent":["import { useRoutes } from \"react-router-dom\";\nimport { templateEditorRoutes } from \"./routes\";\n\ninterface Props {\n\tmodulePath: string;\n\tmodule: string;\n}\n\nexport default function TemplateEditorRouter({ modulePath, module }: Props) {\n\treturn useRoutes(templateEditorRoutes(modulePath, module));\n}\n"],"names":["module","useRoutes","templateEditorRoutes"],"mappings":";;;AAQA,SAAwB,qBAAqB,EAAE,YAAY,QAAAA,WAAiB;AAC3E,SAAOC,yBAAUC,OAAAA,qBAAqB,YAAYF,OAAM,CAAC;AAC1D;;"}
@@ -1,9 +1,9 @@
1
1
  import { useRoutes } from "react-router-dom";
2
- import { t as templateEditorRoutes } from "./routes-DauYjaxu.esm.js";
2
+ import { t as templateEditorRoutes } from "./routes-Be8qxaVS.esm.js";
3
3
  function TemplateEditorRouter({ modulePath, module }) {
4
4
  return useRoutes(templateEditorRoutes(modulePath, module));
5
5
  }
6
6
  export {
7
7
  TemplateEditorRouter as T
8
8
  };
9
- //# sourceMappingURL=template-editor-router-DAGjgCfA.esm.js.map
9
+ //# sourceMappingURL=template-editor-router-BV5FrwJm.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-editor-router-DAGjgCfA.esm.js","sources":["../../src/views/template-editor/template-editor-router.tsx"],"sourcesContent":["import { useRoutes } from \"react-router-dom\";\nimport { templateEditorRoutes } from \"./routes\";\n\ninterface Props {\n\tmodulePath: string;\n\tmodule: string;\n}\n\nexport default function TemplateEditorRouter({ modulePath, module }: Props) {\n\treturn useRoutes(templateEditorRoutes(modulePath, module));\n}\n"],"names":[],"mappings":";;AAQA,SAAwB,qBAAqB,EAAE,YAAY,UAAiB;AAC3E,SAAO,UAAU,qBAAqB,YAAY,MAAM,CAAC;AAC1D;"}
1
+ {"version":3,"file":"template-editor-router-BV5FrwJm.esm.js","sources":["../../src/views/template-editor/template-editor-router.tsx"],"sourcesContent":["import { useRoutes } from \"react-router-dom\";\nimport { templateEditorRoutes } from \"./routes\";\n\ninterface Props {\n\tmodulePath: string;\n\tmodule: string;\n}\n\nexport default function TemplateEditorRouter({ modulePath, module }: Props) {\n\treturn useRoutes(templateEditorRoutes(modulePath, module));\n}\n"],"names":[],"mappings":";;AAQA,SAAwB,qBAAqB,EAAE,YAAY,UAAiB;AAC3E,SAAO,UAAU,qBAAqB,YAAY,MAAM,CAAC;AAC1D;"}
@@ -1,13 +1,13 @@
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-CGP-GLkt.js");
4
+ const actionBar$1 = require("./action-bar-DdtpxWNk.js");
5
5
  const actionBar = require("./action-bar-DMv6sqDP.js");
6
- const searchableSelect = require("./searchable-select-DVUCWWti.js");
6
+ const searchableSelect = require("./searchable-select-_DCkITfk.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-DioOh69g.js");
10
+ const footer = require("./footer-CD3kMRdS.js");
11
11
  const useDeepMemo = require("./use-deep-memo-7bIH1dxU.js");
12
12
  const runtime = require("@erpsquad/common/runtime");
13
13
  const commonUtility = require("./common-utility-CA_Upser.js");
@@ -268,4 +268,4 @@ const Templates = ({ type, module: module2, modulePath }) => {
268
268
  ] });
269
269
  };
270
270
  exports.Templates = Templates;
271
- //# sourceMappingURL=templates-BkVjG5c0.js.map
271
+ //# sourceMappingURL=templates-BY9HF32G.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates-BkVjG5c0.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 SubjectPermissions = permissions?.Subjects || {};\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 setTemplateModalSource('add'); \n setShowTemplateModal(email); },\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\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\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":";;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAM,YAAsC,CAAC,EAAE,MAAM,QAAAA,SAAQ,iBAAiB;;AAC7E,QAAM,EAAE,EAAA,IAAMC,4BAAA;AACd,QAAM;AAAA,IACL,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAAA,IAEGC,iBAAA;AACJ,QAAM,aAAaC,YAAAA,YAAuB,KAAK;AAE/C,QAAM,CAAC,gBAAgB,iBAAiB,IAAIC,MAAAA,SAA6B,IAAI;AAC7E,QAAM,aAAa,aAAa,QAAQ,qBAAqB;AAC7D,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAuB,aAAa,KAAK,MAAM,UAAU,IAAI,CAAC,EAAE,OAAO,SAAS,UAAU,EAAA,CAAG,CAAC;AAExI,QAAM,CAAC,oBAAoB,qBAAqB,IAAIA,MAAAA,SAAiBC,UAAAA,UAAU,KAAK;AACpF,QAAM,CAAC,iBAAiB,kBAAkB,IAAID,MAAAA,SAAqB,EAAE,QAAQ,GAAG,OAAO,IAAI,YAAY,GAAG,MAAM,GAAG;AACnH,QAAM,CAAC,MAAM,OAAO,IAAIA,MAAAA,SAAgB,CAAA,CAAE;AAC1C,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAkB,KAAK;AAC3D,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAS,CAAA,CAAE;AACjD,QAAM,CAAC,mBAAmB,oBAAoB,IAAIA,MAAAA,SAAwB,IAAI;AAC9E,QAAM,CAAC,qBAAqB,sBAAsB,IAAIA,MAAAA,SAAyB,KAAK;AACpF,QAAM,CAAC,2BAA2B,4BAA4B,IAAIA,MAAAA,SAAwB,IAAI;AAC9F,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAgC,CAAA,CAAE;AAEpE,QAAM,WAAWE,eAAAA,YAAA;AACjB,QAAM,EAAE,QAAQ,OAAO,QAAQ,eAAe;AAC9C,QAAM,QAAQ,WAAW,aAAa;AACtC,QAAM,QAAQ,QAAQ,KAAK,KAAK,aAAa,KAAK,IAAI;AACtD,QAAM,OAAO,SAAS,SAAS;AAC/B,QAAM,cAAcC,QAAAA,eAAA;AACpB,QAAM,SAASC,OAAAA,eAAe,YAAY,IAAI;AAE9C,QAAM,sBAAqB,2CAAa,aAAY,CAAA;AACpD,QAAM,qBAAmB,gDAAa,gBAAb,mBAA0B,qBAAoB,CAAA;AAEvE,QAAM;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,EAAA,IACT;AAEJ,QAAM,EAAE,QAAQ,YAAY,MAAA,IAAU;AAEtC,QAAM,iBAAiB,CAAC,UAAU;;AACjC,QAAI,EAAC,uCAAW,SAAQ;AACvBC,gBAAAA,gBAAgB,8BAA8B,EAAE,SAAS,QAAA,CAAS;AAClE;AAAA,IACD;AAEA,SAAI,uCAAW,UAAS,GAAG;AAC1B,mCAA6B,KAAK;AAAA,IACnC,OAAO;AACN,eAAS,OAAO,aAAa,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,cAAYC,MAAA,UAAU,CAAC,MAAX,gBAAAA,IAAc,SAAM,eAAU,CAAC,MAAX,mBAAc,OAAA,GAAS;AAAA,IAC5G;AAAA,EACD;AAEA,QAAM,gBAAgB;AAAA,IACrB;AAAA,MACC,OAAO;AAAA,MACP,cAAc,CAAC,UAAkB,eAAe,KAAK;AAAA,MACrD,UAAU,CAAC,QAAa,CAAC;AAAA,IAAA;AAAA,IAE1B;AAAA,MACC,OAAO;AAAA,MACP,cAAc,CAAC,UAAkB;AACxB,+BAAuB,KAAK;AAC5B,6BAAqB,KAAK;AAAA,MAAG;AAAA,MACtC,UAAU,CAAC,QAAa,CAAC;AAAA,IAAA;AAAA,EAC1B;AAID,QAAM,YAAYC,MAAAA;AAAAA,IACjB,YAAY;AACX,YAAM,EAAE,MAAM,mBAAmB,OAAA,IAAW;AAC5C,YAAM,eAAe,SAAS,iBAAiB,MAAM,KAAK;AAC1D,YAAM,QAAQ,CAAA;AACd,YAAM,KAAK,IAAI;AACf,UAAI,QAAQ,SAAS;AACpB,cAAM,KAAK,gBAAgB;AAAA,MAC5B;AACA,YAAM,WAAWC,IAAAA,sBAAsB,mBAAmB,aAAa,MAAM,KAAK,GAAG,CAAC,eAAeZ,OAAM,GAAG,YAAY,EAAE;AAE5H,YAAM,WAAW,MAAMa,oBAAc;AAAA,QACpC,GAAGC,aAAA;AAAA,QACH;AAAA,QACA;AAAA;AAAA,QAEA,GAAI,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,KAAK,OAAO,KAAK,CAAC,GAAA;AAAA,QACrD,GAAI,YAAY,aAAa,QAAQ,EAAE,SAAS,SAAA;AAAA,MAAS,CACzD;AAED,eAAQ,qCAAU,SAAQ,EAAE;AAC5B,yBAAmB,EAAE,GAAG,iBAAiB,IAAI,qCAAU,eAAc,CAAA,GAAK;AAAA,IAC3E;AAAA;AAAA,IAEA;AAAA,MACC;AAAA,MACA;AAAA,MACA,yCAAY;AAAA,MACZ,yCAAY;AAAA,MACZ,yCAAY;AAAA,IAAA;AAAA,EACb;AAGD,QAAM,eAAe,YAAY;AAChC,UAAM,eAAe,MAAMC,IAAAA,SAAS,EAAE,QAAQ,WAAW,SAAS,EAAE,MAAM,GAAG,OAAO,KAAK,OAAO,OAAA,GAAU;AAC1G,kBAAa,6CAAc,SAAQ,EAAE;AAAA,EACtC;AAEA,QAAM,YAAYC,MAAAA,QAAQ,MAAM,QAAQ,CAAA,GAAI,CAAC,IAAI,CAAC;AAElD,QAAM,eAAeA,MAAAA;AAAAA,IACpB,MACCC,oCAAsB;AAAA,MACrB,SAAS,iBAAiB;AAAA,MAC1B,gBAAgB,CAAC;;AAChB,uBAAAP,MAAA,IAAI,aAAJ,gBAAAA,IAAc,kBAAd,mBAA6B,WAAUQ,0BAAA;AAAA;AAAA,MACxC,eAAe;AAAA,MACf,cAAc;AAAA;AAAA;AAAA,MAGd,MAAM;AAAA,MACN,eAAe;AAAA,IAAA,CACf;AAAA,IACF,CAAC,WAAW,GAAG,iBAAiB,OAAO;AAAA,EAAA;AAGxC,QAAM,wBAAwB,CAAC,UAA4B;AAC1D,QAAI,WAAW,cAAa,+BAAO,QAAO;AACzC,qBAAe,EAAE,WAAW,MAAM,MAAA,CAAO;AAAA,IAC1C;AACA,uBAAmB,KAAK;AAAA,EACzB;AAEA,QAAM,UAAU,MAAM;AACrB,UAAM,SAAS,EAAE,QAAQ,GAAG,OAAO,IAAI,YAAY,EAAA;AACnD,uBAAmB,MAAM;AAAA,EAC1B;AAGAC,QAAAA,UAAU,MAAM;AACf,cAAA;AAAA,EACD,GAAG,CAAC,SAAS,CAAC;AAGdA,QAAAA,UAAU,MAAM;AACf,iBAAA;AACA,WAAO;AAAA,EACR,GAAG,CAAA,CAAE;AACLA,QAAAA,UAAU,MAAM;AACf,QAAI,+CAAe,QAAQ;AAC1B,mBAAa,QAAQ,uBAAuB,KAAK,UAAU,aAAa,CAAC;AAAA,IAC1E;AAAA,EACD,GAAG,CAAC,aAAa,CAAC;AAGlB,SACCC,2BAAAA,KAAC,WAAA,EAAQ,WAAU,aAClB,UAAA;AAAA,IAAAC,2BAAAA;AAAAA,MAACC,YAAAA;AAAAA,MAAA;AAAA,QACA,OAAO,SAAS,UAAU,WAAW;AAAA,QACrC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,cAAc,CAAC,WAAW;AACzB,yBAAe,EAAE,QAAQ;AACzB,6BAAmB,EAAE,GAAG,iBAAiB,QAAQ,GAAG;AAAA,QACrD;AAAA,QACA,eAAe,CAAC,UAAU,YAAY,SAASjB,UAAAA,UAAU,IAAI;AAAA,QAC7D,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,QAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAER,uBAAuBA,UAAAA,UAAU,SACjCgB,2BAAAA;AAAAA,MAACE,iBAAAA;AAAAA,MAAA;AAAA,QACA,MAAM,aAAa,CAAA;AAAA,QACnB,SAAS;AAAA,QACT;AAAA,QACA,YAAY;AAAA,QACZ,aAAa,CAAC,kBAAkB,GAAG,iBAAiB,SAAS;AAAA,QAC7D,QAAQ,EAAE,WAAW,WAAA;AAAA,QACrB,iBAAiB,CAAC,SAAS,eAAe,EAAE,MAAM;AAAA,QAClD,sBAAsB;AAAA,QACtB,eAAe;AAAA,QACf,aAAa,CAAC,MACb,eAAe,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;AAAA,QAE/C,sBAAsB;AAAA,QACtB;AAAA,QACA,YAAY;AAAA,QACZ,sBAAsB,CAAC,aACtB,uBAAuB,EAAE,WAAW,SAAS,MAAM,CAAC,GAAG;AAAA,QAExD,oBAAoB,CAAC,YACpB,uBAAuB,EAAE,SAAkB;AAAA,QAE5C,aAAa;AAAA,QACX,eAAe,CAAC,SAAS;AACvB,iCAAuB,MAAM;AAC7B,+BAAqB,IAAI;AAAA,QAC3B;AAAA,MAAA;AAAA,IAAA;AAAA,IAGH,uBAAuBlB,UAAAA,UAAU,QACjCgB,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAM;AAAA,QACN;AAAA,MAAA;AAAA,IAAA;AAAA,IAID,CAAC,sBACDA,2BAAAA;AAAAA,MAACG,SAAAA;AAAAA,MAAA;AAAA,QACA,SAAS,EAAE,0CAA0C;AAAA,QACrD,YAAW;AAAA,QACX,MAAMH,2BAAAA,IAAC,OAAA,EAAI,KAAKI,OAAAA,QAAK,gBAAA,CAAiB;AAAA,MAAA;AAAA,IAAA;AAAA,IAIxCJ,2BAAAA;AAAAA,MAACK,OAAAA;AAAAA,MAAA;AAAA,QACA;AAAA,QACA,iBAAiB;AAAA,UAChB,GAAG;AAAA,UACH,OAAO,WAAW;AAAA,QAAA;AAAA,QAEnB;AAAA,QACA,UAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAIVN,2BAAAA;AAAAA,MAACO,KAAAA;AAAAA,MAAA;AAAA,QACA,UAAU;AAAA,QACV,MAAM,QAAQ,cAAc;AAAA,QAC5B,SAAS,MAAM,kBAAkB,IAAI;AAAA,QACrC,UAAA;AAAA,UAAAN,2BAAAA,IAACO,SAAAA,UAAA,EACA,UAAAP,2BAAAA,IAACQ,WAAAA,YAAA,EAAW,MAAK,MAAK,OAAM,wBAC1B,UAAA,EAAE,eAAe,EAAA,CACnB,GACD;AAAA,UACAR,2BAAAA,IAACO,SAAAA,UAAA,EACA,UAAAP,2BAAAA,IAACQ,WAAAA,YAAA,EAAW,MAAK,MAAK,OAAM,wBAC1B,UAAA,EAAE,cAAc,EAAA,CAClB,EAAA,CACD;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEA,qBACAR,2BAAAA;AAAAA,MAACS,cAAAA;AAAAA,MAAA;AAAA,QACA,OAAO;AAAA,QACP,SAAS,MAAM,qBAAqB,IAAI;AAAA,QACxC,MAAM,sBAAsB;AAAA,QAC5B;AAAA,QACA,gBAAgB;AAAA,QAChB,QAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGT,6BACAT,2BAAAA;AAAAA,MAACU,sBAAAA;AAAAA,MAAA;AAAA,QACA,QAAQ,8BAA8B;AAAA,QACtC,WAAW;AAAA,QACX;AAAA,QACA,OAAO;AAAA,QACP,gBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GAEF;AAEF;;"}
1
+ {"version":3,"file":"templates-BY9HF32G.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 SubjectPermissions = permissions?.Subjects || {};\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 setTemplateModalSource('add'); \n setShowTemplateModal(email); },\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\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\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,12 +1,12 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useState, useCallback, useMemo, useEffect } from "react";
3
- import { A as ActionBar } from "./action-bar-sX54kFo9.esm.js";
3
+ import { A as ActionBar } from "./action-bar-C7Alva4T.esm.js";
4
4
  import { v as viewTypes } from "./action-bar-BsXTcYpL.esm.js";
5
- import { M as MaterialTable } from "./searchable-select-CcG1qflA.esm.js";
5
+ import { M as MaterialTable } from "./searchable-select-0F6E4XAr.esm.js";
6
6
  import { T as Typography } from "./typography-CG_A0iOJ.esm.js";
7
7
  import { F as Fallback } from "./fallback-C1hj1V6l.esm.js";
8
8
  import { M as Menu } from "./menu-B2SzzeqF.esm.js";
9
- import { F as Footer } from "./footer-BXClGYIb.esm.js";
9
+ import { F as Footer } from "./footer-m3_dlNl8.esm.js";
10
10
  import { u as useDeepMemo } from "./use-deep-memo-BzDUOQl2.esm.js";
11
11
  import { usePages, usePermissions } from "@erpsquad/common/runtime";
12
12
  import { t as transformTableColumns } from "./common-utility-DGpbsf7S.esm.js";
@@ -269,4 +269,4 @@ const Templates = ({ type, module, modulePath }) => {
269
269
  export {
270
270
  Templates as T
271
271
  };
272
- //# sourceMappingURL=templates-DrKOJkmh.esm.js.map
272
+ //# sourceMappingURL=templates-DxvU4PQY.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates-DrKOJkmh.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 SubjectPermissions = permissions?.Subjects || {};\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 setTemplateModalSource('add'); \n setShowTemplateModal(email); },\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\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\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-DxvU4PQY.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 SubjectPermissions = permissions?.Subjects || {};\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 setTemplateModalSource('add'); \n setShowTemplateModal(email); },\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\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\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,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-CcG1qflA.esm.js";
3
+ import { D as DynamicSearchSelect } from "./searchable-select-0F6E4XAr.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-DyhwLo9Q.esm.js.map
80
+ //# sourceMappingURL=uom-field-wrapper-CTbEc-MB.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uom-field-wrapper-DyhwLo9Q.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-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,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-DVUCWWti.js");
4
+ const searchableSelect = require("./searchable-select-_DCkITfk.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-CSqeiVPY.js.map
79
+ //# sourceMappingURL=uom-field-wrapper-DXZgzOYB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uom-field-wrapper-CSqeiVPY.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-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,7 +1,7 @@
1
1
  import { useState, useEffect } from "react";
2
2
  import { getI18n, useTranslation } from "react-i18next";
3
3
  import { l as loadModuleTranslations } from "./translations-BrwQcVN3.esm.js";
4
- import { m as modules } from "./modules-enwLrpfQ.esm.js";
4
+ import { m as modules } from "./modules-CWV4WSHs.esm.js";
5
5
  import { useAuth } from "@erpsquad/common/runtime";
6
6
  import { P as Pathname } from "./pathname-DkK1_yYM.esm.js";
7
7
  let globalLastLoadedModules = "";
@@ -59,4 +59,4 @@ const useAppTranslations = () => {
59
59
  export {
60
60
  useAppTranslations as u
61
61
  };
62
- //# sourceMappingURL=use-translations-RGIbWjPM.esm.js.map
62
+ //# sourceMappingURL=use-translations-BzykVZOP.esm.js.map