@erpsquad/common 1.11.7 → 1.11.8

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 (629) hide show
  1. package/dist/api-client/index.esm.js +2 -2
  2. package/dist/chunks/{DynamicDependentField-DOGY6cA_.esm.js → DynamicDependentField-C0XXmMlG.esm.js} +2 -2
  3. package/dist/chunks/{DynamicDependentField-DOGY6cA_.esm.js.map → DynamicDependentField-C0XXmMlG.esm.js.map} +1 -1
  4. package/dist/chunks/{DynamicDependentField-GTIwrPfP.js → DynamicDependentField-CQIfDDqc.js} +2 -2
  5. package/dist/chunks/{DynamicDependentField-GTIwrPfP.js.map → DynamicDependentField-CQIfDDqc.js.map} +1 -1
  6. package/dist/chunks/{ERPUIProvider-Dz0s77BR.esm.js → ERPUIProvider-I4j_X_SD.esm.js} +3 -3
  7. package/dist/chunks/{ERPUIProvider-Dz0s77BR.esm.js.map → ERPUIProvider-I4j_X_SD.esm.js.map} +1 -1
  8. package/dist/chunks/{FORMS-EouVYay1.js → FORMS-CUx32b_4.js} +5 -5
  9. package/dist/chunks/{FORMS-EouVYay1.js.map → FORMS-CUx32b_4.js.map} +1 -1
  10. package/dist/chunks/{FORMS-CR_DlD1m.esm.js → FORMS-pxf6g6xE.esm.js} +8 -8
  11. package/dist/chunks/{FORMS-CR_DlD1m.esm.js.map → FORMS-pxf6g6xE.esm.js.map} +1 -1
  12. package/dist/chunks/{FlexibleReduxExample-CMUylyy1.js → FlexibleReduxExample--GtoEJhc.js} +3 -3
  13. package/dist/chunks/{FlexibleReduxExample-CMUylyy1.js.map → FlexibleReduxExample--GtoEJhc.js.map} +1 -1
  14. package/dist/chunks/{FlexibleReduxExample-B2e7Wa_S.esm.js → FlexibleReduxExample-C-2qOGIw.esm.js} +4 -4
  15. package/dist/chunks/{FlexibleReduxExample-B2e7Wa_S.esm.js.map → FlexibleReduxExample-C-2qOGIw.esm.js.map} +1 -1
  16. package/dist/chunks/SectionFlowEditor-CFfJBYKx.esm.js +5479 -0
  17. package/dist/chunks/SectionFlowEditor-CFfJBYKx.esm.js.map +1 -0
  18. package/dist/chunks/SectionFlowEditor-sKsZ3oQo.js +5478 -0
  19. package/dist/chunks/SectionFlowEditor-sKsZ3oQo.js.map +1 -0
  20. package/dist/chunks/{action-bar-Ci6RlMBM.esm.js → action-bar-C7Alva4T.esm.js} +6 -6
  21. package/dist/chunks/{action-bar-Ci6RlMBM.esm.js.map → action-bar-C7Alva4T.esm.js.map} +1 -1
  22. package/dist/chunks/{action-bar-jLqQTqU7.js → action-bar-DdtpxWNk.js} +3 -3
  23. package/dist/chunks/{action-bar-jLqQTqU7.js.map → action-bar-DdtpxWNk.js.map} +1 -1
  24. package/dist/chunks/{actionCreator-DIdMRO9L.esm.js → actionCreator-CL5ICuqZ.esm.js} +2 -2
  25. package/dist/chunks/{actionCreator-DIdMRO9L.esm.js.map → actionCreator-CL5ICuqZ.esm.js.map} +1 -1
  26. package/dist/chunks/{actionCreator-DKYufGAZ.esm.js → actionCreator-Cb3NxILP.esm.js} +2 -2
  27. package/dist/chunks/{actionCreator-DKYufGAZ.esm.js.map → actionCreator-Cb3NxILP.esm.js.map} +1 -1
  28. package/dist/chunks/{actionCreator-D3uwEAua.esm.js → actionCreator-Cl8vPLVO.esm.js} +3 -3
  29. package/dist/chunks/{actionCreator-D3uwEAua.esm.js.map → actionCreator-Cl8vPLVO.esm.js.map} +1 -1
  30. package/dist/chunks/{actionCreator-B6lXR_k1.esm.js → actionCreator-CpePNxQM.esm.js} +2 -2
  31. package/dist/chunks/{actionCreator-B6lXR_k1.esm.js.map → actionCreator-CpePNxQM.esm.js.map} +1 -1
  32. package/dist/chunks/{actionCreator-DcdyGsIX.esm.js → actionCreator-Dar9Z8_d.esm.js} +3 -3
  33. package/dist/chunks/{actionCreator-DcdyGsIX.esm.js.map → actionCreator-Dar9Z8_d.esm.js.map} +1 -1
  34. package/dist/chunks/add-template-DVvbD9a4.esm.js +11 -0
  35. package/dist/chunks/add-template-DVvbD9a4.esm.js.map +1 -0
  36. package/dist/chunks/add-template-Dohg2bHJ.js +10 -0
  37. package/dist/chunks/add-template-Dohg2bHJ.js.map +1 -0
  38. package/dist/chunks/{address-modal-DFd5sQtR.js → address-modal-CYhiC7ui.js} +2 -2
  39. package/dist/chunks/{address-modal-DFd5sQtR.js.map → address-modal-CYhiC7ui.js.map} +1 -1
  40. package/dist/chunks/{address-modal-DYGLjrqd.esm.js → address-modal-CkDBjnye.esm.js} +2 -2
  41. package/dist/chunks/{address-modal-DYGLjrqd.esm.js.map → address-modal-CkDBjnye.esm.js.map} +1 -1
  42. package/dist/chunks/{ai-summary-x2t8BZCx.esm.js → ai-summary-SKK5KN2s.esm.js} +2 -2
  43. package/dist/chunks/{ai-summary-x2t8BZCx.esm.js.map → ai-summary-SKK5KN2s.esm.js.map} +1 -1
  44. package/dist/chunks/{api-8jutPLh0.esm.js → api-BIVCMSwW.esm.js} +3 -3
  45. package/dist/chunks/{api-8jutPLh0.esm.js.map → api-BIVCMSwW.esm.js.map} +1 -1
  46. package/dist/chunks/{api-yLpQ3k5s.esm.js → api-DBmWILBN.esm.js} +9 -9
  47. package/dist/chunks/{api-yLpQ3k5s.esm.js.map → api-DBmWILBN.esm.js.map} +1 -1
  48. package/dist/chunks/{app-switcher-VhH9z0Rd.js → app-switcher-CyEQmYAN.js} +2 -2
  49. package/dist/chunks/{app-switcher-VhH9z0Rd.js.map → app-switcher-CyEQmYAN.js.map} +1 -1
  50. package/dist/chunks/{app-switcher-B6eapuGG.esm.js → app-switcher-D-Bvz9uO.esm.js} +2 -2
  51. package/dist/chunks/{app-switcher-B6eapuGG.esm.js.map → app-switcher-D-Bvz9uO.esm.js.map} +1 -1
  52. package/dist/chunks/{appbar-B8EgZsrn.esm.js → appbar-BRbO--as.esm.js} +2 -2
  53. package/dist/chunks/{appbar-B8EgZsrn.esm.js.map → appbar-BRbO--as.esm.js.map} +1 -1
  54. package/dist/chunks/{appbar-Is_7kfVo.js → appbar-rqqjZ99v.js} +2 -2
  55. package/dist/chunks/{appbar-Is_7kfVo.js.map → appbar-rqqjZ99v.js.map} +1 -1
  56. package/dist/chunks/{approval-wrapper-_kYfACQp.esm.js → approval-wrapper-BTtmXMlk.esm.js} +2 -2
  57. package/dist/chunks/{approval-wrapper-_kYfACQp.esm.js.map → approval-wrapper-BTtmXMlk.esm.js.map} +1 -1
  58. package/dist/chunks/{chat-bot-DO3vAGxA.esm.js → chat-bot-BpNtrZEL.esm.js} +39 -33
  59. package/dist/chunks/chat-bot-BpNtrZEL.esm.js.map +1 -0
  60. package/dist/chunks/{chat-bot-2Ga_xA_K.js → chat-bot-osiGMG3g.js} +38 -32
  61. package/dist/chunks/chat-bot-osiGMG3g.js.map +1 -0
  62. package/dist/chunks/common-C5AokA7z.js +368 -0
  63. package/dist/chunks/common-C5AokA7z.js.map +1 -0
  64. package/dist/chunks/{common-PH2uWkqL.js → common-CS5L0Ld_.js} +2 -2
  65. package/dist/chunks/{common-PH2uWkqL.js.map → common-CS5L0Ld_.js.map} +1 -1
  66. package/dist/chunks/common-CaomnEjX.esm.js +369 -0
  67. package/dist/chunks/common-CaomnEjX.esm.js.map +1 -0
  68. package/dist/chunks/common-utility-CA_Upser.js.map +1 -1
  69. package/dist/chunks/{common-utility-CS_sNoAC.esm.js → common-utility-DGpbsf7S.esm.js} +2 -2
  70. package/dist/chunks/common-utility-DGpbsf7S.esm.js.map +1 -0
  71. package/dist/chunks/{common-Cl5oGXmX.esm.js → common-yORBIVv-.esm.js} +2 -2
  72. package/dist/chunks/{common-Cl5oGXmX.esm.js.map → common-yORBIVv-.esm.js.map} +1 -1
  73. package/dist/chunks/company-selection-modal-B7jFVWWs.js.map +1 -1
  74. package/dist/chunks/company-selection-modal-Dn2L_skh.esm.js.map +1 -1
  75. package/dist/chunks/{constant-BXPcBhJN.esm.js → constant-Bwg2s_Sn.esm.js} +5 -35
  76. package/dist/chunks/constant-Bwg2s_Sn.esm.js.map +1 -0
  77. package/dist/chunks/{constant-BXeJD4Af.js → constant-ZYAN_teD.js} +5 -35
  78. package/dist/chunks/constant-ZYAN_teD.js.map +1 -0
  79. package/dist/chunks/{constants-D_xuLHSu.js → constants-06kIVUBw.js} +2 -2
  80. package/dist/chunks/{constants-D_xuLHSu.js.map → constants-06kIVUBw.js.map} +1 -1
  81. package/dist/chunks/{constants-BrmMAwu2.esm.js → constants-nmkxkzps.esm.js} +2 -2
  82. package/dist/chunks/{constants-BrmMAwu2.esm.js.map → constants-nmkxkzps.esm.js.map} +1 -1
  83. package/dist/chunks/{custom-editor-C-B5BK-H.esm.js → custom-editor-6-xqhKz6.esm.js} +3 -3
  84. package/dist/chunks/{custom-editor-C-B5BK-H.esm.js.map → custom-editor-6-xqhKz6.esm.js.map} +1 -1
  85. package/dist/chunks/{custom-form-T4yc_sE_.js → custom-form-CFU7NEVb.js} +4 -4
  86. package/dist/chunks/{custom-form-T4yc_sE_.js.map → custom-form-CFU7NEVb.js.map} +1 -1
  87. package/dist/chunks/{custom-form-DNUpk0nq.esm.js → custom-form-DD7YOHMF.esm.js} +7 -7
  88. package/dist/chunks/{custom-form-DNUpk0nq.esm.js.map → custom-form-DD7YOHMF.esm.js.map} +1 -1
  89. package/dist/chunks/{dashboard-eMHQayU_.js → dashboard-BcWVkWZt.js} +3 -3
  90. package/dist/chunks/{dashboard-eMHQayU_.js.map → dashboard-BcWVkWZt.js.map} +1 -1
  91. package/dist/chunks/{dashboard-B4xzJ1Xc.esm.js → dashboard-DL83yYRR.esm.js} +4 -4
  92. package/dist/chunks/{dashboard-B4xzJ1Xc.esm.js.map → dashboard-DL83yYRR.esm.js.map} +1 -1
  93. package/dist/chunks/default-data-6IxhqPTP.esm.js.map +1 -1
  94. package/dist/chunks/default-data-yreKVx_z.js.map +1 -1
  95. package/dist/chunks/{dynamic-report-CMguvXj2.esm.js → dynamic-report-tKn-KqAd.esm.js} +4 -4
  96. package/dist/chunks/{dynamic-report-CMguvXj2.esm.js.map → dynamic-report-tKn-KqAd.esm.js.map} +1 -1
  97. package/dist/chunks/{dynamic-rows-CmAE9nbA.esm.js → dynamic-rows-CTGETfcP.esm.js} +2 -2
  98. package/dist/chunks/{dynamic-rows-CmAE9nbA.esm.js.map → dynamic-rows-CTGETfcP.esm.js.map} +1 -1
  99. package/dist/chunks/{dynamic-text-editor-CSWdR1lK.esm.js → dynamic-text-editor-CPvlGcLK.esm.js} +2 -2
  100. package/dist/chunks/{dynamic-text-editor-CSWdR1lK.esm.js.map → dynamic-text-editor-CPvlGcLK.esm.js.map} +1 -1
  101. package/dist/chunks/{edit-section-modal-HihKbN6K.esm.js → edit-section-modal-BW-aZmUv.esm.js} +2 -2
  102. package/dist/chunks/edit-section-modal-BW-aZmUv.esm.js.map +1 -0
  103. package/dist/chunks/edit-section-modal-Br2ITvLk.js.map +1 -1
  104. package/dist/chunks/{filter-D9BHP_qc.esm.js → filter-COXKBEER.esm.js} +5 -5
  105. package/dist/chunks/{filter-D9BHP_qc.esm.js.map → filter-COXKBEER.esm.js.map} +1 -1
  106. package/dist/chunks/{filter-DtCrOG6W.js → filter-Cr_OSIpb.js} +3 -3
  107. package/dist/chunks/{filter-DtCrOG6W.js.map → filter-Cr_OSIpb.js.map} +1 -1
  108. package/dist/chunks/{footer-DioOh69g.js → footer-CD3kMRdS.js} +2 -2
  109. package/dist/chunks/{footer-DioOh69g.js.map → footer-CD3kMRdS.js.map} +1 -1
  110. package/dist/chunks/{footer-Bv5NOAf9.esm.js → footer-m3_dlNl8.esm.js} +2 -2
  111. package/dist/chunks/{footer-Bv5NOAf9.esm.js.map → footer-m3_dlNl8.esm.js.map} +1 -1
  112. package/dist/chunks/{form-fields-Di-p9XKG.esm.js → form-fields-hMMnB_wE.esm.js} +2 -2
  113. package/dist/chunks/{form-fields-Di-p9XKG.esm.js.map → form-fields-hMMnB_wE.esm.js.map} +1 -1
  114. package/dist/chunks/{form-fields-BYDhbAgB.js → form-fields-yE9kwjvb.js} +2 -2
  115. package/dist/chunks/{form-fields-BYDhbAgB.js.map → form-fields-yE9kwjvb.js.map} +1 -1
  116. package/dist/chunks/{form-parser-ZQpEVrzG.esm.js → form-parser-DbnSn5eY.esm.js} +2 -2
  117. package/dist/chunks/{form-parser-ZQpEVrzG.esm.js.map → form-parser-DbnSn5eY.esm.js.map} +1 -1
  118. package/dist/chunks/{form-parser-BnMdMDSb.js → form-parser-m4fnw38a.js} +2 -2
  119. package/dist/chunks/{form-parser-BnMdMDSb.js.map → form-parser-m4fnw38a.js.map} +1 -1
  120. package/dist/chunks/{form-section-CFeWD-tF.js → form-section-CPIyMdk2.js} +5 -5
  121. package/dist/chunks/{form-section-CFeWD-tF.js.map → form-section-CPIyMdk2.js.map} +1 -1
  122. package/dist/chunks/{form-section-BJ7Iqb9R.esm.js → form-section-TMjdOVeW.esm.js} +5 -5
  123. package/dist/chunks/{form-section-BJ7Iqb9R.esm.js.map → form-section-TMjdOVeW.esm.js.map} +1 -1
  124. package/dist/chunks/{fullScreen-h0JqBN4O.js → fullScreen-BLLa9ogA.js} +5 -5
  125. package/dist/chunks/fullScreen-BLLa9ogA.js.map +1 -0
  126. package/dist/chunks/{fullScreen-Cz3FIdU4.esm.js → fullScreen-DFgzE41_.esm.js} +5 -5
  127. package/dist/chunks/fullScreen-DFgzE41_.esm.js.map +1 -0
  128. package/dist/chunks/{global-search-CGmupYFQ.esm.js → global-search-BOkxXiZ0.esm.js} +3 -3
  129. package/dist/chunks/{global-search-CGmupYFQ.esm.js.map → global-search-BOkxXiZ0.esm.js.map} +1 -1
  130. package/dist/chunks/{global-search-BTV5iL6-.js → global-search-BjKPmzsQ.js} +2 -2
  131. package/dist/chunks/{global-search-BTV5iL6-.js.map → global-search-BjKPmzsQ.js.map} +1 -1
  132. package/dist/chunks/{grid-view-BMfleQMC.esm.js → grid-view-Bo86x7YL.esm.js} +2 -2
  133. package/dist/chunks/{grid-view-BMfleQMC.esm.js.map → grid-view-Bo86x7YL.esm.js.map} +1 -1
  134. package/dist/chunks/{header-BnVzqpGs.esm.js → header-B-HaoeK7.esm.js} +10 -12
  135. package/dist/chunks/{header-BnVzqpGs.esm.js.map → header-B-HaoeK7.esm.js.map} +1 -1
  136. package/dist/chunks/{header-jWPMgcy6.js → header-BHsex2As.js} +9 -11
  137. package/dist/chunks/{header-jWPMgcy6.js.map → header-BHsex2As.js.map} +1 -1
  138. package/dist/chunks/{header-enhanced-CkROCaOF.esm.js → header-enhanced-BjfqyQ1a.esm.js} +3 -3
  139. package/dist/chunks/{header-enhanced-CkROCaOF.esm.js.map → header-enhanced-BjfqyQ1a.esm.js.map} +1 -1
  140. package/dist/chunks/{header-enhanced-Dxdetx0I.js → header-enhanced-gJl4iC4m.js} +3 -3
  141. package/dist/chunks/{header-enhanced-Dxdetx0I.js.map → header-enhanced-gJl4iC4m.js.map} +1 -1
  142. package/dist/chunks/{index-BCmGHdos.esm.js → index-ALqg8b5U.esm.js} +2 -2
  143. package/dist/chunks/{index-BCmGHdos.esm.js.map → index-ALqg8b5U.esm.js.map} +1 -1
  144. package/dist/chunks/{inline-edit-fields-VOIx3qmC.esm.js → inline-edit-fields-BYhRpPcH.esm.js} +2 -2
  145. package/dist/chunks/{inline-edit-fields-VOIx3qmC.esm.js.map → inline-edit-fields-BYhRpPcH.esm.js.map} +1 -1
  146. package/dist/chunks/{inline-edit-fields-Cd_qUOjU.js → inline-edit-fields-atDP84QL.js} +2 -2
  147. package/dist/chunks/{inline-edit-fields-Cd_qUOjU.js.map → inline-edit-fields-atDP84QL.js.map} +1 -1
  148. package/dist/chunks/{inventory-reports-title-bar-BfUMM54c.js → inventory-reports-title-bar-Bog2i0dr.js} +2 -2
  149. package/dist/chunks/{inventory-reports-title-bar-BfUMM54c.js.map → inventory-reports-title-bar-Bog2i0dr.js.map} +1 -1
  150. package/dist/chunks/{inventory-reports-title-bar-CZZFFqDc.esm.js → inventory-reports-title-bar-CP8FzW6A.esm.js} +3 -3
  151. package/dist/chunks/{inventory-reports-title-bar-CZZFFqDc.esm.js.map → inventory-reports-title-bar-CP8FzW6A.esm.js.map} +1 -1
  152. package/dist/chunks/{item-response-details-BheThTTK.js → item-response-details-DsGQ7Dlc.js} +2 -2
  153. package/dist/chunks/{item-response-details-BheThTTK.js.map → item-response-details-DsGQ7Dlc.js.map} +1 -1
  154. package/dist/chunks/{item-response-details-BTHf6ZvN.esm.js → item-response-details-SHSD-nBh.esm.js} +4 -4
  155. package/dist/chunks/{item-response-details-BTHf6ZvN.esm.js.map → item-response-details-SHSD-nBh.esm.js.map} +1 -1
  156. package/dist/chunks/{listing-ELQeM6S3.esm.js → listing-C0Yb6MVq.esm.js} +4 -4
  157. package/dist/chunks/{listing-ELQeM6S3.esm.js.map → listing-C0Yb6MVq.esm.js.map} +1 -1
  158. package/dist/chunks/{listing-Dr_1DDBr.js → listing-DIuzQrzb.js} +4 -4
  159. package/dist/chunks/{listing-Dr_1DDBr.js.map → listing-DIuzQrzb.js.map} +1 -1
  160. package/dist/chunks/{location-select-z1C88kCy.esm.js → location-select-CFa00fy4.esm.js} +2 -2
  161. package/dist/chunks/{location-select-z1C88kCy.esm.js.map → location-select-CFa00fy4.esm.js.map} +1 -1
  162. package/dist/chunks/{location-select-CLyRUilk.js → location-select-g5uczAUF.js} +2 -2
  163. package/dist/chunks/{location-select-CLyRUilk.js.map → location-select-g5uczAUF.js.map} +1 -1
  164. package/dist/chunks/{material-editable-table-DFGB0q-s.js → material-editable-table-BGLjrTzT.js} +3 -3
  165. package/dist/chunks/{material-editable-table-DFGB0q-s.js.map → material-editable-table-BGLjrTzT.js.map} +1 -1
  166. package/dist/chunks/{material-editable-table-DyGdqNkX.esm.js → material-editable-table-pAyK7KYf.esm.js} +4 -4
  167. package/dist/chunks/{material-editable-table-DyGdqNkX.esm.js.map → material-editable-table-pAyK7KYf.esm.js.map} +1 -1
  168. package/dist/chunks/{module-reducer-CEv3LZCX.esm.js → module-reducer-DMxxForv.esm.js} +2 -2
  169. package/dist/chunks/{module-reducer-CEv3LZCX.esm.js.map → module-reducer-DMxxForv.esm.js.map} +1 -1
  170. package/dist/chunks/{modules-enwLrpfQ.esm.js → modules-BBu2Y-K9.esm.js} +5 -5
  171. package/dist/chunks/{modules-enwLrpfQ.esm.js.map → modules-BBu2Y-K9.esm.js.map} +1 -1
  172. package/dist/chunks/{modules-DTRr7zwt.js → modules-maXT99-4.js} +5 -5
  173. package/dist/chunks/{modules-DTRr7zwt.js.map → modules-maXT99-4.js.map} +1 -1
  174. package/dist/chunks/{notification-menu-B00hDUbn.js → notification-menu-D7ASm-K1.js} +2 -2
  175. package/dist/chunks/{notification-menu-B00hDUbn.js.map → notification-menu-D7ASm-K1.js.map} +1 -1
  176. package/dist/chunks/{notification-menu-CehCt5fA.esm.js → notification-menu-XAadkn-e.esm.js} +4 -4
  177. package/dist/chunks/{notification-menu-CehCt5fA.esm.js.map → notification-menu-XAadkn-e.esm.js.map} +1 -1
  178. package/dist/chunks/{page-action-TMFOytDw.js → page-action-BPzaL2KJ.js} +2 -2
  179. package/dist/chunks/{page-action-TMFOytDw.js.map → page-action-BPzaL2KJ.js.map} +1 -1
  180. package/dist/chunks/{page-action-RqVevciV.esm.js → page-action-C07iGjvN.esm.js} +4 -4
  181. package/dist/chunks/{page-action-RqVevciV.esm.js.map → page-action-C07iGjvN.esm.js.map} +1 -1
  182. package/dist/chunks/{page-navigator-CuIJ0KGf.esm.js → page-navigator-8gZpp9_P.esm.js} +2 -2
  183. package/dist/chunks/{page-navigator-CuIJ0KGf.esm.js.map → page-navigator-8gZpp9_P.esm.js.map} +1 -1
  184. package/dist/chunks/{page-navigator-DdRsmtLy.js → page-navigator-Cgbh3tTG.js} +2 -2
  185. package/dist/chunks/{page-navigator-DdRsmtLy.js.map → page-navigator-Cgbh3tTG.js.map} +1 -1
  186. package/dist/chunks/{page-view-Daz-OKd_.esm.js → page-view-CokUNMBn.esm.js} +3 -3
  187. package/dist/chunks/{page-view-Daz-OKd_.esm.js.map → page-view-CokUNMBn.esm.js.map} +1 -1
  188. package/dist/chunks/{page-view-CvfqzV03.js → page-view-DJ6HS_dV.js} +3 -3
  189. package/dist/chunks/{page-view-CvfqzV03.js.map → page-view-DJ6HS_dV.js.map} +1 -1
  190. package/dist/chunks/{pathname.rental-CwK6JuID.js → pathname.rental-DgH4LoG7.js} +7 -2
  191. package/dist/chunks/{pathname.rental-CwK6JuID.js.map → pathname.rental-DgH4LoG7.js.map} +1 -1
  192. package/dist/chunks/{pathname.rental-CqHO_l_D.esm.js → pathname.rental-qsAe3XFd.esm.js} +81 -76
  193. package/dist/chunks/{pathname.rental-CqHO_l_D.esm.js.map → pathname.rental-qsAe3XFd.esm.js.map} +1 -1
  194. package/dist/chunks/{quick-approval-modal-B-jvkgue.esm.js → quick-approval-modal-CPWs8htH.esm.js} +2 -2
  195. package/dist/chunks/{quick-approval-modal-B-jvkgue.esm.js.map → quick-approval-modal-CPWs8htH.esm.js.map} +1 -1
  196. package/dist/chunks/{reducer-BOwyP0QZ.esm.js → reducer-3tSO6RW6.esm.js} +3 -3
  197. package/dist/chunks/{reducer-BOwyP0QZ.esm.js.map → reducer-3tSO6RW6.esm.js.map} +1 -1
  198. package/dist/chunks/{reducer-BMkh_0Py.esm.js → reducer-CdJ6znKF.esm.js} +3 -3
  199. package/dist/chunks/{reducer-BMkh_0Py.esm.js.map → reducer-CdJ6znKF.esm.js.map} +1 -1
  200. package/dist/chunks/{reducer-BTfG9J4W.esm.js → reducer-IsgN83rP.esm.js} +2 -2
  201. package/dist/chunks/{reducer-BTfG9J4W.esm.js.map → reducer-IsgN83rP.esm.js.map} +1 -1
  202. package/dist/chunks/{reducer-CD1VDqeT.esm.js → reducer-sgaK2vfW.esm.js} +2 -2
  203. package/dist/chunks/{reducer-CD1VDqeT.esm.js.map → reducer-sgaK2vfW.esm.js.map} +1 -1
  204. package/dist/chunks/{reducer-BWiX5vxL.esm.js → reducer-yyZtsg1A.esm.js} +2 -2
  205. package/dist/chunks/{reducer-BWiX5vxL.esm.js.map → reducer-yyZtsg1A.esm.js.map} +1 -1
  206. package/dist/chunks/{reports-title-bar-Kl8XQe-K.esm.js → reports-title-bar-Cay4E8SQ.esm.js} +4 -4
  207. package/dist/chunks/{reports-title-bar-Kl8XQe-K.esm.js.map → reports-title-bar-Cay4E8SQ.esm.js.map} +1 -1
  208. package/dist/chunks/{reports-title-bar-B1_IweEc.js → reports-title-bar-Kz6JjqsY.js} +2 -2
  209. package/dist/chunks/{reports-title-bar-B1_IweEc.js.map → reports-title-bar-Kz6JjqsY.js.map} +1 -1
  210. package/dist/chunks/{route-page-map-D6-7jBQT.esm.js → route-page-map-DkWoisiB.esm.js} +133 -76
  211. package/dist/chunks/{route-page-map-D6-7jBQT.esm.js.map → route-page-map-DkWoisiB.esm.js.map} +1 -1
  212. package/dist/chunks/{route-page-map-CzFUh-SC.js → route-page-map-Dn-SAbdf.js} +60 -3
  213. package/dist/chunks/{route-page-map-CzFUh-SC.js.map → route-page-map-Dn-SAbdf.js.map} +1 -1
  214. package/dist/chunks/{routes-D9y_XQRu.esm.js → routes-CAc76Zan.esm.js} +4 -4
  215. package/dist/chunks/{routes-D9y_XQRu.esm.js.map → routes-CAc76Zan.esm.js.map} +1 -1
  216. package/dist/chunks/{routes-Dsumzjw0.js → routes-CfqLAYgR.js} +4 -4
  217. package/dist/chunks/{routes-Dsumzjw0.js.map → routes-CfqLAYgR.js.map} +1 -1
  218. package/dist/chunks/{schedule-report-BwmZ5jea.js → schedule-report-B4ZfEuiU.js} +4 -4
  219. package/dist/chunks/{schedule-report-BwmZ5jea.js.map → schedule-report-B4ZfEuiU.js.map} +1 -1
  220. package/dist/chunks/{schedule-report-CJXHVZ68.esm.js → schedule-report-CLXjjfjc.esm.js} +6 -6
  221. package/dist/chunks/{schedule-report-CJXHVZ68.esm.js.map → schedule-report-CLXjjfjc.esm.js.map} +1 -1
  222. package/dist/chunks/{schedule-report-modal-D8Y-TZ4u.esm.js → schedule-report-modal-CB3G9H7x.esm.js} +3 -3
  223. package/dist/chunks/{schedule-report-modal-D8Y-TZ4u.esm.js.map → schedule-report-modal-CB3G9H7x.esm.js.map} +1 -1
  224. package/dist/chunks/{schedule-report-modal-iNnWP9s4.js → schedule-report-modal-iwoDI-sg.js} +2 -2
  225. package/dist/chunks/{schedule-report-modal-iNnWP9s4.js.map → schedule-report-modal-iwoDI-sg.js.map} +1 -1
  226. package/dist/chunks/{searchable-select-BQtcqBKV.esm.js → searchable-select-0F6E4XAr.esm.js} +6 -6
  227. package/dist/chunks/{searchable-select-BQtcqBKV.esm.js.map → searchable-select-0F6E4XAr.esm.js.map} +1 -1
  228. package/dist/chunks/{searchable-select-DVUCWWti.js → searchable-select-_DCkITfk.js} +2 -2
  229. package/dist/chunks/{searchable-select-DVUCWWti.js.map → searchable-select-_DCkITfk.js.map} +1 -1
  230. package/dist/chunks/{share-modal-BOyLBawK.esm.js → share-modal-BaEyZs2h.esm.js} +3 -3
  231. package/dist/chunks/{share-modal-BOyLBawK.esm.js.map → share-modal-BaEyZs2h.esm.js.map} +1 -1
  232. package/dist/chunks/{share-modal-CobK7BN7.js → share-modal-DrXvh-fV.js} +2 -2
  233. package/dist/chunks/{share-modal-CobK7BN7.js.map → share-modal-DrXvh-fV.js.map} +1 -1
  234. package/dist/chunks/{share-modal-enhanced-DVarD-jt.js → share-modal-enhanced-BTr0zRhF.js} +2 -2
  235. package/dist/chunks/{share-modal-enhanced-DVarD-jt.js.map → share-modal-enhanced-BTr0zRhF.js.map} +1 -1
  236. package/dist/chunks/{share-modal-enhanced-CTp-tQw8.esm.js → share-modal-enhanced-DnEdDBmu.esm.js} +2 -2
  237. package/dist/chunks/{share-modal-enhanced-CTp-tQw8.esm.js.map → share-modal-enhanced-DnEdDBmu.esm.js.map} +1 -1
  238. package/dist/chunks/{sidebarScreen-lR6rw8bW.esm.js → sidebarScreen-DiOAiXeU.esm.js} +4 -4
  239. package/dist/chunks/{sidebarScreen-lR6rw8bW.esm.js.map → sidebarScreen-DiOAiXeU.esm.js.map} +1 -1
  240. package/dist/chunks/{sidebarScreen-K-dlM6NA.js → sidebarScreen-DpYj_wlK.js} +3 -3
  241. package/dist/chunks/{sidebarScreen-K-dlM6NA.js.map → sidebarScreen-DpYj_wlK.js.map} +1 -1
  242. package/dist/chunks/{store-DJh8C3Vv.esm.js → store-BL5VFPie.esm.js} +6 -6
  243. package/dist/chunks/{store-DJh8C3Vv.esm.js.map → store-BL5VFPie.esm.js.map} +1 -1
  244. package/dist/chunks/{table-Bpt6ggr3.js → table-DWx7x8zw.js} +2 -2
  245. package/dist/chunks/{table-Bpt6ggr3.js.map → table-DWx7x8zw.js.map} +1 -1
  246. package/dist/chunks/{table-form-8_f3FwhX.esm.js → table-form-DsTwCUcs.esm.js} +2 -2
  247. package/dist/chunks/{table-form-8_f3FwhX.esm.js.map → table-form-DsTwCUcs.esm.js.map} +1 -1
  248. package/dist/chunks/{table-DI3MyTNm.esm.js → table-gxAlAeTq.esm.js} +3 -3
  249. package/dist/chunks/{table-DI3MyTNm.esm.js.map → table-gxAlAeTq.esm.js.map} +1 -1
  250. package/dist/chunks/{template-editor-router-uzghBOap.esm.js → template-editor-router-BXLUTvsk.esm.js} +2 -2
  251. package/dist/chunks/{template-editor-router-uzghBOap.esm.js.map → template-editor-router-BXLUTvsk.esm.js.map} +1 -1
  252. package/dist/chunks/{template-editor-router-DugWbCh0.js → template-editor-router-D4NIwVws.js} +2 -2
  253. package/dist/chunks/{template-editor-router-DugWbCh0.js.map → template-editor-router-D4NIwVws.js.map} +1 -1
  254. package/dist/chunks/{template-modal-D7aLacan.esm.js → template-modal-B2VgotrF.esm.js} +6 -7
  255. package/dist/chunks/template-modal-B2VgotrF.esm.js.map +1 -0
  256. package/dist/chunks/{template-modal-Df7gF4QI.js → template-modal-X-iSmlki.js} +4 -5
  257. package/dist/chunks/template-modal-X-iSmlki.js.map +1 -0
  258. package/dist/chunks/{template-name-modal-ClreVUaz.js → template-name-modal-CeqxIE2r.js} +5 -12
  259. package/dist/chunks/template-name-modal-CeqxIE2r.js.map +1 -0
  260. package/dist/chunks/{template-name-modal-Dwe7U72p.esm.js → template-name-modal-Dctn8t3t.esm.js} +5 -12
  261. package/dist/chunks/template-name-modal-Dctn8t3t.esm.js.map +1 -0
  262. package/dist/chunks/{templates-9ZMHwRR6.esm.js → templates-CCy1eG6A.esm.js} +17 -10
  263. package/dist/chunks/templates-CCy1eG6A.esm.js.map +1 -0
  264. package/dist/chunks/{templates-DCXbeOtH.js → templates-CUREMwYo.js} +14 -7
  265. package/dist/chunks/templates-CUREMwYo.js.map +1 -0
  266. package/dist/chunks/{text-measurement-DMVkqP6b.esm.js → text-measurement-BCjauPbB.esm.js} +2 -2
  267. package/dist/chunks/{text-measurement-DMVkqP6b.esm.js.map → text-measurement-BCjauPbB.esm.js.map} +1 -1
  268. package/dist/chunks/{translations-JcE6qyDJ.esm.js → translations-BrwQcVN3.esm.js} +3 -3
  269. package/dist/chunks/{translations-JcE6qyDJ.esm.js.map → translations-BrwQcVN3.esm.js.map} +1 -1
  270. package/dist/chunks/{uom-field-wrapper-CWTsSsSi.esm.js → uom-field-wrapper-CTbEc-MB.esm.js} +2 -2
  271. package/dist/chunks/{uom-field-wrapper-CWTsSsSi.esm.js.map → uom-field-wrapper-CTbEc-MB.esm.js.map} +1 -1
  272. package/dist/chunks/{uom-field-wrapper-CSqeiVPY.js → uom-field-wrapper-DXZgzOYB.js} +2 -2
  273. package/dist/chunks/{uom-field-wrapper-CSqeiVPY.js.map → uom-field-wrapper-DXZgzOYB.js.map} +1 -1
  274. package/dist/chunks/{upload-excel-CkEQqZW2.esm.js → upload-excel-BZPP13tP.esm.js} +2 -2
  275. package/dist/chunks/{upload-excel-CkEQqZW2.esm.js.map → upload-excel-BZPP13tP.esm.js.map} +1 -1
  276. package/dist/chunks/{use-translations-Cn3b4Kqh.js → use-translations-5wUQBxMm.js} +2 -2
  277. package/dist/chunks/{use-translations-Cn3b4Kqh.js.map → use-translations-5wUQBxMm.js.map} +1 -1
  278. package/dist/chunks/{use-translations-BqBPN1DM.esm.js → use-translations-CcjSFA3F.esm.js} +3 -3
  279. package/dist/chunks/{use-translations-BqBPN1DM.esm.js.map → use-translations-CcjSFA3F.esm.js.map} +1 -1
  280. package/dist/chunks/{useAccountSetting-DsU5zsjb.esm.js → useAccountSetting-vAqgEiJB.esm.js} +2 -2
  281. package/dist/chunks/{useAccountSetting-DsU5zsjb.esm.js.map → useAccountSetting-vAqgEiJB.esm.js.map} +1 -1
  282. package/dist/chunks/{useCheckSkuAndName-5ua30aZf.esm.js → useCheckSkuAndName-Dl24wQO-.esm.js} +2 -2
  283. package/dist/chunks/{useCheckSkuAndName-5ua30aZf.esm.js.map → useCheckSkuAndName-Dl24wQO-.esm.js.map} +1 -1
  284. package/dist/chunks/{useReduxIntegration-BlLpfwk6.esm.js → useReduxIntegration-DZBfKF7d.esm.js} +2 -2
  285. package/dist/chunks/{useReduxIntegration-BlLpfwk6.esm.js.map → useReduxIntegration-DZBfKF7d.esm.js.map} +1 -1
  286. package/dist/chunks/{useUniquenessCheck-CiR2q5bM.esm.js → useUniquenessCheck-bYjnp_0P.esm.js} +2 -2
  287. package/dist/chunks/{useUniquenessCheck-CiR2q5bM.esm.js.map → useUniquenessCheck-bYjnp_0P.esm.js.map} +1 -1
  288. package/dist/chunks/{useVendorAICompare-DMJvJJ3Y.esm.js → useVendorAICompare-DZRFDk4i.esm.js} +2 -2
  289. package/dist/chunks/{useVendorAICompare-DMJvJJ3Y.esm.js.map → useVendorAICompare-DZRFDk4i.esm.js.map} +1 -1
  290. package/dist/chunks/{value-editor-Br7X_wEB.js → value-editor-BSS9Ns2T.js} +2 -2
  291. package/dist/chunks/{value-editor-Br7X_wEB.js.map → value-editor-BSS9Ns2T.js.map} +1 -1
  292. package/dist/chunks/{value-editor-BxFdnUyM.esm.js → value-editor-DQ1qgZ2u.esm.js} +4 -4
  293. package/dist/chunks/{value-editor-BxFdnUyM.esm.js.map → value-editor-DQ1qgZ2u.esm.js.map} +1 -1
  294. package/dist/chunks/{vendor-ai-summary-Cpx90QOx.esm.js → vendor-ai-summary-BA6m2dH9.esm.js} +2 -2
  295. package/dist/chunks/{vendor-ai-summary-Cpx90QOx.esm.js.map → vendor-ai-summary-BA6m2dH9.esm.js.map} +1 -1
  296. package/dist/chunks/{vendor-ai-summary-zranZkfk.js → vendor-ai-summary-DWmAaQ_N.js} +2 -2
  297. package/dist/chunks/{vendor-ai-summary-zranZkfk.js.map → vendor-ai-summary-DWmAaQ_N.js.map} +1 -1
  298. package/dist/components/action-bar/action-bar/index.esm.js +1 -1
  299. package/dist/components/action-bar/action-bar/index.js +1 -1
  300. package/dist/components/action-bar/index.esm.js +1 -1
  301. package/dist/components/action-bar/index.js +1 -1
  302. package/dist/components/address-modal/index.esm.js +1 -1
  303. package/dist/components/address-modal/index.js +1 -1
  304. package/dist/components/ai-summary/ai-summary/index.esm.js +1 -1
  305. package/dist/components/ai-summary/index.esm.js +1 -1
  306. package/dist/components/appbar/appbar/index.esm.js +1 -1
  307. package/dist/components/appbar/appbar/index.js +1 -1
  308. package/dist/components/appbar/index.esm.js +1 -1
  309. package/dist/components/appbar/index.js +1 -1
  310. package/dist/components/approval-wrapper/approval-wrapper/index.esm.js +1 -1
  311. package/dist/components/approval-wrapper/index.esm.js +1 -1
  312. package/dist/components/chat-bot/index.esm.js +1 -1
  313. package/dist/components/chat-bot/index.js +1 -1
  314. package/dist/components/custom-forms/FORMS/index.esm.js +1 -1
  315. package/dist/components/custom-forms/FORMS/index.js +1 -1
  316. package/dist/components/custom-forms/grid-view/grid-view/index.esm.js +1 -1
  317. package/dist/components/custom-forms/grid-view/index.esm.js +1 -1
  318. package/dist/components/custom-forms/index.esm.js +2 -2
  319. package/dist/components/custom-forms/index.js +1 -1
  320. package/dist/components/department-add-modal/index.esm.js +1 -1
  321. package/dist/components/department-add-modal/index.js +1 -1
  322. package/dist/components/designation-add-modal/index.esm.js +1 -1
  323. package/dist/components/designation-add-modal/index.js +1 -1
  324. package/dist/components/editor/custom-editor/index.esm.js +1 -1
  325. package/dist/components/editor/index.esm.js +1 -1
  326. package/dist/components/examples/FlexibleReduxExample/index.esm.js +1 -1
  327. package/dist/components/examples/FlexibleReduxExample/index.js +1 -1
  328. package/dist/components/examples/index.esm.js +1 -1
  329. package/dist/components/examples/index.js +1 -1
  330. package/dist/components/filter/components/index.esm.js +1 -1
  331. package/dist/components/filter/components/index.js +1 -1
  332. package/dist/components/filter/components/value-editor/index.esm.js +1 -1
  333. package/dist/components/filter/components/value-editor/index.js +1 -1
  334. package/dist/components/filter/filter/index.esm.js +1 -1
  335. package/dist/components/filter/filter/index.js +1 -1
  336. package/dist/components/filter/index.esm.js +2 -2
  337. package/dist/components/filter/index.js +2 -2
  338. package/dist/components/footer/footer/index.esm.js +1 -1
  339. package/dist/components/footer/footer/index.js +1 -1
  340. package/dist/components/footer/index.esm.js +1 -1
  341. package/dist/components/footer/index.js +1 -1
  342. package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.esm.js +1 -1
  343. package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.js +1 -1
  344. package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.esm.js +1 -1
  345. package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.js +1 -1
  346. package/dist/components/form-control/form-builder/form-builder-element/dynamic-text-editor/index.esm.js +1 -1
  347. package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.esm.js +1 -1
  348. package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.js +1 -1
  349. package/dist/components/form-control/form-builder/form-builder-element/index.esm.js +4 -4
  350. package/dist/components/form-control/form-builder/form-builder-element/index.js +3 -3
  351. package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.esm.js +1 -1
  352. package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.js +1 -1
  353. package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.esm.js +1 -1
  354. package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.js +1 -1
  355. package/dist/components/form-control/form-builder/form-builder-element/table/index.esm.js +1 -1
  356. package/dist/components/form-control/form-builder/form-builder-element/table/index.js +1 -1
  357. package/dist/components/form-control/form-builder/index.esm.js +4 -4
  358. package/dist/components/form-control/form-builder/index.js +3 -3
  359. package/dist/components/form-control/form-parser/form-parser/index.esm.js +1 -1
  360. package/dist/components/form-control/form-parser/form-parser/index.js +1 -1
  361. package/dist/components/form-control/form-parser/form-section/index.esm.js +1 -1
  362. package/dist/components/form-control/form-parser/form-section/index.js +1 -1
  363. package/dist/components/form-control/form-parser/index.esm.js +2 -2
  364. package/dist/components/form-control/form-parser/index.js +2 -2
  365. package/dist/components/form-control/index.esm.js +6 -6
  366. package/dist/components/form-control/index.js +5 -5
  367. package/dist/components/header/components/app-switcher/index.esm.js +1 -1
  368. package/dist/components/header/components/app-switcher/index.js +1 -1
  369. package/dist/components/header/components/global-search/index.esm.js +1 -1
  370. package/dist/components/header/components/global-search/index.js +1 -1
  371. package/dist/components/header/components/index.esm.js +1 -1
  372. package/dist/components/header/components/index.js +1 -1
  373. package/dist/components/header/components/notification-menu/index.esm.js +1 -1
  374. package/dist/components/header/components/notification-menu/index.js +1 -1
  375. package/dist/components/header/components/notification-menu/notification-menu/index.esm.js +1 -1
  376. package/dist/components/header/components/notification-menu/notification-menu/index.js +1 -1
  377. package/dist/components/header/header/index.esm.js +1 -1
  378. package/dist/components/header/header/index.js +1 -1
  379. package/dist/components/header/header-enhanced/index.esm.js +1 -1
  380. package/dist/components/header/header-enhanced/index.js +1 -1
  381. package/dist/components/header/index.esm.js +5 -5
  382. package/dist/components/header/index.js +3 -3
  383. package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
  384. package/dist/components/header/redux/index.esm.js +2 -2
  385. package/dist/components/header/redux/reducer/index.esm.js +1 -1
  386. package/dist/components/index.esm.js +36 -36
  387. package/dist/components/index.js +27 -27
  388. package/dist/components/inventory-reports-title-bar/index.esm.js +3 -3
  389. package/dist/components/inventory-reports-title-bar/index.js +1 -1
  390. package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.esm.js +1 -1
  391. package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.js +1 -1
  392. package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  393. package/dist/components/inventory-reports-title-bar/redux/index.esm.js +2 -2
  394. package/dist/components/inventory-reports-title-bar/redux/reducer/index.esm.js +1 -1
  395. package/dist/components/listing/index.esm.js +1 -1
  396. package/dist/components/listing/index.js +1 -1
  397. package/dist/components/listing/listing/index.esm.js +1 -1
  398. package/dist/components/listing/listing/index.js +1 -1
  399. package/dist/components/location-select/index.esm.js +1 -1
  400. package/dist/components/location-select/index.js +1 -1
  401. package/dist/components/material-editable-table/components/index.esm.js +1 -1
  402. package/dist/components/material-editable-table/components/index.js +1 -1
  403. package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js +1 -1
  404. package/dist/components/material-editable-table/components/inline-edit-fields/index.js +1 -1
  405. package/dist/components/material-editable-table/index.esm.js +2 -2
  406. package/dist/components/material-editable-table/index.js +2 -2
  407. package/dist/components/material-editable-table/material-editable-table/index.esm.js +1 -1
  408. package/dist/components/material-editable-table/material-editable-table/index.js +1 -1
  409. package/dist/components/material-table/components/index.esm.js +1 -1
  410. package/dist/components/material-table/components/index.js +1 -1
  411. package/dist/components/material-table/components/inline-edit-fields/index.esm.js +1 -1
  412. package/dist/components/material-table/components/inline-edit-fields/index.js +1 -1
  413. package/dist/components/material-table/index.esm.js +1 -1
  414. package/dist/components/material-table/index.js +1 -1
  415. package/dist/components/material-table/material-table/index.esm.js +1 -1
  416. package/dist/components/material-table/material-table/index.js +1 -1
  417. package/dist/components/page-navigator/components/index.esm.js +1 -1
  418. package/dist/components/page-navigator/components/index.js +1 -1
  419. package/dist/components/page-navigator/components/page-action/index.esm.js +1 -1
  420. package/dist/components/page-navigator/components/page-action/index.js +1 -1
  421. package/dist/components/page-navigator/index.esm.js +2 -2
  422. package/dist/components/page-navigator/index.js +2 -2
  423. package/dist/components/page-navigator/page-navigator/index.esm.js +1 -1
  424. package/dist/components/page-navigator/page-navigator/index.js +1 -1
  425. package/dist/components/parties-modal/index.esm.js +1 -1
  426. package/dist/components/parties-modal/index.js +1 -1
  427. package/dist/components/parties-modal/parties-modal/index.esm.js +1 -1
  428. package/dist/components/parties-modal/parties-modal/index.js +1 -1
  429. package/dist/components/providers/ERPUIProvider/index.esm.js +1 -1
  430. package/dist/components/providers/index.esm.js +1 -1
  431. package/dist/components/quick-approval-modal/index.esm.js +1 -1
  432. package/dist/components/quick-approval-modal/quick-approval-modal/index.esm.js +1 -1
  433. package/dist/components/reports/dynamic-report/dynamic-report/index.esm.js +1 -1
  434. package/dist/components/reports/dynamic-report/dynamic-rows/index.esm.js +1 -1
  435. package/dist/components/reports/dynamic-report/index.esm.js +2 -2
  436. package/dist/components/reports/index.esm.js +2 -2
  437. package/dist/components/reports-title-bar/index.esm.js +3 -3
  438. package/dist/components/reports-title-bar/index.js +1 -1
  439. package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
  440. package/dist/components/reports-title-bar/redux/index.esm.js +2 -2
  441. package/dist/components/reports-title-bar/redux/reducer/index.esm.js +1 -1
  442. package/dist/components/reports-title-bar/reports-title-bar/index.esm.js +1 -1
  443. package/dist/components/reports-title-bar/reports-title-bar/index.js +1 -1
  444. package/dist/components/rfq-response/index.esm.js +1 -1
  445. package/dist/components/rfq-response/index.js +1 -1
  446. package/dist/components/rfq-response/item-response-details/index.esm.js +1 -1
  447. package/dist/components/rfq-response/item-response-details/index.js +1 -1
  448. package/dist/components/schedule-report/index.esm.js +2 -2
  449. package/dist/components/schedule-report/index.js +2 -2
  450. package/dist/components/schedule-report/schedule-report/index.esm.js +1 -1
  451. package/dist/components/schedule-report/schedule-report/index.js +1 -1
  452. package/dist/components/schedule-report/schedule-report-modal/index.esm.js +1 -1
  453. package/dist/components/schedule-report/schedule-report-modal/index.js +1 -1
  454. package/dist/components/schedule-report/utils/common/index.esm.js +1 -1
  455. package/dist/components/searchable-select/index.esm.js +1 -1
  456. package/dist/components/searchable-select/index.js +1 -1
  457. package/dist/components/share-modal/index.esm.js +4 -4
  458. package/dist/components/share-modal/index.js +2 -2
  459. package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
  460. package/dist/components/share-modal/redux/index.esm.js +2 -2
  461. package/dist/components/share-modal/redux/reducer/index.esm.js +1 -1
  462. package/dist/components/share-modal/share-modal/index.esm.js +1 -1
  463. package/dist/components/share-modal/share-modal/index.js +1 -1
  464. package/dist/components/share-modal/share-modal-enhanced/index.esm.js +1 -1
  465. package/dist/components/share-modal/share-modal-enhanced/index.js +1 -1
  466. package/dist/components/team-add-modal/index.esm.js +1 -1
  467. package/dist/components/team-add-modal/index.js +1 -1
  468. package/dist/components/uom-field-wrapper/index.esm.js +1 -1
  469. package/dist/components/uom-field-wrapper/index.js +1 -1
  470. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js +1 -1
  471. package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js +1 -1
  472. package/dist/components/upload-excel/index.esm.js +1 -1
  473. package/dist/components/upload-excel/upload-excel/index.esm.js +1 -1
  474. package/dist/components/vendor-ai-summary/index.esm.js +1 -1
  475. package/dist/components/vendor-ai-summary/index.js +1 -1
  476. package/dist/constants/index.esm.js +145 -143
  477. package/dist/constants/index.js +5 -3
  478. package/dist/constants/index.js.map +1 -1
  479. package/dist/hooks/index.esm.js +6 -6
  480. package/dist/hooks/index.js +1 -1
  481. package/dist/hooks/use-translations/index.esm.js +1 -1
  482. package/dist/hooks/use-translations/index.js +1 -1
  483. package/dist/hooks/useAccountSetting/index.esm.js +1 -1
  484. package/dist/hooks/useCheckSkuAndName/index.esm.js +1 -1
  485. package/dist/hooks/useReduxIntegration/index.esm.js +1 -1
  486. package/dist/hooks/useUniquenessCheck/index.esm.js +1 -1
  487. package/dist/images/index.esm.js +5 -5
  488. package/dist/images/index.esm.js.map +1 -1
  489. package/dist/images/index.js +5 -5
  490. package/dist/images/index.js.map +1 -1
  491. package/dist/index.esm.js +232 -235
  492. package/dist/index.esm.js.map +1 -1
  493. package/dist/index.js +64 -67
  494. package/dist/index.js.map +1 -1
  495. package/dist/layout/fullScreen/index.esm.js +1 -1
  496. package/dist/layout/fullScreen/index.js +1 -1
  497. package/dist/layout/index.esm.js +2 -2
  498. package/dist/layout/index.js +2 -2
  499. package/dist/layout/sidebarScreen/index.esm.js +1 -1
  500. package/dist/layout/sidebarScreen/index.js +1 -1
  501. package/dist/redux/index.esm.js +3 -3
  502. package/dist/runtime/index.esm.js +4 -4
  503. package/dist/runtime/index.js +2 -2
  504. package/dist/src/components/chat-bot/chat-bot-welcome.d.ts +2 -1
  505. package/dist/src/components/chat-bot/chat-bot.d.ts +5 -1
  506. package/dist/src/constants/defaultColumns.d.ts +1 -0
  507. package/dist/src/constants/pathnames/pathname.procurement.d.ts +4 -0
  508. package/dist/src/layout/fullScreen/fullScreen.d.ts +1 -0
  509. package/dist/src/views/template-editor/components/EditorCanvas.d.ts +12 -30
  510. package/dist/src/views/template-editor/components/EditorHeader.d.ts +0 -6
  511. package/dist/src/views/template-editor/components/EditorSection.d.ts +0 -1
  512. package/dist/src/views/template-editor/components/SectionFlowEditor.d.ts +3 -2
  513. package/dist/src/views/template-editor/components/SectionFormatPanel.d.ts +1 -2
  514. package/dist/src/views/template-editor/components/controllers/TableControls.d.ts +0 -23
  515. package/dist/src/views/template-editor/components/controllers/TextControls.d.ts +0 -3
  516. package/dist/src/views/template-editor/types/editor.d.ts +108 -20
  517. package/dist/src/views/template-editor/utils/common.d.ts +1 -10
  518. package/dist/src/views/template-editor/utils/constant.d.ts +1 -4
  519. package/dist/style.css +100 -4629
  520. package/dist/utils/api/index.esm.js +1 -1
  521. package/dist/utils/common/index.esm.js +1 -1
  522. package/dist/utils/common-utility/index.esm.js +1 -1
  523. package/dist/utils/export-filters/index.esm.js +1 -0
  524. package/dist/utils/export-filters/index.esm.js.map +1 -1
  525. package/dist/utils/export-filters/index.js +1 -0
  526. package/dist/utils/export-filters/index.js.map +1 -1
  527. package/dist/utils/index.esm.js +8 -8
  528. package/dist/utils/server/index.esm.js +2 -2
  529. package/dist/utils/text-measurement/index.esm.js +1 -1
  530. package/dist/views/afterAuth/dashboard/index.esm.js +1 -1
  531. package/dist/views/afterAuth/dashboard/index.js +1 -1
  532. package/dist/views/afterAuth/index.esm.js +2 -2
  533. package/dist/views/afterAuth/index.js +2 -2
  534. package/dist/views/afterAuth/page-view/index.esm.js +1 -1
  535. package/dist/views/afterAuth/page-view/index.js +1 -1
  536. package/dist/views/form-builder/custom-form/index.esm.js +1 -1
  537. package/dist/views/form-builder/custom-form/index.js +1 -1
  538. package/dist/views/form-builder/element-edit-forms/index.esm.js +1 -1
  539. package/dist/views/form-builder/form-fields/index.esm.js +1 -1
  540. package/dist/views/form-builder/form-fields/index.js +1 -1
  541. package/dist/views/form-builder/index.esm.js +5 -5
  542. package/dist/views/form-builder/index.js +3 -3
  543. package/dist/views/form-builder/redux/index.esm.js +1 -1
  544. package/dist/views/form-builder/utils/index.esm.js +1 -1
  545. package/dist/views/form-builder/utils/index.js +1 -1
  546. package/dist/views/index.esm.js +34 -39
  547. package/dist/views/index.esm.js.map +1 -1
  548. package/dist/views/index.js +31 -36
  549. package/dist/views/index.js.map +1 -1
  550. package/dist/views/template-editor/add-template/index.esm.js +1 -1
  551. package/dist/views/template-editor/add-template/index.js +1 -1
  552. package/dist/views/template-editor/components/index.esm.js +6 -7
  553. package/dist/views/template-editor/components/index.esm.js.map +1 -1
  554. package/dist/views/template-editor/components/index.js +3 -4
  555. package/dist/views/template-editor/components/index.js.map +1 -1
  556. package/dist/views/template-editor/edit-section-modal/index.esm.js +1 -1
  557. package/dist/views/template-editor/index.esm.js +20 -25
  558. package/dist/views/template-editor/index.esm.js.map +1 -1
  559. package/dist/views/template-editor/index.js +11 -16
  560. package/dist/views/template-editor/index.js.map +1 -1
  561. package/dist/views/template-editor/routes/index.esm.js +1 -1
  562. package/dist/views/template-editor/routes/index.js +1 -1
  563. package/dist/views/template-editor/template-modal/index.esm.js +1 -1
  564. package/dist/views/template-editor/template-modal/index.js +1 -1
  565. package/dist/views/template-editor/template-name-modal/index.esm.js +1 -1
  566. package/dist/views/template-editor/template-name-modal/index.js +1 -1
  567. package/dist/views/template-editor/templates/index.esm.js +1 -1
  568. package/dist/views/template-editor/templates/index.js +1 -1
  569. package/dist/views/template-editor/utils/index.esm.js +6 -10
  570. package/dist/views/template-editor/utils/index.js +2 -6
  571. package/dist/views/template-editor/utils/index.js.map +1 -1
  572. package/package.json +1 -1
  573. package/dist/chunks/EditorSection-BLGcgQFm.esm.js +0 -849
  574. package/dist/chunks/EditorSection-BLGcgQFm.esm.js.map +0 -1
  575. package/dist/chunks/EditorSection-D6yaBfjP.js +0 -848
  576. package/dist/chunks/EditorSection-D6yaBfjP.js.map +0 -1
  577. package/dist/chunks/SectionFlowEditor-Dp-mjWT9.esm.js +0 -12543
  578. package/dist/chunks/SectionFlowEditor-Dp-mjWT9.esm.js.map +0 -1
  579. package/dist/chunks/SectionFlowEditor-Dz1SuCm2.js +0 -12542
  580. package/dist/chunks/SectionFlowEditor-Dz1SuCm2.js.map +0 -1
  581. package/dist/chunks/add-template-CUPbU0z7.js +0 -10
  582. package/dist/chunks/add-template-CUPbU0z7.js.map +0 -1
  583. package/dist/chunks/add-template-CxvhzFMF.esm.js +0 -11
  584. package/dist/chunks/add-template-CxvhzFMF.esm.js.map +0 -1
  585. package/dist/chunks/chat-bot-2Ga_xA_K.js.map +0 -1
  586. package/dist/chunks/chat-bot-DO3vAGxA.esm.js.map +0 -1
  587. package/dist/chunks/common-BgXEAs_y.esm.js +0 -851
  588. package/dist/chunks/common-BgXEAs_y.esm.js.map +0 -1
  589. package/dist/chunks/common-D6T6NGWY.js +0 -850
  590. package/dist/chunks/common-D6T6NGWY.js.map +0 -1
  591. package/dist/chunks/common-utility-CS_sNoAC.esm.js.map +0 -1
  592. package/dist/chunks/constant-BXPcBhJN.esm.js.map +0 -1
  593. package/dist/chunks/constant-BXeJD4Af.js.map +0 -1
  594. package/dist/chunks/edit-section-modal-HihKbN6K.esm.js.map +0 -1
  595. package/dist/chunks/fullScreen-Cz3FIdU4.esm.js.map +0 -1
  596. package/dist/chunks/fullScreen-h0JqBN4O.js.map +0 -1
  597. package/dist/chunks/template-modal-D7aLacan.esm.js.map +0 -1
  598. package/dist/chunks/template-modal-Df7gF4QI.js.map +0 -1
  599. package/dist/chunks/template-name-modal-ClreVUaz.js.map +0 -1
  600. package/dist/chunks/template-name-modal-Dwe7U72p.esm.js.map +0 -1
  601. package/dist/chunks/templates-9ZMHwRR6.esm.js.map +0 -1
  602. package/dist/chunks/templates-DCXbeOtH.js.map +0 -1
  603. package/dist/src/views/template-editor/components/EditorCanvas/FreeCanvas.d.ts +0 -34
  604. package/dist/src/views/template-editor/components/EditorCanvas/FreeElement.d.ts +0 -30
  605. package/dist/src/views/template-editor/components/stationery/StationeryPreview.d.ts +0 -24
  606. package/dist/src/views/template-editor/components/stationery/StationerySidebar.d.ts +0 -9
  607. package/dist/src/views/template-editor/engine/ai.d.ts +0 -12
  608. package/dist/src/views/template-editor/engine/app.d.ts +0 -1
  609. package/dist/src/views/template-editor/engine/controls.d.ts +0 -4
  610. package/dist/src/views/template-editor/engine/design-canvas.d.ts +0 -24
  611. package/dist/src/views/template-editor/engine/editor.d.ts +0 -17
  612. package/dist/src/views/template-editor/engine/engine.d.ts +0 -18
  613. package/dist/src/views/template-editor/engine/icons.d.ts +0 -91
  614. package/dist/src/views/template-editor/engine/letterpads.d.ts +0 -1
  615. package/dist/src/views/template-editor/engine/model.d.ts +0 -20
  616. package/dist/src/views/template-editor/engine/paginator.d.ts +0 -30
  617. package/dist/src/views/template-editor/engine/picker.d.ts +0 -20
  618. package/dist/src/views/template-editor/engine/schema.d.ts +0 -647
  619. package/dist/src/views/template-editor/engine/stationery-app.d.ts +0 -10
  620. package/dist/src/views/template-editor/engine/stationery-doc.d.ts +0 -62
  621. package/dist/src/views/template-editor/engine/stationery-free-element.d.ts +0 -22
  622. package/dist/src/views/template-editor/engine/stationery-store.d.ts +0 -154
  623. package/dist/src/views/template-editor/engine/templatebuilder.d.ts +0 -51
  624. package/dist/src/views/template-editor/engine/templates.d.ts +0 -11
  625. package/dist/src/views/template-editor/icons/custom-styled-icon.d.ts +0 -7
  626. package/dist/src/views/template-editor/icons/edit.d.ts +0 -4
  627. package/dist/src/views/template-editor/icons/trash.d.ts +0 -4
  628. package/dist/src/views/template-editor/types/stationery.d.ts +0 -66
  629. package/dist/src/views/template-editor/utils/compiler.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"material-editable-table-DyGdqNkX.esm.js","sources":["../../src/components/material-editable-table/material-editable-table.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-mixed-spaces-and-tabs */\nimport React, { cloneElement, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n\tMRT_ColumnDef,\n\tMRT_ColumnSizingInfoState,\n\tMRT_ColumnSizingState,\n\tMRT_Header,\n\tMRT_Row,\n\tMRT_RowData,\n\tMRT_RowSelectionState,\n\tMRT_SortingState,\n\tMRT_TableInstance,\n\tMRT_TableState,\n\tMaterialReactTable,\n\tMaterialReactTableProps,\n\tuseMaterialReactTable,\n\t// Cell\n} from 'material-react-table';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport {\n\tBox,\n\tstyled,\n\tMenuItem,\n\tIconButton,\n\tListItemIcon,\n\tListItemText,\n\tSvgIconProps,\n\tDivider\n} from '@mui/material';\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\nimport Menu from '../menu/menu';\nimport Typography from '../typography/typography';\nimport SearchBar from '../search-bar/search-bar';\nimport images from '../../assets/images';\n// import DeleteIcon from \"@mui/icons-material/Delete\";\n// import UpdateIcon from \"@mui/icons-material/Update\";\n// import PlayIcon from \"@mui/icons-material/PlayArrow\";\n\nimport './material-editable-table.scss';\nimport {\n\tArrowUpDown,\n\tCheckBoxIcon,\n\tClose,\n\tRecgtangleIcon,\n\tTrash,\n\tSave\n} from '../icons';\n// import {\n// \tArrowDropDown /* , SaveOutlined */,\n// \tArrowDropUp\n// } from '@mui/icons-material';\nimport InlineEditFields from './components/inline-edit-fields';\nimport Tooltip from '../tooltip/Tooltip';\nimport Button from '../button/button';\nimport Add from '@mui/icons-material/Add';\nimport dayjs from 'dayjs';\nimport * as yup from 'yup';\nimport ConfirmPopUp from '../confirm-modal/confirm-modal';\nimport { useTranslation } from 'react-i18next';\nimport { useSnackbar } from 'notistack';\nimport { getErrorMessage } from '../../utils/common';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { useNavigate } from 'react-router-dom';\n// import { PathnameAccounting } from 'accounting/src/pathname.accounting';\n// import { PathnameInventory } from 'inventory/src/pathname.inventory';\n// import { PathnameManufacturing } from 'manufacturing/src/pathname.manufacturing';\n// import { PathnamePurchase } from 'procurement/src/pathname.procurement';\n// import { PathnameCrm } from 'crm/src/pathname.crm';\n// import { PathnameUsers } from '../../constants/pathnames/pathname.user';\n// import { PathnameRental } from '../../../../rental/src/pathname.rental';\n// import { PathnameDocument } from 'document/src/pathname.document';\nimport { PathnameDocument } from '../../constants/pathnames/pathname.document';\nimport { PathnameAccounting } from '../../constants/pathnames/pathname.accounting';\nimport { PathnameInventory } from '../../constants/pathnames/pathname.inventory';\nimport { PathnameManufacturing } from '../../constants/pathnames/pathname.manufacturing';\nimport { PathnamePurchase } from '../../constants/pathnames/pathname.procurement';\nimport { PathnameCrm } from '../../constants/pathnames/pathname.crm';\nimport { PathnameUsers } from '../../constants/pathnames/pathname.user';\nimport { PathnameRental } from '../../constants/pathnames/pathname.rental';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\n\ntype ExtraEditVariants =\n\t| 'file'\n\t| 'image'\n\t| 'date'\n\t| 'number'\n\t| 'time'\n\t| 'date_time'\n\t| 'phone'\n\t| 'checkbox';\n\ntype DisableFunction = (row: any, virtualRow?: any) => boolean;\n\nexport type TypeBooleanLabels = { 1: string; 0: string; true: string; false: string }\n\nexport interface MaterialEditableTableColumnProps\n\textends Omit<MRT_ColumnDef<MRT_RowData>, 'editVariant'> {\n\tvisible?: boolean;\n\ttype?: string;\n\tshowDefaultCurrency?: boolean,\n\tvalueGet?: string;\n\tcustom_class?: string;\n\ttypeArrayAccessorKey?: string; //when type is an array of object\n\ttypeBooleanLabels?: TypeBooleanLabels; //when type is an boolean\n\teditVariant?: MRT_ColumnDef<MRT_RowData>['editVariant'] | ExtraEditVariants;\n\teditProperties?: {\n\t\tfield_name?: string;\n\t\tvalueKey?: string;\n\t\tplaceholder?: string;\n\t\tdateFormat?: string;\n\t\tvalidations?: any[];\n\t\tis_multiple?: boolean;\n\t\tis_multiline?: boolean;\n\t\tdisable?: boolean | DisableFunction;\n\t\tmin_date?: any;\n\t\tmax_date?: any;\n\t};\n\tredirectionPathWithId?: string;\n\tidField?: string;\n\tisOnClickEditable?: boolean; // Controls whether clicking this column triggers row edit mode (default: true)\n}\n\n\n\nexport interface MaterialEditableTableColumnHeaderProps {\n\tcolumn: MRT_ColumnDef<any, any>;\n\theader: MRT_Header<any>;\n\ttable: MRT_TableInstance<any>;\n}\n\ntype rowSelectionCallback = (row: MRT_Row) => boolean\n\ninterface MaterialEditableTablePropsType {\n\tenablePagination?: boolean;\n\trows: any;\n\ttotalPages: number;\n\tcolumns: any;\n\tpaginationModel: IPaginationModel;\n\tcolumnOrder?: string[];\n\tupdateData?: any;\n\thandleColumnOrdering?: (colOrder: any) => void;\n\tenableEditing?: boolean;\n\tenableColumnDragging?: boolean;\n\trowActionMenu?: any;\n\tdestructiveActionMenu?: any;\n\tgetRowId?: any;\n\tstates?: Partial<MRT_TableState<any>>;\n\tonSortingChange?: any;\n\tdisableDefaultActionColumn?: boolean;\n\tenableRowSelection?: boolean | rowSelectionCallback;\n\tdefaultActionColumnItems?: React.ReactElement[];\n\tenableBottomToolbar?: boolean;\n\tSetSelectedRowId?: any;\n\tisResetRow?: boolean;\n\tonCreateRow?: (data: any) => Promise<unknown>;\n\tonEditRow?: (data: any) => Promise<unknown>;\n\tonDeleteRow?: (data: any) => Promise<unknown>;\n\teditDisplayMode?: MaterialReactTableProps<any>['editDisplayMode'];\n\tenableRowCreate?: boolean;\n\tonChangeRowField?: (e: any, type: string, row: any) => void;\n\tonSelectRow?: (rows: any, prevSelected?: any) => any;\n\tenableColumnResizing?: boolean;\n\tselectedRowIds?: any[];\n\tonColumnVisibility?: (columns: MaterialTableColumnProps[]) => void\n\tgetSelectedData: any;\n\tenableAddCustomField?: boolean;\n\tdisabledDefaultActionColumnIcon?: boolean\n\tenableRowDragging?: boolean\n\thandleColumnResizing?: (sizes: MRT_ColumnSizingState) => void,\n\tcolumnSizes?: MRT_ColumnSizingState,\n\thideSaveButton?: boolean;\n\thideDeleteButton?: (row: any) => boolean;\n\tenableFirstRowEdit?: boolean;\n}\n\nconst TableWrapper = styled(Box)(({ theme: { palette } }) => ({\n\t'.MuiTableCell-root': {\n\t\tborder: '1px solid #efefef',\n\t\tborderBottom: 0,\n\t\tborderLeft: 0,\n\t\tpadding: '0 0.5rem',\n\t\tlineHeight: '19px',\n\t\tfontSize: '14px',\n\t\tminHeight: 32,\n\t\t// '&:first-child': {\n\t\t// \tborderLeft: '1px solid #efefef'\n\t\t// },\n\t\t// '&:last-child': {\n\t\t// \tborderBottom: '1px solid #efefef'\n\t\t// }\n\n\t},\n\t'.MuiTableCell-head': {\n\t\tbackgroundColor: palette.theme?.secondary[100]\n\t},\n\t'.MuiTableContainer-root': {\n\t\tmaxHeight: 'clamp(350px, 100vh - 200px, 9999px) !important',\n\t},\n\n\t'.MuiPaper-root': {\n\t\tboxShadow: 'none',\n\n\t},\n\t'.MuiPaginationItem-root': {\n\t\t'&.Mui-selected': {\n\t\t\tbackgroundColor: palette?.theme?.primary[700],\n\t\t\tcolor: 'white'\n\t\t}\n\t},\n\t'.MuiTableRow-root': {\n\t\t'&.Mui-selected': {\n\t\t\tbackgroundColor: `${palette?.theme?.primary[100]} !important`,\n\t\t\tcolor: 'white'\n\t\t}\n\t},\n\t'.MuiCheckbox-indeterminate': {\n\t\tcolor: `${palette?.theme?.primary[700]} !important`,\n\t\t\"& svg\": {\n\t\t\theight: `20px !important`,\n\t\t\twidth: `20px !important`,\n\t\t}\n\t}\n}));\n\nexport type RowValues = Record<string, unknown>;\n\nconst MaterialEditableTable = React.memo(({\n\tenablePagination = false,\n\trows,\n\tcolumns,\n\ttotalPages,\n\tpaginationModel,\n\tcolumnOrder,\n\tupdateData,\n\thandleColumnOrdering,\n\tenableEditing,\n\tenableColumnDragging,\n\tstates,\n\trowActionMenu,\n\tdestructiveActionMenu,\n\tdisableDefaultActionColumn,\n\tenableRowSelection,\n\tdefaultActionColumnItems = [],\n\tenableBottomToolbar,\n\tSetSelectedRowId,\n\tisResetRow,\n\tonCreateRow,\n\tonEditRow,\n\tonDeleteRow,\n\teditDisplayMode,\n\tenableRowCreate,\n\tonChangeRowField,\n\tonSelectRow,\n\tenableColumnResizing = true,\n\tselectedRowIds = [],\n\tonColumnVisibility,\n\tonSortingChange,\n\tgetSelectedData,\n\tdisabledDefaultActionColumnIcon = false,\n\tenableAddCustomField = true,\n\tenableRowDragging = false,\n\thandleColumnResizing = () => { },\n\tcolumnSizes = {},\n\thideSaveButton = false,\n\thideDeleteButton,\n\tenableFirstRowEdit = false,\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\t// getRowId,\n\t// onDelete,\n\t// onUpdate,\n\t...rest\n}: MaterialTablePropsType) => {\n\tconst { t } = useTranslation();\n\tconst { enqueueSnackbar } = useSnackbar();\n\tconst { formData = null, updatePageInfo, activePage: aPage } = usePages()\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\tconst { pageNo } = paginationModel;\n\tconst [row, setRow] = useState({});\n\tconst [tableColumns, setTableColumns] = useState(columns);\n\tconst [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\tconst [popUpShow, setPopupShow] = useState<boolean>(false);\n\tconst [rowAnchorEl, setRowAnchorEl] = useState<null | HTMLElement>(null);\n\tconst visibleColumns = tableColumns.filter((column: any) => column.visible);\n\tconst hiddenColumns = tableColumns.filter((column: any) => !column.visible);\n\tconst [filteredOptions, setFilteredOptions] = useState(hiddenColumns);\n\tconst [selectedRow, setSelectedRow] = useState<number | null>(null);\n\tconst [validationErrors, setValidationErrors] = useState<Record<string, Record<string, string>>>({});\n\tconst [validationSchema, setValidationSchema] = useState<any>([]);\n\tconst [isCreatingRow, setIsCreatingRow] = useState<boolean>(false);\n\tconst [isEditingRow, setIsEditingRow] = useState<boolean>(false);\n\tconst [isDeletingRow, setIsDeletingRow] = useState<boolean>(false);\n\tconst [rowToDelete, setRowToDelete] = useState<any>(null);\n\tconst [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\tconst [isChecked, setIsChecked] = useState(false)\n\tconst [sorting, setSorting] = useState<MRT_SortingState>([]);\n\tconst [disableNextEdit, setDisableNextEdit] = useState(false);\n\tconst [columnSizing, setColumnSizing] = useState<MRT_ColumnSizingState>(activePage.column_sizes);\n\tconst [columnSizingInfo, setColumnSizingInfo] = useState<MRT_ColumnSizingInfoState>({\n\t\tcolumnSizingStart: [],\n\t\tdeltaOffset: null,\n\t\tdeltaPercentage: null,\n\t\tisResizingColumn: false,\n\t\tstartOffset: null,\n\t\tstartSize: null\n\t});\n\tconst [clickStartTime, setClickStartTime] = useState<number>(0);\n\n\tconst navigate = useNavigate();\n\tconst currentModule = location.pathname.split('/')[2]\n\n\tlet redirectionPath = ''\n\tswitch (currentModule) {\n\t\tcase 'accounting':\n\t\t\tredirectionPath = PathnameAccounting.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'inventory':\n\t\t\tredirectionPath = PathnameInventory.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'manufacturing':\n\n\t\t\tredirectionPath = PathnameManufacturing.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'procurement':\n\t\t\tredirectionPath = PathnamePurchase.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'crm':\n\t\t\tredirectionPath = PathnameCrm.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\tredirectionPath = PathnameUsers.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'rental':\n\t\t\tredirectionPath = PathnameRental.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'drive':\n\t\t\tredirectionPath = PathnameDocument.ADD_CUSTOM_FIELDS\n\t\t\tbreak;\n\t}\n\tconst path = `/dashboard/${currentModule}${redirectionPath}`\n\tconst getValidationType = (column: any) => {\n\t\tswitch (column.editVariant) {\n\t\t\tcase 'select':\n\t\t\t\treturn column?.editProperties?.is_multiple ? yup.array() : yup.string();\n\n\t\t\tcase 'number':\n\t\t\t\treturn yup.number().nullable().transform((value, originalValue) => (originalValue === \"\" ? null : value));\n\n\t\t\tcase 'url':\n\t\t\t\treturn yup\n\t\t\t\t\t.string()\n\t\t\t\t\t.matches(\n\t\t\t\t\t\t/^(https?:\\/\\/)?((([a-zA-Z0-9_-]+\\.)+[a-zA-Z]{2,})|localhost)(:\\d{2,5})?(\\/[a-zA-Z0-9#_-]+\\/?)*(\\?[a-zA-Z0-9&=_-]+)?(#\\S+)?$/,\n\t\t\t\t\t\t{ excludeEmptyString: true, message: 'Please enter valid URL.' }\n\t\t\t\t\t);\n\n\t\t\tcase 'date':\n\t\t\tcase 'date_time':\n\t\t\tcase 'time':\n\t\t\t\treturn yup.date().nullable().transform((value, originalValue) => {\n\t\t\t\t\tif (originalValue === \"\" || originalValue === null || originalValue === undefined) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\tif (originalValue && typeof originalValue === 'object' && 'toDate' in originalValue) {\n\t\t\t\t\t\treturn (originalValue as any).toDate();\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}).typeError('Valid date is required');\n\n\t\t\tcase 'file':\n\t\t\tcase 'image':\n\t\t\t\treturn yup.mixed().nullable();\n\n\t\t\tdefault:\n\t\t\t\treturn yup.string()\n\t\t}\n\t};\n\n\tconst validationReducer = (\n\t\tschema: any,\n\t\tvalidation: any,\n\t\tcolumn: any\n\t) => {\n\t\tlet vld = schema;\n\n\t\tswitch (validation.type) {\n\t\t\t/* =====================================================\n\t\t\t COMMON (mixed)\n\t\t\t===================================================== */\n\n\t\t\tcase 'required':\n\t\t\t\tif (validation.value) {\n\t\t\t\t\tvld = vld.required(validation.msg_en).typeError(validation.msg_en);\n\n\t\t\t\t\t// Prevent blank-only string\n\t\t\t\t\tif (!column?.editVariant || column?.editVariant === 'text') {\n\t\t\t\t\t\tvld = vld.test(\n\t\t\t\t\t\t\t'no-blank-spaces',\n\t\t\t\t\t\t\t'Blank space is not allowed',\n\t\t\t\t\t\t\t(value: any) =>\n\t\t\t\t\t\t\t\ttypeof value === 'string'\n\t\t\t\t\t\t\t\t\t? value.trim().length > 0\n\t\t\t\t\t\t\t\t\t: true\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else if (column?.editProperties?.is_multiple) {\n\t\t\t\t\tvld = vld.min(1, validation.msg_en);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'notRequired':\n\t\t\t\tvld = vld.notRequired();\n\t\t\t\tbreak;\n\n\t\t\tcase 'nullable':\n\t\t\t\tvld = vld.nullable(validation.value ?? true);\n\t\t\t\tbreak;\n\n\t\t\tcase 'defined':\n\t\t\t\tvld = vld.defined(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'optional':\n\t\t\t\tvld = vld.optional();\n\t\t\t\tbreak;\n\n\t\t\tcase 'strict':\n\t\t\t\tvld = vld.strict(validation.value ?? true);\n\t\t\t\tbreak;\n\n\t\t\tcase 'typeError':\n\t\t\t\tvld = vld.typeError(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'oneOf':\n\t\t\t\tvld = vld.oneOf(validation.values, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'notOneOf':\n\t\t\t\tvld = vld.notOneOf(validation.values, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'default':\n\t\t\t\tvld = vld.default(validation.value);\n\t\t\t\tbreak;\n\n\t\t\tcase 'transform':\n\t\t\t\tvld = vld.transform(validation.fn);\n\t\t\t\tbreak;\n\n\t\t\tcase 'label':\n\t\t\t\tvld = vld.label(validation.value);\n\t\t\t\tbreak;\n\n\t\t\tcase 'meta':\n\t\t\t\tvld = vld.meta(validation.value);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t STRING\n\t\t\t===================================================== */\n\n\t\t\tcase 'trim':\n\t\t\t\tvld = vld.trim();\n\t\t\t\tbreak;\n\n\t\t\tcase 'lowercase':\n\t\t\t\tvld = vld.lowercase();\n\t\t\t\tbreak;\n\n\t\t\tcase 'uppercase':\n\t\t\t\tvld = vld.uppercase();\n\t\t\t\tbreak;\n\n\t\t\tcase 'email':\n\t\t\t\tvld = vld.email(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'url':\n\t\t\t\tvld = vld.url(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'uuid':\n\t\t\t\tvld = vld.uuid(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'length':\n\t\t\t\tvld = vld.length(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'min':\n\t\t\t\tvld = vld.min(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'max':\n\t\t\t\tvld = vld.max(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'matches':\n\t\t\t\tvld = vld.matches(validation.regex, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'startsWith':\n\t\t\t\tvld = vld.matches(\n\t\t\t\t\tnew RegExp(`^${validation.value}`),\n\t\t\t\t\tvalidation.msg_en\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'endsWith':\n\t\t\t\tvld = vld.matches(\n\t\t\t\t\tnew RegExp(`${validation.value}$`),\n\t\t\t\t\tvalidation.msg_en\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t NUMBER\n\t\t\t===================================================== */\n\n\t\t\tcase 'lessThan':\n\t\t\t\tvld = vld.lessThan(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'moreThan':\n\t\t\t\tvld = vld.moreThan(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'positive':\n\t\t\t\tvld = vld.positive(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'negative':\n\t\t\t\tvld = vld.negative(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'integer':\n\t\t\t\tvld = vld.integer(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'round':\n\t\t\t\tvld = vld.round(validation.method || 'round');\n\t\t\t\tbreak;\n\n\t\t\tcase 'truncate':\n\t\t\t\tvld = vld.truncate();\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t ARRAY\n\t\t\t===================================================== */\n\n\t\t\tcase 'minItems':\n\t\t\t\tvld = vld.min(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'maxItems':\n\t\t\t\tvld = vld.max(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ensure':\n\t\t\t\tvld = vld.ensure();\n\t\t\t\tbreak;\n\n\t\t\tcase 'compact':\n\t\t\t\tvld = vld.compact(validation.rejector);\n\t\t\t\tbreak;\n\n\t\t\tcase 'of':\n\t\t\t\tvld = vld.of(validation.schema);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t DATE\n\t\t\t===================================================== */\n\n\t\t\tcase 'minDate':\n\t\t\t\tvld = vld.min(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'maxDate':\n\t\t\t\tvld = vld.max(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t OBJECT\n\t\t\t===================================================== */\n\n\t\t\tcase 'shape':\n\t\t\t\tvld = vld.shape(validation.fields);\n\t\t\t\tbreak;\n\n\t\t\tcase 'noUnknown':\n\t\t\t\tvld = vld.noUnknown(validation.value ?? true, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t CUSTOM\n\t\t\t===================================================== */\n\n\t\t\tcase 'test':\n\t\t\t\tvld = vld.test(\n\t\t\t\t\tvalidation.name || 'custom-test',\n\t\t\t\t\tvalidation.msg_en,\n\t\t\t\t\tvalidation.testFn\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'validate':\n\t\t\t\tif (typeof validation.callback === 'function') {\n\t\t\t\t\tvld = vld.test(\n\t\t\t\t\t\tvalidation.name || 'custom-validate',\n\t\t\t\t\t\tvalidation.msg_en || 'Validation failed',\n\t\t\t\t\t\tfunction (value) {\n\t\t\t\t\t\t\tconst rowObj = this.options.context?.row || {\n\t\t\t\t\t\t\t\toriginal: this.parent,\n\t\t\t\t\t\t\t\torigin: this.parent,\n\t\t\t\t\t\t\t\t_valuesCache: this.parent\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn validation.callback(value, this.parent, rowObj);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t CONDITIONAL\n\t\t\t===================================================== */\n\n\t\t\tcase 'when':\n\t\t\t\treturn vld.when(validation.relation, {\n\t\t\t\t\tis: (val: any) =>\n\t\t\t\t\t\ttypeof validation.is === 'function'\n\t\t\t\t\t\t\t? validation.is(val)\n\t\t\t\t\t\t\t: Array.isArray(validation.values)\n\t\t\t\t\t\t\t\t? validation.values.includes(val)\n\t\t\t\t\t\t\t\t: val === validation.values,\n\n\t\t\t\t\tthen: (s: any) =>\n\t\t\t\t\t\tvalidation?.thenValidations?.reduce(\n\t\t\t\t\t\t\t(acc: any, v: any) =>\n\t\t\t\t\t\t\t\tvalidationReducer(acc, v, column),\n\t\t\t\t\t\t\ts\n\t\t\t\t\t\t) || s,\n\n\t\t\t\t\totherwise: (s: any) =>\n\t\t\t\t\t\tvalidation?.otherWiseValidations?.reduce(\n\t\t\t\t\t\t\t(acc: any, v: any) =>\n\t\t\t\t\t\t\t\tvalidationReducer(acc, v, column),\n\t\t\t\t\t\t\ts\n\t\t\t\t\t\t) || s,\n\t\t\t\t});\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn vld;\n\t};\n\n\n\n\tconst generateValidationSchema = (columns: any[]) => {\n\t\treturn columns.reduce((acc: any, clm: any) => {\n\t\t\tconst validations = clm?.editProperties?.validations;\n\n\t\t\tif (!validations?.length) return acc;\n\n\t\t\tconst baseSchema = getValidationType(clm);\n\n\t\t\tacc[clm.accessorKey] = validations.reduce(\n\t\t\t\t(schema: any, validation: any) =>\n\t\t\t\t\tvalidationReducer(schema, validation, clm),\n\t\t\t\tbaseSchema\n\t\t\t);\n\n\t\t\treturn acc;\n\t\t}, {});\n\t};\n\n\n\tuseEffect(() => {\n\t\tsetTableColumns(columns);\n\n\t\tconst schema: any = generateValidationSchema(columns);\n\t\tsetValidationSchema(yup.object().shape(schema));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tif (!columnSizingInfo?.isResizingColumn) {\n\t\t\tupdatePageInfo({ column_sizes: { ...activePage.column_sizes, ...columnSizing } })\n\t\t\thandleColumnResizing?.(columnSizing)\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [columnSizingInfo?.isResizingColumn, columnSizing])\n\n\tconst handleHeaderClick = (event: any) => {\n\t\tsetAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleHeaderClose = () => {\n\t\tsetAnchorEl(null);\n\t};\n\n\tconst handleVisibleColumn = (column: any) => {\n\t\tconst updatedColumns = tableColumns.map((col: any) => ({\n\t\t\t...col,\n\t\t\tvisible: col.accessorKey === column.accessorKey ? false : col.visible\n\t\t}));\n\t\tsetTableColumns(updatedColumns);\n\t\tonColumnVisibility?.(JSON.parse(JSON.stringify(updatedColumns)))\n\t\tsetFilteredOptions([...filteredOptions, column]);\n\t\tsetAnchorEl(null);\n\t};\n\n\tconst handleAddButtonClick = () => {\n\t\tsetPopupShow(true);\n\t};\n\n\tconst handleBackButtonClick = () => {\n\t\tsetPopupShow(false);\n\t};\n\n\tconst handleAddColumn = (column: any) => {\n\t\tconst updatedColumns = tableColumns.map((col: any) => ({\n\t\t\t...col,\n\t\t\tvisible: col.accessorKey === column.accessorKey ? true : col.visible\n\t\t}));\n\t\tonColumnVisibility?.(JSON.parse(JSON.stringify(updatedColumns)))\n\t\tsetTableColumns(updatedColumns);\n\n\t\tconst updatedFilteredOptions = filteredOptions.filter(\n\t\t\t(option: any) => option.accessorKey !== column.accessorKey\n\t\t);\n\t\tsetFilteredOptions(updatedFilteredOptions);\n\t\tsetAnchorEl(null);\n\t\tsetPopupShow(false);\n\t};\n\n\tconst handleSearchEvent = (searchQuery: string) => {\n\t\tconst filteredColumns = hiddenColumns.filter((option: any) =>\n\t\t\toption.header.toLowerCase().includes(searchQuery.toLowerCase())\n\t\t);\n\t\tsetFilteredOptions(filteredColumns);\n\t};\n\n\tconst handleCustomAddColumn = () => {\n\t\tnavigate(path, { state: formData })\n\t\tsetAnchorEl(null);\n\t\tsetPopupShow(false);\n\t};\n\n\tconst handleRowClick = (rowId: number) => {\n\t\tsetSelectedRow(rowId); // Update selected row ID when a row is clicked\n\t};\n\n\t// const handleDeleteClick = (event: any, data: any) => {\n\t// onDelete?.(data.id);\n\t// };\n\t// const handleUpdateClick = (event: any, data: any) => {\n\t// onUpdate?.(data.id);\n\t// };\n\n\tconst handleActionsClick = (event: any, data: any) => {\n\t\tsetRow(data);\n\t\tsetRowAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleActionsClose = () => {\n\t\tsetRowAnchorEl(null);\n\t};\n\n\tconst formtValues = useCallback((values: any, cells: any[]) => {\n\t\tconst v: any = {};\n\t\tif (values?.['mrt-row-actions']) {\n\t\t\tdelete values['mrt-row-actions']\n\t\t}\n\t\tObject.keys(values).forEach((vl) => {\n\t\t\tconst val = values[vl];\n\t\t\tconst cell = cells.find((c) => c.accessorKey == vl);\n\n\t\t\tif (val) {\n\t\t\t\tif (val instanceof File) {\n\t\t\t\t\tv[vl] = val.name;\n\t\t\t\t} else if (cell && cell?.editVariant == 'date') {\n\t\t\t\t\tv[vl] = dayjs(val).format(cell?.dateFormat || 'DD-MM-YYYY');\n\t\t\t\t} else if (cell && cell?.editVariant == 'time') {\n\t\t\t\t\tv[vl] = dayjs.isDayjs(val) ? val.format('HH:mm') : val;\n\t\t\t\t} else if (cell && cell?.editVariant == 'select' && typeof val === 'object' && val !== null) {\n\t\t\t\t\t// For select fields, extract the display name from the object\n\t\t\t\t\t// Try multiple possible display properties in order of preference\n\t\t\t\t\tv[vl] = val.name || val.label || val.display_name || val.title || val.value || val.id || val;\n\t\t\t\t} else if (cell && cell?.editVariant == 'select' && typeof val === 'string') {\n\t\t\t\t\t// For select fields that are already strings, keep them as is\n\t\t\t\t\tv[vl] = val;\n\t\t\t\t} else {\n\t\t\t\t\tv[vl] = val;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tv[vl] = val;\n\t\t\t}\n\t\t});\n\n\t\treturn v;\n\t}, []); // No dependencies needed as this function doesn't rely on external values\n\n\tconst handleRowDelete = async () => {\n\t\tsetIsDeletingRow(true);\n\t\tif (rowToDelete) {\n\t\t\tawait onDeleteRow?.(rowToDelete);\n\t\t\tsetRowToDelete(null);\n\t\t}\n\t\tsetIsDeletingRow(false);\n\t};\n\n\tconst checkRequired = useCallback((editProperties: any) => {\n\t\treturn editProperties?.validations?.some((validation: any) => validation.type === 'required')\n\t}, [])\n\tuseEffect(() => {\n\t\tconst selectedRows = {};\n\t\t// Build the selectedRows object\n\t\tif (!isChecked && selectedRowIds.length) {\n\t\t\trows.forEach((row) => {\n\t\t\t\tif (selectedRowIds.includes(row.id)) {\n\t\t\t\t\tselectedRows[row.id] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetRowSelection(selectedRows);\n\t\t\tsetIsChecked(true)\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [rows, selectedRowIds]); // Dependency only on rows and selectedRowIds\n\n\tuseEffect(() => {\n\t\tif (onSortingChange instanceof Function) {\n\t\t\tconst sortingArray = Array.isArray(sorting) ? sorting : [];\n\t\t\tonSortingChange(sortingArray[0] || null)\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [sorting])\n\n\n\tconst resetRowSelection = () => {\n\t\tsetRowSelection({});\n\t\tsetDisableNextEdit(false)\n\t}\n\tconst getTextWidth = (text: string) => {\n\t\tconst canvas = document.createElement(\"canvas\");\n\t\tconst ctx = canvas.getContext(\"2d\");\n\t\tif (!ctx) return 50;\n\t\treturn ctx.measureText(text).width + 5; // padding\n\t}\n\n\t// ─── Types ───────────────────────────────────────────────────────────────────\n\n\ttype RowMode = 'edit' | 'create';\n\n\tinterface SaveRowParams {\n\t\trow: MRT_Row<TData>;\n\t\tvalues: Record<string, unknown>;\n\t\ttable: MRT_TableInstance<TData>;\n\t}\n\n\t// ─── Shared validation error extractor ───────────────────────────────────────\n\n\tconst extractValidationErrors = (err: yup.ValidationError): Record<string, string> =>\n\t\terr.inner.reduce<Record<string, string>>((acc, { path, message }) => {\n\t\t\tif (path) acc[path] = message;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t// ─── Unified save handler ─────────────────────────────────────────────────────\n\n\tconst handleSaveRow = useCallback(\n\t\tasync ({ row, values, table }: SaveRowParams, mode: RowMode): Promise<void> => {\n\t\t\tconst isEditMode = mode === 'edit';\n\t\t\tconst setLoadingState = isEditMode ? setIsEditingRow : setIsCreatingRow;\n\t\t\tconst rowId = row.id;\n\n\t\t\ttry {\n\t\t\t\tawait validationSchema.validate(values, { abortEarly: false, context: { row } });\n\n\t\t\t\tsetValidationErrors((prev) => { const next = { ...prev }; delete next[rowId]; return next; });\n\t\t\t\tsetLoadingState(true);\n\t\t\t\tsetDisableNextEdit(false);\n\n\t\t\t\tconst cells = row.getAllCells().map((c) => c.column.columnDef);\n\t\t\t\trow._valuesCache = formtValues(values, cells);\n\n\t\t\t\tconst data = { row, values, table };\n\n\t\t\t\tif (isEditMode) {\n\t\t\t\t\tawait onEditRow?.(data, 'edit');\n\t\t\t\t\ttable.setEditingRow(null);\n\t\t\t\t} else {\n\t\t\t\t\tawait onCreateRow?.(data);\n\t\t\t\t\ttable.setCreatingRow(null);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof yup.ValidationError) {\n\t\t\t\t\tconst fieldErrors = err.inner.reduce<Record<string, string>>((acc, { path, message }) => {\n\t\t\t\t\t\tif (path) acc[path] = message;\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {});\n\t\t\t\t\tsetValidationErrors((prev) => ({ ...prev, [rowId]: fieldErrors }));\n\t\t\t\t} else {\n\t\t\t\t\tenqueueSnackbar(\n\t\t\t\t\t\tgetErrorMessage(err instanceof Error ? err.message : 'Something went wrong'),\n\t\t\t\t\t\t{ variant: 'error' },\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tsetLoadingState(false);\n\t\t\t}\n\t\t},\n\t\t[validationSchema, onEditRow, onCreateRow, formtValues],\n\t);\n\n\tconst validate = useCallback(async (values: any, row?: any) => {\n\t\ttry {\n\t\t\tawait validationSchema.validate(values, { abortEarly: false, context: { row } });\n\t\t\tsetValidationErrors({});\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\treturn false\n\t\t}\n\t}, [validationSchema]);\n\n\tconst validateField = useCallback(\n\t\tasync (columnId: string, value: any, rowId: string, rowValues: any) => {\n\t\t\tif (!validationSchema || typeof validationSchema.validateAt !== 'function' || !validationSchema.fields || !validationSchema.fields[columnId]) return;\n\t\t\ttry {\n\t\t\t\tawait validationSchema.validateAt(\n\t\t\t\t\tcolumnId,\n\t\t\t\t\t{\n\t\t\t\t\t\t...rowValues,\n\t\t\t\t\t\t[columnId]: value,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tabortEarly: false,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tsetValidationErrors((prev) => {\n\t\t\t\t\tconst next = { ...prev };\n\t\t\t\t\tif (next[rowId]) {\n\t\t\t\t\t\tconst rowErrs = { ...next[rowId] };\n\t\t\t\t\t\tdelete rowErrs[columnId];\n\t\t\t\t\t\tnext[rowId] = rowErrs;\n\t\t\t\t\t}\n\t\t\t\t\treturn next;\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof yup.ValidationError) {\n\t\t\t\t\tconst fieldErrors = err.inner.reduce<Record<string, string>>((acc, { path, message }) => {\n\t\t\t\t\t\tif (path) acc[path] = message;\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {});\n\t\t\t\t\tsetValidationErrors((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t[rowId]: {\n\t\t\t\t\t\t\t...(prev[rowId] ?? {}),\n\t\t\t\t\t\t\t...fieldErrors,\n\t\t\t\t\t\t},\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[validationSchema],\n\t);\n\n\tconst valuesRef = useRef<Record<string, RowValues>>({});\n\n\t// ─── Public API: sync one field ────────────────────────────────────────────\n\tconst syncFieldValue = useCallback(\n\t\t(rowId: string, columnId: string, value: unknown) => {\n\t\t\tvaluesRef.current[rowId] = {\n\t\t\t\t...(valuesRef.current[rowId] ?? {}),\n\t\t\t\t[columnId]: value,\n\t\t\t};\n\t\t},\n\t\t[],\n\t);\n\n\tconst clearRow = useCallback((rowId: string) => {\n\t\tdelete valuesRef.current[rowId];\n\t}, []);\n\n\t// ─── Merge our cache on top of MRT's cache then the original row ───────────\n\tconst getRowValues = useCallback(\n\t\t(row: MRT_Row<TData>): RowValues => ({\n\t\t\t// 1. original row data — baseline\n\t\t\t...(row.original as RowValues),\n\t\t\t// 2. MRT's internal cache — contains what MRT-controlled fields wrote\n\t\t\t...(row._valuesCache as RowValues | undefined),\n\t\t\t// 3. Our own cache — authoritative for custom fields\n\t\t\t...(valuesRef.current[row.id] ?? {}),\n\t\t}),\n\t\t[],\n\t);\n\n\t// ─── Save helpers (kept stable across renders) ─────────────────────────────\n\tconst saveEditingRow = useCallback(\n\t\tasync (table: MRT_TableInstance<TData>) => {\n\t\t\tconst editingRow = table.getState().editingRow;\n\t\t\tconst creatingRow = table.getState().creatingRow;\n\t\t\tif (!editingRow) return;\n\t\t\tconst values = getRowValues(editingRow);\n\t\t\tconst isValid = await validate(values, editingRow);\n\t\t\tif (!isValid) {\n\t\t\t\t// Let handleSaveRow set the validation errors for display\n\t\t\t\tawait handleSaveRow({ row: editingRow, values, table }, 'edit');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait handleSaveRow({ row: editingRow, values, table }, 'edit');\n\t\t\tclearRow(editingRow.id);\n\t\t\tif (!creatingRow && enableRowCreate) {\n\t\t\t\tsetDisableNextEdit(false)\n\t\t\t\tsetTimeout(() => table.setCreatingRow(true), 200);\n\t\t\t} else {\n\t\t\t\tsetDisableNextEdit(false);\n\t\t\t}\n\t\t},\n\t\t[getRowValues, handleSaveRow, clearRow, validate, enableRowCreate],\n\t);\n\n\tconst saveCreatingRow = useCallback(\n\t\tasync (table: MRT_TableInstance<TData>) => {\n\t\t\tconst creatingRow = table.getState().creatingRow;\n\t\t\tif (!creatingRow) return;\n\t\t\tconst values = getRowValues(creatingRow);\n\t\t\tif (values?.['mrt-row-actions']) {\n\t\t\t\tdelete values['mrt-row-actions']\n\t\t\t}\n\t\t\tconst isValid = await validate(values, creatingRow);\n\t\t\tawait handleSaveRow({ row: creatingRow, values, table }, 'create');\n\t\t\tif (!isValid) return;\n\t\t\tif (isValid) {\n\t\t\t\tsetDisableNextEdit(false)\n\t\t\t\tclearRow('mrt-row-create');\n\t\t\t\tsetTimeout(() => table.setCreatingRow(true), 200);\n\t\t\t}\n\t\t},\n\t\t[getRowValues, clearRow, validate],\n\t);\n\n\tconst table = useMaterialReactTable({\n\t\t// options:{\n\t\t// \ttableLayout: \"auto\", // 👈 important\n\t\t// \tpadding: \"dense\",\n\t\t// },\n\t\t// columns: visibleColumns,\n\t\tdefaultColumn: {\n\t\t\tminSize: 0, // 👈 remove default min width\n\t\t\tsize: undefined, // 👈 optional, default size\n\t\t},\n\t\tcolumns: [\n\t\t\t...visibleColumns.map((c: any) => {\n\t\t\t\tconst headerWidth = getTextWidth(c.header || '');\n\t\t\t\tconst maxCellWidth = Math.max(\n\t\t\t\t\t...rows.map(row => getTextWidth(String(row[c.accessorKey] ?? '')))\n\t\t\t\t);\n\t\t\t\tconst finalWidth = Math.max(headerWidth, maxCellWidth);\n\t\t\t\treturn {\n\t\t\t\t\t...c,\n\t\t\t\t\t...(editDisplayMode === 'row'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\tEdit: ({ cell, row, table, column }) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<InlineEditFields\n\t\t\t\t\t\t\t\t\t\tcell={cell}\n\t\t\t\t\t\t\t\t\t\tcolumn={column}\n\t\t\t\t\t\t\t\t\t\tcol={c}\n\t\t\t\t\t\t\t\t\t\trow={row}\n\t\t\t\t\t\t\t\t\t\ttable={table}\n\t\t\t\t\t\t\t\t\t\tcallback={(s) => console.log('Save', s)}\n\t\t\t\t\t\t\t\t\t\terrors={validationErrors[row.id] ?? {}}\n\t\t\t\t\t\t\t\t\t\tvalidationSchema={validationSchema}\n\t\t\t\t\t\t\t\t\t\tsetValidationErrors={(errors: Record<string, string>) =>\n\t\t\t\t\t\t\t\t\t\t\tsetValidationErrors((prev) => ({ ...prev, [row.id]: errors }))\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonChangeRowField={onChangeRowField}\n\t\t\t\t\t\t\t\t\t\tgetSelectedData={(name, row) => getSelectedData?.(name, row)}\n\t\t\t\t\t\t\t\t\t\tsyncFieldValue={syncFieldValue}\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},\n\t\t\t\t\t\t}\n\t\t\t\t\t\t: {}),\n\t\t\t\t\tHeader: (\n\t\t\t\t\t\t<Box display='flex' alignItems='center'>\n\t\t\t\t\t\t\t{c.header}\n\t\t\t\t\t\t\t{c?.required || checkRequired(c?.editProperties) && (\n\t\t\t\t\t\t\t\t<Typography type='s5' color='theme.error.600'>\n\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t),\n\t\t\t\t\tenableColumnDragging: c.id !== 'actions',\n\t\t\t\t\t// cellStyle: { ...c.cellStyle, width: finalWidth },\n\t\t\t\t\t// headerStyle: { ...c.headerStyle, width: finalWidth },\n\t\t\t\t\t// size: finalWidth\n\t\t\t\t\tsize: undefined,\n\t\t\t\t\t// minSize: 40,\n\t\t\t\t\tmaxSize: 800,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...(!disableDefaultActionColumn\n\t\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'actions',\n\t\t\t\t\t\tenableEditing: false,\n\t\t\t\t\t\tsize: defaultActionColumnItems?.length > 1 ? 80 : 50,\n\t\t\t\t\t\theader: (\n\t\t\t\t\t\t\t<IconButton size=\"small\" sx={{ p: 0.5, '&:hover': { backgroundColor: 'transparent' } }} onClick={handleHeaderClick}>\n\t\t\t\t\t\t\t\t<img src={images.common.arrowIcon} alt='Arrow Icon' />\n\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tenableColumnDragging: false,\n\t\t\t\t\t\tvisible: true,\n\t\t\t\t\t\tmuiTableHeadCellProps: {\n\t\t\t\t\t\t\tclassName: 'pinned-column'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmuiTableBodyCellProps: {\n\t\t\t\t\t\t\tclassName: 'pinned-column',\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\twhiteSpace: 'pre-wrap'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCell: (props) =>\n\t\t\t\t\t\t\tdefaultActionColumnItems?.length ? (\n\t\t\t\t\t\t\t\tdefaultActionColumnItems.map((item) => {\n\t\t\t\t\t\t\t\t\tconst updatedProps = {\n\t\t\t\t\t\t\t\t\t\t...item.props,\n\t\t\t\t\t\t\t\t\t\tonClick: () => item.props.onClick(props)\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn cloneElement(item, updatedProps);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t) : !disabledDefaultActionColumnIcon && (\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\tonClick={(e) => handleActionsClick(e, props.row.original)} disabled={!rowActionMenu?.length && !destructiveActionMenu?.length}>\n\t\t\t\t\t\t\t\t\t<img src={images.more} alt='More Icon' />\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t: [])\n\t\t],\n\t\tdata: rows,\n\t\tmuiTablePaperProps: {\n\t\t\tsx: {\n\t\t\t\ttableLayout: 'auto', // lets columns shrink to fit content\n\t\t\t},\n\t\t},\n\t\tcolumnResizeMode: 'onChange',\n\t\tonEditingRowSave: async (data) => {\n\t\t\tawait handleSaveRow(data, 'edit');\n\t\t},\n\t\tonCreatingRowSave: async (data) => {\n\t\t\tawait handleSaveRow(data, 'create');\n\t\t},\n\t\tonCreatingRowCancel: () => resetRowSelection(),\n\t\tonEditingRowCancel: () => {\n\t\t\tsetDisableNextEdit(false);\n\t\t},\n\t\tonSortingChange: states?.sorting ? onSortingChange : setSorting,\n\n\t\tdisplayColumnDefOptions: {\n\t\t\t'mrt-row-actions': {\n\t\t\t\t// size: onDeleteRow ? 80 : 50,\n\n\t\t\t\tHeader: (\n\t\t\t\t\t<IconButton onClick={handleHeaderClick} size='small'>\n\t\t\t\t\t\t<img src={images.common.arrowIcon} alt='Arrow Icon' />\n\t\t\t\t\t</IconButton>\n\t\t\t\t),\n\t\t\t\tmuiTableBodyCellProps: ({ row, table }) => {\n\t\t\t\t\tconst isCreatingRow = table.getState().creatingRow?.id === row.id;\n\t\t\t\t\tconst isEditingRow = table.getState().editingRow?.id === row.id;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'& .MuiBox-root': {\n\t\t\t\t\t\t\t\tgap: 0\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbackgroundColor: '#fff',\n\t\t\t\t\t\t\twhiteSpace: 'pre-wrap',\n\t\t\t\t\t\t\t// Hide save button only when editing existing row (not in create mode or non-editable mode)\n\t\t\t\t\t\t\t...((hideSaveButton && (isEditingRow || isCreatingRow))\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t'& .MuiBox-root > .MuiIconButton-root:first-of-type': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t// Also hide any save icon buttons by aria-label or title\n\t\t\t\t\t\t\t\t\t'& button[aria-label*=\"Save\"]': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'& button[title*=\"Save\"]': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t// Hide save icon by class or data attributes\n\t\t\t\t\t\t\t\t\t'& .MuiIconButton-root[class*=\"save\"]': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'& .MuiIconButton-root[data-testid*=\"save\"]': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\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\t: {})\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\t'mrt-row-expand': {\n\t\t\t\tsize: 70, // Set the size of the expand-collapse arrow column here\n\t\t\t},\n\t\t\t'mrt-row-select': {\n\t\t\t\tsize: 50, // Set the width of the checkbox column here\n\t\t\t},\n\t\t},\n\t\trenderRowActions: ({ row, table }) => (\n\t\t\t<>\n\t\t\t\t{rest?.enableExpanding ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{row?.parentId && (\n\t\t\t\t\t\t\t<Box sx={{ display: 'flex', gap: 0 }}>\n\t\t\t\t\t\t\t\t{onDeleteRow && !hideDeleteButton?.(row.original) && (\n\t\t\t\t\t\t\t\t\t<Tooltip title='Delete'>\n\t\t\t\t\t\t\t\t\t\t<IconButton disabled={disableNextEdit} onClick={() => setRowToDelete(row)} size='small' className='delete-row'>\n\t\t\t\t\t\t\t\t\t\t\t<Trash fontSize='small' sx={{ color: 'theme.secondary.1000' }} />\n\t\t\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<Box sx={{ display: 'flex', gap: 0 }}>\n\t\t\t\t\t\t{onDeleteRow && !hideDeleteButton?.(row.original) && (\n\t\t\t\t\t\t\t<Tooltip title='Delete'>\n\t\t\t\t\t\t\t\t<IconButton disabled={disableNextEdit} onClick={() => setRowToDelete(row)} className='delete-row'>\n\t\t\t\t\t\t\t\t\t<Trash fontSize='small' sx={{ color: 'theme.secondary.1000' }} />\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</>\n\t\t),\n\n\t\t...(Boolean(enableRowCreate) && {\n\t\t\trenderBottomToolbarCustomActions: ({ table }) => (\n\t\t\t\t<Button\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\tstartIcon={<Add />}\n\t\t\t\t\tclassName='add-row-btn'\n\t\t\t\t\tdisabled={disableNextEdit}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\ttable.setCreatingRow(true); //simplest way to open the create row modal with no default values\n\t\t\t\t\t\tsetDisableNextEdit(true)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.add')}\n\t\t\t\t</Button>\n\t\t\t)\n\t\t}),\n\t\tonRowSelectionChange: setRowSelection,\n\t\tenableColumnOrdering: true,\n\t\tenableRowSelection: enableRowSelection ?? true,\n\t\tenableEditing: (row) => enableEditing instanceof Function ? enableEditing(row) : enableEditing ?? true,\n\t\teditDisplayMode: editDisplayMode ?? 'row',\n\t\tcreateDisplayMode: 'row',\n\t\tpositionCreatingRow: 'bottom',\n\t\tenableColumnResizing: enableColumnResizing,\n\t\tenableRowDragging: enableRowDragging,\n\t\tenableTopToolbar: false,\n\t\tenableColumnActions: false,\n\t\tenableSorting: true,\n\t\tenableGrouping: true,\n\t\tenableBottomToolbar: enableBottomToolbar ?? false,\n\t\tenableColumnDragging: enableColumnDragging ?? true,\n\t\tenableStickyHeader: true,\n\t\tenableSortingRemoval: false,\n\t\t// column ordering\n\t\tstate: {\n\t\t\t// columnOrder: (!columnOrder || columnOrder.length <= 1) \n\t\t\t// ? [...internalColumnOrder] \n\t\t\t// : [...columnOrder],\n\t\t\tcolumnOrder: columnOrder,\n\t\t\tcolumnPinning: { left: ['actions', 'mrt-row-actions'] },\n\t\t\tisSaving: isCreatingRow || isEditingRow,\n\t\t\tshowProgressBars: false,\n\t\t\trowSelection,\n\t\t\t...states,\n\t\t\tsorting: Array.isArray(states?.sorting) ? states?.sorting :\n\t\t\t\tArray.isArray(sorting) ? sorting : [],\n\t\t\tcolumnSizing\n\n\t\t},\n\t\tgetRowId: (row) => row?.id,\n\t\t// table.getState().editingRow\n\t\tmuiTableBodyRowProps: ({ row, table }) => {\n\t\t\tconst editingRowId =\n\t\t\t\ttable.getState()?.editingRow?.id ||\n\t\t\t\ttable.getState()?.creatingRow?.id ||\n\t\t\t\tnull;\n\t\t\tconst creatingRowId = table.getState()?.creatingRow?.id || null;\n\t\t\tconst isErrorRow = Boolean(row?.original?.has_error)\n\t\t\tconst isCurrentlyEditing = editingRowId === row.id;\n\n\t\t\treturn {\n\t\t\t\tonClick: () => {\n\t\t\t\t\tsetSelectedRow(row.id);\n\t\t\t\t\t// Edit triggering is now handled at cell level in muiTableBodyCellProps\n\t\t\t\t\t// to support isOnClickEditable column prop\n\t\t\t\t},\n\t\t\t\tsx: {\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t// backgroundColor: !editingRowId\n\t\t\t\t\t// \t? (selectedRow === row.id\n\t\t\t\t\t// \t\t? '#e8e8e8'\n\t\t\t\t\t// \t\t: (isErrorRow ? 'theme.error.100' : 'inherit'))\n\t\t\t\t\t// \t: 'inherit',\n\t\t\t\t\tbackgroundColor: !editingRowId\n\t\t\t\t\t\t? (isErrorRow ? 'theme.error.100' : 'inherit')\n\t\t\t\t\t\t: 'inherit',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tbackgroundColor: editingRowId\n\t\t\t\t\t\t\t? (editingRowId === row.id ? 'transparent' : 'inherit')\n\t\t\t\t\t\t\t: (isErrorRow ? 'theme.error.200' : '#e8e8e8')\n\t\t\t\t\t},\n\t\t\t\t\t'&:hover td:after': {\n\t\t\t\t\t\tbackgroundColor: 'transparent' // Removes the grey background applied via :after\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tonColumnOrderChange: (colOrder: any) => {\n\t\t\tif (handleColumnOrdering) handleColumnOrdering(colOrder);\n\t\t},\n\t\tonColumnSizingChange: setColumnSizing,\n\t\tonColumnSizingInfoChange: setColumnSizingInfo,\n\n\t\trenderEmptyRowsFallback: () => (\n\t\t\t<Box className='no-data'>\n\t\t\t\t<img src={images.common.tableNoData} />\n\t\t\t\t<Typography type='s3' weight='medium' color='theme.secondary.1000'>\n\t\t\t\t\t{/* sx={{ textAlign: 'center', pb: 4.75, pt: 4.75 }}> */}\n\t\t\t\t\t{t('common.noData')}\n\t\t\t\t</Typography>\n\t\t\t</Box>\n\t\t),\n\n\t\t// pagination\n\t\tenablePagination: enablePagination,\n\t\tpaginationDisplayMode: 'pages',\n\t\tmuiPaginationProps: {\n\t\t\tshape: 'rounded',\n\t\t\tpage: pageNo, // current page number\n\t\t\tcount: totalPages, // total pages\n\t\t\tshowRowsPerPage: false, // Hide rows per page options\n\t\t\tboundaryCount: 3\n\t\t},\n\n\t\tmuiEditTextFieldProps: ({ row, column }) => ({\n\t\t\tInputProps: {\n\t\t\t\tdisableUnderline: true\n\t\t\t},\n\t\t\tonBlur: (e) => {\n\t\t\t\tupdateData(e.target.value, column, row.id);\n\t\t\t},\n\t\t\t// onChange: (e) => {\n\t\t\t// \tupdateData(e.target.value, column, row.id);\n\t\t\t// },\n\t\t\tvariant: 'outlined',\n\t\t\tsx: ({ palette }) => ({\n\t\t\t\t'& .MuiOutlinedInput-root': {\n\t\t\t\t\t'& fieldset': {\n\t\t\t\t\t\tborderColor: `${palette.theme?.primary[700]} !important`\n\t\t\t\t\t\t// backgroundColor: palette.theme?.primary[700]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}),\n\n\t\t/* Table loader style */\n\t\tmuiCircularProgressProps: {\n\t\t\tsx: {\n\t\t\t\tcolor: '#289B64'\n\t\t\t}\n\t\t},\n\n\t\t// Table header cell default styles\n\t\tmuiTableHeadCellProps: {\n\t\t\tsx: {\n\t\t\t\tlineHeight: '140%',\n\t\t\t\tletterSpacing: '-0.28px',\n\t\t\t\tfontWeight: '500',\n\t\t\t\tfontSize: '0.875rem',\n\t\t\t\t'& .Mui-TableHeadCell-Content': {\n\t\t\t\t\theight: '100%'\n\t\t\t\t},\n\t\t\t\t'& .Mui-TableHeadCell-Content-Labels': {\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\tjustifyContent: 'space-between'\n\t\t\t\t},\n\t\t\t\t'&.pinned-column': {\n\t\t\t\t\tbackgroundColor: '#fff'\n\t\t\t\t},\n\t\t\t\t'& .Mui-TableHeadCell-ResizeHandle-Wrapper': {\n\t\t\t\t\tpadding: 0,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t\tright: '-5px',\n\t\t\t\t\topacity: 0\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\n\t\t// Table body cell default styles\n\t\tmuiTableBodyProps: {\n\t\t\tsx: {\n\t\t\t\tzIndex: 500\n\t\t\t}\n\t\t},\n\t\tmuiTableHeadProps: {\n\t\t\tsx: {\n\t\t\t\tzIndex: 600\n\t\t\t}\n\t\t},\n\t\tmuiTableBodyCellProps: ({ cell, column, table, row }) => ({\n\t\t\tsx: {\n\t\t\t\tlineHeight: '140%',\n\t\t\t\tletterSpacing: '-0.26px',\n\t\t\t\tfontWeight: '400',\n\t\t\t\tfontSize: '0.8125rem',\n\t\t\t\t'&.pinned-column': {\n\t\t\t\t\tbackgroundColor: '#fff'\n\t\t\t\t},\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackgroundColor: 'transparent' // Removes hover effect globally\n\t\t\t\t},\n\t\t\t\twhiteSpace: 'pre-wrap'\n\t\t\t},\n\t\t\tonClick: (e: React.MouseEvent) => {\n\t\t\t\tconst target = e.target as HTMLElement;\n\n\t\t\t\t// Check if click is inside table\n\t\t\t\t// const isInsideTable = target.closest('.MuiTableContainer-root, .MuiPaper-root, .MRT_Table');\n\t\t\t\tconst tableCell = target.closest('.MuiTableCell-body');\n\n\t\t\t\tconst isInsideTable = tableCell && !tableCell.querySelector('.delete-row');\n\n\t\t\t\tif (!isInsideTable) return; // Ignore clicks outside table or on delete button\n\n\t\t\t\tconst columnDef = column.columnDef as MaterialEditableTableColumnProps;\n\t\t\t\tconst isOnClickEditable = columnDef.isOnClickEditable !== false; // Default to true\n\n\t\t\t\tif (!isOnClickEditable) {\n\t\t\t\t\treturn; // Don't trigger edit mode for this column\n\t\t\t\t}\n\n\t\t\t\tconst editingRowId = table.getState()?.editingRow?.id || table.getState()?.creatingRow?.id || null;\n\t\t\t\tconst isCurrentlyEditing = editingRowId === row.id;\n\n\t\t\t\t// If another row is already in edit/create mode, save it first then edit this row\n\t\t\t\tif (editingRowId && editingRowId !== row.id) {\n\t\t\t\t\tconst currentEditingRow = table.getState().editingRow;\n\t\t\t\t\tconst currentCreatingRow = table.getState().creatingRow;\n\n\t\t\t\t\t(async () => {\n\t\t\t\t\t\tlet saveSucceeded = false;\n\t\t\t\t\t\tif (currentCreatingRow) {\n\t\t\t\t\t\t\tconst values = getRowValues(currentCreatingRow);\n\t\t\t\t\t\t\tconst isValid = await validate(values, currentCreatingRow);\n\t\t\t\t\t\t\tif (!isValid) return; // stay on current row if invalid\n\t\t\t\t\t\t\tawait handleSaveRow({ row: currentCreatingRow, values, table }, 'create');\n\t\t\t\t\t\t\tclearRow('mrt-row-create');\n\t\t\t\t\t\t\tsaveSucceeded = true;\n\t\t\t\t\t\t} else if (currentEditingRow) {\n\t\t\t\t\t\t\tconst values = getRowValues(currentEditingRow);\n\t\t\t\t\t\t\tconst isValid = await validate(values, currentEditingRow);\n\t\t\t\t\t\t\tif (!isValid) return; // stay on current row if invalid\n\t\t\t\t\t\t\tawait handleSaveRow({ row: currentEditingRow, values, table }, 'edit');\n\t\t\t\t\t\t\tclearRow(currentEditingRow.id);\n\t\t\t\t\t\t\tsaveSucceeded = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (saveSucceeded) {\n\t\t\t\t\t\t\ttable.setEditingRow(row);\n\t\t\t\t\t\t\tsetDisableNextEdit(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t})();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Set the row as editable when clicked if not already editing and no other row is being edited\n\t\t\t\tif (!isCurrentlyEditing && !editingRowId) {\n\t\t\t\t\ttable.setEditingRow(row);\n\t\t\t\t\tsetDisableNextEdit(true);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonKeyUp: (e: React.KeyboardEvent) => {\n\t\t\t\tconst creatingRowId =\n\t\t\t\t\ttable.getState().creatingRow?.id ?? null;\n\n\t\t\t\t// ── Escape ──────────────────────────────────────────────────────────\n\t\t\t\tif (e.key === 'Escape') {\n\t\t\t\t\tif (creatingRowId === row.id) {\n\t\t\t\t\t\tclearRow('mrt-row-create');\n\t\t\t\t\t\ttable.setCreatingRow(null);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst editingRow = table.getState().editingRow;\n\t\t\t\t\t\tif (editingRow) {\n\t\t\t\t\t\t\tclearRow(editingRow.id);\n\t\t\t\t\t\t\ttable.setEditingRow(null);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsetDisableNextEdit(false);\n\t\t\t\t\tsetValidationErrors({});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// ── Enter ───────────────────────────────────────────────────────────\n\t\t\t\tif (e.key === 'Enter') {\n\t\t\t\t\t// Minimal timeout: let the last field onChange flush its state.\n\t\t\t\t\t// Our valuesRef is already written, so 0ms is safe.\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst currentCreatingRow = table.getState().creatingRow;\n\t\t\t\t\t\tconst currentEditingRow = table.getState().editingRow;\n\n\t\t\t\t\t\tif (currentCreatingRow) {\n\t\t\t\t\t\t\tsaveCreatingRow(table);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (currentEditingRow) {\n\t\t\t\t\t\t\tsaveEditingRow(table);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0); // 0 ms is enough — values are already in valuesRef\n\t\t\t\t}\n\t\t\t},\n\t\t}),\n\n\t\t// Checkbox styling\n\t\tmuiSelectCheckboxProps: {\n\t\t\tsx: {\n\t\t\t\tcolor: 'theme.secondary.300',\n\t\t\t\t'&.Mui-checked': {\n\t\t\t\t\tcolor: 'theme.primary.600',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tcolor: 'theme.primary.500'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\tcolor: 'theme.secondary.200'\n\t\t\t\t}\n\t\t\t},\n\t\t\ticon: <RecgtangleIcon sx={{ width: 20, height: 20 }} />,\n\t\t\tcheckedIcon: <CheckBoxIcon sx={{ width: 20, height: 20 }} />\n\t\t},\n\t\tmuiSelectAllCheckboxProps: {\n\t\t\tsx: {\n\t\t\t\tcolor: 'theme.secondary.300',\n\t\t\t\t'&.Mui-checked': {\n\t\t\t\t\tcolor: 'theme.primary.600',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tcolor: 'theme.primary.500'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\tcolor: 'theme.secondary.600'\n\t\t\t\t}\n\t\t\t},\n\t\t\ticon: <RecgtangleIcon sx={{ width: 20, height: 20 }} />,\n\t\t\tcheckedIcon: <CheckBoxIcon sx={{ width: 20, height: 20 }} />\n\t\t},\n\t\tmuiBottomToolbarProps: {\n\t\t\tsx: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t\t'& .MuiBox-root': {\n\t\t\t\t\tpaddingLeft: 0\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tlayoutMode: 'grid',\n\t\ticons: {\n\t\t\tDragHandleIcon: () => <RecgtangleIcon fontSize='medium' />,\n\t\t\tSortIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tArrowDownwardIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tArrowUpwardIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tExpandMoreIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tExpandLessIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tSyncAltIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tCancelIcon: (props: SvgIconProps) => (\n\t\t\t\t<Close fontSize='small' {...props} color='theme.secondary.1000' />\n\t\t\t)\n\t\t},\n\n\t\t...rest\n\t});\n\n\tuseEffect(() => {\n\t\tif (enableRowSelection) {\n\t\t\tif (table?.getSelectedRowModel()?.rows) {\n\t\t\t\tSetSelectedRowId?.(table?.getSelectedRowModel()?.rows);\n\t\t\t}\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [enableRowSelection]);\n\n\tuseEffect(() => {\n\t\tif (onSelectRow) {\n\t\t\tif (rest?.enableExpanding) {\n\t\t\t\tconst selectedRowModels: any[] = [];\n\t\t\t\tconst selection = table.getState().rowSelection; // e.g., { 0.0: true }\n\t\t\t\tconst traverseRows = (rows, parentKey = '') => {\n\t\t\t\t\trows.forEach((row: any, index: number) => {\n\t\t\t\t\t\tconst rowKey = parentKey ? `${parentKey}.${index}` : `${row.id}`;\n\t\t\t\t\t\tif (selection[rowKey]) {\n\t\t\t\t\t\t\tselectedRowModels.push(row);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Check for sub-rows and traverse further\n\t\t\t\t\t\tif (row.subRows?.length) {\n\t\t\t\t\t\t\ttraverseRows(row.subRows, rowKey);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\ttraverseRows(table.getRowModel().rows);\n\t\t\t\tonSelectRow(selectedRowModels, rowSelection);\n\t\t\t} else {\n\t\t\t\tonSelectRow(table.getSelectedRowModel().rows, rowSelection);\n\t\t\t}\n\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [rowSelection, table]);\n\n\t// useEffect(() => {\n\t// \tconst relativeContainer = document.getElementsByClassName(\n\t// \t\t'MuiTableContainer-root'\n\t// \t)[0];\n\t// \tconst fixedElement = document.getElementsByClassName('no-data')[0];\n\t// \trelativeContainer.addEventListener('scroll', () => {\n\t// \t\tconst scrollLeft = relativeContainer.scrollLeft;\n\t// \t\tfixedElement.style.left = `${scrollLeft + 100}px`;\n\t// \t});\n\t// }, []);\n\n\tuseEffect(() => {\n\t\tif (isResetRow) {\n\t\t\ttable?.resetRowSelection();\n\t\t}\n\t}, [isResetRow, table]);\n\n\t// Auto-open first row in edit mode when enableFirstRowEdit is true\n\tconst hasAutoEditedFirstRow = useRef(false);\n\tuseEffect(() => {\n\t\tif (\n\t\t\tenableFirstRowEdit &&\n\t\t\t!hasAutoEditedFirstRow.current &&\n\t\t\trows?.length > 0\n\t\t) {\n\t\t\t// Get a fresh row reference from the current table model\n\t\t\tconst tableRows = table.getRowModel().rows;\n\t\t\tconst firstRow = tableRows[0];\n\t\t\tif (firstRow) {\n\t\t\t\thasAutoEditedFirstRow.current = true;\n\t\t\t\t// Pre-initialize _valuesCache from original data so InlineEditFields\n\t\t\t\t// has a populated cache from the start\n\t\t\t\tif (!firstRow._valuesCache || Object.keys(firstRow._valuesCache).length === 0) {\n\t\t\t\t\tfirstRow._valuesCache = { ...firstRow.original };\n\t\t\t\t}\n\t\t\t\ttable.setEditingRow(firstRow);\n\t\t\t\tsetDisableNextEdit(true);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [enableFirstRowEdit, rows, table]);\n\n\t// Handle clicks outside the table to save and exit edit mode - ADVANCED EVENT DELEGATION\n\tuseEffect(() => {\n\t\tif (!table) return;\n\n\t\tlet dropdownOpenTimer: NodeJS.Timeout;\n\t\tlet saveTimer: NodeJS.Timeout;\n\t\tlet lastDropdownClick = 0;\n\t\tlet isDropdownInteraction = false;\n\n\t\t// Track dropdown interactions with precise timing\n\t\tconst handleMouseDown = (e: MouseEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst isDropdownElement = target.closest(\n\t\t\t\t'.MuiSelect-root, .MuiMenuItem-root, .MuiPopover-root, .MuiList-root, ' +\n\t\t\t\t'.MuiMenu-list, .MuiButtonBase-root, ' +\n\t\t\t\t'.MuiFormControl-root, .MuiInputBase-root, .MuiTextField-root, ' +\n\t\t\t\t'.MuiOutlinedInput-root, .MuiFilledInput-root, .MuiAutocomplete-popper, ' +\n\t\t\t\t'.MuiPickersPopper-root, [role=\"option\"], [role=\"listbox\"], [role=\"combobox\"]'\n\t\t\t);\n\n\t\t\tif (isDropdownElement) {\n\t\t\t\tisDropdownInteraction = true;\n\t\t\t\tlastDropdownClick = Date.now();\n\t\t\t\t// Clear any pending save when dropdown interaction starts\n\t\t\t\tif (saveTimer) {\n\t\t\t\t\tclearTimeout(saveTimer);\n\t\t\t\t}\n\t\t\t\t// Set a timer to reset dropdown interaction flag\n\t\t\t\tif (dropdownOpenTimer) {\n\t\t\t\t\tclearTimeout(dropdownOpenTimer);\n\t\t\t\t}\n\t\t\t\tdropdownOpenTimer = setTimeout(() => {\n\t\t\t\t\tisDropdownInteraction = false;\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t};\n\n\t\t// Handle clicks with sophisticated logic\n\t\tconst handleClick = (e: MouseEvent) => {\n\t\t\tconst editingRow = table.getState()?.editingRow;\n\t\t\tconst creatingRow = table.getState()?.creatingRow;\n\t\t\tif (!editingRow && !creatingRow) return;\n\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst now = Date.now();\n\n\t\t\t// Don't process if we recently had a dropdown interaction\n\t\t\tif (isDropdownInteraction || (now - lastDropdownClick) < 300) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check if click is inside table\n\t\t\t// const isInsideTable = target.closest('.MuiTableContainer-root, .MuiPaper-root, .MRT_Table');\n\t\t\tconst isInsideTable = target.closest('.MRT-TableWrapper');\n\n\t\t\t// Only save if clicking outside table and no recent dropdown interaction\n\t\t\tif (!isInsideTable) {\n\t\t\t\t// Clear any existing save timer\n\t\t\t\tif (saveTimer) {\n\t\t\t\t\tclearTimeout(saveTimer);\n\t\t\t\t}\n\n\t\t\t\t// Schedule save with additional delay for safety\n\t\t\t\tsaveTimer = setTimeout(async () => {\n\t\t\t\t\tconst currentEditingRow = table.getState()?.editingRow;\n\t\t\t\t\tconst currentCreatingRow = table.getState()?.creatingRow;\n\t\t\t\t\tif (isDropdownInteraction) return;\n\t\t\t\t\tif (currentCreatingRow) {\n\t\t\t\t\t\tconst values = getRowValues(currentCreatingRow);\n\t\t\t\t\t\tawait handleSaveRow({ row: currentCreatingRow, values, table }, 'create');\n\t\t\t\t\t\tclearRow('mrt-row-create');\n\t\t\t\t\t\tsetDisableNextEdit(false);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (currentEditingRow) {\n\t\t\t\t\t\tconst values = getRowValues(currentEditingRow);\n\t\t\t\t\t\tawait handleSaveRow({ row: currentEditingRow, values, table }, 'edit');\n\t\t\t\t\t\tclearRow(currentEditingRow.id);\n\t\t\t\t\t\tsetDisableNextEdit(false);\n\t\t\t\t\t}\n\t\t\t\t}, 200);\n\t\t\t}\n\t\t};\n\n\t\t// Use both mousedown and click for comprehensive tracking\n\t\tdocument.addEventListener('mousedown', handleMouseDown, true);\n\t\tdocument.addEventListener('click', handleClick, true);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleMouseDown, true);\n\t\t\tdocument.removeEventListener('click', handleClick, true);\n\t\t\tif (dropdownOpenTimer) {\n\t\t\t\tclearTimeout(dropdownOpenTimer);\n\t\t\t}\n\t\t\tif (saveTimer) {\n\t\t\t\tclearTimeout(saveTimer);\n\t\t\t}\n\t\t};\n\t}, [table, handleSaveRow, getRowValues, clearRow]);\n\treturn (\n\t\t<TableWrapper className='MRT-TableWrapper custom-table'>\n\t\t\t<MaterialReactTable table={table} />\n\n\t\t\t<Menu\n\t\t\t\tanchorEl={anchorEl}\n\t\t\t\topen={Boolean(anchorEl)}\n\t\t\t\tonClose={handleHeaderClose}\n\t\t\t\tclassName='add-role-drp'>\n\t\t\t\t{popUpShow ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={handleBackButtonClick}\n\t\t\t\t\t\t\tclassName='role-drp-list add-column-title'>\n\t\t\t\t\t\t\t<ListItemIcon className='add-icon'>\n\t\t\t\t\t\t\t\t<ChevronLeftIcon />\n\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t<ListItemText className='title'>\n\t\t\t\t\t\t\t\t{t('common.addColumn_label')}\n\t\t\t\t\t\t\t</ListItemText>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<Divider flexItem sx={{ mt: '0.25rem !important', mb: '0.25rem !important' }} />\n\t\t\t\t\t\t<div className='searchbar-box-list'>\n\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\tplaceholder={'Search User'}\n\t\t\t\t\t\t\t\thandleSearch={(e) => handleSearchEvent(e)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className='all-attribute-title'>\n\t\t\t\t\t\t\t<Typography variant='body2' color='text.secondary'>\n\t\t\t\t\t\t\t\t{t('common.allAttributes_label')}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{filteredOptions.map((column: any) => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tkey={column.accessorKey}\n\t\t\t\t\t\t\t\tonClick={() => handleAddColumn(column)}>\n\t\t\t\t\t\t\t\t<Typography color='theme.secondary.1000' type='s3'>\n\t\t\t\t\t\t\t\t\t{column.header}\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<Divider flexItem sx={{ mt: '0.25rem !important', mb: '0.25rem !important' }} />\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tenableAddCustomField && <MenuItem onClick={handleCustomAddColumn} className='role-drp-list'>\n\t\t\t\t\t\t\t\t<ListItemIcon className='add-icon'>\n\t\t\t\t\t\t\t\t\t<img src={images.common.addIcon} alt='Add Icon' />\n\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t\t<ListItemText className='title'>\n\t\t\t\t\t\t\t\t\t{t('common.addCustomField_label')}\n\t\t\t\t\t\t\t\t</ListItemText>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{visibleColumns.map((column: any) => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tkey={column.accessorKey}\n\t\t\t\t\t\t\t\tonClick={() => handleVisibleColumn(column)}\n\t\t\t\t\t\t\t\tclassName='role-drp-list'>\n\t\t\t\t\t\t\t\t<ListItemIcon className='add-icon'>\n\t\t\t\t\t\t\t\t\t<img src={images.common.dotsIcon} alt='Add Icon' />\n\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t\t<ListItemText className='title'>{column.header}</ListItemText>\n\t\t\t\t\t\t\t\t<ListItemIcon className='eye-icon'>\n\t\t\t\t\t\t\t\t\t<img src={images.common.eyeIcon} alt='Eye Icon' />\n\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<Divider flexItem sx={{ mt: '0.25rem !important', mb: '0.25rem !important' }} />\n\t\t\t\t\t\t<MenuItem onClick={handleAddButtonClick} className='role-drp-list'>\n\t\t\t\t\t\t\t<ListItemIcon className='add-icon'>\n\t\t\t\t\t\t\t\t<img src={images.common.addIcon} alt='Add Icon' />\n\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t<ListItemText className='title'>\n\t\t\t\t\t\t\t\t{t('common.addColumn_label')}\n\t\t\t\t\t\t\t</ListItemText>\n\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\tvariant='body2'\n\t\t\t\t\t\t\t\tcolor='text.secondary'\n\t\t\t\t\t\t\t\tclassName='eye-icon'>\n\t\t\t\t\t\t\t\t<ChevronRightIcon sx={{ fontSize: '1.25rem !important' }} />\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Menu>\n\n\t\t\t<Menu\n\t\t\t\tanchorEl={rowAnchorEl}\n\t\t\t\topen={Boolean(rowAnchorEl)}\n\t\t\t\tonClose={handleActionsClose}>\n\t\t\t\t{rowActionMenu?.map((option: any) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(option.label === 'Move' &&\n\t\t\t\t\t\t\t(row?.is_directory === true || row?.is_directory === 1)) ||\n\t\t\t\t\t\t(option.label === 'Download' &&\n\t\t\t\t\t\t\t(row?.is_directory === true ||\n\t\t\t\t\t\t\t\trow?.is_directory === 1 ||\n\t\t\t\t\t\t\t\trow?.drive?.is_directory === true ||\n\t\t\t\t\t\t\t\trow?.drive?.is_directory === 1))\n\t\t\t\t\t) {\n\t\t\t\t\t\t// return null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\tawait option.handleAction(row);\n\t\t\t\t\t\t\t\tsetRowAnchorEl(null);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\ttypeof option.disabled === 'function'\n\t\t\t\t\t\t\t\t\t? option.disabled(row)\n\t\t\t\t\t\t\t\t\t: Boolean(option.disabled)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsx={{ alignItems: 'center', gap: 0.5 }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{option?.icon}\n\t\t\t\t\t\t\t<Typography type='s4' color='inherit'>\n\t\t\t\t\t\t\t\t{typeof option.label === 'function' ? option.label(row) : option.label}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{destructiveActionMenu?.length > 0 &&\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Divider flexItem sx={{ mt: '0.25rem !important', mb: '0.25rem !important' }} />\n\t\t\t\t\t\t<div className='dropdown-inner--DestructiveHeader'>\n\t\t\t\t\t\t\t{destructiveActionMenu?.map((option: any) => (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\toption.handleAction(row);\n\t\t\t\t\t\t\t\t\t\tsetRowAnchorEl(null);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName='dropdown-inner--DestructiveActions'\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\ttypeof option.disabled === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? option.disabled(row)\n\t\t\t\t\t\t\t\t\t\t\t: Boolean(option.disabled)\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t<Typography type='s4' color='inherit'>\n\t\t\t\t\t\t\t\t\t\t{typeof option.label === 'function' ? option.label(row) : option.label}\n\t\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t</Menu>\n\t\t\t<ConfirmPopUp\n\t\t\t\topen={Boolean(rowToDelete)}\n\t\t\t\tonClose={() => setRowToDelete(null)}\n\t\t\t\tonConfirm={() => handleRowDelete()}\n\t\t\t\ttitle='Delete Item'\n\t\t\t\tdescription={`Are you sure you want to delete entry ?`}\n\t\t\t\tloading={isDeletingRow}\n\t\t\t/>\n\t\t</TableWrapper>\n\t);\n});\n\nexport { MaterialEditableTable };\nexport default MaterialEditableTable;"],"names":["React","yup","_a","columns","row","table","path","isCreatingRow","isEditingRow","Add","rows","_b"],"mappings":"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"}
1
+ {"version":3,"file":"material-editable-table-pAyK7KYf.esm.js","sources":["../../src/components/material-editable-table/material-editable-table.tsx"],"sourcesContent":["/* eslint-disable unused-imports/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-mixed-spaces-and-tabs */\nimport React, { cloneElement, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n\tMRT_ColumnDef,\n\tMRT_ColumnSizingInfoState,\n\tMRT_ColumnSizingState,\n\tMRT_Header,\n\tMRT_Row,\n\tMRT_RowData,\n\tMRT_RowSelectionState,\n\tMRT_SortingState,\n\tMRT_TableInstance,\n\tMRT_TableState,\n\tMaterialReactTable,\n\tMaterialReactTableProps,\n\tuseMaterialReactTable,\n\t// Cell\n} from 'material-react-table';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport {\n\tBox,\n\tstyled,\n\tMenuItem,\n\tIconButton,\n\tListItemIcon,\n\tListItemText,\n\tSvgIconProps,\n\tDivider\n} from '@mui/material';\nimport ChevronRightIcon from '@mui/icons-material/ChevronRight';\nimport ChevronLeftIcon from '@mui/icons-material/ChevronLeft';\nimport Menu from '../menu/menu';\nimport Typography from '../typography/typography';\nimport SearchBar from '../search-bar/search-bar';\nimport images from '../../assets/images';\n// import DeleteIcon from \"@mui/icons-material/Delete\";\n// import UpdateIcon from \"@mui/icons-material/Update\";\n// import PlayIcon from \"@mui/icons-material/PlayArrow\";\n\nimport './material-editable-table.scss';\nimport {\n\tArrowUpDown,\n\tCheckBoxIcon,\n\tClose,\n\tRecgtangleIcon,\n\tTrash,\n\tSave\n} from '../icons';\n// import {\n// \tArrowDropDown /* , SaveOutlined */,\n// \tArrowDropUp\n// } from '@mui/icons-material';\nimport InlineEditFields from './components/inline-edit-fields';\nimport Tooltip from '../tooltip/Tooltip';\nimport Button from '../button/button';\nimport Add from '@mui/icons-material/Add';\nimport dayjs from 'dayjs';\nimport * as yup from 'yup';\nimport ConfirmPopUp from '../confirm-modal/confirm-modal';\nimport { useTranslation } from 'react-i18next';\nimport { useSnackbar } from 'notistack';\nimport { getErrorMessage } from '../../utils/common';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { useNavigate } from 'react-router-dom';\n// import { PathnameAccounting } from 'accounting/src/pathname.accounting';\n// import { PathnameInventory } from 'inventory/src/pathname.inventory';\n// import { PathnameManufacturing } from 'manufacturing/src/pathname.manufacturing';\n// import { PathnamePurchase } from 'procurement/src/pathname.procurement';\n// import { PathnameCrm } from 'crm/src/pathname.crm';\n// import { PathnameUsers } from '../../constants/pathnames/pathname.user';\n// import { PathnameRental } from '../../../../rental/src/pathname.rental';\n// import { PathnameDocument } from 'document/src/pathname.document';\nimport { PathnameDocument } from '../../constants/pathnames/pathname.document';\nimport { PathnameAccounting } from '../../constants/pathnames/pathname.accounting';\nimport { PathnameInventory } from '../../constants/pathnames/pathname.inventory';\nimport { PathnameManufacturing } from '../../constants/pathnames/pathname.manufacturing';\nimport { PathnamePurchase } from '../../constants/pathnames/pathname.procurement';\nimport { PathnameCrm } from '../../constants/pathnames/pathname.crm';\nimport { PathnameUsers } from '../../constants/pathnames/pathname.user';\nimport { PathnameRental } from '../../constants/pathnames/pathname.rental';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\n\ntype ExtraEditVariants =\n\t| 'file'\n\t| 'image'\n\t| 'date'\n\t| 'number'\n\t| 'time'\n\t| 'date_time'\n\t| 'phone'\n\t| 'checkbox';\n\ntype DisableFunction = (row: any, virtualRow?: any) => boolean;\n\nexport type TypeBooleanLabels = { 1: string; 0: string; true: string; false: string }\n\nexport interface MaterialEditableTableColumnProps\n\textends Omit<MRT_ColumnDef<MRT_RowData>, 'editVariant'> {\n\tvisible?: boolean;\n\ttype?: string;\n\tshowDefaultCurrency?: boolean,\n\tvalueGet?: string;\n\tcustom_class?: string;\n\ttypeArrayAccessorKey?: string; //when type is an array of object\n\ttypeBooleanLabels?: TypeBooleanLabels; //when type is an boolean\n\teditVariant?: MRT_ColumnDef<MRT_RowData>['editVariant'] | ExtraEditVariants;\n\teditProperties?: {\n\t\tfield_name?: string;\n\t\tvalueKey?: string;\n\t\tplaceholder?: string;\n\t\tdateFormat?: string;\n\t\tvalidations?: any[];\n\t\tis_multiple?: boolean;\n\t\tis_multiline?: boolean;\n\t\tdisable?: boolean | DisableFunction;\n\t\tmin_date?: any;\n\t\tmax_date?: any;\n\t};\n\tredirectionPathWithId?: string;\n\tidField?: string;\n\tisOnClickEditable?: boolean; // Controls whether clicking this column triggers row edit mode (default: true)\n}\n\n\n\nexport interface MaterialEditableTableColumnHeaderProps {\n\tcolumn: MRT_ColumnDef<any, any>;\n\theader: MRT_Header<any>;\n\ttable: MRT_TableInstance<any>;\n}\n\ntype rowSelectionCallback = (row: MRT_Row) => boolean\n\ninterface MaterialEditableTablePropsType {\n\tenablePagination?: boolean;\n\trows: any;\n\ttotalPages: number;\n\tcolumns: any;\n\tpaginationModel: IPaginationModel;\n\tcolumnOrder?: string[];\n\tupdateData?: any;\n\thandleColumnOrdering?: (colOrder: any) => void;\n\tenableEditing?: boolean;\n\tenableColumnDragging?: boolean;\n\trowActionMenu?: any;\n\tdestructiveActionMenu?: any;\n\tgetRowId?: any;\n\tstates?: Partial<MRT_TableState<any>>;\n\tonSortingChange?: any;\n\tdisableDefaultActionColumn?: boolean;\n\tenableRowSelection?: boolean | rowSelectionCallback;\n\tdefaultActionColumnItems?: React.ReactElement[];\n\tenableBottomToolbar?: boolean;\n\tSetSelectedRowId?: any;\n\tisResetRow?: boolean;\n\tonCreateRow?: (data: any) => Promise<unknown>;\n\tonEditRow?: (data: any) => Promise<unknown>;\n\tonDeleteRow?: (data: any) => Promise<unknown>;\n\teditDisplayMode?: MaterialReactTableProps<any>['editDisplayMode'];\n\tenableRowCreate?: boolean;\n\tonChangeRowField?: (e: any, type: string, row: any) => void;\n\tonSelectRow?: (rows: any, prevSelected?: any) => any;\n\tenableColumnResizing?: boolean;\n\tselectedRowIds?: any[];\n\tonColumnVisibility?: (columns: MaterialTableColumnProps[]) => void\n\tgetSelectedData: any;\n\tenableAddCustomField?: boolean;\n\tdisabledDefaultActionColumnIcon?: boolean\n\tenableRowDragging?: boolean\n\thandleColumnResizing?: (sizes: MRT_ColumnSizingState) => void,\n\tcolumnSizes?: MRT_ColumnSizingState,\n\thideSaveButton?: boolean;\n\thideDeleteButton?: (row: any) => boolean;\n\tenableFirstRowEdit?: boolean;\n}\n\nconst TableWrapper = styled(Box)(({ theme: { palette } }) => ({\n\t'.MuiTableCell-root': {\n\t\tborder: '1px solid #efefef',\n\t\tborderBottom: 0,\n\t\tborderLeft: 0,\n\t\tpadding: '0 0.5rem',\n\t\tlineHeight: '19px',\n\t\tfontSize: '14px',\n\t\tminHeight: 32,\n\t\t// '&:first-child': {\n\t\t// \tborderLeft: '1px solid #efefef'\n\t\t// },\n\t\t// '&:last-child': {\n\t\t// \tborderBottom: '1px solid #efefef'\n\t\t// }\n\n\t},\n\t'.MuiTableCell-head': {\n\t\tbackgroundColor: palette.theme?.secondary[100]\n\t},\n\t'.MuiTableContainer-root': {\n\t\tmaxHeight: 'clamp(350px, 100vh - 200px, 9999px) !important',\n\t},\n\n\t'.MuiPaper-root': {\n\t\tboxShadow: 'none',\n\n\t},\n\t'.MuiPaginationItem-root': {\n\t\t'&.Mui-selected': {\n\t\t\tbackgroundColor: palette?.theme?.primary[700],\n\t\t\tcolor: 'white'\n\t\t}\n\t},\n\t'.MuiTableRow-root': {\n\t\t'&.Mui-selected': {\n\t\t\tbackgroundColor: `${palette?.theme?.primary[100]} !important`,\n\t\t\tcolor: 'white'\n\t\t}\n\t},\n\t'.MuiCheckbox-indeterminate': {\n\t\tcolor: `${palette?.theme?.primary[700]} !important`,\n\t\t\"& svg\": {\n\t\t\theight: `20px !important`,\n\t\t\twidth: `20px !important`,\n\t\t}\n\t}\n}));\n\nexport type RowValues = Record<string, unknown>;\n\nconst MaterialEditableTable = React.memo(({\n\tenablePagination = false,\n\trows,\n\tcolumns,\n\ttotalPages,\n\tpaginationModel,\n\tcolumnOrder,\n\tupdateData,\n\thandleColumnOrdering,\n\tenableEditing,\n\tenableColumnDragging,\n\tstates,\n\trowActionMenu,\n\tdestructiveActionMenu,\n\tdisableDefaultActionColumn,\n\tenableRowSelection,\n\tdefaultActionColumnItems = [],\n\tenableBottomToolbar,\n\tSetSelectedRowId,\n\tisResetRow,\n\tonCreateRow,\n\tonEditRow,\n\tonDeleteRow,\n\teditDisplayMode,\n\tenableRowCreate,\n\tonChangeRowField,\n\tonSelectRow,\n\tenableColumnResizing = true,\n\tselectedRowIds = [],\n\tonColumnVisibility,\n\tonSortingChange,\n\tgetSelectedData,\n\tdisabledDefaultActionColumnIcon = false,\n\tenableAddCustomField = true,\n\tenableRowDragging = false,\n\thandleColumnResizing = () => { },\n\tcolumnSizes = {},\n\thideSaveButton = false,\n\thideDeleteButton,\n\tenableFirstRowEdit = false,\n\t// eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n\t// getRowId,\n\t// onDelete,\n\t// onUpdate,\n\t...rest\n}: MaterialTablePropsType) => {\n\tconst { t } = useTranslation();\n\tconst { enqueueSnackbar } = useSnackbar();\n\tconst { formData = null, updatePageInfo, activePage: aPage } = usePages()\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\tconst { pageNo } = paginationModel;\n\tconst [row, setRow] = useState({});\n\tconst [tableColumns, setTableColumns] = useState(columns);\n\tconst [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n\tconst [popUpShow, setPopupShow] = useState<boolean>(false);\n\tconst [rowAnchorEl, setRowAnchorEl] = useState<null | HTMLElement>(null);\n\tconst visibleColumns = tableColumns.filter((column: any) => column.visible);\n\tconst hiddenColumns = tableColumns.filter((column: any) => !column.visible);\n\tconst [filteredOptions, setFilteredOptions] = useState(hiddenColumns);\n\tconst [selectedRow, setSelectedRow] = useState<number | null>(null);\n\tconst [validationErrors, setValidationErrors] = useState<Record<string, Record<string, string>>>({});\n\tconst [validationSchema, setValidationSchema] = useState<any>([]);\n\tconst [isCreatingRow, setIsCreatingRow] = useState<boolean>(false);\n\tconst [isEditingRow, setIsEditingRow] = useState<boolean>(false);\n\tconst [isDeletingRow, setIsDeletingRow] = useState<boolean>(false);\n\tconst [rowToDelete, setRowToDelete] = useState<any>(null);\n\tconst [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\tconst [isChecked, setIsChecked] = useState(false)\n\tconst [sorting, setSorting] = useState<MRT_SortingState>([]);\n\tconst [disableNextEdit, setDisableNextEdit] = useState(false);\n\tconst [columnSizing, setColumnSizing] = useState<MRT_ColumnSizingState>(activePage.column_sizes);\n\tconst [columnSizingInfo, setColumnSizingInfo] = useState<MRT_ColumnSizingInfoState>({\n\t\tcolumnSizingStart: [],\n\t\tdeltaOffset: null,\n\t\tdeltaPercentage: null,\n\t\tisResizingColumn: false,\n\t\tstartOffset: null,\n\t\tstartSize: null\n\t});\n\tconst [clickStartTime, setClickStartTime] = useState<number>(0);\n\n\tconst navigate = useNavigate();\n\tconst currentModule = location.pathname.split('/')[2]\n\n\tlet redirectionPath = ''\n\tswitch (currentModule) {\n\t\tcase 'accounting':\n\t\t\tredirectionPath = PathnameAccounting.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'inventory':\n\t\t\tredirectionPath = PathnameInventory.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'manufacturing':\n\n\t\t\tredirectionPath = PathnameManufacturing.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'procurement':\n\t\t\tredirectionPath = PathnamePurchase.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'crm':\n\t\t\tredirectionPath = PathnameCrm.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'user':\n\t\t\tredirectionPath = PathnameUsers.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'rental':\n\t\t\tredirectionPath = PathnameRental.CUSTOM_FORM\n\t\t\tbreak;\n\t\tcase 'drive':\n\t\t\tredirectionPath = PathnameDocument.ADD_CUSTOM_FIELDS\n\t\t\tbreak;\n\t}\n\tconst path = `/dashboard/${currentModule}${redirectionPath}`\n\tconst getValidationType = (column: any) => {\n\t\tswitch (column.editVariant) {\n\t\t\tcase 'select':\n\t\t\t\treturn column?.editProperties?.is_multiple ? yup.array() : yup.string();\n\n\t\t\tcase 'number':\n\t\t\t\treturn yup.number().nullable().transform((value, originalValue) => (originalValue === \"\" ? null : value));\n\n\t\t\tcase 'url':\n\t\t\t\treturn yup\n\t\t\t\t\t.string()\n\t\t\t\t\t.matches(\n\t\t\t\t\t\t/^(https?:\\/\\/)?((([a-zA-Z0-9_-]+\\.)+[a-zA-Z]{2,})|localhost)(:\\d{2,5})?(\\/[a-zA-Z0-9#_-]+\\/?)*(\\?[a-zA-Z0-9&=_-]+)?(#\\S+)?$/,\n\t\t\t\t\t\t{ excludeEmptyString: true, message: 'Please enter valid URL.' }\n\t\t\t\t\t);\n\n\t\t\tcase 'date':\n\t\t\tcase 'date_time':\n\t\t\tcase 'time':\n\t\t\t\treturn yup.date().nullable().transform((value, originalValue) => {\n\t\t\t\t\tif (originalValue === \"\" || originalValue === null || originalValue === undefined) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\tif (originalValue && typeof originalValue === 'object' && 'toDate' in originalValue) {\n\t\t\t\t\t\treturn (originalValue as any).toDate();\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}).typeError('Valid date is required');\n\n\t\t\tcase 'file':\n\t\t\tcase 'image':\n\t\t\t\treturn yup.mixed().nullable();\n\n\t\t\tdefault:\n\t\t\t\treturn yup.string()\n\t\t}\n\t};\n\n\tconst validationReducer = (\n\t\tschema: any,\n\t\tvalidation: any,\n\t\tcolumn: any\n\t) => {\n\t\tlet vld = schema;\n\n\t\tswitch (validation.type) {\n\t\t\t/* =====================================================\n\t\t\t COMMON (mixed)\n\t\t\t===================================================== */\n\n\t\t\tcase 'required':\n\t\t\t\tif (validation.value) {\n\t\t\t\t\tvld = vld.required(validation.msg_en).typeError(validation.msg_en);\n\n\t\t\t\t\t// Prevent blank-only string\n\t\t\t\t\tif (!column?.editVariant || column?.editVariant === 'text') {\n\t\t\t\t\t\tvld = vld.test(\n\t\t\t\t\t\t\t'no-blank-spaces',\n\t\t\t\t\t\t\t'Blank space is not allowed',\n\t\t\t\t\t\t\t(value: any) =>\n\t\t\t\t\t\t\t\ttypeof value === 'string'\n\t\t\t\t\t\t\t\t\t? value.trim().length > 0\n\t\t\t\t\t\t\t\t\t: true\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else if (column?.editProperties?.is_multiple) {\n\t\t\t\t\tvld = vld.min(1, validation.msg_en);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'notRequired':\n\t\t\t\tvld = vld.notRequired();\n\t\t\t\tbreak;\n\n\t\t\tcase 'nullable':\n\t\t\t\tvld = vld.nullable(validation.value ?? true);\n\t\t\t\tbreak;\n\n\t\t\tcase 'defined':\n\t\t\t\tvld = vld.defined(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'optional':\n\t\t\t\tvld = vld.optional();\n\t\t\t\tbreak;\n\n\t\t\tcase 'strict':\n\t\t\t\tvld = vld.strict(validation.value ?? true);\n\t\t\t\tbreak;\n\n\t\t\tcase 'typeError':\n\t\t\t\tvld = vld.typeError(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'oneOf':\n\t\t\t\tvld = vld.oneOf(validation.values, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'notOneOf':\n\t\t\t\tvld = vld.notOneOf(validation.values, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'default':\n\t\t\t\tvld = vld.default(validation.value);\n\t\t\t\tbreak;\n\n\t\t\tcase 'transform':\n\t\t\t\tvld = vld.transform(validation.fn);\n\t\t\t\tbreak;\n\n\t\t\tcase 'label':\n\t\t\t\tvld = vld.label(validation.value);\n\t\t\t\tbreak;\n\n\t\t\tcase 'meta':\n\t\t\t\tvld = vld.meta(validation.value);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t STRING\n\t\t\t===================================================== */\n\n\t\t\tcase 'trim':\n\t\t\t\tvld = vld.trim();\n\t\t\t\tbreak;\n\n\t\t\tcase 'lowercase':\n\t\t\t\tvld = vld.lowercase();\n\t\t\t\tbreak;\n\n\t\t\tcase 'uppercase':\n\t\t\t\tvld = vld.uppercase();\n\t\t\t\tbreak;\n\n\t\t\tcase 'email':\n\t\t\t\tvld = vld.email(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'url':\n\t\t\t\tvld = vld.url(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'uuid':\n\t\t\t\tvld = vld.uuid(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'length':\n\t\t\t\tvld = vld.length(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'min':\n\t\t\t\tvld = vld.min(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'max':\n\t\t\t\tvld = vld.max(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'matches':\n\t\t\t\tvld = vld.matches(validation.regex, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'startsWith':\n\t\t\t\tvld = vld.matches(\n\t\t\t\t\tnew RegExp(`^${validation.value}`),\n\t\t\t\t\tvalidation.msg_en\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'endsWith':\n\t\t\t\tvld = vld.matches(\n\t\t\t\t\tnew RegExp(`${validation.value}$`),\n\t\t\t\t\tvalidation.msg_en\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t NUMBER\n\t\t\t===================================================== */\n\n\t\t\tcase 'lessThan':\n\t\t\t\tvld = vld.lessThan(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'moreThan':\n\t\t\t\tvld = vld.moreThan(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'positive':\n\t\t\t\tvld = vld.positive(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'negative':\n\t\t\t\tvld = vld.negative(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'integer':\n\t\t\t\tvld = vld.integer(validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'round':\n\t\t\t\tvld = vld.round(validation.method || 'round');\n\t\t\t\tbreak;\n\n\t\t\tcase 'truncate':\n\t\t\t\tvld = vld.truncate();\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t ARRAY\n\t\t\t===================================================== */\n\n\t\t\tcase 'minItems':\n\t\t\t\tvld = vld.min(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'maxItems':\n\t\t\t\tvld = vld.max(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ensure':\n\t\t\t\tvld = vld.ensure();\n\t\t\t\tbreak;\n\n\t\t\tcase 'compact':\n\t\t\t\tvld = vld.compact(validation.rejector);\n\t\t\t\tbreak;\n\n\t\t\tcase 'of':\n\t\t\t\tvld = vld.of(validation.schema);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t DATE\n\t\t\t===================================================== */\n\n\t\t\tcase 'minDate':\n\t\t\t\tvld = vld.min(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\tcase 'maxDate':\n\t\t\t\tvld = vld.max(validation.value, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t OBJECT\n\t\t\t===================================================== */\n\n\t\t\tcase 'shape':\n\t\t\t\tvld = vld.shape(validation.fields);\n\t\t\t\tbreak;\n\n\t\t\tcase 'noUnknown':\n\t\t\t\tvld = vld.noUnknown(validation.value ?? true, validation.msg_en);\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t CUSTOM\n\t\t\t===================================================== */\n\n\t\t\tcase 'test':\n\t\t\t\tvld = vld.test(\n\t\t\t\t\tvalidation.name || 'custom-test',\n\t\t\t\t\tvalidation.msg_en,\n\t\t\t\t\tvalidation.testFn\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'validate':\n\t\t\t\tif (typeof validation.callback === 'function') {\n\t\t\t\t\tvld = vld.test(\n\t\t\t\t\t\tvalidation.name || 'custom-validate',\n\t\t\t\t\t\tvalidation.msg_en || 'Validation failed',\n\t\t\t\t\t\tfunction (value) {\n\t\t\t\t\t\t\tconst rowObj = this.options.context?.row || {\n\t\t\t\t\t\t\t\toriginal: this.parent,\n\t\t\t\t\t\t\t\torigin: this.parent,\n\t\t\t\t\t\t\t\t_valuesCache: this.parent\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn validation.callback(value, this.parent, rowObj);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* =====================================================\n\t\t\t CONDITIONAL\n\t\t\t===================================================== */\n\n\t\t\tcase 'when':\n\t\t\t\treturn vld.when(validation.relation, {\n\t\t\t\t\tis: (val: any) =>\n\t\t\t\t\t\ttypeof validation.is === 'function'\n\t\t\t\t\t\t\t? validation.is(val)\n\t\t\t\t\t\t\t: Array.isArray(validation.values)\n\t\t\t\t\t\t\t\t? validation.values.includes(val)\n\t\t\t\t\t\t\t\t: val === validation.values,\n\n\t\t\t\t\tthen: (s: any) =>\n\t\t\t\t\t\tvalidation?.thenValidations?.reduce(\n\t\t\t\t\t\t\t(acc: any, v: any) =>\n\t\t\t\t\t\t\t\tvalidationReducer(acc, v, column),\n\t\t\t\t\t\t\ts\n\t\t\t\t\t\t) || s,\n\n\t\t\t\t\totherwise: (s: any) =>\n\t\t\t\t\t\tvalidation?.otherWiseValidations?.reduce(\n\t\t\t\t\t\t\t(acc: any, v: any) =>\n\t\t\t\t\t\t\t\tvalidationReducer(acc, v, column),\n\t\t\t\t\t\t\ts\n\t\t\t\t\t\t) || s,\n\t\t\t\t});\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn vld;\n\t};\n\n\n\n\tconst generateValidationSchema = (columns: any[]) => {\n\t\treturn columns.reduce((acc: any, clm: any) => {\n\t\t\tconst validations = clm?.editProperties?.validations;\n\n\t\t\tif (!validations?.length) return acc;\n\n\t\t\tconst baseSchema = getValidationType(clm);\n\n\t\t\tacc[clm.accessorKey] = validations.reduce(\n\t\t\t\t(schema: any, validation: any) =>\n\t\t\t\t\tvalidationReducer(schema, validation, clm),\n\t\t\t\tbaseSchema\n\t\t\t);\n\n\t\t\treturn acc;\n\t\t}, {});\n\t};\n\n\n\tuseEffect(() => {\n\t\tsetTableColumns(columns);\n\n\t\tconst schema: any = generateValidationSchema(columns);\n\t\tsetValidationSchema(yup.object().shape(schema));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [columns]);\n\n\tuseEffect(() => {\n\t\tif (!columnSizingInfo?.isResizingColumn) {\n\t\t\tupdatePageInfo({ column_sizes: { ...activePage.column_sizes, ...columnSizing } })\n\t\t\thandleColumnResizing?.(columnSizing)\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [columnSizingInfo?.isResizingColumn, columnSizing])\n\n\tconst handleHeaderClick = (event: any) => {\n\t\tsetAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleHeaderClose = () => {\n\t\tsetAnchorEl(null);\n\t};\n\n\tconst handleVisibleColumn = (column: any) => {\n\t\tconst updatedColumns = tableColumns.map((col: any) => ({\n\t\t\t...col,\n\t\t\tvisible: col.accessorKey === column.accessorKey ? false : col.visible\n\t\t}));\n\t\tsetTableColumns(updatedColumns);\n\t\tonColumnVisibility?.(JSON.parse(JSON.stringify(updatedColumns)))\n\t\tsetFilteredOptions([...filteredOptions, column]);\n\t\tsetAnchorEl(null);\n\t};\n\n\tconst handleAddButtonClick = () => {\n\t\tsetPopupShow(true);\n\t};\n\n\tconst handleBackButtonClick = () => {\n\t\tsetPopupShow(false);\n\t};\n\n\tconst handleAddColumn = (column: any) => {\n\t\tconst updatedColumns = tableColumns.map((col: any) => ({\n\t\t\t...col,\n\t\t\tvisible: col.accessorKey === column.accessorKey ? true : col.visible\n\t\t}));\n\t\tonColumnVisibility?.(JSON.parse(JSON.stringify(updatedColumns)))\n\t\tsetTableColumns(updatedColumns);\n\n\t\tconst updatedFilteredOptions = filteredOptions.filter(\n\t\t\t(option: any) => option.accessorKey !== column.accessorKey\n\t\t);\n\t\tsetFilteredOptions(updatedFilteredOptions);\n\t\tsetAnchorEl(null);\n\t\tsetPopupShow(false);\n\t};\n\n\tconst handleSearchEvent = (searchQuery: string) => {\n\t\tconst filteredColumns = hiddenColumns.filter((option: any) =>\n\t\t\toption.header.toLowerCase().includes(searchQuery.toLowerCase())\n\t\t);\n\t\tsetFilteredOptions(filteredColumns);\n\t};\n\n\tconst handleCustomAddColumn = () => {\n\t\tnavigate(path, { state: formData })\n\t\tsetAnchorEl(null);\n\t\tsetPopupShow(false);\n\t};\n\n\tconst handleRowClick = (rowId: number) => {\n\t\tsetSelectedRow(rowId); // Update selected row ID when a row is clicked\n\t};\n\n\t// const handleDeleteClick = (event: any, data: any) => {\n\t// onDelete?.(data.id);\n\t// };\n\t// const handleUpdateClick = (event: any, data: any) => {\n\t// onUpdate?.(data.id);\n\t// };\n\n\tconst handleActionsClick = (event: any, data: any) => {\n\t\tsetRow(data);\n\t\tsetRowAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleActionsClose = () => {\n\t\tsetRowAnchorEl(null);\n\t};\n\n\tconst formtValues = useCallback((values: any, cells: any[]) => {\n\t\tconst v: any = {};\n\t\tif (values?.['mrt-row-actions']) {\n\t\t\tdelete values['mrt-row-actions']\n\t\t}\n\t\tObject.keys(values).forEach((vl) => {\n\t\t\tconst val = values[vl];\n\t\t\tconst cell = cells.find((c) => c.accessorKey == vl);\n\n\t\t\tif (val) {\n\t\t\t\tif (val instanceof File) {\n\t\t\t\t\tv[vl] = val.name;\n\t\t\t\t} else if (cell && cell?.editVariant == 'date') {\n\t\t\t\t\tv[vl] = dayjs(val).format(cell?.dateFormat || 'DD-MM-YYYY');\n\t\t\t\t} else if (cell && cell?.editVariant == 'time') {\n\t\t\t\t\tv[vl] = dayjs.isDayjs(val) ? val.format('HH:mm') : val;\n\t\t\t\t} else if (cell && cell?.editVariant == 'select' && typeof val === 'object' && val !== null) {\n\t\t\t\t\t// For select fields, extract the display name from the object\n\t\t\t\t\t// Try multiple possible display properties in order of preference\n\t\t\t\t\tv[vl] = val.name || val.label || val.display_name || val.title || val.value || val.id || val;\n\t\t\t\t} else if (cell && cell?.editVariant == 'select' && typeof val === 'string') {\n\t\t\t\t\t// For select fields that are already strings, keep them as is\n\t\t\t\t\tv[vl] = val;\n\t\t\t\t} else {\n\t\t\t\t\tv[vl] = val;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tv[vl] = val;\n\t\t\t}\n\t\t});\n\n\t\treturn v;\n\t}, []); // No dependencies needed as this function doesn't rely on external values\n\n\tconst handleRowDelete = async () => {\n\t\tsetIsDeletingRow(true);\n\t\tif (rowToDelete) {\n\t\t\tawait onDeleteRow?.(rowToDelete);\n\t\t\tsetRowToDelete(null);\n\t\t}\n\t\tsetIsDeletingRow(false);\n\t};\n\n\tconst checkRequired = useCallback((editProperties: any) => {\n\t\treturn editProperties?.validations?.some((validation: any) => validation.type === 'required')\n\t}, [])\n\tuseEffect(() => {\n\t\tconst selectedRows = {};\n\t\t// Build the selectedRows object\n\t\tif (!isChecked && selectedRowIds.length) {\n\t\t\trows.forEach((row) => {\n\t\t\t\tif (selectedRowIds.includes(row.id)) {\n\t\t\t\t\tselectedRows[row.id] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetRowSelection(selectedRows);\n\t\t\tsetIsChecked(true)\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [rows, selectedRowIds]); // Dependency only on rows and selectedRowIds\n\n\tuseEffect(() => {\n\t\tif (onSortingChange instanceof Function) {\n\t\t\tconst sortingArray = Array.isArray(sorting) ? sorting : [];\n\t\t\tonSortingChange(sortingArray[0] || null)\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [sorting])\n\n\n\tconst resetRowSelection = () => {\n\t\tsetRowSelection({});\n\t\tsetDisableNextEdit(false)\n\t}\n\tconst getTextWidth = (text: string) => {\n\t\tconst canvas = document.createElement(\"canvas\");\n\t\tconst ctx = canvas.getContext(\"2d\");\n\t\tif (!ctx) return 50;\n\t\treturn ctx.measureText(text).width + 5; // padding\n\t}\n\n\t// ─── Types ───────────────────────────────────────────────────────────────────\n\n\ttype RowMode = 'edit' | 'create';\n\n\tinterface SaveRowParams {\n\t\trow: MRT_Row<TData>;\n\t\tvalues: Record<string, unknown>;\n\t\ttable: MRT_TableInstance<TData>;\n\t}\n\n\t// ─── Shared validation error extractor ───────────────────────────────────────\n\n\tconst extractValidationErrors = (err: yup.ValidationError): Record<string, string> =>\n\t\terr.inner.reduce<Record<string, string>>((acc, { path, message }) => {\n\t\t\tif (path) acc[path] = message;\n\t\t\treturn acc;\n\t\t}, {});\n\n\t// ─── Unified save handler ─────────────────────────────────────────────────────\n\n\tconst handleSaveRow = useCallback(\n\t\tasync ({ row, values, table }: SaveRowParams, mode: RowMode): Promise<void> => {\n\t\t\tconst isEditMode = mode === 'edit';\n\t\t\tconst setLoadingState = isEditMode ? setIsEditingRow : setIsCreatingRow;\n\t\t\tconst rowId = row.id;\n\n\t\t\ttry {\n\t\t\t\tawait validationSchema.validate(values, { abortEarly: false, context: { row } });\n\n\t\t\t\tsetValidationErrors((prev) => { const next = { ...prev }; delete next[rowId]; return next; });\n\t\t\t\tsetLoadingState(true);\n\t\t\t\tsetDisableNextEdit(false);\n\n\t\t\t\tconst cells = row.getAllCells().map((c) => c.column.columnDef);\n\t\t\t\trow._valuesCache = formtValues(values, cells);\n\n\t\t\t\tconst data = { row, values, table };\n\n\t\t\t\tif (isEditMode) {\n\t\t\t\t\tawait onEditRow?.(data, 'edit');\n\t\t\t\t\ttable.setEditingRow(null);\n\t\t\t\t} else {\n\t\t\t\t\tawait onCreateRow?.(data);\n\t\t\t\t\ttable.setCreatingRow(null);\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof yup.ValidationError) {\n\t\t\t\t\tconst fieldErrors = err.inner.reduce<Record<string, string>>((acc, { path, message }) => {\n\t\t\t\t\t\tif (path) acc[path] = message;\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {});\n\t\t\t\t\tsetValidationErrors((prev) => ({ ...prev, [rowId]: fieldErrors }));\n\t\t\t\t} else {\n\t\t\t\t\tenqueueSnackbar(\n\t\t\t\t\t\tgetErrorMessage(err instanceof Error ? err.message : 'Something went wrong'),\n\t\t\t\t\t\t{ variant: 'error' },\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tsetLoadingState(false);\n\t\t\t}\n\t\t},\n\t\t[validationSchema, onEditRow, onCreateRow, formtValues],\n\t);\n\n\tconst validate = useCallback(async (values: any, row?: any) => {\n\t\ttry {\n\t\t\tawait validationSchema.validate(values, { abortEarly: false, context: { row } });\n\t\t\tsetValidationErrors({});\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\treturn false\n\t\t}\n\t}, [validationSchema]);\n\n\tconst validateField = useCallback(\n\t\tasync (columnId: string, value: any, rowId: string, rowValues: any) => {\n\t\t\tif (!validationSchema || typeof validationSchema.validateAt !== 'function' || !validationSchema.fields || !validationSchema.fields[columnId]) return;\n\t\t\ttry {\n\t\t\t\tawait validationSchema.validateAt(\n\t\t\t\t\tcolumnId,\n\t\t\t\t\t{\n\t\t\t\t\t\t...rowValues,\n\t\t\t\t\t\t[columnId]: value,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tabortEarly: false,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tsetValidationErrors((prev) => {\n\t\t\t\t\tconst next = { ...prev };\n\t\t\t\t\tif (next[rowId]) {\n\t\t\t\t\t\tconst rowErrs = { ...next[rowId] };\n\t\t\t\t\t\tdelete rowErrs[columnId];\n\t\t\t\t\t\tnext[rowId] = rowErrs;\n\t\t\t\t\t}\n\t\t\t\t\treturn next;\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof yup.ValidationError) {\n\t\t\t\t\tconst fieldErrors = err.inner.reduce<Record<string, string>>((acc, { path, message }) => {\n\t\t\t\t\t\tif (path) acc[path] = message;\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, {});\n\t\t\t\t\tsetValidationErrors((prev) => ({\n\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t[rowId]: {\n\t\t\t\t\t\t\t...(prev[rowId] ?? {}),\n\t\t\t\t\t\t\t...fieldErrors,\n\t\t\t\t\t\t},\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[validationSchema],\n\t);\n\n\tconst valuesRef = useRef<Record<string, RowValues>>({});\n\n\t// ─── Public API: sync one field ────────────────────────────────────────────\n\tconst syncFieldValue = useCallback(\n\t\t(rowId: string, columnId: string, value: unknown) => {\n\t\t\tvaluesRef.current[rowId] = {\n\t\t\t\t...(valuesRef.current[rowId] ?? {}),\n\t\t\t\t[columnId]: value,\n\t\t\t};\n\t\t},\n\t\t[],\n\t);\n\n\tconst clearRow = useCallback((rowId: string) => {\n\t\tdelete valuesRef.current[rowId];\n\t}, []);\n\n\t// ─── Merge our cache on top of MRT's cache then the original row ───────────\n\tconst getRowValues = useCallback(\n\t\t(row: MRT_Row<TData>): RowValues => ({\n\t\t\t// 1. original row data — baseline\n\t\t\t...(row.original as RowValues),\n\t\t\t// 2. MRT's internal cache — contains what MRT-controlled fields wrote\n\t\t\t...(row._valuesCache as RowValues | undefined),\n\t\t\t// 3. Our own cache — authoritative for custom fields\n\t\t\t...(valuesRef.current[row.id] ?? {}),\n\t\t}),\n\t\t[],\n\t);\n\n\t// ─── Save helpers (kept stable across renders) ─────────────────────────────\n\tconst saveEditingRow = useCallback(\n\t\tasync (table: MRT_TableInstance<TData>) => {\n\t\t\tconst editingRow = table.getState().editingRow;\n\t\t\tconst creatingRow = table.getState().creatingRow;\n\t\t\tif (!editingRow) return;\n\t\t\tconst values = getRowValues(editingRow);\n\t\t\tconst isValid = await validate(values, editingRow);\n\t\t\tif (!isValid) {\n\t\t\t\t// Let handleSaveRow set the validation errors for display\n\t\t\t\tawait handleSaveRow({ row: editingRow, values, table }, 'edit');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait handleSaveRow({ row: editingRow, values, table }, 'edit');\n\t\t\tclearRow(editingRow.id);\n\t\t\tif (!creatingRow && enableRowCreate) {\n\t\t\t\tsetDisableNextEdit(false)\n\t\t\t\tsetTimeout(() => table.setCreatingRow(true), 200);\n\t\t\t} else {\n\t\t\t\tsetDisableNextEdit(false);\n\t\t\t}\n\t\t},\n\t\t[getRowValues, handleSaveRow, clearRow, validate, enableRowCreate],\n\t);\n\n\tconst saveCreatingRow = useCallback(\n\t\tasync (table: MRT_TableInstance<TData>) => {\n\t\t\tconst creatingRow = table.getState().creatingRow;\n\t\t\tif (!creatingRow) return;\n\t\t\tconst values = getRowValues(creatingRow);\n\t\t\tif (values?.['mrt-row-actions']) {\n\t\t\t\tdelete values['mrt-row-actions']\n\t\t\t}\n\t\t\tconst isValid = await validate(values, creatingRow);\n\t\t\tawait handleSaveRow({ row: creatingRow, values, table }, 'create');\n\t\t\tif (!isValid) return;\n\t\t\tif (isValid) {\n\t\t\t\tsetDisableNextEdit(false)\n\t\t\t\tclearRow('mrt-row-create');\n\t\t\t\tsetTimeout(() => table.setCreatingRow(true), 200);\n\t\t\t}\n\t\t},\n\t\t[getRowValues, clearRow, validate],\n\t);\n\n\tconst table = useMaterialReactTable({\n\t\t// options:{\n\t\t// \ttableLayout: \"auto\", // 👈 important\n\t\t// \tpadding: \"dense\",\n\t\t// },\n\t\t// columns: visibleColumns,\n\t\tdefaultColumn: {\n\t\t\tminSize: 0, // 👈 remove default min width\n\t\t\tsize: undefined, // 👈 optional, default size\n\t\t},\n\t\tcolumns: [\n\t\t\t...visibleColumns.map((c: any) => {\n\t\t\t\tconst headerWidth = getTextWidth(c.header || '');\n\t\t\t\tconst maxCellWidth = Math.max(\n\t\t\t\t\t...rows.map(row => getTextWidth(String(row[c.accessorKey] ?? '')))\n\t\t\t\t);\n\t\t\t\tconst finalWidth = Math.max(headerWidth, maxCellWidth);\n\t\t\t\treturn {\n\t\t\t\t\t...c,\n\t\t\t\t\t...(editDisplayMode === 'row'\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\tEdit: ({ cell, row, table, column }) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<InlineEditFields\n\t\t\t\t\t\t\t\t\t\tcell={cell}\n\t\t\t\t\t\t\t\t\t\tcolumn={column}\n\t\t\t\t\t\t\t\t\t\tcol={c}\n\t\t\t\t\t\t\t\t\t\trow={row}\n\t\t\t\t\t\t\t\t\t\ttable={table}\n\t\t\t\t\t\t\t\t\t\tcallback={(s) => console.log('Save', s)}\n\t\t\t\t\t\t\t\t\t\terrors={validationErrors[row.id] ?? {}}\n\t\t\t\t\t\t\t\t\t\tvalidationSchema={validationSchema}\n\t\t\t\t\t\t\t\t\t\tsetValidationErrors={(errors: Record<string, string>) =>\n\t\t\t\t\t\t\t\t\t\t\tsetValidationErrors((prev) => ({ ...prev, [row.id]: errors }))\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonChangeRowField={onChangeRowField}\n\t\t\t\t\t\t\t\t\t\tgetSelectedData={(name, row) => getSelectedData?.(name, row)}\n\t\t\t\t\t\t\t\t\t\tsyncFieldValue={syncFieldValue}\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},\n\t\t\t\t\t\t}\n\t\t\t\t\t\t: {}),\n\t\t\t\t\tHeader: (\n\t\t\t\t\t\t<Box display='flex' alignItems='center'>\n\t\t\t\t\t\t\t{c.header}\n\t\t\t\t\t\t\t{c?.required || checkRequired(c?.editProperties) && (\n\t\t\t\t\t\t\t\t<Typography type='s5' color='theme.error.600'>\n\t\t\t\t\t\t\t\t\t*\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</Box>\n\t\t\t\t\t),\n\t\t\t\t\tenableColumnDragging: c.id !== 'actions',\n\t\t\t\t\t// cellStyle: { ...c.cellStyle, width: finalWidth },\n\t\t\t\t\t// headerStyle: { ...c.headerStyle, width: finalWidth },\n\t\t\t\t\t// size: finalWidth\n\t\t\t\t\tsize: undefined,\n\t\t\t\t\t// minSize: 40,\n\t\t\t\t\tmaxSize: 800,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...(!disableDefaultActionColumn\n\t\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'actions',\n\t\t\t\t\t\tenableEditing: false,\n\t\t\t\t\t\tsize: defaultActionColumnItems?.length > 1 ? 80 : 50,\n\t\t\t\t\t\theader: (\n\t\t\t\t\t\t\t<IconButton size=\"small\" sx={{ p: 0.5, '&:hover': { backgroundColor: 'transparent' } }} onClick={handleHeaderClick}>\n\t\t\t\t\t\t\t\t<img src={images.common.arrowIcon} alt='Arrow Icon' />\n\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tenableColumnDragging: false,\n\t\t\t\t\t\tvisible: true,\n\t\t\t\t\t\tmuiTableHeadCellProps: {\n\t\t\t\t\t\t\tclassName: 'pinned-column'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmuiTableBodyCellProps: {\n\t\t\t\t\t\t\tclassName: 'pinned-column',\n\t\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t\twhiteSpace: 'pre-wrap'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tCell: (props) =>\n\t\t\t\t\t\t\tdefaultActionColumnItems?.length ? (\n\t\t\t\t\t\t\t\tdefaultActionColumnItems.map((item) => {\n\t\t\t\t\t\t\t\t\tconst updatedProps = {\n\t\t\t\t\t\t\t\t\t\t...item.props,\n\t\t\t\t\t\t\t\t\t\tonClick: () => item.props.onClick(props)\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\treturn cloneElement(item, updatedProps);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t) : !disabledDefaultActionColumnIcon && (\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\tonClick={(e) => handleActionsClick(e, props.row.original)} disabled={!rowActionMenu?.length && !destructiveActionMenu?.length}>\n\t\t\t\t\t\t\t\t\t<img src={images.more} alt='More Icon' />\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t\t: [])\n\t\t],\n\t\tdata: rows,\n\t\tmuiTablePaperProps: {\n\t\t\tsx: {\n\t\t\t\ttableLayout: 'auto', // lets columns shrink to fit content\n\t\t\t},\n\t\t},\n\t\tcolumnResizeMode: 'onChange',\n\t\tonEditingRowSave: async (data) => {\n\t\t\tawait handleSaveRow(data, 'edit');\n\t\t},\n\t\tonCreatingRowSave: async (data) => {\n\t\t\tawait handleSaveRow(data, 'create');\n\t\t},\n\t\tonCreatingRowCancel: () => resetRowSelection(),\n\t\tonEditingRowCancel: () => {\n\t\t\tsetDisableNextEdit(false);\n\t\t},\n\t\tonSortingChange: states?.sorting ? onSortingChange : setSorting,\n\n\t\tdisplayColumnDefOptions: {\n\t\t\t'mrt-row-actions': {\n\t\t\t\t// size: onDeleteRow ? 80 : 50,\n\n\t\t\t\tHeader: (\n\t\t\t\t\t<IconButton onClick={handleHeaderClick} size='small'>\n\t\t\t\t\t\t<img src={images.common.arrowIcon} alt='Arrow Icon' />\n\t\t\t\t\t</IconButton>\n\t\t\t\t),\n\t\t\t\tmuiTableBodyCellProps: ({ row, table }) => {\n\t\t\t\t\tconst isCreatingRow = table.getState().creatingRow?.id === row.id;\n\t\t\t\t\tconst isEditingRow = table.getState().editingRow?.id === row.id;\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsx: {\n\t\t\t\t\t\t\t'& .MuiBox-root': {\n\t\t\t\t\t\t\t\tgap: 0\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbackgroundColor: '#fff',\n\t\t\t\t\t\t\twhiteSpace: 'pre-wrap',\n\t\t\t\t\t\t\t// Hide save button only when editing existing row (not in create mode or non-editable mode)\n\t\t\t\t\t\t\t...((hideSaveButton && (isEditingRow || isCreatingRow))\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t'& .MuiBox-root > .MuiIconButton-root:first-of-type': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t// Also hide any save icon buttons by aria-label or title\n\t\t\t\t\t\t\t\t\t'& button[aria-label*=\"Save\"]': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'& button[title*=\"Save\"]': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t// Hide save icon by class or data attributes\n\t\t\t\t\t\t\t\t\t'& .MuiIconButton-root[class*=\"save\"]': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'& .MuiIconButton-root[data-testid*=\"save\"]': {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none !important'\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\t: {})\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t},\n\t\t\t'mrt-row-expand': {\n\t\t\t\tsize: 70, // Set the size of the expand-collapse arrow column here\n\t\t\t},\n\t\t\t'mrt-row-select': {\n\t\t\t\tsize: 50, // Set the width of the checkbox column here\n\t\t\t},\n\t\t},\n\t\trenderRowActions: ({ row, table }) => (\n\t\t\t<>\n\t\t\t\t{rest?.enableExpanding ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{row?.parentId && (\n\t\t\t\t\t\t\t<Box sx={{ display: 'flex', gap: 0 }}>\n\t\t\t\t\t\t\t\t{onDeleteRow && !hideDeleteButton?.(row.original) && (\n\t\t\t\t\t\t\t\t\t<Tooltip title='Delete'>\n\t\t\t\t\t\t\t\t\t\t<IconButton disabled={disableNextEdit} onClick={() => setRowToDelete(row)} size='small' className='delete-row'>\n\t\t\t\t\t\t\t\t\t\t\t<Trash fontSize='small' sx={{ color: 'theme.secondary.1000' }} />\n\t\t\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</Box>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<Box sx={{ display: 'flex', gap: 0 }}>\n\t\t\t\t\t\t{onDeleteRow && !hideDeleteButton?.(row.original) && (\n\t\t\t\t\t\t\t<Tooltip title='Delete'>\n\t\t\t\t\t\t\t\t<IconButton disabled={disableNextEdit} onClick={() => setRowToDelete(row)} className='delete-row'>\n\t\t\t\t\t\t\t\t\t<Trash fontSize='small' sx={{ color: 'theme.secondary.1000' }} />\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Box>\n\t\t\t\t)}\n\t\t\t</>\n\t\t),\n\n\t\t...(Boolean(enableRowCreate) && {\n\t\t\trenderBottomToolbarCustomActions: ({ table }) => (\n\t\t\t\t<Button\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\tstartIcon={<Add />}\n\t\t\t\t\tclassName='add-row-btn'\n\t\t\t\t\tdisabled={disableNextEdit}\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\ttable.setCreatingRow(true); //simplest way to open the create row modal with no default values\n\t\t\t\t\t\tsetDisableNextEdit(true)\n\t\t\t\t\t}}>\n\t\t\t\t\t{t('common.add')}\n\t\t\t\t</Button>\n\t\t\t)\n\t\t}),\n\t\tonRowSelectionChange: setRowSelection,\n\t\tenableColumnOrdering: true,\n\t\tenableRowSelection: enableRowSelection ?? true,\n\t\tenableEditing: (row) => enableEditing instanceof Function ? enableEditing(row) : enableEditing ?? true,\n\t\teditDisplayMode: editDisplayMode ?? 'row',\n\t\tcreateDisplayMode: 'row',\n\t\tpositionCreatingRow: 'bottom',\n\t\tenableColumnResizing: enableColumnResizing,\n\t\tenableRowDragging: enableRowDragging,\n\t\tenableTopToolbar: false,\n\t\tenableColumnActions: false,\n\t\tenableSorting: true,\n\t\tenableGrouping: true,\n\t\tenableBottomToolbar: enableBottomToolbar ?? false,\n\t\tenableColumnDragging: enableColumnDragging ?? true,\n\t\tenableStickyHeader: true,\n\t\tenableSortingRemoval: false,\n\t\t// column ordering\n\t\tstate: {\n\t\t\t// columnOrder: (!columnOrder || columnOrder.length <= 1) \n\t\t\t// ? [...internalColumnOrder] \n\t\t\t// : [...columnOrder],\n\t\t\tcolumnOrder: columnOrder,\n\t\t\tcolumnPinning: { left: ['actions', 'mrt-row-actions'] },\n\t\t\tisSaving: isCreatingRow || isEditingRow,\n\t\t\tshowProgressBars: false,\n\t\t\trowSelection,\n\t\t\t...states,\n\t\t\tsorting: Array.isArray(states?.sorting) ? states?.sorting :\n\t\t\t\tArray.isArray(sorting) ? sorting : [],\n\t\t\tcolumnSizing\n\n\t\t},\n\t\tgetRowId: (row) => row?.id,\n\t\t// table.getState().editingRow\n\t\tmuiTableBodyRowProps: ({ row, table }) => {\n\t\t\tconst editingRowId =\n\t\t\t\ttable.getState()?.editingRow?.id ||\n\t\t\t\ttable.getState()?.creatingRow?.id ||\n\t\t\t\tnull;\n\t\t\tconst creatingRowId = table.getState()?.creatingRow?.id || null;\n\t\t\tconst isErrorRow = Boolean(row?.original?.has_error)\n\t\t\tconst isCurrentlyEditing = editingRowId === row.id;\n\n\t\t\treturn {\n\t\t\t\tonClick: () => {\n\t\t\t\t\tsetSelectedRow(row.id);\n\t\t\t\t\t// Edit triggering is now handled at cell level in muiTableBodyCellProps\n\t\t\t\t\t// to support isOnClickEditable column prop\n\t\t\t\t},\n\t\t\t\tsx: {\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t// backgroundColor: !editingRowId\n\t\t\t\t\t// \t? (selectedRow === row.id\n\t\t\t\t\t// \t\t? '#e8e8e8'\n\t\t\t\t\t// \t\t: (isErrorRow ? 'theme.error.100' : 'inherit'))\n\t\t\t\t\t// \t: 'inherit',\n\t\t\t\t\tbackgroundColor: !editingRowId\n\t\t\t\t\t\t? (isErrorRow ? 'theme.error.100' : 'inherit')\n\t\t\t\t\t\t: 'inherit',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tbackgroundColor: editingRowId\n\t\t\t\t\t\t\t? (editingRowId === row.id ? 'transparent' : 'inherit')\n\t\t\t\t\t\t\t: (isErrorRow ? 'theme.error.200' : '#e8e8e8')\n\t\t\t\t\t},\n\t\t\t\t\t'&:hover td:after': {\n\t\t\t\t\t\tbackgroundColor: 'transparent' // Removes the grey background applied via :after\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tonColumnOrderChange: (colOrder: any) => {\n\t\t\tif (handleColumnOrdering) handleColumnOrdering(colOrder);\n\t\t},\n\t\tonColumnSizingChange: setColumnSizing,\n\t\tonColumnSizingInfoChange: setColumnSizingInfo,\n\n\t\trenderEmptyRowsFallback: () => (\n\t\t\t<Box className='no-data'>\n\t\t\t\t<img src={images.common.tableNoData} />\n\t\t\t\t<Typography type='s3' weight='medium' color='theme.secondary.1000'>\n\t\t\t\t\t{/* sx={{ textAlign: 'center', pb: 4.75, pt: 4.75 }}> */}\n\t\t\t\t\t{t('common.noData')}\n\t\t\t\t</Typography>\n\t\t\t</Box>\n\t\t),\n\n\t\t// pagination\n\t\tenablePagination: enablePagination,\n\t\tpaginationDisplayMode: 'pages',\n\t\tmuiPaginationProps: {\n\t\t\tshape: 'rounded',\n\t\t\tpage: pageNo, // current page number\n\t\t\tcount: totalPages, // total pages\n\t\t\tshowRowsPerPage: false, // Hide rows per page options\n\t\t\tboundaryCount: 3\n\t\t},\n\n\t\tmuiEditTextFieldProps: ({ row, column }) => ({\n\t\t\tInputProps: {\n\t\t\t\tdisableUnderline: true\n\t\t\t},\n\t\t\tonBlur: (e) => {\n\t\t\t\tupdateData(e.target.value, column, row.id);\n\t\t\t},\n\t\t\t// onChange: (e) => {\n\t\t\t// \tupdateData(e.target.value, column, row.id);\n\t\t\t// },\n\t\t\tvariant: 'outlined',\n\t\t\tsx: ({ palette }) => ({\n\t\t\t\t'& .MuiOutlinedInput-root': {\n\t\t\t\t\t'& fieldset': {\n\t\t\t\t\t\tborderColor: `${palette.theme?.primary[700]} !important`\n\t\t\t\t\t\t// backgroundColor: palette.theme?.primary[700]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}),\n\n\t\t/* Table loader style */\n\t\tmuiCircularProgressProps: {\n\t\t\tsx: {\n\t\t\t\tcolor: '#289B64'\n\t\t\t}\n\t\t},\n\n\t\t// Table header cell default styles\n\t\tmuiTableHeadCellProps: {\n\t\t\tsx: {\n\t\t\t\tlineHeight: '140%',\n\t\t\t\tletterSpacing: '-0.28px',\n\t\t\t\tfontWeight: '500',\n\t\t\t\tfontSize: '0.875rem',\n\t\t\t\t'& .Mui-TableHeadCell-Content': {\n\t\t\t\t\theight: '100%'\n\t\t\t\t},\n\t\t\t\t'& .Mui-TableHeadCell-Content-Labels': {\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\tjustifyContent: 'space-between'\n\t\t\t\t},\n\t\t\t\t'&.pinned-column': {\n\t\t\t\t\tbackgroundColor: '#fff'\n\t\t\t\t},\n\t\t\t\t'& .Mui-TableHeadCell-ResizeHandle-Wrapper': {\n\t\t\t\t\tpadding: 0,\n\t\t\t\t\tmargin: 0,\n\t\t\t\t\tright: '-5px',\n\t\t\t\t\topacity: 0\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\n\t\t// Table body cell default styles\n\t\tmuiTableBodyProps: {\n\t\t\tsx: {\n\t\t\t\tzIndex: 500\n\t\t\t}\n\t\t},\n\t\tmuiTableHeadProps: {\n\t\t\tsx: {\n\t\t\t\tzIndex: 600\n\t\t\t}\n\t\t},\n\t\tmuiTableBodyCellProps: ({ cell, column, table, row }) => ({\n\t\t\tsx: {\n\t\t\t\tlineHeight: '140%',\n\t\t\t\tletterSpacing: '-0.26px',\n\t\t\t\tfontWeight: '400',\n\t\t\t\tfontSize: '0.8125rem',\n\t\t\t\t'&.pinned-column': {\n\t\t\t\t\tbackgroundColor: '#fff'\n\t\t\t\t},\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackgroundColor: 'transparent' // Removes hover effect globally\n\t\t\t\t},\n\t\t\t\twhiteSpace: 'pre-wrap'\n\t\t\t},\n\t\t\tonClick: (e: React.MouseEvent) => {\n\t\t\t\tconst target = e.target as HTMLElement;\n\n\t\t\t\t// Check if click is inside table\n\t\t\t\t// const isInsideTable = target.closest('.MuiTableContainer-root, .MuiPaper-root, .MRT_Table');\n\t\t\t\tconst tableCell = target.closest('.MuiTableCell-body');\n\n\t\t\t\tconst isInsideTable = tableCell && !tableCell.querySelector('.delete-row');\n\n\t\t\t\tif (!isInsideTable) return; // Ignore clicks outside table or on delete button\n\n\t\t\t\tconst columnDef = column.columnDef as MaterialEditableTableColumnProps;\n\t\t\t\tconst isOnClickEditable = columnDef.isOnClickEditable !== false; // Default to true\n\n\t\t\t\tif (!isOnClickEditable) {\n\t\t\t\t\treturn; // Don't trigger edit mode for this column\n\t\t\t\t}\n\n\t\t\t\tconst editingRowId = table.getState()?.editingRow?.id || table.getState()?.creatingRow?.id || null;\n\t\t\t\tconst isCurrentlyEditing = editingRowId === row.id;\n\n\t\t\t\t// If another row is already in edit/create mode, save it first then edit this row\n\t\t\t\tif (editingRowId && editingRowId !== row.id) {\n\t\t\t\t\tconst currentEditingRow = table.getState().editingRow;\n\t\t\t\t\tconst currentCreatingRow = table.getState().creatingRow;\n\n\t\t\t\t\t(async () => {\n\t\t\t\t\t\tlet saveSucceeded = false;\n\t\t\t\t\t\tif (currentCreatingRow) {\n\t\t\t\t\t\t\tconst values = getRowValues(currentCreatingRow);\n\t\t\t\t\t\t\tconst isValid = await validate(values, currentCreatingRow);\n\t\t\t\t\t\t\tif (!isValid) return; // stay on current row if invalid\n\t\t\t\t\t\t\tawait handleSaveRow({ row: currentCreatingRow, values, table }, 'create');\n\t\t\t\t\t\t\tclearRow('mrt-row-create');\n\t\t\t\t\t\t\tsaveSucceeded = true;\n\t\t\t\t\t\t} else if (currentEditingRow) {\n\t\t\t\t\t\t\tconst values = getRowValues(currentEditingRow);\n\t\t\t\t\t\t\tconst isValid = await validate(values, currentEditingRow);\n\t\t\t\t\t\t\tif (!isValid) return; // stay on current row if invalid\n\t\t\t\t\t\t\tawait handleSaveRow({ row: currentEditingRow, values, table }, 'edit');\n\t\t\t\t\t\t\tclearRow(currentEditingRow.id);\n\t\t\t\t\t\t\tsaveSucceeded = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (saveSucceeded) {\n\t\t\t\t\t\t\ttable.setEditingRow(row);\n\t\t\t\t\t\t\tsetDisableNextEdit(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t})();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Set the row as editable when clicked if not already editing and no other row is being edited\n\t\t\t\tif (!isCurrentlyEditing && !editingRowId) {\n\t\t\t\t\ttable.setEditingRow(row);\n\t\t\t\t\tsetDisableNextEdit(true);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonKeyUp: (e: React.KeyboardEvent) => {\n\t\t\t\tconst creatingRowId =\n\t\t\t\t\ttable.getState().creatingRow?.id ?? null;\n\n\t\t\t\t// ── Escape ──────────────────────────────────────────────────────────\n\t\t\t\tif (e.key === 'Escape') {\n\t\t\t\t\tif (creatingRowId === row.id) {\n\t\t\t\t\t\tclearRow('mrt-row-create');\n\t\t\t\t\t\ttable.setCreatingRow(null);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst editingRow = table.getState().editingRow;\n\t\t\t\t\t\tif (editingRow) {\n\t\t\t\t\t\t\tclearRow(editingRow.id);\n\t\t\t\t\t\t\ttable.setEditingRow(null);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tsetDisableNextEdit(false);\n\t\t\t\t\tsetValidationErrors({});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// ── Enter ───────────────────────────────────────────────────────────\n\t\t\t\tif (e.key === 'Enter') {\n\t\t\t\t\t// Minimal timeout: let the last field onChange flush its state.\n\t\t\t\t\t// Our valuesRef is already written, so 0ms is safe.\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tconst currentCreatingRow = table.getState().creatingRow;\n\t\t\t\t\t\tconst currentEditingRow = table.getState().editingRow;\n\n\t\t\t\t\t\tif (currentCreatingRow) {\n\t\t\t\t\t\t\tsaveCreatingRow(table);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (currentEditingRow) {\n\t\t\t\t\t\t\tsaveEditingRow(table);\n\t\t\t\t\t\t}\n\t\t\t\t\t}, 0); // 0 ms is enough — values are already in valuesRef\n\t\t\t\t}\n\t\t\t},\n\t\t}),\n\n\t\t// Checkbox styling\n\t\tmuiSelectCheckboxProps: {\n\t\t\tsx: {\n\t\t\t\tcolor: 'theme.secondary.300',\n\t\t\t\t'&.Mui-checked': {\n\t\t\t\t\tcolor: 'theme.primary.600',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tcolor: 'theme.primary.500'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\tcolor: 'theme.secondary.200'\n\t\t\t\t}\n\t\t\t},\n\t\t\ticon: <RecgtangleIcon sx={{ width: 20, height: 20 }} />,\n\t\t\tcheckedIcon: <CheckBoxIcon sx={{ width: 20, height: 20 }} />\n\t\t},\n\t\tmuiSelectAllCheckboxProps: {\n\t\t\tsx: {\n\t\t\t\tcolor: 'theme.secondary.300',\n\t\t\t\t'&.Mui-checked': {\n\t\t\t\t\tcolor: 'theme.primary.600',\n\t\t\t\t\t'&:hover': {\n\t\t\t\t\t\tcolor: 'theme.primary.500'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\tcolor: 'theme.secondary.600'\n\t\t\t\t}\n\t\t\t},\n\t\t\ticon: <RecgtangleIcon sx={{ width: 20, height: 20 }} />,\n\t\t\tcheckedIcon: <CheckBoxIcon sx={{ width: 20, height: 20 }} />\n\t\t},\n\t\tmuiBottomToolbarProps: {\n\t\t\tsx: {\n\t\t\t\tboxShadow: 'none',\n\t\t\t\t'& .MuiBox-root': {\n\t\t\t\t\tpaddingLeft: 0\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tlayoutMode: 'grid',\n\t\ticons: {\n\t\t\tDragHandleIcon: () => <RecgtangleIcon fontSize='medium' />,\n\t\t\tSortIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tArrowDownwardIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tArrowUpwardIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tExpandMoreIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tExpandLessIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tSyncAltIcon: () => <ArrowUpDown fontSize='medium' />,\n\t\t\tCancelIcon: (props: SvgIconProps) => (\n\t\t\t\t<Close fontSize='small' {...props} color='theme.secondary.1000' />\n\t\t\t)\n\t\t},\n\n\t\t...rest\n\t});\n\n\tuseEffect(() => {\n\t\tif (enableRowSelection) {\n\t\t\tif (table?.getSelectedRowModel()?.rows) {\n\t\t\t\tSetSelectedRowId?.(table?.getSelectedRowModel()?.rows);\n\t\t\t}\n\t\t}\n\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [enableRowSelection]);\n\n\tuseEffect(() => {\n\t\tif (onSelectRow) {\n\t\t\tif (rest?.enableExpanding) {\n\t\t\t\tconst selectedRowModels: any[] = [];\n\t\t\t\tconst selection = table.getState().rowSelection; // e.g., { 0.0: true }\n\t\t\t\tconst traverseRows = (rows, parentKey = '') => {\n\t\t\t\t\trows.forEach((row: any, index: number) => {\n\t\t\t\t\t\tconst rowKey = parentKey ? `${parentKey}.${index}` : `${row.id}`;\n\t\t\t\t\t\tif (selection[rowKey]) {\n\t\t\t\t\t\t\tselectedRowModels.push(row);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Check for sub-rows and traverse further\n\t\t\t\t\t\tif (row.subRows?.length) {\n\t\t\t\t\t\t\ttraverseRows(row.subRows, rowKey);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\n\t\t\t\ttraverseRows(table.getRowModel().rows);\n\t\t\t\tonSelectRow(selectedRowModels, rowSelection);\n\t\t\t} else {\n\t\t\t\tonSelectRow(table.getSelectedRowModel().rows, rowSelection);\n\t\t\t}\n\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [rowSelection, table]);\n\n\t// useEffect(() => {\n\t// \tconst relativeContainer = document.getElementsByClassName(\n\t// \t\t'MuiTableContainer-root'\n\t// \t)[0];\n\t// \tconst fixedElement = document.getElementsByClassName('no-data')[0];\n\t// \trelativeContainer.addEventListener('scroll', () => {\n\t// \t\tconst scrollLeft = relativeContainer.scrollLeft;\n\t// \t\tfixedElement.style.left = `${scrollLeft + 100}px`;\n\t// \t});\n\t// }, []);\n\n\tuseEffect(() => {\n\t\tif (isResetRow) {\n\t\t\ttable?.resetRowSelection();\n\t\t}\n\t}, [isResetRow, table]);\n\n\t// Auto-open first row in edit mode when enableFirstRowEdit is true\n\tconst hasAutoEditedFirstRow = useRef(false);\n\tuseEffect(() => {\n\t\tif (\n\t\t\tenableFirstRowEdit &&\n\t\t\t!hasAutoEditedFirstRow.current &&\n\t\t\trows?.length > 0\n\t\t) {\n\t\t\t// Get a fresh row reference from the current table model\n\t\t\tconst tableRows = table.getRowModel().rows;\n\t\t\tconst firstRow = tableRows[0];\n\t\t\tif (firstRow) {\n\t\t\t\thasAutoEditedFirstRow.current = true;\n\t\t\t\t// Pre-initialize _valuesCache from original data so InlineEditFields\n\t\t\t\t// has a populated cache from the start\n\t\t\t\tif (!firstRow._valuesCache || Object.keys(firstRow._valuesCache).length === 0) {\n\t\t\t\t\tfirstRow._valuesCache = { ...firstRow.original };\n\t\t\t\t}\n\t\t\t\ttable.setEditingRow(firstRow);\n\t\t\t\tsetDisableNextEdit(true);\n\t\t\t}\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [enableFirstRowEdit, rows, table]);\n\n\t// Handle clicks outside the table to save and exit edit mode - ADVANCED EVENT DELEGATION\n\tuseEffect(() => {\n\t\tif (!table) return;\n\n\t\tlet dropdownOpenTimer: NodeJS.Timeout;\n\t\tlet saveTimer: NodeJS.Timeout;\n\t\tlet lastDropdownClick = 0;\n\t\tlet isDropdownInteraction = false;\n\n\t\t// Track dropdown interactions with precise timing\n\t\tconst handleMouseDown = (e: MouseEvent) => {\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst isDropdownElement = target.closest(\n\t\t\t\t'.MuiSelect-root, .MuiMenuItem-root, .MuiPopover-root, .MuiList-root, ' +\n\t\t\t\t'.MuiMenu-list, .MuiButtonBase-root, ' +\n\t\t\t\t'.MuiFormControl-root, .MuiInputBase-root, .MuiTextField-root, ' +\n\t\t\t\t'.MuiOutlinedInput-root, .MuiFilledInput-root, .MuiAutocomplete-popper, ' +\n\t\t\t\t'.MuiPickersPopper-root, [role=\"option\"], [role=\"listbox\"], [role=\"combobox\"]'\n\t\t\t);\n\n\t\t\tif (isDropdownElement) {\n\t\t\t\tisDropdownInteraction = true;\n\t\t\t\tlastDropdownClick = Date.now();\n\t\t\t\t// Clear any pending save when dropdown interaction starts\n\t\t\t\tif (saveTimer) {\n\t\t\t\t\tclearTimeout(saveTimer);\n\t\t\t\t}\n\t\t\t\t// Set a timer to reset dropdown interaction flag\n\t\t\t\tif (dropdownOpenTimer) {\n\t\t\t\t\tclearTimeout(dropdownOpenTimer);\n\t\t\t\t}\n\t\t\t\tdropdownOpenTimer = setTimeout(() => {\n\t\t\t\t\tisDropdownInteraction = false;\n\t\t\t\t}, 500);\n\t\t\t}\n\t\t};\n\n\t\t// Handle clicks with sophisticated logic\n\t\tconst handleClick = (e: MouseEvent) => {\n\t\t\tconst editingRow = table.getState()?.editingRow;\n\t\t\tconst creatingRow = table.getState()?.creatingRow;\n\t\t\tif (!editingRow && !creatingRow) return;\n\n\t\t\tconst target = e.target as HTMLElement;\n\t\t\tconst now = Date.now();\n\n\t\t\t// Don't process if we recently had a dropdown interaction\n\t\t\tif (isDropdownInteraction || (now - lastDropdownClick) < 300) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check if click is inside table\n\t\t\t// const isInsideTable = target.closest('.MuiTableContainer-root, .MuiPaper-root, .MRT_Table');\n\t\t\tconst isInsideTable = target.closest('.MRT-TableWrapper');\n\n\t\t\t// Only save if clicking outside table and no recent dropdown interaction\n\t\t\tif (!isInsideTable) {\n\t\t\t\t// Clear any existing save timer\n\t\t\t\tif (saveTimer) {\n\t\t\t\t\tclearTimeout(saveTimer);\n\t\t\t\t}\n\n\t\t\t\t// Schedule save with additional delay for safety\n\t\t\t\tsaveTimer = setTimeout(async () => {\n\t\t\t\t\tconst currentEditingRow = table.getState()?.editingRow;\n\t\t\t\t\tconst currentCreatingRow = table.getState()?.creatingRow;\n\t\t\t\t\tif (isDropdownInteraction) return;\n\t\t\t\t\tif (currentCreatingRow) {\n\t\t\t\t\t\tconst values = getRowValues(currentCreatingRow);\n\t\t\t\t\t\tawait handleSaveRow({ row: currentCreatingRow, values, table }, 'create');\n\t\t\t\t\t\tclearRow('mrt-row-create');\n\t\t\t\t\t\tsetDisableNextEdit(false);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (currentEditingRow) {\n\t\t\t\t\t\tconst values = getRowValues(currentEditingRow);\n\t\t\t\t\t\tawait handleSaveRow({ row: currentEditingRow, values, table }, 'edit');\n\t\t\t\t\t\tclearRow(currentEditingRow.id);\n\t\t\t\t\t\tsetDisableNextEdit(false);\n\t\t\t\t\t}\n\t\t\t\t}, 200);\n\t\t\t}\n\t\t};\n\n\t\t// Use both mousedown and click for comprehensive tracking\n\t\tdocument.addEventListener('mousedown', handleMouseDown, true);\n\t\tdocument.addEventListener('click', handleClick, true);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleMouseDown, true);\n\t\t\tdocument.removeEventListener('click', handleClick, true);\n\t\t\tif (dropdownOpenTimer) {\n\t\t\t\tclearTimeout(dropdownOpenTimer);\n\t\t\t}\n\t\t\tif (saveTimer) {\n\t\t\t\tclearTimeout(saveTimer);\n\t\t\t}\n\t\t};\n\t}, [table, handleSaveRow, getRowValues, clearRow]);\n\treturn (\n\t\t<TableWrapper className='MRT-TableWrapper custom-table'>\n\t\t\t<MaterialReactTable table={table} />\n\n\t\t\t<Menu\n\t\t\t\tanchorEl={anchorEl}\n\t\t\t\topen={Boolean(anchorEl)}\n\t\t\t\tonClose={handleHeaderClose}\n\t\t\t\tclassName='add-role-drp'>\n\t\t\t\t{popUpShow ? (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={handleBackButtonClick}\n\t\t\t\t\t\t\tclassName='role-drp-list add-column-title'>\n\t\t\t\t\t\t\t<ListItemIcon className='add-icon'>\n\t\t\t\t\t\t\t\t<ChevronLeftIcon />\n\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t<ListItemText className='title'>\n\t\t\t\t\t\t\t\t{t('common.addColumn_label')}\n\t\t\t\t\t\t\t</ListItemText>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<Divider flexItem sx={{ mt: '0.25rem !important', mb: '0.25rem !important' }} />\n\t\t\t\t\t\t<div className='searchbar-box-list'>\n\t\t\t\t\t\t\t<SearchBar\n\t\t\t\t\t\t\t\tplaceholder={'Search User'}\n\t\t\t\t\t\t\t\thandleSearch={(e) => handleSearchEvent(e)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className='all-attribute-title'>\n\t\t\t\t\t\t\t<Typography variant='body2' color='text.secondary'>\n\t\t\t\t\t\t\t\t{t('common.allAttributes_label')}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{filteredOptions.map((column: any) => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tkey={column.accessorKey}\n\t\t\t\t\t\t\t\tonClick={() => handleAddColumn(column)}>\n\t\t\t\t\t\t\t\t<Typography color='theme.secondary.1000' type='s3'>\n\t\t\t\t\t\t\t\t\t{column.header}\n\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<Divider flexItem sx={{ mt: '0.25rem !important', mb: '0.25rem !important' }} />\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tenableAddCustomField && <MenuItem onClick={handleCustomAddColumn} className='role-drp-list'>\n\t\t\t\t\t\t\t\t<ListItemIcon className='add-icon'>\n\t\t\t\t\t\t\t\t\t<img src={images.common.addIcon} alt='Add Icon' />\n\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t\t<ListItemText className='title'>\n\t\t\t\t\t\t\t\t\t{t('common.addCustomField_label')}\n\t\t\t\t\t\t\t\t</ListItemText>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{visibleColumns.map((column: any) => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tkey={column.accessorKey}\n\t\t\t\t\t\t\t\tonClick={() => handleVisibleColumn(column)}\n\t\t\t\t\t\t\t\tclassName='role-drp-list'>\n\t\t\t\t\t\t\t\t<ListItemIcon className='add-icon'>\n\t\t\t\t\t\t\t\t\t<img src={images.common.dotsIcon} alt='Add Icon' />\n\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t\t<ListItemText className='title'>{column.header}</ListItemText>\n\t\t\t\t\t\t\t\t<ListItemIcon className='eye-icon'>\n\t\t\t\t\t\t\t\t\t<img src={images.common.eyeIcon} alt='Eye Icon' />\n\t\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<Divider flexItem sx={{ mt: '0.25rem !important', mb: '0.25rem !important' }} />\n\t\t\t\t\t\t<MenuItem onClick={handleAddButtonClick} className='role-drp-list'>\n\t\t\t\t\t\t\t<ListItemIcon className='add-icon'>\n\t\t\t\t\t\t\t\t<img src={images.common.addIcon} alt='Add Icon' />\n\t\t\t\t\t\t\t</ListItemIcon>\n\t\t\t\t\t\t\t<ListItemText className='title'>\n\t\t\t\t\t\t\t\t{t('common.addColumn_label')}\n\t\t\t\t\t\t\t</ListItemText>\n\t\t\t\t\t\t\t<Typography\n\t\t\t\t\t\t\t\tvariant='body2'\n\t\t\t\t\t\t\t\tcolor='text.secondary'\n\t\t\t\t\t\t\t\tclassName='eye-icon'>\n\t\t\t\t\t\t\t\t<ChevronRightIcon sx={{ fontSize: '1.25rem !important' }} />\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</Menu>\n\n\t\t\t<Menu\n\t\t\t\tanchorEl={rowAnchorEl}\n\t\t\t\topen={Boolean(rowAnchorEl)}\n\t\t\t\tonClose={handleActionsClose}>\n\t\t\t\t{rowActionMenu?.map((option: any) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(option.label === 'Move' &&\n\t\t\t\t\t\t\t(row?.is_directory === true || row?.is_directory === 1)) ||\n\t\t\t\t\t\t(option.label === 'Download' &&\n\t\t\t\t\t\t\t(row?.is_directory === true ||\n\t\t\t\t\t\t\t\trow?.is_directory === 1 ||\n\t\t\t\t\t\t\t\trow?.drive?.is_directory === true ||\n\t\t\t\t\t\t\t\trow?.drive?.is_directory === 1))\n\t\t\t\t\t) {\n\t\t\t\t\t\t// return null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={async () => {\n\t\t\t\t\t\t\t\tawait option.handleAction(row);\n\t\t\t\t\t\t\t\tsetRowAnchorEl(null);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\ttypeof option.disabled === 'function'\n\t\t\t\t\t\t\t\t\t? option.disabled(row)\n\t\t\t\t\t\t\t\t\t: Boolean(option.disabled)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsx={{ alignItems: 'center', gap: 0.5 }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{option?.icon}\n\t\t\t\t\t\t\t<Typography type='s4' color='inherit'>\n\t\t\t\t\t\t\t\t{typeof option.label === 'function' ? option.label(row) : option.label}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{destructiveActionMenu?.length > 0 &&\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Divider flexItem sx={{ mt: '0.25rem !important', mb: '0.25rem !important' }} />\n\t\t\t\t\t\t<div className='dropdown-inner--DestructiveHeader'>\n\t\t\t\t\t\t\t{destructiveActionMenu?.map((option: any) => (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\toption.handleAction(row);\n\t\t\t\t\t\t\t\t\t\tsetRowAnchorEl(null);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tclassName='dropdown-inner--DestructiveActions'\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\ttypeof option.disabled === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? option.disabled(row)\n\t\t\t\t\t\t\t\t\t\t\t: Boolean(option.disabled)\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t<Typography type='s4' color='inherit'>\n\t\t\t\t\t\t\t\t\t\t{typeof option.label === 'function' ? option.label(row) : option.label}\n\t\t\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t</Menu>\n\t\t\t<ConfirmPopUp\n\t\t\t\topen={Boolean(rowToDelete)}\n\t\t\t\tonClose={() => setRowToDelete(null)}\n\t\t\t\tonConfirm={() => handleRowDelete()}\n\t\t\t\ttitle='Delete Item'\n\t\t\t\tdescription={`Are you sure you want to delete entry ?`}\n\t\t\t\tloading={isDeletingRow}\n\t\t\t/>\n\t\t</TableWrapper>\n\t);\n});\n\nexport { MaterialEditableTable };\nexport default MaterialEditableTable;"],"names":["React","yup","_a","columns","row","table","path","isCreatingRow","isEditingRow","Add","rows","_b"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmLA,MAAM,eAAe,OAAO,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,QAAA,QAAU;;AAAO;AAAA,IAC7D,sBAAsB;AAAA,MACrB,QAAQ;AAAA,MACR,cAAc;AAAA,MACd,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,IASZ,sBAAsB;AAAA,MACrB,kBAAiB,aAAQ,UAAR,mBAAe,UAAU;AAAA,IAAG;AAAA,IAE9C,2BAA2B;AAAA,MAC1B,WAAW;AAAA,IAAA;AAAA,IAGZ,kBAAkB;AAAA,MACjB,WAAW;AAAA,IAAA;AAAA,IAGZ,2BAA2B;AAAA,MAC1B,kBAAkB;AAAA,QACjB,kBAAiB,wCAAS,UAAT,mBAAgB,QAAQ;AAAA,QACzC,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,IAED,qBAAqB;AAAA,MACpB,kBAAkB;AAAA,QACjB,iBAAiB,IAAG,wCAAS,UAAT,mBAAgB,QAAQ,IAAI;AAAA,QAChD,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,IAED,8BAA8B;AAAA,MAC7B,OAAO,IAAG,wCAAS,UAAT,mBAAgB,QAAQ,IAAI;AAAA,MACtC,SAAS;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,MAAA;AAAA,IACR;AAAA,EAEF;AAAA,CAAE;AAIF,MAAM,wBAAwBA,eAAM,KAAK,CAAC;AAAA,EACzC,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,2BAA2B,CAAA;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB,iBAAiB,CAAA;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA,kCAAkC;AAAA,EAClC,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,uBAAuB,MAAM;AAAA,EAAE;AAAA,EAC/B,cAAc,CAAA;AAAA,EACd,iBAAiB;AAAA,EACjB;AAAA,EACA,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKrB,GAAG;AACJ,MAA8B;AAC7B,QAAM,EAAE,EAAA,IAAM,eAAA;AACd,QAAM,EAAE,gBAAA,IAAoB,YAAA;AAC5B,QAAM,EAAE,WAAW,MAAM,gBAAgB,YAAY,MAAA,IAAU,SAAA;AAC/D,QAAM,aAAa,YAAuB,KAAK;AAC/C,QAAM,EAAE,WAAW;AACnB,QAAM,CAAC,KAAK,MAAM,IAAI,SAAS,CAAA,CAAE;AACjC,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,OAAO;AACxD,QAAM,CAAC,UAAU,WAAW,IAAI,SAA6B,IAAI;AACjE,QAAM,CAAC,WAAW,YAAY,IAAI,SAAkB,KAAK;AACzD,QAAM,CAAC,aAAa,cAAc,IAAI,SAA6B,IAAI;AACvE,QAAM,iBAAiB,aAAa,OAAO,CAAC,WAAgB,OAAO,OAAO;AAC1E,QAAM,gBAAgB,aAAa,OAAO,CAAC,WAAgB,CAAC,OAAO,OAAO;AAC1E,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,aAAa;AACpE,QAAM,CAAC,aAAa,cAAc,IAAI,SAAwB,IAAI;AAClE,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAiD,CAAA,CAAE;AACnG,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAc,CAAA,CAAE;AAChE,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAkB,KAAK;AACjE,QAAM,CAAC,cAAc,eAAe,IAAI,SAAkB,KAAK;AAC/D,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAkB,KAAK;AACjE,QAAM,CAAC,aAAa,cAAc,IAAI,SAAc,IAAI;AACxD,QAAM,CAAC,cAAc,eAAe,IAAI,SAAgC,CAAA,CAAE;AAC1E,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,SAAS,UAAU,IAAI,SAA2B,CAAA,CAAE;AAC3D,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,KAAK;AAC5D,QAAM,CAAC,cAAc,eAAe,IAAI,SAAgC,WAAW,YAAY;AAC/F,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAoC;AAAA,IACnF,mBAAmB,CAAA;AAAA,IACnB,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,WAAW;AAAA,EAAA,CACX;AACD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAiB,CAAC;AAE9D,QAAM,WAAW,YAAA;AACjB,QAAM,gBAAgB,SAAS,SAAS,MAAM,GAAG,EAAE,CAAC;AAEpD,MAAI,kBAAkB;AACtB,UAAQ,eAAA;AAAA,IACP,KAAK;AACJ,wBAAkB,mBAAmB;AACrC;AAAA,IACD,KAAK;AACJ,wBAAkB,kBAAkB;AACpC;AAAA,IACD,KAAK;AAEJ,wBAAkB,sBAAsB;AACxC;AAAA,IACD,KAAK;AACJ,wBAAkB,iBAAiB;AACnC;AAAA,IACD,KAAK;AACJ,wBAAkB,YAAY;AAC9B;AAAA,IACD,KAAK;AACJ,wBAAkB,cAAc;AAChC;AAAA,IACD,KAAK;AACJ,wBAAkB,eAAe;AACjC;AAAA,IACD,KAAK;AACJ,wBAAkB,iBAAiB;AACnC;AAAA,EAAA;AAEF,QAAM,OAAO,cAAc,aAAa,GAAG,eAAe;AAC1D,QAAM,oBAAoB,CAAC,WAAgB;;AAC1C,YAAQ,OAAO,aAAA;AAAA,MACd,KAAK;AACJ,iBAAO,sCAAQ,mBAAR,mBAAwB,eAAcC,IAAI,MAAA,IAAUA,IAAI,OAAA;AAAA,MAEhE,KAAK;AACJ,eAAOA,IAAI,SAAS,SAAA,EAAW,UAAU,CAAC,OAAO,kBAAmB,kBAAkB,KAAK,OAAO,KAAM;AAAA,MAEzG,KAAK;AACJ,eAAOA,IACL,SACA;AAAA,UACA;AAAA,UACA,EAAE,oBAAoB,MAAM,SAAS,0BAAA;AAAA,QAA0B;AAAA,MAGlE,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACJ,eAAOA,IAAI,OAAO,SAAA,EAAW,UAAU,CAAC,OAAO,kBAAkB;AAChE,cAAI,kBAAkB,MAAM,kBAAkB,QAAQ,kBAAkB,QAAW;AAClF,mBAAO;AAAA,UACR;AACA,cAAI,iBAAiB,OAAO,kBAAkB,YAAY,YAAY,eAAe;AACpF,mBAAQ,cAAsB,OAAA;AAAA,UAC/B;AACA,iBAAO;AAAA,QACR,CAAC,EAAE,UAAU,wBAAwB;AAAA,MAEtC,KAAK;AAAA,MACL,KAAK;AACJ,eAAOA,IAAI,MAAA,EAAQ,SAAA;AAAA,MAEpB;AACC,eAAOA,IAAI,OAAA;AAAA,IAAO;AAAA,EAErB;AAEA,QAAM,oBAAoB,CACzB,QACA,YACA,WACI;;AACJ,QAAI,MAAM;AAEV,YAAQ,WAAW,MAAA;AAAA,MAKlB,KAAK;AACJ,YAAI,WAAW,OAAO;AACrB,gBAAM,IAAI,SAAS,WAAW,MAAM,EAAE,UAAU,WAAW,MAAM;AAGjE,cAAI,EAAC,iCAAQ,iBAAe,iCAAQ,iBAAgB,QAAQ;AAC3D,kBAAM,IAAI;AAAA,cACT;AAAA,cACA;AAAA,cACA,CAAC,UACA,OAAO,UAAU,WACd,MAAM,KAAA,EAAO,SAAS,IACtB;AAAA,YAAA;AAAA,UAEN;AAAA,QACD,YAAW,sCAAQ,mBAAR,mBAAwB,aAAa;AAC/C,gBAAM,IAAI,IAAI,GAAG,WAAW,MAAM;AAAA,QACnC;AACA;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,YAAA;AACV;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,SAAS,WAAW,SAAS,IAAI;AAC3C;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,QAAQ,WAAW,MAAM;AACnC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,SAAA;AACV;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,OAAO,WAAW,SAAS,IAAI;AACzC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,UAAU,WAAW,MAAM;AACrC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,MAAM,WAAW,QAAQ,WAAW,MAAM;AACpD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,SAAS,WAAW,QAAQ,WAAW,MAAM;AACvD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,QAAQ,WAAW,KAAK;AAClC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,UAAU,WAAW,EAAE;AACjC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,MAAM,WAAW,KAAK;AAChC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,KAAK,WAAW,KAAK;AAC/B;AAAA,MAMD,KAAK;AACJ,cAAM,IAAI,KAAA;AACV;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,UAAA;AACV;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,UAAA;AACV;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,MAAM,WAAW,MAAM;AACjC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,IAAI,WAAW,MAAM;AAC/B;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,KAAK,WAAW,MAAM;AAChC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,OAAO,WAAW,OAAO,WAAW,MAAM;AACpD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,IAAI,WAAW,OAAO,WAAW,MAAM;AACjD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,IAAI,WAAW,OAAO,WAAW,MAAM;AACjD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,QAAQ,WAAW,OAAO,WAAW,MAAM;AACrD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI;AAAA,UACT,IAAI,OAAO,IAAI,WAAW,KAAK,EAAE;AAAA,UACjC,WAAW;AAAA,QAAA;AAEZ;AAAA,MAED,KAAK;AACJ,cAAM,IAAI;AAAA,UACT,IAAI,OAAO,GAAG,WAAW,KAAK,GAAG;AAAA,UACjC,WAAW;AAAA,QAAA;AAEZ;AAAA,MAMD,KAAK;AACJ,cAAM,IAAI,SAAS,WAAW,OAAO,WAAW,MAAM;AACtD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,SAAS,WAAW,OAAO,WAAW,MAAM;AACtD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,SAAS,WAAW,MAAM;AACpC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,SAAS,WAAW,MAAM;AACpC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,QAAQ,WAAW,MAAM;AACnC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,MAAM,WAAW,UAAU,OAAO;AAC5C;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,SAAA;AACV;AAAA,MAMD,KAAK;AACJ,cAAM,IAAI,IAAI,WAAW,OAAO,WAAW,MAAM;AACjD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,IAAI,WAAW,OAAO,WAAW,MAAM;AACjD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,OAAA;AACV;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,QAAQ,WAAW,QAAQ;AACrC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,GAAG,WAAW,MAAM;AAC9B;AAAA,MAMD,KAAK;AACJ,cAAM,IAAI,IAAI,WAAW,OAAO,WAAW,MAAM;AACjD;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,IAAI,WAAW,OAAO,WAAW,MAAM;AACjD;AAAA,MAMD,KAAK;AACJ,cAAM,IAAI,MAAM,WAAW,MAAM;AACjC;AAAA,MAED,KAAK;AACJ,cAAM,IAAI,UAAU,WAAW,SAAS,MAAM,WAAW,MAAM;AAC/D;AAAA,MAMD,KAAK;AACJ,cAAM,IAAI;AAAA,UACT,WAAW,QAAQ;AAAA,UACnB,WAAW;AAAA,UACX,WAAW;AAAA,QAAA;AAEZ;AAAA,MAED,KAAK;AACJ,YAAI,OAAO,WAAW,aAAa,YAAY;AAC9C,gBAAM,IAAI;AAAA,YACT,WAAW,QAAQ;AAAA,YACnB,WAAW,UAAU;AAAA,YACrB,SAAU,OAAO;;AAChB,oBAAM,WAASC,MAAA,KAAK,QAAQ,YAAb,gBAAAA,IAAsB,QAAO;AAAA,gBAC3C,UAAU,KAAK;AAAA,gBACf,QAAQ,KAAK;AAAA,gBACb,cAAc,KAAK;AAAA,cAAA;AAEpB,qBAAO,WAAW,SAAS,OAAO,KAAK,QAAQ,MAAM;AAAA,YACtD;AAAA,UAAA;AAAA,QAEF;AACA;AAAA,MAMD,KAAK;AACJ,eAAO,IAAI,KAAK,WAAW,UAAU;AAAA,UACpC,IAAI,CAAC,QACJ,OAAO,WAAW,OAAO,aACtB,WAAW,GAAG,GAAG,IACjB,MAAM,QAAQ,WAAW,MAAM,IAC9B,WAAW,OAAO,SAAS,GAAG,IAC9B,QAAQ,WAAW;AAAA,UAExB,MAAM,CAAC;;AACN,qBAAAA,MAAA,yCAAY,oBAAZ,gBAAAA,IAA6B;AAAA,cAC5B,CAAC,KAAU,MACV,kBAAkB,KAAK,GAAG,MAAM;AAAA,cACjC;AAAA,kBACI;AAAA;AAAA,UAEN,WAAW,CAAC;;AACX,qBAAAA,MAAA,yCAAY,yBAAZ,gBAAAA,IAAkC;AAAA,cACjC,CAAC,KAAU,MACV,kBAAkB,KAAK,GAAG,MAAM;AAAA,cACjC;AAAA,kBACI;AAAA;AAAA,QAAA,CACN;AAAA,IAGD;AAGF,WAAO;AAAA,EACR;AAIA,QAAM,2BAA2B,CAACC,aAAmB;AACpD,WAAOA,SAAQ,OAAO,CAAC,KAAU,QAAa;;AAC7C,YAAM,eAAc,gCAAK,mBAAL,mBAAqB;AAEzC,UAAI,EAAC,2CAAa,QAAQ,QAAO;AAEjC,YAAM,aAAa,kBAAkB,GAAG;AAExC,UAAI,IAAI,WAAW,IAAI,YAAY;AAAA,QAClC,CAAC,QAAa,eACb,kBAAkB,QAAQ,YAAY,GAAG;AAAA,QAC1C;AAAA,MAAA;AAGD,aAAO;AAAA,IACR,GAAG,CAAA,CAAE;AAAA,EACN;AAGA,YAAU,MAAM;AACf,oBAAgB,OAAO;AAEvB,UAAM,SAAc,yBAAyB,OAAO;AACpD,wBAAoBF,IAAI,OAAA,EAAS,MAAM,MAAM,CAAC;AAAA,EAE/C,GAAG,CAAC,OAAO,CAAC;AAEZ,YAAU,MAAM;AACf,QAAI,EAAC,qDAAkB,mBAAkB;AACxC,qBAAe,EAAE,cAAc,EAAE,GAAG,WAAW,cAAc,GAAG,aAAA,GAAgB;AAChF,mEAAuB;AAAA,IACxB;AAAA,EAED,GAAG,CAAC,qDAAkB,kBAAkB,YAAY,CAAC;AAErD,QAAM,oBAAoB,CAAC,UAAe;AACzC,gBAAY,MAAM,aAAa;AAAA,EAChC;AAEA,QAAM,oBAAoB,MAAM;AAC/B,gBAAY,IAAI;AAAA,EACjB;AAEA,QAAM,sBAAsB,CAAC,WAAgB;AAC5C,UAAM,iBAAiB,aAAa,IAAI,CAAC,SAAc;AAAA,MACtD,GAAG;AAAA,MACH,SAAS,IAAI,gBAAgB,OAAO,cAAc,QAAQ,IAAI;AAAA,IAAA,EAC7D;AACF,oBAAgB,cAAc;AAC9B,6DAAqB,KAAK,MAAM,KAAK,UAAU,cAAc,CAAC;AAC9D,uBAAmB,CAAC,GAAG,iBAAiB,MAAM,CAAC;AAC/C,gBAAY,IAAI;AAAA,EACjB;AAEA,QAAM,uBAAuB,MAAM;AAClC,iBAAa,IAAI;AAAA,EAClB;AAEA,QAAM,wBAAwB,MAAM;AACnC,iBAAa,KAAK;AAAA,EACnB;AAEA,QAAM,kBAAkB,CAAC,WAAgB;AACxC,UAAM,iBAAiB,aAAa,IAAI,CAAC,SAAc;AAAA,MACtD,GAAG;AAAA,MACH,SAAS,IAAI,gBAAgB,OAAO,cAAc,OAAO,IAAI;AAAA,IAAA,EAC5D;AACF,6DAAqB,KAAK,MAAM,KAAK,UAAU,cAAc,CAAC;AAC9D,oBAAgB,cAAc;AAE9B,UAAM,yBAAyB,gBAAgB;AAAA,MAC9C,CAAC,WAAgB,OAAO,gBAAgB,OAAO;AAAA,IAAA;AAEhD,uBAAmB,sBAAsB;AACzC,gBAAY,IAAI;AAChB,iBAAa,KAAK;AAAA,EACnB;AAEA,QAAM,oBAAoB,CAAC,gBAAwB;AAClD,UAAM,kBAAkB,cAAc;AAAA,MAAO,CAAC,WAC7C,OAAO,OAAO,cAAc,SAAS,YAAY,YAAA,CAAa;AAAA,IAAA;AAE/D,uBAAmB,eAAe;AAAA,EACnC;AAEA,QAAM,wBAAwB,MAAM;AACnC,aAAS,MAAM,EAAE,OAAO,SAAA,CAAU;AAClC,gBAAY,IAAI;AAChB,iBAAa,KAAK;AAAA,EACnB;AAaA,QAAM,qBAAqB,CAAC,OAAY,SAAc;AACrD,WAAO,IAAI;AACX,mBAAe,MAAM,aAAa;AAAA,EACnC;AAEA,QAAM,qBAAqB,MAAM;AAChC,mBAAe,IAAI;AAAA,EACpB;AAEA,QAAM,cAAc,YAAY,CAAC,QAAa,UAAiB;AAC9D,UAAM,IAAS,CAAA;AACf,QAAI,iCAAS,oBAAoB;AAChC,aAAO,OAAO,iBAAiB;AAAA,IAChC;AACA,WAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,OAAO;AACnC,YAAM,MAAM,OAAO,EAAE;AACrB,YAAM,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE;AAElD,UAAI,KAAK;AACR,YAAI,eAAe,MAAM;AACxB,YAAE,EAAE,IAAI,IAAI;AAAA,QACb,WAAW,SAAQ,6BAAM,gBAAe,QAAQ;AAC/C,YAAE,EAAE,IAAI,MAAM,GAAG,EAAE,QAAO,6BAAM,eAAc,YAAY;AAAA,QAC3D,WAAW,SAAQ,6BAAM,gBAAe,QAAQ;AAC/C,YAAE,EAAE,IAAI,MAAM,QAAQ,GAAG,IAAI,IAAI,OAAO,OAAO,IAAI;AAAA,QACpD,WAAW,SAAQ,6BAAM,gBAAe,YAAY,OAAO,QAAQ,YAAY,QAAQ,MAAM;AAG5F,YAAE,EAAE,IAAI,IAAI,QAAQ,IAAI,SAAS,IAAI,gBAAgB,IAAI,SAAS,IAAI,SAAS,IAAI,MAAM;AAAA,QAC1F,WAAW,SAAQ,6BAAM,gBAAe,YAAY,OAAO,QAAQ,UAAU;AAE5E,YAAE,EAAE,IAAI;AAAA,QACT,OAAO;AACN,YAAE,EAAE,IAAI;AAAA,QACT;AAAA,MACD,OAAO;AACN,UAAE,EAAE,IAAI;AAAA,MACT;AAAA,IACD,CAAC;AAED,WAAO;AAAA,EACR,GAAG,CAAA,CAAE;AAEL,QAAM,kBAAkB,YAAY;AACnC,qBAAiB,IAAI;AACrB,QAAI,aAAa;AAChB,aAAM,2CAAc;AACpB,qBAAe,IAAI;AAAA,IACpB;AACA,qBAAiB,KAAK;AAAA,EACvB;AAEA,QAAM,gBAAgB,YAAY,CAAC,mBAAwB;;AAC1D,YAAO,sDAAgB,gBAAhB,mBAA6B,KAAK,CAAC,eAAoB,WAAW,SAAS;AAAA,EACnF,GAAG,CAAA,CAAE;AACL,YAAU,MAAM;AACf,UAAM,eAAe,CAAA;AAErB,QAAI,CAAC,aAAa,eAAe,QAAQ;AACxC,WAAK,QAAQ,CAACG,SAAQ;AACrB,YAAI,eAAe,SAASA,KAAI,EAAE,GAAG;AACpC,uBAAaA,KAAI,EAAE,IAAI;AAAA,QACxB;AAAA,MACD,CAAC;AACD,sBAAgB,YAAY;AAC5B,mBAAa,IAAI;AAAA,IAClB;AAAA,EAGD,GAAG,CAAC,MAAM,cAAc,CAAC;AAEzB,YAAU,MAAM;AACf,QAAI,2BAA2B,UAAU;AACxC,YAAM,eAAe,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAA;AACxD,sBAAgB,aAAa,CAAC,KAAK,IAAI;AAAA,IACxC;AAAA,EAED,GAAG,CAAC,OAAO,CAAC;AAGZ,QAAM,oBAAoB,MAAM;AAC/B,oBAAgB,CAAA,CAAE;AAClB,uBAAmB,KAAK;AAAA,EACzB;AACA,QAAM,eAAe,CAAC,SAAiB;AACtC,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,UAAM,MAAM,OAAO,WAAW,IAAI;AAClC,QAAI,CAAC,IAAK,QAAO;AACjB,WAAO,IAAI,YAAY,IAAI,EAAE,QAAQ;AAAA,EACtC;AAsBA,QAAM,gBAAgB;AAAA,IACrB,OAAO,EAAE,KAAAA,MAAK,QAAQ,OAAAC,OAAAA,GAAwB,SAAiC;AAC9E,YAAM,aAAa,SAAS;AAC5B,YAAM,kBAAkB,aAAa,kBAAkB;AACvD,YAAM,QAAQD,KAAI;AAElB,UAAI;AACH,cAAM,iBAAiB,SAAS,QAAQ,EAAE,YAAY,OAAO,SAAS,EAAE,KAAAA,KAAAA,GAAO;AAE/E,4BAAoB,CAAC,SAAS;AAAE,gBAAM,OAAO,EAAE,GAAG,KAAA;AAAQ,iBAAO,KAAK,KAAK;AAAG,iBAAO;AAAA,QAAM,CAAC;AAC5F,wBAAgB,IAAI;AACpB,2BAAmB,KAAK;AAExB,cAAM,QAAQA,KAAI,cAAc,IAAI,CAAC,MAAM,EAAE,OAAO,SAAS;AAC7DA,aAAI,eAAe,YAAY,QAAQ,KAAK;AAE5C,cAAM,OAAO,EAAE,KAAAA,MAAK,QAAQ,OAAAC,OAAAA;AAE5B,YAAI,YAAY;AACf,iBAAM,uCAAY,MAAM;AACxBA,iBAAM,cAAc,IAAI;AAAA,QACzB,OAAO;AACN,iBAAM,2CAAc;AACpBA,iBAAM,eAAe,IAAI;AAAA,QAC1B;AAAA,MACD,SAAS,KAAK;AACb,YAAI,eAAeJ,IAAI,iBAAiB;AACvC,gBAAM,cAAc,IAAI,MAAM,OAA+B,CAAC,KAAK,EAAE,MAAAK,OAAM,cAAc;AACxF,gBAAIA,MAAM,KAAIA,KAAI,IAAI;AACtB,mBAAO;AAAA,UACR,GAAG,CAAA,CAAE;AACL,8BAAoB,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,YAAA,EAAc;AAAA,QAClE,OAAO;AACN;AAAA,YACC,gBAAgB,eAAe,QAAQ,IAAI,UAAU,sBAAsB;AAAA,YAC3E,EAAE,SAAS,QAAA;AAAA,UAAQ;AAAA,QAErB;AAAA,MACD,UAAA;AACC,wBAAgB,KAAK;AAAA,MACtB;AAAA,IACD;AAAA,IACA,CAAC,kBAAkB,WAAW,aAAa,WAAW;AAAA,EAAA;AAGvD,QAAM,WAAW,YAAY,OAAO,QAAaF,SAAc;AAC9D,QAAI;AACH,YAAM,iBAAiB,SAAS,QAAQ,EAAE,YAAY,OAAO,SAAS,EAAE,KAAAA,KAAAA,GAAO;AAC/E,0BAAoB,CAAA,CAAE;AACtB,aAAO;AAAA,IACR,SAAS,KAAK;AACb,aAAO;AAAA,IACR;AAAA,EACD,GAAG,CAAC,gBAAgB,CAAC;AAEC;AAAA,IACrB,OAAO,UAAkB,OAAY,OAAe,cAAmB;AACtE,UAAI,CAAC,oBAAoB,OAAO,iBAAiB,eAAe,cAAc,CAAC,iBAAiB,UAAU,CAAC,iBAAiB,OAAO,QAAQ,EAAG;AAC9I,UAAI;AACH,cAAM,iBAAiB;AAAA,UACtB;AAAA,UACA;AAAA,YACC,GAAG;AAAA,YACH,CAAC,QAAQ,GAAG;AAAA,UAAA;AAAA,UAEb;AAAA,YACC,YAAY;AAAA,UAAA;AAAA,QACb;AAED,4BAAoB,CAAC,SAAS;AAC7B,gBAAM,OAAO,EAAE,GAAG,KAAA;AAClB,cAAI,KAAK,KAAK,GAAG;AAChB,kBAAM,UAAU,EAAE,GAAG,KAAK,KAAK,EAAA;AAC/B,mBAAO,QAAQ,QAAQ;AACvB,iBAAK,KAAK,IAAI;AAAA,UACf;AACA,iBAAO;AAAA,QACR,CAAC;AAAA,MACF,SAAS,KAAK;AACb,YAAI,eAAeH,IAAI,iBAAiB;AACvC,gBAAM,cAAc,IAAI,MAAM,OAA+B,CAAC,KAAK,EAAE,MAAAK,OAAM,cAAc;AACxF,gBAAIA,MAAM,KAAIA,KAAI,IAAI;AACtB,mBAAO;AAAA,UACR,GAAG,CAAA,CAAE;AACL,8BAAoB,CAAC,UAAU;AAAA,YAC9B,GAAG;AAAA,YACH,CAAC,KAAK,GAAG;AAAA,cACR,GAAI,KAAK,KAAK,KAAK,CAAA;AAAA,cACnB,GAAG;AAAA,YAAA;AAAA,UACJ,EACC;AAAA,QACH;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAC,gBAAgB;AAAA,EAAA;AAGlB,QAAM,YAAY,OAAkC,EAAE;AAGtD,QAAM,iBAAiB;AAAA,IACtB,CAAC,OAAe,UAAkB,UAAmB;AACpD,gBAAU,QAAQ,KAAK,IAAI;AAAA,QAC1B,GAAI,UAAU,QAAQ,KAAK,KAAK,CAAA;AAAA,QAChC,CAAC,QAAQ,GAAG;AAAA,MAAA;AAAA,IAEd;AAAA,IACA,CAAA;AAAA,EAAC;AAGF,QAAM,WAAW,YAAY,CAAC,UAAkB;AAC/C,WAAO,UAAU,QAAQ,KAAK;AAAA,EAC/B,GAAG,CAAA,CAAE;AAGL,QAAM,eAAe;AAAA,IACpB,CAACF,UAAoC;AAAA;AAAA,MAEpC,GAAIA,KAAI;AAAA;AAAA,MAER,GAAIA,KAAI;AAAA;AAAA,MAER,GAAI,UAAU,QAAQA,KAAI,EAAE,KAAK,CAAA;AAAA,IAAC;AAAA,IAEnC,CAAA;AAAA,EAAC;AAIF,QAAM,iBAAiB;AAAA,IACtB,OAAOC,WAAoC;AAC1C,YAAM,aAAaA,OAAM,SAAA,EAAW;AACpC,YAAM,cAAcA,OAAM,SAAA,EAAW;AACrC,UAAI,CAAC,WAAY;AACjB,YAAM,SAAS,aAAa,UAAU;AACtC,YAAM,UAAU,MAAM,SAAS,QAAQ,UAAU;AACjD,UAAI,CAAC,SAAS;AAEb,cAAM,cAAc,EAAE,KAAK,YAAY,QAAQ,OAAAA,OAAAA,GAAS,MAAM;AAC9D;AAAA,MACD;AACA,YAAM,cAAc,EAAE,KAAK,YAAY,QAAQ,OAAAA,OAAAA,GAAS,MAAM;AAC9D,eAAS,WAAW,EAAE;AACtB,UAAI,CAAC,eAAe,iBAAiB;AACpC,2BAAmB,KAAK;AACxB,mBAAW,MAAMA,OAAM,eAAe,IAAI,GAAG,GAAG;AAAA,MACjD,OAAO;AACN,2BAAmB,KAAK;AAAA,MACzB;AAAA,IACD;AAAA,IACA,CAAC,cAAc,eAAe,UAAU,UAAU,eAAe;AAAA,EAAA;AAGlE,QAAM,kBAAkB;AAAA,IACvB,OAAOA,WAAoC;AAC1C,YAAM,cAAcA,OAAM,SAAA,EAAW;AACrC,UAAI,CAAC,YAAa;AAClB,YAAM,SAAS,aAAa,WAAW;AACvC,UAAI,iCAAS,oBAAoB;AAChC,eAAO,OAAO,iBAAiB;AAAA,MAChC;AACA,YAAM,UAAU,MAAM,SAAS,QAAQ,WAAW;AAClD,YAAM,cAAc,EAAE,KAAK,aAAa,QAAQ,OAAAA,OAAAA,GAAS,QAAQ;AACjE,UAAI,CAAC,QAAS;AACd,UAAI,SAAS;AACZ,2BAAmB,KAAK;AACxB,iBAAS,gBAAgB;AACzB,mBAAW,MAAMA,OAAM,eAAe,IAAI,GAAG,GAAG;AAAA,MACjD;AAAA,IACD;AAAA,IACA,CAAC,cAAc,UAAU,QAAQ;AAAA,EAAA;AAGlC,QAAM,QAAQ,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnC,eAAe;AAAA,MACd,SAAS;AAAA;AAAA,MACT,MAAM;AAAA;AAAA,IAAA;AAAA,IAEP,SAAS;AAAA,MACR,GAAG,eAAe,IAAI,CAAC,MAAW;AACb,qBAAa,EAAE,UAAU,EAAE;AAC1B,aAAK;AAAA,UACzB,GAAG,KAAK,IAAI,CAAAD,SAAO,aAAa,OAAOA,KAAI,EAAE,WAAW,KAAK,EAAE,CAAC,CAAC;AAAA,QAAA;AAGlE,eAAO;AAAA,UACN,GAAG;AAAA,UACH,GAAI,oBAAoB,QACrB;AAAA,YACD,MAAM,CAAC,EAAE,MAAM,KAAAA,MAAK,OAAAC,QAAO,aAAa;AACvC,qBACC;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA,KAAK;AAAA,kBACL,KAAKD;AAAAA,kBACL,OAAOC;AAAAA,kBACP,UAAU,CAAC,MAAM,QAAQ,IAAI,QAAQ,CAAC;AAAA,kBACtC,QAAQ,iBAAiBD,KAAI,EAAE,KAAK,CAAA;AAAA,kBACpC;AAAA,kBACA,qBAAqB,CAAC,WACrB,oBAAoB,CAAC,UAAU,EAAE,GAAG,MAAM,CAACA,KAAI,EAAE,GAAG,SAAS;AAAA,kBAE9D;AAAA,kBACA,iBAAiB,CAAC,MAAMA,SAAQ,mDAAkB,MAAMA;AAAAA,kBACxD;AAAA,gBAAA;AAAA,cAAA;AAAA,YAGH;AAAA,UAAA,IAEC,CAAA;AAAA,UACH,QACC,qBAAC,KAAA,EAAI,SAAQ,QAAO,YAAW,UAC7B,UAAA;AAAA,YAAA,EAAE;AAAA,aACF,uBAAG,aAAY,cAAc,uBAAG,cAAc,KAC9C,oBAAC,YAAA,EAAW,MAAK,MAAK,OAAM,mBAAkB,UAAA,IAAA,CAE9C;AAAA,UAAA,GAEF;AAAA,UAED,sBAAsB,EAAE,OAAO;AAAA;AAAA;AAAA;AAAA,UAI/B,MAAM;AAAA;AAAA,UAEN,SAAS;AAAA,QAAA;AAAA,MAEX,CAAC;AAAA,MACD,GAAI,CAAC,6BACF;AAAA,QACD;AAAA,UACC,IAAI;AAAA,UACJ,eAAe;AAAA,UACf,OAAM,qEAA0B,UAAS,IAAI,KAAK;AAAA,UAClD,QACC,oBAAC,YAAA,EAAW,MAAK,SAAQ,IAAI,EAAE,GAAG,KAAK,WAAW,EAAE,iBAAiB,gBAAc,GAAK,SAAS,mBAChG,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,WAAW,KAAI,aAAA,CAAa,EAAA,CACrD;AAAA,UAED,sBAAsB;AAAA,UACtB,SAAS;AAAA,UACT,uBAAuB;AAAA,YACtB,WAAW;AAAA,UAAA;AAAA,UAEZ,uBAAuB;AAAA,YACtB,WAAW;AAAA,YACX,IAAI;AAAA,cACH,YAAY;AAAA,YAAA;AAAA,UACb;AAAA,UAED,MAAM,CAAC,WACN,qEAA0B,UACzB,yBAAyB,IAAI,CAAC,SAAS;AACtC,kBAAM,eAAe;AAAA,cACpB,GAAG,KAAK;AAAA,cACR,SAAS,MAAM,KAAK,MAAM,QAAQ,KAAK;AAAA,YAAA;AAExC,mBAAO,aAAa,MAAM,YAAY;AAAA,UACvC,CAAC,IACE,CAAC,mCACJ;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,SAAS,CAAC,MAAM,mBAAmB,GAAG,MAAM,IAAI,QAAQ;AAAA,cAAG,UAAU,EAAC,+CAAe,WAAU,EAAC,+DAAuB;AAAA,cACvH,8BAAC,OAAA,EAAI,KAAK,OAAO,MAAM,KAAI,YAAA,CAAY;AAAA,YAAA;AAAA,UAAA;AAAA,QACxC;AAAA,MAEH,IAEC,CAAA;AAAA,IAAC;AAAA,IAEL,MAAM;AAAA,IACN,oBAAoB;AAAA,MACnB,IAAI;AAAA,QACH,aAAa;AAAA;AAAA,MAAA;AAAA,IACd;AAAA,IAED,kBAAkB;AAAA,IAClB,kBAAkB,OAAO,SAAS;AACjC,YAAM,cAAc,MAAM,MAAM;AAAA,IACjC;AAAA,IACA,mBAAmB,OAAO,SAAS;AAClC,YAAM,cAAc,MAAM,QAAQ;AAAA,IACnC;AAAA,IACA,qBAAqB,MAAM,kBAAA;AAAA,IAC3B,oBAAoB,MAAM;AACzB,yBAAmB,KAAK;AAAA,IACzB;AAAA,IACA,kBAAiB,iCAAQ,WAAU,kBAAkB;AAAA,IAErD,yBAAyB;AAAA,MACxB,mBAAmB;AAAA;AAAA,QAGlB,QACC,oBAAC,YAAA,EAAW,SAAS,mBAAmB,MAAK,SAC5C,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,WAAW,KAAI,cAAa,GACrD;AAAA,QAED,uBAAuB,CAAC,EAAE,KAAAA,MAAK,OAAAC,aAAY;;AAC1C,gBAAME,mBAAgBF,YAAM,SAAA,EAAW,gBAAjBA,mBAA8B,QAAOD,KAAI;AAC/D,gBAAMI,kBAAeH,YAAM,SAAA,EAAW,eAAjBA,mBAA6B,QAAOD,KAAI;AAC7D,iBAAO;AAAA,YACN,IAAI;AAAA,cACH,kBAAkB;AAAA,gBACjB,KAAK;AAAA,cAAA;AAAA,cAEN,iBAAiB;AAAA,cACjB,YAAY;AAAA;AAAA,cAEZ,GAAK,mBAAmBI,iBAAgBD,kBACrC;AAAA,gBACD,sDAAsD;AAAA,kBACrD,SAAS;AAAA,gBAAA;AAAA;AAAA,gBAGV,gCAAgC;AAAA,kBAC/B,SAAS;AAAA,gBAAA;AAAA,gBAEV,2BAA2B;AAAA,kBAC1B,SAAS;AAAA,gBAAA;AAAA;AAAA,gBAGV,wCAAwC;AAAA,kBACvC,SAAS;AAAA,gBAAA;AAAA,gBAEV,8CAA8C;AAAA,kBAC7C,SAAS;AAAA,gBAAA;AAAA,cACV,IAEC,CAAA;AAAA,YAAC;AAAA,UACL;AAAA,QAEF;AAAA,MAAA;AAAA,MAED,kBAAkB;AAAA,QACjB,MAAM;AAAA;AAAA,MAAA;AAAA,MAEP,kBAAkB;AAAA,QACjB,MAAM;AAAA;AAAA,MAAA;AAAA,IACP;AAAA,IAED,kBAAkB,CAAC,EAAE,KAAAH,MAAK,OAAAC,aACzB,oBAAA,UAAA,EACE,WAAA,6BAAM,mDAEJ,WAAAD,6BAAK,aACL,oBAAC,KAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,KAAK,EAAA,GAC/B,yBAAe,EAAC,qDAAmBA,KAAI,kCACtC,SAAA,EAAQ,OAAM,UACd,UAAA,oBAAC,YAAA,EAAW,UAAU,iBAAiB,SAAS,MAAM,eAAeA,IAAG,GAAG,MAAK,SAAQ,WAAU,cACjG,UAAA,oBAAC,OAAA,EAAM,UAAS,SAAQ,IAAI,EAAE,OAAO,yBAAuB,CAAG,EAAA,CAChE,GACD,EAAA,CAEF,EAAA,CAEF,IAEA,oBAAC,KAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,KAAK,EAAA,GAC/B,UAAA,eAAe,EAAC,qDAAmBA,KAAI,cACvC,oBAAC,SAAA,EAAQ,OAAM,UACd,UAAA,oBAAC,cAAW,UAAU,iBAAiB,SAAS,MAAM,eAAeA,IAAG,GAAG,WAAU,cACpF,8BAAC,OAAA,EAAM,UAAS,SAAQ,IAAI,EAAE,OAAO,yBAAuB,CAAG,EAAA,CAChE,GACD,EAAA,CAEF,EAAA,CAEF;AAAA,IAGD,GAAI,QAAQ,eAAe,KAAK;AAAA,MAC/B,kCAAkC,CAAC,EAAE,OAAAC,aACpC;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,SAAQ;AAAA,UACR,+BAAYI,SAAA,EAAI;AAAA,UAChB,WAAU;AAAA,UACV,UAAU;AAAA,UACV,SAAS,MAAM;AACdJ,mBAAM,eAAe,IAAI;AACzB,+BAAmB,IAAI;AAAA,UACxB;AAAA,UACC,YAAE,YAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB;AAAA,IAGF,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,IACtB,oBAAoB,sBAAsB;AAAA,IAC1C,eAAe,CAACD,SAAQ,yBAAyB,WAAW,cAAcA,IAAG,IAAI,iBAAiB;AAAA,IAClG,iBAAiB,mBAAmB;AAAA,IACpC,mBAAmB;AAAA,IACnB,qBAAqB;AAAA,IACrB;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB,uBAAuB;AAAA,IAC5C,sBAAsB,wBAAwB;AAAA,IAC9C,oBAAoB;AAAA,IACpB,sBAAsB;AAAA;AAAA,IAEtB,OAAO;AAAA;AAAA;AAAA;AAAA,MAIN;AAAA,MACA,eAAe,EAAE,MAAM,CAAC,WAAW,iBAAiB,EAAA;AAAA,MACpD,UAAU,iBAAiB;AAAA,MAC3B,kBAAkB;AAAA,MAClB;AAAA,MACA,GAAG;AAAA,MACH,SAAS,MAAM,QAAQ,iCAAQ,OAAO,IAAI,iCAAQ,UACjD,MAAM,QAAQ,OAAO,IAAI,UAAU,CAAA;AAAA,MACpC;AAAA,IAAA;AAAA,IAGD,UAAU,CAACA,SAAQA,6BAAK;AAAA;AAAA,IAExB,sBAAsB,CAAC,EAAE,KAAAA,MAAK,OAAAC,aAAY;;AACzC,YAAM,iBACLA,kBAAM,SAAA,MAANA,mBAAkB,eAAlBA,mBAA8B,SAC9BA,kBAAM,SAAA,MAANA,mBAAkB,gBAAlBA,mBAA+B,OAC/B;AACqBA,0BAAM,SAAA,MAANA,mBAAkB,gBAAlBA,mBAA+B,OAAM;AAC3D,YAAM,aAAa,SAAQD,kCAAK,aAALA,mBAAe,SAAS;AACxB,uBAAiBA,KAAI;AAEhD,aAAO;AAAA,QACN,SAAS,MAAM;AACd,yBAAeA,KAAI,EAAE;AAAA,QAGtB;AAAA,QACA,IAAI;AAAA,UACH,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAMR,iBAAiB,CAAC,eACd,aAAa,oBAAoB,YAClC;AAAA,UACH,WAAW;AAAA,YACV,iBAAiB,eACb,iBAAiBA,KAAI,KAAK,gBAAgB,YAC1C,aAAa,oBAAoB;AAAA,UAAA;AAAA,UAEtC,oBAAoB;AAAA,YACnB,iBAAiB;AAAA;AAAA,UAAA;AAAA,QAClB;AAAA,MACD;AAAA,IAEF;AAAA,IACA,qBAAqB,CAAC,aAAkB;AACvC,UAAI,2CAA2C,QAAQ;AAAA,IACxD;AAAA,IACA,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,IAE1B,yBAAyB,MACxB,qBAAC,KAAA,EAAI,WAAU,WACd,UAAA;AAAA,MAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,aAAa;AAAA,MACrC,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAO,UAAS,OAAM,wBAE1C,UAAA,EAAE,eAAe,EAAA,CACnB;AAAA,IAAA,GACD;AAAA;AAAA,IAID;AAAA,IACA,uBAAuB;AAAA,IACvB,oBAAoB;AAAA,MACnB,OAAO;AAAA,MACP,MAAM;AAAA;AAAA,MACN,OAAO;AAAA;AAAA,MACP,iBAAiB;AAAA;AAAA,MACjB,eAAe;AAAA,IAAA;AAAA,IAGhB,uBAAuB,CAAC,EAAE,KAAAA,MAAK,cAAc;AAAA,MAC5C,YAAY;AAAA,QACX,kBAAkB;AAAA,MAAA;AAAA,MAEnB,QAAQ,CAAC,MAAM;AACd,mBAAW,EAAE,OAAO,OAAO,QAAQA,KAAI,EAAE;AAAA,MAC1C;AAAA;AAAA;AAAA;AAAA,MAIA,SAAS;AAAA,MACT,IAAI,CAAC,EAAE,cAAQ;;AAAO;AAAA,UACrB,4BAA4B;AAAA,YAC3B,cAAc;AAAA,cACb,aAAa,IAAG,aAAQ,UAAR,mBAAe,QAAQ,IAAI;AAAA;AAAA,YAAA;AAAA,UAE5C;AAAA,QACD;AAAA;AAAA,IACD;AAAA;AAAA,IAID,0BAA0B;AAAA,MACzB,IAAI;AAAA,QACH,OAAO;AAAA,MAAA;AAAA,IACR;AAAA;AAAA,IAID,uBAAuB;AAAA,MACtB,IAAI;AAAA,QACH,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,gCAAgC;AAAA,UAC/B,QAAQ;AAAA,QAAA;AAAA,QAET,uCAAuC;AAAA,UACtC,OAAO;AAAA,UACP,gBAAgB;AAAA,QAAA;AAAA,QAEjB,mBAAmB;AAAA,UAClB,iBAAiB;AAAA,QAAA;AAAA,QAElB,6CAA6C;AAAA,UAC5C,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,OAAO;AAAA,UACP,SAAS;AAAA,QAAA;AAAA,MACV;AAAA,IACD;AAAA;AAAA,IAID,mBAAmB;AAAA,MAClB,IAAI;AAAA,QACH,QAAQ;AAAA,MAAA;AAAA,IACT;AAAA,IAED,mBAAmB;AAAA,MAClB,IAAI;AAAA,QACH,QAAQ;AAAA,MAAA;AAAA,IACT;AAAA,IAED,uBAAuB,CAAC,EAAE,MAAM,QAAQ,OAAAC,QAAO,KAAAD,YAAW;AAAA,MACzD,IAAI;AAAA,QACH,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,mBAAmB;AAAA,UAClB,iBAAiB;AAAA,QAAA;AAAA,QAElB,WAAW;AAAA,UACV,iBAAiB;AAAA;AAAA,QAAA;AAAA,QAElB,YAAY;AAAA,MAAA;AAAA,MAEb,SAAS,CAAC,MAAwB;;AACjC,cAAM,SAAS,EAAE;AAIjB,cAAM,YAAY,OAAO,QAAQ,oBAAoB;AAErD,cAAM,gBAAgB,aAAa,CAAC,UAAU,cAAc,aAAa;AAEzE,YAAI,CAAC,cAAe;AAEpB,cAAM,YAAY,OAAO;AACzB,cAAM,oBAAoB,UAAU,sBAAsB;AAE1D,YAAI,CAAC,mBAAmB;AACvB;AAAA,QACD;AAEA,cAAM,iBAAeC,kBAAM,SAAA,MAANA,mBAAkB,eAAlBA,mBAA8B,SAAMA,kBAAM,SAAA,MAANA,mBAAkB,gBAAlBA,mBAA+B,OAAM;AAC9F,cAAM,qBAAqB,iBAAiBD,KAAI;AAGhD,YAAI,gBAAgB,iBAAiBA,KAAI,IAAI;AAC5C,gBAAM,oBAAoBC,OAAM,SAAA,EAAW;AAC3C,gBAAM,qBAAqBA,OAAM,SAAA,EAAW;AAE5C,WAAC,YAAY;AACZ,gBAAI,gBAAgB;AACpB,gBAAI,oBAAoB;AACvB,oBAAM,SAAS,aAAa,kBAAkB;AAC9C,oBAAM,UAAU,MAAM,SAAS,QAAQ,kBAAkB;AACzD,kBAAI,CAAC,QAAS;AACd,oBAAM,cAAc,EAAE,KAAK,oBAAoB,QAAQ,OAAAA,OAAAA,GAAS,QAAQ;AACxE,uBAAS,gBAAgB;AACzB,8BAAgB;AAAA,YACjB,WAAW,mBAAmB;AAC7B,oBAAM,SAAS,aAAa,iBAAiB;AAC7C,oBAAM,UAAU,MAAM,SAAS,QAAQ,iBAAiB;AACxD,kBAAI,CAAC,QAAS;AACd,oBAAM,cAAc,EAAE,KAAK,mBAAmB,QAAQ,OAAAA,OAAAA,GAAS,MAAM;AACrE,uBAAS,kBAAkB,EAAE;AAC7B,8BAAgB;AAAA,YACjB;AACA,gBAAI,eAAe;AAClBA,qBAAM,cAAcD,IAAG;AACvB,iCAAmB,IAAI;AAAA,YACxB;AAAA,UACD,GAAA;AACA;AAAA,QACD;AAGA,YAAI,CAAC,sBAAsB,CAAC,cAAc;AACzCC,iBAAM,cAAcD,IAAG;AACvB,6BAAmB,IAAI;AAAA,QACxB;AAAA,MACD;AAAA,MACA,SAAS,CAAC,MAA2B;;AACpC,cAAM,kBACLC,YAAM,SAAA,EAAW,gBAAjBA,mBAA8B,OAAM;AAGrC,YAAI,EAAE,QAAQ,UAAU;AACvB,cAAI,kBAAkBD,KAAI,IAAI;AAC7B,qBAAS,gBAAgB;AACzBC,mBAAM,eAAe,IAAI;AAAA,UAC1B,OAAO;AACN,kBAAM,aAAaA,OAAM,SAAA,EAAW;AACpC,gBAAI,YAAY;AACf,uBAAS,WAAW,EAAE;AACtBA,qBAAM,cAAc,IAAI;AAAA,YACzB;AAAA,UACD;AACA,6BAAmB,KAAK;AACxB,8BAAoB,CAAA,CAAE;AACtB,YAAE,eAAA;AACF,YAAE,gBAAA;AACF;AAAA,QACD;AAGA,YAAI,EAAE,QAAQ,SAAS;AAGtB,qBAAW,MAAM;AAChB,kBAAM,qBAAqBA,OAAM,SAAA,EAAW;AAC5C,kBAAM,oBAAoBA,OAAM,SAAA,EAAW;AAE3C,gBAAI,oBAAoB;AACvB,8BAAgBA,MAAK;AAAA,YACtB;AAEA,gBAAI,mBAAmB;AACtB,6BAAeA,MAAK;AAAA,YACrB;AAAA,UACD,GAAG,CAAC;AAAA,QACL;AAAA,MACD;AAAA,IAAA;AAAA;AAAA,IAID,wBAAwB;AAAA,MACvB,IAAI;AAAA,QACH,OAAO;AAAA,QACP,iBAAiB;AAAA,UAChB,OAAO;AAAA,UACP,WAAW;AAAA,YACV,OAAO;AAAA,UAAA;AAAA,QACR;AAAA,QAED,kBAAkB;AAAA,UACjB,OAAO;AAAA,QAAA;AAAA,MACR;AAAA,MAED,0BAAO,gBAAA,EAAe,IAAI,EAAE,OAAO,IAAI,QAAQ,GAAA,GAAM;AAAA,MACrD,iCAAc,cAAA,EAAa,IAAI,EAAE,OAAO,IAAI,QAAQ,KAAG,CAAG;AAAA,IAAA;AAAA,IAE3D,2BAA2B;AAAA,MAC1B,IAAI;AAAA,QACH,OAAO;AAAA,QACP,iBAAiB;AAAA,UAChB,OAAO;AAAA,UACP,WAAW;AAAA,YACV,OAAO;AAAA,UAAA;AAAA,QACR;AAAA,QAED,kBAAkB;AAAA,UACjB,OAAO;AAAA,QAAA;AAAA,MACR;AAAA,MAED,0BAAO,gBAAA,EAAe,IAAI,EAAE,OAAO,IAAI,QAAQ,GAAA,GAAM;AAAA,MACrD,iCAAc,cAAA,EAAa,IAAI,EAAE,OAAO,IAAI,QAAQ,KAAG,CAAG;AAAA,IAAA;AAAA,IAE3D,uBAAuB;AAAA,MACtB,IAAI;AAAA,QACH,WAAW;AAAA,QACX,kBAAkB;AAAA,UACjB,aAAa;AAAA,QAAA;AAAA,MACd;AAAA,IACD;AAAA,IAGD,YAAY;AAAA,IACZ,OAAO;AAAA,MACN,gBAAgB,MAAM,oBAAC,gBAAA,EAAe,UAAS,SAAA,CAAS;AAAA,MACxD,UAAU,MAAM,oBAAC,aAAA,EAAY,UAAS,SAAA,CAAS;AAAA,MAC/C,mBAAmB,MAAM,oBAAC,aAAA,EAAY,UAAS,SAAA,CAAS;AAAA,MACxD,iBAAiB,MAAM,oBAAC,aAAA,EAAY,UAAS,SAAA,CAAS;AAAA,MACtD,gBAAgB,MAAM,oBAAC,aAAA,EAAY,UAAS,SAAA,CAAS;AAAA,MACrD,gBAAgB,MAAM,oBAAC,aAAA,EAAY,UAAS,SAAA,CAAS;AAAA,MACrD,aAAa,MAAM,oBAAC,aAAA,EAAY,UAAS,SAAA,CAAS;AAAA,MAClD,YAAY,CAAC,UACZ,oBAAC,OAAA,EAAM,UAAS,SAAS,GAAG,OAAO,OAAM,uBAAA,CAAuB;AAAA,IAAA;AAAA,IAIlE,GAAG;AAAA,EAAA,CACH;AAED,YAAU,MAAM;;AACf,QAAI,oBAAoB;AACvB,WAAI,oCAAO,0BAAP,mBAA8B,MAAM;AACvC,8DAAmB,oCAAO,0BAAP,mBAA8B;AAAA,MAClD;AAAA,IACD;AAAA,EAGD,GAAG,CAAC,kBAAkB,CAAC;AAEvB,YAAU,MAAM;AACf,QAAI,aAAa;AAChB,UAAI,6BAAM,iBAAiB;AAC1B,cAAM,oBAA2B,CAAA;AACjC,cAAM,YAAY,MAAM,SAAA,EAAW;AACnC,cAAM,eAAe,CAACK,OAAM,YAAY,OAAO;AAC9CA,gBAAK,QAAQ,CAACN,MAAU,UAAkB;;AACzC,kBAAM,SAAS,YAAY,GAAG,SAAS,IAAI,KAAK,KAAK,GAAGA,KAAI,EAAE;AAC9D,gBAAI,UAAU,MAAM,GAAG;AACtB,gCAAkB,KAAKA,IAAG;AAAA,YAC3B;AAGA,iBAAIA,UAAI,YAAJA,mBAAa,QAAQ;AACxB,2BAAaA,KAAI,SAAS,MAAM;AAAA,YACjC;AAAA,UACD,CAAC;AAAA,QACF;AAEA,qBAAa,MAAM,YAAA,EAAc,IAAI;AACrC,oBAAY,mBAAmB,YAAY;AAAA,MAC5C,OAAO;AACN,oBAAY,MAAM,sBAAsB,MAAM,YAAY;AAAA,MAC3D;AAAA,IAED;AAAA,EAED,GAAG,CAAC,cAAc,KAAK,CAAC;AAaxB,YAAU,MAAM;AACf,QAAI,YAAY;AACf,qCAAO;AAAA,IACR;AAAA,EACD,GAAG,CAAC,YAAY,KAAK,CAAC;AAGtB,QAAM,wBAAwB,OAAO,KAAK;AAC1C,YAAU,MAAM;AACf,QACC,sBACA,CAAC,sBAAsB,YACvB,6BAAM,UAAS,GACd;AAED,YAAM,YAAY,MAAM,YAAA,EAAc;AACtC,YAAM,WAAW,UAAU,CAAC;AAC5B,UAAI,UAAU;AACb,8BAAsB,UAAU;AAGhC,YAAI,CAAC,SAAS,gBAAgB,OAAO,KAAK,SAAS,YAAY,EAAE,WAAW,GAAG;AAC9E,mBAAS,eAAe,EAAE,GAAG,SAAS,SAAA;AAAA,QACvC;AACA,cAAM,cAAc,QAAQ;AAC5B,2BAAmB,IAAI;AAAA,MACxB;AAAA,IACD;AAAA,EAED,GAAG,CAAC,oBAAoB,MAAM,KAAK,CAAC;AAGpC,YAAU,MAAM;AACf,QAAI,CAAC,MAAO;AAEZ,QAAI;AACJ,QAAI;AACJ,QAAI,oBAAoB;AACxB,QAAI,wBAAwB;AAG5B,UAAM,kBAAkB,CAAC,MAAkB;AAC1C,YAAM,SAAS,EAAE;AACjB,YAAM,oBAAoB,OAAO;AAAA,QAChC;AAAA,MAAA;AAOD,UAAI,mBAAmB;AACtB,gCAAwB;AACxB,4BAAoB,KAAK,IAAA;AAEzB,YAAI,WAAW;AACd,uBAAa,SAAS;AAAA,QACvB;AAEA,YAAI,mBAAmB;AACtB,uBAAa,iBAAiB;AAAA,QAC/B;AACA,4BAAoB,WAAW,MAAM;AACpC,kCAAwB;AAAA,QACzB,GAAG,GAAG;AAAA,MACP;AAAA,IACD;AAGA,UAAM,cAAc,CAAC,MAAkB;;AACtC,YAAM,cAAa,WAAM,SAAA,MAAN,mBAAkB;AACrC,YAAM,eAAc,WAAM,SAAA,MAAN,mBAAkB;AACtC,UAAI,CAAC,cAAc,CAAC,YAAa;AAEjC,YAAM,SAAS,EAAE;AACjB,YAAM,MAAM,KAAK,IAAA;AAGjB,UAAI,yBAA0B,MAAM,oBAAqB,KAAK;AAC7D;AAAA,MACD;AAIA,YAAM,gBAAgB,OAAO,QAAQ,mBAAmB;AAGxD,UAAI,CAAC,eAAe;AAEnB,YAAI,WAAW;AACd,uBAAa,SAAS;AAAA,QACvB;AAGA,oBAAY,WAAW,YAAY;;AAClC,gBAAM,qBAAoBF,MAAA,MAAM,SAAA,MAAN,gBAAAA,IAAkB;AAC5C,gBAAM,sBAAqBS,MAAA,MAAM,SAAA,MAAN,gBAAAA,IAAkB;AAC7C,cAAI,sBAAuB;AAC3B,cAAI,oBAAoB;AACvB,kBAAM,SAAS,aAAa,kBAAkB;AAC9C,kBAAM,cAAc,EAAE,KAAK,oBAAoB,QAAQ,MAAA,GAAS,QAAQ;AACxE,qBAAS,gBAAgB;AACzB,+BAAmB,KAAK;AACxB;AAAA,UACD;AACA,cAAI,mBAAmB;AACtB,kBAAM,SAAS,aAAa,iBAAiB;AAC7C,kBAAM,cAAc,EAAE,KAAK,mBAAmB,QAAQ,MAAA,GAAS,MAAM;AACrE,qBAAS,kBAAkB,EAAE;AAC7B,+BAAmB,KAAK;AAAA,UACzB;AAAA,QACD,GAAG,GAAG;AAAA,MACP;AAAA,IACD;AAGA,aAAS,iBAAiB,aAAa,iBAAiB,IAAI;AAC5D,aAAS,iBAAiB,SAAS,aAAa,IAAI;AAEpD,WAAO,MAAM;AACZ,eAAS,oBAAoB,aAAa,iBAAiB,IAAI;AAC/D,eAAS,oBAAoB,SAAS,aAAa,IAAI;AACvD,UAAI,mBAAmB;AACtB,qBAAa,iBAAiB;AAAA,MAC/B;AACA,UAAI,WAAW;AACd,qBAAa,SAAS;AAAA,MACvB;AAAA,IACD;AAAA,EACD,GAAG,CAAC,OAAO,eAAe,cAAc,QAAQ,CAAC;AACjD,SACC,qBAAC,cAAA,EAAa,WAAU,iCACvB,UAAA;AAAA,IAAA,oBAAC,sBAAmB,OAAc;AAAA,IAElC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA,MAAM,QAAQ,QAAQ;AAAA,QACtB,SAAS;AAAA,QACT,WAAU;AAAA,QACT,UAAA,iCACC,OAAA,EACA,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,SAAS;AAAA,cACT,WAAU;AAAA,cACV,UAAA;AAAA,gBAAA,oBAAC,cAAA,EAAa,WAAU,YACvB,UAAA,oBAAC,mBAAgB,GAClB;AAAA,oCACC,cAAA,EAAa,WAAU,SACtB,UAAA,EAAE,wBAAwB,EAAA,CAC5B;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAED,oBAAC,SAAA,EAAQ,UAAQ,MAAC,IAAI,EAAE,IAAI,sBAAsB,IAAI,qBAAA,EAAqB,CAAG;AAAA,UAC9E,oBAAC,OAAA,EAAI,WAAU,sBACd,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACA,aAAa;AAAA,cACb,cAAc,CAAC,MAAM,kBAAkB,CAAC;AAAA,YAAA;AAAA,UAAA,GAE1C;AAAA,UACA,oBAAC,OAAA,EAAI,WAAU,uBACd,UAAA,oBAAC,YAAA,EAAW,SAAQ,SAAQ,OAAM,kBAChC,UAAA,EAAE,4BAA4B,GAChC,GACD;AAAA,UACC,gBAAgB,IAAI,CAAC,WACrB;AAAA,YAAC;AAAA,YAAA;AAAA,cAEA,SAAS,MAAM,gBAAgB,MAAM;AAAA,cACrC,8BAAC,YAAA,EAAW,OAAM,wBAAuB,MAAK,MAC5C,iBAAO,OAAA,CACT;AAAA,YAAA;AAAA,YAJK,OAAO;AAAA,UAAA,CAMb;AAAA,UACD,oBAAC,SAAA,EAAQ,UAAQ,MAAC,IAAI,EAAE,IAAI,sBAAsB,IAAI,qBAAA,EAAqB,CAAG;AAAA,UAE7E,wBAAwB,qBAAC,UAAA,EAAS,SAAS,uBAAuB,WAAU,iBAC3E,UAAA;AAAA,YAAA,oBAAC,cAAA,EAAa,WAAU,YACvB,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,SAAS,KAAI,WAAA,CAAW,GACjD;AAAA,gCACC,cAAA,EAAa,WAAU,SACtB,UAAA,EAAE,6BAA6B,EAAA,CACjC;AAAA,UAAA,EAAA,CACD;AAAA,QAAA,EAAA,CAEF,IAEA,qBAAA,UAAA,EACE,UAAA;AAAA,UAAA,eAAe,IAAI,CAAC,WACpB;AAAA,YAAC;AAAA,YAAA;AAAA,cAEA,SAAS,MAAM,oBAAoB,MAAM;AAAA,cACzC,WAAU;AAAA,cACV,UAAA;AAAA,gBAAA,oBAAC,cAAA,EAAa,WAAU,YACvB,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,UAAU,KAAI,WAAA,CAAW,GAClD;AAAA,gBACA,oBAAC,cAAA,EAAa,WAAU,SAAS,iBAAO,QAAO;AAAA,gBAC/C,oBAAC,cAAA,EAAa,WAAU,YACvB,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,SAAS,KAAI,WAAA,CAAW,EAAA,CACjD;AAAA,cAAA;AAAA,YAAA;AAAA,YATK,OAAO;AAAA,UAAA,CAWb;AAAA,UACD,oBAAC,SAAA,EAAQ,UAAQ,MAAC,IAAI,EAAE,IAAI,sBAAsB,IAAI,qBAAA,EAAqB,CAAG;AAAA,UAC9E,qBAAC,UAAA,EAAS,SAAS,sBAAsB,WAAU,iBAClD,UAAA;AAAA,YAAA,oBAAC,cAAA,EAAa,WAAU,YACvB,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,SAAS,KAAI,WAAA,CAAW,GACjD;AAAA,gCACC,cAAA,EAAa,WAAU,SACtB,UAAA,EAAE,wBAAwB,GAC5B;AAAA,YACA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACA,SAAQ;AAAA,gBACR,OAAM;AAAA,gBACN,WAAU;AAAA,gBACV,8BAAC,kBAAA,EAAiB,IAAI,EAAE,UAAU,uBAAqB,CAAG;AAAA,cAAA;AAAA,YAAA;AAAA,UAC3D,EAAA,CACD;AAAA,QAAA,EAAA,CACD;AAAA,MAAA;AAAA,IAAA;AAAA,IAIF;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,UAAU;AAAA,QACV,MAAM,QAAQ,WAAW;AAAA,QACzB,SAAS;AAAA,QACR,UAAA;AAAA,UAAA,+CAAe,IAAI,CAAC,WAAgB;;AACpC,gBACE,OAAO,UAAU,YAChB,2BAAK,kBAAiB,SAAQ,2BAAK,kBAAiB,MACrD,OAAO,UAAU,gBAChB,2BAAK,kBAAiB,SACtB,2BAAK,kBAAiB,OACtB,gCAAK,UAAL,mBAAY,kBAAiB,UAC7B,gCAAK,UAAL,mBAAY,kBAAiB,GAC9B;AAGF,mBACC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACA,SAAS,YAAY;AACpB,wBAAM,OAAO,aAAa,GAAG;AAC7B,iCAAe,IAAI;AAAA,gBACpB;AAAA,gBACA,UACC,OAAO,OAAO,aAAa,aACxB,OAAO,SAAS,GAAG,IACnB,QAAQ,OAAO,QAAQ;AAAA,gBAE3B,IAAI,EAAE,YAAY,UAAU,KAAK,IAAA;AAAA,gBAEhC,UAAA;AAAA,kBAAA,iCAAQ;AAAA,kBACT,oBAAC,YAAA,EAAW,MAAK,MAAK,OAAM,WAC1B,UAAA,OAAO,OAAO,UAAU,aAAa,OAAO,MAAM,GAAG,IAAI,OAAO,MAAA,CAClE;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA;AAAA,UAGH;AAAA,WACC,+DAAuB,UAAS,KAChC,qBAAA,UAAA,EACC,UAAA;AAAA,YAAA,oBAAC,SAAA,EAAQ,UAAQ,MAAC,IAAI,EAAE,IAAI,sBAAsB,IAAI,qBAAA,EAAqB,CAAG;AAAA,gCAC7E,OAAA,EAAI,WAAU,qCACb,UAAA,+DAAuB,IAAI,CAAC,WAC5B;AAAA,cAAC;AAAA,cAAA;AAAA,gBACA,SAAS,MAAM;AACd,yBAAO,aAAa,GAAG;AACvB,iCAAe,IAAI;AAAA,gBACpB;AAAA,gBACA,WAAU;AAAA,gBACV,UACC,OAAO,OAAO,aAAa,aACxB,OAAO,SAAS,GAAG,IACnB,QAAQ,OAAO,QAAQ;AAAA,gBAE3B,UAAA,oBAAC,YAAA,EAAW,MAAK,MAAK,OAAM,WAC1B,UAAA,OAAO,OAAO,UAAU,aAAa,OAAO,MAAM,GAAG,IAAI,OAAO,MAAA,CAClE;AAAA,cAAA;AAAA,YAAA,GAED,CACF;AAAA,UAAA,EAAA,CACD;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAM,QAAQ,WAAW;AAAA,QACzB,SAAS,MAAM,eAAe,IAAI;AAAA,QAClC,WAAW,MAAM,gBAAA;AAAA,QACjB,OAAM;AAAA,QACN,aAAa;AAAA,QACb,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,EACV,GACD;AAEF,CAAC;"}
@@ -1,5 +1,5 @@
1
1
  import { createSlice } from "@reduxjs/toolkit";
2
- import { W as getErrorMessage } from "./api-8jutPLh0.esm.js";
2
+ import { W as getErrorMessage } from "./api-BIVCMSwW.esm.js";
3
3
  const createConfiguredApiClient = (baseApiClient, getAuthToken) => {
4
4
  const configuredClient = {};
5
5
  Object.keys(baseApiClient).forEach((methodName) => {
@@ -89,4 +89,4 @@ export {
89
89
  createModuleSlice as a,
90
90
  createConfiguredApiClient as c
91
91
  };
92
- //# sourceMappingURL=module-reducer-CEv3LZCX.esm.js.map
92
+ //# sourceMappingURL=module-reducer-DMxxForv.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-reducer-CEv3LZCX.esm.js","sources":["../../src/redux/apiConfig.ts","../../src/redux/module-reducer.ts"],"sourcesContent":["// API configuration helper for Redux slices\n// This allows consuming applications to configure their API clients\n\nexport interface ApiClientConfig {\n // Share modal API methods\n getV1PagesUserList?: (params?: any) => Promise<any>;\n postV1PagesShare?: (data: any) => Promise<any>;\n \n // Header API methods\n getV1Languages?: (params?: any) => Promise<any>;\n \n // Reports title bar API methods\n getV1Company?: (params?: any) => Promise<any>;\n \n // Inventory reports title bar API methods\n getV1InventoryItems?: (params?: any) => Promise<any>;\n getV1WarehouseLocation?: (params?: any) => Promise<any>;\n getV1AssemblyItems?: (params?: any) => Promise<any>;\n getV1BillsOfMaterials?: (params?: any) => Promise<any>;\n}\n\n// Helper function to validate API client configuration\nexport const validateApiClient = (apiClient: ApiClientConfig, requiredMethods: string[]): boolean => {\n for (const method of requiredMethods) {\n if (typeof (apiClient as any)[method] !== 'function') {\n console.warn(`API client missing required method: ${method}`);\n return false;\n }\n }\n return true;\n};\n\n// Predefined method groups for different slices\nexport const API_METHOD_GROUPS = {\n share: ['getV1PagesUserList', 'postV1PagesShare'],\n header: ['getV1Languages'],\n reportsTitleBar: ['getV1Company'],\n inventoryReportsTitleBar: ['getV1InventoryItems', 'getV1WarehouseLocation', 'getV1AssemblyItems', 'getV1BillsOfMaterials'],\n} as const;\n\n// Helper to create a configured API client with authentication\nexport const createConfiguredApiClient = (\n baseApiClient: any,\n getAuthToken: () => any\n): ApiClientConfig => {\n const configuredClient: any = {};\n \n // Wrap each API method to include authentication\n Object.keys(baseApiClient).forEach(methodName => {\n if (typeof baseApiClient[methodName] === 'function') {\n configuredClient[methodName] = async (params: any = {}) => {\n const authToken = getAuthToken();\n return baseApiClient[methodName]({ ...authToken, ...params });\n };\n }\n });\n \n return configuredClient;\n};","/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { createSlice, SliceCaseReducers, AnyAction, PayloadAction } from \"@reduxjs/toolkit\";\nimport { getErrorMessage } from \"../utils/common\";\n\ninterface SliceConfig<T extends StateSlice> {\n name: string;\n initialState: T;\n actions: Partial<Record<keyof T, ActionGroup<T>>>;\n}\n\n// Utility functions to handle loading and error state\nconst setLoadingState = <T extends StateSlice>(state: T, key: keyof T, isLoading = true) => {\n if (state[key] && typeof state[key] === \"object\") {\n state[key] = { ...state[key], isLoading, isError: false, error: \"\" };\n }\n};\n\nconst setErrorState = <T extends StateSlice>(state: T, key: keyof T, error: string) => {\n if (state[key] && typeof state[key] === \"object\") {\n state[key] = { ...state[key], isLoading: false, isError: true, error };\n }\n};\n\n// **Generic Redux Slice Factory**\nexport const createModuleSlice = <T extends StateSlice>({\n name,\n initialState,\n actions,\n reducers,\n extraReducers\n}: SliceConfig<T>) => {\n return createSlice<T, SliceCaseReducers<T>>({\n name,\n initialState,\n reducers: {\n setPaginationModel: (state, { payload }: PayloadAction<Partial<T[\"paginationModel\"]>>) => {\n if (\"paginationModel\" in state && typeof state.paginationModel === \"object\") {\n state.paginationModel = { ...state.paginationModel, ...payload };\n }\n },\n setOptionsData: (state, { payload }: PayloadAction<{ name: string; value: any }>) => {\n if (\"optionsData\" in state && typeof state.optionsData === \"object\") {\n state.optionsData = { ...state.optionsData, ...payload}\n }\n },\n setStaticOptions: (state, { payload }) => {\n state.staticOptions = {...state.staticOptions, ...payload}\n },\n resetState: () => initialState,\n ...reducers\n },\n extraReducers: (builder) => {\n Object.entries(actions).forEach(([stateKey, actionGroup]) => {\n if (actionGroup) {\n Object.entries(actionGroup).forEach(([actionName, action]) => {\n if (action && \"pending\" in action && \"fulfilled\" in action && \"rejected\" in action) {\n // Handle AsyncThunk Actions\n builder\n .addCase(action.pending, (state) => setLoadingState(state, stateKey as keyof T))\n .addCase(action.fulfilled, (state, { payload }: PayloadAction<any>) => {\n if (state[stateKey as keyof T] && typeof state[stateKey as keyof T] === \"object\") {\n state[stateKey as keyof T] = {\n ...state[stateKey as keyof T],\n isLoading: false,\n ...(payload?.rows ? { rows: payload.rows } : {}),\n ...(payload?.data ? { data: payload.data } : {}),\n ...(payload?.fields ? { fields: payload.fields } : {}),\n ...(payload?.activityLogs ? { activityLogs: payload.activityLogs } : {}),\n ...(payload?.pagination ? { pagination: payload.pagination } : {}),\n };\n if(payload?.pagination) {\n state.paginationModel = { ...state.paginationModel, ...payload.pagination }\n }\n }\n })\n .addCase(action.rejected, (state, { error }: AnyAction) =>{\n\n setErrorState(state, stateKey as keyof T, getErrorMessage(error?.message))\n }\n );\n }\n });\n }\n });\n if (extraReducers) {\n extraReducers(builder);\n }\n },\n \n });\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-reducer-DMxxForv.esm.js","sources":["../../src/redux/apiConfig.ts","../../src/redux/module-reducer.ts"],"sourcesContent":["// API configuration helper for Redux slices\n// This allows consuming applications to configure their API clients\n\nexport interface ApiClientConfig {\n // Share modal API methods\n getV1PagesUserList?: (params?: any) => Promise<any>;\n postV1PagesShare?: (data: any) => Promise<any>;\n \n // Header API methods\n getV1Languages?: (params?: any) => Promise<any>;\n \n // Reports title bar API methods\n getV1Company?: (params?: any) => Promise<any>;\n \n // Inventory reports title bar API methods\n getV1InventoryItems?: (params?: any) => Promise<any>;\n getV1WarehouseLocation?: (params?: any) => Promise<any>;\n getV1AssemblyItems?: (params?: any) => Promise<any>;\n getV1BillsOfMaterials?: (params?: any) => Promise<any>;\n}\n\n// Helper function to validate API client configuration\nexport const validateApiClient = (apiClient: ApiClientConfig, requiredMethods: string[]): boolean => {\n for (const method of requiredMethods) {\n if (typeof (apiClient as any)[method] !== 'function') {\n console.warn(`API client missing required method: ${method}`);\n return false;\n }\n }\n return true;\n};\n\n// Predefined method groups for different slices\nexport const API_METHOD_GROUPS = {\n share: ['getV1PagesUserList', 'postV1PagesShare'],\n header: ['getV1Languages'],\n reportsTitleBar: ['getV1Company'],\n inventoryReportsTitleBar: ['getV1InventoryItems', 'getV1WarehouseLocation', 'getV1AssemblyItems', 'getV1BillsOfMaterials'],\n} as const;\n\n// Helper to create a configured API client with authentication\nexport const createConfiguredApiClient = (\n baseApiClient: any,\n getAuthToken: () => any\n): ApiClientConfig => {\n const configuredClient: any = {};\n \n // Wrap each API method to include authentication\n Object.keys(baseApiClient).forEach(methodName => {\n if (typeof baseApiClient[methodName] === 'function') {\n configuredClient[methodName] = async (params: any = {}) => {\n const authToken = getAuthToken();\n return baseApiClient[methodName]({ ...authToken, ...params });\n };\n }\n });\n \n return configuredClient;\n};","/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { createSlice, SliceCaseReducers, AnyAction, PayloadAction } from \"@reduxjs/toolkit\";\nimport { getErrorMessage } from \"../utils/common\";\n\ninterface SliceConfig<T extends StateSlice> {\n name: string;\n initialState: T;\n actions: Partial<Record<keyof T, ActionGroup<T>>>;\n}\n\n// Utility functions to handle loading and error state\nconst setLoadingState = <T extends StateSlice>(state: T, key: keyof T, isLoading = true) => {\n if (state[key] && typeof state[key] === \"object\") {\n state[key] = { ...state[key], isLoading, isError: false, error: \"\" };\n }\n};\n\nconst setErrorState = <T extends StateSlice>(state: T, key: keyof T, error: string) => {\n if (state[key] && typeof state[key] === \"object\") {\n state[key] = { ...state[key], isLoading: false, isError: true, error };\n }\n};\n\n// **Generic Redux Slice Factory**\nexport const createModuleSlice = <T extends StateSlice>({\n name,\n initialState,\n actions,\n reducers,\n extraReducers\n}: SliceConfig<T>) => {\n return createSlice<T, SliceCaseReducers<T>>({\n name,\n initialState,\n reducers: {\n setPaginationModel: (state, { payload }: PayloadAction<Partial<T[\"paginationModel\"]>>) => {\n if (\"paginationModel\" in state && typeof state.paginationModel === \"object\") {\n state.paginationModel = { ...state.paginationModel, ...payload };\n }\n },\n setOptionsData: (state, { payload }: PayloadAction<{ name: string; value: any }>) => {\n if (\"optionsData\" in state && typeof state.optionsData === \"object\") {\n state.optionsData = { ...state.optionsData, ...payload}\n }\n },\n setStaticOptions: (state, { payload }) => {\n state.staticOptions = {...state.staticOptions, ...payload}\n },\n resetState: () => initialState,\n ...reducers\n },\n extraReducers: (builder) => {\n Object.entries(actions).forEach(([stateKey, actionGroup]) => {\n if (actionGroup) {\n Object.entries(actionGroup).forEach(([actionName, action]) => {\n if (action && \"pending\" in action && \"fulfilled\" in action && \"rejected\" in action) {\n // Handle AsyncThunk Actions\n builder\n .addCase(action.pending, (state) => setLoadingState(state, stateKey as keyof T))\n .addCase(action.fulfilled, (state, { payload }: PayloadAction<any>) => {\n if (state[stateKey as keyof T] && typeof state[stateKey as keyof T] === \"object\") {\n state[stateKey as keyof T] = {\n ...state[stateKey as keyof T],\n isLoading: false,\n ...(payload?.rows ? { rows: payload.rows } : {}),\n ...(payload?.data ? { data: payload.data } : {}),\n ...(payload?.fields ? { fields: payload.fields } : {}),\n ...(payload?.activityLogs ? { activityLogs: payload.activityLogs } : {}),\n ...(payload?.pagination ? { pagination: payload.pagination } : {}),\n };\n if(payload?.pagination) {\n state.paginationModel = { ...state.paginationModel, ...payload.pagination }\n }\n }\n })\n .addCase(action.rejected, (state, { error }: AnyAction) =>{\n\n setErrorState(state, stateKey as keyof T, getErrorMessage(error?.message))\n }\n );\n }\n });\n }\n });\n if (extraReducers) {\n extraReducers(builder);\n }\n },\n \n });\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { P as Pathname } from "./pathname-DkK1_yYM.esm.js";
2
2
  import images from "../images/index.esm.js";
3
3
  import { a as PathnameUsers, P as PathnameHrms } from "./pathname.hrms-Jflm4teT.esm.js";
4
- import { P as PathnameAccounting, b as PathnameInventory, d as PathnamePurchase, c as PathnameManufacturing, a as PathnameCrm, e as PathnameRental } from "./pathname.rental-CqHO_l_D.esm.js";
4
+ import { P as PathnameAccounting, b as PathnameInventory, d as PathnamePurchase, c as PathnameManufacturing, a as PathnameCrm, e as PathnameRental } from "./pathname.rental-qsAe3XFd.esm.js";
5
5
  import { P as PathnameDocument } from "./pathname.document-CiCHLywm.esm.js";
6
6
  import { getApiConfig } from "../utils/api-config/index.esm.js";
7
7
  import { getModuleRoutes } from "../utils/module-routes-config/index.esm.js";
@@ -76,7 +76,7 @@ const modules = (t) => {
76
76
  icon: images.accounting,
77
77
  permission: "",
78
78
  beModuleName: "accounts-and-finance",
79
- bg: "#E8EAF6",
79
+ bg: "#EBF9F2",
80
80
  connectedRoutes: Object.values(PathnameAccounting).map(
81
81
  (path) => Pathname.DASHBOARD_ACCOUNTING + path
82
82
  ),
@@ -90,7 +90,7 @@ const modules = (t) => {
90
90
  icon: images.inventory,
91
91
  permission: "",
92
92
  beModuleName: "inventory",
93
- bg: "#FFF3E6",
93
+ bg: "#FEF3C7",
94
94
  connectedRoutes: Object.values(PathnameInventory).map(
95
95
  (path) => Pathname.DASHBOARD_INVENTORY + path
96
96
  ),
@@ -168,7 +168,7 @@ const modules = (t) => {
168
168
  icon: images.hrms,
169
169
  permission: "",
170
170
  beModuleName: "hrms",
171
- bg: "#EBF9F2",
171
+ bg: "#EEF2FF",
172
172
  connectedRoutes: (() => {
173
173
  const mfeRoutes = getModuleRoutes("hrms");
174
174
  if (mfeRoutes.length > 0) return mfeRoutes;
@@ -235,4 +235,4 @@ const modules = (t) => {
235
235
  export {
236
236
  modules as m
237
237
  };
238
- //# sourceMappingURL=modules-enwLrpfQ.esm.js.map
238
+ //# sourceMappingURL=modules-BBu2Y-K9.esm.js.map