@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.
- package/dist/api-client/index.esm.js +2 -2
- package/dist/chunks/{DynamicDependentField-DOGY6cA_.esm.js → DynamicDependentField-C0XXmMlG.esm.js} +2 -2
- package/dist/chunks/{DynamicDependentField-DOGY6cA_.esm.js.map → DynamicDependentField-C0XXmMlG.esm.js.map} +1 -1
- package/dist/chunks/{DynamicDependentField-GTIwrPfP.js → DynamicDependentField-CQIfDDqc.js} +2 -2
- package/dist/chunks/{DynamicDependentField-GTIwrPfP.js.map → DynamicDependentField-CQIfDDqc.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-Dz0s77BR.esm.js → ERPUIProvider-I4j_X_SD.esm.js} +3 -3
- package/dist/chunks/{ERPUIProvider-Dz0s77BR.esm.js.map → ERPUIProvider-I4j_X_SD.esm.js.map} +1 -1
- package/dist/chunks/{FORMS-EouVYay1.js → FORMS-CUx32b_4.js} +5 -5
- package/dist/chunks/{FORMS-EouVYay1.js.map → FORMS-CUx32b_4.js.map} +1 -1
- package/dist/chunks/{FORMS-CR_DlD1m.esm.js → FORMS-pxf6g6xE.esm.js} +8 -8
- package/dist/chunks/{FORMS-CR_DlD1m.esm.js.map → FORMS-pxf6g6xE.esm.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample-CMUylyy1.js → FlexibleReduxExample--GtoEJhc.js} +3 -3
- package/dist/chunks/{FlexibleReduxExample-CMUylyy1.js.map → FlexibleReduxExample--GtoEJhc.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample-B2e7Wa_S.esm.js → FlexibleReduxExample-C-2qOGIw.esm.js} +4 -4
- package/dist/chunks/{FlexibleReduxExample-B2e7Wa_S.esm.js.map → FlexibleReduxExample-C-2qOGIw.esm.js.map} +1 -1
- package/dist/chunks/SectionFlowEditor-CFfJBYKx.esm.js +5479 -0
- package/dist/chunks/SectionFlowEditor-CFfJBYKx.esm.js.map +1 -0
- package/dist/chunks/SectionFlowEditor-sKsZ3oQo.js +5478 -0
- package/dist/chunks/SectionFlowEditor-sKsZ3oQo.js.map +1 -0
- package/dist/chunks/{action-bar-Ci6RlMBM.esm.js → action-bar-C7Alva4T.esm.js} +6 -6
- package/dist/chunks/{action-bar-Ci6RlMBM.esm.js.map → action-bar-C7Alva4T.esm.js.map} +1 -1
- package/dist/chunks/{action-bar-jLqQTqU7.js → action-bar-DdtpxWNk.js} +3 -3
- package/dist/chunks/{action-bar-jLqQTqU7.js.map → action-bar-DdtpxWNk.js.map} +1 -1
- package/dist/chunks/{actionCreator-DIdMRO9L.esm.js → actionCreator-CL5ICuqZ.esm.js} +2 -2
- package/dist/chunks/{actionCreator-DIdMRO9L.esm.js.map → actionCreator-CL5ICuqZ.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-DKYufGAZ.esm.js → actionCreator-Cb3NxILP.esm.js} +2 -2
- package/dist/chunks/{actionCreator-DKYufGAZ.esm.js.map → actionCreator-Cb3NxILP.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-D3uwEAua.esm.js → actionCreator-Cl8vPLVO.esm.js} +3 -3
- package/dist/chunks/{actionCreator-D3uwEAua.esm.js.map → actionCreator-Cl8vPLVO.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-B6lXR_k1.esm.js → actionCreator-CpePNxQM.esm.js} +2 -2
- package/dist/chunks/{actionCreator-B6lXR_k1.esm.js.map → actionCreator-CpePNxQM.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-DcdyGsIX.esm.js → actionCreator-Dar9Z8_d.esm.js} +3 -3
- package/dist/chunks/{actionCreator-DcdyGsIX.esm.js.map → actionCreator-Dar9Z8_d.esm.js.map} +1 -1
- package/dist/chunks/add-template-DVvbD9a4.esm.js +11 -0
- package/dist/chunks/add-template-DVvbD9a4.esm.js.map +1 -0
- package/dist/chunks/add-template-Dohg2bHJ.js +10 -0
- package/dist/chunks/add-template-Dohg2bHJ.js.map +1 -0
- package/dist/chunks/{address-modal-DFd5sQtR.js → address-modal-CYhiC7ui.js} +2 -2
- package/dist/chunks/{address-modal-DFd5sQtR.js.map → address-modal-CYhiC7ui.js.map} +1 -1
- package/dist/chunks/{address-modal-DYGLjrqd.esm.js → address-modal-CkDBjnye.esm.js} +2 -2
- package/dist/chunks/{address-modal-DYGLjrqd.esm.js.map → address-modal-CkDBjnye.esm.js.map} +1 -1
- package/dist/chunks/{ai-summary-x2t8BZCx.esm.js → ai-summary-SKK5KN2s.esm.js} +2 -2
- package/dist/chunks/{ai-summary-x2t8BZCx.esm.js.map → ai-summary-SKK5KN2s.esm.js.map} +1 -1
- package/dist/chunks/{api-8jutPLh0.esm.js → api-BIVCMSwW.esm.js} +3 -3
- package/dist/chunks/{api-8jutPLh0.esm.js.map → api-BIVCMSwW.esm.js.map} +1 -1
- package/dist/chunks/{api-yLpQ3k5s.esm.js → api-DBmWILBN.esm.js} +9 -9
- package/dist/chunks/{api-yLpQ3k5s.esm.js.map → api-DBmWILBN.esm.js.map} +1 -1
- package/dist/chunks/{app-switcher-VhH9z0Rd.js → app-switcher-CyEQmYAN.js} +2 -2
- package/dist/chunks/{app-switcher-VhH9z0Rd.js.map → app-switcher-CyEQmYAN.js.map} +1 -1
- package/dist/chunks/{app-switcher-B6eapuGG.esm.js → app-switcher-D-Bvz9uO.esm.js} +2 -2
- package/dist/chunks/{app-switcher-B6eapuGG.esm.js.map → app-switcher-D-Bvz9uO.esm.js.map} +1 -1
- package/dist/chunks/{appbar-B8EgZsrn.esm.js → appbar-BRbO--as.esm.js} +2 -2
- package/dist/chunks/{appbar-B8EgZsrn.esm.js.map → appbar-BRbO--as.esm.js.map} +1 -1
- package/dist/chunks/{appbar-Is_7kfVo.js → appbar-rqqjZ99v.js} +2 -2
- package/dist/chunks/{appbar-Is_7kfVo.js.map → appbar-rqqjZ99v.js.map} +1 -1
- package/dist/chunks/{approval-wrapper-_kYfACQp.esm.js → approval-wrapper-BTtmXMlk.esm.js} +2 -2
- package/dist/chunks/{approval-wrapper-_kYfACQp.esm.js.map → approval-wrapper-BTtmXMlk.esm.js.map} +1 -1
- package/dist/chunks/{chat-bot-DO3vAGxA.esm.js → chat-bot-BpNtrZEL.esm.js} +39 -33
- package/dist/chunks/chat-bot-BpNtrZEL.esm.js.map +1 -0
- package/dist/chunks/{chat-bot-2Ga_xA_K.js → chat-bot-osiGMG3g.js} +38 -32
- package/dist/chunks/chat-bot-osiGMG3g.js.map +1 -0
- package/dist/chunks/common-C5AokA7z.js +368 -0
- package/dist/chunks/common-C5AokA7z.js.map +1 -0
- package/dist/chunks/{common-PH2uWkqL.js → common-CS5L0Ld_.js} +2 -2
- package/dist/chunks/{common-PH2uWkqL.js.map → common-CS5L0Ld_.js.map} +1 -1
- package/dist/chunks/common-CaomnEjX.esm.js +369 -0
- package/dist/chunks/common-CaomnEjX.esm.js.map +1 -0
- package/dist/chunks/common-utility-CA_Upser.js.map +1 -1
- package/dist/chunks/{common-utility-CS_sNoAC.esm.js → common-utility-DGpbsf7S.esm.js} +2 -2
- package/dist/chunks/common-utility-DGpbsf7S.esm.js.map +1 -0
- package/dist/chunks/{common-Cl5oGXmX.esm.js → common-yORBIVv-.esm.js} +2 -2
- package/dist/chunks/{common-Cl5oGXmX.esm.js.map → common-yORBIVv-.esm.js.map} +1 -1
- package/dist/chunks/company-selection-modal-B7jFVWWs.js.map +1 -1
- package/dist/chunks/company-selection-modal-Dn2L_skh.esm.js.map +1 -1
- package/dist/chunks/{constant-BXPcBhJN.esm.js → constant-Bwg2s_Sn.esm.js} +5 -35
- package/dist/chunks/constant-Bwg2s_Sn.esm.js.map +1 -0
- package/dist/chunks/{constant-BXeJD4Af.js → constant-ZYAN_teD.js} +5 -35
- package/dist/chunks/constant-ZYAN_teD.js.map +1 -0
- package/dist/chunks/{constants-D_xuLHSu.js → constants-06kIVUBw.js} +2 -2
- package/dist/chunks/{constants-D_xuLHSu.js.map → constants-06kIVUBw.js.map} +1 -1
- package/dist/chunks/{constants-BrmMAwu2.esm.js → constants-nmkxkzps.esm.js} +2 -2
- package/dist/chunks/{constants-BrmMAwu2.esm.js.map → constants-nmkxkzps.esm.js.map} +1 -1
- package/dist/chunks/{custom-editor-C-B5BK-H.esm.js → custom-editor-6-xqhKz6.esm.js} +3 -3
- package/dist/chunks/{custom-editor-C-B5BK-H.esm.js.map → custom-editor-6-xqhKz6.esm.js.map} +1 -1
- package/dist/chunks/{custom-form-T4yc_sE_.js → custom-form-CFU7NEVb.js} +4 -4
- package/dist/chunks/{custom-form-T4yc_sE_.js.map → custom-form-CFU7NEVb.js.map} +1 -1
- package/dist/chunks/{custom-form-DNUpk0nq.esm.js → custom-form-DD7YOHMF.esm.js} +7 -7
- package/dist/chunks/{custom-form-DNUpk0nq.esm.js.map → custom-form-DD7YOHMF.esm.js.map} +1 -1
- package/dist/chunks/{dashboard-eMHQayU_.js → dashboard-BcWVkWZt.js} +3 -3
- package/dist/chunks/{dashboard-eMHQayU_.js.map → dashboard-BcWVkWZt.js.map} +1 -1
- package/dist/chunks/{dashboard-B4xzJ1Xc.esm.js → dashboard-DL83yYRR.esm.js} +4 -4
- package/dist/chunks/{dashboard-B4xzJ1Xc.esm.js.map → dashboard-DL83yYRR.esm.js.map} +1 -1
- package/dist/chunks/default-data-6IxhqPTP.esm.js.map +1 -1
- package/dist/chunks/default-data-yreKVx_z.js.map +1 -1
- package/dist/chunks/{dynamic-report-CMguvXj2.esm.js → dynamic-report-tKn-KqAd.esm.js} +4 -4
- package/dist/chunks/{dynamic-report-CMguvXj2.esm.js.map → dynamic-report-tKn-KqAd.esm.js.map} +1 -1
- package/dist/chunks/{dynamic-rows-CmAE9nbA.esm.js → dynamic-rows-CTGETfcP.esm.js} +2 -2
- package/dist/chunks/{dynamic-rows-CmAE9nbA.esm.js.map → dynamic-rows-CTGETfcP.esm.js.map} +1 -1
- package/dist/chunks/{dynamic-text-editor-CSWdR1lK.esm.js → dynamic-text-editor-CPvlGcLK.esm.js} +2 -2
- package/dist/chunks/{dynamic-text-editor-CSWdR1lK.esm.js.map → dynamic-text-editor-CPvlGcLK.esm.js.map} +1 -1
- package/dist/chunks/{edit-section-modal-HihKbN6K.esm.js → edit-section-modal-BW-aZmUv.esm.js} +2 -2
- package/dist/chunks/edit-section-modal-BW-aZmUv.esm.js.map +1 -0
- package/dist/chunks/edit-section-modal-Br2ITvLk.js.map +1 -1
- package/dist/chunks/{filter-D9BHP_qc.esm.js → filter-COXKBEER.esm.js} +5 -5
- package/dist/chunks/{filter-D9BHP_qc.esm.js.map → filter-COXKBEER.esm.js.map} +1 -1
- package/dist/chunks/{filter-DtCrOG6W.js → filter-Cr_OSIpb.js} +3 -3
- package/dist/chunks/{filter-DtCrOG6W.js.map → filter-Cr_OSIpb.js.map} +1 -1
- package/dist/chunks/{footer-DioOh69g.js → footer-CD3kMRdS.js} +2 -2
- package/dist/chunks/{footer-DioOh69g.js.map → footer-CD3kMRdS.js.map} +1 -1
- package/dist/chunks/{footer-Bv5NOAf9.esm.js → footer-m3_dlNl8.esm.js} +2 -2
- package/dist/chunks/{footer-Bv5NOAf9.esm.js.map → footer-m3_dlNl8.esm.js.map} +1 -1
- package/dist/chunks/{form-fields-Di-p9XKG.esm.js → form-fields-hMMnB_wE.esm.js} +2 -2
- package/dist/chunks/{form-fields-Di-p9XKG.esm.js.map → form-fields-hMMnB_wE.esm.js.map} +1 -1
- package/dist/chunks/{form-fields-BYDhbAgB.js → form-fields-yE9kwjvb.js} +2 -2
- package/dist/chunks/{form-fields-BYDhbAgB.js.map → form-fields-yE9kwjvb.js.map} +1 -1
- package/dist/chunks/{form-parser-ZQpEVrzG.esm.js → form-parser-DbnSn5eY.esm.js} +2 -2
- package/dist/chunks/{form-parser-ZQpEVrzG.esm.js.map → form-parser-DbnSn5eY.esm.js.map} +1 -1
- package/dist/chunks/{form-parser-BnMdMDSb.js → form-parser-m4fnw38a.js} +2 -2
- package/dist/chunks/{form-parser-BnMdMDSb.js.map → form-parser-m4fnw38a.js.map} +1 -1
- package/dist/chunks/{form-section-CFeWD-tF.js → form-section-CPIyMdk2.js} +5 -5
- package/dist/chunks/{form-section-CFeWD-tF.js.map → form-section-CPIyMdk2.js.map} +1 -1
- package/dist/chunks/{form-section-BJ7Iqb9R.esm.js → form-section-TMjdOVeW.esm.js} +5 -5
- package/dist/chunks/{form-section-BJ7Iqb9R.esm.js.map → form-section-TMjdOVeW.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-h0JqBN4O.js → fullScreen-BLLa9ogA.js} +5 -5
- package/dist/chunks/fullScreen-BLLa9ogA.js.map +1 -0
- package/dist/chunks/{fullScreen-Cz3FIdU4.esm.js → fullScreen-DFgzE41_.esm.js} +5 -5
- package/dist/chunks/fullScreen-DFgzE41_.esm.js.map +1 -0
- package/dist/chunks/{global-search-CGmupYFQ.esm.js → global-search-BOkxXiZ0.esm.js} +3 -3
- package/dist/chunks/{global-search-CGmupYFQ.esm.js.map → global-search-BOkxXiZ0.esm.js.map} +1 -1
- package/dist/chunks/{global-search-BTV5iL6-.js → global-search-BjKPmzsQ.js} +2 -2
- package/dist/chunks/{global-search-BTV5iL6-.js.map → global-search-BjKPmzsQ.js.map} +1 -1
- package/dist/chunks/{grid-view-BMfleQMC.esm.js → grid-view-Bo86x7YL.esm.js} +2 -2
- package/dist/chunks/{grid-view-BMfleQMC.esm.js.map → grid-view-Bo86x7YL.esm.js.map} +1 -1
- package/dist/chunks/{header-BnVzqpGs.esm.js → header-B-HaoeK7.esm.js} +10 -12
- package/dist/chunks/{header-BnVzqpGs.esm.js.map → header-B-HaoeK7.esm.js.map} +1 -1
- package/dist/chunks/{header-jWPMgcy6.js → header-BHsex2As.js} +9 -11
- package/dist/chunks/{header-jWPMgcy6.js.map → header-BHsex2As.js.map} +1 -1
- package/dist/chunks/{header-enhanced-CkROCaOF.esm.js → header-enhanced-BjfqyQ1a.esm.js} +3 -3
- package/dist/chunks/{header-enhanced-CkROCaOF.esm.js.map → header-enhanced-BjfqyQ1a.esm.js.map} +1 -1
- package/dist/chunks/{header-enhanced-Dxdetx0I.js → header-enhanced-gJl4iC4m.js} +3 -3
- package/dist/chunks/{header-enhanced-Dxdetx0I.js.map → header-enhanced-gJl4iC4m.js.map} +1 -1
- package/dist/chunks/{index-BCmGHdos.esm.js → index-ALqg8b5U.esm.js} +2 -2
- package/dist/chunks/{index-BCmGHdos.esm.js.map → index-ALqg8b5U.esm.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-VOIx3qmC.esm.js → inline-edit-fields-BYhRpPcH.esm.js} +2 -2
- package/dist/chunks/{inline-edit-fields-VOIx3qmC.esm.js.map → inline-edit-fields-BYhRpPcH.esm.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-Cd_qUOjU.js → inline-edit-fields-atDP84QL.js} +2 -2
- package/dist/chunks/{inline-edit-fields-Cd_qUOjU.js.map → inline-edit-fields-atDP84QL.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-BfUMM54c.js → inventory-reports-title-bar-Bog2i0dr.js} +2 -2
- package/dist/chunks/{inventory-reports-title-bar-BfUMM54c.js.map → inventory-reports-title-bar-Bog2i0dr.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-CZZFFqDc.esm.js → inventory-reports-title-bar-CP8FzW6A.esm.js} +3 -3
- package/dist/chunks/{inventory-reports-title-bar-CZZFFqDc.esm.js.map → inventory-reports-title-bar-CP8FzW6A.esm.js.map} +1 -1
- package/dist/chunks/{item-response-details-BheThTTK.js → item-response-details-DsGQ7Dlc.js} +2 -2
- package/dist/chunks/{item-response-details-BheThTTK.js.map → item-response-details-DsGQ7Dlc.js.map} +1 -1
- package/dist/chunks/{item-response-details-BTHf6ZvN.esm.js → item-response-details-SHSD-nBh.esm.js} +4 -4
- package/dist/chunks/{item-response-details-BTHf6ZvN.esm.js.map → item-response-details-SHSD-nBh.esm.js.map} +1 -1
- package/dist/chunks/{listing-ELQeM6S3.esm.js → listing-C0Yb6MVq.esm.js} +4 -4
- package/dist/chunks/{listing-ELQeM6S3.esm.js.map → listing-C0Yb6MVq.esm.js.map} +1 -1
- package/dist/chunks/{listing-Dr_1DDBr.js → listing-DIuzQrzb.js} +4 -4
- package/dist/chunks/{listing-Dr_1DDBr.js.map → listing-DIuzQrzb.js.map} +1 -1
- package/dist/chunks/{location-select-z1C88kCy.esm.js → location-select-CFa00fy4.esm.js} +2 -2
- package/dist/chunks/{location-select-z1C88kCy.esm.js.map → location-select-CFa00fy4.esm.js.map} +1 -1
- package/dist/chunks/{location-select-CLyRUilk.js → location-select-g5uczAUF.js} +2 -2
- package/dist/chunks/{location-select-CLyRUilk.js.map → location-select-g5uczAUF.js.map} +1 -1
- package/dist/chunks/{material-editable-table-DFGB0q-s.js → material-editable-table-BGLjrTzT.js} +3 -3
- package/dist/chunks/{material-editable-table-DFGB0q-s.js.map → material-editable-table-BGLjrTzT.js.map} +1 -1
- package/dist/chunks/{material-editable-table-DyGdqNkX.esm.js → material-editable-table-pAyK7KYf.esm.js} +4 -4
- package/dist/chunks/{material-editable-table-DyGdqNkX.esm.js.map → material-editable-table-pAyK7KYf.esm.js.map} +1 -1
- package/dist/chunks/{module-reducer-CEv3LZCX.esm.js → module-reducer-DMxxForv.esm.js} +2 -2
- package/dist/chunks/{module-reducer-CEv3LZCX.esm.js.map → module-reducer-DMxxForv.esm.js.map} +1 -1
- package/dist/chunks/{modules-enwLrpfQ.esm.js → modules-BBu2Y-K9.esm.js} +5 -5
- package/dist/chunks/{modules-enwLrpfQ.esm.js.map → modules-BBu2Y-K9.esm.js.map} +1 -1
- package/dist/chunks/{modules-DTRr7zwt.js → modules-maXT99-4.js} +5 -5
- package/dist/chunks/{modules-DTRr7zwt.js.map → modules-maXT99-4.js.map} +1 -1
- package/dist/chunks/{notification-menu-B00hDUbn.js → notification-menu-D7ASm-K1.js} +2 -2
- package/dist/chunks/{notification-menu-B00hDUbn.js.map → notification-menu-D7ASm-K1.js.map} +1 -1
- package/dist/chunks/{notification-menu-CehCt5fA.esm.js → notification-menu-XAadkn-e.esm.js} +4 -4
- package/dist/chunks/{notification-menu-CehCt5fA.esm.js.map → notification-menu-XAadkn-e.esm.js.map} +1 -1
- package/dist/chunks/{page-action-TMFOytDw.js → page-action-BPzaL2KJ.js} +2 -2
- package/dist/chunks/{page-action-TMFOytDw.js.map → page-action-BPzaL2KJ.js.map} +1 -1
- package/dist/chunks/{page-action-RqVevciV.esm.js → page-action-C07iGjvN.esm.js} +4 -4
- package/dist/chunks/{page-action-RqVevciV.esm.js.map → page-action-C07iGjvN.esm.js.map} +1 -1
- package/dist/chunks/{page-navigator-CuIJ0KGf.esm.js → page-navigator-8gZpp9_P.esm.js} +2 -2
- package/dist/chunks/{page-navigator-CuIJ0KGf.esm.js.map → page-navigator-8gZpp9_P.esm.js.map} +1 -1
- package/dist/chunks/{page-navigator-DdRsmtLy.js → page-navigator-Cgbh3tTG.js} +2 -2
- package/dist/chunks/{page-navigator-DdRsmtLy.js.map → page-navigator-Cgbh3tTG.js.map} +1 -1
- package/dist/chunks/{page-view-Daz-OKd_.esm.js → page-view-CokUNMBn.esm.js} +3 -3
- package/dist/chunks/{page-view-Daz-OKd_.esm.js.map → page-view-CokUNMBn.esm.js.map} +1 -1
- package/dist/chunks/{page-view-CvfqzV03.js → page-view-DJ6HS_dV.js} +3 -3
- package/dist/chunks/{page-view-CvfqzV03.js.map → page-view-DJ6HS_dV.js.map} +1 -1
- package/dist/chunks/{pathname.rental-CwK6JuID.js → pathname.rental-DgH4LoG7.js} +7 -2
- package/dist/chunks/{pathname.rental-CwK6JuID.js.map → pathname.rental-DgH4LoG7.js.map} +1 -1
- package/dist/chunks/{pathname.rental-CqHO_l_D.esm.js → pathname.rental-qsAe3XFd.esm.js} +81 -76
- package/dist/chunks/{pathname.rental-CqHO_l_D.esm.js.map → pathname.rental-qsAe3XFd.esm.js.map} +1 -1
- package/dist/chunks/{quick-approval-modal-B-jvkgue.esm.js → quick-approval-modal-CPWs8htH.esm.js} +2 -2
- package/dist/chunks/{quick-approval-modal-B-jvkgue.esm.js.map → quick-approval-modal-CPWs8htH.esm.js.map} +1 -1
- package/dist/chunks/{reducer-BOwyP0QZ.esm.js → reducer-3tSO6RW6.esm.js} +3 -3
- package/dist/chunks/{reducer-BOwyP0QZ.esm.js.map → reducer-3tSO6RW6.esm.js.map} +1 -1
- package/dist/chunks/{reducer-BMkh_0Py.esm.js → reducer-CdJ6znKF.esm.js} +3 -3
- package/dist/chunks/{reducer-BMkh_0Py.esm.js.map → reducer-CdJ6znKF.esm.js.map} +1 -1
- package/dist/chunks/{reducer-BTfG9J4W.esm.js → reducer-IsgN83rP.esm.js} +2 -2
- package/dist/chunks/{reducer-BTfG9J4W.esm.js.map → reducer-IsgN83rP.esm.js.map} +1 -1
- package/dist/chunks/{reducer-CD1VDqeT.esm.js → reducer-sgaK2vfW.esm.js} +2 -2
- package/dist/chunks/{reducer-CD1VDqeT.esm.js.map → reducer-sgaK2vfW.esm.js.map} +1 -1
- package/dist/chunks/{reducer-BWiX5vxL.esm.js → reducer-yyZtsg1A.esm.js} +2 -2
- package/dist/chunks/{reducer-BWiX5vxL.esm.js.map → reducer-yyZtsg1A.esm.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-Kl8XQe-K.esm.js → reports-title-bar-Cay4E8SQ.esm.js} +4 -4
- package/dist/chunks/{reports-title-bar-Kl8XQe-K.esm.js.map → reports-title-bar-Cay4E8SQ.esm.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-B1_IweEc.js → reports-title-bar-Kz6JjqsY.js} +2 -2
- package/dist/chunks/{reports-title-bar-B1_IweEc.js.map → reports-title-bar-Kz6JjqsY.js.map} +1 -1
- package/dist/chunks/{route-page-map-D6-7jBQT.esm.js → route-page-map-DkWoisiB.esm.js} +133 -76
- package/dist/chunks/{route-page-map-D6-7jBQT.esm.js.map → route-page-map-DkWoisiB.esm.js.map} +1 -1
- package/dist/chunks/{route-page-map-CzFUh-SC.js → route-page-map-Dn-SAbdf.js} +60 -3
- package/dist/chunks/{route-page-map-CzFUh-SC.js.map → route-page-map-Dn-SAbdf.js.map} +1 -1
- package/dist/chunks/{routes-D9y_XQRu.esm.js → routes-CAc76Zan.esm.js} +4 -4
- package/dist/chunks/{routes-D9y_XQRu.esm.js.map → routes-CAc76Zan.esm.js.map} +1 -1
- package/dist/chunks/{routes-Dsumzjw0.js → routes-CfqLAYgR.js} +4 -4
- package/dist/chunks/{routes-Dsumzjw0.js.map → routes-CfqLAYgR.js.map} +1 -1
- package/dist/chunks/{schedule-report-BwmZ5jea.js → schedule-report-B4ZfEuiU.js} +4 -4
- package/dist/chunks/{schedule-report-BwmZ5jea.js.map → schedule-report-B4ZfEuiU.js.map} +1 -1
- package/dist/chunks/{schedule-report-CJXHVZ68.esm.js → schedule-report-CLXjjfjc.esm.js} +6 -6
- package/dist/chunks/{schedule-report-CJXHVZ68.esm.js.map → schedule-report-CLXjjfjc.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-modal-D8Y-TZ4u.esm.js → schedule-report-modal-CB3G9H7x.esm.js} +3 -3
- package/dist/chunks/{schedule-report-modal-D8Y-TZ4u.esm.js.map → schedule-report-modal-CB3G9H7x.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-modal-iNnWP9s4.js → schedule-report-modal-iwoDI-sg.js} +2 -2
- package/dist/chunks/{schedule-report-modal-iNnWP9s4.js.map → schedule-report-modal-iwoDI-sg.js.map} +1 -1
- package/dist/chunks/{searchable-select-BQtcqBKV.esm.js → searchable-select-0F6E4XAr.esm.js} +6 -6
- package/dist/chunks/{searchable-select-BQtcqBKV.esm.js.map → searchable-select-0F6E4XAr.esm.js.map} +1 -1
- package/dist/chunks/{searchable-select-DVUCWWti.js → searchable-select-_DCkITfk.js} +2 -2
- package/dist/chunks/{searchable-select-DVUCWWti.js.map → searchable-select-_DCkITfk.js.map} +1 -1
- package/dist/chunks/{share-modal-BOyLBawK.esm.js → share-modal-BaEyZs2h.esm.js} +3 -3
- package/dist/chunks/{share-modal-BOyLBawK.esm.js.map → share-modal-BaEyZs2h.esm.js.map} +1 -1
- package/dist/chunks/{share-modal-CobK7BN7.js → share-modal-DrXvh-fV.js} +2 -2
- package/dist/chunks/{share-modal-CobK7BN7.js.map → share-modal-DrXvh-fV.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-DVarD-jt.js → share-modal-enhanced-BTr0zRhF.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-DVarD-jt.js.map → share-modal-enhanced-BTr0zRhF.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-CTp-tQw8.esm.js → share-modal-enhanced-DnEdDBmu.esm.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-CTp-tQw8.esm.js.map → share-modal-enhanced-DnEdDBmu.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-lR6rw8bW.esm.js → sidebarScreen-DiOAiXeU.esm.js} +4 -4
- package/dist/chunks/{sidebarScreen-lR6rw8bW.esm.js.map → sidebarScreen-DiOAiXeU.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-K-dlM6NA.js → sidebarScreen-DpYj_wlK.js} +3 -3
- package/dist/chunks/{sidebarScreen-K-dlM6NA.js.map → sidebarScreen-DpYj_wlK.js.map} +1 -1
- package/dist/chunks/{store-DJh8C3Vv.esm.js → store-BL5VFPie.esm.js} +6 -6
- package/dist/chunks/{store-DJh8C3Vv.esm.js.map → store-BL5VFPie.esm.js.map} +1 -1
- package/dist/chunks/{table-Bpt6ggr3.js → table-DWx7x8zw.js} +2 -2
- package/dist/chunks/{table-Bpt6ggr3.js.map → table-DWx7x8zw.js.map} +1 -1
- package/dist/chunks/{table-form-8_f3FwhX.esm.js → table-form-DsTwCUcs.esm.js} +2 -2
- package/dist/chunks/{table-form-8_f3FwhX.esm.js.map → table-form-DsTwCUcs.esm.js.map} +1 -1
- package/dist/chunks/{table-DI3MyTNm.esm.js → table-gxAlAeTq.esm.js} +3 -3
- package/dist/chunks/{table-DI3MyTNm.esm.js.map → table-gxAlAeTq.esm.js.map} +1 -1
- package/dist/chunks/{template-editor-router-uzghBOap.esm.js → template-editor-router-BXLUTvsk.esm.js} +2 -2
- package/dist/chunks/{template-editor-router-uzghBOap.esm.js.map → template-editor-router-BXLUTvsk.esm.js.map} +1 -1
- package/dist/chunks/{template-editor-router-DugWbCh0.js → template-editor-router-D4NIwVws.js} +2 -2
- package/dist/chunks/{template-editor-router-DugWbCh0.js.map → template-editor-router-D4NIwVws.js.map} +1 -1
- package/dist/chunks/{template-modal-D7aLacan.esm.js → template-modal-B2VgotrF.esm.js} +6 -7
- package/dist/chunks/template-modal-B2VgotrF.esm.js.map +1 -0
- package/dist/chunks/{template-modal-Df7gF4QI.js → template-modal-X-iSmlki.js} +4 -5
- package/dist/chunks/template-modal-X-iSmlki.js.map +1 -0
- package/dist/chunks/{template-name-modal-ClreVUaz.js → template-name-modal-CeqxIE2r.js} +5 -12
- package/dist/chunks/template-name-modal-CeqxIE2r.js.map +1 -0
- package/dist/chunks/{template-name-modal-Dwe7U72p.esm.js → template-name-modal-Dctn8t3t.esm.js} +5 -12
- package/dist/chunks/template-name-modal-Dctn8t3t.esm.js.map +1 -0
- package/dist/chunks/{templates-9ZMHwRR6.esm.js → templates-CCy1eG6A.esm.js} +17 -10
- package/dist/chunks/templates-CCy1eG6A.esm.js.map +1 -0
- package/dist/chunks/{templates-DCXbeOtH.js → templates-CUREMwYo.js} +14 -7
- package/dist/chunks/templates-CUREMwYo.js.map +1 -0
- package/dist/chunks/{text-measurement-DMVkqP6b.esm.js → text-measurement-BCjauPbB.esm.js} +2 -2
- package/dist/chunks/{text-measurement-DMVkqP6b.esm.js.map → text-measurement-BCjauPbB.esm.js.map} +1 -1
- package/dist/chunks/{translations-JcE6qyDJ.esm.js → translations-BrwQcVN3.esm.js} +3 -3
- package/dist/chunks/{translations-JcE6qyDJ.esm.js.map → translations-BrwQcVN3.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-CWTsSsSi.esm.js → uom-field-wrapper-CTbEc-MB.esm.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-CWTsSsSi.esm.js.map → uom-field-wrapper-CTbEc-MB.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-CSqeiVPY.js → uom-field-wrapper-DXZgzOYB.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-CSqeiVPY.js.map → uom-field-wrapper-DXZgzOYB.js.map} +1 -1
- package/dist/chunks/{upload-excel-CkEQqZW2.esm.js → upload-excel-BZPP13tP.esm.js} +2 -2
- package/dist/chunks/{upload-excel-CkEQqZW2.esm.js.map → upload-excel-BZPP13tP.esm.js.map} +1 -1
- package/dist/chunks/{use-translations-Cn3b4Kqh.js → use-translations-5wUQBxMm.js} +2 -2
- package/dist/chunks/{use-translations-Cn3b4Kqh.js.map → use-translations-5wUQBxMm.js.map} +1 -1
- package/dist/chunks/{use-translations-BqBPN1DM.esm.js → use-translations-CcjSFA3F.esm.js} +3 -3
- package/dist/chunks/{use-translations-BqBPN1DM.esm.js.map → use-translations-CcjSFA3F.esm.js.map} +1 -1
- package/dist/chunks/{useAccountSetting-DsU5zsjb.esm.js → useAccountSetting-vAqgEiJB.esm.js} +2 -2
- package/dist/chunks/{useAccountSetting-DsU5zsjb.esm.js.map → useAccountSetting-vAqgEiJB.esm.js.map} +1 -1
- package/dist/chunks/{useCheckSkuAndName-5ua30aZf.esm.js → useCheckSkuAndName-Dl24wQO-.esm.js} +2 -2
- package/dist/chunks/{useCheckSkuAndName-5ua30aZf.esm.js.map → useCheckSkuAndName-Dl24wQO-.esm.js.map} +1 -1
- package/dist/chunks/{useReduxIntegration-BlLpfwk6.esm.js → useReduxIntegration-DZBfKF7d.esm.js} +2 -2
- package/dist/chunks/{useReduxIntegration-BlLpfwk6.esm.js.map → useReduxIntegration-DZBfKF7d.esm.js.map} +1 -1
- package/dist/chunks/{useUniquenessCheck-CiR2q5bM.esm.js → useUniquenessCheck-bYjnp_0P.esm.js} +2 -2
- package/dist/chunks/{useUniquenessCheck-CiR2q5bM.esm.js.map → useUniquenessCheck-bYjnp_0P.esm.js.map} +1 -1
- package/dist/chunks/{useVendorAICompare-DMJvJJ3Y.esm.js → useVendorAICompare-DZRFDk4i.esm.js} +2 -2
- package/dist/chunks/{useVendorAICompare-DMJvJJ3Y.esm.js.map → useVendorAICompare-DZRFDk4i.esm.js.map} +1 -1
- package/dist/chunks/{value-editor-Br7X_wEB.js → value-editor-BSS9Ns2T.js} +2 -2
- package/dist/chunks/{value-editor-Br7X_wEB.js.map → value-editor-BSS9Ns2T.js.map} +1 -1
- package/dist/chunks/{value-editor-BxFdnUyM.esm.js → value-editor-DQ1qgZ2u.esm.js} +4 -4
- package/dist/chunks/{value-editor-BxFdnUyM.esm.js.map → value-editor-DQ1qgZ2u.esm.js.map} +1 -1
- package/dist/chunks/{vendor-ai-summary-Cpx90QOx.esm.js → vendor-ai-summary-BA6m2dH9.esm.js} +2 -2
- package/dist/chunks/{vendor-ai-summary-Cpx90QOx.esm.js.map → vendor-ai-summary-BA6m2dH9.esm.js.map} +1 -1
- package/dist/chunks/{vendor-ai-summary-zranZkfk.js → vendor-ai-summary-DWmAaQ_N.js} +2 -2
- package/dist/chunks/{vendor-ai-summary-zranZkfk.js.map → vendor-ai-summary-DWmAaQ_N.js.map} +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/action-bar/index.js +1 -1
- package/dist/components/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/index.js +1 -1
- package/dist/components/address-modal/index.esm.js +1 -1
- package/dist/components/address-modal/index.js +1 -1
- package/dist/components/ai-summary/ai-summary/index.esm.js +1 -1
- package/dist/components/ai-summary/index.esm.js +1 -1
- package/dist/components/appbar/appbar/index.esm.js +1 -1
- package/dist/components/appbar/appbar/index.js +1 -1
- package/dist/components/appbar/index.esm.js +1 -1
- package/dist/components/appbar/index.js +1 -1
- package/dist/components/approval-wrapper/approval-wrapper/index.esm.js +1 -1
- package/dist/components/approval-wrapper/index.esm.js +1 -1
- package/dist/components/chat-bot/index.esm.js +1 -1
- package/dist/components/chat-bot/index.js +1 -1
- package/dist/components/custom-forms/FORMS/index.esm.js +1 -1
- package/dist/components/custom-forms/FORMS/index.js +1 -1
- package/dist/components/custom-forms/grid-view/grid-view/index.esm.js +1 -1
- package/dist/components/custom-forms/grid-view/index.esm.js +1 -1
- package/dist/components/custom-forms/index.esm.js +2 -2
- package/dist/components/custom-forms/index.js +1 -1
- package/dist/components/department-add-modal/index.esm.js +1 -1
- package/dist/components/department-add-modal/index.js +1 -1
- package/dist/components/designation-add-modal/index.esm.js +1 -1
- package/dist/components/designation-add-modal/index.js +1 -1
- package/dist/components/editor/custom-editor/index.esm.js +1 -1
- package/dist/components/editor/index.esm.js +1 -1
- package/dist/components/examples/FlexibleReduxExample/index.esm.js +1 -1
- package/dist/components/examples/FlexibleReduxExample/index.js +1 -1
- package/dist/components/examples/index.esm.js +1 -1
- package/dist/components/examples/index.js +1 -1
- package/dist/components/filter/components/index.esm.js +1 -1
- package/dist/components/filter/components/index.js +1 -1
- package/dist/components/filter/components/value-editor/index.esm.js +1 -1
- package/dist/components/filter/components/value-editor/index.js +1 -1
- package/dist/components/filter/filter/index.esm.js +1 -1
- package/dist/components/filter/filter/index.js +1 -1
- package/dist/components/filter/index.esm.js +2 -2
- package/dist/components/filter/index.js +2 -2
- package/dist/components/footer/footer/index.esm.js +1 -1
- package/dist/components/footer/footer/index.js +1 -1
- package/dist/components/footer/index.esm.js +1 -1
- package/dist/components/footer/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-text-editor/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/index.esm.js +4 -4
- package/dist/components/form-control/form-builder/form-builder-element/index.js +3 -3
- package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/table/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/table/index.js +1 -1
- package/dist/components/form-control/form-builder/index.esm.js +4 -4
- package/dist/components/form-control/form-builder/index.js +3 -3
- package/dist/components/form-control/form-parser/form-parser/index.esm.js +1 -1
- package/dist/components/form-control/form-parser/form-parser/index.js +1 -1
- package/dist/components/form-control/form-parser/form-section/index.esm.js +1 -1
- package/dist/components/form-control/form-parser/form-section/index.js +1 -1
- package/dist/components/form-control/form-parser/index.esm.js +2 -2
- package/dist/components/form-control/form-parser/index.js +2 -2
- package/dist/components/form-control/index.esm.js +6 -6
- package/dist/components/form-control/index.js +5 -5
- package/dist/components/header/components/app-switcher/index.esm.js +1 -1
- package/dist/components/header/components/app-switcher/index.js +1 -1
- package/dist/components/header/components/global-search/index.esm.js +1 -1
- package/dist/components/header/components/global-search/index.js +1 -1
- package/dist/components/header/components/index.esm.js +1 -1
- package/dist/components/header/components/index.js +1 -1
- package/dist/components/header/components/notification-menu/index.esm.js +1 -1
- package/dist/components/header/components/notification-menu/index.js +1 -1
- package/dist/components/header/components/notification-menu/notification-menu/index.esm.js +1 -1
- package/dist/components/header/components/notification-menu/notification-menu/index.js +1 -1
- package/dist/components/header/header/index.esm.js +1 -1
- package/dist/components/header/header/index.js +1 -1
- package/dist/components/header/header-enhanced/index.esm.js +1 -1
- package/dist/components/header/header-enhanced/index.js +1 -1
- package/dist/components/header/index.esm.js +5 -5
- package/dist/components/header/index.js +3 -3
- package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/header/redux/index.esm.js +2 -2
- package/dist/components/header/redux/reducer/index.esm.js +1 -1
- package/dist/components/index.esm.js +36 -36
- package/dist/components/index.js +27 -27
- package/dist/components/inventory-reports-title-bar/index.esm.js +3 -3
- package/dist/components/inventory-reports-title-bar/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/index.esm.js +2 -2
- package/dist/components/inventory-reports-title-bar/redux/reducer/index.esm.js +1 -1
- package/dist/components/listing/index.esm.js +1 -1
- package/dist/components/listing/index.js +1 -1
- package/dist/components/listing/listing/index.esm.js +1 -1
- package/dist/components/listing/listing/index.js +1 -1
- package/dist/components/location-select/index.esm.js +1 -1
- package/dist/components/location-select/index.js +1 -1
- package/dist/components/material-editable-table/components/index.esm.js +1 -1
- package/dist/components/material-editable-table/components/index.js +1 -1
- package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js +1 -1
- package/dist/components/material-editable-table/components/inline-edit-fields/index.js +1 -1
- package/dist/components/material-editable-table/index.esm.js +2 -2
- package/dist/components/material-editable-table/index.js +2 -2
- package/dist/components/material-editable-table/material-editable-table/index.esm.js +1 -1
- package/dist/components/material-editable-table/material-editable-table/index.js +1 -1
- package/dist/components/material-table/components/index.esm.js +1 -1
- package/dist/components/material-table/components/index.js +1 -1
- package/dist/components/material-table/components/inline-edit-fields/index.esm.js +1 -1
- package/dist/components/material-table/components/inline-edit-fields/index.js +1 -1
- package/dist/components/material-table/index.esm.js +1 -1
- package/dist/components/material-table/index.js +1 -1
- package/dist/components/material-table/material-table/index.esm.js +1 -1
- package/dist/components/material-table/material-table/index.js +1 -1
- package/dist/components/page-navigator/components/index.esm.js +1 -1
- package/dist/components/page-navigator/components/index.js +1 -1
- package/dist/components/page-navigator/components/page-action/index.esm.js +1 -1
- package/dist/components/page-navigator/components/page-action/index.js +1 -1
- package/dist/components/page-navigator/index.esm.js +2 -2
- package/dist/components/page-navigator/index.js +2 -2
- package/dist/components/page-navigator/page-navigator/index.esm.js +1 -1
- package/dist/components/page-navigator/page-navigator/index.js +1 -1
- package/dist/components/parties-modal/index.esm.js +1 -1
- package/dist/components/parties-modal/index.js +1 -1
- package/dist/components/parties-modal/parties-modal/index.esm.js +1 -1
- package/dist/components/parties-modal/parties-modal/index.js +1 -1
- package/dist/components/providers/ERPUIProvider/index.esm.js +1 -1
- package/dist/components/providers/index.esm.js +1 -1
- package/dist/components/quick-approval-modal/index.esm.js +1 -1
- package/dist/components/quick-approval-modal/quick-approval-modal/index.esm.js +1 -1
- package/dist/components/reports/dynamic-report/dynamic-report/index.esm.js +1 -1
- package/dist/components/reports/dynamic-report/dynamic-rows/index.esm.js +1 -1
- package/dist/components/reports/dynamic-report/index.esm.js +2 -2
- package/dist/components/reports/index.esm.js +2 -2
- package/dist/components/reports-title-bar/index.esm.js +3 -3
- package/dist/components/reports-title-bar/index.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/reports-title-bar/redux/index.esm.js +2 -2
- package/dist/components/reports-title-bar/redux/reducer/index.esm.js +1 -1
- package/dist/components/reports-title-bar/reports-title-bar/index.esm.js +1 -1
- package/dist/components/reports-title-bar/reports-title-bar/index.js +1 -1
- package/dist/components/rfq-response/index.esm.js +1 -1
- package/dist/components/rfq-response/index.js +1 -1
- package/dist/components/rfq-response/item-response-details/index.esm.js +1 -1
- package/dist/components/rfq-response/item-response-details/index.js +1 -1
- package/dist/components/schedule-report/index.esm.js +2 -2
- package/dist/components/schedule-report/index.js +2 -2
- package/dist/components/schedule-report/schedule-report/index.esm.js +1 -1
- package/dist/components/schedule-report/schedule-report/index.js +1 -1
- package/dist/components/schedule-report/schedule-report-modal/index.esm.js +1 -1
- package/dist/components/schedule-report/schedule-report-modal/index.js +1 -1
- package/dist/components/schedule-report/utils/common/index.esm.js +1 -1
- package/dist/components/searchable-select/index.esm.js +1 -1
- package/dist/components/searchable-select/index.js +1 -1
- package/dist/components/share-modal/index.esm.js +4 -4
- package/dist/components/share-modal/index.js +2 -2
- package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/share-modal/redux/index.esm.js +2 -2
- package/dist/components/share-modal/redux/reducer/index.esm.js +1 -1
- package/dist/components/share-modal/share-modal/index.esm.js +1 -1
- package/dist/components/share-modal/share-modal/index.js +1 -1
- package/dist/components/share-modal/share-modal-enhanced/index.esm.js +1 -1
- package/dist/components/share-modal/share-modal-enhanced/index.js +1 -1
- package/dist/components/team-add-modal/index.esm.js +1 -1
- package/dist/components/team-add-modal/index.js +1 -1
- package/dist/components/uom-field-wrapper/index.esm.js +1 -1
- package/dist/components/uom-field-wrapper/index.js +1 -1
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js +1 -1
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js +1 -1
- package/dist/components/upload-excel/index.esm.js +1 -1
- package/dist/components/upload-excel/upload-excel/index.esm.js +1 -1
- package/dist/components/vendor-ai-summary/index.esm.js +1 -1
- package/dist/components/vendor-ai-summary/index.js +1 -1
- package/dist/constants/index.esm.js +145 -143
- package/dist/constants/index.js +5 -3
- package/dist/constants/index.js.map +1 -1
- package/dist/hooks/index.esm.js +6 -6
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-translations/index.esm.js +1 -1
- package/dist/hooks/use-translations/index.js +1 -1
- package/dist/hooks/useAccountSetting/index.esm.js +1 -1
- package/dist/hooks/useCheckSkuAndName/index.esm.js +1 -1
- package/dist/hooks/useReduxIntegration/index.esm.js +1 -1
- package/dist/hooks/useUniquenessCheck/index.esm.js +1 -1
- package/dist/images/index.esm.js +5 -5
- package/dist/images/index.esm.js.map +1 -1
- package/dist/images/index.js +5 -5
- package/dist/images/index.js.map +1 -1
- package/dist/index.esm.js +232 -235
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +64 -67
- package/dist/index.js.map +1 -1
- package/dist/layout/fullScreen/index.esm.js +1 -1
- package/dist/layout/fullScreen/index.js +1 -1
- package/dist/layout/index.esm.js +2 -2
- package/dist/layout/index.js +2 -2
- package/dist/layout/sidebarScreen/index.esm.js +1 -1
- package/dist/layout/sidebarScreen/index.js +1 -1
- package/dist/redux/index.esm.js +3 -3
- package/dist/runtime/index.esm.js +4 -4
- package/dist/runtime/index.js +2 -2
- package/dist/src/components/chat-bot/chat-bot-welcome.d.ts +2 -1
- package/dist/src/components/chat-bot/chat-bot.d.ts +5 -1
- package/dist/src/constants/defaultColumns.d.ts +1 -0
- package/dist/src/constants/pathnames/pathname.procurement.d.ts +4 -0
- package/dist/src/layout/fullScreen/fullScreen.d.ts +1 -0
- package/dist/src/views/template-editor/components/EditorCanvas.d.ts +12 -30
- package/dist/src/views/template-editor/components/EditorHeader.d.ts +0 -6
- package/dist/src/views/template-editor/components/EditorSection.d.ts +0 -1
- package/dist/src/views/template-editor/components/SectionFlowEditor.d.ts +3 -2
- package/dist/src/views/template-editor/components/SectionFormatPanel.d.ts +1 -2
- package/dist/src/views/template-editor/components/controllers/TableControls.d.ts +0 -23
- package/dist/src/views/template-editor/components/controllers/TextControls.d.ts +0 -3
- package/dist/src/views/template-editor/types/editor.d.ts +108 -20
- package/dist/src/views/template-editor/utils/common.d.ts +1 -10
- package/dist/src/views/template-editor/utils/constant.d.ts +1 -4
- package/dist/style.css +100 -4629
- package/dist/utils/api/index.esm.js +1 -1
- package/dist/utils/common/index.esm.js +1 -1
- package/dist/utils/common-utility/index.esm.js +1 -1
- package/dist/utils/export-filters/index.esm.js +1 -0
- package/dist/utils/export-filters/index.esm.js.map +1 -1
- package/dist/utils/export-filters/index.js +1 -0
- package/dist/utils/export-filters/index.js.map +1 -1
- package/dist/utils/index.esm.js +8 -8
- package/dist/utils/server/index.esm.js +2 -2
- package/dist/utils/text-measurement/index.esm.js +1 -1
- package/dist/views/afterAuth/dashboard/index.esm.js +1 -1
- package/dist/views/afterAuth/dashboard/index.js +1 -1
- package/dist/views/afterAuth/index.esm.js +2 -2
- package/dist/views/afterAuth/index.js +2 -2
- package/dist/views/afterAuth/page-view/index.esm.js +1 -1
- package/dist/views/afterAuth/page-view/index.js +1 -1
- package/dist/views/form-builder/custom-form/index.esm.js +1 -1
- package/dist/views/form-builder/custom-form/index.js +1 -1
- package/dist/views/form-builder/element-edit-forms/index.esm.js +1 -1
- package/dist/views/form-builder/form-fields/index.esm.js +1 -1
- package/dist/views/form-builder/form-fields/index.js +1 -1
- package/dist/views/form-builder/index.esm.js +5 -5
- package/dist/views/form-builder/index.js +3 -3
- package/dist/views/form-builder/redux/index.esm.js +1 -1
- package/dist/views/form-builder/utils/index.esm.js +1 -1
- package/dist/views/form-builder/utils/index.js +1 -1
- package/dist/views/index.esm.js +34 -39
- package/dist/views/index.esm.js.map +1 -1
- package/dist/views/index.js +31 -36
- package/dist/views/index.js.map +1 -1
- package/dist/views/template-editor/add-template/index.esm.js +1 -1
- package/dist/views/template-editor/add-template/index.js +1 -1
- package/dist/views/template-editor/components/index.esm.js +6 -7
- package/dist/views/template-editor/components/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/index.js +3 -4
- package/dist/views/template-editor/components/index.js.map +1 -1
- package/dist/views/template-editor/edit-section-modal/index.esm.js +1 -1
- package/dist/views/template-editor/index.esm.js +20 -25
- package/dist/views/template-editor/index.esm.js.map +1 -1
- package/dist/views/template-editor/index.js +11 -16
- package/dist/views/template-editor/index.js.map +1 -1
- package/dist/views/template-editor/routes/index.esm.js +1 -1
- package/dist/views/template-editor/routes/index.js +1 -1
- package/dist/views/template-editor/template-modal/index.esm.js +1 -1
- package/dist/views/template-editor/template-modal/index.js +1 -1
- package/dist/views/template-editor/template-name-modal/index.esm.js +1 -1
- package/dist/views/template-editor/template-name-modal/index.js +1 -1
- package/dist/views/template-editor/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/dist/views/template-editor/utils/index.esm.js +6 -10
- package/dist/views/template-editor/utils/index.js +2 -6
- package/dist/views/template-editor/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/EditorSection-BLGcgQFm.esm.js +0 -849
- package/dist/chunks/EditorSection-BLGcgQFm.esm.js.map +0 -1
- package/dist/chunks/EditorSection-D6yaBfjP.js +0 -848
- package/dist/chunks/EditorSection-D6yaBfjP.js.map +0 -1
- package/dist/chunks/SectionFlowEditor-Dp-mjWT9.esm.js +0 -12543
- package/dist/chunks/SectionFlowEditor-Dp-mjWT9.esm.js.map +0 -1
- package/dist/chunks/SectionFlowEditor-Dz1SuCm2.js +0 -12542
- package/dist/chunks/SectionFlowEditor-Dz1SuCm2.js.map +0 -1
- package/dist/chunks/add-template-CUPbU0z7.js +0 -10
- package/dist/chunks/add-template-CUPbU0z7.js.map +0 -1
- package/dist/chunks/add-template-CxvhzFMF.esm.js +0 -11
- package/dist/chunks/add-template-CxvhzFMF.esm.js.map +0 -1
- package/dist/chunks/chat-bot-2Ga_xA_K.js.map +0 -1
- package/dist/chunks/chat-bot-DO3vAGxA.esm.js.map +0 -1
- package/dist/chunks/common-BgXEAs_y.esm.js +0 -851
- package/dist/chunks/common-BgXEAs_y.esm.js.map +0 -1
- package/dist/chunks/common-D6T6NGWY.js +0 -850
- package/dist/chunks/common-D6T6NGWY.js.map +0 -1
- package/dist/chunks/common-utility-CS_sNoAC.esm.js.map +0 -1
- package/dist/chunks/constant-BXPcBhJN.esm.js.map +0 -1
- package/dist/chunks/constant-BXeJD4Af.js.map +0 -1
- package/dist/chunks/edit-section-modal-HihKbN6K.esm.js.map +0 -1
- package/dist/chunks/fullScreen-Cz3FIdU4.esm.js.map +0 -1
- package/dist/chunks/fullScreen-h0JqBN4O.js.map +0 -1
- package/dist/chunks/template-modal-D7aLacan.esm.js.map +0 -1
- package/dist/chunks/template-modal-Df7gF4QI.js.map +0 -1
- package/dist/chunks/template-name-modal-ClreVUaz.js.map +0 -1
- package/dist/chunks/template-name-modal-Dwe7U72p.esm.js.map +0 -1
- package/dist/chunks/templates-9ZMHwRR6.esm.js.map +0 -1
- package/dist/chunks/templates-DCXbeOtH.js.map +0 -1
- package/dist/src/views/template-editor/components/EditorCanvas/FreeCanvas.d.ts +0 -34
- package/dist/src/views/template-editor/components/EditorCanvas/FreeElement.d.ts +0 -30
- package/dist/src/views/template-editor/components/stationery/StationeryPreview.d.ts +0 -24
- package/dist/src/views/template-editor/components/stationery/StationerySidebar.d.ts +0 -9
- package/dist/src/views/template-editor/engine/ai.d.ts +0 -12
- package/dist/src/views/template-editor/engine/app.d.ts +0 -1
- package/dist/src/views/template-editor/engine/controls.d.ts +0 -4
- package/dist/src/views/template-editor/engine/design-canvas.d.ts +0 -24
- package/dist/src/views/template-editor/engine/editor.d.ts +0 -17
- package/dist/src/views/template-editor/engine/engine.d.ts +0 -18
- package/dist/src/views/template-editor/engine/icons.d.ts +0 -91
- package/dist/src/views/template-editor/engine/letterpads.d.ts +0 -1
- package/dist/src/views/template-editor/engine/model.d.ts +0 -20
- package/dist/src/views/template-editor/engine/paginator.d.ts +0 -30
- package/dist/src/views/template-editor/engine/picker.d.ts +0 -20
- package/dist/src/views/template-editor/engine/schema.d.ts +0 -647
- package/dist/src/views/template-editor/engine/stationery-app.d.ts +0 -10
- package/dist/src/views/template-editor/engine/stationery-doc.d.ts +0 -62
- package/dist/src/views/template-editor/engine/stationery-free-element.d.ts +0 -22
- package/dist/src/views/template-editor/engine/stationery-store.d.ts +0 -154
- package/dist/src/views/template-editor/engine/templatebuilder.d.ts +0 -51
- package/dist/src/views/template-editor/engine/templates.d.ts +0 -11
- package/dist/src/views/template-editor/icons/custom-styled-icon.d.ts +0 -7
- package/dist/src/views/template-editor/icons/edit.d.ts +0 -4
- package/dist/src/views/template-editor/icons/trash.d.ts +0 -4
- package/dist/src/views/template-editor/types/stationery.d.ts +0 -66
- package/dist/src/views/template-editor/utils/compiler.d.ts +0 -12
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { jsxs, jsx
|
|
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-
|
|
6
|
-
import { A as AppSwitcher } from "./app-switcher-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
78
|
-
|
|
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-
|
|
91
|
+
//# sourceMappingURL=header-B-HaoeK7.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-
|
|
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-
|
|
7
|
-
const appSwitcher = require("./app-switcher-
|
|
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-
|
|
9
|
+
const globalSearch = require("./global-search-BjKPmzsQ.js");
|
|
10
10
|
const languageSwitch = require("./language-switch-DB1b1lfo.js");
|
|
11
|
-
const notificationMenu = require("./notification-menu-
|
|
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-
|
|
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
|
-
|
|
79
|
-
|
|
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-
|
|
90
|
+
//# sourceMappingURL=header-BHsex2As.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header-
|
|
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-
|
|
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-
|
|
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-
|
|
401
|
+
//# sourceMappingURL=header-enhanced-BjfqyQ1a.esm.js.map
|
package/dist/chunks/{header-enhanced-CkROCaOF.esm.js.map → header-enhanced-BjfqyQ1a.esm.js.map}
RENAMED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;AAiEO,SAAS,eAAe,OAAgD;;AAC7E,QAAM;AAAA,IACJ;AAAA;AAAA,IAGA,WAAW,gBAAgB,CAAA;AAAA,IAC3B,iBAAiB;AAAA,IACjB,kBAAkB,uBAAuB;AAAA,IACzC,eAAe,oBAAoB;AAAA,IACnC;AAAA,IACA;AAAA;AAAA,IAGA,WAAW;AAAA,EAAA,IACT;AAEJ,QAAM,WAAW,YAAA;AACjB,QAAM,EAAE,EAAA,IAAM,eAAA;AACd,QAAM,WAAW,YAAA;AACjB,QAAM,EAAE,QAAQ,KAAA,IAAS,QAAA;AAGzB,MAAI,qBAAqB;AAAA,IACvB,WAAW,CAAA;AAAA,IACX,iBAAiB,EAAE,OAAO,WAAW,MAAM,MAAM,WAAW,MAAA;AAAA,IAC5D,WAAW;AAAA,IACX,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,OAAO;AAAA,EAAA;AAET,MAAI,WAAgB;AACpB,MAAI,eAAoB,CAAA;AAExB,MAAI,UAAU;AACZ,QAAI;AAGF,YAAM,cAAc,eAAe,CAAC,UAAe,MAAM,UAAU,EAAE;AACrE,iBAAW,eAAA;AACX,qBAAe,EAAE,eAAA;AAEjB,2BAAqB;AAAA,QACnB,aAAW,iBAAY,kBAAZ,mBAA2B,SAAQ,CAAA;AAAA,QAC9C,iBAAiB,YAAY,mBAAmB,mBAAmB;AAAA,QACnE,aAAW,iBAAY,kBAAZ,mBAA2B,cAAa;AAAA,QACnD,SAAO,iBAAY,kBAAZ,mBAA2B,UAAS;AAAA,QAC3C,kBAAkB;AAAA;AAAA,QAClB,SAAO,iBAAY,oBAAZ,mBAA6B,eAAc;AAAA,MAAA;AAAA,IAEtD,SAAS,OAAO;AACd,cAAQ,KAAK,iEAAiE;AAAA,IAChF;AAAA,EACF;AAGA,QAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,OAAO;AAAA,EAAA,IACL,YAAA;AACJ,QAAM,SAAS,aAAA;AAGf,QAAM,YAAY,WAAW,mBAAmB,YAAa,cAAc,SAAS,IAAI,gBAAgB;AACxG,QAAM,kBAAkB,WAAW,mBAAmB,kBAAmB,uBAAuB;AAChG,QAAM,mBAAmB,WAAW,mBAAmB,YAAa,wBAAwB;AAC5F,QAAM,uBAAuB,WAAW,mBAAmB,QAAS,qBAAqB;AACzF,QAAM,mBAAmB,WAAW,mBAAmB,mBAAmB;AAC1E,QAAM,QAAQ,WAAW,mBAAmB,QAAQ;AAEpD,QAAM,EAAE,aAAa;AACrB,QAAM,CAAC,UAAU,WAAW,IAAIA,eAAM,SAA6B,IAAI;AACvE,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAkB,KAAK;AAC3E,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAyB,IAAI;AACzE,QAAM,CAAC,aAAa,UAAU,IAAI,SAAoB,CAAA,CAAE;AACxD,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAwB,IAAI;AAChF,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,QAAM,SAAS,aAAa,QAAQ,SAAS,KAAK;AAClD,QAAM,WAAW,SAAS,KAAK,MAAM,MAAM,IAAI;AAC/C,QAAM,aAAa,QAAQ,QAAQ;AAEnC,QAAM,2BAA2B,MAC/B,sBAAsB,CAAC,kBAAkB;AAE3C,QAAM,qBAAqB;AAAA,IACzB,CAAC,UAA6B;AAC5B,YAAM,cAAkC,MAAM,QAAQ,KAAK,IACvD,MAAM,IAAI,CAAC,UAAkB,EAAE,OAAO,IACtC,CAAC,EAAE,MAAM,OAAO;AAEpB,aAAO,QAAQ,YAAY,aAAa,QAAQ,CAAC;AAAA,IACnD;AAAA,IACA,CAAC,QAAQ;AAAA,EAAA;AAGX,QAAM,2BAA2B,MAAM;AACrC,iBAAa,IAAI;AAAA,EACnB;AAEA,YAAU,MAAM;AACd,UAAM,aAAa,YAAY;AAAA,MAC7B,CAAC,WAAA;;AACC,iBAAAC,MAAA,iCAAQ,SAAR,gBAAAA,IAAc,mBAAkB,SAAS,YAAA,KACzC,mBAAmB,OAAO,eAAe;AAAA;AAAA,IAAA;AAG7C,QAAI,YAAY;AACd,wBAAkB,UAAU;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,UAAU,aAAa,kBAAkB,CAAC;AAE9C,YAAU,MAAM;AACd,eAAW,QAAQ,CAAC,CAAC;AAAA,EACvB,GAAG,CAAC,CAAC,CAAC;AAGN,QAAM,eAAe,CAAC,MAA4C;AAChE,UAAM,YAAY,EAAE,OAAO;AAG3B,0BAAsB,IAAI;AAG1B,QAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxC,YAAM,WAAW,EAAE,+BAA+B,KAAK;AACvD,4BAAsB,QAAQ;AAC9B;AAAA,IACF;AAEA,UAAM,iBAAiB,UAAU,KAAK,CAAC,SAAoB,KAAK,SAAS,SAAS;AAElF,QAAI,gBAAgB;AAClB,UAAI;AACF,YAAI,UAAU;AAAA,QAGd,WAAW,kBAAkB;AAC3B,2BAAiB,SAAS;AAAA,QAC5B,OAAO;AACL,6BAAmB,SAAS;AAAA,QAC9B;AAAA,MACF,SAAS,OAAO;AACd,cAAM,WAAW,iBAAiB,QAAQ,MAAM,UAAU;AAC1D,8BAAsB,QAAQ;AAAA,MAChC;AAAA,IACF,OAAO;AACL,YAAM,WAAW,EAAE,6BAA6B,EAAE,UAAU,UAAA,CAAW,KACrE,sBAAsB,SAAS;AACjC,4BAAsB,QAAQ;AAAA,IAChC;AAAA,EACF;AAGA,QAAM,uBAAuB,YAAY;AACvC,0BAAsB,IAAI;AAC1B,QAAI;AACF,UAAI,YAAY,YAAY,aAAa,gBAAgB;AACvD,cAAM,SAAS,aAAa,gBAAgB;AAAA,MAC9C,WAAW,kBAAkB;AAC3B,cAAM,iBAAA;AAAA,MACR,OAAO;AACL,cAAM,mBAAA;AAAA,MACR;AAAA,IACF,SAAS,OAAO;AACd,YAAM,WAAW;AACjB,4BAAsB,QAAQ;AAAA,IAChC;AAAA,EACF;AAEA,QAAM,wBAAwB,CAAC,UAC7B,YAAY,MAAM,aAAa;AAEjC,QAAM,kBAAkB,MAAM;AAC5B,gBAAY,IAAI;AAAA,EAClB;AAEA,QAAM,eAAe,CAAC,UAAe;AACnC,UAAM,eAAe,MAAM,OAAO;AAClC,eAAW,MAAM;AACf,eAAS,YAAY;AAAA,IACvB,GAAG,GAAG;AAAA,EACR;AAEA,QAAM,mBAAmB,MAAM;AAC7B,WAAO,QAAQ,KAAA;AAAA,EACjB;AAGA,QAAM,4BAA4B,MAAc;AAC9C,QAAI,CAAC,gBAAiB,QAAO,EAAE,wBAAwB,KAAK;AAG5D,QAAI,oBAAoB,sBAAsB;AAC5C,aAAO,GAAG,gBAAgB,KAAK;AAAA,IACjC;AAEA,WAAO,gBAAgB;AAAA,EACzB;AAGA,QAAM,wBAAwB,OAAkB;AAAA,IAC9C,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,EAAA;AAIb,QAAM,0BAA0B,MAAmB;AACjD,QAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AAExC,aAAO,CAAC,uBAAuB;AAAA,IACjC;AAGA,UAAM,aAAa,UAAU,KAAK,CAAA,SAAQ,KAAK,SAAS,IAAI;AAC5D,QAAI,CAAC,YAAY;AACf,aAAO,CAAC,yBAAyB,GAAG,SAAS;AAAA,IAC/C;AAEA,WAAO;AAAA,EACT;AAGA,QAAM,yBAAyB,MAAM;AACnC,UAAM,qBAAqB,wBAAA;AAC3B,UAAM,gBAAe,mDAAiB,SAAQ;AAG9C,QAAI,kBAAkB;AACpB,aACE,oBAAC,KAAA,EAAI,WAAU,oBACb,UAAA,oBAAC,YAAA,EAAW,SAAQ,SAAQ,OAAM,kBAC/B,UAAA,aAAA,CACH,GACF;AAAA,IAEJ;AAGA,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,MAAM,0BAAA;AAAA,QACnB,OAAO,CAAC,CAAC;AAAA,QACT,WAAW,oBAAoB,uBAAuB,6BAA6B;AAAA,QAElF,UAAA;AAAA,UAAA,mBAAmB,IAAI,CAAC,EAAE,MAAM,YAC/B,oBAAC,UAAA,EAAoB,OAAO,MAC1B,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,OAAM;AAAA,cAEL,UAAA;AAAA,YAAA;AAAA,UAAA,EACH,GAPa,IAQf,CACD;AAAA,UAGA,4CACE,UAAA,EAAS,SAAS,sBAAsB,OAAO,EAAE,WAAW,SAAA,GAC3D,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,OAAM;AAAA,cACP,UAAA;AAAA,gBAAA;AAAA,gBACK,EAAE,wBAAwB,KAAK;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,EACrC,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AAEA,QAAM,SAAS;AACf,QAAM,aACJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,IAAI;AAAA,MACJ,aAAW;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MAET,UAAA;AAAA,QAAA,oBAAC,UAAA,EAAS,WAAU,iBAClB,UAAA,oBAAC,UAAM,UAAA,EAAE,uBAAuB,KAAK,iBAAA,CAAiB,EAAA,CACxD;AAAA,6BACC,UAAA,EAAS,WAAU,kBAAiB,OAAO,SAAS,SACnD,UAAA;AAAA,UAAA,oBAAC,cAAA,EACC,8BAAC,QAAA,EAAO,MAAM,IAAI,KAAK,SAAS,WAAW,EAAA,CAC7C;AAAA,UACA,oBAAC,cAAA,EAAa,WAAU,UACrB,mBAAS,WACZ;AAAA,UACA,oBAAC,YAAA,EAAW,SAAQ,SAAQ,OAAM,kBAChC,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,UAAU,KAAI,UAAS,EAAA,CAC1C;AAAA,QAAA,GACF;AAAA,4BACC,SAAA,EAAQ;AAAA,QACT;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,uCAAA;AACA,0BAAY,IAAI;AAAA,YAClB;AAAA,YAEA,UAAA;AAAA,cAAA,oBAAC,cAAA,EACC,UAAA,oBAAC,KAAA,EAAI,UAAS,UAAS,OAAO,IAAI,QAAQ,IAAI,WAAU,UAAA,CAAU,GACpE;AAAA,kCACC,cAAA,EAAa,WAAU,UAAU,UAAA,EAAE,wBAAwB,EAAA,CAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,4BAE/D,SAAA,EAAQ;AAAA,QACT;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,uCAAA;AACA,0BAAY,IAAI;AAAA,YAClB;AAAA,YAEA,UAAA;AAAA,cAAA,oBAAC,cAAA,EACC,8BAAC,OAAA,EAAI,KAAK,OAAO,QAAQ,KAAI,UAAS,EAAA,CACxC;AAAA,kCACC,cAAA,EAAa,WAAU,UAAU,UAAA,EAAE,eAAe,EAAA,CAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACvD;AAAA,IAAA;AAAA,EAAA;AAIJ,QAAM,UAAU,aAAA,EAAe,WAAW,OAAO;AAEjD,SACE,qBAAA,UAAA,EACE,UAAA;AAAA,IAAA,qBAAC,KAAA,EAAI,WAAU,YACZ,UAAA;AAAA,MAAA,CAAC,kBACA,oBAAC,MAAA,EAAK,IAAI,OAAO,SAAS,YAAY,SAAS,OAC7C,UAAA,oBAAC,SAAI,KAAK,SAAS,KAAI,QAAO,QAAQ,IAAG,GAC3C;AAAA,MAEF,oBAAC,KAAA,EAAI,WAAU,cACZ,4BACC,qBAAA,UAAA,EACE,UAAA;AAAA,QAAA,oBAAC,YAAA,EAAW,SAAS,kBACnB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,QAAQ,sBAAsB;AAAA,UAAA;AAAA,QAAA,GAE7C;AAAA,QACA,oBAAC,KAAA,EAAI,OAAO,KACV,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAS;AAAA,YACT,aAAY;AAAA,YACZ,MAAM;AAAA,YACN,QAAO,iDAAgB,SAAQ;AAAA,YAC/B,UAAU;AAAA,YACV,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,aAAa,CAAC,UACZ,oBAAA,UAAA,EACG,2BACC,qBAAC,KAAA,EAAI,WAAU,qBACb,UAAA;AAAA,cAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,KAAK,eAAe;AAAA,kBACpB,KAAK,eAAe;AAAA,gBAAA;AAAA,cAAA;AAAA,cAErB,eAAe;AAAA,YAAA,EAAA,CAClB,IAEA,OAEJ;AAAA,YAGD,UAAA,YAAY,IAAI,CAAC,QAAa,UAC7B;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,OAAO;AAAA,gBAGd,UAAA;AAAA,kBAAA,oBAAC,SAAI,KAAK,OAAO,MAAM,KAAK,OAAO,OAAO;AAAA,kBACzC,OAAO;AAAA,gBAAA;AAAA,cAAA;AAAA,cAHH;AAAA,YAAA,CAKR;AAAA,UAAA;AAAA,QAAA,EACH,CACF;AAAA,MAAA,EAAA,CACF,EAAA,CAEJ;AAAA,MACA,qBAAC,KAAA,EAAI,WAAU,qBAEb,UAAA;AAAA,QAAA,oBAAC,KAAA,EAAI,WAAU,6BACZ,UAAA,uBAAA,GACH;AAAA,4BAEC,kBAAA,EAAiB;AAAA,QAClB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,WAAU;AAAA,YAEV,8BAAC,OAAA,EAAI,KAAKC,OAAK,UAAU,KAAI,gBAAA,CAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,4BAE9C,OAAA,EAAI,KAAKA,OAAK,UAAU,KAAI,gBAAe;AAAA,QAC3C,aAAa,QAAQ,MAAM,yBACzB,KAAA,EAAI,WAAU,oBAAmB,SAAS,uBACzC,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,MAAK,6BAAM,iBAAgB,GAAG,iCAAQ,WAAW,GAAG,6BAAM,aAAa,KAAK;AAAA,cAC5E,KAAK,WAAW,6BAAM,SAAS;AAAA,cAC/B,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,+BAEX,OAAA,EACC,UAAA;AAAA,YAAA,oBAAC,YAAA,EAAW,WAAU,gBACnB,UAAA,6BAAM,WACT;AAAA,YACA,oBAAC,YAAA,EAAW,WAAU,aACnB,uCAAM,UAAA,CACT;AAAA,UAAA,EAAA,CACF;AAAA,QAAA,EAAA,CACF,IAEA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,MAAK;AAAA,YACL,cAAW;AAAA,YACX,iBAAe;AAAA,YACf,iBAAc;AAAA,YACd,WAAW;AAAA,YACX,IAAI,SAAS;AAAA,YACb,OAAM;AAAA,YAEN,UAAA,oBAAC,UAAA,EAAS,WAAU,WAAA,CAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MACjC,GAEJ;AAAA,MACC;AAAA,IAAA,GACH;AAAA,IAGA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,OAAO,EAAE,eAAe;AAAA,QACxB,aAAa,EAAE,4BAA4B,KAAK;AAAA,QAChD,WAAW,MAAM,OAAA;AAAA,QACjB,SAAS;AAAA,QACT,WAAS;AAAA,QACT,UAAS;AAAA,QACT,aAAa;AAAA,UACX,SAAS,EAAE,eAAe;AAAA,UAC1B,QAAQ,EAAE,eAAe;AAAA,QAAA;AAAA,MAC3B;AAAA,IAAA;AAAA,IAGF,oBAAC,oBAAA,EAAmB,WAAsB,aAAA,CAA4B;AAAA,EAAA,GACxE;AAEJ;"}
|
|
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-
|
|
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-
|
|
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-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;AAiEO,SAAS,eAAe,OAAgD;;AAC7E,QAAM;AAAA,IACJ;AAAA;AAAA,IAGA,WAAW,gBAAgB,CAAA;AAAA,IAC3B,iBAAiB;AAAA,IACjB,kBAAkB,uBAAuB;AAAA,IACzC,eAAe,oBAAoB;AAAA,IACnC;AAAA,IACA;AAAA;AAAA,IAGA,WAAW;AAAA,EAAA,IACT;AAEJ,QAAM,WAAWA,eAAAA,YAAA;AACjB,QAAM,EAAE,EAAA,IAAMC,4BAAA;AACd,QAAM,WAAWC,eAAAA,YAAA;AACjB,QAAM,EAAE,QAAQ,KAAA,IAASC,gBAAA;AAGzB,MAAI,qBAAqB;AAAA,IACvB,WAAW,CAAA;AAAA,IACX,iBAAiB,EAAE,OAAO,WAAW,MAAM,MAAM,WAAW,MAAA;AAAA,IAC5D,WAAW;AAAA,IACX,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,OAAO;AAAA,EAAA;AAET,MAAI,WAAgB;AACpB,MAAI,eAAoB,CAAA;AAExB,MAAI,UAAU;AACZ,QAAI;AAGF,YAAM,cAAcC,MAAAA,eAAe,CAAC,UAAe,MAAM,UAAU,EAAE;AACrE,iBAAWC,MAAAA,eAAA;AACX,qBAAe,EAAA,gBAAEC,YAAAA,eAAA;AAEjB,2BAAqB;AAAA,QACnB,aAAW,iBAAY,kBAAZ,mBAA2B,SAAQ,CAAA;AAAA,QAC9C,iBAAiB,YAAY,mBAAmB,mBAAmB;AAAA,QACnE,aAAW,iBAAY,kBAAZ,mBAA2B,cAAa;AAAA,QACnD,SAAO,iBAAY,kBAAZ,mBAA2B,UAAS;AAAA,QAC3C,kBAAkB;AAAA;AAAA,QAClB,SAAO,iBAAY,oBAAZ,mBAA6B,eAAc;AAAA,MAAA;AAAA,IAEtD,SAAS,OAAO;AACd,cAAQ,KAAK,iEAAiE;AAAA,IAChF;AAAA,EACF;AAGA,QAAM;AAAA,IACJ,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,OAAO;AAAA,EAAA,IACLC,oBAAA;AACJ,QAAM,SAASC,gBAAAA,aAAA;AAGf,QAAM,YAAY,WAAW,mBAAmB,YAAa,cAAc,SAAS,IAAI,gBAAgB;AACxG,QAAM,kBAAkB,WAAW,mBAAmB,kBAAmB,uBAAuB;AAChG,QAAM,mBAAmB,WAAW,mBAAmB,YAAa,wBAAwB;AAC5F,QAAM,uBAAuB,WAAW,mBAAmB,QAAS,qBAAqB;AACzF,QAAM,mBAAmB,WAAW,mBAAmB,mBAAmB;AAC1E,QAAM,QAAQ,WAAW,mBAAmB,QAAQ;AAEpD,QAAM,EAAA,UAAEC,eAAa;AACrB,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAA6B,IAAI;AACvE,QAAM,CAAC,oBAAoB,qBAAqB,IAAIC,MAAAA,SAAkB,KAAK;AAC3E,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,MAAAA,SAAyB,IAAI;AACzE,QAAM,CAAC,aAAa,UAAU,IAAIA,MAAAA,SAAoB,CAAA,CAAE;AACxD,QAAM,CAAC,oBAAoB,qBAAqB,IAAIA,MAAAA,SAAwB,IAAI;AAChF,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAS,KAAK;AAEhD,QAAM,SAAS,aAAa,QAAQ,SAAS,KAAK;AAClD,QAAM,WAAW,SAAS,KAAK,MAAM,MAAM,IAAI;AAC/C,QAAM,aAAa,QAAQ,QAAQ;AAEnC,QAAM,2BAA2B,MAC/B,sBAAsB,CAAC,kBAAkB;AAE3C,QAAM,qBAAqBC,MAAAA;AAAAA,IACzB,CAAC,UAA6B;AAC5B,YAAM,cAAkC,MAAM,QAAQ,KAAK,IACvD,MAAM,IAAI,CAAC,UAAkB,EAAE,OAAO,IACtC,CAAC,EAAE,MAAM,OAAO;AAEpB,aAAO,QAAQC,eAAAA,YAAY,aAAa,QAAQ,CAAC;AAAA,IACnD;AAAA,IACA,CAAC,QAAQ;AAAA,EAAA;AAGX,QAAM,2BAA2B,MAAM;AACrC,iBAAa,IAAI;AAAA,EACnB;AAEAC,QAAAA,UAAU,MAAM;AACd,UAAM,aAAa,YAAY;AAAA,MAC7B,CAACC,YAAA;;AACC,iBAAAC,MAAAD,WAAA,gBAAAA,QAAQ,SAAR,gBAAAC,IAAc,mBAAkBN,WAAS,YAAA,KACzC,mBAAmBK,QAAO,eAAe;AAAA;AAAA,IAAA;AAG7C,QAAI,YAAY;AACd,wBAAkB,UAAU;AAAA,IAC9B;AAAA,EACF,GAAG,CAACL,YAAU,aAAa,kBAAkB,CAAC;AAE9CI,QAAAA,UAAU,MAAM;AACd,eAAWG,QAAAA,QAAQ,CAAC,CAAC;AAAA,EACvB,GAAG,CAAC,CAAC,CAAC;AAGN,QAAM,eAAe,CAAC,MAA4C;AAChE,UAAM,YAAY,EAAE,OAAO;AAG3B,0BAAsB,IAAI;AAG1B,QAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AACxC,YAAM,WAAW,EAAE,+BAA+B,KAAK;AACvD,4BAAsB,QAAQ;AAC9B;AAAA,IACF;AAEA,UAAM,iBAAiB,UAAU,KAAK,CAAC,SAAoB,KAAK,SAAS,SAAS;AAElF,QAAI,gBAAgB;AAClB,UAAI;AACF,YAAI,UAAU;AAAA,QAGd,WAAW,kBAAkB;AAC3B,2BAAiB,SAAS;AAAA,QAC5B,OAAO;AACL,6BAAmB,SAAS;AAAA,QAC9B;AAAA,MACF,SAAS,OAAO;AACd,cAAM,WAAW,iBAAiB,QAAQ,MAAM,UAAU;AAC1D,8BAAsB,QAAQ;AAAA,MAChC;AAAA,IACF,OAAO;AACL,YAAM,WAAW,EAAE,6BAA6B,EAAE,UAAU,UAAA,CAAW,KACrE,sBAAsB,SAAS;AACjC,4BAAsB,QAAQ;AAAA,IAChC;AAAA,EACF;AAGA,QAAM,uBAAuB,YAAY;AACvC,0BAAsB,IAAI;AAC1B,QAAI;AACF,UAAI,YAAY,YAAY,aAAa,gBAAgB;AACvD,cAAM,SAAS,aAAa,gBAAgB;AAAA,MAC9C,WAAW,kBAAkB;AAC3B,cAAM,iBAAA;AAAA,MACR,OAAO;AACL,cAAM,mBAAA;AAAA,MACR;AAAA,IACF,SAAS,OAAO;AACd,YAAM,WAAW;AACjB,4BAAsB,QAAQ;AAAA,IAChC;AAAA,EACF;AAEA,QAAM,wBAAwB,CAAC,UAC7B,YAAY,MAAM,aAAa;AAEjC,QAAM,kBAAkB,MAAM;AAC5B,gBAAY,IAAI;AAAA,EAClB;AAEA,QAAM,eAAe,CAAC,UAAe;AACnC,UAAM,eAAe,MAAM,OAAO;AAClC,eAAW,MAAM;AACf,eAAS,YAAY;AAAA,IACvB,GAAG,GAAG;AAAA,EACR;AAEA,QAAM,mBAAmB,MAAM;AAC7B,WAAO,QAAQ,KAAA;AAAA,EACjB;AAGA,QAAM,4BAA4B,MAAc;AAC9C,QAAI,CAAC,gBAAiB,QAAO,EAAE,wBAAwB,KAAK;AAG5D,QAAI,oBAAoB,sBAAsB;AAC5C,aAAO,GAAG,gBAAgB,KAAK;AAAA,IACjC;AAEA,WAAO,gBAAgB;AAAA,EACzB;AAGA,QAAM,wBAAwB,OAAkB;AAAA,IAC9C,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAW;AAAA,EAAA;AAIb,QAAM,0BAA0B,MAAmB;AACjD,QAAI,CAAC,aAAa,UAAU,WAAW,GAAG;AAExC,aAAO,CAAC,uBAAuB;AAAA,IACjC;AAGA,UAAM,aAAa,UAAU,KAAK,CAAA,SAAQ,KAAK,SAAS,IAAI;AAC5D,QAAI,CAAC,YAAY;AACf,aAAO,CAAC,yBAAyB,GAAG,SAAS;AAAA,IAC/C;AAEA,WAAO;AAAA,EACT;AAGA,QAAM,yBAAyB,MAAM;AACnC,UAAM,qBAAqB,wBAAA;AAC3B,UAAM,gBAAe,mDAAiB,SAAQ;AAG9C,QAAI,kBAAkB;AACpB,aACEC,2BAAAA,IAACC,SAAAA,KAAA,EAAI,WAAU,oBACb,UAAAD,+BAACE,WAAAA,YAAA,EAAW,SAAQ,SAAQ,OAAM,kBAC/B,UAAA,aAAA,CACH,GACF;AAAA,IAEJ;AAGA,WACEC,2BAAAA;AAAAA,MAACC,OAAAA;AAAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,MAAK;AAAA,QACL,OAAO;AAAA,QACP,aAAa,MAAM,0BAAA;AAAA,QACnB,OAAO,CAAC,CAAC;AAAA,QACT,WAAW,oBAAoB,uBAAuB,6BAA6B;AAAA,QAElF,UAAA;AAAA,UAAA,mBAAmB,IAAI,CAAC,EAAE,MAAM,YAC/BJ,+BAACK,SAAAA,UAAA,EAAoB,OAAO,MAC1B,UAAAL,2BAAAA;AAAAA,YAACE,WAAAA;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,OAAM;AAAA,cAEL,UAAA;AAAA,YAAA;AAAA,UAAA,EACH,GAPa,IAQf,CACD;AAAA,UAGA,uDACEG,mBAAA,EAAS,SAAS,sBAAsB,OAAO,EAAE,WAAW,SAAA,GAC3D,UAAAF,2BAAAA;AAAAA,YAACD,WAAAA;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,OAAM;AAAA,cACP,UAAA;AAAA,gBAAA;AAAA,gBACK,EAAE,wBAAwB,KAAK;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,EACrC,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AAEA,QAAM,SAAS;AACf,QAAM,aACJC,2BAAAA;AAAAA,IAACG,SAAAA;AAAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,IAAI;AAAA,MACJ,aAAW;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,MAET,UAAA;AAAA,QAAAN,2BAAAA,IAACK,SAAAA,UAAA,EAAS,WAAU,iBAClB,UAAAL,2BAAAA,IAAC,UAAM,UAAA,EAAE,uBAAuB,KAAK,iBAAA,CAAiB,EAAA,CACxD;AAAA,wCACCK,SAAAA,UAAA,EAAS,WAAU,kBAAiB,OAAO,SAAS,SACnD,UAAA;AAAA,UAAAL,2BAAAA,IAACO,SAAAA,cAAA,EACC,yCAACC,OAAAA,QAAA,EAAO,MAAM,IAAI,KAAK,SAAS,WAAW,EAAA,CAC7C;AAAA,UACAR,2BAAAA,IAACS,SAAAA,cAAA,EAAa,WAAU,UACrB,mBAAS,WACZ;AAAA,UACAT,2BAAAA,IAACE,WAAAA,YAAA,EAAW,SAAQ,SAAQ,OAAM,kBAChC,UAAAF,2BAAAA,IAAC,OAAA,EAAI,KAAKU,OAAAA,QAAO,UAAU,KAAI,UAAS,EAAA,CAC1C;AAAA,QAAA,GACF;AAAA,uCACCC,SAAAA,SAAA,EAAQ;AAAA,QACTR,2BAAAA;AAAAA,UAACE,SAAAA;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,uCAAA;AACA,0BAAY,IAAI;AAAA,YAClB;AAAA,YAEA,UAAA;AAAA,cAAAL,2BAAAA,IAACO,SAAAA,cAAA,EACC,UAAAP,2BAAAA,IAACY,IAAAA,KAAA,EAAI,UAAS,UAAS,OAAO,IAAI,QAAQ,IAAI,WAAU,UAAA,CAAU,GACpE;AAAA,6CACCH,SAAAA,cAAA,EAAa,WAAU,UAAU,UAAA,EAAE,wBAAwB,EAAA,CAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,uCAE/DE,SAAAA,SAAA,EAAQ;AAAA,QACTR,2BAAAA;AAAAA,UAACE,SAAAA;AAAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAAS,MAAM;AACb,uCAAA;AACA,0BAAY,IAAI;AAAA,YAClB;AAAA,YAEA,UAAA;AAAA,cAAAL,2BAAAA,IAACO,SAAAA,cAAA,EACC,yCAAC,OAAA,EAAI,KAAKG,OAAAA,QAAO,QAAQ,KAAI,UAAS,EAAA,CACxC;AAAA,6CACCD,SAAAA,cAAA,EAAa,WAAU,UAAU,UAAA,EAAE,eAAe,EAAA,CAAE;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACvD;AAAA,IAAA;AAAA,EAAA;AAIJ,QAAM,UAAUlB,gBAAAA,aAAA,EAAe,WAAWmB,OAAAA,QAAO;AAEjD,SACEP,2BAAAA,KAAAU,qBAAA,EACE,UAAA;AAAA,IAAAV,2BAAAA,KAACF,SAAAA,KAAA,EAAI,WAAU,YACZ,UAAA;AAAA,MAAA,CAAC,kBACAD,+BAACc,eAAAA,MAAA,EAAK,IAAI,OAAOC,SAAAA,SAAS,YAAYA,SAAAA,SAAS,OAC7C,UAAAf,+BAAC,SAAI,KAAK,SAAS,KAAI,QAAO,QAAQ,IAAG,GAC3C;AAAA,MAEFA,+BAACC,SAAAA,KAAA,EAAI,WAAU,cACZ,4BACCE,2BAAAA,KAAAU,qBAAA,EACE,UAAA;AAAA,QAAAb,2BAAAA,IAACgB,SAAAA,YAAA,EAAW,SAAS,kBACnB,UAAAhB,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,QAAQ,sBAAsB;AAAA,UAAA;AAAA,QAAA,GAE7C;AAAA,QACAA,2BAAAA,IAACC,SAAAA,KAAA,EAAI,OAAO,KACV,UAAAD,2BAAAA;AAAAA,UAACI,OAAAA;AAAAA,UAAA;AAAA,YACC,WAAS;AAAA,YACT,aAAY;AAAA,YACZ,MAAM;AAAA,YACN,QAAO,iDAAgB,SAAQ;AAAA,YAC/B,UAAU;AAAA,YACV,WAAU;AAAA,YACV,SAAQ;AAAA,YACR,aAAa,CAAC,UACZJ,+BAAAa,WAAAA,UAAA,EACG,2BACCV,2BAAAA,KAACF,SAAAA,KAAA,EAAI,WAAU,qBACb,UAAA;AAAA,cAAAD,2BAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,KAAK,eAAe;AAAA,kBACpB,KAAK,eAAe;AAAA,gBAAA;AAAA,cAAA;AAAA,cAErB,eAAe;AAAA,YAAA,EAAA,CAClB,IAEA,OAEJ;AAAA,YAGD,UAAA,YAAY,IAAI,CAACH,SAAa,UAC7BM,2BAAAA;AAAAA,cAACE,SAAAA;AAAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAOR,QAAO;AAAA,gBAGd,UAAA;AAAA,kBAAAG,+BAAC,SAAI,KAAKH,QAAO,MAAM,KAAKA,QAAO,OAAO;AAAA,kBACzCA,QAAO;AAAA,gBAAA;AAAA,cAAA;AAAA,cAHH;AAAA,YAAA,CAKR;AAAA,UAAA;AAAA,QAAA,EACH,CACF;AAAA,MAAA,EAAA,CACF,EAAA,CAEJ;AAAA,MACAM,2BAAAA,KAACF,SAAAA,KAAA,EAAI,WAAU,qBAEb,UAAA;AAAA,QAAAD,2BAAAA,IAACC,SAAAA,KAAA,EAAI,WAAU,6BACZ,UAAA,uBAAA,GACH;AAAA,uCAECgB,iBAAAA,kBAAA,EAAiB;AAAA,QAClBjB,2BAAAA;AAAAA,UAACgB,SAAAA;AAAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,WAAU;AAAA,YAEV,yCAAC,OAAA,EAAI,KAAKE,OAAAA,QAAK,UAAU,KAAI,gBAAA,CAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,uCAE9C,OAAA,EAAI,KAAKA,OAAAA,QAAK,UAAU,KAAI,gBAAe;AAAA,QAC3C,aAAa,QAAQ,MAAM,oCACzBjB,SAAAA,KAAA,EAAI,WAAU,oBAAmB,SAAS,uBACzC,UAAA;AAAA,UAAAD,2BAAAA;AAAAA,YAACQ,OAAAA;AAAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,MAAK,6BAAM,iBAAgB,GAAG,iCAAQ,WAAW,GAAG,6BAAM,aAAa,KAAK;AAAA,cAC5E,KAAKW,iBAAAA,QAAW,6BAAM,SAAS;AAAA,cAC/B,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,0CAEX,OAAA,EACC,UAAA;AAAA,YAAAnB,2BAAAA,IAACE,WAAAA,YAAA,EAAW,WAAU,gBACnB,UAAA,6BAAM,WACT;AAAA,YACAF,2BAAAA,IAACE,WAAAA,YAAA,EAAW,WAAU,aACnB,uCAAM,UAAA,CACT;AAAA,UAAA,EAAA,CACF;AAAA,QAAA,EAAA,CACF,IAEAF,2BAAAA;AAAAA,UAACgB,SAAAA;AAAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,MAAK;AAAA,YACL,cAAW;AAAA,YACX,iBAAe;AAAA,YACf,iBAAc;AAAA,YACd,WAAWF,eAAAA;AAAAA,YACX,IAAIC,SAAAA,SAAS;AAAA,YACb,OAAM;AAAA,YAEN,UAAAf,2BAAAA,IAAC,UAAA,EAAS,WAAU,WAAA,CAAW;AAAA,UAAA;AAAA,QAAA;AAAA,MACjC,GAEJ;AAAA,MACC;AAAA,IAAA,GACH;AAAA,IAGAA,2BAAAA;AAAAA,MAACoB,aAAAA;AAAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,OAAO,EAAE,eAAe;AAAA,QACxB,aAAa,EAAE,4BAA4B,KAAK;AAAA,QAChD,WAAW,MAAM,OAAA;AAAA,QACjB,SAAS;AAAA,QACT,WAAS;AAAA,QACT,UAAS;AAAA,QACT,aAAa;AAAA,UACX,SAAS,EAAE,eAAe;AAAA,UAC1B,QAAQ,EAAE,eAAe;AAAA,QAAA;AAAA,MAC3B;AAAA,IAAA;AAAA,IAGFpB,2BAAAA,IAACqB,mBAAAA,oBAAA,EAAmB,WAAsB,aAAA,CAA4B;AAAA,EAAA,GACxE;AAEJ;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./api-CZGorfuI.esm.js";
|
|
2
|
-
import "./api-
|
|
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-
|
|
550
|
+
//# sourceMappingURL=index-ALqg8b5U.esm.js.map
|