@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
package/dist/chunks/{useAccountSetting-DsU5zsjb.esm.js.map → useAccountSetting-vAqgEiJB.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAccountSetting-DsU5zsjb.esm.js","sources":["../../src/hooks/useAccountSetting.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};"],"names":["data","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useAccountSetting-vAqgEiJB.esm.js","sources":["../../src/hooks/useAccountSetting.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};"],"names":["data","_a"],"mappings":"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"}
|
package/dist/chunks/{useCheckSkuAndName-5ua30aZf.esm.js → useCheckSkuAndName-Dl24wQO-.esm.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
|
-
import { h as checkSkuAndItemName } from "./api-
|
|
2
|
+
import { h as checkSkuAndItemName } from "./api-BIVCMSwW.esm.js";
|
|
3
3
|
const useNameSkuUniquenessCheck = ({
|
|
4
4
|
fieldPrefix,
|
|
5
5
|
formMethods,
|
|
@@ -47,4 +47,4 @@ const useNameSkuUniquenessCheck = ({
|
|
|
47
47
|
export {
|
|
48
48
|
useNameSkuUniquenessCheck as u
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=useCheckSkuAndName-
|
|
50
|
+
//# sourceMappingURL=useCheckSkuAndName-Dl24wQO-.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCheckSkuAndName-
|
|
1
|
+
{"version":3,"file":"useCheckSkuAndName-Dl24wQO-.esm.js","sources":["../../src/hooks/useCheckSkuAndName.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { checkSkuAndItemName } from '../utils/common';\n\nexport interface IUseNameSkuUniquenessCheckProps {\n fieldPrefix: string;\n formMethods: any;\n data?: any;\n}\n\nexport const useNameSkuUniquenessCheck = ({\n fieldPrefix,\n formMethods,\n data,\n}: IUseNameSkuUniquenessCheckProps) => {\n const { watch=()=>{}, setError=()=>{} } = formMethods||{};\n const formValues = watch(fieldPrefix);\n\n const namePrev = data?.name;\n const skuPrev= data?.sku\n const checkNameAndSkuUniqueness = useCallback(async () => {\n let isUnique=true; \n\n try {\n if(namePrev===formValues?.name && skuPrev===formValues?.sku) return true;\n const response = await checkSkuAndItemName({\n name: formValues?.name,\n sku: formValues?.sku,\n ...(data?.id && { id: data?.id }),\n });\n if (response.name) {\n setError(`${fieldPrefix}.name`, {\n message: 'Name already exists',\n type: 'manual',\n ref: `${fieldPrefix}.name`,\n });\n isUnique=false;\n }\n\n if (response.sku) {\n setError(`${fieldPrefix}.sku`, {\n message: 'SKU already exists',\n type: 'manual',\n ref: `${fieldPrefix}.sku`,\n });\n isUnique=false;\n }\n\n return isUnique;\n } catch (error) {\n console.error('Uniqueness check failed:', error);\n return isUnique;\n }\n //eslint-disable-next-line\n }, [formValues?.name, formValues?.sku, setError]);\n\n return { checkNameAndSkuUniqueness };\n};\n\nexport default useNameSkuUniquenessCheck;\n"],"names":[],"mappings":";;AASO,MAAM,4BAA4B,CAAC;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AACF,MAAuC;AACrC,QAAM,EAAE,QAAM,MAAI;AAAA,EAAC,GAAG,WAAS,MAAI;AAAA,EAAC,EAAA,IAAM,eAAa,CAAA;AACvD,QAAM,aAAa,MAAM,WAAW;AAEpC,QAAM,WAAW,6BAAM;AACvB,QAAM,UAAS,6BAAM;AACrB,QAAM,4BAA4B,YAAY,YAAY;AAC3D,QAAI,WAAS;AAEV,QAAI;AACF,UAAG,cAAW,yCAAY,SAAQ,aAAU,yCAAY,KAAK,QAAO;AACpE,YAAM,WAAW,MAAM,oBAAoB;AAAA,QACzC,MAAM,yCAAY;AAAA,QAClB,KAAK,yCAAY;AAAA,QACjB,IAAI,6BAAM,OAAM,EAAE,IAAI,6BAAM,GAAA;AAAA,MAAG,CAChC;AACD,UAAI,SAAS,MAAM;AACjB,iBAAS,GAAG,WAAW,SAAS;AAAA,UAC9B,SAAS;AAAA,UACT,MAAM;AAAA,UACN,KAAK,GAAG,WAAW;AAAA,QAAA,CACpB;AACD,mBAAS;AAAA,MACX;AAEA,UAAI,SAAS,KAAK;AAChB,iBAAS,GAAG,WAAW,QAAQ;AAAA,UAC7B,SAAS;AAAA,UACT,MAAM;AAAA,UACN,KAAK,GAAG,WAAW;AAAA,QAAA,CACpB;AACD,mBAAS;AAAA,MACX;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,MAAM,4BAA4B,KAAK;AAC/C,aAAO;AAAA,IACT;AAAA,EAEF,GAAG,CAAC,yCAAY,MAAM,yCAAY,KAAK,QAAQ,CAAC;AAEhD,SAAO,EAAE,0BAAA;AACX;"}
|
package/dist/chunks/{useReduxIntegration-BlLpfwk6.esm.js → useReduxIntegration-DZBfKF7d.esm.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { u as useERPUI } from "./ERPUIProvider-
|
|
1
|
+
import { u as useERPUI } from "./ERPUIProvider-I4j_X_SD.esm.js";
|
|
2
2
|
const useReduxIntegration = () => {
|
|
3
3
|
const { useRedux, apiClient } = useERPUI();
|
|
4
4
|
const useConditionalRedux = (reduxHook, fallbackValue) => {
|
|
@@ -36,4 +36,4 @@ const useReduxIntegration = () => {
|
|
|
36
36
|
export {
|
|
37
37
|
useReduxIntegration as u
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=useReduxIntegration-
|
|
39
|
+
//# sourceMappingURL=useReduxIntegration-DZBfKF7d.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useReduxIntegration-
|
|
1
|
+
{"version":3,"file":"useReduxIntegration-DZBfKF7d.esm.js","sources":["../../src/hooks/useReduxIntegration.ts"],"sourcesContent":["import { useERPUI } from '../components/providers/ERPUIProvider';\n\n/**\n * Hook to determine Redux integration status and provide conditional Redux usage\n */\nexport const useReduxIntegration = () => {\n const { useRedux, apiClient } = useERPUI();\n \n // Helper function to conditionally use Redux hooks\n const useConditionalRedux = <T>(\n reduxHook: () => T,\n fallbackValue: T\n ): T => {\n if (!useRedux) {\n return fallbackValue;\n }\n \n try {\n return reduxHook();\n } catch (error) {\n console.warn('Redux hook failed, falling back to default value:', error);\n return fallbackValue;\n }\n };\n \n // Helper function to conditionally dispatch Redux actions\n const conditionalDispatch = (action: any) => {\n if (!useRedux) {\n console.warn('Redux not enabled, cannot dispatch action:', action);\n return Promise.resolve();\n }\n \n try {\n const { useAppDispatch } = require('../redux/hooks');\n const dispatch = useAppDispatch();\n return dispatch(action);\n } catch (error) {\n console.error('Failed to dispatch Redux action:', error);\n return Promise.reject(error);\n }\n };\n \n return {\n useRedux,\n apiClient,\n useConditionalRedux,\n conditionalDispatch,\n };\n};"],"names":[],"mappings":";AAKO,MAAM,sBAAsB,MAAM;AACvC,QAAM,EAAE,UAAU,UAAA,IAAc,SAAA;AAGhC,QAAM,sBAAsB,CAC1B,WACA,kBACM;AACN,QAAI,CAAC,UAAU;AACb,aAAO;AAAA,IACT;AAEA,QAAI;AACF,aAAO,UAAA;AAAA,IACT,SAAS,OAAO;AACd,cAAQ,KAAK,qDAAqD,KAAK;AACvE,aAAO;AAAA,IACT;AAAA,EACF;AAGA,QAAM,sBAAsB,CAAC,WAAgB;AAC3C,QAAI,CAAC,UAAU;AACb,cAAQ,KAAK,8CAA8C,MAAM;AACjE,aAAO,QAAQ,QAAA;AAAA,IACjB;AAEA,QAAI;AACF,YAAM,EAAE,eAAA,IAAmB,QAAQ,gBAAgB;AACnD,YAAM,WAAW,eAAA;AACjB,aAAO,SAAS,MAAM;AAAA,IACxB,SAAS,OAAO;AACd,cAAQ,MAAM,oCAAoC,KAAK;AACvD,aAAO,QAAQ,OAAO,KAAK;AAAA,IAC7B;AAAA,EACF;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|
package/dist/chunks/{useUniquenessCheck-CiR2q5bM.esm.js → useUniquenessCheck-bYjnp_0P.esm.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useMemo } from "react";
|
|
2
|
-
import { i as checkUniqueFields } from "./api-
|
|
2
|
+
import { i as checkUniqueFields } from "./api-BIVCMSwW.esm.js";
|
|
3
3
|
function useUniquenessCheck({ fieldPrefix, formMethods, data = {}, fields = [] }) {
|
|
4
4
|
const { watch = () => {
|
|
5
5
|
}, setError = () => {
|
|
@@ -36,4 +36,4 @@ function useUniquenessCheck({ fieldPrefix, formMethods, data = {}, fields = [] }
|
|
|
36
36
|
export {
|
|
37
37
|
useUniquenessCheck as u
|
|
38
38
|
};
|
|
39
|
-
//# sourceMappingURL=useUniquenessCheck-
|
|
39
|
+
//# sourceMappingURL=useUniquenessCheck-bYjnp_0P.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUniquenessCheck-
|
|
1
|
+
{"version":3,"file":"useUniquenessCheck-bYjnp_0P.esm.js","sources":["../../src/hooks/useUniquenessCheck.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { checkUniqueFields } from '../utils/common'\n\nexport default function useUniquenessCheck({ fieldPrefix, formMethods, data = {}, fields = [] }) {\n\tconst { watch = () => { }, setError = () => { }, formState = {} } = formMethods || {}\n\n\tconst formValues = watch(fieldPrefix)\n\n\t// Stable reference\n\tconst previous = useMemo(() => data || {}, [data])\n\n\tconst checkUniqueness = async () => {\n\t\tlet isUnique = true\n\n\t\ttry {\n\t\t\t// Skip check if no changes\n\t\t\tconst nothingChanged = fields.every((field) => previous[field] === formValues?.[field])\n\n\t\t\tif (nothingChanged) return true\n\n\t\t\t// Build payload\n\t\t\tconst payload = {}\n\t\t\tfields.forEach((field) => (payload[field] = formValues?.[field]))\n\n\t\t\tif (data?.id) payload.id = data.id\n\n\t\t\t// API call\n\t\t\tconst response = await checkUniqueFields(payload)\n\n\t\t\t// Loop through API response\n\t\t\tfor (const [field, exists] of Object.entries(response)) {\n\t\t\t\tif (exists) {\n\t\t\t\t\tconst errorPath = `${fieldPrefix}.${field}`\n\t\t\t\t\tsetError(errorPath, {\n\t\t\t\t\t\ttype: 'manual',\n\t\t\t\t\t\tmessage: `${field.replace(/_/g, ' ').toLowerCase()} already exists`,\n\t\t\t\t\t})\n\n\t\t\t\t\tisUnique = false\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn isUnique\n\t\t} catch (error) {\n\t\t\tconsole.error('Uniqueness check failed:', error)\n\t\t\treturn isUnique\n\t\t}\n\t}\n\n\treturn { checkUniqueness }\n}\n"],"names":[],"mappings":";;AAGA,SAAwB,mBAAmB,EAAE,aAAa,aAAa,OAAO,IAAI,SAAS,CAAA,KAAM;AAChG,QAAM,EAAE,QAAQ,MAAM;AAAA,EAAE,GAAG,WAAW,MAAM;AAAA,EAAE,GAAG,YAAY,GAAC,IAAM,eAAe,CAAA;AAEnF,QAAM,aAAa,MAAM,WAAW;AAGpC,QAAM,WAAW,QAAQ,MAAM,QAAQ,CAAA,GAAI,CAAC,IAAI,CAAC;AAEjD,QAAM,kBAAkB,YAAY;AACnC,QAAI,WAAW;AAEf,QAAI;AAEH,YAAM,iBAAiB,OAAO,MAAM,CAAC,UAAU,SAAS,KAAK,OAAM,yCAAa,OAAM;AAEtF,UAAI,eAAgB,QAAO;AAG3B,YAAM,UAAU,CAAA;AAChB,aAAO,QAAQ,CAAC,UAAW,QAAQ,KAAK,IAAI,yCAAa,MAAO;AAEhE,UAAI,6BAAM,GAAI,SAAQ,KAAK,KAAK;AAGhC,YAAM,WAAW,MAAM,kBAAkB,OAAO;AAGhD,iBAAW,CAAC,OAAO,MAAM,KAAK,OAAO,QAAQ,QAAQ,GAAG;AACvD,YAAI,QAAQ;AACX,gBAAM,YAAY,GAAG,WAAW,IAAI,KAAK;AACzC,mBAAS,WAAW;AAAA,YACnB,MAAM;AAAA,YACN,SAAS,GAAG,MAAM,QAAQ,MAAM,GAAG,EAAE,aAAa;AAAA,UAAA,CAClD;AAED,qBAAW;AAAA,QACZ;AAAA,MACD;AAEA,aAAO;AAAA,IACR,SAAS,OAAO;AACf,cAAQ,MAAM,4BAA4B,KAAK;AAC/C,aAAO;AAAA,IACR;AAAA,EACD;AAEA,SAAO,EAAE,gBAAA;AACV;"}
|
package/dist/chunks/{useVendorAICompare-DMJvJJ3Y.esm.js → useVendorAICompare-DZRFDk4i.esm.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useState } from "react";
|
|
2
|
-
import { ab as getToken } from "./api-
|
|
2
|
+
import { ab as getToken } from "./api-BIVCMSwW.esm.js";
|
|
3
3
|
import { p as postV1AiVendorInsights } from "./api-Bl6wVi9D.esm.js";
|
|
4
4
|
const useVendorAICompare = (companyId) => {
|
|
5
5
|
const [compareData, setCompareData] = useState(null);
|
|
@@ -28,4 +28,4 @@ const useVendorAICompare = (companyId) => {
|
|
|
28
28
|
export {
|
|
29
29
|
useVendorAICompare as u
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=useVendorAICompare-
|
|
31
|
+
//# sourceMappingURL=useVendorAICompare-DZRFDk4i.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVendorAICompare-
|
|
1
|
+
{"version":3,"file":"useVendorAICompare-DZRFDk4i.esm.js","sources":["../../src/hooks/useVendorAICompare.ts"],"sourcesContent":["import { useState } from 'react';\nimport { getToken } from '../utils/common';\nimport { postV1AiVendorInsights } from '../api-client/api.ai-feature/api';\n\nexport const useVendorAICompare = (companyId: string | number | undefined) => {\n const [compareData, setCompareData] = useState<any>(null);\n const [compareLoading, setCompareLoading] = useState(false);\n const [compareError, setCompareError] = useState(false);\n\n const handleCompare = async (vendorIds: number[]) => {\n const cid = companyId || \"\";\n setCompareLoading(true);\n setCompareError(false);\n try {\n const res: any = await postV1AiVendorInsights({\n companyId: cid,\n vendorIds,\n ...(getToken() as any),\n });\n setCompareData(res?.data?.data ?? res?.data ?? null);\n } catch (e) {\n setCompareError(true);\n } finally {\n setCompareLoading(false);\n }\n };\n\n return { compareData, compareLoading, compareError, handleCompare, setCompareData };\n};\n"],"names":[],"mappings":";;;AAIO,MAAM,qBAAqB,CAAC,cAA2C;AAC5E,QAAM,CAAC,aAAa,cAAc,IAAI,SAAc,IAAI;AACxD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAC1D,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,KAAK;AAEtD,QAAM,gBAAgB,OAAO,cAAwB;;AACnD,UAAM,MAAM,aAAa;AACzB,sBAAkB,IAAI;AACtB,oBAAgB,KAAK;AACrB,QAAI;AACF,YAAM,MAAW,MAAM,uBAAuB;AAAA,QAC5C,WAAW;AAAA,QACX;AAAA,QACA,GAAI,SAAA;AAAA,MAAS,CACd;AACD,uBAAe,gCAAK,SAAL,mBAAW,UAAQ,2BAAK,SAAQ,IAAI;AAAA,IACrD,SAAS,GAAG;AACV,sBAAgB,IAAI;AAAA,IACtB,UAAA;AACE,wBAAkB,KAAK;AAAA,IACzB;AAAA,EACF;AAEA,SAAO,EAAE,aAAa,gBAAgB,cAAc,eAAe,eAAA;AACrE;"}
|
|
@@ -6,7 +6,7 @@ const textField = require("./text-field-Bdux43lV.js");
|
|
|
6
6
|
;/* empty css */
|
|
7
7
|
const datePicker = require("./date-picker-C0qJ2Ceq.js");
|
|
8
8
|
const dayjs = require("dayjs");
|
|
9
|
-
const searchableSelect = require("./searchable-select-
|
|
9
|
+
const searchableSelect = require("./searchable-select-_DCkITfk.js");
|
|
10
10
|
const utils_formatText = require("../utils/format-text/index.js");
|
|
11
11
|
const api = require("./api-EomXz8pk.js");
|
|
12
12
|
const api$1 = require("./api-D3c7E20L.js");
|
|
@@ -132,4 +132,4 @@ const ValueEditor = (props) => {
|
|
|
132
132
|
return /* @__PURE__ */ jsxRuntime.jsx(material.Box, { width: "100%", children: renderOptions() });
|
|
133
133
|
};
|
|
134
134
|
exports.ValueEditor = ValueEditor;
|
|
135
|
-
//# sourceMappingURL=value-editor-
|
|
135
|
+
//# sourceMappingURL=value-editor-BSS9Ns2T.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-editor-
|
|
1
|
+
{"version":3,"file":"value-editor-BSS9Ns2T.js","sources":["../../src/components/filter/components/value-editor.tsx"],"sourcesContent":["import { useMemo, useCallback } from 'react';\nimport { Box } from '@mui/material';\nimport TextField from '../../text-field/text-field';\nimport { ValueEditorProps } from 'react-querybuilder';\nimport '../filter.scss';\nimport DatePicker from '../../date-picker/date-picker';\nimport dayjs from 'dayjs';\n\nimport SearchableSelect from '../../searchable-select';\nimport _ from 'lodash';\nimport { formatLabel } from '../../../utils/format-text';\nimport { getToken } from '@/utils';\nimport { getV1FilterFilterTable } from '../../../api-client/api.system-feature/api';\n\nconst getFilterTableFields = async (\n\ttableName: string,\n\tsearchText: string,\n\tlimit: number,\n\toffset: number = 0\n) => {\n\ttry {\n\t\tconst tokenObj = getToken();\n\t\tconst response = await getV1FilterFilterTable({\n\t\t\ttable: tableName,\n\t\t\tsearch: searchText,\n\t\t\tlimit: limit,\n\t\t\toffset: offset,\n\t\t\t'x-token': tokenObj['x-token'],\n\t\t\t'x-timezone': String(tokenObj['x-timezone'])\n\t\t});\n\n\t\t// response could be of several types, but use optional chaining and type narrowing\n\t\tif ('data' in response && response.data) {\n\t\t\tconst result: any[] = (response.data as any)?.result ?? [];\n\t\t\tconst totalCount: number = (response as any)?.pagination?.totalCount ?? result.length;\n\t\t\tconst items = result.map((r: any) => ({ label: r.name, value: r.id }));\n\t\t\treturn { items, totalCount };\n\t\t}\n\t\treturn { items: [], totalCount: 0 };\n\t} catch {\n\t\treturn { items: [], totalCount: 0 };\n\t}\n};\n\nconst ValueEditor = (props: ValueEditorProps) => {\n\t// eslint-disable-next-line\n\tlet { values, value, handleOnChange, fieldData, rule, ...rest } = props;\n\n\tif (!value && fieldData.inputType == 'select') {\n\t\tvalue = null;\n\t} else if (!Array.isArray(value) && fieldData.inputType == 'select') {\n\t\tvalue = [];\n\t}\n\n\tconst isDisabled = useMemo(() => {\n\t\treturn rule.operator === 'null' || rule.operator === 'notNull';\n\t}, [rule.operator]);\n\n\tconst customFetch = useCallback(\n\t\tasync (params: any) => {\n\t\t\tconst search = params?.search || '';\n\t\t\tconst limit = params?.limit || 25;\n\t\t\tconst offset = params?.skip || 0;\n\t\t\tif (fieldData.table) {\n\t\t\t\tconst data = await getFilterTableFields(fieldData.table, search, limit, offset);\n\t\t\t\tconst optionData = data.items.map((r: any) => ({ id: r.value, value: r.value, label: r.label }));\n\t\t\t\treturn { data: optionData, pagination: { totalCount: data.totalCount } };\n\t\t\t} else {\n\t\t\t\t// const searchedOptions =\n\t\t\t\t// \tvalues?.filter((opt) => opt.label?.toLowerCase().includes(search.toLowerCase())) ||\n\t\t\t\t// \t[];\n\t\t\t\tconst optionData = values?.map((item: any) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tvalue: item?.name,\n\t\t\t\t\tlabel: item.label ? formatLabel(item.label) : ''\n\t\t\t\t}));\n\t\t\t\treturn {\n\t\t\t\t\tdata: optionData,\n\t\t\t\t\tpagination: { totalCount: optionData.length }\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t[fieldData.table, values]\n\t);\n\n\tconst renderOptions = () => {\n\t\tswitch (fieldData.inputType) {\n\t\t\tcase 'select':\n\t\t\t\treturn (\n\t\t\t\t\t<SearchableSelect\n\t\t\t\t\t\tkey={fieldData.name}\n\t\t\t\t\t\tlabel=''\n\t\t\t\t\t\tname='insurance_account'\n\t\t\t\t\t\tplaceholder='Select'\n\t\t\t\t\t\tonChange={(e: any, selected: any) => {\n\t\t\t\t\t\t\tconst mappedValue = selected?.map((i: any) => ({\n\t\t\t\t\t\t\t\t...i,\n\t\t\t\t\t\t\t\tname: i?.value\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\thandleOnChange(mappedValue)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={value?.map(i => i?.value)}\n\t\t\t\t\t\tmultiple={true}\n\t\t\t\t\t\tcustomFetchApi={customFetch}\n\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\tonChipRemove={() => handleOnChange([])}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 'date':\n\t\t\t\treturn (\n\t\t\t\t\t<DatePicker\n\t\t\t\t\t\tonChange={(val) =>\n\t\t\t\t\t\t\thandleOnChange(\n\t\t\t\t\t\t\t\tdayjs(val).isValid() ? dayjs(val).format('YYYY-MM-DD') : ''\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={value ? dayjs(value) : null}\n\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\tslotProps={{\n\t\t\t\t\t\t\ttextField: {\n\t\t\t\t\t\t\t\tplaceholder: 'YYYY-MM-DD',\n\t\t\t\t\t\t\t\tclassName: 'select-drps'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tformat='YYYY-MM-DD'\n\t\t\t\t\t/>\n\t\t\t\t);\n\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<TextField\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\thandleOnChange(e.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\tinputProps={{\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tfontSize: '0.8125rem'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName='select-drps'\n\t\t\t\t\t\ttype={fieldData.inputType}\n\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t}\n\t};\n\n\treturn <Box width='100%'>{renderOptions()}</Box>;\n};\n\nexport { ValueEditor };\nexport default ValueEditor;\n"],"names":["getToken","getV1FilterFilterTable","useMemo","useCallback","formatLabel","jsx","SearchableSelect","DatePicker","TextField","Box"],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ import { T as TextField } from "./text-field-CPrqrrio.esm.js";
|
|
|
5
5
|
/* empty css */
|
|
6
6
|
import { D as DatePicker } from "./date-picker-CqiwV3fq.esm.js";
|
|
7
7
|
import dayjs from "dayjs";
|
|
8
|
-
import { S as SearchableSelect } from "./searchable-select-
|
|
8
|
+
import { S as SearchableSelect } from "./searchable-select-0F6E4XAr.esm.js";
|
|
9
9
|
import { formatLabel } from "../utils/format-text/index.esm.js";
|
|
10
|
-
import { ab as getToken } from "./api-
|
|
11
|
-
import { e as getV1FilterFilterTable } from "./api-
|
|
10
|
+
import { ab as getToken } from "./api-BIVCMSwW.esm.js";
|
|
11
|
+
import { e as getV1FilterFilterTable } from "./api-DBmWILBN.esm.js";
|
|
12
12
|
const getFilterTableFields = async (tableName, searchText, limit, offset = 0) => {
|
|
13
13
|
var _a, _b;
|
|
14
14
|
try {
|
|
@@ -133,4 +133,4 @@ const ValueEditor = (props) => {
|
|
|
133
133
|
export {
|
|
134
134
|
ValueEditor as V
|
|
135
135
|
};
|
|
136
|
-
//# sourceMappingURL=value-editor-
|
|
136
|
+
//# sourceMappingURL=value-editor-DQ1qgZ2u.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-editor-
|
|
1
|
+
{"version":3,"file":"value-editor-DQ1qgZ2u.esm.js","sources":["../../src/components/filter/components/value-editor.tsx"],"sourcesContent":["import { useMemo, useCallback } from 'react';\nimport { Box } from '@mui/material';\nimport TextField from '../../text-field/text-field';\nimport { ValueEditorProps } from 'react-querybuilder';\nimport '../filter.scss';\nimport DatePicker from '../../date-picker/date-picker';\nimport dayjs from 'dayjs';\n\nimport SearchableSelect from '../../searchable-select';\nimport _ from 'lodash';\nimport { formatLabel } from '../../../utils/format-text';\nimport { getToken } from '@/utils';\nimport { getV1FilterFilterTable } from '../../../api-client/api.system-feature/api';\n\nconst getFilterTableFields = async (\n\ttableName: string,\n\tsearchText: string,\n\tlimit: number,\n\toffset: number = 0\n) => {\n\ttry {\n\t\tconst tokenObj = getToken();\n\t\tconst response = await getV1FilterFilterTable({\n\t\t\ttable: tableName,\n\t\t\tsearch: searchText,\n\t\t\tlimit: limit,\n\t\t\toffset: offset,\n\t\t\t'x-token': tokenObj['x-token'],\n\t\t\t'x-timezone': String(tokenObj['x-timezone'])\n\t\t});\n\n\t\t// response could be of several types, but use optional chaining and type narrowing\n\t\tif ('data' in response && response.data) {\n\t\t\tconst result: any[] = (response.data as any)?.result ?? [];\n\t\t\tconst totalCount: number = (response as any)?.pagination?.totalCount ?? result.length;\n\t\t\tconst items = result.map((r: any) => ({ label: r.name, value: r.id }));\n\t\t\treturn { items, totalCount };\n\t\t}\n\t\treturn { items: [], totalCount: 0 };\n\t} catch {\n\t\treturn { items: [], totalCount: 0 };\n\t}\n};\n\nconst ValueEditor = (props: ValueEditorProps) => {\n\t// eslint-disable-next-line\n\tlet { values, value, handleOnChange, fieldData, rule, ...rest } = props;\n\n\tif (!value && fieldData.inputType == 'select') {\n\t\tvalue = null;\n\t} else if (!Array.isArray(value) && fieldData.inputType == 'select') {\n\t\tvalue = [];\n\t}\n\n\tconst isDisabled = useMemo(() => {\n\t\treturn rule.operator === 'null' || rule.operator === 'notNull';\n\t}, [rule.operator]);\n\n\tconst customFetch = useCallback(\n\t\tasync (params: any) => {\n\t\t\tconst search = params?.search || '';\n\t\t\tconst limit = params?.limit || 25;\n\t\t\tconst offset = params?.skip || 0;\n\t\t\tif (fieldData.table) {\n\t\t\t\tconst data = await getFilterTableFields(fieldData.table, search, limit, offset);\n\t\t\t\tconst optionData = data.items.map((r: any) => ({ id: r.value, value: r.value, label: r.label }));\n\t\t\t\treturn { data: optionData, pagination: { totalCount: data.totalCount } };\n\t\t\t} else {\n\t\t\t\t// const searchedOptions =\n\t\t\t\t// \tvalues?.filter((opt) => opt.label?.toLowerCase().includes(search.toLowerCase())) ||\n\t\t\t\t// \t[];\n\t\t\t\tconst optionData = values?.map((item: any) => ({\n\t\t\t\t\t...item,\n\t\t\t\t\tvalue: item?.name,\n\t\t\t\t\tlabel: item.label ? formatLabel(item.label) : ''\n\t\t\t\t}));\n\t\t\t\treturn {\n\t\t\t\t\tdata: optionData,\n\t\t\t\t\tpagination: { totalCount: optionData.length }\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\t[fieldData.table, values]\n\t);\n\n\tconst renderOptions = () => {\n\t\tswitch (fieldData.inputType) {\n\t\t\tcase 'select':\n\t\t\t\treturn (\n\t\t\t\t\t<SearchableSelect\n\t\t\t\t\t\tkey={fieldData.name}\n\t\t\t\t\t\tlabel=''\n\t\t\t\t\t\tname='insurance_account'\n\t\t\t\t\t\tplaceholder='Select'\n\t\t\t\t\t\tonChange={(e: any, selected: any) => {\n\t\t\t\t\t\t\tconst mappedValue = selected?.map((i: any) => ({\n\t\t\t\t\t\t\t\t...i,\n\t\t\t\t\t\t\t\tname: i?.value\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\thandleOnChange(mappedValue)\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={value?.map(i => i?.value)}\n\t\t\t\t\t\tmultiple={true}\n\t\t\t\t\t\tcustomFetchApi={customFetch}\n\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\tonChipRemove={() => handleOnChange([])}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase 'date':\n\t\t\t\treturn (\n\t\t\t\t\t<DatePicker\n\t\t\t\t\t\tonChange={(val) =>\n\t\t\t\t\t\t\thandleOnChange(\n\t\t\t\t\t\t\t\tdayjs(val).isValid() ? dayjs(val).format('YYYY-MM-DD') : ''\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={value ? dayjs(value) : null}\n\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\tslotProps={{\n\t\t\t\t\t\t\ttextField: {\n\t\t\t\t\t\t\t\tplaceholder: 'YYYY-MM-DD',\n\t\t\t\t\t\t\t\tclassName: 'select-drps'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tformat='YYYY-MM-DD'\n\t\t\t\t\t/>\n\t\t\t\t);\n\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<TextField\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tonChange={(e: any) => {\n\t\t\t\t\t\t\thandleOnChange(e.target.value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\tinputProps={{\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tfontSize: '0.8125rem'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName='select-drps'\n\t\t\t\t\t\ttype={fieldData.inputType}\n\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t}\n\t};\n\n\treturn <Box width='100%'>{renderOptions()}</Box>;\n};\n\nexport { ValueEditor };\nexport default ValueEditor;\n"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { A as AIDisclaimer } from "./ai-disclaimer-kOtXrSve.esm.js";
|
|
|
7
7
|
import "@erpsquad/common/runtime";
|
|
8
8
|
import { useTranslation } from "react-i18next";
|
|
9
9
|
import { useForm, FormProvider } from "react-hook-form";
|
|
10
|
-
import { D as DynamicSearchSelect } from "./searchable-select-
|
|
10
|
+
import { D as DynamicSearchSelect } from "./searchable-select-0F6E4XAr.esm.js";
|
|
11
11
|
const VendorAISummary = ({
|
|
12
12
|
profileData,
|
|
13
13
|
isProfileLoading,
|
|
@@ -171,4 +171,4 @@ const VendorAISummary = ({
|
|
|
171
171
|
export {
|
|
172
172
|
VendorAISummary as V
|
|
173
173
|
};
|
|
174
|
-
//# sourceMappingURL=vendor-ai-summary-
|
|
174
|
+
//# sourceMappingURL=vendor-ai-summary-BA6m2dH9.esm.js.map
|
package/dist/chunks/{vendor-ai-summary-Cpx90QOx.esm.js.map → vendor-ai-summary-BA6m2dH9.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor-ai-summary-Cpx90QOx.esm.js","sources":["../../src/components/vendor-ai-summary/vendor-ai-summary.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Box, CircularProgress, Button } from \"@mui/material\";\nimport { TrendingUp, TrendingDown, Users, Scale, ChevronDown, Map, X, Trophy } from \"lucide-react\";\nimport { Typography } from \"../../components/typography\";\nimport { AIDisclaimer } from \"../../components/ai-disclaimer\";\nimport { useTranslation } from \"../../hooks\";\nimport { useForm, FormProvider, useWatch } from \"react-hook-form\";\nimport DynamicSelect from \"../../components/form-control/form-builder/form-builder-element/dynamic-select\";\nimport \"./vendor-ai-summary.scss\";\n\nexport interface VendorInsightOut {\n vendor_id: number;\n vendor_name: string | null;\n facts: {\n po_created: number;\n po_delivered: number;\n timely_delivery: number;\n missed_delivery: number;\n delivery_date_unknown: number;\n short_shipment_count: number;\n lead_time_kept: number;\n lead_time_missed: number;\n lead_time_unknown: number;\n price_pattern: Array<{\n item_id: number;\n item_name: string;\n first_price: number;\n last_price: number;\n pct_change: number;\n trend: string;\n n: number;\n }>;\n payment_terms_pattern: Record<string, number>;\n rfq_invited: number;\n rfq_responded: number;\n quick_response_items: string[];\n late_response_items: string[];\n no_response_items: string[];\n };\n insight: string;\n}\n\nexport interface VendorAIProfileProps {\n profileData?: {\n company_id: number;\n vendors: VendorInsightOut[];\n } | null;\n isProfileLoading?: boolean;\n isProfileError?: boolean;\n insightData?: {\n company_id: number;\n vendors: VendorInsightOut[];\n top_recommendations?: Array<{\n vendor_id: number;\n vendor_name: string | null;\n rank: number;\n reason: string;\n }>;\n } | null;\n isInsightLoading?: boolean;\n isInsightError?: boolean;\n onCompare?: (vendorIds: number[]) => void;\n}\n\nexport const VendorAISummary: React.FC<VendorAIProfileProps> = ({\n profileData,\n isProfileLoading,\n isProfileError,\n insightData,\n isInsightLoading,\n isInsightError,\n onCompare,\n}) => {\n const [itemsToShow, setItemsToShow] = useState(3);\n const [selectedVendorOptions, setSelectedVendorOptions] = useState<any[]>([]);\n const [localInsightData, setLocalInsightData] = useState<any>(insightData);\n const { t } = useTranslation();\n\n const methods = useForm({\n defaultValues: { compare_vendors: { list: [] } },\n });\n\n const mainVendorId = profileData?.vendors?.[0]?.vendor_id;\n\n useEffect(() => {\n setLocalInsightData(insightData);\n }, [insightData]);\n\n useEffect(() => {\n // Clear selected comparison vendors when main vendor changes\n methods.reset({ compare_vendors: { list: [] } });\n setSelectedVendorOptions([]);\n setLocalInsightData(null);\n }, [mainVendorId, methods]);\n\n const handleCompare = () => {\n if (onCompare && profileData?.vendors?.[0]) {\n const val = methods.getValues(\"compare_vendors.list\");\n const selectedIds: number[] = Array.isArray(val)\n ? val.map((v: any) => Number(v?.value || v?.id || v))\n : val\n ? [Number(typeof val === \"object\" ? (val as any)?.value : val)]\n : [];\n\n onCompare(selectedIds.filter(Boolean));\n }\n };\n\n const handleRemoveVendor = (vendorToRemove: any) => {\n const idToRemove = vendorToRemove?.value || vendorToRemove?.id || vendorToRemove;\n const updated = selectedVendorOptions.filter((v: any) => \n (v?.value || v?.id || v) !== idToRemove\n ).map(v => v?.value || v?.id || v);\n methods.setValue(\"compare_vendors.list\", updated, { shouldValidate: true, shouldDirty: true, shouldTouch: true });\n setSelectedVendorOptions(prev => prev.filter(v => (v?.value || v?.id || v) !== idToRemove));\n };\n\n if (isProfileLoading) {\n return (\n <Box className=\"vai__loading\">\n <CircularProgress size={28} sx={{ color: \"#10b981\" }} />\n </Box>\n );\n }\n\n if (isProfileError) {\n return (\n <Box className=\"vai__empty\">\n <Typography type=\"s4\">Failed to load vendor profile. Please try again.</Typography>\n </Box>\n );\n }\n\n const vendorData = profileData?.vendors?.[0];\n\n if (!vendorData) {\n return (\n <Box className=\"vai__empty\">\n <Typography type=\"s4\">No vendor data available.</Typography>\n </Box>\n );\n }\n\n const facts = vendorData.facts;\n const pricePatterns = facts?.price_pattern ?? [];\n\n return (\n <FormProvider {...methods}>\n <Box className=\"vai\">\n\n {/* ── Insight ─────────────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <Map size={13} />\n <Typography type=\"s4\" weight=\"medium\">Insight</Typography>\n </Box>\n </Box>\n <Typography type=\"s4\" className=\"vai__block-body\">\n {vendorData.insight || \"Vendor has no purchase order or RFQ activity, so its performance and reliability cannot be evaluated at this time.\"}\n </Typography>\n </Box>\n\n <Box className=\"vai__divider\" />\n\n {/* ── Price Patterns ─────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <TrendingUp size={13} />\n <Typography type=\"s4\" weight=\"medium\">Price Patterns</Typography>\n </Box>\n </Box>\n\n {pricePatterns.length > 0 ? (\n <Box className=\"vai__price-list\">\n {pricePatterns.slice(0, itemsToShow).map((pattern, idx) => (\n <Box key={idx} className=\"vai__price-row\">\n <span className=\"vai__price-name\">{pattern.item_name}</span>\n <span className={`vai__price-val vai__price-val--${pattern.trend ?? 'flat'}`}>\n {pattern.trend === \"up\"\n ? <TrendingUp size={13} />\n : pattern.trend === \"down\"\n ? <TrendingDown size={13} />\n : null}\n {pattern.pct_change >= 0 ? \"+\" : \"\"}{pattern.pct_change.toFixed(1)}%\n </span>\n </Box>\n ))}\n {pricePatterns.length > itemsToShow && (\n <Box className=\"vai__load-more\" onClick={() => setItemsToShow((p) => p + 5)}>\n <Box className=\"vai__load-more-pill\">\n {t(\"common.load_more\")} <ChevronDown size={13} />\n </Box>\n </Box>\n )}\n </Box>\n ) : (\n <Typography type=\"s5\" className=\"vai__empty-msg\">No recent price trends found.</Typography>\n )}\n </Box>\n\n <Box className=\"vai__divider\" />\n\n {/* ── Compare Vendors ────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <Users size={13} />\n <Typography type=\"s4\" weight=\"medium\">Compare Vendors</Typography>\n </Box>\n </Box>\n <Typography type=\"s5\" className=\"vai__block-body--muted\" sx={{ mt: 1, mb: 2 }}>\n Select multiple vendors to compare and get AI recommendations based on pricing, reliability, and past performance.\n </Typography>\n\n <Box className=\"vai__select-wrap\">\n <DynamicSelect\n name=\"list\"\n label=\"\"\n placeholder=\"Search and select vendors\"\n formControl={methods.control}\n fieldArrayName=\"compare_vendors\"\n options={[]}\n is_multiselect={true}\n apiType=\"party\"\n customeFilter={{ \"status.eq\": 1, \"&type.eq\": \"Vendor\" }}\n getSelectedData={(data: any) => {\n if (Array.isArray(data)) {\n setSelectedVendorOptions(data);\n } else if (!data) {\n setSelectedVendorOptions([]);\n } else {\n setSelectedVendorOptions([data]);\n }\n }}\n />\n </Box>\n\n {selectedVendorOptions.length > 0 && (\n <Box className=\"vai__chips\">\n {selectedVendorOptions.map((v: any, idx: number) => (\n <Box key={idx} className=\"vai__chip\">\n <span>{v?.label || v?.name || v?.value || v}</span>\n <X\n size={12}\n className=\"vai__chip-close\"\n onClick={() => handleRemoveVendor(v)}\n />\n </Box>\n ))}\n </Box>\n )}\n\n <Button\n fullWidth\n variant=\"contained\"\n color=\"success\"\n onClick={handleCompare}\n disabled={isInsightLoading || selectedVendorOptions.length < 2}\n className=\"vai__compare-btn\"\n startIcon={isInsightLoading ? <CircularProgress size={16} sx={{ color: '#fff' }} /> : <Scale size={17} />}\n >\n {isInsightLoading ? \"Comparing…\" : \"Compare\"}\n </Button>\n </Box>\n\n {/* ── Recommendations ────────────────────────────── */}\n {isInsightError && (\n <Box className=\"vai__block vai__error\">\n <Typography type=\"s4\">Failed to load comparison. Please try again.</Typography>\n </Box>\n )}\n\n {localInsightData?.top_recommendations && localInsightData.top_recommendations.length > 0 && (\n <>\n <Box className=\"vai__divider\" />\n <Box className=\"vai__block vai__recs\">\n <Box className=\"vai__recs-header\">\n <Box className=\"vai__recs-icon\">\n <Trophy size={16} />\n </Box>\n <Box>\n <Typography type=\"s3\" weight=\"medium\" className=\"vai__recs-title\">\n Top Recommendations\n </Typography>\n </Box>\n </Box>\n\n <Box className=\"vai__recs-list\">\n {localInsightData.top_recommendations.map((rec: any, idx: number) => (\n <Box key={idx} className=\"vai__rec-item\">\n <Box className=\"vai__rec-item-header\">\n <Box className={`vai__rec-rank ${idx === 0 ? 'vai__rec-rank--first' : ''}`}>{rec.rank}</Box>\n {rec.vendor_name && <Typography type=\"s4\" weight=\"medium\" className=\"vai__rec-name\">{rec.vendor_name}</Typography>}\n </Box>\n <Typography type=\"s5\" className=\"vai__rec-reason\">{rec.reason}</Typography>\n </Box>\n ))}\n </Box>\n </Box>\n </>\n )}\n\n <AIDisclaimer showIcon={false}/>\n </Box>\n </FormProvider>\n );\n};\n\nexport default VendorAISummary;\n"],"names":["_a","DynamicSelect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vendor-ai-summary-BA6m2dH9.esm.js","sources":["../../src/components/vendor-ai-summary/vendor-ai-summary.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Box, CircularProgress, Button } from \"@mui/material\";\nimport { TrendingUp, TrendingDown, Users, Scale, ChevronDown, Map, X, Trophy } from \"lucide-react\";\nimport { Typography } from \"../../components/typography\";\nimport { AIDisclaimer } from \"../../components/ai-disclaimer\";\nimport { useTranslation } from \"../../hooks\";\nimport { useForm, FormProvider, useWatch } from \"react-hook-form\";\nimport DynamicSelect from \"../../components/form-control/form-builder/form-builder-element/dynamic-select\";\nimport \"./vendor-ai-summary.scss\";\n\nexport interface VendorInsightOut {\n vendor_id: number;\n vendor_name: string | null;\n facts: {\n po_created: number;\n po_delivered: number;\n timely_delivery: number;\n missed_delivery: number;\n delivery_date_unknown: number;\n short_shipment_count: number;\n lead_time_kept: number;\n lead_time_missed: number;\n lead_time_unknown: number;\n price_pattern: Array<{\n item_id: number;\n item_name: string;\n first_price: number;\n last_price: number;\n pct_change: number;\n trend: string;\n n: number;\n }>;\n payment_terms_pattern: Record<string, number>;\n rfq_invited: number;\n rfq_responded: number;\n quick_response_items: string[];\n late_response_items: string[];\n no_response_items: string[];\n };\n insight: string;\n}\n\nexport interface VendorAIProfileProps {\n profileData?: {\n company_id: number;\n vendors: VendorInsightOut[];\n } | null;\n isProfileLoading?: boolean;\n isProfileError?: boolean;\n insightData?: {\n company_id: number;\n vendors: VendorInsightOut[];\n top_recommendations?: Array<{\n vendor_id: number;\n vendor_name: string | null;\n rank: number;\n reason: string;\n }>;\n } | null;\n isInsightLoading?: boolean;\n isInsightError?: boolean;\n onCompare?: (vendorIds: number[]) => void;\n}\n\nexport const VendorAISummary: React.FC<VendorAIProfileProps> = ({\n profileData,\n isProfileLoading,\n isProfileError,\n insightData,\n isInsightLoading,\n isInsightError,\n onCompare,\n}) => {\n const [itemsToShow, setItemsToShow] = useState(3);\n const [selectedVendorOptions, setSelectedVendorOptions] = useState<any[]>([]);\n const [localInsightData, setLocalInsightData] = useState<any>(insightData);\n const { t } = useTranslation();\n\n const methods = useForm({\n defaultValues: { compare_vendors: { list: [] } },\n });\n\n const mainVendorId = profileData?.vendors?.[0]?.vendor_id;\n\n useEffect(() => {\n setLocalInsightData(insightData);\n }, [insightData]);\n\n useEffect(() => {\n // Clear selected comparison vendors when main vendor changes\n methods.reset({ compare_vendors: { list: [] } });\n setSelectedVendorOptions([]);\n setLocalInsightData(null);\n }, [mainVendorId, methods]);\n\n const handleCompare = () => {\n if (onCompare && profileData?.vendors?.[0]) {\n const val = methods.getValues(\"compare_vendors.list\");\n const selectedIds: number[] = Array.isArray(val)\n ? val.map((v: any) => Number(v?.value || v?.id || v))\n : val\n ? [Number(typeof val === \"object\" ? (val as any)?.value : val)]\n : [];\n\n onCompare(selectedIds.filter(Boolean));\n }\n };\n\n const handleRemoveVendor = (vendorToRemove: any) => {\n const idToRemove = vendorToRemove?.value || vendorToRemove?.id || vendorToRemove;\n const updated = selectedVendorOptions.filter((v: any) => \n (v?.value || v?.id || v) !== idToRemove\n ).map(v => v?.value || v?.id || v);\n methods.setValue(\"compare_vendors.list\", updated, { shouldValidate: true, shouldDirty: true, shouldTouch: true });\n setSelectedVendorOptions(prev => prev.filter(v => (v?.value || v?.id || v) !== idToRemove));\n };\n\n if (isProfileLoading) {\n return (\n <Box className=\"vai__loading\">\n <CircularProgress size={28} sx={{ color: \"#10b981\" }} />\n </Box>\n );\n }\n\n if (isProfileError) {\n return (\n <Box className=\"vai__empty\">\n <Typography type=\"s4\">Failed to load vendor profile. Please try again.</Typography>\n </Box>\n );\n }\n\n const vendorData = profileData?.vendors?.[0];\n\n if (!vendorData) {\n return (\n <Box className=\"vai__empty\">\n <Typography type=\"s4\">No vendor data available.</Typography>\n </Box>\n );\n }\n\n const facts = vendorData.facts;\n const pricePatterns = facts?.price_pattern ?? [];\n\n return (\n <FormProvider {...methods}>\n <Box className=\"vai\">\n\n {/* ── Insight ─────────────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <Map size={13} />\n <Typography type=\"s4\" weight=\"medium\">Insight</Typography>\n </Box>\n </Box>\n <Typography type=\"s4\" className=\"vai__block-body\">\n {vendorData.insight || \"Vendor has no purchase order or RFQ activity, so its performance and reliability cannot be evaluated at this time.\"}\n </Typography>\n </Box>\n\n <Box className=\"vai__divider\" />\n\n {/* ── Price Patterns ─────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <TrendingUp size={13} />\n <Typography type=\"s4\" weight=\"medium\">Price Patterns</Typography>\n </Box>\n </Box>\n\n {pricePatterns.length > 0 ? (\n <Box className=\"vai__price-list\">\n {pricePatterns.slice(0, itemsToShow).map((pattern, idx) => (\n <Box key={idx} className=\"vai__price-row\">\n <span className=\"vai__price-name\">{pattern.item_name}</span>\n <span className={`vai__price-val vai__price-val--${pattern.trend ?? 'flat'}`}>\n {pattern.trend === \"up\"\n ? <TrendingUp size={13} />\n : pattern.trend === \"down\"\n ? <TrendingDown size={13} />\n : null}\n {pattern.pct_change >= 0 ? \"+\" : \"\"}{pattern.pct_change.toFixed(1)}%\n </span>\n </Box>\n ))}\n {pricePatterns.length > itemsToShow && (\n <Box className=\"vai__load-more\" onClick={() => setItemsToShow((p) => p + 5)}>\n <Box className=\"vai__load-more-pill\">\n {t(\"common.load_more\")} <ChevronDown size={13} />\n </Box>\n </Box>\n )}\n </Box>\n ) : (\n <Typography type=\"s5\" className=\"vai__empty-msg\">No recent price trends found.</Typography>\n )}\n </Box>\n\n <Box className=\"vai__divider\" />\n\n {/* ── Compare Vendors ────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <Users size={13} />\n <Typography type=\"s4\" weight=\"medium\">Compare Vendors</Typography>\n </Box>\n </Box>\n <Typography type=\"s5\" className=\"vai__block-body--muted\" sx={{ mt: 1, mb: 2 }}>\n Select multiple vendors to compare and get AI recommendations based on pricing, reliability, and past performance.\n </Typography>\n\n <Box className=\"vai__select-wrap\">\n <DynamicSelect\n name=\"list\"\n label=\"\"\n placeholder=\"Search and select vendors\"\n formControl={methods.control}\n fieldArrayName=\"compare_vendors\"\n options={[]}\n is_multiselect={true}\n apiType=\"party\"\n customeFilter={{ \"status.eq\": 1, \"&type.eq\": \"Vendor\" }}\n getSelectedData={(data: any) => {\n if (Array.isArray(data)) {\n setSelectedVendorOptions(data);\n } else if (!data) {\n setSelectedVendorOptions([]);\n } else {\n setSelectedVendorOptions([data]);\n }\n }}\n />\n </Box>\n\n {selectedVendorOptions.length > 0 && (\n <Box className=\"vai__chips\">\n {selectedVendorOptions.map((v: any, idx: number) => (\n <Box key={idx} className=\"vai__chip\">\n <span>{v?.label || v?.name || v?.value || v}</span>\n <X\n size={12}\n className=\"vai__chip-close\"\n onClick={() => handleRemoveVendor(v)}\n />\n </Box>\n ))}\n </Box>\n )}\n\n <Button\n fullWidth\n variant=\"contained\"\n color=\"success\"\n onClick={handleCompare}\n disabled={isInsightLoading || selectedVendorOptions.length < 2}\n className=\"vai__compare-btn\"\n startIcon={isInsightLoading ? <CircularProgress size={16} sx={{ color: '#fff' }} /> : <Scale size={17} />}\n >\n {isInsightLoading ? \"Comparing…\" : \"Compare\"}\n </Button>\n </Box>\n\n {/* ── Recommendations ────────────────────────────── */}\n {isInsightError && (\n <Box className=\"vai__block vai__error\">\n <Typography type=\"s4\">Failed to load comparison. Please try again.</Typography>\n </Box>\n )}\n\n {localInsightData?.top_recommendations && localInsightData.top_recommendations.length > 0 && (\n <>\n <Box className=\"vai__divider\" />\n <Box className=\"vai__block vai__recs\">\n <Box className=\"vai__recs-header\">\n <Box className=\"vai__recs-icon\">\n <Trophy size={16} />\n </Box>\n <Box>\n <Typography type=\"s3\" weight=\"medium\" className=\"vai__recs-title\">\n Top Recommendations\n </Typography>\n </Box>\n </Box>\n\n <Box className=\"vai__recs-list\">\n {localInsightData.top_recommendations.map((rec: any, idx: number) => (\n <Box key={idx} className=\"vai__rec-item\">\n <Box className=\"vai__rec-item-header\">\n <Box className={`vai__rec-rank ${idx === 0 ? 'vai__rec-rank--first' : ''}`}>{rec.rank}</Box>\n {rec.vendor_name && <Typography type=\"s4\" weight=\"medium\" className=\"vai__rec-name\">{rec.vendor_name}</Typography>}\n </Box>\n <Typography type=\"s5\" className=\"vai__rec-reason\">{rec.reason}</Typography>\n </Box>\n ))}\n </Box>\n </Box>\n </>\n )}\n\n <AIDisclaimer showIcon={false}/>\n </Box>\n </FormProvider>\n );\n};\n\nexport default VendorAISummary;\n"],"names":["_a","DynamicSelect"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const aiDisclaimer = require("./ai-disclaimer-DAecPGGI.js");
|
|
|
8
8
|
require("@erpsquad/common/runtime");
|
|
9
9
|
const reactI18next = require("react-i18next");
|
|
10
10
|
const reactHookForm = require("react-hook-form");
|
|
11
|
-
const searchableSelect = require("./searchable-select-
|
|
11
|
+
const searchableSelect = require("./searchable-select-_DCkITfk.js");
|
|
12
12
|
const VendorAISummary = ({
|
|
13
13
|
profileData,
|
|
14
14
|
isProfileLoading,
|
|
@@ -170,4 +170,4 @@ const VendorAISummary = ({
|
|
|
170
170
|
] }) });
|
|
171
171
|
};
|
|
172
172
|
exports.VendorAISummary = VendorAISummary;
|
|
173
|
-
//# sourceMappingURL=vendor-ai-summary-
|
|
173
|
+
//# sourceMappingURL=vendor-ai-summary-DWmAaQ_N.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor-ai-summary-zranZkfk.js","sources":["../../src/components/vendor-ai-summary/vendor-ai-summary.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Box, CircularProgress, Button } from \"@mui/material\";\nimport { TrendingUp, TrendingDown, Users, Scale, ChevronDown, Map, X, Trophy } from \"lucide-react\";\nimport { Typography } from \"../../components/typography\";\nimport { AIDisclaimer } from \"../../components/ai-disclaimer\";\nimport { useTranslation } from \"../../hooks\";\nimport { useForm, FormProvider, useWatch } from \"react-hook-form\";\nimport DynamicSelect from \"../../components/form-control/form-builder/form-builder-element/dynamic-select\";\nimport \"./vendor-ai-summary.scss\";\n\nexport interface VendorInsightOut {\n vendor_id: number;\n vendor_name: string | null;\n facts: {\n po_created: number;\n po_delivered: number;\n timely_delivery: number;\n missed_delivery: number;\n delivery_date_unknown: number;\n short_shipment_count: number;\n lead_time_kept: number;\n lead_time_missed: number;\n lead_time_unknown: number;\n price_pattern: Array<{\n item_id: number;\n item_name: string;\n first_price: number;\n last_price: number;\n pct_change: number;\n trend: string;\n n: number;\n }>;\n payment_terms_pattern: Record<string, number>;\n rfq_invited: number;\n rfq_responded: number;\n quick_response_items: string[];\n late_response_items: string[];\n no_response_items: string[];\n };\n insight: string;\n}\n\nexport interface VendorAIProfileProps {\n profileData?: {\n company_id: number;\n vendors: VendorInsightOut[];\n } | null;\n isProfileLoading?: boolean;\n isProfileError?: boolean;\n insightData?: {\n company_id: number;\n vendors: VendorInsightOut[];\n top_recommendations?: Array<{\n vendor_id: number;\n vendor_name: string | null;\n rank: number;\n reason: string;\n }>;\n } | null;\n isInsightLoading?: boolean;\n isInsightError?: boolean;\n onCompare?: (vendorIds: number[]) => void;\n}\n\nexport const VendorAISummary: React.FC<VendorAIProfileProps> = ({\n profileData,\n isProfileLoading,\n isProfileError,\n insightData,\n isInsightLoading,\n isInsightError,\n onCompare,\n}) => {\n const [itemsToShow, setItemsToShow] = useState(3);\n const [selectedVendorOptions, setSelectedVendorOptions] = useState<any[]>([]);\n const [localInsightData, setLocalInsightData] = useState<any>(insightData);\n const { t } = useTranslation();\n\n const methods = useForm({\n defaultValues: { compare_vendors: { list: [] } },\n });\n\n const mainVendorId = profileData?.vendors?.[0]?.vendor_id;\n\n useEffect(() => {\n setLocalInsightData(insightData);\n }, [insightData]);\n\n useEffect(() => {\n // Clear selected comparison vendors when main vendor changes\n methods.reset({ compare_vendors: { list: [] } });\n setSelectedVendorOptions([]);\n setLocalInsightData(null);\n }, [mainVendorId, methods]);\n\n const handleCompare = () => {\n if (onCompare && profileData?.vendors?.[0]) {\n const val = methods.getValues(\"compare_vendors.list\");\n const selectedIds: number[] = Array.isArray(val)\n ? val.map((v: any) => Number(v?.value || v?.id || v))\n : val\n ? [Number(typeof val === \"object\" ? (val as any)?.value : val)]\n : [];\n\n onCompare(selectedIds.filter(Boolean));\n }\n };\n\n const handleRemoveVendor = (vendorToRemove: any) => {\n const idToRemove = vendorToRemove?.value || vendorToRemove?.id || vendorToRemove;\n const updated = selectedVendorOptions.filter((v: any) => \n (v?.value || v?.id || v) !== idToRemove\n ).map(v => v?.value || v?.id || v);\n methods.setValue(\"compare_vendors.list\", updated, { shouldValidate: true, shouldDirty: true, shouldTouch: true });\n setSelectedVendorOptions(prev => prev.filter(v => (v?.value || v?.id || v) !== idToRemove));\n };\n\n if (isProfileLoading) {\n return (\n <Box className=\"vai__loading\">\n <CircularProgress size={28} sx={{ color: \"#10b981\" }} />\n </Box>\n );\n }\n\n if (isProfileError) {\n return (\n <Box className=\"vai__empty\">\n <Typography type=\"s4\">Failed to load vendor profile. Please try again.</Typography>\n </Box>\n );\n }\n\n const vendorData = profileData?.vendors?.[0];\n\n if (!vendorData) {\n return (\n <Box className=\"vai__empty\">\n <Typography type=\"s4\">No vendor data available.</Typography>\n </Box>\n );\n }\n\n const facts = vendorData.facts;\n const pricePatterns = facts?.price_pattern ?? [];\n\n return (\n <FormProvider {...methods}>\n <Box className=\"vai\">\n\n {/* ── Insight ─────────────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <Map size={13} />\n <Typography type=\"s4\" weight=\"medium\">Insight</Typography>\n </Box>\n </Box>\n <Typography type=\"s4\" className=\"vai__block-body\">\n {vendorData.insight || \"Vendor has no purchase order or RFQ activity, so its performance and reliability cannot be evaluated at this time.\"}\n </Typography>\n </Box>\n\n <Box className=\"vai__divider\" />\n\n {/* ── Price Patterns ─────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <TrendingUp size={13} />\n <Typography type=\"s4\" weight=\"medium\">Price Patterns</Typography>\n </Box>\n </Box>\n\n {pricePatterns.length > 0 ? (\n <Box className=\"vai__price-list\">\n {pricePatterns.slice(0, itemsToShow).map((pattern, idx) => (\n <Box key={idx} className=\"vai__price-row\">\n <span className=\"vai__price-name\">{pattern.item_name}</span>\n <span className={`vai__price-val vai__price-val--${pattern.trend ?? 'flat'}`}>\n {pattern.trend === \"up\"\n ? <TrendingUp size={13} />\n : pattern.trend === \"down\"\n ? <TrendingDown size={13} />\n : null}\n {pattern.pct_change >= 0 ? \"+\" : \"\"}{pattern.pct_change.toFixed(1)}%\n </span>\n </Box>\n ))}\n {pricePatterns.length > itemsToShow && (\n <Box className=\"vai__load-more\" onClick={() => setItemsToShow((p) => p + 5)}>\n <Box className=\"vai__load-more-pill\">\n {t(\"common.load_more\")} <ChevronDown size={13} />\n </Box>\n </Box>\n )}\n </Box>\n ) : (\n <Typography type=\"s5\" className=\"vai__empty-msg\">No recent price trends found.</Typography>\n )}\n </Box>\n\n <Box className=\"vai__divider\" />\n\n {/* ── Compare Vendors ────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <Users size={13} />\n <Typography type=\"s4\" weight=\"medium\">Compare Vendors</Typography>\n </Box>\n </Box>\n <Typography type=\"s5\" className=\"vai__block-body--muted\" sx={{ mt: 1, mb: 2 }}>\n Select multiple vendors to compare and get AI recommendations based on pricing, reliability, and past performance.\n </Typography>\n\n <Box className=\"vai__select-wrap\">\n <DynamicSelect\n name=\"list\"\n label=\"\"\n placeholder=\"Search and select vendors\"\n formControl={methods.control}\n fieldArrayName=\"compare_vendors\"\n options={[]}\n is_multiselect={true}\n apiType=\"party\"\n customeFilter={{ \"status.eq\": 1, \"&type.eq\": \"Vendor\" }}\n getSelectedData={(data: any) => {\n if (Array.isArray(data)) {\n setSelectedVendorOptions(data);\n } else if (!data) {\n setSelectedVendorOptions([]);\n } else {\n setSelectedVendorOptions([data]);\n }\n }}\n />\n </Box>\n\n {selectedVendorOptions.length > 0 && (\n <Box className=\"vai__chips\">\n {selectedVendorOptions.map((v: any, idx: number) => (\n <Box key={idx} className=\"vai__chip\">\n <span>{v?.label || v?.name || v?.value || v}</span>\n <X\n size={12}\n className=\"vai__chip-close\"\n onClick={() => handleRemoveVendor(v)}\n />\n </Box>\n ))}\n </Box>\n )}\n\n <Button\n fullWidth\n variant=\"contained\"\n color=\"success\"\n onClick={handleCompare}\n disabled={isInsightLoading || selectedVendorOptions.length < 2}\n className=\"vai__compare-btn\"\n startIcon={isInsightLoading ? <CircularProgress size={16} sx={{ color: '#fff' }} /> : <Scale size={17} />}\n >\n {isInsightLoading ? \"Comparing…\" : \"Compare\"}\n </Button>\n </Box>\n\n {/* ── Recommendations ────────────────────────────── */}\n {isInsightError && (\n <Box className=\"vai__block vai__error\">\n <Typography type=\"s4\">Failed to load comparison. Please try again.</Typography>\n </Box>\n )}\n\n {localInsightData?.top_recommendations && localInsightData.top_recommendations.length > 0 && (\n <>\n <Box className=\"vai__divider\" />\n <Box className=\"vai__block vai__recs\">\n <Box className=\"vai__recs-header\">\n <Box className=\"vai__recs-icon\">\n <Trophy size={16} />\n </Box>\n <Box>\n <Typography type=\"s3\" weight=\"medium\" className=\"vai__recs-title\">\n Top Recommendations\n </Typography>\n </Box>\n </Box>\n\n <Box className=\"vai__recs-list\">\n {localInsightData.top_recommendations.map((rec: any, idx: number) => (\n <Box key={idx} className=\"vai__rec-item\">\n <Box className=\"vai__rec-item-header\">\n <Box className={`vai__rec-rank ${idx === 0 ? 'vai__rec-rank--first' : ''}`}>{rec.rank}</Box>\n {rec.vendor_name && <Typography type=\"s4\" weight=\"medium\" className=\"vai__rec-name\">{rec.vendor_name}</Typography>}\n </Box>\n <Typography type=\"s5\" className=\"vai__rec-reason\">{rec.reason}</Typography>\n </Box>\n ))}\n </Box>\n </Box>\n </>\n )}\n\n <AIDisclaimer showIcon={false}/>\n </Box>\n </FormProvider>\n );\n};\n\nexport default VendorAISummary;\n"],"names":["useState","useTranslation","useForm","useEffect","_a","jsx","Box","CircularProgress","Typography","FormProvider","jsxs","Map","TrendingUp","TrendingDown","ChevronDown","Users","DynamicSelect","X","Button","Scale","Fragment","Trophy","AIDisclaimer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vendor-ai-summary-DWmAaQ_N.js","sources":["../../src/components/vendor-ai-summary/vendor-ai-summary.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Box, CircularProgress, Button } from \"@mui/material\";\nimport { TrendingUp, TrendingDown, Users, Scale, ChevronDown, Map, X, Trophy } from \"lucide-react\";\nimport { Typography } from \"../../components/typography\";\nimport { AIDisclaimer } from \"../../components/ai-disclaimer\";\nimport { useTranslation } from \"../../hooks\";\nimport { useForm, FormProvider, useWatch } from \"react-hook-form\";\nimport DynamicSelect from \"../../components/form-control/form-builder/form-builder-element/dynamic-select\";\nimport \"./vendor-ai-summary.scss\";\n\nexport interface VendorInsightOut {\n vendor_id: number;\n vendor_name: string | null;\n facts: {\n po_created: number;\n po_delivered: number;\n timely_delivery: number;\n missed_delivery: number;\n delivery_date_unknown: number;\n short_shipment_count: number;\n lead_time_kept: number;\n lead_time_missed: number;\n lead_time_unknown: number;\n price_pattern: Array<{\n item_id: number;\n item_name: string;\n first_price: number;\n last_price: number;\n pct_change: number;\n trend: string;\n n: number;\n }>;\n payment_terms_pattern: Record<string, number>;\n rfq_invited: number;\n rfq_responded: number;\n quick_response_items: string[];\n late_response_items: string[];\n no_response_items: string[];\n };\n insight: string;\n}\n\nexport interface VendorAIProfileProps {\n profileData?: {\n company_id: number;\n vendors: VendorInsightOut[];\n } | null;\n isProfileLoading?: boolean;\n isProfileError?: boolean;\n insightData?: {\n company_id: number;\n vendors: VendorInsightOut[];\n top_recommendations?: Array<{\n vendor_id: number;\n vendor_name: string | null;\n rank: number;\n reason: string;\n }>;\n } | null;\n isInsightLoading?: boolean;\n isInsightError?: boolean;\n onCompare?: (vendorIds: number[]) => void;\n}\n\nexport const VendorAISummary: React.FC<VendorAIProfileProps> = ({\n profileData,\n isProfileLoading,\n isProfileError,\n insightData,\n isInsightLoading,\n isInsightError,\n onCompare,\n}) => {\n const [itemsToShow, setItemsToShow] = useState(3);\n const [selectedVendorOptions, setSelectedVendorOptions] = useState<any[]>([]);\n const [localInsightData, setLocalInsightData] = useState<any>(insightData);\n const { t } = useTranslation();\n\n const methods = useForm({\n defaultValues: { compare_vendors: { list: [] } },\n });\n\n const mainVendorId = profileData?.vendors?.[0]?.vendor_id;\n\n useEffect(() => {\n setLocalInsightData(insightData);\n }, [insightData]);\n\n useEffect(() => {\n // Clear selected comparison vendors when main vendor changes\n methods.reset({ compare_vendors: { list: [] } });\n setSelectedVendorOptions([]);\n setLocalInsightData(null);\n }, [mainVendorId, methods]);\n\n const handleCompare = () => {\n if (onCompare && profileData?.vendors?.[0]) {\n const val = methods.getValues(\"compare_vendors.list\");\n const selectedIds: number[] = Array.isArray(val)\n ? val.map((v: any) => Number(v?.value || v?.id || v))\n : val\n ? [Number(typeof val === \"object\" ? (val as any)?.value : val)]\n : [];\n\n onCompare(selectedIds.filter(Boolean));\n }\n };\n\n const handleRemoveVendor = (vendorToRemove: any) => {\n const idToRemove = vendorToRemove?.value || vendorToRemove?.id || vendorToRemove;\n const updated = selectedVendorOptions.filter((v: any) => \n (v?.value || v?.id || v) !== idToRemove\n ).map(v => v?.value || v?.id || v);\n methods.setValue(\"compare_vendors.list\", updated, { shouldValidate: true, shouldDirty: true, shouldTouch: true });\n setSelectedVendorOptions(prev => prev.filter(v => (v?.value || v?.id || v) !== idToRemove));\n };\n\n if (isProfileLoading) {\n return (\n <Box className=\"vai__loading\">\n <CircularProgress size={28} sx={{ color: \"#10b981\" }} />\n </Box>\n );\n }\n\n if (isProfileError) {\n return (\n <Box className=\"vai__empty\">\n <Typography type=\"s4\">Failed to load vendor profile. Please try again.</Typography>\n </Box>\n );\n }\n\n const vendorData = profileData?.vendors?.[0];\n\n if (!vendorData) {\n return (\n <Box className=\"vai__empty\">\n <Typography type=\"s4\">No vendor data available.</Typography>\n </Box>\n );\n }\n\n const facts = vendorData.facts;\n const pricePatterns = facts?.price_pattern ?? [];\n\n return (\n <FormProvider {...methods}>\n <Box className=\"vai\">\n\n {/* ── Insight ─────────────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <Map size={13} />\n <Typography type=\"s4\" weight=\"medium\">Insight</Typography>\n </Box>\n </Box>\n <Typography type=\"s4\" className=\"vai__block-body\">\n {vendorData.insight || \"Vendor has no purchase order or RFQ activity, so its performance and reliability cannot be evaluated at this time.\"}\n </Typography>\n </Box>\n\n <Box className=\"vai__divider\" />\n\n {/* ── Price Patterns ─────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <TrendingUp size={13} />\n <Typography type=\"s4\" weight=\"medium\">Price Patterns</Typography>\n </Box>\n </Box>\n\n {pricePatterns.length > 0 ? (\n <Box className=\"vai__price-list\">\n {pricePatterns.slice(0, itemsToShow).map((pattern, idx) => (\n <Box key={idx} className=\"vai__price-row\">\n <span className=\"vai__price-name\">{pattern.item_name}</span>\n <span className={`vai__price-val vai__price-val--${pattern.trend ?? 'flat'}`}>\n {pattern.trend === \"up\"\n ? <TrendingUp size={13} />\n : pattern.trend === \"down\"\n ? <TrendingDown size={13} />\n : null}\n {pattern.pct_change >= 0 ? \"+\" : \"\"}{pattern.pct_change.toFixed(1)}%\n </span>\n </Box>\n ))}\n {pricePatterns.length > itemsToShow && (\n <Box className=\"vai__load-more\" onClick={() => setItemsToShow((p) => p + 5)}>\n <Box className=\"vai__load-more-pill\">\n {t(\"common.load_more\")} <ChevronDown size={13} />\n </Box>\n </Box>\n )}\n </Box>\n ) : (\n <Typography type=\"s5\" className=\"vai__empty-msg\">No recent price trends found.</Typography>\n )}\n </Box>\n\n <Box className=\"vai__divider\" />\n\n {/* ── Compare Vendors ────────────────────────────── */}\n <Box className=\"vai__block\">\n <Box className=\"vai__block-title\">\n <Box className=\"vai__badge vai__badge--green\">\n <Users size={13} />\n <Typography type=\"s4\" weight=\"medium\">Compare Vendors</Typography>\n </Box>\n </Box>\n <Typography type=\"s5\" className=\"vai__block-body--muted\" sx={{ mt: 1, mb: 2 }}>\n Select multiple vendors to compare and get AI recommendations based on pricing, reliability, and past performance.\n </Typography>\n\n <Box className=\"vai__select-wrap\">\n <DynamicSelect\n name=\"list\"\n label=\"\"\n placeholder=\"Search and select vendors\"\n formControl={methods.control}\n fieldArrayName=\"compare_vendors\"\n options={[]}\n is_multiselect={true}\n apiType=\"party\"\n customeFilter={{ \"status.eq\": 1, \"&type.eq\": \"Vendor\" }}\n getSelectedData={(data: any) => {\n if (Array.isArray(data)) {\n setSelectedVendorOptions(data);\n } else if (!data) {\n setSelectedVendorOptions([]);\n } else {\n setSelectedVendorOptions([data]);\n }\n }}\n />\n </Box>\n\n {selectedVendorOptions.length > 0 && (\n <Box className=\"vai__chips\">\n {selectedVendorOptions.map((v: any, idx: number) => (\n <Box key={idx} className=\"vai__chip\">\n <span>{v?.label || v?.name || v?.value || v}</span>\n <X\n size={12}\n className=\"vai__chip-close\"\n onClick={() => handleRemoveVendor(v)}\n />\n </Box>\n ))}\n </Box>\n )}\n\n <Button\n fullWidth\n variant=\"contained\"\n color=\"success\"\n onClick={handleCompare}\n disabled={isInsightLoading || selectedVendorOptions.length < 2}\n className=\"vai__compare-btn\"\n startIcon={isInsightLoading ? <CircularProgress size={16} sx={{ color: '#fff' }} /> : <Scale size={17} />}\n >\n {isInsightLoading ? \"Comparing…\" : \"Compare\"}\n </Button>\n </Box>\n\n {/* ── Recommendations ────────────────────────────── */}\n {isInsightError && (\n <Box className=\"vai__block vai__error\">\n <Typography type=\"s4\">Failed to load comparison. Please try again.</Typography>\n </Box>\n )}\n\n {localInsightData?.top_recommendations && localInsightData.top_recommendations.length > 0 && (\n <>\n <Box className=\"vai__divider\" />\n <Box className=\"vai__block vai__recs\">\n <Box className=\"vai__recs-header\">\n <Box className=\"vai__recs-icon\">\n <Trophy size={16} />\n </Box>\n <Box>\n <Typography type=\"s3\" weight=\"medium\" className=\"vai__recs-title\">\n Top Recommendations\n </Typography>\n </Box>\n </Box>\n\n <Box className=\"vai__recs-list\">\n {localInsightData.top_recommendations.map((rec: any, idx: number) => (\n <Box key={idx} className=\"vai__rec-item\">\n <Box className=\"vai__rec-item-header\">\n <Box className={`vai__rec-rank ${idx === 0 ? 'vai__rec-rank--first' : ''}`}>{rec.rank}</Box>\n {rec.vendor_name && <Typography type=\"s4\" weight=\"medium\" className=\"vai__rec-name\">{rec.vendor_name}</Typography>}\n </Box>\n <Typography type=\"s5\" className=\"vai__rec-reason\">{rec.reason}</Typography>\n </Box>\n ))}\n </Box>\n </Box>\n </>\n )}\n\n <AIDisclaimer showIcon={false}/>\n </Box>\n </FormProvider>\n );\n};\n\nexport default VendorAISummary;\n"],"names":["useState","useTranslation","useForm","useEffect","_a","jsx","Box","CircularProgress","Typography","FormProvider","jsxs","Map","TrendingUp","TrendingDown","ChevronDown","Users","DynamicSelect","X","Button","Scale","Fragment","Trophy","AIDisclaimer"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const actionBar = require("../../../chunks/action-bar-
|
|
3
|
+
const actionBar = require("../../../chunks/action-bar-DdtpxWNk.js");
|
|
4
4
|
exports.ActionBar = actionBar.ActionBar;
|
|
5
5
|
exports.default = actionBar.ActionBar;
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const actionBar = require("../../chunks/action-bar-
|
|
3
|
+
const actionBar = require("../../chunks/action-bar-DdtpxWNk.js");
|
|
4
4
|
exports.ActionBar = actionBar.ActionBar;
|
|
5
5
|
exports.default = actionBar.ActionBar;
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const addressModal = require("../../chunks/address-modal-
|
|
3
|
+
const addressModal = require("../../chunks/address-modal-CYhiC7ui.js");
|
|
4
4
|
exports.default = addressModal.AddressModal;
|
|
5
5
|
//# sourceMappingURL=index.js.map
|