@erpsquad/common 1.11.8 → 1.11.9
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 +1 -1
- package/dist/api-client/index.js +1 -1
- package/dist/chunks/{DynamicDependentField-C0XXmMlG.esm.js → DynamicDependentField-CzEJwzIq.esm.js} +2 -2
- package/dist/chunks/{DynamicDependentField-C0XXmMlG.esm.js.map → DynamicDependentField-CzEJwzIq.esm.js.map} +1 -1
- package/dist/chunks/{DynamicDependentField-CQIfDDqc.js → DynamicDependentField-D8K1QyqC.js} +2 -2
- package/dist/chunks/{DynamicDependentField-CQIfDDqc.js.map → DynamicDependentField-D8K1QyqC.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-I4j_X_SD.esm.js → ERPUIProvider-CqbIIC8j.esm.js} +3 -3
- package/dist/chunks/{ERPUIProvider-I4j_X_SD.esm.js.map → ERPUIProvider-CqbIIC8j.esm.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-CcSTcdEo.js → ERPUIProvider-TOq-GnAq.js} +3 -3
- package/dist/chunks/{ERPUIProvider-CcSTcdEo.js.map → ERPUIProvider-TOq-GnAq.js.map} +1 -1
- package/dist/chunks/{FORMS-pxf6g6xE.esm.js → FORMS-C1qQnoDd.esm.js} +7 -7
- package/dist/chunks/{FORMS-pxf6g6xE.esm.js.map → FORMS-C1qQnoDd.esm.js.map} +1 -1
- package/dist/chunks/{FORMS-CUx32b_4.js → FORMS-qlTftaaD.js} +7 -7
- package/dist/chunks/{FORMS-CUx32b_4.js.map → FORMS-qlTftaaD.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample--GtoEJhc.js → FlexibleReduxExample-BEK1732S.js} +4 -4
- package/dist/chunks/{FlexibleReduxExample--GtoEJhc.js.map → FlexibleReduxExample-BEK1732S.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample-C-2qOGIw.esm.js → FlexibleReduxExample-CfMjfKUf.esm.js} +4 -4
- package/dist/chunks/{FlexibleReduxExample-C-2qOGIw.esm.js.map → FlexibleReduxExample-CfMjfKUf.esm.js.map} +1 -1
- package/dist/chunks/{SectionFlowEditor-sKsZ3oQo.js → SectionFlowEditor-Bo7czbNc.js} +5 -5
- package/dist/chunks/{SectionFlowEditor-sKsZ3oQo.js.map → SectionFlowEditor-Bo7czbNc.js.map} +1 -1
- package/dist/chunks/{SectionFlowEditor-CFfJBYKx.esm.js → SectionFlowEditor-Ch24-oHf.esm.js} +5 -5
- package/dist/chunks/{SectionFlowEditor-CFfJBYKx.esm.js.map → SectionFlowEditor-Ch24-oHf.esm.js.map} +1 -1
- package/dist/chunks/{action-bar-C7Alva4T.esm.js → action-bar-BQ3DcZpw.esm.js} +4 -4
- package/dist/chunks/{action-bar-C7Alva4T.esm.js.map → action-bar-BQ3DcZpw.esm.js.map} +1 -1
- package/dist/chunks/{action-bar-DdtpxWNk.js → action-bar-CiYO9X02.js} +4 -4
- package/dist/chunks/{action-bar-DdtpxWNk.js.map → action-bar-CiYO9X02.js.map} +1 -1
- package/dist/chunks/{actionCreator-o4ecxFME.js → actionCreator-BdAKTPvT.js} +3 -3
- package/dist/chunks/{actionCreator-o4ecxFME.js.map → actionCreator-BdAKTPvT.js.map} +1 -1
- package/dist/chunks/{actionCreator-Cl8vPLVO.esm.js → actionCreator-C5C0Rg3P.esm.js} +2 -2
- package/dist/chunks/{actionCreator-Cl8vPLVO.esm.js.map → actionCreator-C5C0Rg3P.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-Cb3NxILP.esm.js → actionCreator-C6VISpYt.esm.js} +3 -3
- package/dist/chunks/{actionCreator-Cb3NxILP.esm.js.map → actionCreator-C6VISpYt.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-Dar9Z8_d.esm.js → actionCreator-C7fR-FtF.esm.js} +2 -2
- package/dist/chunks/{actionCreator-Dar9Z8_d.esm.js.map → actionCreator-C7fR-FtF.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-CMigYdax.js → actionCreator-CPRDrGDt.js} +3 -3
- package/dist/chunks/{actionCreator-CMigYdax.js.map → actionCreator-CPRDrGDt.js.map} +1 -1
- package/dist/chunks/{actionCreator-CXmvL3vl.js → actionCreator-D1M0-Fq1.js} +2 -2
- package/dist/chunks/{actionCreator-CXmvL3vl.js.map → actionCreator-D1M0-Fq1.js.map} +1 -1
- package/dist/chunks/{actionCreator-Bas2FW_X.js → actionCreator-Dds_g-Bu.js} +2 -2
- package/dist/chunks/{actionCreator-Bas2FW_X.js.map → actionCreator-Dds_g-Bu.js.map} +1 -1
- package/dist/chunks/{actionCreator-CpePNxQM.esm.js → actionCreator-EaDmUCRb.esm.js} +2 -2
- package/dist/chunks/{actionCreator-CpePNxQM.esm.js.map → actionCreator-EaDmUCRb.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-CL5ICuqZ.esm.js → actionCreator-Jk4efZIf.esm.js} +3 -3
- package/dist/chunks/{actionCreator-CL5ICuqZ.esm.js.map → actionCreator-Jk4efZIf.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-Dl5gTT9c.js → actionCreator-cbPvURIw.js} +2 -2
- package/dist/chunks/{actionCreator-Dl5gTT9c.js.map → actionCreator-cbPvURIw.js.map} +1 -1
- package/dist/chunks/{add-template-DVvbD9a4.esm.js → add-template-CMJffU6X.esm.js} +2 -2
- package/dist/chunks/{add-template-DVvbD9a4.esm.js.map → add-template-CMJffU6X.esm.js.map} +1 -1
- package/dist/chunks/{add-template-Dohg2bHJ.js → add-template-xJNMepo_.js} +2 -2
- package/dist/chunks/{add-template-Dohg2bHJ.js.map → add-template-xJNMepo_.js.map} +1 -1
- package/dist/chunks/{address-modal-CYhiC7ui.js → address-modal-D-FwM2i_.js} +2 -2
- package/dist/chunks/{address-modal-CYhiC7ui.js.map → address-modal-D-FwM2i_.js.map} +1 -1
- package/dist/chunks/{address-modal-CkDBjnye.esm.js → address-modal-DuLY8PAg.esm.js} +2 -2
- package/dist/chunks/{address-modal-CkDBjnye.esm.js.map → address-modal-DuLY8PAg.esm.js.map} +1 -1
- package/dist/chunks/{ai-summary-BxcrnNNM.js → ai-summary-CzLIVEbV.js} +3 -3
- package/dist/chunks/{ai-summary-BxcrnNNM.js.map → ai-summary-CzLIVEbV.js.map} +1 -1
- package/dist/chunks/{ai-summary-SKK5KN2s.esm.js → ai-summary-DGQyEhsD.esm.js} +3 -3
- package/dist/chunks/{ai-summary-SKK5KN2s.esm.js.map → ai-summary-DGQyEhsD.esm.js.map} +1 -1
- package/dist/chunks/{api-DBhNDBh9.js → api-CMF1LApB.js} +57 -1
- package/dist/chunks/{api-DBhNDBh9.js.map → api-CMF1LApB.js.map} +1 -1
- package/dist/chunks/{api-BIVCMSwW.esm.js → api-COFUx2RW.esm.js} +2 -2
- package/dist/chunks/{api-BIVCMSwW.esm.js.map → api-COFUx2RW.esm.js.map} +1 -1
- package/dist/chunks/{api-Bl6wVi9D.esm.js → api-D4FV2rsK.esm.js} +69 -13
- package/dist/chunks/{api-Bl6wVi9D.esm.js.map → api-D4FV2rsK.esm.js.map} +1 -1
- package/dist/chunks/{api-EomXz8pk.js → api-DuBJvpDR.js} +2 -2
- package/dist/chunks/{api-EomXz8pk.js.map → api-DuBJvpDR.js.map} +1 -1
- package/dist/chunks/{appbar-rqqjZ99v.js → appbar-DzkTUvFH.js} +2 -2
- package/dist/chunks/{appbar-rqqjZ99v.js.map → appbar-DzkTUvFH.js.map} +1 -1
- package/dist/chunks/{appbar-BRbO--as.esm.js → appbar-NK7cEVYo.esm.js} +2 -2
- package/dist/chunks/{appbar-BRbO--as.esm.js.map → appbar-NK7cEVYo.esm.js.map} +1 -1
- package/dist/chunks/{approval-wrapper-BTtmXMlk.esm.js → approval-wrapper-Dkc8WEg5.esm.js} +2 -2
- package/dist/chunks/{approval-wrapper-BTtmXMlk.esm.js.map → approval-wrapper-Dkc8WEg5.esm.js.map} +1 -1
- package/dist/chunks/{approval-wrapper-BM5NxbtT.js → approval-wrapper-Nh3CVait.js} +2 -2
- package/dist/chunks/{approval-wrapper-BM5NxbtT.js.map → approval-wrapper-Nh3CVait.js.map} +1 -1
- package/dist/chunks/{chat-bot-BpNtrZEL.esm.js → chat-bot-3MwduUlf.esm.js} +245 -68
- package/dist/chunks/chat-bot-3MwduUlf.esm.js.map +1 -0
- package/dist/chunks/{chat-bot-osiGMG3g.js → chat-bot-sjkDRlr3.js} +244 -67
- package/dist/chunks/chat-bot-sjkDRlr3.js.map +1 -0
- package/dist/chunks/{common-utility-DGpbsf7S.esm.js → common-utility-GjUrjpEf.esm.js} +2 -2
- package/dist/chunks/{common-utility-DGpbsf7S.esm.js.map → common-utility-GjUrjpEf.esm.js.map} +1 -1
- package/dist/chunks/{common-utility-CA_Upser.js → common-utility-TLpddkaa.js} +2 -2
- package/dist/chunks/{common-utility-CA_Upser.js.map → common-utility-TLpddkaa.js.map} +1 -1
- package/dist/chunks/{custom-editor-6-xqhKz6.esm.js → custom-editor-BjUUIs4F.esm.js} +2 -2
- package/dist/chunks/{custom-editor-6-xqhKz6.esm.js.map → custom-editor-BjUUIs4F.esm.js.map} +1 -1
- package/dist/chunks/{custom-editor-BeLYFfpv.js → custom-editor-ByC55Z4G.js} +2 -2
- package/dist/chunks/{custom-editor-BeLYFfpv.js.map → custom-editor-ByC55Z4G.js.map} +1 -1
- package/dist/chunks/{custom-form-CFU7NEVb.js → custom-form-DEzUMeYP.js} +6 -6
- package/dist/chunks/{custom-form-CFU7NEVb.js.map → custom-form-DEzUMeYP.js.map} +1 -1
- package/dist/chunks/{custom-form-DD7YOHMF.esm.js → custom-form-RvoE2OQr.esm.js} +6 -6
- package/dist/chunks/{custom-form-DD7YOHMF.esm.js.map → custom-form-RvoE2OQr.esm.js.map} +1 -1
- package/dist/chunks/{dashboard-DL83yYRR.esm.js → dashboard-C-HlBEpm.esm.js} +3 -3
- package/dist/chunks/{dashboard-DL83yYRR.esm.js.map → dashboard-C-HlBEpm.esm.js.map} +1 -1
- package/dist/chunks/{dashboard-BcWVkWZt.js → dashboard-CSms9RGu.js} +3 -3
- package/dist/chunks/{dashboard-BcWVkWZt.js.map → dashboard-CSms9RGu.js.map} +1 -1
- package/dist/chunks/{dynamic-report-Z7TQNhUq.js → dynamic-report-2BfQqTlE.js} +4 -4
- package/dist/chunks/{dynamic-report-Z7TQNhUq.js.map → dynamic-report-2BfQqTlE.js.map} +1 -1
- package/dist/chunks/{dynamic-report-tKn-KqAd.esm.js → dynamic-report-6NS0z5pW.esm.js} +4 -4
- package/dist/chunks/{dynamic-report-tKn-KqAd.esm.js.map → dynamic-report-6NS0z5pW.esm.js.map} +1 -1
- package/dist/chunks/{dynamic-rows-CTGETfcP.esm.js → dynamic-rows-CZ1dmLX-.esm.js} +2 -2
- package/dist/chunks/{dynamic-rows-CTGETfcP.esm.js.map → dynamic-rows-CZ1dmLX-.esm.js.map} +1 -1
- package/dist/chunks/{dynamic-rows-CNd_zBwf.js → dynamic-rows-DXy4dtIP.js} +2 -2
- package/dist/chunks/{dynamic-rows-CNd_zBwf.js.map → dynamic-rows-DXy4dtIP.js.map} +1 -1
- package/dist/chunks/{dynamic-text-editor-BBIYTdKZ.js → dynamic-text-editor-BsS7d6iX.js} +2 -2
- package/dist/chunks/{dynamic-text-editor-BBIYTdKZ.js.map → dynamic-text-editor-BsS7d6iX.js.map} +1 -1
- package/dist/chunks/{dynamic-text-editor-CPvlGcLK.esm.js → dynamic-text-editor-CLrhRiKM.esm.js} +2 -2
- package/dist/chunks/{dynamic-text-editor-CPvlGcLK.esm.js.map → dynamic-text-editor-CLrhRiKM.esm.js.map} +1 -1
- package/dist/chunks/{edit-section-modal-BW-aZmUv.esm.js → edit-section-modal-BVH6gzyy.esm.js} +2 -2
- package/dist/chunks/{edit-section-modal-BW-aZmUv.esm.js.map → edit-section-modal-BVH6gzyy.esm.js.map} +1 -1
- package/dist/chunks/{edit-section-modal-Br2ITvLk.js → edit-section-modal-CB6-TNxs.js} +2 -2
- package/dist/chunks/{edit-section-modal-Br2ITvLk.js.map → edit-section-modal-CB6-TNxs.js.map} +1 -1
- package/dist/chunks/{filter-Cr_OSIpb.js → filter-Chgp8Ga-.js} +3 -3
- package/dist/chunks/{filter-Cr_OSIpb.js.map → filter-Chgp8Ga-.js.map} +1 -1
- package/dist/chunks/{filter-COXKBEER.esm.js → filter-DgzeYnXU.esm.js} +3 -3
- package/dist/chunks/{filter-COXKBEER.esm.js.map → filter-DgzeYnXU.esm.js.map} +1 -1
- package/dist/chunks/{footer-CD3kMRdS.js → footer-CTDZ2Qkg.js} +2 -2
- package/dist/chunks/{footer-CD3kMRdS.js.map → footer-CTDZ2Qkg.js.map} +1 -1
- package/dist/chunks/{footer-m3_dlNl8.esm.js → footer-Db5CEUun.esm.js} +2 -2
- package/dist/chunks/{footer-m3_dlNl8.esm.js.map → footer-Db5CEUun.esm.js.map} +1 -1
- package/dist/chunks/{form-fields-yE9kwjvb.js → form-fields-BrEECDh1.js} +2 -2
- package/dist/chunks/{form-fields-yE9kwjvb.js.map → form-fields-BrEECDh1.js.map} +1 -1
- package/dist/chunks/{form-fields-hMMnB_wE.esm.js → form-fields-CpOWIV5e.esm.js} +2 -2
- package/dist/chunks/{form-fields-hMMnB_wE.esm.js.map → form-fields-CpOWIV5e.esm.js.map} +1 -1
- package/dist/chunks/{form-parser-DbnSn5eY.esm.js → form-parser-BOBQohRY.esm.js} +2 -2
- package/dist/chunks/{form-parser-DbnSn5eY.esm.js.map → form-parser-BOBQohRY.esm.js.map} +1 -1
- package/dist/chunks/{form-parser-m4fnw38a.js → form-parser-Bo_xCoz5.js} +2 -2
- package/dist/chunks/{form-parser-m4fnw38a.js.map → form-parser-Bo_xCoz5.js.map} +1 -1
- package/dist/chunks/{form-section-CPIyMdk2.js → form-section-CQkrOcT4.js} +5 -5
- package/dist/chunks/{form-section-CPIyMdk2.js.map → form-section-CQkrOcT4.js.map} +1 -1
- package/dist/chunks/{form-section-TMjdOVeW.esm.js → form-section-CuA5Rmec.esm.js} +5 -5
- package/dist/chunks/{form-section-TMjdOVeW.esm.js.map → form-section-CuA5Rmec.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-BLLa9ogA.js → fullScreen-CKsAPzW8.js} +3 -3
- package/dist/chunks/{fullScreen-BLLa9ogA.js.map → fullScreen-CKsAPzW8.js.map} +1 -1
- package/dist/chunks/{fullScreen-DFgzE41_.esm.js → fullScreen-Dq0rkDY2.esm.js} +3 -3
- package/dist/chunks/{fullScreen-DFgzE41_.esm.js.map → fullScreen-Dq0rkDY2.esm.js.map} +1 -1
- package/dist/chunks/{global-search-BOkxXiZ0.esm.js → global-search-CzTd58hv.esm.js} +3 -3
- package/dist/chunks/{global-search-BOkxXiZ0.esm.js.map → global-search-CzTd58hv.esm.js.map} +1 -1
- package/dist/chunks/{global-search-BjKPmzsQ.js → global-search-mE46QvyY.js} +3 -3
- package/dist/chunks/{global-search-BjKPmzsQ.js.map → global-search-mE46QvyY.js.map} +1 -1
- package/dist/chunks/{grid-view-Bo86x7YL.esm.js → grid-view-Ccl3P7WG.esm.js} +2 -2
- package/dist/chunks/{grid-view-Bo86x7YL.esm.js.map → grid-view-Ccl3P7WG.esm.js.map} +1 -1
- package/dist/chunks/{grid-view-B1u_x5yr.js → grid-view-CcmdZI39.js} +2 -2
- package/dist/chunks/{grid-view-B1u_x5yr.js.map → grid-view-CcmdZI39.js.map} +1 -1
- package/dist/chunks/{header-BHsex2As.js → header-BLQberkS.js} +3 -3
- package/dist/chunks/{header-BHsex2As.js.map → header-BLQberkS.js.map} +1 -1
- package/dist/chunks/{header-B-HaoeK7.esm.js → header-DJXi29Ed.esm.js} +3 -3
- package/dist/chunks/{header-B-HaoeK7.esm.js.map → header-DJXi29Ed.esm.js.map} +1 -1
- package/dist/chunks/{header-enhanced-BjfqyQ1a.esm.js → header-enhanced-BXn_RBUl.esm.js} +2 -2
- package/dist/chunks/{header-enhanced-BjfqyQ1a.esm.js.map → header-enhanced-BXn_RBUl.esm.js.map} +1 -1
- package/dist/chunks/{header-enhanced-gJl4iC4m.js → header-enhanced-GQeFu_BL.js} +2 -2
- package/dist/chunks/{header-enhanced-gJl4iC4m.js.map → header-enhanced-GQeFu_BL.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-BYhRpPcH.esm.js → inline-edit-fields-D68s-Ll-.esm.js} +2 -2
- package/dist/chunks/{inline-edit-fields-BYhRpPcH.esm.js.map → inline-edit-fields-D68s-Ll-.esm.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-atDP84QL.js → inline-edit-fields-vGyiNTyf.js} +2 -2
- package/dist/chunks/{inline-edit-fields-atDP84QL.js.map → inline-edit-fields-vGyiNTyf.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-Bog2i0dr.js → inventory-reports-title-bar-CT7SIGlT.js} +3 -3
- package/dist/chunks/{inventory-reports-title-bar-Bog2i0dr.js.map → inventory-reports-title-bar-CT7SIGlT.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-CP8FzW6A.esm.js → inventory-reports-title-bar-Ddh26t2X.esm.js} +3 -3
- package/dist/chunks/{inventory-reports-title-bar-CP8FzW6A.esm.js.map → inventory-reports-title-bar-Ddh26t2X.esm.js.map} +1 -1
- package/dist/chunks/{item-response-details-DsGQ7Dlc.js → item-response-details-BGtHtJ76.js} +4 -4
- package/dist/chunks/{item-response-details-DsGQ7Dlc.js.map → item-response-details-BGtHtJ76.js.map} +1 -1
- package/dist/chunks/{item-response-details-SHSD-nBh.esm.js → item-response-details-DSCdVRmu.esm.js} +4 -4
- package/dist/chunks/{item-response-details-SHSD-nBh.esm.js.map → item-response-details-DSCdVRmu.esm.js.map} +1 -1
- package/dist/chunks/{listing-DIuzQrzb.js → listing-CTIuYwFQ.js} +4 -4
- package/dist/chunks/{listing-DIuzQrzb.js.map → listing-CTIuYwFQ.js.map} +1 -1
- package/dist/chunks/{listing-C0Yb6MVq.esm.js → listing-Dy2Rksst.esm.js} +4 -4
- package/dist/chunks/{listing-C0Yb6MVq.esm.js.map → listing-Dy2Rksst.esm.js.map} +1 -1
- package/dist/chunks/{location-select-g5uczAUF.js → location-select-Dij5uwHV.js} +2 -2
- package/dist/chunks/{location-select-g5uczAUF.js.map → location-select-Dij5uwHV.js.map} +1 -1
- package/dist/chunks/{location-select-CFa00fy4.esm.js → location-select-N7YryMzR.esm.js} +2 -2
- package/dist/chunks/{location-select-CFa00fy4.esm.js.map → location-select-N7YryMzR.esm.js.map} +1 -1
- package/dist/chunks/{material-editable-table-pAyK7KYf.esm.js → material-editable-table-DH-mHUyW.esm.js} +3 -3
- package/dist/chunks/{material-editable-table-pAyK7KYf.esm.js.map → material-editable-table-DH-mHUyW.esm.js.map} +1 -1
- package/dist/chunks/{material-editable-table-BGLjrTzT.js → material-editable-table-flZ7dwOO.js} +3 -3
- package/dist/chunks/{material-editable-table-BGLjrTzT.js.map → material-editable-table-flZ7dwOO.js.map} +1 -1
- package/dist/chunks/{module-reducer-DMxxForv.esm.js → module-reducer-BOqAXAJs.esm.js} +2 -2
- package/dist/chunks/{module-reducer-DMxxForv.esm.js.map → module-reducer-BOqAXAJs.esm.js.map} +1 -1
- package/dist/chunks/{module-reducer-Ck36ZEmZ.js → module-reducer-khxO3m2l.js} +2 -2
- package/dist/chunks/{module-reducer-Ck36ZEmZ.js.map → module-reducer-khxO3m2l.js.map} +1 -1
- package/dist/chunks/{notification-menu-D7ASm-K1.js → notification-menu-DhXt9aJ6.js} +2 -2
- package/dist/chunks/{notification-menu-D7ASm-K1.js.map → notification-menu-DhXt9aJ6.js.map} +1 -1
- package/dist/chunks/{notification-menu-XAadkn-e.esm.js → notification-menu-INKsWdja.esm.js} +2 -2
- package/dist/chunks/{notification-menu-XAadkn-e.esm.js.map → notification-menu-INKsWdja.esm.js.map} +1 -1
- package/dist/chunks/{page-action-BPzaL2KJ.js → page-action-8XNeWxvS.js} +4 -4
- package/dist/chunks/{page-action-BPzaL2KJ.js.map → page-action-8XNeWxvS.js.map} +1 -1
- package/dist/chunks/{page-action-C07iGjvN.esm.js → page-action-BhSpPGBy.esm.js} +4 -4
- package/dist/chunks/{page-action-C07iGjvN.esm.js.map → page-action-BhSpPGBy.esm.js.map} +1 -1
- package/dist/chunks/{page-navigator-Cgbh3tTG.js → page-navigator-DSmNN1Eb.js} +2 -2
- package/dist/chunks/{page-navigator-Cgbh3tTG.js.map → page-navigator-DSmNN1Eb.js.map} +1 -1
- package/dist/chunks/{page-navigator-8gZpp9_P.esm.js → page-navigator-DjG5btI1.esm.js} +2 -2
- package/dist/chunks/{page-navigator-8gZpp9_P.esm.js.map → page-navigator-DjG5btI1.esm.js.map} +1 -1
- package/dist/chunks/{page-view-DJ6HS_dV.js → page-view-Dbf_t78X.js} +3 -3
- package/dist/chunks/{page-view-DJ6HS_dV.js.map → page-view-Dbf_t78X.js.map} +1 -1
- package/dist/chunks/{page-view-CokUNMBn.esm.js → page-view-DknSUnFR.esm.js} +3 -3
- package/dist/chunks/{page-view-CokUNMBn.esm.js.map → page-view-DknSUnFR.esm.js.map} +1 -1
- package/dist/chunks/{quick-approval-modal-BwYjIbO5.js → quick-approval-modal-BQcjEC5r.js} +2 -2
- package/dist/chunks/{quick-approval-modal-BwYjIbO5.js.map → quick-approval-modal-BQcjEC5r.js.map} +1 -1
- package/dist/chunks/{quick-approval-modal-CPWs8htH.esm.js → quick-approval-modal-DcZGFHAN.esm.js} +2 -2
- package/dist/chunks/{quick-approval-modal-CPWs8htH.esm.js.map → quick-approval-modal-DcZGFHAN.esm.js.map} +1 -1
- package/dist/chunks/{reducer-IsgN83rP.esm.js → reducer-C3tNAbZa.esm.js} +2 -2
- package/dist/chunks/{reducer-IsgN83rP.esm.js.map → reducer-C3tNAbZa.esm.js.map} +1 -1
- package/dist/chunks/{reducer-CdJ6znKF.esm.js → reducer-CACnVYCu.esm.js} +2 -2
- package/dist/chunks/{reducer-CdJ6znKF.esm.js.map → reducer-CACnVYCu.esm.js.map} +1 -1
- package/dist/chunks/{reducer-Qab0amzE.js → reducer-Ca4A9Z08.js} +3 -3
- package/dist/chunks/{reducer-Qab0amzE.js.map → reducer-Ca4A9Z08.js.map} +1 -1
- package/dist/chunks/{reducer-BRD8W9sK.js → reducer-CqXx-nCW.js} +2 -2
- package/dist/chunks/{reducer-BRD8W9sK.js.map → reducer-CqXx-nCW.js.map} +1 -1
- package/dist/chunks/{reducer-3tSO6RW6.esm.js → reducer-D5uYbcnW.esm.js} +3 -3
- package/dist/chunks/{reducer-3tSO6RW6.esm.js.map → reducer-D5uYbcnW.esm.js.map} +1 -1
- package/dist/chunks/{reducer-CpOEECi1.js → reducer-D9YsCrPV.js} +2 -2
- package/dist/chunks/{reducer-CpOEECi1.js.map → reducer-D9YsCrPV.js.map} +1 -1
- package/dist/chunks/{reducer-sgaK2vfW.esm.js → reducer-DgqigQMj.esm.js} +2 -2
- package/dist/chunks/{reducer-sgaK2vfW.esm.js.map → reducer-DgqigQMj.esm.js.map} +1 -1
- package/dist/chunks/{reducer-CPisqqqN.js → reducer-LZj3gYJv.js} +2 -2
- package/dist/chunks/{reducer-CPisqqqN.js.map → reducer-LZj3gYJv.js.map} +1 -1
- package/dist/chunks/{reducer-yyZtsg1A.esm.js → reducer-TleDUmAC.esm.js} +2 -2
- package/dist/chunks/{reducer-yyZtsg1A.esm.js.map → reducer-TleDUmAC.esm.js.map} +1 -1
- package/dist/chunks/{reducer-Bmr6fvcs.js → reducer-zvGfUKoI.js} +2 -2
- package/dist/chunks/{reducer-Bmr6fvcs.js.map → reducer-zvGfUKoI.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-Kz6JjqsY.js → reports-title-bar-D-1LT4fp.js} +4 -4
- package/dist/chunks/{reports-title-bar-Kz6JjqsY.js.map → reports-title-bar-D-1LT4fp.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-Cay4E8SQ.esm.js → reports-title-bar-QUF0UaA5.esm.js} +4 -4
- package/dist/chunks/{reports-title-bar-Cay4E8SQ.esm.js.map → reports-title-bar-QUF0UaA5.esm.js.map} +1 -1
- package/dist/chunks/{routes-CfqLAYgR.js → routes--Iz18uA1.js} +3 -3
- package/dist/chunks/{routes-CfqLAYgR.js.map → routes--Iz18uA1.js.map} +1 -1
- package/dist/chunks/{routes-CAc76Zan.esm.js → routes-JUv69qeO.esm.js} +3 -3
- package/dist/chunks/{routes-CAc76Zan.esm.js.map → routes-JUv69qeO.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-B4ZfEuiU.js → schedule-report-Br9G5M-o.js} +6 -6
- package/dist/chunks/{schedule-report-B4ZfEuiU.js.map → schedule-report-Br9G5M-o.js.map} +1 -1
- package/dist/chunks/{schedule-report-CLXjjfjc.esm.js → schedule-report-Ce2EEmZX.esm.js} +6 -6
- package/dist/chunks/{schedule-report-CLXjjfjc.esm.js.map → schedule-report-Ce2EEmZX.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-modal-CB3G9H7x.esm.js → schedule-report-modal-C5CAD-AQ.esm.js} +3 -3
- package/dist/chunks/{schedule-report-modal-CB3G9H7x.esm.js.map → schedule-report-modal-C5CAD-AQ.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-modal-iwoDI-sg.js → schedule-report-modal-CraO2R9I.js} +3 -3
- package/dist/chunks/{schedule-report-modal-iwoDI-sg.js.map → schedule-report-modal-CraO2R9I.js.map} +1 -1
- package/dist/chunks/{searchable-select-_DCkITfk.js → searchable-select-BdR8A-uG.js} +6 -6
- package/dist/chunks/{searchable-select-_DCkITfk.js.map → searchable-select-BdR8A-uG.js.map} +1 -1
- package/dist/chunks/{searchable-select-0F6E4XAr.esm.js → searchable-select-DSxOplyJ.esm.js} +6 -6
- package/dist/chunks/{searchable-select-0F6E4XAr.esm.js.map → searchable-select-DSxOplyJ.esm.js.map} +1 -1
- package/dist/chunks/{share-modal-BaEyZs2h.esm.js → share-modal-0Xrxwpxh.esm.js} +3 -3
- package/dist/chunks/{share-modal-BaEyZs2h.esm.js.map → share-modal-0Xrxwpxh.esm.js.map} +1 -1
- package/dist/chunks/{share-modal-DrXvh-fV.js → share-modal-CP_CC8wR.js} +3 -3
- package/dist/chunks/{share-modal-DrXvh-fV.js.map → share-modal-CP_CC8wR.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-DnEdDBmu.esm.js → share-modal-enhanced-BFmwba0h.esm.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-DnEdDBmu.esm.js.map → share-modal-enhanced-BFmwba0h.esm.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-BTr0zRhF.js → share-modal-enhanced-BajRayrK.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-BTr0zRhF.js.map → share-modal-enhanced-BajRayrK.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-DpYj_wlK.js → sidebarScreen-CaNfS0JJ.js} +5 -5
- package/dist/chunks/{sidebarScreen-DpYj_wlK.js.map → sidebarScreen-CaNfS0JJ.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-DiOAiXeU.esm.js → sidebarScreen-CmnTAXY7.esm.js} +5 -5
- package/dist/chunks/{sidebarScreen-DiOAiXeU.esm.js.map → sidebarScreen-CmnTAXY7.esm.js.map} +1 -1
- package/dist/chunks/{store-BSJc1kCM.js → store-CqIuLzOS.js} +6 -6
- package/dist/chunks/{store-BSJc1kCM.js.map → store-CqIuLzOS.js.map} +1 -1
- package/dist/chunks/{store-BL5VFPie.esm.js → store-DH8pCqim.esm.js} +6 -6
- package/dist/chunks/{store-BL5VFPie.esm.js.map → store-DH8pCqim.esm.js.map} +1 -1
- package/dist/chunks/{table-gxAlAeTq.esm.js → table-ClKu8f94.esm.js} +3 -3
- package/dist/chunks/{table-gxAlAeTq.esm.js.map → table-ClKu8f94.esm.js.map} +1 -1
- package/dist/chunks/{table-DWx7x8zw.js → table-DgWNw_5R.js} +3 -3
- package/dist/chunks/{table-DWx7x8zw.js.map → table-DgWNw_5R.js.map} +1 -1
- package/dist/chunks/{table-form-DsTwCUcs.esm.js → table-form-BonoJoe4.esm.js} +2 -2
- package/dist/chunks/{table-form-DsTwCUcs.esm.js.map → table-form-BonoJoe4.esm.js.map} +1 -1
- package/dist/chunks/{table-form-DQ-pp0A_.js → table-form-DlMHRtLK.js} +2 -2
- package/dist/chunks/{table-form-DQ-pp0A_.js.map → table-form-DlMHRtLK.js.map} +1 -1
- package/dist/chunks/{template-editor-router-D4NIwVws.js → template-editor-router-BsD0ydNM.js} +2 -2
- package/dist/chunks/{template-editor-router-D4NIwVws.js.map → template-editor-router-BsD0ydNM.js.map} +1 -1
- package/dist/chunks/{template-editor-router-BXLUTvsk.esm.js → template-editor-router-DoOt_Usq.esm.js} +2 -2
- package/dist/chunks/{template-editor-router-BXLUTvsk.esm.js.map → template-editor-router-DoOt_Usq.esm.js.map} +1 -1
- package/dist/chunks/{template-modal-X-iSmlki.js → template-modal-BXZblB-i.js} +2 -2
- package/dist/chunks/{template-modal-X-iSmlki.js.map → template-modal-BXZblB-i.js.map} +1 -1
- package/dist/chunks/{template-modal-B2VgotrF.esm.js → template-modal-Cyj0AUks.esm.js} +2 -2
- package/dist/chunks/{template-modal-B2VgotrF.esm.js.map → template-modal-Cyj0AUks.esm.js.map} +1 -1
- package/dist/chunks/{templates-CCy1eG6A.esm.js → templates-BK_pcPtR.esm.js} +7 -7
- package/dist/chunks/{templates-CCy1eG6A.esm.js.map → templates-BK_pcPtR.esm.js.map} +1 -1
- package/dist/chunks/{templates-CUREMwYo.js → templates-C5whh_WJ.js} +7 -7
- package/dist/chunks/{templates-CUREMwYo.js.map → templates-C5whh_WJ.js.map} +1 -1
- package/dist/chunks/{text-measurement-BRaY2UMX.js → text-measurement-C5RUDcy3.js} +2 -2
- package/dist/chunks/{text-measurement-BRaY2UMX.js.map → text-measurement-C5RUDcy3.js.map} +1 -1
- package/dist/chunks/{text-measurement-BCjauPbB.esm.js → text-measurement-DvKHzZhR.esm.js} +2 -2
- package/dist/chunks/{text-measurement-BCjauPbB.esm.js.map → text-measurement-DvKHzZhR.esm.js.map} +1 -1
- package/dist/chunks/{translations-BrwQcVN3.esm.js → translations-BLrQX9my.esm.js} +2 -2
- package/dist/chunks/{translations-BrwQcVN3.esm.js.map → translations-BLrQX9my.esm.js.map} +1 -1
- package/dist/chunks/{translations-DoVrWLog.js → translations-CaEkNqOX.js} +2 -2
- package/dist/chunks/{translations-DoVrWLog.js.map → translations-CaEkNqOX.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-CTbEc-MB.esm.js → uom-field-wrapper-By-UFGEf.esm.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-CTbEc-MB.esm.js.map → uom-field-wrapper-By-UFGEf.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-DXZgzOYB.js → uom-field-wrapper-CPbf2ESo.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-DXZgzOYB.js.map → uom-field-wrapper-CPbf2ESo.js.map} +1 -1
- package/dist/chunks/{upload-excel-BZPP13tP.esm.js → upload-excel-Bv2QulNF.esm.js} +2 -2
- package/dist/chunks/{upload-excel-BZPP13tP.esm.js.map → upload-excel-Bv2QulNF.esm.js.map} +1 -1
- package/dist/chunks/{upload-excel-rzyINtLp.js → upload-excel-Dki_3fi7.js} +2 -2
- package/dist/chunks/{upload-excel-rzyINtLp.js.map → upload-excel-Dki_3fi7.js.map} +1 -1
- package/dist/chunks/{use-translations-5wUQBxMm.js → use-translations-CiaeAhQ7.js} +2 -2
- package/dist/chunks/{use-translations-5wUQBxMm.js.map → use-translations-CiaeAhQ7.js.map} +1 -1
- package/dist/chunks/{use-translations-CcjSFA3F.esm.js → use-translations-Cplg_xvQ.esm.js} +2 -2
- package/dist/chunks/{use-translations-CcjSFA3F.esm.js.map → use-translations-Cplg_xvQ.esm.js.map} +1 -1
- package/dist/chunks/{useAccountSetting-vAqgEiJB.esm.js → useAccountSetting-D2zH-h5F.esm.js} +3 -3
- package/dist/chunks/{useAccountSetting-vAqgEiJB.esm.js.map → useAccountSetting-D2zH-h5F.esm.js.map} +1 -1
- package/dist/chunks/{useAccountSetting-9XBALMnW.js → useAccountSetting-Dvyv7WUv.js} +3 -3
- package/dist/chunks/{useAccountSetting-9XBALMnW.js.map → useAccountSetting-Dvyv7WUv.js.map} +1 -1
- package/dist/chunks/{useCheckSkuAndName-CqSLFlhD.js → useCheckSkuAndName-3SCc5HGN.js} +2 -2
- package/dist/chunks/{useCheckSkuAndName-CqSLFlhD.js.map → useCheckSkuAndName-3SCc5HGN.js.map} +1 -1
- package/dist/chunks/{useCheckSkuAndName-Dl24wQO-.esm.js → useCheckSkuAndName-BuHzZ_fJ.esm.js} +2 -2
- package/dist/chunks/{useCheckSkuAndName-Dl24wQO-.esm.js.map → useCheckSkuAndName-BuHzZ_fJ.esm.js.map} +1 -1
- package/dist/chunks/{useReduxIntegration-DZBfKF7d.esm.js → useReduxIntegration-B0bZ0VOc.esm.js} +2 -2
- package/dist/chunks/{useReduxIntegration-DZBfKF7d.esm.js.map → useReduxIntegration-B0bZ0VOc.esm.js.map} +1 -1
- package/dist/chunks/{useReduxIntegration-Ct1UN9fB.js → useReduxIntegration-GG8n-C3E.js} +2 -2
- package/dist/chunks/{useReduxIntegration-Ct1UN9fB.js.map → useReduxIntegration-GG8n-C3E.js.map} +1 -1
- package/dist/chunks/{useUniquenessCheck-bYjnp_0P.esm.js → useUniquenessCheck-B_KNcS14.esm.js} +2 -2
- package/dist/chunks/{useUniquenessCheck-bYjnp_0P.esm.js.map → useUniquenessCheck-B_KNcS14.esm.js.map} +1 -1
- package/dist/chunks/{useUniquenessCheck-By5zlovX.js → useUniquenessCheck-SyibUppM.js} +2 -2
- package/dist/chunks/{useUniquenessCheck-By5zlovX.js.map → useUniquenessCheck-SyibUppM.js.map} +1 -1
- package/dist/chunks/{useVendorAICompare-BAkWpJbe.js → useVendorAICompare-Br8Zaj9n.js} +3 -3
- package/dist/chunks/{useVendorAICompare-BAkWpJbe.js.map → useVendorAICompare-Br8Zaj9n.js.map} +1 -1
- package/dist/chunks/{useVendorAICompare-DZRFDk4i.esm.js → useVendorAICompare-MAhIaPcK.esm.js} +3 -3
- package/dist/chunks/{useVendorAICompare-DZRFDk4i.esm.js.map → useVendorAICompare-MAhIaPcK.esm.js.map} +1 -1
- package/dist/chunks/{value-editor-BSS9Ns2T.js → value-editor-CjBbeBcy.js} +3 -3
- package/dist/chunks/{value-editor-BSS9Ns2T.js.map → value-editor-CjBbeBcy.js.map} +1 -1
- package/dist/chunks/{value-editor-DQ1qgZ2u.esm.js → value-editor-Du1_lUxK.esm.js} +3 -3
- package/dist/chunks/{value-editor-DQ1qgZ2u.esm.js.map → value-editor-Du1_lUxK.esm.js.map} +1 -1
- package/dist/chunks/{vendor-ai-summary-DWmAaQ_N.js → vendor-ai-summary-ChCg_E_J.js} +2 -2
- package/dist/chunks/{vendor-ai-summary-DWmAaQ_N.js.map → vendor-ai-summary-ChCg_E_J.js.map} +1 -1
- package/dist/chunks/{vendor-ai-summary-BA6m2dH9.esm.js → vendor-ai-summary-DICDiSMd.esm.js} +2 -2
- package/dist/chunks/{vendor-ai-summary-BA6m2dH9.esm.js.map → vendor-ai-summary-DICDiSMd.esm.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/ai-summary/index.js +1 -1
- package/dist/components/ai-summary/index.esm.js +1 -1
- package/dist/components/ai-summary/index.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/approval-wrapper/index.js +1 -1
- package/dist/components/approval-wrapper/index.esm.js +1 -1
- package/dist/components/approval-wrapper/index.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/grid-view/index.js +1 -1
- package/dist/components/custom-forms/grid-view/index.esm.js +1 -1
- package/dist/components/custom-forms/grid-view/index.js +1 -1
- package/dist/components/custom-forms/index.esm.js +2 -2
- package/dist/components/custom-forms/index.js +2 -2
- 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/custom-editor/index.js +1 -1
- package/dist/components/editor/index.esm.js +1 -1
- package/dist/components/editor/index.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/dynamic-text-editor/index.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 +4 -4
- 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 +4 -4
- 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 +6 -6
- 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 +5 -5
- package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/header/redux/actionCreator/index.js +1 -1
- package/dist/components/header/redux/index.esm.js +2 -2
- package/dist/components/header/redux/index.js +2 -2
- package/dist/components/header/redux/reducer/index.esm.js +1 -1
- package/dist/components/header/redux/reducer/index.js +1 -1
- package/dist/components/index.esm.js +36 -36
- package/dist/components/index.js +36 -36
- package/dist/components/inventory-reports-title-bar/index.esm.js +3 -3
- package/dist/components/inventory-reports-title-bar/index.js +3 -3
- 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/actionCreator/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/index.esm.js +2 -2
- package/dist/components/inventory-reports-title-bar/redux/index.js +2 -2
- package/dist/components/inventory-reports-title-bar/redux/reducer/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/reducer/index.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/ERPUIProvider/index.js +1 -1
- package/dist/components/providers/index.esm.js +1 -1
- package/dist/components/providers/index.js +1 -1
- package/dist/components/quick-approval-modal/index.esm.js +1 -1
- package/dist/components/quick-approval-modal/index.js +1 -1
- package/dist/components/quick-approval-modal/quick-approval-modal/index.esm.js +1 -1
- package/dist/components/quick-approval-modal/quick-approval-modal/index.js +1 -1
- package/dist/components/reports/dynamic-report/dynamic-report/index.esm.js +1 -1
- package/dist/components/reports/dynamic-report/dynamic-report/index.js +1 -1
- package/dist/components/reports/dynamic-report/dynamic-rows/index.esm.js +1 -1
- package/dist/components/reports/dynamic-report/dynamic-rows/index.js +1 -1
- package/dist/components/reports/dynamic-report/index.esm.js +2 -2
- package/dist/components/reports/dynamic-report/index.js +2 -2
- package/dist/components/reports/index.esm.js +2 -2
- package/dist/components/reports/index.js +2 -2
- package/dist/components/reports-title-bar/index.esm.js +3 -3
- package/dist/components/reports-title-bar/index.js +3 -3
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/reports-title-bar/redux/index.esm.js +2 -2
- package/dist/components/reports-title-bar/redux/index.js +2 -2
- package/dist/components/reports-title-bar/redux/reducer/index.esm.js +1 -1
- package/dist/components/reports-title-bar/redux/reducer/index.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/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 +4 -4
- package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
- package/dist/components/share-modal/redux/index.esm.js +2 -2
- package/dist/components/share-modal/redux/index.js +2 -2
- package/dist/components/share-modal/redux/reducer/index.esm.js +1 -1
- package/dist/components/share-modal/redux/reducer/index.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/index.js +1 -1
- package/dist/components/upload-excel/upload-excel/index.esm.js +1 -1
- package/dist/components/upload-excel/upload-excel/index.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/hooks/index.esm.js +6 -6
- package/dist/hooks/index.js +6 -6
- 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/useAccountSetting/index.js +1 -1
- package/dist/hooks/useCheckSkuAndName/index.esm.js +1 -1
- package/dist/hooks/useCheckSkuAndName/index.js +1 -1
- package/dist/hooks/useReduxIntegration/index.esm.js +1 -1
- package/dist/hooks/useReduxIntegration/index.js +1 -1
- package/dist/hooks/useUniquenessCheck/index.esm.js +1 -1
- package/dist/hooks/useUniquenessCheck/index.js +1 -1
- package/dist/index.esm.js +64 -64
- package/dist/index.js +64 -64
- 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/redux/index.js +3 -3
- package/dist/runtime/index.esm.js +1 -1
- package/dist/runtime/index.js +1 -1
- package/dist/src/api-client/api.ai-feature/api.d.ts +15 -0
- package/dist/src/components/chat-bot/types.d.ts +1 -1
- package/dist/utils/api/index.esm.js +1 -1
- package/dist/utils/api/index.js +1 -1
- package/dist/utils/common/index.esm.js +1 -1
- package/dist/utils/common/index.js +1 -1
- package/dist/utils/common-utility/index.esm.js +1 -1
- package/dist/utils/common-utility/index.js +1 -1
- package/dist/utils/index.esm.js +5 -5
- package/dist/utils/index.js +4 -4
- package/dist/utils/text-measurement/index.esm.js +1 -1
- package/dist/utils/text-measurement/index.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/element-edit-forms/index.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 +4 -4
- package/dist/views/form-builder/index.js +4 -4
- package/dist/views/form-builder/redux/index.esm.js +1 -1
- package/dist/views/form-builder/redux/index.js +1 -1
- package/dist/views/index.esm.js +13 -13
- package/dist/views/index.js +13 -13
- 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 +1 -1
- package/dist/views/template-editor/components/index.js +1 -1
- package/dist/views/template-editor/edit-section-modal/index.esm.js +1 -1
- package/dist/views/template-editor/edit-section-modal/index.js +1 -1
- package/dist/views/template-editor/index.esm.js +7 -7
- package/dist/views/template-editor/index.js +7 -7
- 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/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/chat-bot-BpNtrZEL.esm.js.map +0 -1
- package/dist/chunks/chat-bot-osiGMG3g.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates-CCy1eG6A.esm.js","sources":["../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '@erpsquad/common/runtime';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\n\nimport './templates.scss';\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n\tconst viewEmails = localStorage.getItem('email-subjects-view');\n\tconst [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n\tconst [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 20, totalCount: 0, skip: 0 });\n\tconst [rows, setRows] = useState<any[]>([]);\n\tconst [isFetching, setIsFetching] = useState<boolean>(false);\n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [templateModalSource, setTemplateModalSource] = useState<'view' | 'add'>('add');\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst formatLabelString = (key: string) => {\n\t\treturn typeof key === 'string'\n\t\t\t? key.split(/[:_-]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join('')\n\t\t\t: key;\n\t}\n\tconst capitalizedModule = module ? formatLabelString(module) : '';\n\tconst modulePrefixedSubjectKey = capitalizedModule ? `${capitalizedModule}Subjects` : 'Subjects';\n\tconst modulePrefixedTemplatesKey = capitalizedModule ? `${capitalizedModule}Templates` : 'Templates';\n\tconst modulePrefixedTemplateEditorKey = capitalizedModule ? `${capitalizedModule}TemplateEditor` : 'TemplateEditor';\n\n\tconst SubjectPermissions = permissions?.[modulePrefixedSubjectKey] \n\t\t|| permissions?.Subjects \n\t\t|| permissions?.[modulePrefixedTemplatesKey] \n\t\t|| permissions?.Templates \n\t\t|| permissions?.[modulePrefixedTemplateEditorKey]\n\t\t|| permissions?.TemplateEditor\n\t\t|| {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif (!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif (companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else {\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value } })\n\t\t}\n\t};\n\n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => {\n\t\t\t\tsetTemplateModalSource('add');\n\t\t\t\tsetShowTemplateModal(email);\n\t\t\t},\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif (type == \"email\") {\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({ ...paginationModel, ...(response?.pagination || {}) });\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\tconst companiesArr = await fetchApi({ apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" } });\n\t\tsetCompanies(companiesArr?.data || []);\n\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 20, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n\tuseEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt', viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t<MaterialTable\n\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\ttotalPages={total}\n\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t}\n\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\tisResetRow={false}\n\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t}\n\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t}\n\t\t\t\t\tshowPreview={true}\n\t\t\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t<GridCard\n\t\t\t\t\tdata={tableRows}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!actionBarActiveTab && (\n\t\t\t\t<Fallback\n\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t</Fallback>\n\t\t\t)}\n\n\t\t\t<Footer\n\t\t\t\ttotal={total}\n\t\t\t\tpaginationModel={{\n\t\t\t\t\t...paginationModel,\n\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t}}\n\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\tresource=''\n\t\t\t/>\n\n\t\t\t{/* Action Menu */}\n\t\t\t<Menu\n\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t</Menu>\n\t\t\t{showTemplateModal && (\n\t\t\t\t<TemplateModal\n\t\t\t\t\temail={showTemplateModal}\n\t\t\t\t\tonClose={() => setShowTemplateModal(null)}\n\t\t\t\t\topen={showTemplateModal !== null}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\tsource={templateModalSource}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showCompanySelectionModal && (\n\t\t\t\t<CompanySelectionModal\n\t\t\t\t\tisOpen={showCompanySelectionModal !== null}\n\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["_a","logo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"templates-BK_pcPtR.esm.js","sources":["../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '@erpsquad/common/runtime';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\n\nimport './templates.scss';\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n\tconst viewEmails = localStorage.getItem('email-subjects-view');\n\tconst [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n\tconst [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 20, totalCount: 0, skip: 0 });\n\tconst [rows, setRows] = useState<any[]>([]);\n\tconst [isFetching, setIsFetching] = useState<boolean>(false);\n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [templateModalSource, setTemplateModalSource] = useState<'view' | 'add'>('add');\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst formatLabelString = (key: string) => {\n\t\treturn typeof key === 'string'\n\t\t\t? key.split(/[:_-]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join('')\n\t\t\t: key;\n\t}\n\tconst capitalizedModule = module ? formatLabelString(module) : '';\n\tconst modulePrefixedSubjectKey = capitalizedModule ? `${capitalizedModule}Subjects` : 'Subjects';\n\tconst modulePrefixedTemplatesKey = capitalizedModule ? `${capitalizedModule}Templates` : 'Templates';\n\tconst modulePrefixedTemplateEditorKey = capitalizedModule ? `${capitalizedModule}TemplateEditor` : 'TemplateEditor';\n\n\tconst SubjectPermissions = permissions?.[modulePrefixedSubjectKey] \n\t\t|| permissions?.Subjects \n\t\t|| permissions?.[modulePrefixedTemplatesKey] \n\t\t|| permissions?.Templates \n\t\t|| permissions?.[modulePrefixedTemplateEditorKey]\n\t\t|| permissions?.TemplateEditor\n\t\t|| {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif (!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif (companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else {\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value } })\n\t\t}\n\t};\n\n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => {\n\t\t\t\tsetTemplateModalSource('add');\n\t\t\t\tsetShowTemplateModal(email);\n\t\t\t},\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif (type == \"email\") {\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({ ...paginationModel, ...(response?.pagination || {}) });\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\tconst companiesArr = await fetchApi({ apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" } });\n\t\tsetCompanies(companiesArr?.data || []);\n\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 20, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n\tuseEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt', viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t<MaterialTable\n\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\ttotalPages={total}\n\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t}\n\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\tisResetRow={false}\n\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t}\n\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t}\n\t\t\t\t\tshowPreview={true}\n\t\t\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t<GridCard\n\t\t\t\t\tdata={tableRows}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!actionBarActiveTab && (\n\t\t\t\t<Fallback\n\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t</Fallback>\n\t\t\t)}\n\n\t\t\t<Footer\n\t\t\t\ttotal={total}\n\t\t\t\tpaginationModel={{\n\t\t\t\t\t...paginationModel,\n\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t}}\n\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\tresource=''\n\t\t\t/>\n\n\t\t\t{/* Action Menu */}\n\t\t\t<Menu\n\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t</Menu>\n\t\t\t{showTemplateModal && (\n\t\t\t\t<TemplateModal\n\t\t\t\t\temail={showTemplateModal}\n\t\t\t\t\tonClose={() => setShowTemplateModal(null)}\n\t\t\t\t\topen={showTemplateModal !== null}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\tsource={templateModalSource}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showCompanySelectionModal && (\n\t\t\t\t<CompanySelectionModal\n\t\t\t\t\tisOpen={showCompanySelectionModal !== null}\n\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["_a","logo"],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const actionBar$1 = require("./action-bar-
|
|
4
|
+
const actionBar$1 = require("./action-bar-CiYO9X02.js");
|
|
5
5
|
const actionBar = require("./action-bar-DMv6sqDP.js");
|
|
6
|
-
const searchableSelect = require("./searchable-select-
|
|
6
|
+
const searchableSelect = require("./searchable-select-BdR8A-uG.js");
|
|
7
7
|
const typography = require("./typography-Bqfr1Ksf.js");
|
|
8
8
|
const fallback = require("./fallback-DoprkqLe.js");
|
|
9
9
|
const menu = require("./menu-CbpcDA_h.js");
|
|
10
|
-
const footer = require("./footer-
|
|
10
|
+
const footer = require("./footer-CTDZ2Qkg.js");
|
|
11
11
|
const useDeepMemo = require("./use-deep-memo-7bIH1dxU.js");
|
|
12
12
|
const runtime = require("@erpsquad/common/runtime");
|
|
13
|
-
const commonUtility = require("./common-utility-
|
|
14
|
-
const api = require("./api-
|
|
13
|
+
const commonUtility = require("./common-utility-TLpddkaa.js");
|
|
14
|
+
const api = require("./api-DuBJvpDR.js");
|
|
15
15
|
const images = require("../images/index.js");
|
|
16
16
|
const material = require("@mui/material");
|
|
17
17
|
const reactI18next = require("react-i18next");
|
|
@@ -19,7 +19,7 @@ const notistack = require("notistack");
|
|
|
19
19
|
const common = require("./common-C5AokA7z.js");
|
|
20
20
|
const reactRouterDom = require("react-router-dom");
|
|
21
21
|
const api$1 = require("./api-D3c7E20L.js");
|
|
22
|
-
const templateModal = require("./template-modal-
|
|
22
|
+
const templateModal = require("./template-modal-BXZblB-i.js");
|
|
23
23
|
const companySelectionModal = require("./company-selection-modal-B7jFVWWs.js");
|
|
24
24
|
;/* empty css */
|
|
25
25
|
const Templates = ({ type, module: module2, modulePath }) => {
|
|
@@ -275,4 +275,4 @@ const Templates = ({ type, module: module2, modulePath }) => {
|
|
|
275
275
|
] });
|
|
276
276
|
};
|
|
277
277
|
exports.Templates = Templates;
|
|
278
|
-
//# sourceMappingURL=templates-
|
|
278
|
+
//# sourceMappingURL=templates-C5whh_WJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates-CUREMwYo.js","sources":["../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '@erpsquad/common/runtime';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\n\nimport './templates.scss';\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n\tconst viewEmails = localStorage.getItem('email-subjects-view');\n\tconst [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n\tconst [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 20, totalCount: 0, skip: 0 });\n\tconst [rows, setRows] = useState<any[]>([]);\n\tconst [isFetching, setIsFetching] = useState<boolean>(false);\n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [templateModalSource, setTemplateModalSource] = useState<'view' | 'add'>('add');\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst formatLabelString = (key: string) => {\n\t\treturn typeof key === 'string'\n\t\t\t? key.split(/[:_-]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join('')\n\t\t\t: key;\n\t}\n\tconst capitalizedModule = module ? formatLabelString(module) : '';\n\tconst modulePrefixedSubjectKey = capitalizedModule ? `${capitalizedModule}Subjects` : 'Subjects';\n\tconst modulePrefixedTemplatesKey = capitalizedModule ? `${capitalizedModule}Templates` : 'Templates';\n\tconst modulePrefixedTemplateEditorKey = capitalizedModule ? `${capitalizedModule}TemplateEditor` : 'TemplateEditor';\n\n\tconst SubjectPermissions = permissions?.[modulePrefixedSubjectKey] \n\t\t|| permissions?.Subjects \n\t\t|| permissions?.[modulePrefixedTemplatesKey] \n\t\t|| permissions?.Templates \n\t\t|| permissions?.[modulePrefixedTemplateEditorKey]\n\t\t|| permissions?.TemplateEditor\n\t\t|| {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif (!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif (companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else {\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value } })\n\t\t}\n\t};\n\n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => {\n\t\t\t\tsetTemplateModalSource('add');\n\t\t\t\tsetShowTemplateModal(email);\n\t\t\t},\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif (type == \"email\") {\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({ ...paginationModel, ...(response?.pagination || {}) });\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\tconst companiesArr = await fetchApi({ apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" } });\n\t\tsetCompanies(companiesArr?.data || []);\n\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 20, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n\tuseEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt', viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t<MaterialTable\n\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\ttotalPages={total}\n\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t}\n\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\tisResetRow={false}\n\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t}\n\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t}\n\t\t\t\t\tshowPreview={true}\n\t\t\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t<GridCard\n\t\t\t\t\tdata={tableRows}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!actionBarActiveTab && (\n\t\t\t\t<Fallback\n\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t</Fallback>\n\t\t\t)}\n\n\t\t\t<Footer\n\t\t\t\ttotal={total}\n\t\t\t\tpaginationModel={{\n\t\t\t\t\t...paginationModel,\n\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t}}\n\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\tresource=''\n\t\t\t/>\n\n\t\t\t{/* Action Menu */}\n\t\t\t<Menu\n\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t</Menu>\n\t\t\t{showTemplateModal && (\n\t\t\t\t<TemplateModal\n\t\t\t\t\temail={showTemplateModal}\n\t\t\t\t\tonClose={() => setShowTemplateModal(null)}\n\t\t\t\t\topen={showTemplateModal !== null}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\tsource={templateModalSource}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showCompanySelectionModal && (\n\t\t\t\t<CompanySelectionModal\n\t\t\t\t\tisOpen={showCompanySelectionModal !== null}\n\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["module","useTranslation","usePages","useDeepMemo","useState","viewTypes","useNavigate","usePermissions","templateRoutes","enqueueSnackbar","_a","useCallback","appendConditionSafely","getV1Subjects","getToken","fetchApi","useMemo","transformTableColumns","defaultCurrencySymbol","useEffect","jsxs","jsx","ActionBar","MaterialTable","Fallback","logo","Footer","Menu","MenuItem","Typography","TemplateModal","CompanySelectionModal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAM,YAAsC,CAAC,EAAE,MAAM,QAAAA,SAAQ,iBAAiB;;AAC7E,QAAM,EAAE,EAAA,IAAMC,4BAAA;AACd,QAAM;AAAA,IACL,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,EAAA,IAEGC,iBAAA;AACJ,QAAM,aAAaC,YAAAA,YAAuB,KAAK;AAE/C,QAAM,CAAC,gBAAgB,iBAAiB,IAAIC,MAAAA,SAA6B,IAAI;AAC7E,QAAM,aAAa,aAAa,QAAQ,qBAAqB;AAC7D,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAuB,aAAa,KAAK,MAAM,UAAU,IAAI,CAAC,EAAE,OAAO,SAAS,UAAU,EAAA,CAAG,CAAC;AAExI,QAAM,CAAC,oBAAoB,qBAAqB,IAAIA,MAAAA,SAAiBC,UAAAA,UAAU,KAAK;AACpF,QAAM,CAAC,iBAAiB,kBAAkB,IAAID,MAAAA,SAAqB,EAAE,QAAQ,GAAG,OAAO,IAAI,YAAY,GAAG,MAAM,GAAG;AACnH,QAAM,CAAC,MAAM,OAAO,IAAIA,MAAAA,SAAgB,CAAA,CAAE;AAC1C,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAkB,KAAK;AAC3D,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAS,CAAA,CAAE;AACjD,QAAM,CAAC,mBAAmB,oBAAoB,IAAIA,MAAAA,SAAwB,IAAI;AAC9E,QAAM,CAAC,qBAAqB,sBAAsB,IAAIA,MAAAA,SAAyB,KAAK;AACpF,QAAM,CAAC,2BAA2B,4BAA4B,IAAIA,MAAAA,SAAwB,IAAI;AAC9F,QAAM,CAAC,WAAW,YAAY,IAAIA,MAAAA,SAAgC,CAAA,CAAE;AAEpE,QAAM,WAAWE,eAAAA,YAAA;AACjB,QAAM,EAAE,QAAQ,OAAO,QAAQ,eAAe;AAC9C,QAAM,QAAQ,WAAW,aAAa;AACtC,QAAM,QAAQ,QAAQ,KAAK,KAAK,aAAa,KAAK,IAAI;AACtD,QAAM,OAAO,SAAS,SAAS;AAC/B,QAAM,cAAcC,QAAAA,eAAA;AACpB,QAAM,SAASC,OAAAA,eAAe,YAAY,IAAI;AAE9C,QAAM,oBAAoB,CAAC,QAAgB;AAC1C,WAAO,OAAO,QAAQ,WACnB,IAAI,MAAM,OAAO,EAAE,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,YAAA,IAAgB,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IACtF;AAAA,EACJ;AACA,QAAM,oBAAoBR,UAAS,kBAAkBA,OAAM,IAAI;AAC/D,QAAM,2BAA2B,oBAAoB,GAAG,iBAAiB,aAAa;AACtF,QAAM,6BAA6B,oBAAoB,GAAG,iBAAiB,cAAc;AACzF,QAAM,kCAAkC,oBAAoB,GAAG,iBAAiB,mBAAmB;AAEnG,QAAM,sBAAqB,2CAAc,+BACrC,2CAAa,cACb,2CAAc,iCACd,2CAAa,eACb,2CAAc,sCACd,2CAAa,mBACb,CAAA;AACJ,QAAM,qBAAmB,gDAAa,gBAAb,mBAA0B,qBAAoB,CAAA;AAEvE,QAAM;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,IACV,YAAY;AAAA,EAAA,IACT;AAEJ,QAAM,EAAE,QAAQ,YAAY,MAAA,IAAU;AAEtC,QAAM,iBAAiB,CAAC,UAAU;;AACjC,QAAI,EAAC,uCAAW,SAAQ;AACvBS,gBAAAA,gBAAgB,8BAA8B,EAAE,SAAS,QAAA,CAAS;AAClE;AAAA,IACD;AAEA,SAAI,uCAAW,UAAS,GAAG;AAC1B,mCAA6B,KAAK;AAAA,IACnC,OAAO;AACN,eAAS,OAAO,aAAa,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,cAAYC,MAAA,UAAU,CAAC,MAAX,gBAAAA,IAAc,SAAM,eAAU,CAAC,MAAX,mBAAc,OAAA,GAAS;AAAA,IAC5G;AAAA,EACD;AAEA,QAAM,gBAAgB;AAAA,IACrB;AAAA,MACC,OAAO;AAAA,MACP,cAAc,CAAC,UAAkB,eAAe,KAAK;AAAA,MACrD,UAAU,CAAC,QAAa,CAAC;AAAA,IAAA;AAAA,IAE1B;AAAA,MACC,OAAO;AAAA,MACP,cAAc,CAAC,UAAkB;AAChC,+BAAuB,KAAK;AAC5B,6BAAqB,KAAK;AAAA,MAC3B;AAAA,MACA,UAAU,CAAC,QAAa,CAAC;AAAA,IAAA;AAAA,EAC1B;AAID,QAAM,YAAYC,MAAAA;AAAAA,IACjB,YAAY;AACX,YAAM,EAAE,MAAM,mBAAmB,OAAA,IAAW;AAC5C,YAAM,eAAe,SAAS,iBAAiB,MAAM,KAAK;AAC1D,YAAM,QAAQ,CAAA;AACd,YAAM,KAAK,IAAI;AACf,UAAI,QAAQ,SAAS;AACpB,cAAM,KAAK,gBAAgB;AAAA,MAC5B;AACA,YAAM,WAAWC,IAAAA,sBAAsB,mBAAmB,aAAa,MAAM,KAAK,GAAG,CAAC,eAAeZ,OAAM,GAAG,YAAY,EAAE;AAE5H,YAAM,WAAW,MAAMa,oBAAc;AAAA,QACpC,GAAGC,aAAA;AAAA,QACH;AAAA,QACA;AAAA;AAAA,QAEA,GAAI,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,KAAK,OAAO,KAAK,CAAC,GAAA;AAAA,QACrD,GAAI,YAAY,aAAa,QAAQ,EAAE,SAAS,SAAA;AAAA,MAAS,CACzD;AAED,eAAQ,qCAAU,SAAQ,EAAE;AAC5B,yBAAmB,EAAE,GAAG,iBAAiB,IAAI,qCAAU,eAAc,CAAA,GAAK;AAAA,IAC3E;AAAA;AAAA,IAEA;AAAA,MACC;AAAA,MACA;AAAA,MACA,yCAAY;AAAA,MACZ,yCAAY;AAAA,MACZ,yCAAY;AAAA,IAAA;AAAA,EACb;AAGD,QAAM,eAAe,YAAY;AAChC,UAAM,eAAe,MAAMC,IAAAA,SAAS,EAAE,QAAQ,WAAW,SAAS,EAAE,MAAM,GAAG,OAAO,KAAK,OAAO,OAAA,GAAU;AAC1G,kBAAa,6CAAc,SAAQ,EAAE;AAAA,EACtC;AAEA,QAAM,YAAYC,MAAAA,QAAQ,MAAM,QAAQ,CAAA,GAAI,CAAC,IAAI,CAAC;AAElD,QAAM,eAAeA,MAAAA;AAAAA,IACpB,MACCC,oCAAsB;AAAA,MACrB,SAAS,iBAAiB;AAAA,MAC1B,gBAAgB,CAAC;;AAChB,uBAAAP,MAAA,IAAI,aAAJ,gBAAAA,IAAc,kBAAd,mBAA6B,WAAUQ,0BAAA;AAAA;AAAA,MACxC,eAAe;AAAA,MACf,cAAc;AAAA;AAAA;AAAA,MAGd,MAAM;AAAA,MACN,eAAe;AAAA,IAAA,CACf;AAAA,IACF,CAAC,WAAW,GAAG,iBAAiB,OAAO;AAAA,EAAA;AAGxC,QAAM,wBAAwB,CAAC,UAA4B;AAC1D,QAAI,WAAW,cAAa,+BAAO,QAAO;AACzC,qBAAe,EAAE,WAAW,MAAM,MAAA,CAAO;AAAA,IAC1C;AACA,uBAAmB,KAAK;AAAA,EACzB;AAEA,QAAM,UAAU,MAAM;AACrB,UAAM,SAAS,EAAE,QAAQ,GAAG,OAAO,IAAI,YAAY,EAAA;AACnD,uBAAmB,MAAM;AAAA,EAC1B;AAGAC,QAAAA,UAAU,MAAM;AACf,cAAA;AAAA,EACD,GAAG,CAAC,SAAS,CAAC;AAGdA,QAAAA,UAAU,MAAM;AACf,iBAAA;AACA,WAAO;AAAA,EACR,GAAG,CAAA,CAAE;AACLA,QAAAA,UAAU,MAAM;AACf,QAAI,+CAAe,QAAQ;AAC1B,mBAAa,QAAQ,uBAAuB,KAAK,UAAU,aAAa,CAAC;AAAA,IAC1E;AAAA,EACD,GAAG,CAAC,aAAa,CAAC;AAGlB,SACCC,2BAAAA,KAAC,WAAA,EAAQ,WAAU,aAClB,UAAA;AAAA,IAAAC,2BAAAA;AAAAA,MAACC,YAAAA;AAAAA,MAAA;AAAA,QACA,OAAO,SAAS,UAAU,WAAW;AAAA,QACrC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,cAAc,CAAC,WAAW;AACzB,yBAAe,EAAE,QAAQ;AACzB,6BAAmB,EAAE,GAAG,iBAAiB,QAAQ,GAAG;AAAA,QACrD;AAAA,QACA,eAAe,CAAC,UAAU,YAAY,SAASjB,UAAAA,UAAU,IAAI;AAAA,QAC7D,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,QAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAER,uBAAuBA,UAAAA,UAAU,SACjCgB,2BAAAA;AAAAA,MAACE,iBAAAA;AAAAA,MAAA;AAAA,QACA,MAAM,aAAa,CAAA;AAAA,QACnB,SAAS;AAAA,QACT;AAAA,QACA,YAAY;AAAA,QACZ,aAAa,CAAC,kBAAkB,GAAG,iBAAiB,SAAS;AAAA,QAC7D,QAAQ,EAAE,WAAW,WAAA;AAAA,QACrB,iBAAiB,CAAC,SAAS,eAAe,EAAE,MAAM;AAAA,QAClD,sBAAsB;AAAA,QACtB,eAAe;AAAA,QACf,aAAa,CAAC,MACb,eAAe,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC;AAAA,QAE/C,sBAAsB;AAAA,QACtB;AAAA,QACA,YAAY;AAAA,QACZ,sBAAsB,CAAC,aACtB,uBAAuB,EAAE,WAAW,SAAS,MAAM,CAAC,GAAG;AAAA,QAExD,oBAAoB,CAAC,YACpB,uBAAuB,EAAE,SAAkB;AAAA,QAE5C,aAAa;AAAA,QACb,eAAe,CAAC,SAAS;AACxB,iCAAuB,MAAM;AAC7B,+BAAqB,IAAI;AAAA,QAC1B;AAAA,MAAA;AAAA,IAAA;AAAA,IAGD,uBAAuBlB,UAAAA,UAAU,QACjCgB,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAM;AAAA,QACN;AAAA,MAAA;AAAA,IAAA;AAAA,IAID,CAAC,sBACDA,2BAAAA;AAAAA,MAACG,SAAAA;AAAAA,MAAA;AAAA,QACA,SAAS,EAAE,0CAA0C;AAAA,QACrD,YAAW;AAAA,QACX,MAAMH,2BAAAA,IAAC,OAAA,EAAI,KAAKI,OAAAA,QAAK,gBAAA,CAAiB;AAAA,MAAA;AAAA,IAAA;AAAA,IAIxCJ,2BAAAA;AAAAA,MAACK,OAAAA;AAAAA,MAAA;AAAA,QACA;AAAA,QACA,iBAAiB;AAAA,UAChB,GAAG;AAAA,UACH,OAAO,WAAW;AAAA,QAAA;AAAA,QAEnB;AAAA,QACA,UAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAIVN,2BAAAA;AAAAA,MAACO,KAAAA;AAAAA,MAAA;AAAA,QACA,UAAU;AAAA,QACV,MAAM,QAAQ,cAAc;AAAA,QAC5B,SAAS,MAAM,kBAAkB,IAAI;AAAA,QACrC,UAAA;AAAA,UAAAN,2BAAAA,IAACO,SAAAA,UAAA,EACA,UAAAP,2BAAAA,IAACQ,WAAAA,YAAA,EAAW,MAAK,MAAK,OAAM,wBAC1B,UAAA,EAAE,eAAe,EAAA,CACnB,GACD;AAAA,UACAR,2BAAAA,IAACO,SAAAA,UAAA,EACA,UAAAP,2BAAAA,IAACQ,WAAAA,YAAA,EAAW,MAAK,MAAK,OAAM,wBAC1B,UAAA,EAAE,cAAc,EAAA,CAClB,EAAA,CACD;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAEA,qBACAR,2BAAAA;AAAAA,MAACS,cAAAA;AAAAA,MAAA;AAAA,QACA,OAAO;AAAA,QACP,SAAS,MAAM,qBAAqB,IAAI;AAAA,QACxC,MAAM,sBAAsB;AAAA,QAC5B;AAAA,QACA,gBAAgB;AAAA,QAChB,QAAQ;AAAA,MAAA;AAAA,IAAA;AAAA,IAGT,6BACAT,2BAAAA;AAAAA,MAACU,sBAAAA;AAAAA,MAAA;AAAA,QACA,QAAQ,8BAA8B;AAAA,QACtC,WAAW;AAAA,QACX;AAAA,QACA,OAAO;AAAA,QACP,gBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GAEF;AAEF;;"}
|
|
1
|
+
{"version":3,"file":"templates-C5whh_WJ.js","sources":["../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '@erpsquad/common/runtime';\nimport { usePages } from '@erpsquad/common/runtime';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '@erpsquad/common/runtime';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\n\nimport './templates.scss';\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n\tconst viewEmails = localStorage.getItem('email-subjects-view');\n\tconst [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n\tconst [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 20, totalCount: 0, skip: 0 });\n\tconst [rows, setRows] = useState<any[]>([]);\n\tconst [isFetching, setIsFetching] = useState<boolean>(false);\n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [templateModalSource, setTemplateModalSource] = useState<'view' | 'add'>('add');\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst formatLabelString = (key: string) => {\n\t\treturn typeof key === 'string'\n\t\t\t? key.split(/[:_-]/).map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join('')\n\t\t\t: key;\n\t}\n\tconst capitalizedModule = module ? formatLabelString(module) : '';\n\tconst modulePrefixedSubjectKey = capitalizedModule ? `${capitalizedModule}Subjects` : 'Subjects';\n\tconst modulePrefixedTemplatesKey = capitalizedModule ? `${capitalizedModule}Templates` : 'Templates';\n\tconst modulePrefixedTemplateEditorKey = capitalizedModule ? `${capitalizedModule}TemplateEditor` : 'TemplateEditor';\n\n\tconst SubjectPermissions = permissions?.[modulePrefixedSubjectKey] \n\t\t|| permissions?.Subjects \n\t\t|| permissions?.[modulePrefixedTemplatesKey] \n\t\t|| permissions?.Templates \n\t\t|| permissions?.[modulePrefixedTemplateEditorKey]\n\t\t|| permissions?.TemplateEditor\n\t\t|| {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif (!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif (companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else {\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value } })\n\t\t}\n\t};\n\n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => {\n\t\t\t\tsetTemplateModalSource('add');\n\t\t\t\tsetShowTemplateModal(email);\n\t\t\t},\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif (type == \"email\") {\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({ ...paginationModel, ...(response?.pagination || {}) });\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\tconst companiesArr = await fetchApi({ apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" } });\n\t\tsetCompanies(companiesArr?.data || []);\n\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 20, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n\tuseEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt', viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t<MaterialTable\n\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\ttotalPages={total}\n\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\tenableEditing={false}\n\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t}\n\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\tisResetRow={false}\n\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t}\n\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t}\n\t\t\t\t\tshowPreview={true}\n\t\t\t\t\thandlePreview={(item) => {\n\t\t\t\t\t\tsetTemplateModalSource('view');\n\t\t\t\t\t\tsetShowTemplateModal(item);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t<GridCard\n\t\t\t\t\tdata={tableRows}\n\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{!actionBarActiveTab && (\n\t\t\t\t<Fallback\n\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t</Fallback>\n\t\t\t)}\n\n\t\t\t<Footer\n\t\t\t\ttotal={total}\n\t\t\t\tpaginationModel={{\n\t\t\t\t\t...paginationModel,\n\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t}}\n\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\tresource=''\n\t\t\t/>\n\n\t\t\t{/* Action Menu */}\n\t\t\t<Menu\n\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t\t<MenuItem>\n\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t</Typography>\n\t\t\t\t</MenuItem>\n\t\t\t</Menu>\n\t\t\t{showTemplateModal && (\n\t\t\t\t<TemplateModal\n\t\t\t\t\temail={showTemplateModal}\n\t\t\t\t\tonClose={() => setShowTemplateModal(null)}\n\t\t\t\t\topen={showTemplateModal !== null}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\tsource={templateModalSource}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{showCompanySelectionModal && (\n\t\t\t\t<CompanySelectionModal\n\t\t\t\t\tisOpen={showCompanySelectionModal !== null}\n\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal}\n\t\t\t\t\tcompanies={companies}\n\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["module","useTranslation","usePages","useDeepMemo","useState","viewTypes","useNavigate","usePermissions","templateRoutes","enqueueSnackbar","_a","useCallback","appendConditionSafely","getV1Subjects","getToken","fetchApi","useMemo","transformTableColumns","defaultCurrencySymbol","useEffect","jsxs","jsx","ActionBar","MaterialTable","Fallback","logo","Footer","Menu","MenuItem","Typography","TemplateModal","CompanySelectionModal"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const typography = require("./typography-G3sgt_Ls.js");
|
|
3
|
-
const api = require("./api-
|
|
3
|
+
const api = require("./api-DuBJvpDR.js");
|
|
4
4
|
const dateFormat = require("./dateFormat-DruK2Qh9.js");
|
|
5
5
|
const DEFAULT_MEASUREMENT_CONFIG = {
|
|
6
6
|
fontSize: "14px",
|
|
@@ -248,4 +248,4 @@ exports.getCheckboxColumnWidth = getCheckboxColumnWidth;
|
|
|
248
248
|
exports.getFontConfig = getFontConfig;
|
|
249
249
|
exports.measureTextWidth = measureTextWidth;
|
|
250
250
|
exports.sampleRowContent = sampleRowContent;
|
|
251
|
-
//# sourceMappingURL=text-measurement-
|
|
251
|
+
//# sourceMappingURL=text-measurement-C5RUDcy3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-measurement-BRaY2UMX.js","sources":["../../src/utils/text-measurement.ts"],"sourcesContent":["import { primaryFont } from '../theme/typography';\nimport { toFixedWithNumbers } from './common';\nimport { formatDate } from './dateFormat';\n\nexport interface MeasurementConfig {\n fontSize: string;\n fontFamily: string;\n fontWeight: string | number;\n}\n\nexport const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig = {\n fontSize: '14px',\n fontFamily: primaryFont,\n fontWeight: '500'\n};\n\nlet canvasContext: CanvasRenderingContext2D | null = null;\n\nfunction getCanvasContext(): CanvasRenderingContext2D | null {\n if (canvasContext) {\n return canvasContext;\n }\n\n try {\n const canvas = document.createElement('canvas');\n canvasContext = canvas.getContext('2d');\n return canvasContext;\n } catch (error) {\n console.warn('Canvas context creation failed, falling back to DOM measurement:', error);\n return null;\n }\n}\n\nfunction measureTextWidthCanvas(text: string, config: MeasurementConfig): number {\n const context = getCanvasContext();\n\n if (!context) {\n console.warn('Canvas context not available, returning 0');\n return 0;\n }\n\n context.font = `${config.fontWeight} ${config.fontSize} ${config.fontFamily}`;\n\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction measureTextWidthDOM(text: string, config: MeasurementConfig): number {\n try {\n const element = document.createElement('span');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.fontSize = config.fontSize;\n element.style.fontFamily = config.fontFamily;\n element.style.fontWeight = String(config.fontWeight);\n element.textContent = text;\n\n document.body.appendChild(element);\n const width = element.offsetWidth;\n document.body.removeChild(element);\n\n return width;\n } catch (error) {\n console.warn('DOM measurement failed:', error);\n return text.length * 8;\n }\n}\n\nexport function measureTextWidth(\n text: string,\n config: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG\n): number {\n if (!text || text.length === 0) {\n return 0;\n }\n\n const textStr = String(text);\n\n const context = getCanvasContext();\n if (context) {\n return measureTextWidthCanvas(textStr, config);\n }\n\n return measureTextWidthDOM(textStr, config);\n}\n\nexport function getFontConfig(element?: HTMLElement): MeasurementConfig {\n if (!element) {\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n\n try {\n const computedStyle = window.getComputedStyle(element);\n\n return {\n fontSize: computedStyle.fontSize || DEFAULT_MEASUREMENT_CONFIG.fontSize,\n fontFamily: computedStyle.fontFamily || DEFAULT_MEASUREMENT_CONFIG.fontFamily,\n fontWeight: computedStyle.fontWeight || DEFAULT_MEASUREMENT_CONFIG.fontWeight\n };\n } catch (error) {\n console.warn('Failed to extract font config from element:', error);\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n}\n\nexport function formatValueForMeasurement(value: any, type?: string): string {\n if (value === null || value === undefined) {\n return '-';\n }\n\n if (type === 'date' || value instanceof Date) {\n try {\n return new Date(value).toLocaleDateString();\n } catch {\n return String(value);\n }\n }\n\n if (type === 'number' || typeof value === 'number') {\n return String(value);\n }\n\n if (typeof value === 'object') {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n\n return String(value);\n}\n\nexport function cleanupMeasurementContext(): void {\n canvasContext = null;\n}\n\nexport interface SampleConfig {\n maxRows: number;\n headers: any[];\n data: any[];\n tableHeaders: any[];\n}\n\nexport interface WidthConstraints {\n min: number;\n max?: number;\n padding: number;\n}\n\nexport interface WidthCalculationResult {\n [columnName: string]: number;\n}\n\nexport interface HeaderConfig {\n name: string;\n label: string;\n width?: number | string;\n enableSorting?: boolean;\n type?: 'date' | 'number' | 'string';\n render?: (value: any, row: any, data: any) => React.ReactNode;\n}\n\nexport function calculateColumnWidths(\n headers: HeaderConfig[],\n rowContentSamples: { [columnName: string]: string[] },\n measurementConfig: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG,\n constraints: WidthConstraints = { min: 80, padding: 24 },\n t: any\n): WidthCalculationResult {\n\n const calculatedWidths: WidthCalculationResult = {};\n\n headers.forEach((header) => {\n const label = t(header.label)\n if (header.width) {\n const numericWidth = typeof header.width === 'string'\n ? parseInt(header.width.replace(/[^\\d]/g, ''), 10)\n : header.width;\n\n calculatedWidths[label] = numericWidth;\n return;\n }\n\n const headerText = label;\n let headerWidth = measureTextWidth(headerText, measurementConfig);\n\n if (header.enableSorting) {\n headerWidth += 48;\n }\n\n let maxRowContentWidth = 0;\n const samples = rowContentSamples[label] || [];\n\n samples.forEach((content) => {\n const contentWidth = measureTextWidth(content, measurementConfig);\n maxRowContentWidth = Math.max(maxRowContentWidth, contentWidth);\n });\n \n // const isHeaderWidth=(headerWidth < 100 ? headerWidth + 24 : headerWidth >maxRowContentWidth)\n\n let calculatedWidth = Math.max(headerWidth < 100 ? headerWidth + 24 : headerWidth, maxRowContentWidth);\n\n const dynamicPadding = constraints.padding \n\n calculatedWidth += dynamicPadding;\n\n if (maxRowContentWidth > 10) {\n calculatedWidth = Math.max(constraints.min, calculatedWidth);\n } else {\n calculatedWidth = Math.max(60, calculatedWidth);\n }\n\n if (constraints.max) {\n calculatedWidth = Math.min(constraints.max, calculatedWidth);\n }\n\n calculatedWidths[label] = Math.round(calculatedWidth) > 100 ? Math.round(calculatedWidth) : 100;\n });\n\n return calculatedWidths\n}\n\nconst valueMapper = {\n 'amount': {\n format: toFixedWithNumbers\n },\n 'date': {\n format: formatDate\n },\n 'string': {\n format: (value: any) => value\n },\n 'toFixed':{\n format:(value:any)=>toFixedWithNumbers(value)\n }\n}\n\nfunction getNestedValue(obj: any, path: any): any {\n const type = path?.type || 'string';\n if (!path?.name || path?.name === '') {\n return '';\n }\n\n const value = path?.name.split('.').reduce(\n (acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj\n );\n\n if (value === 0 || value === '0') {\n return '0';\n }\n\n return value !== undefined ? valueMapper[type]?.format(value) : '-';\n}\nexport function sampleRowContent(config: SampleConfig): { [columnName: string]: string[] } {\n const { maxRows, headers, data, tableHeaders, t } = config;\n const samples: { [columnName: string]: string[] } = {};\n\n headers.forEach((header) => {\n samples[t(header.label)] = [];\n });\n\n if (!data || !Array.isArray(data) || data.length === 0) {\n return samples;\n }\n\n let sampledCount = 0;\n const maxSamples = maxRows;\n\n function sampleRows(rows: any[], level: number = 0, /* parentRow?: any */) {\n if (!Array.isArray(rows) || sampledCount >= maxSamples) {\n return;\n }\n\n const levelHeaders = tableHeaders && tableHeaders[level] && tableHeaders[level].headers\n ? tableHeaders[level].headers\n : headers;\n\n for (let i = 0; i < rows.length && sampledCount < maxSamples; i++) {\n const row = rows[i];\n\n // Process all headers in the original headers array\n headers.forEach((header: any) => {\n const columnLabel = t(header.label);\n if (!samples[columnLabel]) {\n return;\n }\n\n // Check if this header belongs to the current level\n const headerInCurrentLevel = levelHeaders.find((lh: any) =>\n t(lh.label) === columnLabel\n );\n\n let content: string;\n\n if (headerInCurrentLevel) {\n // This header belongs to current level - get value from current row\n if (header.render && typeof header.render === 'function') {\n try {\n const rendered = header.render(getNestedValue(row, header), row, data);\n\n if (typeof rendered === 'string') {\n content = rendered;\n } else if (typeof rendered === 'number') {\n content = String(rendered);\n } else if (rendered && typeof rendered === 'object' && 'props' in rendered) {\n const props = (rendered as any).props;\n if (props && props.children) {\n content = String(props.children);\n } else {\n content = String(rendered);\n }\n } else {\n content = String(rendered);\n }\n } catch (error) {\n content = formatValueForMeasurement(getNestedValue(row, header), header.type);\n }\n } else {\n const value = getNestedValue(row, header);\n content = formatValueForMeasurement(value, header.type);\n }\n } else {\n // This header belongs to a parent level - use placeholder\n content = \"-\";\n }\n\n samples[columnLabel].push(content);\n });\n\n sampledCount++;\n\n // Recurse into nested data\n if (tableHeaders && tableHeaders[level + 1]) {\n const nextRowKey = tableHeaders[level + 1]?.rowKey;\n if (nextRowKey && row[nextRowKey] && Array.isArray(row[nextRowKey])) {\n sampleRows(row[nextRowKey], level + 1, row);\n }\n }\n }\n }\n\n sampleRows(data, 0);\n\n return samples;\n}\n\nexport function getCheckboxColumnWidth(): number {\n return 60;\n}"],"names":["primaryFont","toFixedWithNumbers","formatDate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text-measurement-C5RUDcy3.js","sources":["../../src/utils/text-measurement.ts"],"sourcesContent":["import { primaryFont } from '../theme/typography';\nimport { toFixedWithNumbers } from './common';\nimport { formatDate } from './dateFormat';\n\nexport interface MeasurementConfig {\n fontSize: string;\n fontFamily: string;\n fontWeight: string | number;\n}\n\nexport const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig = {\n fontSize: '14px',\n fontFamily: primaryFont,\n fontWeight: '500'\n};\n\nlet canvasContext: CanvasRenderingContext2D | null = null;\n\nfunction getCanvasContext(): CanvasRenderingContext2D | null {\n if (canvasContext) {\n return canvasContext;\n }\n\n try {\n const canvas = document.createElement('canvas');\n canvasContext = canvas.getContext('2d');\n return canvasContext;\n } catch (error) {\n console.warn('Canvas context creation failed, falling back to DOM measurement:', error);\n return null;\n }\n}\n\nfunction measureTextWidthCanvas(text: string, config: MeasurementConfig): number {\n const context = getCanvasContext();\n\n if (!context) {\n console.warn('Canvas context not available, returning 0');\n return 0;\n }\n\n context.font = `${config.fontWeight} ${config.fontSize} ${config.fontFamily}`;\n\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction measureTextWidthDOM(text: string, config: MeasurementConfig): number {\n try {\n const element = document.createElement('span');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.fontSize = config.fontSize;\n element.style.fontFamily = config.fontFamily;\n element.style.fontWeight = String(config.fontWeight);\n element.textContent = text;\n\n document.body.appendChild(element);\n const width = element.offsetWidth;\n document.body.removeChild(element);\n\n return width;\n } catch (error) {\n console.warn('DOM measurement failed:', error);\n return text.length * 8;\n }\n}\n\nexport function measureTextWidth(\n text: string,\n config: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG\n): number {\n if (!text || text.length === 0) {\n return 0;\n }\n\n const textStr = String(text);\n\n const context = getCanvasContext();\n if (context) {\n return measureTextWidthCanvas(textStr, config);\n }\n\n return measureTextWidthDOM(textStr, config);\n}\n\nexport function getFontConfig(element?: HTMLElement): MeasurementConfig {\n if (!element) {\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n\n try {\n const computedStyle = window.getComputedStyle(element);\n\n return {\n fontSize: computedStyle.fontSize || DEFAULT_MEASUREMENT_CONFIG.fontSize,\n fontFamily: computedStyle.fontFamily || DEFAULT_MEASUREMENT_CONFIG.fontFamily,\n fontWeight: computedStyle.fontWeight || DEFAULT_MEASUREMENT_CONFIG.fontWeight\n };\n } catch (error) {\n console.warn('Failed to extract font config from element:', error);\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n}\n\nexport function formatValueForMeasurement(value: any, type?: string): string {\n if (value === null || value === undefined) {\n return '-';\n }\n\n if (type === 'date' || value instanceof Date) {\n try {\n return new Date(value).toLocaleDateString();\n } catch {\n return String(value);\n }\n }\n\n if (type === 'number' || typeof value === 'number') {\n return String(value);\n }\n\n if (typeof value === 'object') {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n\n return String(value);\n}\n\nexport function cleanupMeasurementContext(): void {\n canvasContext = null;\n}\n\nexport interface SampleConfig {\n maxRows: number;\n headers: any[];\n data: any[];\n tableHeaders: any[];\n}\n\nexport interface WidthConstraints {\n min: number;\n max?: number;\n padding: number;\n}\n\nexport interface WidthCalculationResult {\n [columnName: string]: number;\n}\n\nexport interface HeaderConfig {\n name: string;\n label: string;\n width?: number | string;\n enableSorting?: boolean;\n type?: 'date' | 'number' | 'string';\n render?: (value: any, row: any, data: any) => React.ReactNode;\n}\n\nexport function calculateColumnWidths(\n headers: HeaderConfig[],\n rowContentSamples: { [columnName: string]: string[] },\n measurementConfig: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG,\n constraints: WidthConstraints = { min: 80, padding: 24 },\n t: any\n): WidthCalculationResult {\n\n const calculatedWidths: WidthCalculationResult = {};\n\n headers.forEach((header) => {\n const label = t(header.label)\n if (header.width) {\n const numericWidth = typeof header.width === 'string'\n ? parseInt(header.width.replace(/[^\\d]/g, ''), 10)\n : header.width;\n\n calculatedWidths[label] = numericWidth;\n return;\n }\n\n const headerText = label;\n let headerWidth = measureTextWidth(headerText, measurementConfig);\n\n if (header.enableSorting) {\n headerWidth += 48;\n }\n\n let maxRowContentWidth = 0;\n const samples = rowContentSamples[label] || [];\n\n samples.forEach((content) => {\n const contentWidth = measureTextWidth(content, measurementConfig);\n maxRowContentWidth = Math.max(maxRowContentWidth, contentWidth);\n });\n \n // const isHeaderWidth=(headerWidth < 100 ? headerWidth + 24 : headerWidth >maxRowContentWidth)\n\n let calculatedWidth = Math.max(headerWidth < 100 ? headerWidth + 24 : headerWidth, maxRowContentWidth);\n\n const dynamicPadding = constraints.padding \n\n calculatedWidth += dynamicPadding;\n\n if (maxRowContentWidth > 10) {\n calculatedWidth = Math.max(constraints.min, calculatedWidth);\n } else {\n calculatedWidth = Math.max(60, calculatedWidth);\n }\n\n if (constraints.max) {\n calculatedWidth = Math.min(constraints.max, calculatedWidth);\n }\n\n calculatedWidths[label] = Math.round(calculatedWidth) > 100 ? Math.round(calculatedWidth) : 100;\n });\n\n return calculatedWidths\n}\n\nconst valueMapper = {\n 'amount': {\n format: toFixedWithNumbers\n },\n 'date': {\n format: formatDate\n },\n 'string': {\n format: (value: any) => value\n },\n 'toFixed':{\n format:(value:any)=>toFixedWithNumbers(value)\n }\n}\n\nfunction getNestedValue(obj: any, path: any): any {\n const type = path?.type || 'string';\n if (!path?.name || path?.name === '') {\n return '';\n }\n\n const value = path?.name.split('.').reduce(\n (acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj\n );\n\n if (value === 0 || value === '0') {\n return '0';\n }\n\n return value !== undefined ? valueMapper[type]?.format(value) : '-';\n}\nexport function sampleRowContent(config: SampleConfig): { [columnName: string]: string[] } {\n const { maxRows, headers, data, tableHeaders, t } = config;\n const samples: { [columnName: string]: string[] } = {};\n\n headers.forEach((header) => {\n samples[t(header.label)] = [];\n });\n\n if (!data || !Array.isArray(data) || data.length === 0) {\n return samples;\n }\n\n let sampledCount = 0;\n const maxSamples = maxRows;\n\n function sampleRows(rows: any[], level: number = 0, /* parentRow?: any */) {\n if (!Array.isArray(rows) || sampledCount >= maxSamples) {\n return;\n }\n\n const levelHeaders = tableHeaders && tableHeaders[level] && tableHeaders[level].headers\n ? tableHeaders[level].headers\n : headers;\n\n for (let i = 0; i < rows.length && sampledCount < maxSamples; i++) {\n const row = rows[i];\n\n // Process all headers in the original headers array\n headers.forEach((header: any) => {\n const columnLabel = t(header.label);\n if (!samples[columnLabel]) {\n return;\n }\n\n // Check if this header belongs to the current level\n const headerInCurrentLevel = levelHeaders.find((lh: any) =>\n t(lh.label) === columnLabel\n );\n\n let content: string;\n\n if (headerInCurrentLevel) {\n // This header belongs to current level - get value from current row\n if (header.render && typeof header.render === 'function') {\n try {\n const rendered = header.render(getNestedValue(row, header), row, data);\n\n if (typeof rendered === 'string') {\n content = rendered;\n } else if (typeof rendered === 'number') {\n content = String(rendered);\n } else if (rendered && typeof rendered === 'object' && 'props' in rendered) {\n const props = (rendered as any).props;\n if (props && props.children) {\n content = String(props.children);\n } else {\n content = String(rendered);\n }\n } else {\n content = String(rendered);\n }\n } catch (error) {\n content = formatValueForMeasurement(getNestedValue(row, header), header.type);\n }\n } else {\n const value = getNestedValue(row, header);\n content = formatValueForMeasurement(value, header.type);\n }\n } else {\n // This header belongs to a parent level - use placeholder\n content = \"-\";\n }\n\n samples[columnLabel].push(content);\n });\n\n sampledCount++;\n\n // Recurse into nested data\n if (tableHeaders && tableHeaders[level + 1]) {\n const nextRowKey = tableHeaders[level + 1]?.rowKey;\n if (nextRowKey && row[nextRowKey] && Array.isArray(row[nextRowKey])) {\n sampleRows(row[nextRowKey], level + 1, row);\n }\n }\n }\n }\n\n sampleRows(data, 0);\n\n return samples;\n}\n\nexport function getCheckboxColumnWidth(): number {\n return 60;\n}"],"names":["primaryFont","toFixedWithNumbers","formatDate"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as primaryFont } from "./typography-DSb3h0jJ.esm.js";
|
|
2
|
-
import { av as toFixedWithNumbers } from "./api-
|
|
2
|
+
import { av as toFixedWithNumbers } from "./api-COFUx2RW.esm.js";
|
|
3
3
|
import { a as formatDate } from "./dateFormat-VzMEQghL.esm.js";
|
|
4
4
|
const DEFAULT_MEASUREMENT_CONFIG = {
|
|
5
5
|
fontSize: "14px",
|
|
@@ -249,4 +249,4 @@ export {
|
|
|
249
249
|
measureTextWidth as m,
|
|
250
250
|
sampleRowContent as s
|
|
251
251
|
};
|
|
252
|
-
//# sourceMappingURL=text-measurement-
|
|
252
|
+
//# sourceMappingURL=text-measurement-DvKHzZhR.esm.js.map
|
package/dist/chunks/{text-measurement-BCjauPbB.esm.js.map → text-measurement-DvKHzZhR.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-measurement-BCjauPbB.esm.js","sources":["../../src/utils/text-measurement.ts"],"sourcesContent":["import { primaryFont } from '../theme/typography';\nimport { toFixedWithNumbers } from './common';\nimport { formatDate } from './dateFormat';\n\nexport interface MeasurementConfig {\n fontSize: string;\n fontFamily: string;\n fontWeight: string | number;\n}\n\nexport const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig = {\n fontSize: '14px',\n fontFamily: primaryFont,\n fontWeight: '500'\n};\n\nlet canvasContext: CanvasRenderingContext2D | null = null;\n\nfunction getCanvasContext(): CanvasRenderingContext2D | null {\n if (canvasContext) {\n return canvasContext;\n }\n\n try {\n const canvas = document.createElement('canvas');\n canvasContext = canvas.getContext('2d');\n return canvasContext;\n } catch (error) {\n console.warn('Canvas context creation failed, falling back to DOM measurement:', error);\n return null;\n }\n}\n\nfunction measureTextWidthCanvas(text: string, config: MeasurementConfig): number {\n const context = getCanvasContext();\n\n if (!context) {\n console.warn('Canvas context not available, returning 0');\n return 0;\n }\n\n context.font = `${config.fontWeight} ${config.fontSize} ${config.fontFamily}`;\n\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction measureTextWidthDOM(text: string, config: MeasurementConfig): number {\n try {\n const element = document.createElement('span');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.fontSize = config.fontSize;\n element.style.fontFamily = config.fontFamily;\n element.style.fontWeight = String(config.fontWeight);\n element.textContent = text;\n\n document.body.appendChild(element);\n const width = element.offsetWidth;\n document.body.removeChild(element);\n\n return width;\n } catch (error) {\n console.warn('DOM measurement failed:', error);\n return text.length * 8;\n }\n}\n\nexport function measureTextWidth(\n text: string,\n config: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG\n): number {\n if (!text || text.length === 0) {\n return 0;\n }\n\n const textStr = String(text);\n\n const context = getCanvasContext();\n if (context) {\n return measureTextWidthCanvas(textStr, config);\n }\n\n return measureTextWidthDOM(textStr, config);\n}\n\nexport function getFontConfig(element?: HTMLElement): MeasurementConfig {\n if (!element) {\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n\n try {\n const computedStyle = window.getComputedStyle(element);\n\n return {\n fontSize: computedStyle.fontSize || DEFAULT_MEASUREMENT_CONFIG.fontSize,\n fontFamily: computedStyle.fontFamily || DEFAULT_MEASUREMENT_CONFIG.fontFamily,\n fontWeight: computedStyle.fontWeight || DEFAULT_MEASUREMENT_CONFIG.fontWeight\n };\n } catch (error) {\n console.warn('Failed to extract font config from element:', error);\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n}\n\nexport function formatValueForMeasurement(value: any, type?: string): string {\n if (value === null || value === undefined) {\n return '-';\n }\n\n if (type === 'date' || value instanceof Date) {\n try {\n return new Date(value).toLocaleDateString();\n } catch {\n return String(value);\n }\n }\n\n if (type === 'number' || typeof value === 'number') {\n return String(value);\n }\n\n if (typeof value === 'object') {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n\n return String(value);\n}\n\nexport function cleanupMeasurementContext(): void {\n canvasContext = null;\n}\n\nexport interface SampleConfig {\n maxRows: number;\n headers: any[];\n data: any[];\n tableHeaders: any[];\n}\n\nexport interface WidthConstraints {\n min: number;\n max?: number;\n padding: number;\n}\n\nexport interface WidthCalculationResult {\n [columnName: string]: number;\n}\n\nexport interface HeaderConfig {\n name: string;\n label: string;\n width?: number | string;\n enableSorting?: boolean;\n type?: 'date' | 'number' | 'string';\n render?: (value: any, row: any, data: any) => React.ReactNode;\n}\n\nexport function calculateColumnWidths(\n headers: HeaderConfig[],\n rowContentSamples: { [columnName: string]: string[] },\n measurementConfig: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG,\n constraints: WidthConstraints = { min: 80, padding: 24 },\n t: any\n): WidthCalculationResult {\n\n const calculatedWidths: WidthCalculationResult = {};\n\n headers.forEach((header) => {\n const label = t(header.label)\n if (header.width) {\n const numericWidth = typeof header.width === 'string'\n ? parseInt(header.width.replace(/[^\\d]/g, ''), 10)\n : header.width;\n\n calculatedWidths[label] = numericWidth;\n return;\n }\n\n const headerText = label;\n let headerWidth = measureTextWidth(headerText, measurementConfig);\n\n if (header.enableSorting) {\n headerWidth += 48;\n }\n\n let maxRowContentWidth = 0;\n const samples = rowContentSamples[label] || [];\n\n samples.forEach((content) => {\n const contentWidth = measureTextWidth(content, measurementConfig);\n maxRowContentWidth = Math.max(maxRowContentWidth, contentWidth);\n });\n \n // const isHeaderWidth=(headerWidth < 100 ? headerWidth + 24 : headerWidth >maxRowContentWidth)\n\n let calculatedWidth = Math.max(headerWidth < 100 ? headerWidth + 24 : headerWidth, maxRowContentWidth);\n\n const dynamicPadding = constraints.padding \n\n calculatedWidth += dynamicPadding;\n\n if (maxRowContentWidth > 10) {\n calculatedWidth = Math.max(constraints.min, calculatedWidth);\n } else {\n calculatedWidth = Math.max(60, calculatedWidth);\n }\n\n if (constraints.max) {\n calculatedWidth = Math.min(constraints.max, calculatedWidth);\n }\n\n calculatedWidths[label] = Math.round(calculatedWidth) > 100 ? Math.round(calculatedWidth) : 100;\n });\n\n return calculatedWidths\n}\n\nconst valueMapper = {\n 'amount': {\n format: toFixedWithNumbers\n },\n 'date': {\n format: formatDate\n },\n 'string': {\n format: (value: any) => value\n },\n 'toFixed':{\n format:(value:any)=>toFixedWithNumbers(value)\n }\n}\n\nfunction getNestedValue(obj: any, path: any): any {\n const type = path?.type || 'string';\n if (!path?.name || path?.name === '') {\n return '';\n }\n\n const value = path?.name.split('.').reduce(\n (acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj\n );\n\n if (value === 0 || value === '0') {\n return '0';\n }\n\n return value !== undefined ? valueMapper[type]?.format(value) : '-';\n}\nexport function sampleRowContent(config: SampleConfig): { [columnName: string]: string[] } {\n const { maxRows, headers, data, tableHeaders, t } = config;\n const samples: { [columnName: string]: string[] } = {};\n\n headers.forEach((header) => {\n samples[t(header.label)] = [];\n });\n\n if (!data || !Array.isArray(data) || data.length === 0) {\n return samples;\n }\n\n let sampledCount = 0;\n const maxSamples = maxRows;\n\n function sampleRows(rows: any[], level: number = 0, /* parentRow?: any */) {\n if (!Array.isArray(rows) || sampledCount >= maxSamples) {\n return;\n }\n\n const levelHeaders = tableHeaders && tableHeaders[level] && tableHeaders[level].headers\n ? tableHeaders[level].headers\n : headers;\n\n for (let i = 0; i < rows.length && sampledCount < maxSamples; i++) {\n const row = rows[i];\n\n // Process all headers in the original headers array\n headers.forEach((header: any) => {\n const columnLabel = t(header.label);\n if (!samples[columnLabel]) {\n return;\n }\n\n // Check if this header belongs to the current level\n const headerInCurrentLevel = levelHeaders.find((lh: any) =>\n t(lh.label) === columnLabel\n );\n\n let content: string;\n\n if (headerInCurrentLevel) {\n // This header belongs to current level - get value from current row\n if (header.render && typeof header.render === 'function') {\n try {\n const rendered = header.render(getNestedValue(row, header), row, data);\n\n if (typeof rendered === 'string') {\n content = rendered;\n } else if (typeof rendered === 'number') {\n content = String(rendered);\n } else if (rendered && typeof rendered === 'object' && 'props' in rendered) {\n const props = (rendered as any).props;\n if (props && props.children) {\n content = String(props.children);\n } else {\n content = String(rendered);\n }\n } else {\n content = String(rendered);\n }\n } catch (error) {\n content = formatValueForMeasurement(getNestedValue(row, header), header.type);\n }\n } else {\n const value = getNestedValue(row, header);\n content = formatValueForMeasurement(value, header.type);\n }\n } else {\n // This header belongs to a parent level - use placeholder\n content = \"-\";\n }\n\n samples[columnLabel].push(content);\n });\n\n sampledCount++;\n\n // Recurse into nested data\n if (tableHeaders && tableHeaders[level + 1]) {\n const nextRowKey = tableHeaders[level + 1]?.rowKey;\n if (nextRowKey && row[nextRowKey] && Array.isArray(row[nextRowKey])) {\n sampleRows(row[nextRowKey], level + 1, row);\n }\n }\n }\n }\n\n sampleRows(data, 0);\n\n return samples;\n}\n\nexport function getCheckboxColumnWidth(): number {\n return 60;\n}"],"names":[],"mappings":";;;AAUO,MAAM,6BAAgD;AAAA,EAC3D,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AACd;AAEA,IAAI,gBAAiD;AAErD,SAAS,mBAAoD;AAC3D,MAAI,eAAe;AACjB,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,oBAAgB,OAAO,WAAW,IAAI;AACtC,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,KAAK,oEAAoE,KAAK;AACtF,WAAO;AAAA,EACT;AACF;AAEA,SAAS,uBAAuB,MAAc,QAAmC;AAC/E,QAAM,UAAU,iBAAA;AAEhB,MAAI,CAAC,SAAS;AACZ,YAAQ,KAAK,2CAA2C;AACxD,WAAO;AAAA,EACT;AAEA,UAAQ,OAAO,GAAG,OAAO,UAAU,IAAI,OAAO,QAAQ,IAAI,OAAO,UAAU;AAE3E,QAAM,UAAU,QAAQ,YAAY,IAAI;AACxC,SAAO,QAAQ;AACjB;AAEA,SAAS,oBAAoB,MAAc,QAAmC;AAC5E,MAAI;AACF,UAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,YAAQ,MAAM,WAAW;AACzB,YAAQ,MAAM,aAAa;AAC3B,YAAQ,MAAM,aAAa;AAC3B,YAAQ,MAAM,WAAW,OAAO;AAChC,YAAQ,MAAM,aAAa,OAAO;AAClC,YAAQ,MAAM,aAAa,OAAO,OAAO,UAAU;AACnD,YAAQ,cAAc;AAEtB,aAAS,KAAK,YAAY,OAAO;AACjC,UAAM,QAAQ,QAAQ;AACtB,aAAS,KAAK,YAAY,OAAO;AAEjC,WAAO;AAAA,EACT,SAAS,OAAO;AACd,YAAQ,KAAK,2BAA2B,KAAK;AAC7C,WAAO,KAAK,SAAS;AAAA,EACvB;AACF;AAEO,SAAS,iBACd,MACA,SAA4B,4BACpB;AACR,MAAI,CAAC,QAAQ,KAAK,WAAW,GAAG;AAC9B,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,OAAO,IAAI;AAE3B,QAAM,UAAU,iBAAA;AAChB,MAAI,SAAS;AACX,WAAO,uBAAuB,SAAS,MAAM;AAAA,EAC/C;AAEA,SAAO,oBAAoB,SAAS,MAAM;AAC5C;AAEO,SAAS,cAAc,SAA0C;AACtE,MAAI,CAAC,SAAS;AACZ,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,gBAAgB,OAAO,iBAAiB,OAAO;AAErD,WAAO;AAAA,MACL,UAAU,cAAc,YAAY,2BAA2B;AAAA,MAC/D,YAAY,cAAc,cAAc,2BAA2B;AAAA,MACnE,YAAY,cAAc,cAAc,2BAA2B;AAAA,IAAA;AAAA,EAEvE,SAAS,OAAO;AACd,YAAQ,KAAK,+CAA+C,KAAK;AACjE,WAAO;AAAA,EACT;AACF;AAEO,SAAS,0BAA0B,OAAY,MAAuB;AAC3E,MAAI,UAAU,QAAQ,UAAU,QAAW;AACzC,WAAO;AAAA,EACT;AAEA,MAAI,SAAS,UAAU,iBAAiB,MAAM;AAC5C,QAAI;AACF,aAAO,IAAI,KAAK,KAAK,EAAE,mBAAA;AAAA,IACzB,QAAQ;AACN,aAAO,OAAO,KAAK;AAAA,IACrB;AAAA,EACF;AAEA,MAAI,SAAS,YAAY,OAAO,UAAU,UAAU;AAClD,WAAO,OAAO,KAAK;AAAA,EACrB;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,QAAI;AACF,aAAO,KAAK,UAAU,KAAK;AAAA,IAC7B,QAAQ;AACN,aAAO,OAAO,KAAK;AAAA,IACrB;AAAA,EACF;AAEA,SAAO,OAAO,KAAK;AACrB;AAEO,SAAS,4BAAkC;AAChD,kBAAgB;AAClB;AA4BO,SAAS,sBACd,SACA,mBACA,oBAAuC,4BACvC,cAAgC,EAAE,KAAK,IAAI,SAAS,GAAA,GACpD,GACwB;AAExB,QAAM,mBAA2C,CAAA;AAEjD,UAAQ,QAAQ,CAAC,WAAW;AAC1B,UAAM,QAAQ,EAAE,OAAO,KAAK;AAC5B,QAAI,OAAO,OAAO;AAChB,YAAM,eAAe,OAAO,OAAO,UAAU,WACzC,SAAS,OAAO,MAAM,QAAQ,UAAU,EAAE,GAAG,EAAE,IAC/C,OAAO;AAEX,uBAAiB,KAAK,IAAI;AAC1B;AAAA,IACF;AAEA,UAAM,aAAa;AACnB,QAAI,cAAc,iBAAiB,YAAY,iBAAiB;AAEhE,QAAI,OAAO,eAAe;AACxB,qBAAe;AAAA,IACjB;AAEA,QAAI,qBAAqB;AACzB,UAAM,UAAU,kBAAkB,KAAK,KAAK,CAAA;AAE5C,YAAQ,QAAQ,CAAC,YAAY;AAC3B,YAAM,eAAe,iBAAiB,SAAS,iBAAiB;AAChE,2BAAqB,KAAK,IAAI,oBAAoB,YAAY;AAAA,IAChE,CAAC;AAID,QAAI,kBAAkB,KAAK,IAAI,cAAc,MAAM,cAAc,KAAK,aAAa,kBAAkB;AAErG,UAAM,iBAAiB,YAAY;AAEnC,uBAAmB;AAEnB,QAAI,qBAAqB,IAAI;AAC3B,wBAAkB,KAAK,IAAI,YAAY,KAAK,eAAe;AAAA,IAC7D,OAAO;AACL,wBAAkB,KAAK,IAAI,IAAI,eAAe;AAAA,IAChD;AAEA,QAAI,YAAY,KAAK;AACnB,wBAAkB,KAAK,IAAI,YAAY,KAAK,eAAe;AAAA,IAC7D;AAEA,qBAAiB,KAAK,IAAI,KAAK,MAAM,eAAe,IAAI,MAAM,KAAK,MAAM,eAAe,IAAI;AAAA,EAC9F,CAAC;AAED,SAAO;AACT;AAEA,MAAM,cAAc;AAAA,EAClB,UAAU;AAAA,IACR,QAAQ;AAAA,EAAA;AAAA,EAEV,QAAQ;AAAA,IACN,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU;AAAA,IACR,QAAQ,CAAC,UAAe;AAAA,EAAA;AAAA,EAE1B,WAAU;AAAA,IACR,QAAO,CAAC,UAAY,mBAAmB,KAAK;AAAA,EAAA;AAEhD;AAEA,SAAS,eAAe,KAAU,MAAgB;;AAChD,QAAM,QAAO,6BAAM,SAAQ;AAC3B,MAAI,EAAC,6BAAM,UAAQ,6BAAM,UAAS,IAAI;AACpC,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,6BAAM,KAAK,MAAM,KAAK;AAAA,IAClC,CAAC,KAAU,QAAc,OAAO,IAAI,GAAG,MAAM,SAAY,IAAI,GAAG,IAAI;AAAA,IACpE;AAAA;AAGF,MAAI,UAAU,KAAK,UAAU,KAAK;AAChC,WAAO;AAAA,EACT;AAEA,SAAO,UAAU,UAAY,iBAAY,IAAI,MAAhB,mBAAmB,OAAO,SAAS;AAClE;AACO,SAAS,iBAAiB,QAA0D;AACzF,QAAM,EAAE,SAAS,SAAS,MAAM,cAAc,MAAM;AACpD,QAAM,UAA8C,CAAA;AAEpD,UAAQ,QAAQ,CAAC,WAAW;AAC1B,YAAQ,EAAE,OAAO,KAAK,CAAC,IAAI,CAAA;AAAA,EAC7B,CAAC;AAED,MAAI,CAAC,QAAQ,CAAC,MAAM,QAAQ,IAAI,KAAK,KAAK,WAAW,GAAG;AACtD,WAAO;AAAA,EACT;AAEA,MAAI,eAAe;AACnB,QAAM,aAAa;AAEnB,WAAS,WAAW,MAAa,QAAgB,GAA0B;;AACzE,QAAI,CAAC,MAAM,QAAQ,IAAI,KAAK,gBAAgB,YAAY;AACtD;AAAA,IACF;AAEA,UAAM,eAAe,gBAAgB,aAAa,KAAK,KAAK,aAAa,KAAK,EAAE,UAC5E,aAAa,KAAK,EAAE,UACpB;AAEJ,aAAS,IAAI,GAAG,IAAI,KAAK,UAAU,eAAe,YAAY,KAAK;AACjE,YAAM,MAAM,KAAK,CAAC;AAGlB,cAAQ,QAAQ,CAAC,WAAgB;AAC/B,cAAM,cAAc,EAAE,OAAO,KAAK;AAClC,YAAI,CAAC,QAAQ,WAAW,GAAG;AACzB;AAAA,QACF;AAGA,cAAM,uBAAuB,aAAa;AAAA,UAAK,CAAC,OAC9C,EAAE,GAAG,KAAK,MAAM;AAAA,QAAA;AAGlB,YAAI;AAEJ,YAAI,sBAAsB;AAExB,cAAI,OAAO,UAAU,OAAO,OAAO,WAAW,YAAY;AACxD,gBAAI;AACF,oBAAM,WAAW,OAAO,OAAO,eAAe,KAAK,MAAM,GAAG,KAAK,IAAI;AAErE,kBAAI,OAAO,aAAa,UAAU;AAChC,0BAAU;AAAA,cACZ,WAAW,OAAO,aAAa,UAAU;AACvC,0BAAU,OAAO,QAAQ;AAAA,cAC3B,WAAW,YAAY,OAAO,aAAa,YAAY,WAAW,UAAU;AAC1E,sBAAM,QAAS,SAAiB;AAChC,oBAAI,SAAS,MAAM,UAAU;AAC3B,4BAAU,OAAO,MAAM,QAAQ;AAAA,gBACjC,OAAO;AACL,4BAAU,OAAO,QAAQ;AAAA,gBAC3B;AAAA,cACF,OAAO;AACL,0BAAU,OAAO,QAAQ;AAAA,cAC3B;AAAA,YACF,SAAS,OAAO;AACd,wBAAU,0BAA0B,eAAe,KAAK,MAAM,GAAG,OAAO,IAAI;AAAA,YAC9E;AAAA,UACF,OAAO;AACL,kBAAM,QAAQ,eAAe,KAAK,MAAM;AACxC,sBAAU,0BAA0B,OAAO,OAAO,IAAI;AAAA,UACxD;AAAA,QACF,OAAO;AAEL,oBAAU;AAAA,QACZ;AAEA,gBAAQ,WAAW,EAAE,KAAK,OAAO;AAAA,MACnC,CAAC;AAED;AAGA,UAAI,gBAAgB,aAAa,QAAQ,CAAC,GAAG;AAC3C,cAAM,cAAa,kBAAa,QAAQ,CAAC,MAAtB,mBAAyB;AAC5C,YAAI,cAAc,IAAI,UAAU,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,GAAG;AACnE,qBAAW,IAAI,UAAU,GAAG,QAAQ,CAAM;AAAA,QAC5C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,aAAW,MAAM,CAAC;AAElB,SAAO;AACT;AAEO,SAAS,yBAAiC;AAC/C,SAAO;AACT;"}
|
|
1
|
+
{"version":3,"file":"text-measurement-DvKHzZhR.esm.js","sources":["../../src/utils/text-measurement.ts"],"sourcesContent":["import { primaryFont } from '../theme/typography';\nimport { toFixedWithNumbers } from './common';\nimport { formatDate } from './dateFormat';\n\nexport interface MeasurementConfig {\n fontSize: string;\n fontFamily: string;\n fontWeight: string | number;\n}\n\nexport const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig = {\n fontSize: '14px',\n fontFamily: primaryFont,\n fontWeight: '500'\n};\n\nlet canvasContext: CanvasRenderingContext2D | null = null;\n\nfunction getCanvasContext(): CanvasRenderingContext2D | null {\n if (canvasContext) {\n return canvasContext;\n }\n\n try {\n const canvas = document.createElement('canvas');\n canvasContext = canvas.getContext('2d');\n return canvasContext;\n } catch (error) {\n console.warn('Canvas context creation failed, falling back to DOM measurement:', error);\n return null;\n }\n}\n\nfunction measureTextWidthCanvas(text: string, config: MeasurementConfig): number {\n const context = getCanvasContext();\n\n if (!context) {\n console.warn('Canvas context not available, returning 0');\n return 0;\n }\n\n context.font = `${config.fontWeight} ${config.fontSize} ${config.fontFamily}`;\n\n const metrics = context.measureText(text);\n return metrics.width;\n}\n\nfunction measureTextWidthDOM(text: string, config: MeasurementConfig): number {\n try {\n const element = document.createElement('span');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n element.style.whiteSpace = 'nowrap';\n element.style.fontSize = config.fontSize;\n element.style.fontFamily = config.fontFamily;\n element.style.fontWeight = String(config.fontWeight);\n element.textContent = text;\n\n document.body.appendChild(element);\n const width = element.offsetWidth;\n document.body.removeChild(element);\n\n return width;\n } catch (error) {\n console.warn('DOM measurement failed:', error);\n return text.length * 8;\n }\n}\n\nexport function measureTextWidth(\n text: string,\n config: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG\n): number {\n if (!text || text.length === 0) {\n return 0;\n }\n\n const textStr = String(text);\n\n const context = getCanvasContext();\n if (context) {\n return measureTextWidthCanvas(textStr, config);\n }\n\n return measureTextWidthDOM(textStr, config);\n}\n\nexport function getFontConfig(element?: HTMLElement): MeasurementConfig {\n if (!element) {\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n\n try {\n const computedStyle = window.getComputedStyle(element);\n\n return {\n fontSize: computedStyle.fontSize || DEFAULT_MEASUREMENT_CONFIG.fontSize,\n fontFamily: computedStyle.fontFamily || DEFAULT_MEASUREMENT_CONFIG.fontFamily,\n fontWeight: computedStyle.fontWeight || DEFAULT_MEASUREMENT_CONFIG.fontWeight\n };\n } catch (error) {\n console.warn('Failed to extract font config from element:', error);\n return DEFAULT_MEASUREMENT_CONFIG;\n }\n}\n\nexport function formatValueForMeasurement(value: any, type?: string): string {\n if (value === null || value === undefined) {\n return '-';\n }\n\n if (type === 'date' || value instanceof Date) {\n try {\n return new Date(value).toLocaleDateString();\n } catch {\n return String(value);\n }\n }\n\n if (type === 'number' || typeof value === 'number') {\n return String(value);\n }\n\n if (typeof value === 'object') {\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n\n return String(value);\n}\n\nexport function cleanupMeasurementContext(): void {\n canvasContext = null;\n}\n\nexport interface SampleConfig {\n maxRows: number;\n headers: any[];\n data: any[];\n tableHeaders: any[];\n}\n\nexport interface WidthConstraints {\n min: number;\n max?: number;\n padding: number;\n}\n\nexport interface WidthCalculationResult {\n [columnName: string]: number;\n}\n\nexport interface HeaderConfig {\n name: string;\n label: string;\n width?: number | string;\n enableSorting?: boolean;\n type?: 'date' | 'number' | 'string';\n render?: (value: any, row: any, data: any) => React.ReactNode;\n}\n\nexport function calculateColumnWidths(\n headers: HeaderConfig[],\n rowContentSamples: { [columnName: string]: string[] },\n measurementConfig: MeasurementConfig = DEFAULT_MEASUREMENT_CONFIG,\n constraints: WidthConstraints = { min: 80, padding: 24 },\n t: any\n): WidthCalculationResult {\n\n const calculatedWidths: WidthCalculationResult = {};\n\n headers.forEach((header) => {\n const label = t(header.label)\n if (header.width) {\n const numericWidth = typeof header.width === 'string'\n ? parseInt(header.width.replace(/[^\\d]/g, ''), 10)\n : header.width;\n\n calculatedWidths[label] = numericWidth;\n return;\n }\n\n const headerText = label;\n let headerWidth = measureTextWidth(headerText, measurementConfig);\n\n if (header.enableSorting) {\n headerWidth += 48;\n }\n\n let maxRowContentWidth = 0;\n const samples = rowContentSamples[label] || [];\n\n samples.forEach((content) => {\n const contentWidth = measureTextWidth(content, measurementConfig);\n maxRowContentWidth = Math.max(maxRowContentWidth, contentWidth);\n });\n \n // const isHeaderWidth=(headerWidth < 100 ? headerWidth + 24 : headerWidth >maxRowContentWidth)\n\n let calculatedWidth = Math.max(headerWidth < 100 ? headerWidth + 24 : headerWidth, maxRowContentWidth);\n\n const dynamicPadding = constraints.padding \n\n calculatedWidth += dynamicPadding;\n\n if (maxRowContentWidth > 10) {\n calculatedWidth = Math.max(constraints.min, calculatedWidth);\n } else {\n calculatedWidth = Math.max(60, calculatedWidth);\n }\n\n if (constraints.max) {\n calculatedWidth = Math.min(constraints.max, calculatedWidth);\n }\n\n calculatedWidths[label] = Math.round(calculatedWidth) > 100 ? Math.round(calculatedWidth) : 100;\n });\n\n return calculatedWidths\n}\n\nconst valueMapper = {\n 'amount': {\n format: toFixedWithNumbers\n },\n 'date': {\n format: formatDate\n },\n 'string': {\n format: (value: any) => value\n },\n 'toFixed':{\n format:(value:any)=>toFixedWithNumbers(value)\n }\n}\n\nfunction getNestedValue(obj: any, path: any): any {\n const type = path?.type || 'string';\n if (!path?.name || path?.name === '') {\n return '';\n }\n\n const value = path?.name.split('.').reduce(\n (acc: any, key: any) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj\n );\n\n if (value === 0 || value === '0') {\n return '0';\n }\n\n return value !== undefined ? valueMapper[type]?.format(value) : '-';\n}\nexport function sampleRowContent(config: SampleConfig): { [columnName: string]: string[] } {\n const { maxRows, headers, data, tableHeaders, t } = config;\n const samples: { [columnName: string]: string[] } = {};\n\n headers.forEach((header) => {\n samples[t(header.label)] = [];\n });\n\n if (!data || !Array.isArray(data) || data.length === 0) {\n return samples;\n }\n\n let sampledCount = 0;\n const maxSamples = maxRows;\n\n function sampleRows(rows: any[], level: number = 0, /* parentRow?: any */) {\n if (!Array.isArray(rows) || sampledCount >= maxSamples) {\n return;\n }\n\n const levelHeaders = tableHeaders && tableHeaders[level] && tableHeaders[level].headers\n ? tableHeaders[level].headers\n : headers;\n\n for (let i = 0; i < rows.length && sampledCount < maxSamples; i++) {\n const row = rows[i];\n\n // Process all headers in the original headers array\n headers.forEach((header: any) => {\n const columnLabel = t(header.label);\n if (!samples[columnLabel]) {\n return;\n }\n\n // Check if this header belongs to the current level\n const headerInCurrentLevel = levelHeaders.find((lh: any) =>\n t(lh.label) === columnLabel\n );\n\n let content: string;\n\n if (headerInCurrentLevel) {\n // This header belongs to current level - get value from current row\n if (header.render && typeof header.render === 'function') {\n try {\n const rendered = header.render(getNestedValue(row, header), row, data);\n\n if (typeof rendered === 'string') {\n content = rendered;\n } else if (typeof rendered === 'number') {\n content = String(rendered);\n } else if (rendered && typeof rendered === 'object' && 'props' in rendered) {\n const props = (rendered as any).props;\n if (props && props.children) {\n content = String(props.children);\n } else {\n content = String(rendered);\n }\n } else {\n content = String(rendered);\n }\n } catch (error) {\n content = formatValueForMeasurement(getNestedValue(row, header), header.type);\n }\n } else {\n const value = getNestedValue(row, header);\n content = formatValueForMeasurement(value, header.type);\n }\n } else {\n // This header belongs to a parent level - use placeholder\n content = \"-\";\n }\n\n samples[columnLabel].push(content);\n });\n\n sampledCount++;\n\n // Recurse into nested data\n if (tableHeaders && tableHeaders[level + 1]) {\n const nextRowKey = tableHeaders[level + 1]?.rowKey;\n if (nextRowKey && row[nextRowKey] && Array.isArray(row[nextRowKey])) {\n sampleRows(row[nextRowKey], level + 1, row);\n }\n }\n }\n }\n\n sampleRows(data, 0);\n\n return samples;\n}\n\nexport function getCheckboxColumnWidth(): number {\n return 60;\n}"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _ from "lodash";
|
|
2
2
|
import { f as getV1LanguagesTranslations } from "./api-DBmWILBN.esm.js";
|
|
3
|
-
import { ab as getToken } from "./api-
|
|
3
|
+
import { ab as getToken } from "./api-COFUx2RW.esm.js";
|
|
4
4
|
const loadedModules = /* @__PURE__ */ new Set();
|
|
5
5
|
function nestTranslation(flatObject) {
|
|
6
6
|
const nested = {};
|
|
@@ -56,4 +56,4 @@ async function loadModuleTranslations(moduleNames, i18nInstance) {
|
|
|
56
56
|
export {
|
|
57
57
|
loadModuleTranslations as l
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=translations-
|
|
59
|
+
//# sourceMappingURL=translations-BLrQX9my.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations-
|
|
1
|
+
{"version":3,"file":"translations-BLrQX9my.esm.js","sources":["../../src/utils/translations.ts"],"sourcesContent":["import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["_a"],"mappings":";;;AAKA,MAAM,oCAAoB,IAAA;AAE1B,SAAS,gBAAgB,YAAiB;AACxC,QAAM,SAAS,CAAA;AACf,QAAM,OAAO,OAAO,KAAK,UAAU;AACnC,QAAM,oCAAoB,IAAA;AAG1B,OAAK,QAAQ,CAAC,QAAQ;AACpB,SAAK,QAAQ,CAAC,aAAa;AACzB,UAAI,SAAS,WAAW,MAAM,GAAG,GAAG;AAClC,sBAAc,IAAI,GAAG;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAGD,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,CAAC,cAAc,IAAI,GAAG,GAAG;AAC3B,QAAE,IAAI,QAAQ,KAAK,WAAW,GAAG,CAAC;AAAA,IACpC;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEA,eAAsB,uBAAuB,aAAuB,cAAoB;;AACtF,QAAM,iBAAgB,2CAAa,OAAO,CAAA,MAAK,CAAC,cAAc,IAAI,CAAC,OAAM,CAAA;AAEzE,MAAG,CAAC,cAAc,OAAQ;AAE1B,QAAM,UAAU,eAAe,+CAAe,KAAK,IAAI;AAEvD,QAAM,WAAW,MAAM,2BAA2B;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,IACP,GAAG,SAAA;AAAA,EAAS,CACb;AAED,QAAM,SAAO,0CAAU,SAAV,mBAAgB,iBAAgB,CAAA;AAE7C,QAAM,YAAoD,CAAA;AAE1D,OAAK,QAAQ,CAAC,WAAgB;;AAC5B,KAAAA,MAAA,iCAAQ,WAAR,gBAAAA,IAAgB,QAAQ,CAAC,SAAc;AACrC,iBAAW,QAAQ,KAAK,aAAa;AACnC,YAAI,CAAC,UAAU,IAAI,GAAG;AACpB,oBAAU,IAAI,IAAI,CAAA;AAAA,QACpB;AACA,kBAAU,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,YAAY,IAAI;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAC;AAGD,MAAI,cAAc;AAChB,WAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AACvC,YAAM,SAAS,gBAAgB,UAAU,IAAI,CAAC;AAC9C,mBAAa,kBAAkB,MAAM,eAAe,QAAQ,MAAM,IAAI;AAAA,IACxE,CAAC;AAAA,EACH;AAEA,gBAAc,QAAQ,CAAC,WAAW;AAChC,kBAAc,IAAI,MAAM;AAAA,EAC1B,CAAC;AACH;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const _ = require("lodash");
|
|
3
3
|
const api = require("./api-D3c7E20L.js");
|
|
4
|
-
const api$1 = require("./api-
|
|
4
|
+
const api$1 = require("./api-DuBJvpDR.js");
|
|
5
5
|
const loadedModules = /* @__PURE__ */ new Set();
|
|
6
6
|
function nestTranslation(flatObject) {
|
|
7
7
|
const nested = {};
|
|
@@ -55,4 +55,4 @@ async function loadModuleTranslations(moduleNames, i18nInstance) {
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
exports.loadModuleTranslations = loadModuleTranslations;
|
|
58
|
-
//# sourceMappingURL=translations-
|
|
58
|
+
//# sourceMappingURL=translations-CaEkNqOX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations-
|
|
1
|
+
{"version":3,"file":"translations-CaEkNqOX.js","sources":["../../src/utils/translations.ts"],"sourcesContent":["import _ from 'lodash';\nimport { useTranslation } from 'react-i18next';\nimport { getV1LanguagesTranslations } from \"../api-client/api.system-feature/api\";\nimport { getToken } from \"./common\";\n\nconst loadedModules = new Set<string>();\n\nfunction nestTranslation(flatObject: any) {\n const nested = {};\n const keys = Object.keys(flatObject);\n const namespaceKeys = new Set<string>();\n\n // Identify all keys that act as parent namespaces for nested objects\n keys.forEach((key) => {\n keys.forEach((otherKey) => {\n if (otherKey.startsWith(key + '.')) {\n namespaceKeys.add(key);\n }\n });\n });\n\n // Nest only the leaf keys to prevent intermediate primitive string collisions\n keys.forEach((key) => {\n if (!namespaceKeys.has(key)) {\n _.set(nested, key, flatObject[key]);\n }\n });\n\n return nested;\n}\n\nexport async function loadModuleTranslations(moduleNames: string[], i18nInstance?: any) {\n const modulesToLoad = moduleNames?.filter(m => !loadedModules.has(m)) || [];\n\n if(!modulesToLoad.length) return;\n\n const filters = `(module.in=[${modulesToLoad?.join(',')}])`;\n\n const response = await getV1LanguagesTranslations({\n filters,\n limit: 9999,\n ...getToken(),\n });\n\n const data = response?.data?.translations || [];\n\n const resources: Record<string, Record<string, string>> = {};\n\n data.forEach((module: any) => {\n module?.fields?.forEach((item: any) => {\n for (const lang in item.translation) {\n if (!resources[lang]) {\n resources[lang] = {};\n }\n resources[lang][item.slug] = item.translation[lang];\n }\n })\n });\n\n \n if (i18nInstance) {\n Object.keys(resources).forEach((lang) => {\n const nested = nestTranslation(resources[lang]);\n i18nInstance.addResourceBundle(lang, 'translation', nested, true, true);\n });\n }\n\n modulesToLoad.forEach((module) => {\n loadedModules.add(module);\n });\n}\n"],"names":["getV1LanguagesTranslations","getToken","module","_a"],"mappings":";;;;AAKA,MAAM,oCAAoB,IAAA;AAE1B,SAAS,gBAAgB,YAAiB;AACxC,QAAM,SAAS,CAAA;AACf,QAAM,OAAO,OAAO,KAAK,UAAU;AACnC,QAAM,oCAAoB,IAAA;AAG1B,OAAK,QAAQ,CAAC,QAAQ;AACpB,SAAK,QAAQ,CAAC,aAAa;AACzB,UAAI,SAAS,WAAW,MAAM,GAAG,GAAG;AAClC,sBAAc,IAAI,GAAG;AAAA,MACvB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAGD,OAAK,QAAQ,CAAC,QAAQ;AACpB,QAAI,CAAC,cAAc,IAAI,GAAG,GAAG;AAC3B,QAAE,IAAI,QAAQ,KAAK,WAAW,GAAG,CAAC;AAAA,IACpC;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAEA,eAAsB,uBAAuB,aAAuB,cAAoB;;AACtF,QAAM,iBAAgB,2CAAa,OAAO,CAAA,MAAK,CAAC,cAAc,IAAI,CAAC,OAAM,CAAA;AAEzE,MAAG,CAAC,cAAc,OAAQ;AAE1B,QAAM,UAAU,eAAe,+CAAe,KAAK,IAAI;AAEvD,QAAM,WAAW,MAAMA,+BAA2B;AAAA,IAChD;AAAA,IACA,OAAO;AAAA,IACP,GAAGC,MAAAA,SAAA;AAAA,EAAS,CACb;AAED,QAAM,SAAO,0CAAU,SAAV,mBAAgB,iBAAgB,CAAA;AAE7C,QAAM,YAAoD,CAAA;AAE1D,OAAK,QAAQ,CAACC,YAAgB;;AAC5B,KAAAC,MAAAD,WAAA,gBAAAA,QAAQ,WAAR,gBAAAC,IAAgB,QAAQ,CAAC,SAAc;AACrC,iBAAW,QAAQ,KAAK,aAAa;AACnC,YAAI,CAAC,UAAU,IAAI,GAAG;AACpB,oBAAU,IAAI,IAAI,CAAA;AAAA,QACpB;AACA,kBAAU,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,YAAY,IAAI;AAAA,MACpD;AAAA,IACF;AAAA,EACF,CAAC;AAGD,MAAI,cAAc;AAChB,WAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,SAAS;AACvC,YAAM,SAAS,gBAAgB,UAAU,IAAI,CAAC;AAC9C,mBAAa,kBAAkB,MAAM,eAAe,QAAQ,MAAM,IAAI;AAAA,IACxE,CAAC;AAAA,EACH;AAEA,gBAAc,QAAQ,CAACD,YAAW;AAChC,kBAAc,IAAIA,OAAM;AAAA,EAC1B,CAAC;AACH;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useMemo, useEffect } from "react";
|
|
3
|
-
import { D as DynamicSearchSelect } from "./searchable-select-
|
|
3
|
+
import { D as DynamicSearchSelect } from "./searchable-select-DSxOplyJ.esm.js";
|
|
4
4
|
import { u as useUomFieldUpdater } from "./useUomFieldUpdater-CPZcwzAe.esm.js";
|
|
5
5
|
import { useFormContext } from "react-hook-form";
|
|
6
6
|
const UomFieldWrapper = ({
|
|
@@ -77,4 +77,4 @@ const UomFieldWrapper = ({
|
|
|
77
77
|
export {
|
|
78
78
|
UomFieldWrapper as U
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=uom-field-wrapper-
|
|
80
|
+
//# sourceMappingURL=uom-field-wrapper-By-UFGEf.esm.js.map
|
package/dist/chunks/{uom-field-wrapper-CTbEc-MB.esm.js.map → uom-field-wrapper-By-UFGEf.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uom-field-wrapper-
|
|
1
|
+
{"version":3,"file":"uom-field-wrapper-By-UFGEf.esm.js","sources":["../../src/components/uom-field-wrapper/uom-field-wrapper.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DynamicSearchSelect from '../form-control/form-builder/form-builder-element/dynamic-select';\nimport { useUomFieldUpdater } from '../../hooks/useUomFieldUpdater';\nimport { useFormContext } from 'react-hook-form';\n\ninterface UomFieldWrapperProps {\n label: string;\n name?: string;\n placeholder?: string;\n fieldArrayName?: string;\n required?: boolean;\n is_loading?: boolean;\n disabled?: boolean;\n selectedItem: any;\n selectedUom?: any;\n fieldMapping?: Record<string, string>;\n customeFilter?: Record<string, any>;\n getSelectedData?: (data: any, name: string) => void;\n fieldPrefix?: string;\n setValue?: any;\n control?: any;\n isConversationFactor?: boolean;\n active_location?: any;\n}\n\nconst UomFieldWrapper: React.FC<UomFieldWrapperProps> = ({\n label,\n name = 'uom_id',\n placeholder,\n fieldArrayName,\n required = false,\n is_loading = false,\n disabled = false,\n selectedItem,\n fieldMapping = {\n 'total_on_hand_quantity': 'on_hand_quantity',\n 'total_available_quantity': 'available_quantity',\n 'total_committed_quantity': 'committed_quantity',\n },\n customeFilter,\n getSelectedData,\n fieldPrefix,\n setValue,\n control,\n isConversationFactor = true,\n active_location\n}) => {\n // const selectedUom = useMemo(() => getValues(`${fieldArrayName}.${name}`), [getValues(`${fieldArrayName}.${name}`)])\n\n const [uomDetails, setUomDetails] = useState<any>(null);\n const formContext = useFormContext()\n const {\n control: contextControl,\n setValue: contextSetValue,\n } = formContext || {};\n\n const effectiveFieldPrefix = fieldPrefix !== undefined ? fieldPrefix : fieldArrayName || '';\n const finalFieldMapping = useMemo(() => fieldMapping,\n //eslint-disable-next-line\n [JSON.stringify(fieldMapping)]);\n\n const handleUomChange = useUomFieldUpdater({\n fieldMapping: finalFieldMapping,\n sourceData: selectedItem,\n conversation_factor: uomDetails?.conversation_factor,\n fieldPrefix: effectiveFieldPrefix,\n setValue: setValue || contextSetValue,\n control: control || contextControl,\n active_location: active_location,\n // shouldUpdate: !!selectedUom\n });\n\n useEffect(() => {\n if (!isConversationFactor) return;\n handleUomChange();\n // eslint-disable-next-line\n }, [handleUomChange, isConversationFactor]);\n\n const handleUomSelect = (data: any, name: string) => {\n setUomDetails(data);\n getSelectedData?.(data, name);\n };\n\n const effectiveCustomeFilter = customeFilter || {\n '&template_id.eq': selectedItem?.unit_of_measurement || 0\n };\n\n return (\n <DynamicSearchSelect\n label={label}\n name={name}\n placeholder={placeholder || ''}\n fieldArrayName={fieldArrayName || ''}\n formControl={control}\n required={required}\n is_loading={is_loading}\n disabled={disabled}\n apiType='uom'\n customeFilter={effectiveCustomeFilter}\n getSelectedData={handleUomSelect}\n />\n );\n};\n\nexport default UomFieldWrapper;\n"],"names":["name"],"mappings":";;;;;AA0BA,MAAM,kBAAkD,CAAC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,eAAe;AAAA,IACX,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB;AACJ,MAAM;AAGF,QAAM,CAAC,YAAY,aAAa,IAAI,SAAc,IAAI;AACtD,QAAM,cAAc,eAAA;AACpB,QAAM;AAAA,IACF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,IACV,eAAe,CAAA;AAEnB,QAAM,uBAAuB,gBAAgB,SAAY,cAAc,kBAAkB;AACzF,QAAM,oBAAoB;AAAA,IAAQ,MAAM;AAAA;AAAA,IAEpC,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAAA;AAEjC,QAAM,kBAAkB,mBAAmB;AAAA,IACvC,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,qBAAqB,yCAAY;AAAA,IACjC,aAAa;AAAA,IACb,UAAU,YAAY;AAAA,IAEtB;AAAA;AAAA,EAAA,CAEH;AAED,YAAU,MAAM;AACZ,QAAI,CAAC,qBAAsB;AAC3B,oBAAA;AAAA,EAEJ,GAAG,CAAC,iBAAiB,oBAAoB,CAAC;AAE1C,QAAM,kBAAkB,CAAC,MAAWA,UAAiB;AACjD,kBAAc,IAAI;AAClB,uDAAkB,MAAMA;AAAAA,EAC5B;AAEA,QAAM,yBAAyB,iBAAiB;AAAA,IAC5C,oBAAmB,6CAAc,wBAAuB;AAAA,EAAA;AAG5D,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,aAAa,eAAe;AAAA,MAC5B,gBAAgB,kBAAkB;AAAA,MAClC,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAG7B;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const searchableSelect = require("./searchable-select-
|
|
4
|
+
const searchableSelect = require("./searchable-select-BdR8A-uG.js");
|
|
5
5
|
const useUomFieldUpdater = require("./useUomFieldUpdater-CLrGFr8x.js");
|
|
6
6
|
const reactHookForm = require("react-hook-form");
|
|
7
7
|
const UomFieldWrapper = ({
|
|
@@ -76,4 +76,4 @@ const UomFieldWrapper = ({
|
|
|
76
76
|
);
|
|
77
77
|
};
|
|
78
78
|
exports.UomFieldWrapper = UomFieldWrapper;
|
|
79
|
-
//# sourceMappingURL=uom-field-wrapper-
|
|
79
|
+
//# sourceMappingURL=uom-field-wrapper-CPbf2ESo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uom-field-wrapper-
|
|
1
|
+
{"version":3,"file":"uom-field-wrapper-CPbf2ESo.js","sources":["../../src/components/uom-field-wrapper/uom-field-wrapper.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState, useMemo } from 'react';\nimport DynamicSearchSelect from '../form-control/form-builder/form-builder-element/dynamic-select';\nimport { useUomFieldUpdater } from '../../hooks/useUomFieldUpdater';\nimport { useFormContext } from 'react-hook-form';\n\ninterface UomFieldWrapperProps {\n label: string;\n name?: string;\n placeholder?: string;\n fieldArrayName?: string;\n required?: boolean;\n is_loading?: boolean;\n disabled?: boolean;\n selectedItem: any;\n selectedUom?: any;\n fieldMapping?: Record<string, string>;\n customeFilter?: Record<string, any>;\n getSelectedData?: (data: any, name: string) => void;\n fieldPrefix?: string;\n setValue?: any;\n control?: any;\n isConversationFactor?: boolean;\n active_location?: any;\n}\n\nconst UomFieldWrapper: React.FC<UomFieldWrapperProps> = ({\n label,\n name = 'uom_id',\n placeholder,\n fieldArrayName,\n required = false,\n is_loading = false,\n disabled = false,\n selectedItem,\n fieldMapping = {\n 'total_on_hand_quantity': 'on_hand_quantity',\n 'total_available_quantity': 'available_quantity',\n 'total_committed_quantity': 'committed_quantity',\n },\n customeFilter,\n getSelectedData,\n fieldPrefix,\n setValue,\n control,\n isConversationFactor = true,\n active_location\n}) => {\n // const selectedUom = useMemo(() => getValues(`${fieldArrayName}.${name}`), [getValues(`${fieldArrayName}.${name}`)])\n\n const [uomDetails, setUomDetails] = useState<any>(null);\n const formContext = useFormContext()\n const {\n control: contextControl,\n setValue: contextSetValue,\n } = formContext || {};\n\n const effectiveFieldPrefix = fieldPrefix !== undefined ? fieldPrefix : fieldArrayName || '';\n const finalFieldMapping = useMemo(() => fieldMapping,\n //eslint-disable-next-line\n [JSON.stringify(fieldMapping)]);\n\n const handleUomChange = useUomFieldUpdater({\n fieldMapping: finalFieldMapping,\n sourceData: selectedItem,\n conversation_factor: uomDetails?.conversation_factor,\n fieldPrefix: effectiveFieldPrefix,\n setValue: setValue || contextSetValue,\n control: control || contextControl,\n active_location: active_location,\n // shouldUpdate: !!selectedUom\n });\n\n useEffect(() => {\n if (!isConversationFactor) return;\n handleUomChange();\n // eslint-disable-next-line\n }, [handleUomChange, isConversationFactor]);\n\n const handleUomSelect = (data: any, name: string) => {\n setUomDetails(data);\n getSelectedData?.(data, name);\n };\n\n const effectiveCustomeFilter = customeFilter || {\n '&template_id.eq': selectedItem?.unit_of_measurement || 0\n };\n\n return (\n <DynamicSearchSelect\n label={label}\n name={name}\n placeholder={placeholder || ''}\n fieldArrayName={fieldArrayName || ''}\n formControl={control}\n required={required}\n is_loading={is_loading}\n disabled={disabled}\n apiType='uom'\n customeFilter={effectiveCustomeFilter}\n getSelectedData={handleUomSelect}\n />\n );\n};\n\nexport default UomFieldWrapper;\n"],"names":["useState","useFormContext","useMemo","useUomFieldUpdater","useEffect","name","jsx","DynamicSearchSelect"],"mappings":";;;;;;AA0BA,MAAM,kBAAkD,CAAC;AAAA,EACrD;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,aAAa;AAAA,EACb,WAAW;AAAA,EACX;AAAA,EACA,eAAe;AAAA,IACX,0BAA0B;AAAA,IAC1B,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,EAAA;AAAA,EAEhC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB;AACJ,MAAM;AAGF,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAc,IAAI;AACtD,QAAM,cAAcC,cAAAA,eAAA;AACpB,QAAM;AAAA,IACF,SAAS;AAAA,IACT,UAAU;AAAA,EAAA,IACV,eAAe,CAAA;AAEnB,QAAM,uBAAuB,gBAAgB,SAAY,cAAc,kBAAkB;AACzF,QAAM,oBAAoBC,MAAAA;AAAAA,IAAQ,MAAM;AAAA;AAAA,IAEpC,CAAC,KAAK,UAAU,YAAY,CAAC;AAAA,EAAA;AAEjC,QAAM,kBAAkBC,mBAAAA,mBAAmB;AAAA,IACvC,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,qBAAqB,yCAAY;AAAA,IACjC,aAAa;AAAA,IACb,UAAU,YAAY;AAAA,IAEtB;AAAA;AAAA,EAAA,CAEH;AAEDC,QAAAA,UAAU,MAAM;AACZ,QAAI,CAAC,qBAAsB;AAC3B,oBAAA;AAAA,EAEJ,GAAG,CAAC,iBAAiB,oBAAoB,CAAC;AAE1C,QAAM,kBAAkB,CAAC,MAAWC,UAAiB;AACjD,kBAAc,IAAI;AAClB,uDAAkB,MAAMA;AAAAA,EAC5B;AAEA,QAAM,yBAAyB,iBAAiB;AAAA,IAC5C,oBAAmB,6CAAc,wBAAuB;AAAA,EAAA;AAG5D,SACIC,2BAAAA;AAAAA,IAACC,iBAAAA;AAAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,aAAa,eAAe;AAAA,MAC5B,gBAAgB,kBAAkB;AAAA,MAClC,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR,eAAe;AAAA,MACf,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAG7B;;"}
|
|
@@ -10,7 +10,7 @@ import images from "../images/index.esm.js";
|
|
|
10
10
|
import { M as ModalLoader } from "./modal-loader-B8S5-RWv.esm.js";
|
|
11
11
|
import { T as Trash } from "./trash-Zhhh3VNZ.esm.js";
|
|
12
12
|
import { Upload, KeyboardArrowUp, KeyboardArrowDown } from "@mui/icons-material";
|
|
13
|
-
import { ao as postImportSheet } from "./api-
|
|
13
|
+
import { ao as postImportSheet } from "./api-COFUx2RW.esm.js";
|
|
14
14
|
import { B as Button } from "./button-BtdpXmjA.esm.js";
|
|
15
15
|
const formatBytes = (bytes, decimals = 2) => {
|
|
16
16
|
if (bytes === 0) return "0 Bytes";
|
|
@@ -358,4 +358,4 @@ const UploadExcel = (props) => {
|
|
|
358
358
|
export {
|
|
359
359
|
UploadExcel as U
|
|
360
360
|
};
|
|
361
|
-
//# sourceMappingURL=upload-excel-
|
|
361
|
+
//# sourceMappingURL=upload-excel-Bv2QulNF.esm.js.map
|