@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,19 +1,19 @@
1
- import { jsxs, jsx, Fragment } from "react/jsx-runtime";
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useMemo } from "react";
3
3
  import { useLocation, matchRoutes, Link } from "react-router-dom";
4
4
  import { useTranslation } from "react-i18next";
5
- import { m as modules } from "./modules-enwLrpfQ.esm.js";
6
- import { A as AppSwitcher } from "./app-switcher-B6eapuGG.esm.js";
5
+ import { m as modules } from "./modules-BBu2Y-K9.esm.js";
6
+ import { A as AppSwitcher } from "./app-switcher-D-Bvz9uO.esm.js";
7
7
  import { B as Breadcrumb } from "./breadcrumb-BO3RBo3f.esm.js";
8
- import { G as GlobalSearch } from "./global-search-CGmupYFQ.esm.js";
8
+ import { G as GlobalSearch } from "./global-search-BOkxXiZ0.esm.js";
9
9
  import { L as LanguageSwitch } from "./language-switch-D8MsYvhw.esm.js";
10
- import { N as NotificationMenu } from "./notification-menu-CehCt5fA.esm.js";
10
+ import { N as NotificationMenu } from "./notification-menu-XAadkn-e.esm.js";
11
11
  import { U as UserMenu } from "./user-menu-BOV3egnJ.esm.js";
12
12
  import { useAuth } from "@erpsquad/common/runtime";
13
13
  import { getApiConfigSafe } from "../utils/api-config/index.esm.js";
14
14
  import images from "../images/index.esm.js";
15
15
  import { P as Pathname } from "./pathname-DkK1_yYM.esm.js";
16
- import { o as breadcrumbSegmentLabelMap } from "./route-page-map-D6-7jBQT.esm.js";
16
+ import { o as breadcrumbSegmentLabelMap } from "./route-page-map-DkWoisiB.esm.js";
17
17
  /* empty css */
18
18
  function Header(props) {
19
19
  var _a;
@@ -73,11 +73,9 @@ function Header(props) {
73
73
  return result.filter((s) => Boolean(s && s.label));
74
74
  }, [pathname, selectedModule]);
75
75
  return /* @__PURE__ */ jsxs("div", { className: "app-bar", children: [
76
- pathname === Pathname.DASHBOARD && /* @__PURE__ */ jsx(Link, { style: { marginTop: "0.25rem" }, to: user ? Pathname.DASHBOARD : Pathname.LOGIN, children: /* @__PURE__ */ jsx("img", { src: appLogo, alt: "logo", height: 55 }) }),
77
- pathname !== Pathname.DASHBOARD && /* @__PURE__ */ jsxs(Fragment, { children: [
78
- /* @__PURE__ */ jsx(AppSwitcher, { erp_modules, selectedModule }),
79
- /* @__PURE__ */ jsx("div", { className: "ab-divider" })
80
- ] }),
76
+ pathname === Pathname.DASHBOARD && /* @__PURE__ */ jsx(Link, { style: { marginTop: "0.25rem", marginRight: "12px" }, to: user ? Pathname.DASHBOARD : Pathname.LOGIN, children: /* @__PURE__ */ jsx("img", { src: appLogo, alt: "logo", height: 55 }) }),
77
+ /* @__PURE__ */ jsx(AppSwitcher, { erp_modules, selectedModule }),
78
+ /* @__PURE__ */ jsx("div", { className: "ab-divider" }),
81
79
  /* @__PURE__ */ jsx(Breadcrumb, { selectedModule, segments: breadcrumbSegments }),
82
80
  /* @__PURE__ */ jsx("div", { style: { flex: 1 } }),
83
81
  /* @__PURE__ */ jsx(GlobalSearch, {}),
@@ -90,4 +88,4 @@ function Header(props) {
90
88
  export {
91
89
  Header as H
92
90
  };
93
- //# sourceMappingURL=header-BnVzqpGs.esm.js.map
91
+ //# sourceMappingURL=header-B-HaoeK7.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header-BnVzqpGs.esm.js","sources":["../../src/components/header/header.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { Link, matchRoutes, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport modules from \"../../constants/modules\";\nimport { IModule } from \"./types\";\nimport { AppSwitcher } from \"./components/app-switcher\";\nimport { Breadcrumb } from \"./components/breadcrumb\";\nimport { GlobalSearch } from \"./components/global-search\";\nimport { LanguageSwitch } from \"./components/language-switch\";\nimport { NotificationMenu } from \"./components/notification-menu\";\nimport { UserMenu } from \"./components/user-menu\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { getApiConfigSafe } from \"../../utils/api-config\";\nimport { images } from \"../../assets/images\";\nimport { Pathname } from \"../../constants/pathnames/pathname\";\nimport { breadcrumbSegmentLabelMap } from \"../../constants/route-page-map\";\nimport \"./header.scss\";\n\nexport function Header(props: { isDropdownShow?: boolean }): React.ReactElement {\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const { user } = useAuth();\n const appLogo = getApiConfigSafe()?.appLogo || images.logo;\n\n const checkMatchedRoutes = useCallback(\n (paths: string[] | string) => {\n const shouldMatch: { path: string }[] = Array.isArray(paths)\n ? paths.map((path: string) => ({ path }))\n : [{ path: paths }];\n return Boolean(matchRoutes(shouldMatch, location));\n },\n [location],\n );\n\n const erp_modules = useMemo<IModule[]>(() => {\n const allModules = modules(t);\n\n const u_data = localStorage.getItem(\"_u_data\");\n const userData = u_data ? JSON.parse(u_data) : null;\n const accessModules: { module_name: string }[] =\n userData?.module_access?.length > 0\n ? userData.module_access\n : [{ module_name: \"user\" }];\n\n // Stage 1: filter by module_access\n const stage1 = allModules.filter((m) =>\n m.beModuleName === \"rbac\" ||\n accessModules.some((a: { module_name: string }) => a.module_name === m.beModuleName)\n );\n\n // Stage 2: filter by role-permission.modules\n const rolePermission = localStorage.getItem(\"role-permission\");\n const permissions: string[] =\n rolePermission && JSON.parse(rolePermission)?.modules\n ? JSON.parse(rolePermission).modules\n : [];\n\n if (!permissions.length) return stage1;\n return stage1.filter((m) => permissions.includes(m.beModuleName));\n }, [t]);\n\n const selectedModule = useMemo<IModule | null>(() => {\n const byRoute = erp_modules.find(\n (module: IModule) =>\n module?.link?.toLowerCase() === pathname.toLowerCase() ||\n checkMatchedRoutes(module.connectedRoutes),\n );\n if (byRoute) return byRoute;\n return erp_modules.find(\n (module: IModule) =>\n module.link.length > 1 &&\n pathname.toLowerCase().startsWith(module.link.toLowerCase() + \"/\"),\n ) || null;\n }, [erp_modules, pathname, checkMatchedRoutes]);\n\n const breadcrumbSegments = useMemo(() => {\n if (!selectedModule) return [];\n const base = selectedModule.link;\n const rest = pathname.toLowerCase().startsWith(base.toLowerCase())\n ? pathname.slice(base.length)\n : pathname;\n const rawSegments = rest.split(\"/\").filter(s => s);\n const routeObjects = selectedModule.connectedRoutes.map(r => ({ path: r }));\n const result: { label: string; path: string; navigable: boolean }[] = [];\n for (let i = 0; i < rawSegments.length; i++) {\n const seg = rawSegments[i];\n if (/^\\d+$/.test(seg)) continue;\n const path = base + \"/\" + rawSegments.slice(0, i + 1).join(\"/\");\n const label = breadcrumbSegmentLabelMap[seg] || seg.split(\"-\").map((w: string) => w.charAt(0).toUpperCase() + w.slice(1)).join(\" \");\n const navigable = Boolean(matchRoutes(routeObjects, { pathname: path }));\n result.push({ label, path, navigable });\n }\n return result.filter(s => Boolean(s && s.label));\n }, [pathname, selectedModule]);\n\n return (\n <div className=\"app-bar\">\n {pathname === Pathname.DASHBOARD && (\n <Link style={{ marginTop: \"0.25rem\" }} to={user ? Pathname.DASHBOARD : Pathname.LOGIN}>\n <img src={appLogo} alt=\"logo\" height={55} />\n </Link>\n )}\n {pathname !== Pathname.DASHBOARD && (\n <>\n <AppSwitcher erp_modules={erp_modules} selectedModule={selectedModule} />\n <div className=\"ab-divider\" />\n </>\n )}\n <Breadcrumb selectedModule={selectedModule} segments={breadcrumbSegments} />\n <div style={{ flex: 1 }} />\n <GlobalSearch />\n <div className=\"notif-wrap\">\n <NotificationMenu />\n </div>\n <LanguageSwitch />\n <div className=\"v-divider\" />\n <UserMenu />\n </div>\n );\n}\n\nexport default Header;\n"],"names":["_a"],"mappings":"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"}
1
+ {"version":3,"file":"header-B-HaoeK7.esm.js","sources":["../../src/components/header/header.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { Link, matchRoutes, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport modules from \"../../constants/modules\";\nimport { IModule } from \"./types\";\nimport { AppSwitcher } from \"./components/app-switcher\";\nimport { Breadcrumb } from \"./components/breadcrumb\";\nimport { GlobalSearch } from \"./components/global-search\";\nimport { LanguageSwitch } from \"./components/language-switch\";\nimport { NotificationMenu } from \"./components/notification-menu\";\nimport { UserMenu } from \"./components/user-menu\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { getApiConfigSafe } from \"../../utils/api-config\";\nimport { images } from \"../../assets/images\";\nimport { Pathname } from \"../../constants/pathnames/pathname\";\nimport { breadcrumbSegmentLabelMap } from \"../../constants/route-page-map\";\nimport \"./header.scss\";\n\nexport function Header(props: { isDropdownShow?: boolean }): React.ReactElement {\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const { user } = useAuth();\n const appLogo = getApiConfigSafe()?.appLogo || images.logo;\n\n const checkMatchedRoutes = useCallback(\n (paths: string[] | string) => {\n const shouldMatch: { path: string }[] = Array.isArray(paths)\n ? paths.map((path: string) => ({ path }))\n : [{ path: paths }];\n return Boolean(matchRoutes(shouldMatch, location));\n },\n [location],\n );\n\n const erp_modules = useMemo<IModule[]>(() => {\n const allModules = modules(t);\n\n const u_data = localStorage.getItem(\"_u_data\");\n const userData = u_data ? JSON.parse(u_data) : null;\n const accessModules: { module_name: string }[] =\n userData?.module_access?.length > 0\n ? userData.module_access\n : [{ module_name: \"user\" }];\n\n // Stage 1: filter by module_access\n const stage1 = allModules.filter((m) =>\n m.beModuleName === \"rbac\" ||\n accessModules.some((a: { module_name: string }) => a.module_name === m.beModuleName)\n );\n\n // Stage 2: filter by role-permission.modules\n const rolePermission = localStorage.getItem(\"role-permission\");\n const permissions: string[] =\n rolePermission && JSON.parse(rolePermission)?.modules\n ? JSON.parse(rolePermission).modules\n : [];\n\n if (!permissions.length) return stage1;\n return stage1.filter((m) => permissions.includes(m.beModuleName));\n }, [t]);\n\n const selectedModule = useMemo<IModule | null>(() => {\n const byRoute = erp_modules.find(\n (module: IModule) =>\n module?.link?.toLowerCase() === pathname.toLowerCase() ||\n checkMatchedRoutes(module.connectedRoutes),\n );\n if (byRoute) return byRoute;\n return erp_modules.find(\n (module: IModule) =>\n module.link.length > 1 &&\n pathname.toLowerCase().startsWith(module.link.toLowerCase() + \"/\"),\n ) || null;\n }, [erp_modules, pathname, checkMatchedRoutes]);\n\n const breadcrumbSegments = useMemo(() => {\n if (!selectedModule) return [];\n const base = selectedModule.link;\n const rest = pathname.toLowerCase().startsWith(base.toLowerCase())\n ? pathname.slice(base.length)\n : pathname;\n const rawSegments = rest.split(\"/\").filter(s => s);\n const routeObjects = selectedModule.connectedRoutes.map(r => ({ path: r }));\n const result: { label: string; path: string; navigable: boolean }[] = [];\n for (let i = 0; i < rawSegments.length; i++) {\n const seg = rawSegments[i];\n if (/^\\d+$/.test(seg)) continue;\n const path = base + \"/\" + rawSegments.slice(0, i + 1).join(\"/\");\n const label = breadcrumbSegmentLabelMap[seg] || seg.split(\"-\").map((w: string) => w.charAt(0).toUpperCase() + w.slice(1)).join(\" \");\n const navigable = Boolean(matchRoutes(routeObjects, { pathname: path }));\n result.push({ label, path, navigable });\n }\n return result.filter(s => Boolean(s && s.label));\n }, [pathname, selectedModule]);\n\n return (\n <div className=\"app-bar\">\n {pathname === Pathname.DASHBOARD && (\n <Link style={{ marginTop: \"0.25rem\", marginRight: \"12px\" }} to={user ? Pathname.DASHBOARD : Pathname.LOGIN}>\n <img src={appLogo} alt=\"logo\" height={55} />\n </Link>\n )}\n <AppSwitcher erp_modules={erp_modules} selectedModule={selectedModule} />\n <div className=\"ab-divider\" />\n <Breadcrumb selectedModule={selectedModule} segments={breadcrumbSegments} />\n <div style={{ flex: 1 }} />\n <GlobalSearch />\n <div className=\"notif-wrap\">\n <NotificationMenu />\n </div>\n <LanguageSwitch />\n <div className=\"v-divider\" />\n <UserMenu />\n </div>\n );\n}\n\nexport default Header;\n"],"names":["_a"],"mappings":"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"}
@@ -3,18 +3,18 @@ const jsxRuntime = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const reactRouterDom = require("react-router-dom");
5
5
  const reactI18next = require("react-i18next");
6
- const modules = require("./modules-DTRr7zwt.js");
7
- const appSwitcher = require("./app-switcher-VhH9z0Rd.js");
6
+ const modules = require("./modules-maXT99-4.js");
7
+ const appSwitcher = require("./app-switcher-CyEQmYAN.js");
8
8
  const breadcrumb = require("./breadcrumb-CLBLZKc7.js");
9
- const globalSearch = require("./global-search-BTV5iL6-.js");
9
+ const globalSearch = require("./global-search-BjKPmzsQ.js");
10
10
  const languageSwitch = require("./language-switch-DB1b1lfo.js");
11
- const notificationMenu = require("./notification-menu-B00hDUbn.js");
11
+ const notificationMenu = require("./notification-menu-D7ASm-K1.js");
12
12
  const userMenu = require("./user-menu-BXm0FBnk.js");
13
13
  const runtime = require("@erpsquad/common/runtime");
14
14
  const utils_apiConfig = require("../utils/api-config/index.js");
15
15
  const images = require("../images/index.js");
16
16
  const pathname = require("./pathname-7-q_H5dJ.js");
17
- const routePageMap = require("./route-page-map-CzFUh-SC.js");
17
+ const routePageMap = require("./route-page-map-Dn-SAbdf.js");
18
18
  ;/* empty css */
19
19
  function Header(props) {
20
20
  var _a;
@@ -74,11 +74,9 @@ function Header(props) {
74
74
  return result.filter((s) => Boolean(s && s.label));
75
75
  }, [pathname$1, selectedModule]);
76
76
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "app-bar", children: [
77
- pathname$1 === pathname.Pathname.DASHBOARD && /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { style: { marginTop: "0.25rem" }, to: user ? pathname.Pathname.DASHBOARD : pathname.Pathname.LOGIN, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: appLogo, alt: "logo", height: 55 }) }),
78
- pathname$1 !== pathname.Pathname.DASHBOARD && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
79
- /* @__PURE__ */ jsxRuntime.jsx(appSwitcher.AppSwitcher, { erp_modules, selectedModule }),
80
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ab-divider" })
81
- ] }),
77
+ pathname$1 === pathname.Pathname.DASHBOARD && /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { style: { marginTop: "0.25rem", marginRight: "12px" }, to: user ? pathname.Pathname.DASHBOARD : pathname.Pathname.LOGIN, children: /* @__PURE__ */ jsxRuntime.jsx("img", { src: appLogo, alt: "logo", height: 55 }) }),
78
+ /* @__PURE__ */ jsxRuntime.jsx(appSwitcher.AppSwitcher, { erp_modules, selectedModule }),
79
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ab-divider" }),
82
80
  /* @__PURE__ */ jsxRuntime.jsx(breadcrumb.Breadcrumb, { selectedModule, segments: breadcrumbSegments }),
83
81
  /* @__PURE__ */ jsxRuntime.jsx("div", { style: { flex: 1 } }),
84
82
  /* @__PURE__ */ jsxRuntime.jsx(globalSearch.GlobalSearch, {}),
@@ -89,4 +87,4 @@ function Header(props) {
89
87
  ] });
90
88
  }
91
89
  exports.Header = Header;
92
- //# sourceMappingURL=header-jWPMgcy6.js.map
90
+ //# sourceMappingURL=header-BHsex2As.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header-jWPMgcy6.js","sources":["../../src/components/header/header.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { Link, matchRoutes, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport modules from \"../../constants/modules\";\nimport { IModule } from \"./types\";\nimport { AppSwitcher } from \"./components/app-switcher\";\nimport { Breadcrumb } from \"./components/breadcrumb\";\nimport { GlobalSearch } from \"./components/global-search\";\nimport { LanguageSwitch } from \"./components/language-switch\";\nimport { NotificationMenu } from \"./components/notification-menu\";\nimport { UserMenu } from \"./components/user-menu\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { getApiConfigSafe } from \"../../utils/api-config\";\nimport { images } from \"../../assets/images\";\nimport { Pathname } from \"../../constants/pathnames/pathname\";\nimport { breadcrumbSegmentLabelMap } from \"../../constants/route-page-map\";\nimport \"./header.scss\";\n\nexport function Header(props: { isDropdownShow?: boolean }): React.ReactElement {\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const { user } = useAuth();\n const appLogo = getApiConfigSafe()?.appLogo || images.logo;\n\n const checkMatchedRoutes = useCallback(\n (paths: string[] | string) => {\n const shouldMatch: { path: string }[] = Array.isArray(paths)\n ? paths.map((path: string) => ({ path }))\n : [{ path: paths }];\n return Boolean(matchRoutes(shouldMatch, location));\n },\n [location],\n );\n\n const erp_modules = useMemo<IModule[]>(() => {\n const allModules = modules(t);\n\n const u_data = localStorage.getItem(\"_u_data\");\n const userData = u_data ? JSON.parse(u_data) : null;\n const accessModules: { module_name: string }[] =\n userData?.module_access?.length > 0\n ? userData.module_access\n : [{ module_name: \"user\" }];\n\n // Stage 1: filter by module_access\n const stage1 = allModules.filter((m) =>\n m.beModuleName === \"rbac\" ||\n accessModules.some((a: { module_name: string }) => a.module_name === m.beModuleName)\n );\n\n // Stage 2: filter by role-permission.modules\n const rolePermission = localStorage.getItem(\"role-permission\");\n const permissions: string[] =\n rolePermission && JSON.parse(rolePermission)?.modules\n ? JSON.parse(rolePermission).modules\n : [];\n\n if (!permissions.length) return stage1;\n return stage1.filter((m) => permissions.includes(m.beModuleName));\n }, [t]);\n\n const selectedModule = useMemo<IModule | null>(() => {\n const byRoute = erp_modules.find(\n (module: IModule) =>\n module?.link?.toLowerCase() === pathname.toLowerCase() ||\n checkMatchedRoutes(module.connectedRoutes),\n );\n if (byRoute) return byRoute;\n return erp_modules.find(\n (module: IModule) =>\n module.link.length > 1 &&\n pathname.toLowerCase().startsWith(module.link.toLowerCase() + \"/\"),\n ) || null;\n }, [erp_modules, pathname, checkMatchedRoutes]);\n\n const breadcrumbSegments = useMemo(() => {\n if (!selectedModule) return [];\n const base = selectedModule.link;\n const rest = pathname.toLowerCase().startsWith(base.toLowerCase())\n ? pathname.slice(base.length)\n : pathname;\n const rawSegments = rest.split(\"/\").filter(s => s);\n const routeObjects = selectedModule.connectedRoutes.map(r => ({ path: r }));\n const result: { label: string; path: string; navigable: boolean }[] = [];\n for (let i = 0; i < rawSegments.length; i++) {\n const seg = rawSegments[i];\n if (/^\\d+$/.test(seg)) continue;\n const path = base + \"/\" + rawSegments.slice(0, i + 1).join(\"/\");\n const label = breadcrumbSegmentLabelMap[seg] || seg.split(\"-\").map((w: string) => w.charAt(0).toUpperCase() + w.slice(1)).join(\" \");\n const navigable = Boolean(matchRoutes(routeObjects, { pathname: path }));\n result.push({ label, path, navigable });\n }\n return result.filter(s => Boolean(s && s.label));\n }, [pathname, selectedModule]);\n\n return (\n <div className=\"app-bar\">\n {pathname === Pathname.DASHBOARD && (\n <Link style={{ marginTop: \"0.25rem\" }} to={user ? Pathname.DASHBOARD : Pathname.LOGIN}>\n <img src={appLogo} alt=\"logo\" height={55} />\n </Link>\n )}\n {pathname !== Pathname.DASHBOARD && (\n <>\n <AppSwitcher erp_modules={erp_modules} selectedModule={selectedModule} />\n <div className=\"ab-divider\" />\n </>\n )}\n <Breadcrumb selectedModule={selectedModule} segments={breadcrumbSegments} />\n <div style={{ flex: 1 }} />\n <GlobalSearch />\n <div className=\"notif-wrap\">\n <NotificationMenu />\n </div>\n <LanguageSwitch />\n <div className=\"v-divider\" />\n <UserMenu />\n </div>\n );\n}\n\nexport default Header;\n"],"names":["useTranslation","useLocation","pathname","useAuth","getApiConfigSafe","images","useCallback","matchRoutes","useMemo","modules","_a","module","breadcrumbSegmentLabelMap","jsxs","Pathname","jsx","Link","Fragment","AppSwitcher","Breadcrumb","GlobalSearch","NotificationMenu","LanguageSwitch","UserMenu"],"mappings":"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"}
1
+ {"version":3,"file":"header-BHsex2As.js","sources":["../../src/components/header/header.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { Link, matchRoutes, useLocation } from \"react-router-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nimport modules from \"../../constants/modules\";\nimport { IModule } from \"./types\";\nimport { AppSwitcher } from \"./components/app-switcher\";\nimport { Breadcrumb } from \"./components/breadcrumb\";\nimport { GlobalSearch } from \"./components/global-search\";\nimport { LanguageSwitch } from \"./components/language-switch\";\nimport { NotificationMenu } from \"./components/notification-menu\";\nimport { UserMenu } from \"./components/user-menu\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { getApiConfigSafe } from \"../../utils/api-config\";\nimport { images } from \"../../assets/images\";\nimport { Pathname } from \"../../constants/pathnames/pathname\";\nimport { breadcrumbSegmentLabelMap } from \"../../constants/route-page-map\";\nimport \"./header.scss\";\n\nexport function Header(props: { isDropdownShow?: boolean }): React.ReactElement {\n const { t } = useTranslation();\n const location = useLocation();\n const { pathname } = location;\n const { user } = useAuth();\n const appLogo = getApiConfigSafe()?.appLogo || images.logo;\n\n const checkMatchedRoutes = useCallback(\n (paths: string[] | string) => {\n const shouldMatch: { path: string }[] = Array.isArray(paths)\n ? paths.map((path: string) => ({ path }))\n : [{ path: paths }];\n return Boolean(matchRoutes(shouldMatch, location));\n },\n [location],\n );\n\n const erp_modules = useMemo<IModule[]>(() => {\n const allModules = modules(t);\n\n const u_data = localStorage.getItem(\"_u_data\");\n const userData = u_data ? JSON.parse(u_data) : null;\n const accessModules: { module_name: string }[] =\n userData?.module_access?.length > 0\n ? userData.module_access\n : [{ module_name: \"user\" }];\n\n // Stage 1: filter by module_access\n const stage1 = allModules.filter((m) =>\n m.beModuleName === \"rbac\" ||\n accessModules.some((a: { module_name: string }) => a.module_name === m.beModuleName)\n );\n\n // Stage 2: filter by role-permission.modules\n const rolePermission = localStorage.getItem(\"role-permission\");\n const permissions: string[] =\n rolePermission && JSON.parse(rolePermission)?.modules\n ? JSON.parse(rolePermission).modules\n : [];\n\n if (!permissions.length) return stage1;\n return stage1.filter((m) => permissions.includes(m.beModuleName));\n }, [t]);\n\n const selectedModule = useMemo<IModule | null>(() => {\n const byRoute = erp_modules.find(\n (module: IModule) =>\n module?.link?.toLowerCase() === pathname.toLowerCase() ||\n checkMatchedRoutes(module.connectedRoutes),\n );\n if (byRoute) return byRoute;\n return erp_modules.find(\n (module: IModule) =>\n module.link.length > 1 &&\n pathname.toLowerCase().startsWith(module.link.toLowerCase() + \"/\"),\n ) || null;\n }, [erp_modules, pathname, checkMatchedRoutes]);\n\n const breadcrumbSegments = useMemo(() => {\n if (!selectedModule) return [];\n const base = selectedModule.link;\n const rest = pathname.toLowerCase().startsWith(base.toLowerCase())\n ? pathname.slice(base.length)\n : pathname;\n const rawSegments = rest.split(\"/\").filter(s => s);\n const routeObjects = selectedModule.connectedRoutes.map(r => ({ path: r }));\n const result: { label: string; path: string; navigable: boolean }[] = [];\n for (let i = 0; i < rawSegments.length; i++) {\n const seg = rawSegments[i];\n if (/^\\d+$/.test(seg)) continue;\n const path = base + \"/\" + rawSegments.slice(0, i + 1).join(\"/\");\n const label = breadcrumbSegmentLabelMap[seg] || seg.split(\"-\").map((w: string) => w.charAt(0).toUpperCase() + w.slice(1)).join(\" \");\n const navigable = Boolean(matchRoutes(routeObjects, { pathname: path }));\n result.push({ label, path, navigable });\n }\n return result.filter(s => Boolean(s && s.label));\n }, [pathname, selectedModule]);\n\n return (\n <div className=\"app-bar\">\n {pathname === Pathname.DASHBOARD && (\n <Link style={{ marginTop: \"0.25rem\", marginRight: \"12px\" }} to={user ? Pathname.DASHBOARD : Pathname.LOGIN}>\n <img src={appLogo} alt=\"logo\" height={55} />\n </Link>\n )}\n <AppSwitcher erp_modules={erp_modules} selectedModule={selectedModule} />\n <div className=\"ab-divider\" />\n <Breadcrumb selectedModule={selectedModule} segments={breadcrumbSegments} />\n <div style={{ flex: 1 }} />\n <GlobalSearch />\n <div className=\"notif-wrap\">\n <NotificationMenu />\n </div>\n <LanguageSwitch />\n <div className=\"v-divider\" />\n <UserMenu />\n </div>\n );\n}\n\nexport default Header;\n"],"names":["useTranslation","useLocation","pathname","useAuth","getApiConfigSafe","images","useCallback","matchRoutes","useMemo","modules","_a","module","breadcrumbSegmentLabelMap","jsxs","Pathname","jsx","Link","AppSwitcher","Breadcrumb","GlobalSearch","NotificationMenu","LanguageSwitch","UserMenu"],"mappings":"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"}
@@ -8,14 +8,14 @@ import KeyboardBackspaceIcon from "@mui/icons-material/KeyboardBackspace";
8
8
  import { T as Typography } from "./typography-CG_A0iOJ.esm.js";
9
9
  import images from "../images/index.esm.js";
10
10
  import { S as Select } from "./select-CVxEdXzL.esm.js";
11
- import { m as modules } from "./modules-enwLrpfQ.esm.js";
11
+ import { m as modules } from "./modules-BBu2Y-K9.esm.js";
12
12
  import { A as Avatar } from "./avatar-lNOkcI7m.esm.js";
13
13
  import { useAuth, useLanguage } from "@erpsquad/common/runtime";
14
14
  import { C as ConfirmPopUp } from "./confirm-modal-PbguB4YV.esm.js";
15
15
  import formatText from "../utils/format-text/index.esm.js";
16
16
  import { E as Eye } from "./eye-CByHBTch.esm.js";
17
17
  import { R as ResetPasswordModal } from "./reset-password-modal-x82f8yfU.esm.js";
18
- import { N as NotificationMenu } from "./notification-menu-CehCt5fA.esm.js";
18
+ import { N as NotificationMenu } from "./notification-menu-XAadkn-e.esm.js";
19
19
  /* empty css */
20
20
  import { getApiConfig } from "../utils/api-config/index.esm.js";
21
21
  import { a as useAppSelector, u as useAppDispatch } from "./hooks-Ddf9hdOk.esm.js";
@@ -398,4 +398,4 @@ function HeaderEnhanced(props) {
398
398
  export {
399
399
  HeaderEnhanced as H
400
400
  };
401
- //# sourceMappingURL=header-enhanced-CkROCaOF.esm.js.map
401
+ //# sourceMappingURL=header-enhanced-BjfqyQ1a.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header-enhanced-CkROCaOF.esm.js","sources":["../../src/components/header/header-enhanced.tsx"],"sourcesContent":["// components/header/Header.tsx - Enhanced version with optional Redux support\nimport React, { useState, useEffect, useCallback } from \"react\";\nimport { Link, matchRoutes, useLocation, useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport LockIcon from \"@mui/icons-material/Lock\";\nimport { IconButton } from \"@mui/material\";\nimport { MenuItem } from \"@mui/material\";\nimport { Menu } from \"@mui/material\";\nimport KeyboardBackspaceIcon from \"@mui/icons-material/KeyboardBackspace\";\nimport { ListItemText } from \"@mui/material\";\nimport { Divider } from \"@mui/material\";\nimport { ListItemIcon } from \"@mui/material\";\n\n// import { Pathname } from \"../../pathname\"; // Removed - should be passed as props\nimport Typography from \"../typography/typography\";\nimport logo, { images } from \"../../assets/images\";\nimport Select from \"../select/select\";\nimport modules from \"../../constants/modules\"; // Removed - should be passed as props\nimport Avatar from \"../avatar/avatar\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport ConfirmPopUp from \"../confirm-modal/confirm-modal\";\nimport formatText from \"../../utils/format-text\";\nimport { useLanguage } from '@erpsquad/common/runtime';\nimport { Eye } from \"../icons\";\nimport ResetPasswordModal from \"../reset-password-modal/reset-password-modal\";\nimport NotificationMenu from \"./components/notification-menu/notification-menu\";\nimport \"./header.scss\";\nimport { getApiConfig } from \"@/utils\";\nimport { Pathname } from \"@/constants\";\nimport { useAppSelector, useAppDispatch } from '../../redux/hooks';\nimport { fetchLanguages } from '../../redux/slices';\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface IModule {\n label: any;\n link: string;\n sidebar: string;\n icon: string;\n permission: string;\n bg: string;\n connectedRoutes: string[];\n translationModule: string;\n}\n\n// Enhanced props interface\ninterface HeaderEnhancedProps {\n isDropdownShow?: boolean;\n\n // Language props (alternative to Redux)\n languages?: ILanguage[];\n currentLanguage?: ILanguage;\n languagesLoading?: boolean;\n languageError?: string;\n onLanguageChange?: (languageCode: string) => void;\n onFetchLanguages?: () => Promise<void>;\n\n // Redux integration (optional)\n useRedux?: boolean;\n}\n\nexport function HeaderEnhanced(props: HeaderEnhancedProps): React.ReactElement {\n const {\n isDropdownShow,\n\n // Non-Redux props\n languages: propLanguages = [],\n currentLanguage: propCurrentLanguage,\n languagesLoading: propLanguagesLoading = false,\n languageError: propLanguageError = \"\",\n onLanguageChange,\n onFetchLanguages,\n\n // Redux integration\n useRedux = false,\n } = props;\n\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const { logout, user } = useAuth();\n\n // Conditional Redux usage\n let reduxLanguageState = {\n languages: [],\n currentLanguage: { label: 'English', code: 'en', direction: 'ltr' },\n isLoading: false,\n error: '',\n isFallbackActive: false,\n isRtl: false\n };\n let dispatch: any = null;\n let reduxActions: any = {};\n\n if (useRedux) {\n try {\n // Redux hooks and actions (statically imported)\n\n const headerState = useAppSelector((store: any) => store.header || {});\n dispatch = useAppDispatch();\n reduxActions = { fetchLanguages };\n\n reduxLanguageState = {\n languages: headerState.languagesData?.data || [],\n currentLanguage: headerState.currentLanguage || reduxLanguageState.currentLanguage,\n isLoading: headerState.languagesData?.isLoading || false,\n error: headerState.languagesData?.error || '',\n isFallbackActive: false, // This would need to be computed\n isRtl: headerState.currentLanguage?.direction === 'rtl'\n };\n } catch (error) {\n console.warn(\"Redux not available for Header, falling back to prop-based data\");\n }\n }\n\n // Use Redux data if available, otherwise use props or useLanguage hook\n const {\n languages: hookLanguages,\n currentLanguage: hookCurrentLanguage,\n changeLanguage: hookChangeLanguage,\n isLoading: hookLanguagesLoading,\n error: hookLanguageError,\n isFallbackActive: hookIsFallbackActive,\n fetchLanguages: hookFetchLanguages,\n isRtl: hookIsRtl\n } = useLanguage();\n const config = getApiConfig()\n\n // Determine which data source to use\n const languages = useRedux ? reduxLanguageState.languages : (propLanguages.length > 0 ? propLanguages : hookLanguages);\n const currentLanguage = useRedux ? reduxLanguageState.currentLanguage : (propCurrentLanguage || hookCurrentLanguage);\n const languagesLoading = useRedux ? reduxLanguageState.isLoading : (propLanguagesLoading || hookLanguagesLoading);\n const languageContextError = useRedux ? reduxLanguageState.error : (propLanguageError || hookLanguageError);\n const isFallbackActive = useRedux ? reduxLanguageState.isFallbackActive : hookIsFallbackActive;\n const isRtl = useRedux ? reduxLanguageState.isRtl : hookIsRtl;\n\n const { pathname } = location;\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [logoutConfirmation, setLogoutConfirmation] = useState<boolean>(false);\n const [selectedModule, setSelectedModule] = useState<IModule | null>(null);\n const [erp_modules, setModules] = useState<IModule[]>([]);\n const [localLanguageError, setLocalLanguageError] = useState<string | null>(null);\n const [showModal, setShowModal] = useState(false);\n\n const u_data = localStorage.getItem(\"_u_data\") || undefined;\n const userData = u_data ? JSON.parse(u_data) : \"\";\n const isMenuOpen = Boolean(anchorEl);\n\n const handleLogoutConfirmation = () =>\n setLogoutConfirmation(!logoutConfirmation);\n\n const checkMatchedRoutes = useCallback(\n (paths: string[] | string) => {\n const shouldMatch: { path: string }[] = Array.isArray(paths)\n ? paths.map((path: string) => ({ path }))\n : [{ path: paths }];\n\n return Boolean(matchRoutes(shouldMatch, location));\n },\n [location],\n );\n\n const handleChangePasswordView = () => {\n setShowModal(true);\n }\n\n useEffect(() => {\n const moduleName = erp_modules.find(\n (module: IModule) =>\n module?.link?.toLowerCase() === pathname.toLowerCase() ||\n checkMatchedRoutes(module.connectedRoutes),\n );\n\n if (moduleName) {\n setSelectedModule(moduleName);\n }\n }, [pathname, erp_modules, checkMatchedRoutes]);\n\n useEffect(() => {\n setModules(modules(t));\n }, [t]);\n\n // Enhanced language change handler\n const onChangeLang = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const lang_code = e.target.value;\n\n // Clear any previous errors\n setLocalLanguageError(null);\n\n // Validate the language exists before changing\n if (!languages || languages.length === 0) {\n const errorMsg = t('header.language_not_available') || 'Languages not available';\n setLocalLanguageError(errorMsg);\n return;\n }\n\n const languageExists = languages.some((lang: ILanguage) => lang.code === lang_code);\n\n if (languageExists) {\n try {\n if (useRedux) {\n // Use Redux action (would need to be implemented in the slice)\n // dispatch(setCurrentLanguage({ code: lang_code, ... }));\n } else if (onLanguageChange) {\n onLanguageChange(lang_code);\n } else {\n hookChangeLanguage(lang_code);\n }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Failed to change language';\n setLocalLanguageError(errorMsg);\n }\n } else {\n const errorMsg = t('header.language_not_found', { language: lang_code }) ||\n `Selected language \"${lang_code}\" is not available`;\n setLocalLanguageError(errorMsg);\n }\n };\n\n // Retry language loading\n const handleRetryLanguages = async () => {\n setLocalLanguageError(null);\n try {\n if (useRedux && dispatch && reduxActions.fetchLanguages) {\n await dispatch(reduxActions.fetchLanguages());\n } else if (onFetchLanguages) {\n await onFetchLanguages();\n } else {\n await hookFetchLanguages();\n }\n } catch (error) {\n const errorMsg = 'Failed to reload languages';\n setLocalLanguageError(errorMsg);\n }\n };\n\n const handleProfileMenuOpen = (event: React.MouseEvent<HTMLElement>) =>\n setAnchorEl(event.currentTarget);\n\n const handleMenuClose = () => {\n setAnchorEl(null);\n };\n\n const handleChange = (event: any) => {\n const selectedLink = event.target.value;\n setTimeout(() => {\n navigate(selectedLink);\n }, 300);\n };\n\n const handleBackButton = () => {\n window.history.back();\n };\n\n // Get current language display value with fallback indication\n const getCurrentLanguageDisplay = (): string => {\n if (!currentLanguage) return t('header.select_language') || 'Select Language';\n\n // Show fallback indicator for better UX\n if (isFallbackActive || languageContextError) {\n return `${currentLanguage.label}`;\n }\n\n return currentLanguage.label;\n };\n\n // Create English fallback for consistent display\n const createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n });\n\n // Get languages for dropdown - ensure English is always available\n const getLanguagesForDropdown = (): ILanguage[] => {\n if (!languages || languages.length === 0) {\n // If no languages available, show only English\n return [createEnglishFallback()];\n }\n\n // Ensure English is in the list\n const hasEnglish = languages.some(lang => lang.code === 'en');\n if (!hasEnglish) {\n return [createEnglishFallback(), ...languages];\n }\n\n return languages;\n };\n\n // Render language selector based on different states\n const renderLanguageSelector = () => {\n const availableLanguages = getLanguagesForDropdown();\n const displayValue = currentLanguage?.code || 'en'; // Default to English\n\n // Loading state\n if (languagesLoading) {\n return (\n <Box className=\"language-loading\">\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Loading...'}\n </Typography>\n </Box>\n );\n }\n\n // Always show dropdown with at least English available\n return (\n <Select\n onChange={onChangeLang}\n size=\"small\"\n value={displayValue}\n renderValue={() => getCurrentLanguageDisplay()}\n error={!!localLanguageError}\n className={isFallbackActive || languageContextError ? 'language-fallback-active' : ''}\n >\n {availableLanguages.map(({ code, label }: ILanguage) => (\n <MenuItem key={code} value={code}>\n <Typography\n type=\"s4\"\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {label}\n </Typography>\n </MenuItem>\n ))}\n\n {/* Show retry option if there's an error */}\n {languageContextError && (\n <MenuItem onClick={handleRetryLanguages} style={{ fontStyle: 'italic' }}>\n <Typography\n type=\"s4\"\n weight=\"medium\"\n color=\"theme.secondary.500\"\n >\n 🔄 {t('header.retry_languages') || 'Retry loading languages'}\n </Typography>\n </MenuItem>\n )}\n </Select>\n );\n };\n\n const menuId = \"primary-search-account-menu\";\n const renderMenu = (\n <Menu\n className=\"main-profile-menu\"\n anchorEl={anchorEl}\n id={menuId}\n keepMounted\n open={isMenuOpen}\n onClose={handleMenuClose}\n >\n <MenuItem className=\"user-assigned\">\n <span>{t('common.assigned_roles') || 'Assigned roles'}</span>\n </MenuItem>\n <MenuItem className=\"user-data-wrap\" value={userData.role_id}>\n <ListItemIcon>\n <Avatar size={27} alt={userData.role_name} />\n </ListItemIcon>\n <ListItemText className=\"size15\">\n {userData.role_name}\n </ListItemText>\n <Typography variant=\"body2\" color=\"text.secondary\">\n <img src={images.tickicon} alt=\"Active\" />\n </Typography>\n </MenuItem>\n <Divider />\n <MenuItem\n className=\"user-assigned\"\n onClick={() => {\n handleChangePasswordView();\n setAnchorEl(null);\n }}\n >\n <ListItemIcon>\n <Eye fontSize=\"medium\" width={20} height={20} htmlColor=\"#292D32\" />\n </ListItemIcon>\n <ListItemText className=\"size15\">{t(\"common.change_password\")}</ListItemText>\n </MenuItem>\n <Divider />\n <MenuItem\n className=\"menu-item-color\"\n onClick={() => {\n handleLogoutConfirmation();\n setAnchorEl(null);\n }}\n >\n <ListItemIcon>\n <img src={images.logout} alt=\"logout\" />\n </ListItemIcon>\n <ListItemText className=\"size15\">{t(\"common.logout\")}</ListItemText>\n </MenuItem>\n </Menu>\n );\n\n const appLogo = getApiConfig().appLogo || images.logo\n\n return (\n <>\n <Box className=\"main-box\">\n {!isDropdownShow && (\n <Link to={user ? Pathname.DASHBOARD : Pathname.LOGIN}>\n <img src={appLogo} alt=\"logo\" height={55}/>\n </Link>\n )}\n <Box className=\"second-box\">\n {isDropdownShow && (\n <>\n <IconButton onClick={handleBackButton}>\n <KeyboardBackspaceIcon\n className={isRtl ? \"arrow-pointer_rtl\" : \"arrow-pointer\"}\n />\n </IconButton>\n <Box width={250}>\n <Select\n fullWidth\n placeholder=\"Placeholder\"\n size={\"small\"}\n value={selectedModule?.link || \"\"}\n onChange={handleChange}\n className=\"select-box\"\n variant=\"outlined\"\n renderValue={(value: string) => (\n <>\n {selectedModule ? (\n <Box className=\"selected-menu-box\">\n <img\n src={selectedModule.icon}\n alt={selectedModule.label}\n />\n {selectedModule.label}\n </Box>\n ) : (\n value\n )}\n </>\n )}\n >\n {erp_modules.map((module: any, index: number) => (\n <MenuItem\n className=\"select-box-menu-item\"\n value={module.link}\n key={index}\n >\n <img src={module.icon} alt={module.label} />\n {module.label}\n </MenuItem>\n ))}\n </Select>\n </Box>\n </>\n )}\n </Box>\n <Box className=\"header-right-wrap\">\n {/* Language Selector with Enhanced Fallback Support */}\n <Box className=\"language-selector-wrapper\">\n {renderLanguageSelector()}\n </Box>\n\n <NotificationMenu />\n <IconButton\n size=\"small\"\n aria-label=\"help\"\n className=\"p-0\"\n >\n <img src={logo.question} alt=\"question icon\" />\n </IconButton>\n <img src={logo.vdivider} alt=\"divider icon\" />\n {localStorage.getItem(\"_tid\") ? (\n <Box className=\"user-profile-box\" onClick={handleProfileMenuOpen}>\n <Avatar\n size={32}\n src={user?.profile_image ? `${config?.s3BucketUrl}${user?.profile_image}` : undefined}\n alt={formatText(user?.full_name)}\n className=\"avatar-class\"\n />\n <div>\n <Typography className=\"profile-name\">\n {user?.full_name}\n </Typography>\n <Typography className=\"user-auth\">\n {user?.role_name}\n </Typography>\n </div>\n </Box>\n ) : (\n <IconButton\n size=\"large\"\n edge=\"end\"\n aria-label=\"account of current user\"\n aria-controls={menuId}\n aria-haspopup=\"true\"\n component={Link}\n to={Pathname.LOGIN}\n color=\"inherit\"\n >\n <LockIcon className=\"icon-btn\" />\n </IconButton>\n )}\n </Box>\n {renderMenu}\n </Box>\n\n {/* Logout Confirmation Dialog */}\n <ConfirmPopUp\n open={logoutConfirmation}\n title={t(\"common.logout\")}\n description={t('common.logout_confirmation') || \"Are you sure, you want to logout?\"}\n onConfirm={() => logout()}\n onClose={handleLogoutConfirmation}\n fullWidth\n maxWidth=\"xs\"\n buttonTexts={{\n confirm: t(\"common.logout\"),\n cancel: t(\"common.cancel\"),\n }}\n />\n\n <ResetPasswordModal showModal={showModal} setShowModal={setShowModal} />\n </>\n );\n}\n\nexport default HeaderEnhanced;"],"names":["React","_a","logo"],"mappings":"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"}
1
+ {"version":3,"file":"header-enhanced-BjfqyQ1a.esm.js","sources":["../../src/components/header/header-enhanced.tsx"],"sourcesContent":["// components/header/Header.tsx - Enhanced version with optional Redux support\nimport React, { useState, useEffect, useCallback } from \"react\";\nimport { Link, matchRoutes, useLocation, useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport LockIcon from \"@mui/icons-material/Lock\";\nimport { IconButton } from \"@mui/material\";\nimport { MenuItem } from \"@mui/material\";\nimport { Menu } from \"@mui/material\";\nimport KeyboardBackspaceIcon from \"@mui/icons-material/KeyboardBackspace\";\nimport { ListItemText } from \"@mui/material\";\nimport { Divider } from \"@mui/material\";\nimport { ListItemIcon } from \"@mui/material\";\n\n// import { Pathname } from \"../../pathname\"; // Removed - should be passed as props\nimport Typography from \"../typography/typography\";\nimport logo, { images } from \"../../assets/images\";\nimport Select from \"../select/select\";\nimport modules from \"../../constants/modules\"; // Removed - should be passed as props\nimport Avatar from \"../avatar/avatar\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport ConfirmPopUp from \"../confirm-modal/confirm-modal\";\nimport formatText from \"../../utils/format-text\";\nimport { useLanguage } from '@erpsquad/common/runtime';\nimport { Eye } from \"../icons\";\nimport ResetPasswordModal from \"../reset-password-modal/reset-password-modal\";\nimport NotificationMenu from \"./components/notification-menu/notification-menu\";\nimport \"./header.scss\";\nimport { getApiConfig } from \"@/utils\";\nimport { Pathname } from \"@/constants\";\nimport { useAppSelector, useAppDispatch } from '../../redux/hooks';\nimport { fetchLanguages } from '../../redux/slices';\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface IModule {\n label: any;\n link: string;\n sidebar: string;\n icon: string;\n permission: string;\n bg: string;\n connectedRoutes: string[];\n translationModule: string;\n}\n\n// Enhanced props interface\ninterface HeaderEnhancedProps {\n isDropdownShow?: boolean;\n\n // Language props (alternative to Redux)\n languages?: ILanguage[];\n currentLanguage?: ILanguage;\n languagesLoading?: boolean;\n languageError?: string;\n onLanguageChange?: (languageCode: string) => void;\n onFetchLanguages?: () => Promise<void>;\n\n // Redux integration (optional)\n useRedux?: boolean;\n}\n\nexport function HeaderEnhanced(props: HeaderEnhancedProps): React.ReactElement {\n const {\n isDropdownShow,\n\n // Non-Redux props\n languages: propLanguages = [],\n currentLanguage: propCurrentLanguage,\n languagesLoading: propLanguagesLoading = false,\n languageError: propLanguageError = \"\",\n onLanguageChange,\n onFetchLanguages,\n\n // Redux integration\n useRedux = false,\n } = props;\n\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const { logout, user } = useAuth();\n\n // Conditional Redux usage\n let reduxLanguageState = {\n languages: [],\n currentLanguage: { label: 'English', code: 'en', direction: 'ltr' },\n isLoading: false,\n error: '',\n isFallbackActive: false,\n isRtl: false\n };\n let dispatch: any = null;\n let reduxActions: any = {};\n\n if (useRedux) {\n try {\n // Redux hooks and actions (statically imported)\n\n const headerState = useAppSelector((store: any) => store.header || {});\n dispatch = useAppDispatch();\n reduxActions = { fetchLanguages };\n\n reduxLanguageState = {\n languages: headerState.languagesData?.data || [],\n currentLanguage: headerState.currentLanguage || reduxLanguageState.currentLanguage,\n isLoading: headerState.languagesData?.isLoading || false,\n error: headerState.languagesData?.error || '',\n isFallbackActive: false, // This would need to be computed\n isRtl: headerState.currentLanguage?.direction === 'rtl'\n };\n } catch (error) {\n console.warn(\"Redux not available for Header, falling back to prop-based data\");\n }\n }\n\n // Use Redux data if available, otherwise use props or useLanguage hook\n const {\n languages: hookLanguages,\n currentLanguage: hookCurrentLanguage,\n changeLanguage: hookChangeLanguage,\n isLoading: hookLanguagesLoading,\n error: hookLanguageError,\n isFallbackActive: hookIsFallbackActive,\n fetchLanguages: hookFetchLanguages,\n isRtl: hookIsRtl\n } = useLanguage();\n const config = getApiConfig()\n\n // Determine which data source to use\n const languages = useRedux ? reduxLanguageState.languages : (propLanguages.length > 0 ? propLanguages : hookLanguages);\n const currentLanguage = useRedux ? reduxLanguageState.currentLanguage : (propCurrentLanguage || hookCurrentLanguage);\n const languagesLoading = useRedux ? reduxLanguageState.isLoading : (propLanguagesLoading || hookLanguagesLoading);\n const languageContextError = useRedux ? reduxLanguageState.error : (propLanguageError || hookLanguageError);\n const isFallbackActive = useRedux ? reduxLanguageState.isFallbackActive : hookIsFallbackActive;\n const isRtl = useRedux ? reduxLanguageState.isRtl : hookIsRtl;\n\n const { pathname } = location;\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [logoutConfirmation, setLogoutConfirmation] = useState<boolean>(false);\n const [selectedModule, setSelectedModule] = useState<IModule | null>(null);\n const [erp_modules, setModules] = useState<IModule[]>([]);\n const [localLanguageError, setLocalLanguageError] = useState<string | null>(null);\n const [showModal, setShowModal] = useState(false);\n\n const u_data = localStorage.getItem(\"_u_data\") || undefined;\n const userData = u_data ? JSON.parse(u_data) : \"\";\n const isMenuOpen = Boolean(anchorEl);\n\n const handleLogoutConfirmation = () =>\n setLogoutConfirmation(!logoutConfirmation);\n\n const checkMatchedRoutes = useCallback(\n (paths: string[] | string) => {\n const shouldMatch: { path: string }[] = Array.isArray(paths)\n ? paths.map((path: string) => ({ path }))\n : [{ path: paths }];\n\n return Boolean(matchRoutes(shouldMatch, location));\n },\n [location],\n );\n\n const handleChangePasswordView = () => {\n setShowModal(true);\n }\n\n useEffect(() => {\n const moduleName = erp_modules.find(\n (module: IModule) =>\n module?.link?.toLowerCase() === pathname.toLowerCase() ||\n checkMatchedRoutes(module.connectedRoutes),\n );\n\n if (moduleName) {\n setSelectedModule(moduleName);\n }\n }, [pathname, erp_modules, checkMatchedRoutes]);\n\n useEffect(() => {\n setModules(modules(t));\n }, [t]);\n\n // Enhanced language change handler\n const onChangeLang = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const lang_code = e.target.value;\n\n // Clear any previous errors\n setLocalLanguageError(null);\n\n // Validate the language exists before changing\n if (!languages || languages.length === 0) {\n const errorMsg = t('header.language_not_available') || 'Languages not available';\n setLocalLanguageError(errorMsg);\n return;\n }\n\n const languageExists = languages.some((lang: ILanguage) => lang.code === lang_code);\n\n if (languageExists) {\n try {\n if (useRedux) {\n // Use Redux action (would need to be implemented in the slice)\n // dispatch(setCurrentLanguage({ code: lang_code, ... }));\n } else if (onLanguageChange) {\n onLanguageChange(lang_code);\n } else {\n hookChangeLanguage(lang_code);\n }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Failed to change language';\n setLocalLanguageError(errorMsg);\n }\n } else {\n const errorMsg = t('header.language_not_found', { language: lang_code }) ||\n `Selected language \"${lang_code}\" is not available`;\n setLocalLanguageError(errorMsg);\n }\n };\n\n // Retry language loading\n const handleRetryLanguages = async () => {\n setLocalLanguageError(null);\n try {\n if (useRedux && dispatch && reduxActions.fetchLanguages) {\n await dispatch(reduxActions.fetchLanguages());\n } else if (onFetchLanguages) {\n await onFetchLanguages();\n } else {\n await hookFetchLanguages();\n }\n } catch (error) {\n const errorMsg = 'Failed to reload languages';\n setLocalLanguageError(errorMsg);\n }\n };\n\n const handleProfileMenuOpen = (event: React.MouseEvent<HTMLElement>) =>\n setAnchorEl(event.currentTarget);\n\n const handleMenuClose = () => {\n setAnchorEl(null);\n };\n\n const handleChange = (event: any) => {\n const selectedLink = event.target.value;\n setTimeout(() => {\n navigate(selectedLink);\n }, 300);\n };\n\n const handleBackButton = () => {\n window.history.back();\n };\n\n // Get current language display value with fallback indication\n const getCurrentLanguageDisplay = (): string => {\n if (!currentLanguage) return t('header.select_language') || 'Select Language';\n\n // Show fallback indicator for better UX\n if (isFallbackActive || languageContextError) {\n return `${currentLanguage.label}`;\n }\n\n return currentLanguage.label;\n };\n\n // Create English fallback for consistent display\n const createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n });\n\n // Get languages for dropdown - ensure English is always available\n const getLanguagesForDropdown = (): ILanguage[] => {\n if (!languages || languages.length === 0) {\n // If no languages available, show only English\n return [createEnglishFallback()];\n }\n\n // Ensure English is in the list\n const hasEnglish = languages.some(lang => lang.code === 'en');\n if (!hasEnglish) {\n return [createEnglishFallback(), ...languages];\n }\n\n return languages;\n };\n\n // Render language selector based on different states\n const renderLanguageSelector = () => {\n const availableLanguages = getLanguagesForDropdown();\n const displayValue = currentLanguage?.code || 'en'; // Default to English\n\n // Loading state\n if (languagesLoading) {\n return (\n <Box className=\"language-loading\">\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Loading...'}\n </Typography>\n </Box>\n );\n }\n\n // Always show dropdown with at least English available\n return (\n <Select\n onChange={onChangeLang}\n size=\"small\"\n value={displayValue}\n renderValue={() => getCurrentLanguageDisplay()}\n error={!!localLanguageError}\n className={isFallbackActive || languageContextError ? 'language-fallback-active' : ''}\n >\n {availableLanguages.map(({ code, label }: ILanguage) => (\n <MenuItem key={code} value={code}>\n <Typography\n type=\"s4\"\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {label}\n </Typography>\n </MenuItem>\n ))}\n\n {/* Show retry option if there's an error */}\n {languageContextError && (\n <MenuItem onClick={handleRetryLanguages} style={{ fontStyle: 'italic' }}>\n <Typography\n type=\"s4\"\n weight=\"medium\"\n color=\"theme.secondary.500\"\n >\n 🔄 {t('header.retry_languages') || 'Retry loading languages'}\n </Typography>\n </MenuItem>\n )}\n </Select>\n );\n };\n\n const menuId = \"primary-search-account-menu\";\n const renderMenu = (\n <Menu\n className=\"main-profile-menu\"\n anchorEl={anchorEl}\n id={menuId}\n keepMounted\n open={isMenuOpen}\n onClose={handleMenuClose}\n >\n <MenuItem className=\"user-assigned\">\n <span>{t('common.assigned_roles') || 'Assigned roles'}</span>\n </MenuItem>\n <MenuItem className=\"user-data-wrap\" value={userData.role_id}>\n <ListItemIcon>\n <Avatar size={27} alt={userData.role_name} />\n </ListItemIcon>\n <ListItemText className=\"size15\">\n {userData.role_name}\n </ListItemText>\n <Typography variant=\"body2\" color=\"text.secondary\">\n <img src={images.tickicon} alt=\"Active\" />\n </Typography>\n </MenuItem>\n <Divider />\n <MenuItem\n className=\"user-assigned\"\n onClick={() => {\n handleChangePasswordView();\n setAnchorEl(null);\n }}\n >\n <ListItemIcon>\n <Eye fontSize=\"medium\" width={20} height={20} htmlColor=\"#292D32\" />\n </ListItemIcon>\n <ListItemText className=\"size15\">{t(\"common.change_password\")}</ListItemText>\n </MenuItem>\n <Divider />\n <MenuItem\n className=\"menu-item-color\"\n onClick={() => {\n handleLogoutConfirmation();\n setAnchorEl(null);\n }}\n >\n <ListItemIcon>\n <img src={images.logout} alt=\"logout\" />\n </ListItemIcon>\n <ListItemText className=\"size15\">{t(\"common.logout\")}</ListItemText>\n </MenuItem>\n </Menu>\n );\n\n const appLogo = getApiConfig().appLogo || images.logo\n\n return (\n <>\n <Box className=\"main-box\">\n {!isDropdownShow && (\n <Link to={user ? Pathname.DASHBOARD : Pathname.LOGIN}>\n <img src={appLogo} alt=\"logo\" height={55}/>\n </Link>\n )}\n <Box className=\"second-box\">\n {isDropdownShow && (\n <>\n <IconButton onClick={handleBackButton}>\n <KeyboardBackspaceIcon\n className={isRtl ? \"arrow-pointer_rtl\" : \"arrow-pointer\"}\n />\n </IconButton>\n <Box width={250}>\n <Select\n fullWidth\n placeholder=\"Placeholder\"\n size={\"small\"}\n value={selectedModule?.link || \"\"}\n onChange={handleChange}\n className=\"select-box\"\n variant=\"outlined\"\n renderValue={(value: string) => (\n <>\n {selectedModule ? (\n <Box className=\"selected-menu-box\">\n <img\n src={selectedModule.icon}\n alt={selectedModule.label}\n />\n {selectedModule.label}\n </Box>\n ) : (\n value\n )}\n </>\n )}\n >\n {erp_modules.map((module: any, index: number) => (\n <MenuItem\n className=\"select-box-menu-item\"\n value={module.link}\n key={index}\n >\n <img src={module.icon} alt={module.label} />\n {module.label}\n </MenuItem>\n ))}\n </Select>\n </Box>\n </>\n )}\n </Box>\n <Box className=\"header-right-wrap\">\n {/* Language Selector with Enhanced Fallback Support */}\n <Box className=\"language-selector-wrapper\">\n {renderLanguageSelector()}\n </Box>\n\n <NotificationMenu />\n <IconButton\n size=\"small\"\n aria-label=\"help\"\n className=\"p-0\"\n >\n <img src={logo.question} alt=\"question icon\" />\n </IconButton>\n <img src={logo.vdivider} alt=\"divider icon\" />\n {localStorage.getItem(\"_tid\") ? (\n <Box className=\"user-profile-box\" onClick={handleProfileMenuOpen}>\n <Avatar\n size={32}\n src={user?.profile_image ? `${config?.s3BucketUrl}${user?.profile_image}` : undefined}\n alt={formatText(user?.full_name)}\n className=\"avatar-class\"\n />\n <div>\n <Typography className=\"profile-name\">\n {user?.full_name}\n </Typography>\n <Typography className=\"user-auth\">\n {user?.role_name}\n </Typography>\n </div>\n </Box>\n ) : (\n <IconButton\n size=\"large\"\n edge=\"end\"\n aria-label=\"account of current user\"\n aria-controls={menuId}\n aria-haspopup=\"true\"\n component={Link}\n to={Pathname.LOGIN}\n color=\"inherit\"\n >\n <LockIcon className=\"icon-btn\" />\n </IconButton>\n )}\n </Box>\n {renderMenu}\n </Box>\n\n {/* Logout Confirmation Dialog */}\n <ConfirmPopUp\n open={logoutConfirmation}\n title={t(\"common.logout\")}\n description={t('common.logout_confirmation') || \"Are you sure, you want to logout?\"}\n onConfirm={() => logout()}\n onClose={handleLogoutConfirmation}\n fullWidth\n maxWidth=\"xs\"\n buttonTexts={{\n confirm: t(\"common.logout\"),\n cancel: t(\"common.cancel\"),\n }}\n />\n\n <ResetPasswordModal showModal={showModal} setShowModal={setShowModal} />\n </>\n );\n}\n\nexport default HeaderEnhanced;"],"names":["React","_a","logo"],"mappings":"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"}
@@ -9,14 +9,14 @@ const KeyboardBackspaceIcon = require("@mui/icons-material/KeyboardBackspace");
9
9
  const typography = require("./typography-Bqfr1Ksf.js");
10
10
  const images = require("../images/index.js");
11
11
  const select = require("./select-xEdBPnWK.js");
12
- const modules = require("./modules-DTRr7zwt.js");
12
+ const modules = require("./modules-maXT99-4.js");
13
13
  const avatar = require("./avatar-xHKDflhM.js");
14
14
  const runtime = require("@erpsquad/common/runtime");
15
15
  const confirmModal = require("./confirm-modal-BpCtXddt.js");
16
16
  const utils_formatText = require("../utils/format-text/index.js");
17
17
  const eye = require("./eye-BM7Zd78y.js");
18
18
  const resetPasswordModal = require("./reset-password-modal-D_hnpcKu.js");
19
- const notificationMenu = require("./notification-menu-B00hDUbn.js");
19
+ const notificationMenu = require("./notification-menu-D7ASm-K1.js");
20
20
  ;/* empty css */
21
21
  const utils_apiConfig = require("../utils/api-config/index.js");
22
22
  const hooks = require("./hooks-BcqqrpEF.js");
@@ -397,4 +397,4 @@ function HeaderEnhanced(props) {
397
397
  ] });
398
398
  }
399
399
  exports.HeaderEnhanced = HeaderEnhanced;
400
- //# sourceMappingURL=header-enhanced-Dxdetx0I.js.map
400
+ //# sourceMappingURL=header-enhanced-gJl4iC4m.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header-enhanced-Dxdetx0I.js","sources":["../../src/components/header/header-enhanced.tsx"],"sourcesContent":["// components/header/Header.tsx - Enhanced version with optional Redux support\nimport React, { useState, useEffect, useCallback } from \"react\";\nimport { Link, matchRoutes, useLocation, useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport LockIcon from \"@mui/icons-material/Lock\";\nimport { IconButton } from \"@mui/material\";\nimport { MenuItem } from \"@mui/material\";\nimport { Menu } from \"@mui/material\";\nimport KeyboardBackspaceIcon from \"@mui/icons-material/KeyboardBackspace\";\nimport { ListItemText } from \"@mui/material\";\nimport { Divider } from \"@mui/material\";\nimport { ListItemIcon } from \"@mui/material\";\n\n// import { Pathname } from \"../../pathname\"; // Removed - should be passed as props\nimport Typography from \"../typography/typography\";\nimport logo, { images } from \"../../assets/images\";\nimport Select from \"../select/select\";\nimport modules from \"../../constants/modules\"; // Removed - should be passed as props\nimport Avatar from \"../avatar/avatar\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport ConfirmPopUp from \"../confirm-modal/confirm-modal\";\nimport formatText from \"../../utils/format-text\";\nimport { useLanguage } from '@erpsquad/common/runtime';\nimport { Eye } from \"../icons\";\nimport ResetPasswordModal from \"../reset-password-modal/reset-password-modal\";\nimport NotificationMenu from \"./components/notification-menu/notification-menu\";\nimport \"./header.scss\";\nimport { getApiConfig } from \"@/utils\";\nimport { Pathname } from \"@/constants\";\nimport { useAppSelector, useAppDispatch } from '../../redux/hooks';\nimport { fetchLanguages } from '../../redux/slices';\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface IModule {\n label: any;\n link: string;\n sidebar: string;\n icon: string;\n permission: string;\n bg: string;\n connectedRoutes: string[];\n translationModule: string;\n}\n\n// Enhanced props interface\ninterface HeaderEnhancedProps {\n isDropdownShow?: boolean;\n\n // Language props (alternative to Redux)\n languages?: ILanguage[];\n currentLanguage?: ILanguage;\n languagesLoading?: boolean;\n languageError?: string;\n onLanguageChange?: (languageCode: string) => void;\n onFetchLanguages?: () => Promise<void>;\n\n // Redux integration (optional)\n useRedux?: boolean;\n}\n\nexport function HeaderEnhanced(props: HeaderEnhancedProps): React.ReactElement {\n const {\n isDropdownShow,\n\n // Non-Redux props\n languages: propLanguages = [],\n currentLanguage: propCurrentLanguage,\n languagesLoading: propLanguagesLoading = false,\n languageError: propLanguageError = \"\",\n onLanguageChange,\n onFetchLanguages,\n\n // Redux integration\n useRedux = false,\n } = props;\n\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const { logout, user } = useAuth();\n\n // Conditional Redux usage\n let reduxLanguageState = {\n languages: [],\n currentLanguage: { label: 'English', code: 'en', direction: 'ltr' },\n isLoading: false,\n error: '',\n isFallbackActive: false,\n isRtl: false\n };\n let dispatch: any = null;\n let reduxActions: any = {};\n\n if (useRedux) {\n try {\n // Redux hooks and actions (statically imported)\n\n const headerState = useAppSelector((store: any) => store.header || {});\n dispatch = useAppDispatch();\n reduxActions = { fetchLanguages };\n\n reduxLanguageState = {\n languages: headerState.languagesData?.data || [],\n currentLanguage: headerState.currentLanguage || reduxLanguageState.currentLanguage,\n isLoading: headerState.languagesData?.isLoading || false,\n error: headerState.languagesData?.error || '',\n isFallbackActive: false, // This would need to be computed\n isRtl: headerState.currentLanguage?.direction === 'rtl'\n };\n } catch (error) {\n console.warn(\"Redux not available for Header, falling back to prop-based data\");\n }\n }\n\n // Use Redux data if available, otherwise use props or useLanguage hook\n const {\n languages: hookLanguages,\n currentLanguage: hookCurrentLanguage,\n changeLanguage: hookChangeLanguage,\n isLoading: hookLanguagesLoading,\n error: hookLanguageError,\n isFallbackActive: hookIsFallbackActive,\n fetchLanguages: hookFetchLanguages,\n isRtl: hookIsRtl\n } = useLanguage();\n const config = getApiConfig()\n\n // Determine which data source to use\n const languages = useRedux ? reduxLanguageState.languages : (propLanguages.length > 0 ? propLanguages : hookLanguages);\n const currentLanguage = useRedux ? reduxLanguageState.currentLanguage : (propCurrentLanguage || hookCurrentLanguage);\n const languagesLoading = useRedux ? reduxLanguageState.isLoading : (propLanguagesLoading || hookLanguagesLoading);\n const languageContextError = useRedux ? reduxLanguageState.error : (propLanguageError || hookLanguageError);\n const isFallbackActive = useRedux ? reduxLanguageState.isFallbackActive : hookIsFallbackActive;\n const isRtl = useRedux ? reduxLanguageState.isRtl : hookIsRtl;\n\n const { pathname } = location;\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [logoutConfirmation, setLogoutConfirmation] = useState<boolean>(false);\n const [selectedModule, setSelectedModule] = useState<IModule | null>(null);\n const [erp_modules, setModules] = useState<IModule[]>([]);\n const [localLanguageError, setLocalLanguageError] = useState<string | null>(null);\n const [showModal, setShowModal] = useState(false);\n\n const u_data = localStorage.getItem(\"_u_data\") || undefined;\n const userData = u_data ? JSON.parse(u_data) : \"\";\n const isMenuOpen = Boolean(anchorEl);\n\n const handleLogoutConfirmation = () =>\n setLogoutConfirmation(!logoutConfirmation);\n\n const checkMatchedRoutes = useCallback(\n (paths: string[] | string) => {\n const shouldMatch: { path: string }[] = Array.isArray(paths)\n ? paths.map((path: string) => ({ path }))\n : [{ path: paths }];\n\n return Boolean(matchRoutes(shouldMatch, location));\n },\n [location],\n );\n\n const handleChangePasswordView = () => {\n setShowModal(true);\n }\n\n useEffect(() => {\n const moduleName = erp_modules.find(\n (module: IModule) =>\n module?.link?.toLowerCase() === pathname.toLowerCase() ||\n checkMatchedRoutes(module.connectedRoutes),\n );\n\n if (moduleName) {\n setSelectedModule(moduleName);\n }\n }, [pathname, erp_modules, checkMatchedRoutes]);\n\n useEffect(() => {\n setModules(modules(t));\n }, [t]);\n\n // Enhanced language change handler\n const onChangeLang = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const lang_code = e.target.value;\n\n // Clear any previous errors\n setLocalLanguageError(null);\n\n // Validate the language exists before changing\n if (!languages || languages.length === 0) {\n const errorMsg = t('header.language_not_available') || 'Languages not available';\n setLocalLanguageError(errorMsg);\n return;\n }\n\n const languageExists = languages.some((lang: ILanguage) => lang.code === lang_code);\n\n if (languageExists) {\n try {\n if (useRedux) {\n // Use Redux action (would need to be implemented in the slice)\n // dispatch(setCurrentLanguage({ code: lang_code, ... }));\n } else if (onLanguageChange) {\n onLanguageChange(lang_code);\n } else {\n hookChangeLanguage(lang_code);\n }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Failed to change language';\n setLocalLanguageError(errorMsg);\n }\n } else {\n const errorMsg = t('header.language_not_found', { language: lang_code }) ||\n `Selected language \"${lang_code}\" is not available`;\n setLocalLanguageError(errorMsg);\n }\n };\n\n // Retry language loading\n const handleRetryLanguages = async () => {\n setLocalLanguageError(null);\n try {\n if (useRedux && dispatch && reduxActions.fetchLanguages) {\n await dispatch(reduxActions.fetchLanguages());\n } else if (onFetchLanguages) {\n await onFetchLanguages();\n } else {\n await hookFetchLanguages();\n }\n } catch (error) {\n const errorMsg = 'Failed to reload languages';\n setLocalLanguageError(errorMsg);\n }\n };\n\n const handleProfileMenuOpen = (event: React.MouseEvent<HTMLElement>) =>\n setAnchorEl(event.currentTarget);\n\n const handleMenuClose = () => {\n setAnchorEl(null);\n };\n\n const handleChange = (event: any) => {\n const selectedLink = event.target.value;\n setTimeout(() => {\n navigate(selectedLink);\n }, 300);\n };\n\n const handleBackButton = () => {\n window.history.back();\n };\n\n // Get current language display value with fallback indication\n const getCurrentLanguageDisplay = (): string => {\n if (!currentLanguage) return t('header.select_language') || 'Select Language';\n\n // Show fallback indicator for better UX\n if (isFallbackActive || languageContextError) {\n return `${currentLanguage.label}`;\n }\n\n return currentLanguage.label;\n };\n\n // Create English fallback for consistent display\n const createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n });\n\n // Get languages for dropdown - ensure English is always available\n const getLanguagesForDropdown = (): ILanguage[] => {\n if (!languages || languages.length === 0) {\n // If no languages available, show only English\n return [createEnglishFallback()];\n }\n\n // Ensure English is in the list\n const hasEnglish = languages.some(lang => lang.code === 'en');\n if (!hasEnglish) {\n return [createEnglishFallback(), ...languages];\n }\n\n return languages;\n };\n\n // Render language selector based on different states\n const renderLanguageSelector = () => {\n const availableLanguages = getLanguagesForDropdown();\n const displayValue = currentLanguage?.code || 'en'; // Default to English\n\n // Loading state\n if (languagesLoading) {\n return (\n <Box className=\"language-loading\">\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Loading...'}\n </Typography>\n </Box>\n );\n }\n\n // Always show dropdown with at least English available\n return (\n <Select\n onChange={onChangeLang}\n size=\"small\"\n value={displayValue}\n renderValue={() => getCurrentLanguageDisplay()}\n error={!!localLanguageError}\n className={isFallbackActive || languageContextError ? 'language-fallback-active' : ''}\n >\n {availableLanguages.map(({ code, label }: ILanguage) => (\n <MenuItem key={code} value={code}>\n <Typography\n type=\"s4\"\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {label}\n </Typography>\n </MenuItem>\n ))}\n\n {/* Show retry option if there's an error */}\n {languageContextError && (\n <MenuItem onClick={handleRetryLanguages} style={{ fontStyle: 'italic' }}>\n <Typography\n type=\"s4\"\n weight=\"medium\"\n color=\"theme.secondary.500\"\n >\n 🔄 {t('header.retry_languages') || 'Retry loading languages'}\n </Typography>\n </MenuItem>\n )}\n </Select>\n );\n };\n\n const menuId = \"primary-search-account-menu\";\n const renderMenu = (\n <Menu\n className=\"main-profile-menu\"\n anchorEl={anchorEl}\n id={menuId}\n keepMounted\n open={isMenuOpen}\n onClose={handleMenuClose}\n >\n <MenuItem className=\"user-assigned\">\n <span>{t('common.assigned_roles') || 'Assigned roles'}</span>\n </MenuItem>\n <MenuItem className=\"user-data-wrap\" value={userData.role_id}>\n <ListItemIcon>\n <Avatar size={27} alt={userData.role_name} />\n </ListItemIcon>\n <ListItemText className=\"size15\">\n {userData.role_name}\n </ListItemText>\n <Typography variant=\"body2\" color=\"text.secondary\">\n <img src={images.tickicon} alt=\"Active\" />\n </Typography>\n </MenuItem>\n <Divider />\n <MenuItem\n className=\"user-assigned\"\n onClick={() => {\n handleChangePasswordView();\n setAnchorEl(null);\n }}\n >\n <ListItemIcon>\n <Eye fontSize=\"medium\" width={20} height={20} htmlColor=\"#292D32\" />\n </ListItemIcon>\n <ListItemText className=\"size15\">{t(\"common.change_password\")}</ListItemText>\n </MenuItem>\n <Divider />\n <MenuItem\n className=\"menu-item-color\"\n onClick={() => {\n handleLogoutConfirmation();\n setAnchorEl(null);\n }}\n >\n <ListItemIcon>\n <img src={images.logout} alt=\"logout\" />\n </ListItemIcon>\n <ListItemText className=\"size15\">{t(\"common.logout\")}</ListItemText>\n </MenuItem>\n </Menu>\n );\n\n const appLogo = getApiConfig().appLogo || images.logo\n\n return (\n <>\n <Box className=\"main-box\">\n {!isDropdownShow && (\n <Link to={user ? Pathname.DASHBOARD : Pathname.LOGIN}>\n <img src={appLogo} alt=\"logo\" height={55}/>\n </Link>\n )}\n <Box className=\"second-box\">\n {isDropdownShow && (\n <>\n <IconButton onClick={handleBackButton}>\n <KeyboardBackspaceIcon\n className={isRtl ? \"arrow-pointer_rtl\" : \"arrow-pointer\"}\n />\n </IconButton>\n <Box width={250}>\n <Select\n fullWidth\n placeholder=\"Placeholder\"\n size={\"small\"}\n value={selectedModule?.link || \"\"}\n onChange={handleChange}\n className=\"select-box\"\n variant=\"outlined\"\n renderValue={(value: string) => (\n <>\n {selectedModule ? (\n <Box className=\"selected-menu-box\">\n <img\n src={selectedModule.icon}\n alt={selectedModule.label}\n />\n {selectedModule.label}\n </Box>\n ) : (\n value\n )}\n </>\n )}\n >\n {erp_modules.map((module: any, index: number) => (\n <MenuItem\n className=\"select-box-menu-item\"\n value={module.link}\n key={index}\n >\n <img src={module.icon} alt={module.label} />\n {module.label}\n </MenuItem>\n ))}\n </Select>\n </Box>\n </>\n )}\n </Box>\n <Box className=\"header-right-wrap\">\n {/* Language Selector with Enhanced Fallback Support */}\n <Box className=\"language-selector-wrapper\">\n {renderLanguageSelector()}\n </Box>\n\n <NotificationMenu />\n <IconButton\n size=\"small\"\n aria-label=\"help\"\n className=\"p-0\"\n >\n <img src={logo.question} alt=\"question icon\" />\n </IconButton>\n <img src={logo.vdivider} alt=\"divider icon\" />\n {localStorage.getItem(\"_tid\") ? (\n <Box className=\"user-profile-box\" onClick={handleProfileMenuOpen}>\n <Avatar\n size={32}\n src={user?.profile_image ? `${config?.s3BucketUrl}${user?.profile_image}` : undefined}\n alt={formatText(user?.full_name)}\n className=\"avatar-class\"\n />\n <div>\n <Typography className=\"profile-name\">\n {user?.full_name}\n </Typography>\n <Typography className=\"user-auth\">\n {user?.role_name}\n </Typography>\n </div>\n </Box>\n ) : (\n <IconButton\n size=\"large\"\n edge=\"end\"\n aria-label=\"account of current user\"\n aria-controls={menuId}\n aria-haspopup=\"true\"\n component={Link}\n to={Pathname.LOGIN}\n color=\"inherit\"\n >\n <LockIcon className=\"icon-btn\" />\n </IconButton>\n )}\n </Box>\n {renderMenu}\n </Box>\n\n {/* Logout Confirmation Dialog */}\n <ConfirmPopUp\n open={logoutConfirmation}\n title={t(\"common.logout\")}\n description={t('common.logout_confirmation') || \"Are you sure, you want to logout?\"}\n onConfirm={() => logout()}\n onClose={handleLogoutConfirmation}\n fullWidth\n maxWidth=\"xs\"\n buttonTexts={{\n confirm: t(\"common.logout\"),\n cancel: t(\"common.cancel\"),\n }}\n />\n\n <ResetPasswordModal showModal={showModal} setShowModal={setShowModal} />\n </>\n );\n}\n\nexport default HeaderEnhanced;"],"names":["useNavigate","useTranslation","useLocation","useAuth","useAppSelector","useAppDispatch","fetchLanguages","useLanguage","getApiConfig","pathname","useState","useCallback","matchRoutes","useEffect","module","_a","modules","jsx","Box","Typography","jsxs","Select","MenuItem","Menu","ListItemIcon","Avatar","ListItemText","images","Divider","Eye","Fragment","Link","Pathname","IconButton","NotificationMenu","logo","formatText","ConfirmPopUp","ResetPasswordModal"],"mappings":"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"}
1
+ {"version":3,"file":"header-enhanced-gJl4iC4m.js","sources":["../../src/components/header/header-enhanced.tsx"],"sourcesContent":["// components/header/Header.tsx - Enhanced version with optional Redux support\nimport React, { useState, useEffect, useCallback } from \"react\";\nimport { Link, matchRoutes, useLocation, useNavigate } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport LockIcon from \"@mui/icons-material/Lock\";\nimport { IconButton } from \"@mui/material\";\nimport { MenuItem } from \"@mui/material\";\nimport { Menu } from \"@mui/material\";\nimport KeyboardBackspaceIcon from \"@mui/icons-material/KeyboardBackspace\";\nimport { ListItemText } from \"@mui/material\";\nimport { Divider } from \"@mui/material\";\nimport { ListItemIcon } from \"@mui/material\";\n\n// import { Pathname } from \"../../pathname\"; // Removed - should be passed as props\nimport Typography from \"../typography/typography\";\nimport logo, { images } from \"../../assets/images\";\nimport Select from \"../select/select\";\nimport modules from \"../../constants/modules\"; // Removed - should be passed as props\nimport Avatar from \"../avatar/avatar\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport ConfirmPopUp from \"../confirm-modal/confirm-modal\";\nimport formatText from \"../../utils/format-text\";\nimport { useLanguage } from '@erpsquad/common/runtime';\nimport { Eye } from \"../icons\";\nimport ResetPasswordModal from \"../reset-password-modal/reset-password-modal\";\nimport NotificationMenu from \"./components/notification-menu/notification-menu\";\nimport \"./header.scss\";\nimport { getApiConfig } from \"@/utils\";\nimport { Pathname } from \"@/constants\";\nimport { useAppSelector, useAppDispatch } from '../../redux/hooks';\nimport { fetchLanguages } from '../../redux/slices';\ninterface ILanguage {\n label: string;\n code: string;\n direction: string;\n}\n\ninterface IModule {\n label: any;\n link: string;\n sidebar: string;\n icon: string;\n permission: string;\n bg: string;\n connectedRoutes: string[];\n translationModule: string;\n}\n\n// Enhanced props interface\ninterface HeaderEnhancedProps {\n isDropdownShow?: boolean;\n\n // Language props (alternative to Redux)\n languages?: ILanguage[];\n currentLanguage?: ILanguage;\n languagesLoading?: boolean;\n languageError?: string;\n onLanguageChange?: (languageCode: string) => void;\n onFetchLanguages?: () => Promise<void>;\n\n // Redux integration (optional)\n useRedux?: boolean;\n}\n\nexport function HeaderEnhanced(props: HeaderEnhancedProps): React.ReactElement {\n const {\n isDropdownShow,\n\n // Non-Redux props\n languages: propLanguages = [],\n currentLanguage: propCurrentLanguage,\n languagesLoading: propLanguagesLoading = false,\n languageError: propLanguageError = \"\",\n onLanguageChange,\n onFetchLanguages,\n\n // Redux integration\n useRedux = false,\n } = props;\n\n const navigate = useNavigate();\n const { t } = useTranslation();\n const location = useLocation();\n const { logout, user } = useAuth();\n\n // Conditional Redux usage\n let reduxLanguageState = {\n languages: [],\n currentLanguage: { label: 'English', code: 'en', direction: 'ltr' },\n isLoading: false,\n error: '',\n isFallbackActive: false,\n isRtl: false\n };\n let dispatch: any = null;\n let reduxActions: any = {};\n\n if (useRedux) {\n try {\n // Redux hooks and actions (statically imported)\n\n const headerState = useAppSelector((store: any) => store.header || {});\n dispatch = useAppDispatch();\n reduxActions = { fetchLanguages };\n\n reduxLanguageState = {\n languages: headerState.languagesData?.data || [],\n currentLanguage: headerState.currentLanguage || reduxLanguageState.currentLanguage,\n isLoading: headerState.languagesData?.isLoading || false,\n error: headerState.languagesData?.error || '',\n isFallbackActive: false, // This would need to be computed\n isRtl: headerState.currentLanguage?.direction === 'rtl'\n };\n } catch (error) {\n console.warn(\"Redux not available for Header, falling back to prop-based data\");\n }\n }\n\n // Use Redux data if available, otherwise use props or useLanguage hook\n const {\n languages: hookLanguages,\n currentLanguage: hookCurrentLanguage,\n changeLanguage: hookChangeLanguage,\n isLoading: hookLanguagesLoading,\n error: hookLanguageError,\n isFallbackActive: hookIsFallbackActive,\n fetchLanguages: hookFetchLanguages,\n isRtl: hookIsRtl\n } = useLanguage();\n const config = getApiConfig()\n\n // Determine which data source to use\n const languages = useRedux ? reduxLanguageState.languages : (propLanguages.length > 0 ? propLanguages : hookLanguages);\n const currentLanguage = useRedux ? reduxLanguageState.currentLanguage : (propCurrentLanguage || hookCurrentLanguage);\n const languagesLoading = useRedux ? reduxLanguageState.isLoading : (propLanguagesLoading || hookLanguagesLoading);\n const languageContextError = useRedux ? reduxLanguageState.error : (propLanguageError || hookLanguageError);\n const isFallbackActive = useRedux ? reduxLanguageState.isFallbackActive : hookIsFallbackActive;\n const isRtl = useRedux ? reduxLanguageState.isRtl : hookIsRtl;\n\n const { pathname } = location;\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const [logoutConfirmation, setLogoutConfirmation] = useState<boolean>(false);\n const [selectedModule, setSelectedModule] = useState<IModule | null>(null);\n const [erp_modules, setModules] = useState<IModule[]>([]);\n const [localLanguageError, setLocalLanguageError] = useState<string | null>(null);\n const [showModal, setShowModal] = useState(false);\n\n const u_data = localStorage.getItem(\"_u_data\") || undefined;\n const userData = u_data ? JSON.parse(u_data) : \"\";\n const isMenuOpen = Boolean(anchorEl);\n\n const handleLogoutConfirmation = () =>\n setLogoutConfirmation(!logoutConfirmation);\n\n const checkMatchedRoutes = useCallback(\n (paths: string[] | string) => {\n const shouldMatch: { path: string }[] = Array.isArray(paths)\n ? paths.map((path: string) => ({ path }))\n : [{ path: paths }];\n\n return Boolean(matchRoutes(shouldMatch, location));\n },\n [location],\n );\n\n const handleChangePasswordView = () => {\n setShowModal(true);\n }\n\n useEffect(() => {\n const moduleName = erp_modules.find(\n (module: IModule) =>\n module?.link?.toLowerCase() === pathname.toLowerCase() ||\n checkMatchedRoutes(module.connectedRoutes),\n );\n\n if (moduleName) {\n setSelectedModule(moduleName);\n }\n }, [pathname, erp_modules, checkMatchedRoutes]);\n\n useEffect(() => {\n setModules(modules(t));\n }, [t]);\n\n // Enhanced language change handler\n const onChangeLang = (e: React.ChangeEvent<HTMLSelectElement>) => {\n const lang_code = e.target.value;\n\n // Clear any previous errors\n setLocalLanguageError(null);\n\n // Validate the language exists before changing\n if (!languages || languages.length === 0) {\n const errorMsg = t('header.language_not_available') || 'Languages not available';\n setLocalLanguageError(errorMsg);\n return;\n }\n\n const languageExists = languages.some((lang: ILanguage) => lang.code === lang_code);\n\n if (languageExists) {\n try {\n if (useRedux) {\n // Use Redux action (would need to be implemented in the slice)\n // dispatch(setCurrentLanguage({ code: lang_code, ... }));\n } else if (onLanguageChange) {\n onLanguageChange(lang_code);\n } else {\n hookChangeLanguage(lang_code);\n }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : 'Failed to change language';\n setLocalLanguageError(errorMsg);\n }\n } else {\n const errorMsg = t('header.language_not_found', { language: lang_code }) ||\n `Selected language \"${lang_code}\" is not available`;\n setLocalLanguageError(errorMsg);\n }\n };\n\n // Retry language loading\n const handleRetryLanguages = async () => {\n setLocalLanguageError(null);\n try {\n if (useRedux && dispatch && reduxActions.fetchLanguages) {\n await dispatch(reduxActions.fetchLanguages());\n } else if (onFetchLanguages) {\n await onFetchLanguages();\n } else {\n await hookFetchLanguages();\n }\n } catch (error) {\n const errorMsg = 'Failed to reload languages';\n setLocalLanguageError(errorMsg);\n }\n };\n\n const handleProfileMenuOpen = (event: React.MouseEvent<HTMLElement>) =>\n setAnchorEl(event.currentTarget);\n\n const handleMenuClose = () => {\n setAnchorEl(null);\n };\n\n const handleChange = (event: any) => {\n const selectedLink = event.target.value;\n setTimeout(() => {\n navigate(selectedLink);\n }, 300);\n };\n\n const handleBackButton = () => {\n window.history.back();\n };\n\n // Get current language display value with fallback indication\n const getCurrentLanguageDisplay = (): string => {\n if (!currentLanguage) return t('header.select_language') || 'Select Language';\n\n // Show fallback indicator for better UX\n if (isFallbackActive || languageContextError) {\n return `${currentLanguage.label}`;\n }\n\n return currentLanguage.label;\n };\n\n // Create English fallback for consistent display\n const createEnglishFallback = (): ILanguage => ({\n code: 'en',\n label: 'English',\n direction: 'ltr'\n });\n\n // Get languages for dropdown - ensure English is always available\n const getLanguagesForDropdown = (): ILanguage[] => {\n if (!languages || languages.length === 0) {\n // If no languages available, show only English\n return [createEnglishFallback()];\n }\n\n // Ensure English is in the list\n const hasEnglish = languages.some(lang => lang.code === 'en');\n if (!hasEnglish) {\n return [createEnglishFallback(), ...languages];\n }\n\n return languages;\n };\n\n // Render language selector based on different states\n const renderLanguageSelector = () => {\n const availableLanguages = getLanguagesForDropdown();\n const displayValue = currentLanguage?.code || 'en'; // Default to English\n\n // Loading state\n if (languagesLoading) {\n return (\n <Box className=\"language-loading\">\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Loading...'}\n </Typography>\n </Box>\n );\n }\n\n // Always show dropdown with at least English available\n return (\n <Select\n onChange={onChangeLang}\n size=\"small\"\n value={displayValue}\n renderValue={() => getCurrentLanguageDisplay()}\n error={!!localLanguageError}\n className={isFallbackActive || languageContextError ? 'language-fallback-active' : ''}\n >\n {availableLanguages.map(({ code, label }: ILanguage) => (\n <MenuItem key={code} value={code}>\n <Typography\n type=\"s4\"\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {label}\n </Typography>\n </MenuItem>\n ))}\n\n {/* Show retry option if there's an error */}\n {languageContextError && (\n <MenuItem onClick={handleRetryLanguages} style={{ fontStyle: 'italic' }}>\n <Typography\n type=\"s4\"\n weight=\"medium\"\n color=\"theme.secondary.500\"\n >\n 🔄 {t('header.retry_languages') || 'Retry loading languages'}\n </Typography>\n </MenuItem>\n )}\n </Select>\n );\n };\n\n const menuId = \"primary-search-account-menu\";\n const renderMenu = (\n <Menu\n className=\"main-profile-menu\"\n anchorEl={anchorEl}\n id={menuId}\n keepMounted\n open={isMenuOpen}\n onClose={handleMenuClose}\n >\n <MenuItem className=\"user-assigned\">\n <span>{t('common.assigned_roles') || 'Assigned roles'}</span>\n </MenuItem>\n <MenuItem className=\"user-data-wrap\" value={userData.role_id}>\n <ListItemIcon>\n <Avatar size={27} alt={userData.role_name} />\n </ListItemIcon>\n <ListItemText className=\"size15\">\n {userData.role_name}\n </ListItemText>\n <Typography variant=\"body2\" color=\"text.secondary\">\n <img src={images.tickicon} alt=\"Active\" />\n </Typography>\n </MenuItem>\n <Divider />\n <MenuItem\n className=\"user-assigned\"\n onClick={() => {\n handleChangePasswordView();\n setAnchorEl(null);\n }}\n >\n <ListItemIcon>\n <Eye fontSize=\"medium\" width={20} height={20} htmlColor=\"#292D32\" />\n </ListItemIcon>\n <ListItemText className=\"size15\">{t(\"common.change_password\")}</ListItemText>\n </MenuItem>\n <Divider />\n <MenuItem\n className=\"menu-item-color\"\n onClick={() => {\n handleLogoutConfirmation();\n setAnchorEl(null);\n }}\n >\n <ListItemIcon>\n <img src={images.logout} alt=\"logout\" />\n </ListItemIcon>\n <ListItemText className=\"size15\">{t(\"common.logout\")}</ListItemText>\n </MenuItem>\n </Menu>\n );\n\n const appLogo = getApiConfig().appLogo || images.logo\n\n return (\n <>\n <Box className=\"main-box\">\n {!isDropdownShow && (\n <Link to={user ? Pathname.DASHBOARD : Pathname.LOGIN}>\n <img src={appLogo} alt=\"logo\" height={55}/>\n </Link>\n )}\n <Box className=\"second-box\">\n {isDropdownShow && (\n <>\n <IconButton onClick={handleBackButton}>\n <KeyboardBackspaceIcon\n className={isRtl ? \"arrow-pointer_rtl\" : \"arrow-pointer\"}\n />\n </IconButton>\n <Box width={250}>\n <Select\n fullWidth\n placeholder=\"Placeholder\"\n size={\"small\"}\n value={selectedModule?.link || \"\"}\n onChange={handleChange}\n className=\"select-box\"\n variant=\"outlined\"\n renderValue={(value: string) => (\n <>\n {selectedModule ? (\n <Box className=\"selected-menu-box\">\n <img\n src={selectedModule.icon}\n alt={selectedModule.label}\n />\n {selectedModule.label}\n </Box>\n ) : (\n value\n )}\n </>\n )}\n >\n {erp_modules.map((module: any, index: number) => (\n <MenuItem\n className=\"select-box-menu-item\"\n value={module.link}\n key={index}\n >\n <img src={module.icon} alt={module.label} />\n {module.label}\n </MenuItem>\n ))}\n </Select>\n </Box>\n </>\n )}\n </Box>\n <Box className=\"header-right-wrap\">\n {/* Language Selector with Enhanced Fallback Support */}\n <Box className=\"language-selector-wrapper\">\n {renderLanguageSelector()}\n </Box>\n\n <NotificationMenu />\n <IconButton\n size=\"small\"\n aria-label=\"help\"\n className=\"p-0\"\n >\n <img src={logo.question} alt=\"question icon\" />\n </IconButton>\n <img src={logo.vdivider} alt=\"divider icon\" />\n {localStorage.getItem(\"_tid\") ? (\n <Box className=\"user-profile-box\" onClick={handleProfileMenuOpen}>\n <Avatar\n size={32}\n src={user?.profile_image ? `${config?.s3BucketUrl}${user?.profile_image}` : undefined}\n alt={formatText(user?.full_name)}\n className=\"avatar-class\"\n />\n <div>\n <Typography className=\"profile-name\">\n {user?.full_name}\n </Typography>\n <Typography className=\"user-auth\">\n {user?.role_name}\n </Typography>\n </div>\n </Box>\n ) : (\n <IconButton\n size=\"large\"\n edge=\"end\"\n aria-label=\"account of current user\"\n aria-controls={menuId}\n aria-haspopup=\"true\"\n component={Link}\n to={Pathname.LOGIN}\n color=\"inherit\"\n >\n <LockIcon className=\"icon-btn\" />\n </IconButton>\n )}\n </Box>\n {renderMenu}\n </Box>\n\n {/* Logout Confirmation Dialog */}\n <ConfirmPopUp\n open={logoutConfirmation}\n title={t(\"common.logout\")}\n description={t('common.logout_confirmation') || \"Are you sure, you want to logout?\"}\n onConfirm={() => logout()}\n onClose={handleLogoutConfirmation}\n fullWidth\n maxWidth=\"xs\"\n buttonTexts={{\n confirm: t(\"common.logout\"),\n cancel: t(\"common.cancel\"),\n }}\n />\n\n <ResetPasswordModal showModal={showModal} setShowModal={setShowModal} />\n </>\n );\n}\n\nexport default HeaderEnhanced;"],"names":["useNavigate","useTranslation","useLocation","useAuth","useAppSelector","useAppDispatch","fetchLanguages","useLanguage","getApiConfig","pathname","useState","useCallback","matchRoutes","useEffect","module","_a","modules","jsx","Box","Typography","jsxs","Select","MenuItem","Menu","ListItemIcon","Avatar","ListItemText","images","Divider","Eye","Fragment","Link","Pathname","IconButton","NotificationMenu","logo","formatText","ConfirmPopUp","ResetPasswordModal"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import "./api-CZGorfuI.esm.js";
2
- import "./api-yLpQ3k5s.esm.js";
2
+ import "./api-DBmWILBN.esm.js";
3
3
  let baseUrl = "";
4
4
  let defaultHeaders = {};
5
5
  function sanitizeUrl(url) {
@@ -547,4 +547,4 @@ export {
547
547
  postV1Drive as p,
548
548
  setBaseUrl as s
549
549
  };
550
- //# sourceMappingURL=index-BCmGHdos.esm.js.map
550
+ //# sourceMappingURL=index-ALqg8b5U.esm.js.map