@erpsquad/common 1.11.3-deep-imports → 1.11.4-deep-imports
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-CHHi9988.js → DynamicDependentField-B07J5KMb.js} +2 -3
- package/dist/chunks/{DynamicDependentField-CHHi9988.js.map → DynamicDependentField-B07J5KMb.js.map} +1 -1
- package/dist/chunks/{DynamicDependentField-Bx-tnYfX.esm.js → DynamicDependentField-Cf7Lk2TW.esm.js} +2 -3
- package/dist/chunks/{DynamicDependentField-Bx-tnYfX.esm.js.map → DynamicDependentField-Cf7Lk2TW.esm.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-DqKdePsJ.esm.js → ERPUIProvider-CRYpcOXM.esm.js} +3 -4
- package/dist/chunks/ERPUIProvider-CRYpcOXM.esm.js.map +1 -0
- package/dist/chunks/{ERPUIProvider-DvW3nMzW.js → ERPUIProvider-CvtpzB55.js} +3 -4
- package/dist/chunks/ERPUIProvider-CvtpzB55.js.map +1 -0
- package/dist/chunks/{FORMS-BgGb794W.esm.js → FORMS-BZmVQEAH.esm.js} +8 -13
- package/dist/chunks/FORMS-BZmVQEAH.esm.js.map +1 -0
- package/dist/chunks/{FORMS-B_9QsQ0j.js → FORMS-oc5wIeZt.js} +8 -13
- package/dist/chunks/FORMS-oc5wIeZt.js.map +1 -0
- package/dist/chunks/{FlexibleReduxExample-DBkCdTko.esm.js → FlexibleReduxExample-0erRbp6U.esm.js} +4 -4
- package/dist/chunks/{FlexibleReduxExample-DBkCdTko.esm.js.map → FlexibleReduxExample-0erRbp6U.esm.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample-C2xFVH1K.js → FlexibleReduxExample-DuMXsX3h.js} +4 -4
- package/dist/chunks/{FlexibleReduxExample-C2xFVH1K.js.map → FlexibleReduxExample-DuMXsX3h.js.map} +1 -1
- package/dist/chunks/{SectionFlowEditor-CzY7K0Sp.js → SectionFlowEditor-CylnTH7J.js} +6 -6
- package/dist/chunks/{SectionFlowEditor-CzY7K0Sp.js.map → SectionFlowEditor-CylnTH7J.js.map} +1 -1
- package/dist/chunks/{SectionFlowEditor-Cc-bLWNv.esm.js → SectionFlowEditor-DArlozkA.esm.js} +6 -6
- package/dist/chunks/{SectionFlowEditor-Cc-bLWNv.esm.js.map → SectionFlowEditor-DArlozkA.esm.js.map} +1 -1
- package/dist/chunks/{action-bar-D9G1pWQA.esm.js → action-bar-8_hLL6Fj.esm.js} +5 -5
- package/dist/chunks/{action-bar-D9G1pWQA.esm.js.map → action-bar-8_hLL6Fj.esm.js.map} +1 -1
- package/dist/chunks/{action-bar-AO3ogsEJ.js → action-bar-D85DhpkM.js} +5 -5
- package/dist/chunks/{action-bar-AO3ogsEJ.js.map → action-bar-D85DhpkM.js.map} +1 -1
- package/dist/chunks/{actionCreator-Btg3vQuT.esm.js → actionCreator--kpDqb5_.esm.js} +3 -3
- package/dist/chunks/{actionCreator-Btg3vQuT.esm.js.map → actionCreator--kpDqb5_.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-DQeEiAEe.js → actionCreator-B6SbPPEu.js} +2 -2
- package/dist/chunks/{actionCreator-DQeEiAEe.js.map → actionCreator-B6SbPPEu.js.map} +1 -1
- package/dist/chunks/{actionCreator-BMHx-jMu.esm.js → actionCreator-BEdL_q1-.esm.js} +2 -2
- package/dist/chunks/{actionCreator-BMHx-jMu.esm.js.map → actionCreator-BEdL_q1-.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-BCbQjA4c.js → actionCreator-BXnqPFLf.js} +2 -2
- package/dist/chunks/{actionCreator-BCbQjA4c.js.map → actionCreator-BXnqPFLf.js.map} +1 -1
- package/dist/chunks/{actionCreator-BSTjHF8J.js → actionCreator-BYFJ9uP0.js} +3 -3
- package/dist/chunks/{actionCreator-BSTjHF8J.js.map → actionCreator-BYFJ9uP0.js.map} +1 -1
- package/dist/chunks/{actionCreator-2JPg73Ha.esm.js → actionCreator-Bf8ttk8E.esm.js} +2 -2
- package/dist/chunks/{actionCreator-2JPg73Ha.esm.js.map → actionCreator-Bf8ttk8E.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-BCN4oGqF.js → actionCreator-CZJCPHGe.js} +3 -3
- package/dist/chunks/{actionCreator-BCN4oGqF.js.map → actionCreator-CZJCPHGe.js.map} +1 -1
- package/dist/chunks/{actionCreator-CpUQc3Ln.esm.js → actionCreator-D5NPP2k_.esm.js} +2 -2
- package/dist/chunks/{actionCreator-CpUQc3Ln.esm.js.map → actionCreator-D5NPP2k_.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-BpH1e9iA.esm.js → actionCreator-T_fDLEID.esm.js} +3 -3
- package/dist/chunks/{actionCreator-BpH1e9iA.esm.js.map → actionCreator-T_fDLEID.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-DW9Z0qCS.js → actionCreator-vK7QzYDC.js} +2 -2
- package/dist/chunks/{actionCreator-DW9Z0qCS.js.map → actionCreator-vK7QzYDC.js.map} +1 -1
- package/dist/chunks/{add-template-CNMsNlOE.esm.js → add-template-XlKvi8OZ.esm.js} +2 -2
- package/dist/chunks/{add-template-CNMsNlOE.esm.js.map → add-template-XlKvi8OZ.esm.js.map} +1 -1
- package/dist/chunks/{add-template-BYbCd2mX.js → add-template-pyZPADcc.js} +2 -2
- package/dist/chunks/{add-template-BYbCd2mX.js.map → add-template-pyZPADcc.js.map} +1 -1
- package/dist/chunks/{address-modal-C2lTkPmZ.js → address-modal-Ceu75uUK.js} +3 -3
- package/dist/chunks/{address-modal-C2lTkPmZ.js.map → address-modal-Ceu75uUK.js.map} +1 -1
- package/dist/chunks/{address-modal-L4miNwUA.esm.js → address-modal-CxANGQ-b.esm.js} +3 -3
- package/dist/chunks/{address-modal-L4miNwUA.esm.js.map → address-modal-CxANGQ-b.esm.js.map} +1 -1
- package/dist/chunks/{ai-summary-CQJjl-Mg.js → ai-summary-CW0diXzy.js} +3 -3
- package/dist/chunks/{ai-summary-CQJjl-Mg.js.map → ai-summary-CW0diXzy.js.map} +1 -1
- package/dist/chunks/{ai-summary-iseNmVz2.esm.js → ai-summary-ZqiG68Ak.esm.js} +3 -3
- package/dist/chunks/{ai-summary-iseNmVz2.esm.js.map → ai-summary-ZqiG68Ak.esm.js.map} +1 -1
- package/dist/chunks/{api-Cre6p-zx.js → api-2IPIlO_n.js} +42 -32
- package/dist/chunks/{api-Cre6p-zx.js.map → api-2IPIlO_n.js.map} +1 -1
- package/dist/chunks/{api-BDV6Xtxs.esm.js → api-B7fV6iby.esm.js} +184 -83
- package/dist/chunks/{api-BDV6Xtxs.esm.js.map → api-B7fV6iby.esm.js.map} +1 -1
- package/dist/chunks/{api-BRoV9xQq.esm.js → api-BZ_53D-T.esm.js} +45 -35
- package/dist/chunks/{api-BRoV9xQq.esm.js.map → api-BZ_53D-T.esm.js.map} +1 -1
- package/dist/chunks/{api-bc1wJiM3.js → api-MCppdXlw.js} +102 -1
- package/dist/chunks/{api-bc1wJiM3.js.map → api-MCppdXlw.js.map} +1 -1
- package/dist/chunks/{appbar-CY2Wpab_.esm.js → appbar-C3DBFreS.esm.js} +2 -2
- package/dist/chunks/{appbar-CY2Wpab_.esm.js.map → appbar-C3DBFreS.esm.js.map} +1 -1
- package/dist/chunks/{appbar-DVpk2bps.js → appbar-Dt87bbiY.js} +2 -2
- package/dist/chunks/{appbar-DVpk2bps.js.map → appbar-Dt87bbiY.js.map} +1 -1
- package/dist/chunks/{approval-wrapper-C25JYIcf.esm.js → approval-wrapper-C2T3lGKJ.esm.js} +2 -2
- package/dist/chunks/{approval-wrapper-C25JYIcf.esm.js.map → approval-wrapper-C2T3lGKJ.esm.js.map} +1 -1
- package/dist/chunks/{approval-wrapper-BUKfzmj4.js → approval-wrapper-D8Pw2TVp.js} +2 -2
- package/dist/chunks/{approval-wrapper-BUKfzmj4.js.map → approval-wrapper-D8Pw2TVp.js.map} +1 -1
- package/dist/chunks/{brand-add-modal-Brh4F-qM.esm.js → brand-add-modal-Bd2sxW8k.esm.js} +2 -2
- package/dist/chunks/{brand-add-modal-Brh4F-qM.esm.js.map → brand-add-modal-Bd2sxW8k.esm.js.map} +1 -1
- package/dist/chunks/{brand-add-modal-QOsU0zPO.js → brand-add-modal-CfqPdS67.js} +2 -2
- package/dist/chunks/{brand-add-modal-QOsU0zPO.js.map → brand-add-modal-CfqPdS67.js.map} +1 -1
- package/dist/chunks/{category-add-modal-B5zzO0VG.esm.js → category-add-modal-BOhZ-hZH.esm.js} +2 -2
- package/dist/chunks/{category-add-modal-B5zzO0VG.esm.js.map → category-add-modal-BOhZ-hZH.esm.js.map} +1 -1
- package/dist/chunks/{category-add-modal-CtRJjbzC.js → category-add-modal-CZZZFmXT.js} +2 -2
- package/dist/chunks/{category-add-modal-CtRJjbzC.js.map → category-add-modal-CZZZFmXT.js.map} +1 -1
- package/dist/chunks/{change-password-DZGx0vOi.js → change-password-D5LnxWRP.js} +2 -2
- package/dist/chunks/{change-password-DZGx0vOi.js.map → change-password-D5LnxWRP.js.map} +1 -1
- package/dist/chunks/{change-password-CPULqv78.esm.js → change-password-D7ndkVEF.esm.js} +2 -2
- package/dist/chunks/{change-password-CPULqv78.esm.js.map → change-password-D7ndkVEF.esm.js.map} +1 -1
- package/dist/chunks/{change-user-password-modal-CowV6x_6.esm.js → change-user-password-modal-BUKfCa_j.esm.js} +2 -2
- package/dist/chunks/{change-user-password-modal-CowV6x_6.esm.js.map → change-user-password-modal-BUKfCa_j.esm.js.map} +1 -1
- package/dist/chunks/{change-user-password-modal-DuH5AzgZ.js → change-user-password-modal-Ck17tjfy.js} +2 -2
- package/dist/chunks/{change-user-password-modal-DuH5AzgZ.js.map → change-user-password-modal-Ck17tjfy.js.map} +1 -1
- package/dist/chunks/chat-bot-ChMx4fNi.js +1012 -0
- package/dist/chunks/chat-bot-ChMx4fNi.js.map +1 -0
- package/dist/chunks/chat-bot-D1-gCMoE.esm.js +1013 -0
- package/dist/chunks/chat-bot-D1-gCMoE.esm.js.map +1 -0
- package/dist/chunks/{common-BLgQmwsP.js → common-BQpep_Jv.js} +1 -3
- package/dist/chunks/common-BQpep_Jv.js.map +1 -0
- package/dist/chunks/{common-CpGv04Ix.esm.js → common-D6OnMYgT.esm.js} +1 -3
- package/dist/chunks/common-D6OnMYgT.esm.js.map +1 -0
- package/dist/chunks/{common-utility-eTRV91_D.js → common-utility-Cv68YrTq.js} +2 -4
- package/dist/chunks/common-utility-Cv68YrTq.js.map +1 -0
- package/dist/chunks/{common-utility-DQDjXyxA.esm.js → common-utility-D59m1hWJ.esm.js} +2 -4
- package/dist/chunks/common-utility-D59m1hWJ.esm.js.map +1 -0
- package/dist/chunks/{contact-modal-CtDHatP8.js → contact-modal-C9q5p60T.js} +2 -2
- package/dist/chunks/{contact-modal-CtDHatP8.js.map → contact-modal-C9q5p60T.js.map} +1 -1
- package/dist/chunks/{contact-modal-B9EFkKl7.esm.js → contact-modal-EP2CEZQf.esm.js} +2 -2
- package/dist/chunks/{contact-modal-B9EFkKl7.esm.js.map → contact-modal-EP2CEZQf.esm.js.map} +1 -1
- package/dist/chunks/{custom-editor-Bn6-ykNi.js → custom-editor-CyZ2N08-.js} +2 -3
- package/dist/chunks/custom-editor-CyZ2N08-.js.map +1 -0
- package/dist/chunks/{custom-editor-CSTbJ1F_.esm.js → custom-editor-DG9c0sxA.esm.js} +2 -3
- package/dist/chunks/custom-editor-DG9c0sxA.esm.js.map +1 -0
- package/dist/chunks/{custom-form-CLd49vU-.esm.js → custom-form-Cutfc7sp.esm.js} +6 -6
- package/dist/chunks/{custom-form-CLd49vU-.esm.js.map → custom-form-Cutfc7sp.esm.js.map} +1 -1
- package/dist/chunks/{custom-form-m9A3Olue.js → custom-form-eYuKJs07.js} +6 -6
- package/dist/chunks/{custom-form-m9A3Olue.js.map → custom-form-eYuKJs07.js.map} +1 -1
- package/dist/chunks/{dashboard-DnpUq58v.js → dashboard-Bltr7s91.js} +3 -3
- package/dist/chunks/{dashboard-DnpUq58v.js.map → dashboard-Bltr7s91.js.map} +1 -1
- package/dist/chunks/{dashboard-x2S3X5mh.esm.js → dashboard-DCqe1urU.esm.js} +3 -3
- package/dist/chunks/{dashboard-x2S3X5mh.esm.js.map → dashboard-DCqe1urU.esm.js.map} +1 -1
- package/dist/chunks/{dynamic-report-Cx_lbC-7.esm.js → dynamic-report-87ztNaCr.esm.js} +4 -5
- package/dist/chunks/dynamic-report-87ztNaCr.esm.js.map +1 -0
- package/dist/chunks/{dynamic-report-DjGkAd5u.js → dynamic-report-Dt7Fnv1r.js} +4 -5
- package/dist/chunks/dynamic-report-Dt7Fnv1r.js.map +1 -0
- package/dist/chunks/{dynamic-rows-CODfLhGi.js → dynamic-rows-BjVmaeyJ.js} +2 -2
- package/dist/chunks/{dynamic-rows-CODfLhGi.js.map → dynamic-rows-BjVmaeyJ.js.map} +1 -1
- package/dist/chunks/{dynamic-rows-C_8AGmZ0.esm.js → dynamic-rows-DcxyLoOs.esm.js} +2 -2
- package/dist/chunks/{dynamic-rows-C_8AGmZ0.esm.js.map → dynamic-rows-DcxyLoOs.esm.js.map} +1 -1
- package/dist/chunks/{dynamic-text-editor-DkrGUDrU.js → dynamic-text-editor-CyydW_kV.js} +2 -2
- package/dist/chunks/{dynamic-text-editor-DkrGUDrU.js.map → dynamic-text-editor-CyydW_kV.js.map} +1 -1
- package/dist/chunks/{dynamic-text-editor-C21tIWF7.esm.js → dynamic-text-editor-MOD534a8.esm.js} +2 -2
- package/dist/chunks/{dynamic-text-editor-C21tIWF7.esm.js.map → dynamic-text-editor-MOD534a8.esm.js.map} +1 -1
- package/dist/chunks/{edit-section-modal-DPkKOc9S.js → edit-section-modal-CsCy89cp.js} +2 -2
- package/dist/chunks/{edit-section-modal-DPkKOc9S.js.map → edit-section-modal-CsCy89cp.js.map} +1 -1
- package/dist/chunks/{edit-section-modal-CCoHZ6mi.esm.js → edit-section-modal-uT1m-FdU.esm.js} +2 -2
- package/dist/chunks/{edit-section-modal-CCoHZ6mi.esm.js.map → edit-section-modal-uT1m-FdU.esm.js.map} +1 -1
- package/dist/chunks/{element-controller-D-zl6Uv5.esm.js → element-controller-SP5E0F2A.esm.js} +2 -2
- package/dist/chunks/{element-controller-D-zl6Uv5.esm.js.map → element-controller-SP5E0F2A.esm.js.map} +1 -1
- package/dist/chunks/{element-controller-BHDtRHDq.js → element-controller-fNgjH8Dg.js} +2 -2
- package/dist/chunks/{element-controller-BHDtRHDq.js.map → element-controller-fNgjH8Dg.js.map} +1 -1
- package/dist/chunks/{filter-ptl_zLXe.esm.js → filter-C9MQBjjg.esm.js} +4 -4
- package/dist/chunks/{filter-ptl_zLXe.esm.js.map → filter-C9MQBjjg.esm.js.map} +1 -1
- package/dist/chunks/{filter-DhTLwUi-.js → filter-c_X_siOM.js} +4 -4
- package/dist/chunks/{filter-DhTLwUi-.js.map → filter-c_X_siOM.js.map} +1 -1
- package/dist/chunks/{footer-oWkachwS.esm.js → footer-BZd384Fp.esm.js} +2 -2
- package/dist/chunks/{footer-oWkachwS.esm.js.map → footer-BZd384Fp.esm.js.map} +1 -1
- package/dist/chunks/{footer-D7PnNU8i.js → footer-ByS6ImQz.js} +2 -2
- package/dist/chunks/{footer-D7PnNU8i.js.map → footer-ByS6ImQz.js.map} +1 -1
- package/dist/chunks/{forgot-password-Ljdzpw2P.js → forgot-password-BjVt7fBY.js} +2 -2
- package/dist/chunks/{forgot-password-Ljdzpw2P.js.map → forgot-password-BjVt7fBY.js.map} +1 -1
- package/dist/chunks/{forgot-password-D2dRGanI.esm.js → forgot-password-BmtNUiXB.esm.js} +2 -2
- package/dist/chunks/{forgot-password-D2dRGanI.esm.js.map → forgot-password-BmtNUiXB.esm.js.map} +1 -1
- package/dist/chunks/{form-fields-BfWZvK5C.js → form-fields-CL1ZETqN.js} +3 -3
- package/dist/chunks/{form-fields-BfWZvK5C.js.map → form-fields-CL1ZETqN.js.map} +1 -1
- package/dist/chunks/{form-fields-jW_6I9Vk.esm.js → form-fields-D-G1QULD.esm.js} +3 -3
- package/dist/chunks/{form-fields-jW_6I9Vk.esm.js.map → form-fields-D-G1QULD.esm.js.map} +1 -1
- package/dist/chunks/{form-parser-IA8Ka8QP.js → form-parser-BFmV9y7J.js} +2 -2
- package/dist/chunks/{form-parser-IA8Ka8QP.js.map → form-parser-BFmV9y7J.js.map} +1 -1
- package/dist/chunks/{form-parser-BDl3zuDd.esm.js → form-parser-CHLywROR.esm.js} +2 -2
- package/dist/chunks/{form-parser-BDl3zuDd.esm.js.map → form-parser-CHLywROR.esm.js.map} +1 -1
- package/dist/chunks/{form-section-Bszp1QAG.js → form-section-BaWOmSwE.js} +6 -7
- package/dist/chunks/form-section-BaWOmSwE.js.map +1 -0
- package/dist/chunks/{form-section-BQLgCjBr.esm.js → form-section-yHlYFlPe.esm.js} +6 -7
- package/dist/chunks/form-section-yHlYFlPe.esm.js.map +1 -0
- package/dist/chunks/{fullScreen-D3JWsH_j.js → fullScreen-D_BkaI9L.js} +3 -3
- package/dist/chunks/{fullScreen-D3JWsH_j.js.map → fullScreen-D_BkaI9L.js.map} +1 -1
- package/dist/chunks/{fullScreen-BqPmeTrX.esm.js → fullScreen-TiCeq6Tb.esm.js} +3 -3
- package/dist/chunks/{fullScreen-BqPmeTrX.esm.js.map → fullScreen-TiCeq6Tb.esm.js.map} +1 -1
- package/dist/chunks/{global-search-CAMKXHHU.esm.js → global-search-DuuXGxQu.esm.js} +3 -3
- package/dist/chunks/{global-search-CAMKXHHU.esm.js.map → global-search-DuuXGxQu.esm.js.map} +1 -1
- package/dist/chunks/{global-search-qGudhYXt.js → global-search-RQPWTcz2.js} +3 -3
- package/dist/chunks/{global-search-qGudhYXt.js.map → global-search-RQPWTcz2.js.map} +1 -1
- package/dist/chunks/{grid-view-C90ukHo3.js → grid-view-DL_ZdGpf.js} +2 -2
- package/dist/chunks/{grid-view-C90ukHo3.js.map → grid-view-DL_ZdGpf.js.map} +1 -1
- package/dist/chunks/{grid-view-BKEPKlKk.esm.js → grid-view-KQaUf3TO.esm.js} +2 -2
- package/dist/chunks/{grid-view-BKEPKlKk.esm.js.map → grid-view-KQaUf3TO.esm.js.map} +1 -1
- package/dist/chunks/{header-De8-VJ15.esm.js → header-CN1W_ED6.esm.js} +5 -5
- package/dist/chunks/{header-De8-VJ15.esm.js.map → header-CN1W_ED6.esm.js.map} +1 -1
- package/dist/chunks/{header-enhanced-DrNWfa82.js → header-enhanced-B1f1Dzdr.js} +3 -3
- package/dist/chunks/{header-enhanced-DrNWfa82.js.map → header-enhanced-B1f1Dzdr.js.map} +1 -1
- package/dist/chunks/{header-enhanced-YIZWG48T.esm.js → header-enhanced-BIxuD8DD.esm.js} +3 -3
- package/dist/chunks/{header-enhanced-YIZWG48T.esm.js.map → header-enhanced-BIxuD8DD.esm.js.map} +1 -1
- package/dist/chunks/{header-Uhsp2YLe.js → header-jFKbMGVx.js} +5 -5
- package/dist/chunks/{header-Uhsp2YLe.js.map → header-jFKbMGVx.js.map} +1 -1
- package/dist/chunks/{industry-add-modal-C62yGWXb.esm.js → industry-add-modal-B6QKkICB.esm.js} +2 -2
- package/dist/chunks/{industry-add-modal-C62yGWXb.esm.js.map → industry-add-modal-B6QKkICB.esm.js.map} +1 -1
- package/dist/chunks/{industry-add-modal-D_NzBCZ3.js → industry-add-modal-CpDVQP4w.js} +2 -2
- package/dist/chunks/{industry-add-modal-D_NzBCZ3.js.map → industry-add-modal-CpDVQP4w.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-C2_j9edw.esm.js → inline-edit-fields-D7ve1TYW.esm.js} +2 -2
- package/dist/chunks/{inline-edit-fields-C2_j9edw.esm.js.map → inline-edit-fields-D7ve1TYW.esm.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-DybzzU0L.js → inline-edit-fields-uiAe2AtH.js} +2 -2
- package/dist/chunks/{inline-edit-fields-DybzzU0L.js.map → inline-edit-fields-uiAe2AtH.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-BFjNMhJz.esm.js → inventory-reports-title-bar-B87MUkAx.esm.js} +3 -3
- package/dist/chunks/{inventory-reports-title-bar-BFjNMhJz.esm.js.map → inventory-reports-title-bar-B87MUkAx.esm.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-fc4R7WNV.js → inventory-reports-title-bar-BMsD-KZn.js} +3 -3
- package/dist/chunks/{inventory-reports-title-bar-fc4R7WNV.js.map → inventory-reports-title-bar-BMsD-KZn.js.map} +1 -1
- package/dist/chunks/{item-response-details-D6yEtoFS.esm.js → item-response-details-Do2GkJjA.esm.js} +4 -4
- package/dist/chunks/{item-response-details-D6yEtoFS.esm.js.map → item-response-details-Do2GkJjA.esm.js.map} +1 -1
- package/dist/chunks/{item-response-details-FB4sjoFT.js → item-response-details-lpH00uiJ.js} +4 -4
- package/dist/chunks/{item-response-details-FB4sjoFT.js.map → item-response-details-lpH00uiJ.js.map} +1 -1
- package/dist/chunks/{journal-type-add-modal-DSxYLe0h.js → journal-type-add-modal-CP3wsZPV.js} +2 -2
- package/dist/chunks/{journal-type-add-modal-DSxYLe0h.js.map → journal-type-add-modal-CP3wsZPV.js.map} +1 -1
- package/dist/chunks/{journal-type-add-modal-DtlkF9_u.esm.js → journal-type-add-modal-D8sR0c0B.esm.js} +2 -2
- package/dist/chunks/{journal-type-add-modal-DtlkF9_u.esm.js.map → journal-type-add-modal-D8sR0c0B.esm.js.map} +1 -1
- package/dist/chunks/{list-Co32Wh73.esm.js → list-B406vIDX.esm.js} +1 -2
- package/dist/chunks/{list-Co32Wh73.esm.js.map → list-B406vIDX.esm.js.map} +1 -1
- package/dist/chunks/{list-DUE4rl6U.js → list-Cs7Til0r.js} +1 -2
- package/dist/chunks/{list-DUE4rl6U.js.map → list-Cs7Til0r.js.map} +1 -1
- package/dist/chunks/{listing-9Z6nKHoe.esm.js → listing-Ccujxk3Y.esm.js} +4 -4
- package/dist/chunks/{listing-9Z6nKHoe.esm.js.map → listing-Ccujxk3Y.esm.js.map} +1 -1
- package/dist/chunks/{listing-77tmtJXT.js → listing-DGgl3GMP.js} +4 -4
- package/dist/chunks/{listing-77tmtJXT.js.map → listing-DGgl3GMP.js.map} +1 -1
- package/dist/chunks/{location-select-B9fEEVWD.js → location-select-BcQdJ3q0.js} +3 -3
- package/dist/chunks/{location-select-B9fEEVWD.js.map → location-select-BcQdJ3q0.js.map} +1 -1
- package/dist/chunks/{location-select-SqAumWtT.esm.js → location-select-q0P7sLPK.esm.js} +3 -3
- package/dist/chunks/{location-select-SqAumWtT.esm.js.map → location-select-q0P7sLPK.esm.js.map} +1 -1
- package/dist/chunks/{material-editable-table-DSWxFpW7.esm.js → material-editable-table-BTOLa95m.esm.js} +3 -6
- package/dist/chunks/material-editable-table-BTOLa95m.esm.js.map +1 -0
- package/dist/chunks/{material-editable-table-Xo1_Mlvp.js → material-editable-table-CMtz2OHy.js} +3 -6
- package/dist/chunks/material-editable-table-CMtz2OHy.js.map +1 -0
- package/dist/chunks/{module-reducer-51e1O7f0.esm.js → module-reducer-Bd06T9qv.esm.js} +2 -2
- package/dist/chunks/{module-reducer-51e1O7f0.esm.js.map → module-reducer-Bd06T9qv.esm.js.map} +1 -1
- package/dist/chunks/{module-reducer-D1Z7sIKI.js → module-reducer-D-9i-NRJ.js} +2 -2
- package/dist/chunks/{module-reducer-D1Z7sIKI.js.map → module-reducer-D-9i-NRJ.js.map} +1 -1
- package/dist/chunks/modules-DTRr7zwt.js.map +1 -1
- package/dist/chunks/modules-enwLrpfQ.esm.js.map +1 -1
- package/dist/chunks/{notification-menu-yVpLV6cG.esm.js → notification-menu-BX3iUTGE.esm.js} +2 -2
- package/dist/chunks/{notification-menu-yVpLV6cG.esm.js.map → notification-menu-BX3iUTGE.esm.js.map} +1 -1
- package/dist/chunks/{notification-menu-B65oc4a2.js → notification-menu-DjMXgTHB.js} +2 -2
- package/dist/chunks/{notification-menu-B65oc4a2.js.map → notification-menu-DjMXgTHB.js.map} +1 -1
- package/dist/chunks/{page-action-DMqA598K.esm.js → page-action-BnJj6wHF.esm.js} +4 -4
- package/dist/chunks/{page-action-DMqA598K.esm.js.map → page-action-BnJj6wHF.esm.js.map} +1 -1
- package/dist/chunks/{page-action-BCWrlVAR.js → page-action-CBmIjMK5.js} +4 -4
- package/dist/chunks/{page-action-BCWrlVAR.js.map → page-action-CBmIjMK5.js.map} +1 -1
- package/dist/chunks/{page-navigator-Cp5I2X2d.esm.js → page-navigator-DiCTJ2IU.esm.js} +2 -2
- package/dist/chunks/{page-navigator-Cp5I2X2d.esm.js.map → page-navigator-DiCTJ2IU.esm.js.map} +1 -1
- package/dist/chunks/{page-navigator-CuKgJI15.js → page-navigator-Slqit98E.js} +2 -2
- package/dist/chunks/{page-navigator-CuKgJI15.js.map → page-navigator-Slqit98E.js.map} +1 -1
- package/dist/chunks/{page-view-BNKfZEaB.esm.js → page-view-DB_WwpPn.esm.js} +3 -3
- package/dist/chunks/{page-view-BNKfZEaB.esm.js.map → page-view-DB_WwpPn.esm.js.map} +1 -1
- package/dist/chunks/{page-view-CFe30dN3.js → page-view-DqYbDLUF.js} +3 -3
- package/dist/chunks/{page-view-CFe30dN3.js.map → page-view-DqYbDLUF.js.map} +1 -1
- package/dist/chunks/pathname.rental-CqHO_l_D.esm.js.map +1 -1
- package/dist/chunks/pathname.rental-CwK6JuID.js.map +1 -1
- package/dist/chunks/{quick-approval-modal-DAwhQ6Ze.js → quick-approval-modal-Dk6VbsZ-.js} +2 -2
- package/dist/chunks/{quick-approval-modal-DAwhQ6Ze.js.map → quick-approval-modal-Dk6VbsZ-.js.map} +1 -1
- package/dist/chunks/{quick-approval-modal-DCVbgAtW.esm.js → quick-approval-modal-mojtHttN.esm.js} +2 -2
- package/dist/chunks/{quick-approval-modal-DCVbgAtW.esm.js.map → quick-approval-modal-mojtHttN.esm.js.map} +1 -1
- package/dist/chunks/{reducer-Bmyrq4jJ.esm.js → reducer-B-5_M8EO.esm.js} +2 -2
- package/dist/chunks/{reducer-Bmyrq4jJ.esm.js.map → reducer-B-5_M8EO.esm.js.map} +1 -1
- package/dist/chunks/{reducer-CcYiQAon.js → reducer-B66YOxjI.js} +2 -2
- package/dist/chunks/{reducer-CcYiQAon.js.map → reducer-B66YOxjI.js.map} +1 -1
- package/dist/chunks/{reducer-DraUtC_k.esm.js → reducer-B9EloTFN.esm.js} +2 -2
- package/dist/chunks/{reducer-DraUtC_k.esm.js.map → reducer-B9EloTFN.esm.js.map} +1 -1
- package/dist/chunks/{reducer-PW_4iOrJ.esm.js → reducer-BKHWVidw.esm.js} +2 -2
- package/dist/chunks/{reducer-PW_4iOrJ.esm.js.map → reducer-BKHWVidw.esm.js.map} +1 -1
- package/dist/chunks/{reducer-DV6ltO_n.js → reducer-Brj9wDqF.js} +3 -3
- package/dist/chunks/{reducer-DV6ltO_n.js.map → reducer-Brj9wDqF.js.map} +1 -1
- package/dist/chunks/{reducer-CweUQnNM.js → reducer-Criy2oNj.js} +2 -2
- package/dist/chunks/{reducer-CweUQnNM.js.map → reducer-Criy2oNj.js.map} +1 -1
- package/dist/chunks/{reducer-D1eBWASC.js → reducer-CtkJ28GT.js} +2 -2
- package/dist/chunks/{reducer-D1eBWASC.js.map → reducer-CtkJ28GT.js.map} +1 -1
- package/dist/chunks/{reducer-Bmu5zERM.esm.js → reducer-D0_5qxv7.esm.js} +2 -2
- package/dist/chunks/{reducer-Bmu5zERM.esm.js.map → reducer-D0_5qxv7.esm.js.map} +1 -1
- package/dist/chunks/{reducer-CotmAK8H.esm.js → reducer-D1EUPekC.esm.js} +3 -3
- package/dist/chunks/{reducer-CotmAK8H.esm.js.map → reducer-D1EUPekC.esm.js.map} +1 -1
- package/dist/chunks/{reducer-vjQo34V8.js → reducer-FeykNtRc.js} +2 -2
- package/dist/chunks/{reducer-vjQo34V8.js.map → reducer-FeykNtRc.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-9j2_c42J.esm.js → reports-title-bar-KFBKgEeW.esm.js} +27 -6
- package/dist/chunks/reports-title-bar-KFBKgEeW.esm.js.map +1 -0
- package/dist/chunks/{reports-title-bar-D4SrselQ.js → reports-title-bar-vEmTSpht.js} +27 -6
- package/dist/chunks/reports-title-bar-vEmTSpht.js.map +1 -0
- package/dist/chunks/{reset-password-BRXPJfGa.js → reset-password-PegS8YU7.js} +1 -2
- package/dist/chunks/reset-password-PegS8YU7.js.map +1 -0
- package/dist/chunks/{reset-password-modal-CVfQigEL.js → reset-password-modal-C0Q5xkXy.js} +2 -2
- package/dist/chunks/{reset-password-modal-CVfQigEL.js.map → reset-password-modal-C0Q5xkXy.js.map} +1 -1
- package/dist/chunks/{reset-password-modal-BdXIv5RM.esm.js → reset-password-modal-DpEL6EqC.esm.js} +2 -2
- package/dist/chunks/{reset-password-modal-BdXIv5RM.esm.js.map → reset-password-modal-DpEL6EqC.esm.js.map} +1 -1
- package/dist/chunks/{reset-password-BHQ69yu3.esm.js → reset-password-sEYSk2pm.esm.js} +1 -2
- package/dist/chunks/reset-password-sEYSk2pm.esm.js.map +1 -0
- package/dist/chunks/{route-page-map-BIDt7Zn8.esm.js → route-page-map-BEs3KT-w.esm.js} +141 -101
- package/dist/chunks/route-page-map-BEs3KT-w.esm.js.map +1 -0
- package/dist/chunks/{route-page-map-BFFGJ7_O.js → route-page-map-Ck-ZxCE6.js} +42 -2
- package/dist/chunks/route-page-map-Ck-ZxCE6.js.map +1 -0
- package/dist/chunks/{routes-ahwrp9iN.esm.js → routes-BZFhq6k7.esm.js} +3 -3
- package/dist/chunks/{routes-ahwrp9iN.esm.js.map → routes-BZFhq6k7.esm.js.map} +1 -1
- package/dist/chunks/{routes-DENpZGKH.js → routes-BjohFCY-.js} +3 -3
- package/dist/chunks/{routes-DENpZGKH.js.map → routes-BjohFCY-.js.map} +1 -1
- package/dist/chunks/{schedule-report-BK3Cfq0g.esm.js → schedule-report-CoLdQnPG.esm.js} +6 -7
- package/dist/chunks/schedule-report-CoLdQnPG.esm.js.map +1 -0
- package/dist/chunks/{schedule-report-DMHXoSx1.js → schedule-report-DWvKvqk_.js} +6 -7
- package/dist/chunks/schedule-report-DWvKvqk_.js.map +1 -0
- package/dist/chunks/{schedule-report-modal-BKyrJmpE.esm.js → schedule-report-modal-BknSlkwV.esm.js} +4 -5
- package/dist/chunks/schedule-report-modal-BknSlkwV.esm.js.map +1 -0
- package/dist/chunks/{schedule-report-modal-CKrc1kU1.js → schedule-report-modal-DD4NnplL.js} +4 -5
- package/dist/chunks/schedule-report-modal-DD4NnplL.js.map +1 -0
- package/dist/chunks/{searchable-select-yROdMxY5.js → searchable-select-CUfH9dqk.js} +15 -16
- package/dist/chunks/searchable-select-CUfH9dqk.js.map +1 -0
- package/dist/chunks/{searchable-select-DAxe2dX5.esm.js → searchable-select-KiyKuZ0F.esm.js} +15 -16
- package/dist/chunks/searchable-select-KiyKuZ0F.esm.js.map +1 -0
- package/dist/chunks/{share-modal-Dc8H5EC_.esm.js → share-modal-BOU--O1C.esm.js} +3 -3
- package/dist/chunks/{share-modal-Dc8H5EC_.esm.js.map → share-modal-BOU--O1C.esm.js.map} +1 -1
- package/dist/chunks/{share-modal-BqoBPnFF.js → share-modal-CkS6d0oM.js} +3 -3
- package/dist/chunks/{share-modal-BqoBPnFF.js.map → share-modal-CkS6d0oM.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-ChDKNe5b.js → share-modal-enhanced-CUgChO3Q.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-ChDKNe5b.js.map → share-modal-enhanced-CUgChO3Q.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-DDcZXJfH.esm.js → share-modal-enhanced-voerhaRO.esm.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-DDcZXJfH.esm.js.map → share-modal-enhanced-voerhaRO.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-B2kh1I2z.esm.js → sidebarScreen-ByVRyPkd.esm.js} +5 -6
- package/dist/chunks/sidebarScreen-ByVRyPkd.esm.js.map +1 -0
- package/dist/chunks/{sidebarScreen-DzHm9-jo.js → sidebarScreen-DwiZAR6C.js} +5 -6
- package/dist/chunks/sidebarScreen-DwiZAR6C.js.map +1 -0
- package/dist/chunks/{source-type-add-modal-BiCEdHxq.js → source-type-add-modal-C3c4eqES.js} +2 -2
- package/dist/chunks/{source-type-add-modal-BiCEdHxq.js.map → source-type-add-modal-C3c4eqES.js.map} +1 -1
- package/dist/chunks/{source-type-add-modal-aEvHVBTr.esm.js → source-type-add-modal-DPKzk-WD.esm.js} +2 -2
- package/dist/chunks/{source-type-add-modal-aEvHVBTr.esm.js.map → source-type-add-modal-DPKzk-WD.esm.js.map} +1 -1
- package/dist/chunks/{store-Dti5tisM.js → store-Nu0rsltp.js} +6 -6
- package/dist/chunks/{store-Dti5tisM.js.map → store-Nu0rsltp.js.map} +1 -1
- package/dist/chunks/{store-DoVxsQQc.esm.js → store-beRlFNRU.esm.js} +6 -6
- package/dist/chunks/{store-DoVxsQQc.esm.js.map → store-beRlFNRU.esm.js.map} +1 -1
- package/dist/chunks/{table-AbpP7OIT.js → table-79e0k6w-.js} +3 -3
- package/dist/chunks/{table-AbpP7OIT.js.map → table-79e0k6w-.js.map} +1 -1
- package/dist/chunks/{table-form-OVVdWecU.esm.js → table-form-BR8th6-M.esm.js} +2 -2
- package/dist/chunks/{table-form-OVVdWecU.esm.js.map → table-form-BR8th6-M.esm.js.map} +1 -1
- package/dist/chunks/{table-form-Cx-4seUx.js → table-form-ByVHGohm.js} +2 -2
- package/dist/chunks/{table-form-Cx-4seUx.js.map → table-form-ByVHGohm.js.map} +1 -1
- package/dist/chunks/{table-D3tyH9I6.esm.js → table-xLzlvvBc.esm.js} +3 -3
- package/dist/chunks/{table-D3tyH9I6.esm.js.map → table-xLzlvvBc.esm.js.map} +1 -1
- package/dist/chunks/{template-editor-router-Cojk1ErQ.js → template-editor-router-6ziOJk54.js} +2 -2
- package/dist/chunks/{template-editor-router-Cojk1ErQ.js.map → template-editor-router-6ziOJk54.js.map} +1 -1
- package/dist/chunks/{template-editor-router-CWHdYauB.esm.js → template-editor-router-D3SPotzB.esm.js} +2 -2
- package/dist/chunks/{template-editor-router-CWHdYauB.esm.js.map → template-editor-router-D3SPotzB.esm.js.map} +1 -1
- package/dist/chunks/{template-modal-BvcuXIEy.esm.js → template-modal-D3G67M2h.esm.js} +2 -2
- package/dist/chunks/{template-modal-BvcuXIEy.esm.js.map → template-modal-D3G67M2h.esm.js.map} +1 -1
- package/dist/chunks/{template-modal-Uu7fq-Pz.js → template-modal-DlDUr94D.js} +2 -2
- package/dist/chunks/{template-modal-Uu7fq-Pz.js.map → template-modal-DlDUr94D.js.map} +1 -1
- package/dist/chunks/{template-name-modal-CBzr9Q9S.esm.js → template-name-modal-B5L-LLqF.esm.js} +2 -4
- package/dist/chunks/template-name-modal-B5L-LLqF.esm.js.map +1 -0
- package/dist/chunks/{template-name-modal-DE4SNuzU.js → template-name-modal-DOwALVC3.js} +2 -4
- package/dist/chunks/template-name-modal-DOwALVC3.js.map +1 -0
- package/dist/chunks/{templates-BRf6IDb5.esm.js → templates-h3eikXRl.esm.js} +7 -7
- package/dist/chunks/{templates-BRf6IDb5.esm.js.map → templates-h3eikXRl.esm.js.map} +1 -1
- package/dist/chunks/{templates-c7qXkJDA.js → templates-rTfmbz8D.js} +7 -7
- package/dist/chunks/{templates-c7qXkJDA.js.map → templates-rTfmbz8D.js.map} +1 -1
- package/dist/chunks/{text-kI8H9nqD.js → text-CRXQiVdb.js} +1 -2
- package/dist/chunks/text-CRXQiVdb.js.map +1 -0
- package/dist/chunks/{text-Ck2RB0nJ.esm.js → text-Ktx4o2N2.esm.js} +1 -2
- package/dist/chunks/text-Ktx4o2N2.esm.js.map +1 -0
- package/dist/chunks/{text-measurement-BavOTLY0.esm.js → text-measurement-Bd-yiLpf.esm.js} +2 -2
- package/dist/chunks/text-measurement-Bd-yiLpf.esm.js.map +1 -0
- package/dist/chunks/{text-measurement-28PBcB7A.js → text-measurement-kE859gIY.js} +2 -2
- package/dist/chunks/text-measurement-kE859gIY.js.map +1 -0
- package/dist/chunks/{translations-BuUZJoxq.js → translations-CvcE_VQV.js} +2 -2
- package/dist/chunks/{translations-BuUZJoxq.js.map → translations-CvcE_VQV.js.map} +1 -1
- package/dist/chunks/{translations-DEHK38UD.esm.js → translations-DmeM4Bxm.esm.js} +2 -2
- package/dist/chunks/{translations-DEHK38UD.esm.js.map → translations-DmeM4Bxm.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-DJIGenNe.js → uom-field-wrapper-BrEtSLY_.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-DJIGenNe.js.map → uom-field-wrapper-BrEtSLY_.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-8BLMZK1U.esm.js → uom-field-wrapper-DojrT0j0.esm.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-8BLMZK1U.esm.js.map → uom-field-wrapper-DojrT0j0.esm.js.map} +1 -1
- package/dist/chunks/{upload-excel-9BNYfP8Y.esm.js → upload-excel-DXnuM32p.esm.js} +2 -2
- package/dist/chunks/{upload-excel-9BNYfP8Y.esm.js.map → upload-excel-DXnuM32p.esm.js.map} +1 -1
- package/dist/chunks/{upload-excel-iIe8fOuC.js → upload-excel-qBmqCfvu.js} +2 -2
- package/dist/chunks/{upload-excel-iIe8fOuC.js.map → upload-excel-qBmqCfvu.js.map} +1 -1
- package/dist/chunks/{use-translations-Gnp2IAjX.esm.js → use-translations-9SOfiPhh.esm.js} +2 -2
- package/dist/chunks/{use-translations-Gnp2IAjX.esm.js.map → use-translations-9SOfiPhh.esm.js.map} +1 -1
- package/dist/chunks/{use-translations-CUG3OpLf.js → use-translations-BkS9g8l7.js} +2 -2
- package/dist/chunks/{use-translations-CUG3OpLf.js.map → use-translations-BkS9g8l7.js.map} +1 -1
- package/dist/chunks/{useAccountSetting-BxGfacvY.esm.js → useAccountSetting-DNUQwUFJ.esm.js} +4 -4
- package/dist/chunks/{useAccountSetting-BxGfacvY.esm.js.map → useAccountSetting-DNUQwUFJ.esm.js.map} +1 -1
- package/dist/chunks/{useAccountSetting-C8zcv7Jv.js → useAccountSetting-DnaQUy44.js} +4 -4
- package/dist/chunks/{useAccountSetting-C8zcv7Jv.js.map → useAccountSetting-DnaQUy44.js.map} +1 -1
- package/dist/chunks/{useApi-D0VEyAvR.js → useApi-DRf6TvNl.js} +1 -3
- package/dist/chunks/useApi-DRf6TvNl.js.map +1 -0
- package/dist/chunks/{useApi-9KP8aPjh.esm.js → useApi-DgCJzWyy.esm.js} +1 -3
- package/dist/chunks/useApi-DgCJzWyy.esm.js.map +1 -0
- package/dist/chunks/{useCheckSkuAndName-BQ7ALdPE.esm.js → useCheckSkuAndName-ChzF0ZHt.esm.js} +2 -2
- package/dist/chunks/{useCheckSkuAndName-BQ7ALdPE.esm.js.map → useCheckSkuAndName-ChzF0ZHt.esm.js.map} +1 -1
- package/dist/chunks/{useCheckSkuAndName-C0EnD-CC.js → useCheckSkuAndName-DoAEBQif.js} +2 -2
- package/dist/chunks/{useCheckSkuAndName-C0EnD-CC.js.map → useCheckSkuAndName-DoAEBQif.js.map} +1 -1
- package/dist/chunks/{useLocationFilter-BL8IdAEI.js → useLocationFilter-B0NNP8PK.js} +1 -3
- package/dist/chunks/useLocationFilter-B0NNP8PK.js.map +1 -0
- package/dist/chunks/{useLocationFilter-DlPILhxA.esm.js → useLocationFilter-IO3yIT0q.esm.js} +1 -3
- package/dist/chunks/useLocationFilter-IO3yIT0q.esm.js.map +1 -0
- package/dist/chunks/{useReduxIntegration-CEa0cCrS.esm.js → useReduxIntegration-DKTpBlfY.esm.js} +2 -2
- package/dist/chunks/{useReduxIntegration-CEa0cCrS.esm.js.map → useReduxIntegration-DKTpBlfY.esm.js.map} +1 -1
- package/dist/chunks/{useReduxIntegration-DyvTvzsR.js → useReduxIntegration-sqKXYEpI.js} +2 -2
- package/dist/chunks/{useReduxIntegration-DyvTvzsR.js.map → useReduxIntegration-sqKXYEpI.js.map} +1 -1
- package/dist/chunks/{useUniquenessCheck-IScV1XTW.js → useUniquenessCheck-BBj1Mh15.js} +2 -3
- package/dist/chunks/{useUniquenessCheck-IScV1XTW.js.map → useUniquenessCheck-BBj1Mh15.js.map} +1 -1
- package/dist/chunks/{useUniquenessCheck-kE8wPXdB.esm.js → useUniquenessCheck-CGgTe2eU.esm.js} +2 -3
- package/dist/chunks/{useUniquenessCheck-kE8wPXdB.esm.js.map → useUniquenessCheck-CGgTe2eU.esm.js.map} +1 -1
- package/dist/chunks/{user-menu-D85G6jni.js → user-menu-CWbZU1hF.js} +2 -2
- package/dist/chunks/{user-menu-D85G6jni.js.map → user-menu-CWbZU1hF.js.map} +1 -1
- package/dist/chunks/{user-menu-UfpyoH5Z.esm.js → user-menu-DMIHSsaP.esm.js} +2 -2
- package/dist/chunks/{user-menu-UfpyoH5Z.esm.js.map → user-menu-DMIHSsaP.esm.js.map} +1 -1
- package/dist/chunks/{value-editor-CttAqoIq.esm.js → value-editor-CAv6PBla.esm.js} +3 -5
- package/dist/chunks/value-editor-CAv6PBla.esm.js.map +1 -0
- package/dist/chunks/{value-editor-DQHcGE47.js → value-editor-_RknH9Et.js} +3 -5
- package/dist/chunks/value-editor-_RknH9Et.js.map +1 -0
- 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/brand-add-modal/index.esm.js +1 -1
- package/dist/components/brand-add-modal/index.js +1 -1
- package/dist/components/category-add-modal/index.esm.js +1 -1
- package/dist/components/category-add-modal/index.js +1 -1
- package/dist/components/change-user-password-modal/change-user-password-modal/index.esm.js +1 -1
- package/dist/components/change-user-password-modal/change-user-password-modal/index.js +1 -1
- package/dist/components/change-user-password-modal/index.esm.js +1 -1
- package/dist/components/change-user-password-modal/index.js +1 -1
- package/dist/components/contact-modal/index.esm.js +1 -1
- package/dist/components/contact-modal/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/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/element-controller/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/element-controller/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 +5 -5
- package/dist/components/form-control/form-builder/form-builder-element/index.js +5 -5
- 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/form-builder-element/text/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/text/index.js +1 -1
- package/dist/components/form-control/form-builder/index.esm.js +6 -6
- package/dist/components/form-control/form-builder/index.js +6 -6
- 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 +8 -8
- package/dist/components/form-control/index.js +8 -8
- 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/components/user-menu/index.esm.js +1 -1
- package/dist/components/header/components/user-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 +42 -42
- package/dist/components/index.js +42 -42
- package/dist/components/industry-add-modal/index.esm.js +1 -1
- package/dist/components/industry-add-modal/index.js +1 -1
- 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/journal-type-add-modal/index.esm.js +1 -1
- package/dist/components/journal-type-add-modal/index.js +1 -1
- package/dist/components/list/index.esm.js +1 -1
- package/dist/components/list/index.js +1 -1
- package/dist/components/list/list/index.esm.js +1 -1
- package/dist/components/list/list/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/reset-password-modal/index.esm.js +1 -1
- package/dist/components/reset-password-modal/index.js +1 -1
- package/dist/components/reset-password-modal/reset-password-modal/index.esm.js +1 -1
- package/dist/components/reset-password-modal/reset-password-modal/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/source-type-add-modal/source-type-add-modal/index.esm.js +1 -1
- package/dist/components/source-type-add-modal/source-type-add-modal/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/constants/index.esm.js +101 -100
- package/dist/constants/index.js +2 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/hooks/common/index.esm.js +1 -1
- package/dist/hooks/common/index.js +1 -1
- package/dist/hooks/index.esm.js +8 -8
- package/dist/hooks/index.js +8 -8
- 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/useApi/index.esm.js +1 -1
- package/dist/hooks/useApi/index.js +1 -1
- package/dist/hooks/useCheckSkuAndName/index.esm.js +1 -1
- package/dist/hooks/useCheckSkuAndName/index.js +1 -1
- package/dist/hooks/useLocationFilter/index.esm.js +1 -1
- package/dist/hooks/useLocationFilter/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 +176 -175
- package/dist/index.js +78 -77
- package/dist/index.js.map +1 -1
- package/dist/layout/fullScreen/index.esm.js +1 -1
- package/dist/layout/fullScreen/index.js +1 -1
- package/dist/layout/index.esm.js +2 -2
- package/dist/layout/index.js +2 -2
- package/dist/layout/sidebarScreen/index.esm.js +1 -1
- package/dist/layout/sidebarScreen/index.js +1 -1
- package/dist/redux/index.esm.js +3 -3
- package/dist/redux/index.js +3 -3
- package/dist/runtime/index.esm.js +2 -8
- package/dist/runtime/index.esm.js.map +1 -1
- package/dist/runtime/index.js +2 -8
- package/dist/runtime/index.js.map +1 -1
- package/dist/src/api-client/api.ai-feature/api.d.ts +13 -0
- package/dist/src/components/chat-bot/chat-bot-input.d.ts +5 -2
- package/dist/src/components/chat-bot/chat-bot-messages.d.ts +3 -2
- package/dist/src/components/chat-bot/chat-bot-welcome.d.ts +3 -1
- package/dist/src/components/chat-bot/constants.d.ts +3 -1
- package/dist/src/components/chat-bot/icons.d.ts +3 -0
- package/dist/src/components/chat-bot/invoice-expense-table.d.ts +6 -0
- package/dist/src/components/chat-bot/invoice-item-table.d.ts +6 -0
- package/dist/src/components/chat-bot/invoice-preview.d.ts +7 -0
- package/dist/src/components/chat-bot/types.d.ts +3 -1
- package/dist/src/components/material-table/material-table.d.ts +2 -1
- package/dist/src/components/reports-title-bar/reports-title-bar.d.ts +4 -0
- package/dist/src/constants/defaultColumns.d.ts +1 -0
- package/dist/style.css +235 -6
- 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/beforeAuth/change-password/index.esm.js +1 -1
- package/dist/views/beforeAuth/change-password/index.js +1 -1
- package/dist/views/beforeAuth/forgot-password/index.esm.js +1 -1
- package/dist/views/beforeAuth/forgot-password/index.js +1 -1
- package/dist/views/beforeAuth/index.esm.js +3 -3
- package/dist/views/beforeAuth/index.js +3 -3
- package/dist/views/beforeAuth/login/index.esm.js +1 -1
- package/dist/views/beforeAuth/login/index.js +1 -1
- package/dist/views/beforeAuth/reset-password/index.esm.js +1 -1
- package/dist/views/beforeAuth/reset-password/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 +17 -17
- package/dist/views/index.js +17 -17
- 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 +8 -8
- package/dist/views/template-editor/index.js +8 -8
- package/dist/views/template-editor/routes/index.esm.js +1 -1
- package/dist/views/template-editor/routes/index.js +1 -1
- package/dist/views/template-editor/template-modal/index.esm.js +1 -1
- package/dist/views/template-editor/template-modal/index.js +1 -1
- package/dist/views/template-editor/template-name-modal/index.esm.js +1 -1
- package/dist/views/template-editor/template-name-modal/index.js +1 -1
- package/dist/views/template-editor/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/ERPUIProvider-DqKdePsJ.esm.js.map +0 -1
- package/dist/chunks/ERPUIProvider-DvW3nMzW.js.map +0 -1
- package/dist/chunks/FORMS-B_9QsQ0j.js.map +0 -1
- package/dist/chunks/FORMS-BgGb794W.esm.js.map +0 -1
- package/dist/chunks/chat-bot-BRonnaK2.esm.js +0 -467
- package/dist/chunks/chat-bot-BRonnaK2.esm.js.map +0 -1
- package/dist/chunks/chat-bot-DuC1sizJ.js +0 -466
- package/dist/chunks/chat-bot-DuC1sizJ.js.map +0 -1
- package/dist/chunks/common-BLgQmwsP.js.map +0 -1
- package/dist/chunks/common-CpGv04Ix.esm.js.map +0 -1
- package/dist/chunks/common-utility-DQDjXyxA.esm.js.map +0 -1
- package/dist/chunks/common-utility-eTRV91_D.js.map +0 -1
- package/dist/chunks/custom-editor-Bn6-ykNi.js.map +0 -1
- package/dist/chunks/custom-editor-CSTbJ1F_.esm.js.map +0 -1
- package/dist/chunks/dynamic-report-Cx_lbC-7.esm.js.map +0 -1
- package/dist/chunks/dynamic-report-DjGkAd5u.js.map +0 -1
- package/dist/chunks/form-section-BQLgCjBr.esm.js.map +0 -1
- package/dist/chunks/form-section-Bszp1QAG.js.map +0 -1
- package/dist/chunks/material-editable-table-DSWxFpW7.esm.js.map +0 -1
- package/dist/chunks/material-editable-table-Xo1_Mlvp.js.map +0 -1
- package/dist/chunks/reports-title-bar-9j2_c42J.esm.js.map +0 -1
- package/dist/chunks/reports-title-bar-D4SrselQ.js.map +0 -1
- package/dist/chunks/reset-password-BHQ69yu3.esm.js.map +0 -1
- package/dist/chunks/reset-password-BRXPJfGa.js.map +0 -1
- package/dist/chunks/route-page-map-BFFGJ7_O.js.map +0 -1
- package/dist/chunks/route-page-map-BIDt7Zn8.esm.js.map +0 -1
- package/dist/chunks/schedule-report-BK3Cfq0g.esm.js.map +0 -1
- package/dist/chunks/schedule-report-DMHXoSx1.js.map +0 -1
- package/dist/chunks/schedule-report-modal-BKyrJmpE.esm.js.map +0 -1
- package/dist/chunks/schedule-report-modal-CKrc1kU1.js.map +0 -1
- package/dist/chunks/searchable-select-DAxe2dX5.esm.js.map +0 -1
- package/dist/chunks/searchable-select-yROdMxY5.js.map +0 -1
- package/dist/chunks/sidebarScreen-B2kh1I2z.esm.js.map +0 -1
- package/dist/chunks/sidebarScreen-DzHm9-jo.js.map +0 -1
- package/dist/chunks/template-name-modal-CBzr9Q9S.esm.js.map +0 -1
- package/dist/chunks/template-name-modal-DE4SNuzU.js.map +0 -1
- package/dist/chunks/text-Ck2RB0nJ.esm.js.map +0 -1
- package/dist/chunks/text-kI8H9nqD.js.map +0 -1
- package/dist/chunks/text-measurement-28PBcB7A.js.map +0 -1
- package/dist/chunks/text-measurement-BavOTLY0.esm.js.map +0 -1
- package/dist/chunks/useApi-9KP8aPjh.esm.js.map +0 -1
- package/dist/chunks/useApi-D0VEyAvR.js.map +0 -1
- package/dist/chunks/useLocationFilter-BL8IdAEI.js.map +0 -1
- package/dist/chunks/useLocationFilter-DlPILhxA.esm.js.map +0 -1
- package/dist/chunks/value-editor-CttAqoIq.esm.js.map +0 -1
- package/dist/chunks/value-editor-DQHcGE47.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a, b, c, d, e, f, g } from "../chunks/api-
|
|
1
|
+
import { a, b, c, d, e, f, g } from "../chunks/api-B7fV6iby.esm.js";
|
|
2
2
|
import { a as a2 } from "../chunks/index-C9lbfc4p.esm.js";
|
|
3
3
|
import { a as a3 } from "../chunks/api-DyTnzt8D.esm.js";
|
|
4
4
|
import { a as a4 } from "../chunks/api-DBmWILBN.esm.js";
|
package/dist/api-client/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const api$1 = require("../chunks/api-
|
|
3
|
+
const api$1 = require("../chunks/api-MCppdXlw.js");
|
|
4
4
|
const utils_server = require("../chunks/index-Dc5kTLcH.js");
|
|
5
5
|
const api$2 = require("../chunks/api-Dwo8Q0_L.js");
|
|
6
6
|
const api$3 = require("../chunks/api-D3c7E20L.js");
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const reactHookForm = require("react-hook-form");
|
|
5
|
-
const searchableSelect = require("./searchable-select-
|
|
5
|
+
const searchableSelect = require("./searchable-select-CUfH9dqk.js");
|
|
6
6
|
const normaliseFilterFields = (input, fallbackApiKey) => {
|
|
7
7
|
if (typeof input === "string") {
|
|
8
8
|
return [{ formField: input, apiKey: fallbackApiKey }];
|
|
@@ -108,7 +108,6 @@ const DynamicDependentFieldContent = ({ control, watch, setValue, getFieldState:
|
|
|
108
108
|
...(props == null ? void 0 : props.customeFilter) || {}
|
|
109
109
|
};
|
|
110
110
|
}, [JSON.stringify(filters), JSON.stringify(props == null ? void 0 : props.customeFilter), isDisabledDueToFilters]);
|
|
111
|
-
console.log("🚀 ~ DynamicDependentFieldContent ~ customeFilter:", customeFilter);
|
|
112
111
|
const updateKey = JSON.stringify(filters);
|
|
113
112
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
114
113
|
searchableSelect.DynamicSearchSelect,
|
|
@@ -125,4 +124,4 @@ const DynamicDependentFieldContent = ({ control, watch, setValue, getFieldState:
|
|
|
125
124
|
);
|
|
126
125
|
};
|
|
127
126
|
exports.DynamicDependentField = DynamicDependentField;
|
|
128
|
-
//# sourceMappingURL=DynamicDependentField-
|
|
127
|
+
//# sourceMappingURL=DynamicDependentField-B07J5KMb.js.map
|
package/dist/chunks/{DynamicDependentField-CHHi9988.js.map → DynamicDependentField-B07J5KMb.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicDependentField-CHHi9988.js","sources":["../../src/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/DynamicDependentField.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport DynamicSearchSelect from '../dynamic-select';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Shape of the filter map passed to DynamicSearchSelect's customeFilter */\ntype FilterMap = Record<string, any>;\n\n/**\n * filterFields accepts:\n * - string: `\"company\"` → watch form field `company`, use `filterKey` prop as API filter key\n * - object: `{ company: 'company_id' }` → key = form field to watch, value = API filter key\n */\ntype FilterFieldsInput = string | Record<string, string>;\n\n/** Normalised entry: which form field to watch → which API filter key to use */\ninterface FilterFieldEntry {\n /** The form field name to watch (e.g. \"company\") */\n formField: string;\n /** The API filter key to send (e.g. \"company_id\") */\n apiKey: string;\n}\n\nexport interface DynamicDependentFieldProps {\n /** Field name registered in React Hook Form (e.g. \"department_id\") */\n name: string;\n\n /**\n * Describes which form field(s) this select depends on.\n *\n * **String** – a single form field name. The API filter key is taken from `filterKey`.\n * @example filterFields=\"company\"\n *\n * **Object** – keys are form field names, values are API filter keys.\n * @example filterFields={{ company: 'company_id', branch: 'branch_id' }}\n */\n filterFields: FilterFieldsInput;\n\n /**\n * The form array/namespace prefix used in the parent form\n * (same as `fieldArrayName` in DynamicSearchSelect).\n */\n fieldArrayName: string;\n\n /**\n * API filter key used when `filterFields` is a plain string.\n * Ignored when `filterFields` is an object (the object values are used instead).\n * @default 'company_id'\n */\n filterKey?: string;\n\n /** Label displayed above the select */\n label?: string;\n\n /** Placeholder text inside the select */\n placeholder?: string;\n\n /**\n * API key string forwarded to `DynamicSearchSelect` as `apiType`.\n */\n apiType?: string;\n\n /**\n * Custom fetch function forwarded to `DynamicSearchSelect` as `customFetchApi`.\n */\n customFetchApi?: (...args: any[]) => Promise<any>;\n\n /** Disable the field regardless of filter state */\n disabled?: boolean;\n\n /** React Hook Form validation rules */\n rules?: Record<string, any>;\n\n /** Allow multi-select (forwarded as `is_multiselect`) */\n isMulti?: boolean;\n\n /** Mark field as required */\n required?: boolean;\n\n /** Form control object from useForm */\n control?: any;\n formControl?: any;\n\n /** Watch function from useForm */\n watch?: any;\n\n /** SetValue function from useForm */\n setValue?: any;\n\n /** GetFieldState function from useForm */\n getFieldState?: any;\n\n /** FormState object from useForm */\n formState?: any;\n\n /** Any additional props forwarded verbatim to DynamicSearchSelect */\n [key: string]: any;\n}\n\n// ---------------------------------------------------------------------------\n// Helper utilities\n// ---------------------------------------------------------------------------\n\n/**\n * Normalise `filterFields` into a uniform array of { formField, apiKey } entries.\n *\n * - string `\"company\"` → [{ formField: 'company', apiKey: <filterKey> }]\n * - object `{ company: 'company_id' }` → [{ formField: 'company', apiKey: 'company_id' }]\n */\nconst normaliseFilterFields = (\n input: FilterFieldsInput,\n fallbackApiKey: string\n): FilterFieldEntry[] => {\n if (typeof input === 'string') {\n return [{ formField: input, apiKey: fallbackApiKey }];\n }\n\n // Object – each key is a form field, each value is the API filter key\n return Object.entries(input).map(([formField, apiKey]) => ({\n formField,\n apiKey,\n }));\n};\n\n/**\n * Returns `true` when **every** value in the map is non-empty.\n */\nconst allFiltersFilled = (filters: FilterMap): boolean =>\n Object.values(filters).every((v) => {\n if (v === null || v === undefined || v === '') return false;\n if (Array.isArray(v) && v.length === 0) return false;\n return true;\n });\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\n/**\n * `DynamicDependentField` is a fully reusable, typed wrapper around\n * `DynamicSearchSelect` that:\n *\n * - Reads `control`, `watch`, and `setValue` from the nearest `FormProvider`.\n * - Watches one or more dependent fields (`filterFields`).\n * - Builds a `customeFilter` object from the watched values.\n * - Resets its own value and triggers a fresh option load whenever a watched\n * field changes.\n * - Disables itself automatically while any required filter is empty.\n *\n * @example\n * // String – single dependency, uses filterKey for the API filter key\n * <DynamicDependentField\n * name=\"department_id\"\n * fieldArrayName=\"add_payment_entry\"\n * filterFields=\"company\"\n * filterKey=\"company_id\"\n * apiType=\"department\"\n * />\n *\n * @example\n * // Object – multiple dependencies with explicit API filter keys\n * <DynamicDependentField\n * name=\"location_id\"\n * fieldArrayName=\"employee\"\n * filterFields={{ company: 'company_id', branch: 'branch_id' }}\n * apiType=\"location\"\n * />\n */\nconst DynamicDependentField: React.FC<DynamicDependentFieldProps> = (props) => {\n const formContext = useFormContext();\n\n // Prioritise props over context to allow manual override (essential for MFE)\n const control = props.formControl || props.control || formContext?.control;\n const watch = props.watch || formContext?.watch;\n const setValue = props.setValue || formContext?.setValue;\n const getFieldState = props.getFieldState || formContext?.getFieldState;\n const formState = props.formState || formContext?.formState;\n\n const hasMethods = !!(control && watch && setValue);\n\n if (!hasMethods) {\n // Fallback: render the select without dependency logic if form methods are missing\n return (\n <DynamicSearchSelect\n addType={props?.addType || props?.apiType}\n enable_footer={props?.enable_footer ?? true}\n {...props}\n {...(control ? { formControl: control } : {})}\n />\n );\n }\n\n return (\n <DynamicDependentFieldContent\n {...props}\n control={control}\n watch={watch}\n setValue={setValue}\n getFieldState={getFieldState}\n formState={formState}\n />\n );\n};\n\n/**\n * Inner component that performs the dependency logic.\n * It is only rendered when form methods are available.\n */\nconst DynamicDependentFieldContent: React.FC<\n DynamicDependentFieldProps & {\n control: any;\n watch: any;\n setValue: any;\n getFieldState: any;\n formState: any;\n }\n> = ({ control, watch, setValue, getFieldState: _getFieldState, formState: _formState, ...props }) => {\n const {\n name,\n filterFields = 'company_id',\n filterKey = 'company_id',\n fieldArrayName,\n enable_footer = true,\n apiType,\n } = props;\n\n // -----------------------------------------------------------------------\n // Normalise filterFields into a uniform array of { formField, apiKey }\n // -----------------------------------------------------------------------\n const entries: FilterFieldEntry[] = useMemo(\n () => normaliseFilterFields(filterFields, filterKey),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(filterFields), filterKey]\n );\n\n /** Just the form field names – used for watching and change detection */\n const formFieldNames = useMemo(() => entries.map((e) => e.formField), [entries]);\n\n // -----------------------------------------------------------------------\n // Watch all dependent form field values\n // -----------------------------------------------------------------------\n const watchedValues = watch(formFieldNames.map((f) => `${fieldArrayName}.${f}`));\n\n const watchedValuesArray: any[] = useMemo(\n () => (Array.isArray(watchedValues) ? watchedValues : [watchedValues]),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(watchedValues)]\n );\n\n // -----------------------------------------------------------------------\n // Build the filter map { company: 1, branch: 2 } (keyed by formField)\n // -----------------------------------------------------------------------\n const filters: FilterMap = useMemo(() => {\n return formFieldNames.reduce<FilterMap>((acc, field, index) => {\n acc[field] = watchedValuesArray[index];\n return acc;\n }, {});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(watchedValuesArray), formFieldNames.join(',')]);\n\n // -----------------------------------------------------------------------\n // Determine whether the field should be disabled\n // -----------------------------------------------------------------------\n const isDisabledDueToFilters = !allFiltersFilled(filters);\n const isFieldDisabled = props?.disabled || isDisabledDueToFilters;\n\n // -----------------------------------------------------------------------\n // Track previous filters to detect real changes and avoid infinite loops\n // -----------------------------------------------------------------------\n const prevFiltersRef = useRef<FilterMap | null>(null);\n const isFirstRender = useRef(true);\n\n // -----------------------------------------------------------------------\n // Reset own value when any filter changes (skip on mount)\n // -----------------------------------------------------------------------\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n prevFiltersRef.current = filters;\n return;\n }\n\n const prev = prevFiltersRef.current;\n const changedFields = formFieldNames.filter((field) => prev?.[field] !== filters[field]);\n const hasChanged = changedFields.length > 0;\n\n if (hasChanged) {\n prevFiltersRef.current = filters;\n\n setValue(`${fieldArrayName}.${name}`, props?.is_multiselect ? [] : null, {\n shouldValidate: false,\n shouldDirty: false\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filters)]);\n\n // -----------------------------------------------------------------------\n // Build customeFilter in the format DynamicSearchSelect expects.\n //\n // For each entry, map the watched form value to the correct API filter key:\n // { formField: 'company', apiKey: 'company_id', value: 1 }\n // → { '&company_id.in': [1] }\n //\n // Array values (multiselect) are passed through as-is.\n // -----------------------------------------------------------------------\n const customeFilter: FilterMap = useMemo(() => {\n const dependentFilters = entries.reduce<FilterMap>((acc, entry) => {\n const value = filters[entry.formField];\n const hasValue = Array.isArray(value)\n ? value.length > 0\n : (value !== null && value !== undefined && value !== '');\n\n acc[`&${entry.apiKey}.in`] = hasValue ? Array.isArray(value) ? value : [value] : 0;\n return acc;\n }, {});\n\n // Merge with rest.customeFilter if provided\n return {\n ...dependentFilters,\n ...(props?.customeFilter || {})\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filters), JSON.stringify(props?.customeFilter), isDisabledDueToFilters]);\n console.log(\"🚀 ~ DynamicDependentFieldContent ~ customeFilter:\", customeFilter)\n\n // -----------------------------------------------------------------------\n // Key derived from filter values — forces a full remount of DynamicSearchSelect\n // whenever any parent filter (e.g. company) changes, clearing its internal state.\n // -----------------------------------------------------------------------\n const updateKey = JSON.stringify(filters);\n\n // -----------------------------------------------------------------------\n // Render\n // -----------------------------------------------------------------------\n return (\n <DynamicSearchSelect\n key={updateKey}\n options={[]}\n addType={props?.addType || apiType}\n enable_footer={enable_footer}\n disabled={isFieldDisabled}\n {...(props as any)}\n customeFilter={customeFilter}\n formControl={control}\n />\n );\n};\n\nexport default DynamicDependentField;\n"],"names":["useFormContext","jsx","DynamicSearchSelect","useMemo","useRef","useEffect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DynamicDependentField-B07J5KMb.js","sources":["../../src/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/DynamicDependentField.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport DynamicSearchSelect from '../dynamic-select';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Shape of the filter map passed to DynamicSearchSelect's customeFilter */\ntype FilterMap = Record<string, any>;\n\n/**\n * filterFields accepts:\n * - string: `\"company\"` → watch form field `company`, use `filterKey` prop as API filter key\n * - object: `{ company: 'company_id' }` → key = form field to watch, value = API filter key\n */\ntype FilterFieldsInput = string | Record<string, string>;\n\n/** Normalised entry: which form field to watch → which API filter key to use */\ninterface FilterFieldEntry {\n /** The form field name to watch (e.g. \"company\") */\n formField: string;\n /** The API filter key to send (e.g. \"company_id\") */\n apiKey: string;\n}\n\nexport interface DynamicDependentFieldProps {\n /** Field name registered in React Hook Form (e.g. \"department_id\") */\n name: string;\n\n /**\n * Describes which form field(s) this select depends on.\n *\n * **String** – a single form field name. The API filter key is taken from `filterKey`.\n * @example filterFields=\"company\"\n *\n * **Object** – keys are form field names, values are API filter keys.\n * @example filterFields={{ company: 'company_id', branch: 'branch_id' }}\n */\n filterFields: FilterFieldsInput;\n\n /**\n * The form array/namespace prefix used in the parent form\n * (same as `fieldArrayName` in DynamicSearchSelect).\n */\n fieldArrayName: string;\n\n /**\n * API filter key used when `filterFields` is a plain string.\n * Ignored when `filterFields` is an object (the object values are used instead).\n * @default 'company_id'\n */\n filterKey?: string;\n\n /** Label displayed above the select */\n label?: string;\n\n /** Placeholder text inside the select */\n placeholder?: string;\n\n /**\n * API key string forwarded to `DynamicSearchSelect` as `apiType`.\n */\n apiType?: string;\n\n /**\n * Custom fetch function forwarded to `DynamicSearchSelect` as `customFetchApi`.\n */\n customFetchApi?: (...args: any[]) => Promise<any>;\n\n /** Disable the field regardless of filter state */\n disabled?: boolean;\n\n /** React Hook Form validation rules */\n rules?: Record<string, any>;\n\n /** Allow multi-select (forwarded as `is_multiselect`) */\n isMulti?: boolean;\n\n /** Mark field as required */\n required?: boolean;\n\n /** Form control object from useForm */\n control?: any;\n formControl?: any;\n\n /** Watch function from useForm */\n watch?: any;\n\n /** SetValue function from useForm */\n setValue?: any;\n\n /** GetFieldState function from useForm */\n getFieldState?: any;\n\n /** FormState object from useForm */\n formState?: any;\n\n /** Any additional props forwarded verbatim to DynamicSearchSelect */\n [key: string]: any;\n}\n\n// ---------------------------------------------------------------------------\n// Helper utilities\n// ---------------------------------------------------------------------------\n\n/**\n * Normalise `filterFields` into a uniform array of { formField, apiKey } entries.\n *\n * - string `\"company\"` → [{ formField: 'company', apiKey: <filterKey> }]\n * - object `{ company: 'company_id' }` → [{ formField: 'company', apiKey: 'company_id' }]\n */\nconst normaliseFilterFields = (\n input: FilterFieldsInput,\n fallbackApiKey: string\n): FilterFieldEntry[] => {\n if (typeof input === 'string') {\n return [{ formField: input, apiKey: fallbackApiKey }];\n }\n\n // Object – each key is a form field, each value is the API filter key\n return Object.entries(input).map(([formField, apiKey]) => ({\n formField,\n apiKey,\n }));\n};\n\n/**\n * Returns `true` when **every** value in the map is non-empty.\n */\nconst allFiltersFilled = (filters: FilterMap): boolean =>\n Object.values(filters).every((v) => {\n if (v === null || v === undefined || v === '') return false;\n if (Array.isArray(v) && v.length === 0) return false;\n return true;\n });\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\n/**\n * `DynamicDependentField` is a fully reusable, typed wrapper around\n * `DynamicSearchSelect` that:\n *\n * - Reads `control`, `watch`, and `setValue` from the nearest `FormProvider`.\n * - Watches one or more dependent fields (`filterFields`).\n * - Builds a `customeFilter` object from the watched values.\n * - Resets its own value and triggers a fresh option load whenever a watched\n * field changes.\n * - Disables itself automatically while any required filter is empty.\n *\n * @example\n * // String – single dependency, uses filterKey for the API filter key\n * <DynamicDependentField\n * name=\"department_id\"\n * fieldArrayName=\"add_payment_entry\"\n * filterFields=\"company\"\n * filterKey=\"company_id\"\n * apiType=\"department\"\n * />\n *\n * @example\n * // Object – multiple dependencies with explicit API filter keys\n * <DynamicDependentField\n * name=\"location_id\"\n * fieldArrayName=\"employee\"\n * filterFields={{ company: 'company_id', branch: 'branch_id' }}\n * apiType=\"location\"\n * />\n */\nconst DynamicDependentField: React.FC<DynamicDependentFieldProps> = (props) => {\n const formContext = useFormContext();\n\n // Prioritise props over context to allow manual override (essential for MFE)\n const control = props.formControl || props.control || formContext?.control;\n const watch = props.watch || formContext?.watch;\n const setValue = props.setValue || formContext?.setValue;\n const getFieldState = props.getFieldState || formContext?.getFieldState;\n const formState = props.formState || formContext?.formState;\n\n const hasMethods = !!(control && watch && setValue);\n\n if (!hasMethods) {\n // Fallback: render the select without dependency logic if form methods are missing\n return (\n <DynamicSearchSelect\n addType={props?.addType || props?.apiType}\n enable_footer={props?.enable_footer ?? true}\n {...props}\n {...(control ? { formControl: control } : {})}\n />\n );\n }\n\n return (\n <DynamicDependentFieldContent\n {...props}\n control={control}\n watch={watch}\n setValue={setValue}\n getFieldState={getFieldState}\n formState={formState}\n />\n );\n};\n\n/**\n * Inner component that performs the dependency logic.\n * It is only rendered when form methods are available.\n */\nconst DynamicDependentFieldContent: React.FC<\n DynamicDependentFieldProps & {\n control: any;\n watch: any;\n setValue: any;\n getFieldState: any;\n formState: any;\n }\n> = ({ control, watch, setValue, getFieldState: _getFieldState, formState: _formState, ...props }) => {\n const {\n name,\n filterFields = 'company_id',\n filterKey = 'company_id',\n fieldArrayName,\n enable_footer = true,\n apiType,\n } = props;\n\n // -----------------------------------------------------------------------\n // Normalise filterFields into a uniform array of { formField, apiKey }\n // -----------------------------------------------------------------------\n const entries: FilterFieldEntry[] = useMemo(\n () => normaliseFilterFields(filterFields, filterKey),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(filterFields), filterKey]\n );\n\n /** Just the form field names – used for watching and change detection */\n const formFieldNames = useMemo(() => entries.map((e) => e.formField), [entries]);\n\n // -----------------------------------------------------------------------\n // Watch all dependent form field values\n // -----------------------------------------------------------------------\n const watchedValues = watch(formFieldNames.map((f) => `${fieldArrayName}.${f}`));\n\n const watchedValuesArray: any[] = useMemo(\n () => (Array.isArray(watchedValues) ? watchedValues : [watchedValues]),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(watchedValues)]\n );\n\n // -----------------------------------------------------------------------\n // Build the filter map { company: 1, branch: 2 } (keyed by formField)\n // -----------------------------------------------------------------------\n const filters: FilterMap = useMemo(() => {\n return formFieldNames.reduce<FilterMap>((acc, field, index) => {\n acc[field] = watchedValuesArray[index];\n return acc;\n }, {});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(watchedValuesArray), formFieldNames.join(',')]);\n\n // -----------------------------------------------------------------------\n // Determine whether the field should be disabled\n // -----------------------------------------------------------------------\n const isDisabledDueToFilters = !allFiltersFilled(filters);\n const isFieldDisabled = props?.disabled || isDisabledDueToFilters;\n\n // -----------------------------------------------------------------------\n // Track previous filters to detect real changes and avoid infinite loops\n // -----------------------------------------------------------------------\n const prevFiltersRef = useRef<FilterMap | null>(null);\n const isFirstRender = useRef(true);\n\n // -----------------------------------------------------------------------\n // Reset own value when any filter changes (skip on mount)\n // -----------------------------------------------------------------------\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n prevFiltersRef.current = filters;\n return;\n }\n\n const prev = prevFiltersRef.current;\n const changedFields = formFieldNames.filter((field) => prev?.[field] !== filters[field]);\n const hasChanged = changedFields.length > 0;\n\n if (hasChanged) {\n prevFiltersRef.current = filters;\n\n setValue(`${fieldArrayName}.${name}`, props?.is_multiselect ? [] : null, {\n shouldValidate: false,\n shouldDirty: false\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filters)]);\n\n // -----------------------------------------------------------------------\n // Build customeFilter in the format DynamicSearchSelect expects.\n //\n // For each entry, map the watched form value to the correct API filter key:\n // { formField: 'company', apiKey: 'company_id', value: 1 }\n // → { '&company_id.in': [1] }\n //\n // Array values (multiselect) are passed through as-is.\n // -----------------------------------------------------------------------\n const customeFilter: FilterMap = useMemo(() => {\n const dependentFilters = entries.reduce<FilterMap>((acc, entry) => {\n const value = filters[entry.formField];\n const hasValue = Array.isArray(value)\n ? value.length > 0\n : (value !== null && value !== undefined && value !== '');\n\n acc[`&${entry.apiKey}.in`] = hasValue ? Array.isArray(value) ? value : [value] : 0;\n return acc;\n }, {});\n\n // Merge with rest.customeFilter if provided\n return {\n ...dependentFilters,\n ...(props?.customeFilter || {})\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filters), JSON.stringify(props?.customeFilter), isDisabledDueToFilters]);\n\n // -----------------------------------------------------------------------\n // Key derived from filter values — forces a full remount of DynamicSearchSelect\n // whenever any parent filter (e.g. company) changes, clearing its internal state.\n // -----------------------------------------------------------------------\n const updateKey = JSON.stringify(filters);\n\n // -----------------------------------------------------------------------\n // Render\n // -----------------------------------------------------------------------\n return (\n <DynamicSearchSelect\n key={updateKey}\n options={[]}\n addType={props?.addType || apiType}\n enable_footer={enable_footer}\n disabled={isFieldDisabled}\n {...(props as any)}\n customeFilter={customeFilter}\n formControl={control}\n />\n );\n};\n\nexport default DynamicDependentField;\n"],"names":["useFormContext","jsx","DynamicSearchSelect","useMemo","useRef","useEffect"],"mappings":"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"}
|
package/dist/chunks/{DynamicDependentField-Bx-tnYfX.esm.js → DynamicDependentField-Cf7Lk2TW.esm.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo, useRef, useEffect } from "react";
|
|
3
3
|
import { useFormContext } from "react-hook-form";
|
|
4
|
-
import { D as DynamicSearchSelect } from "./searchable-select-
|
|
4
|
+
import { D as DynamicSearchSelect } from "./searchable-select-KiyKuZ0F.esm.js";
|
|
5
5
|
const normaliseFilterFields = (input, fallbackApiKey) => {
|
|
6
6
|
if (typeof input === "string") {
|
|
7
7
|
return [{ formField: input, apiKey: fallbackApiKey }];
|
|
@@ -107,7 +107,6 @@ const DynamicDependentFieldContent = ({ control, watch, setValue, getFieldState:
|
|
|
107
107
|
...(props == null ? void 0 : props.customeFilter) || {}
|
|
108
108
|
};
|
|
109
109
|
}, [JSON.stringify(filters), JSON.stringify(props == null ? void 0 : props.customeFilter), isDisabledDueToFilters]);
|
|
110
|
-
console.log("🚀 ~ DynamicDependentFieldContent ~ customeFilter:", customeFilter);
|
|
111
110
|
const updateKey = JSON.stringify(filters);
|
|
112
111
|
return /* @__PURE__ */ jsx(
|
|
113
112
|
DynamicSearchSelect,
|
|
@@ -126,4 +125,4 @@ const DynamicDependentFieldContent = ({ control, watch, setValue, getFieldState:
|
|
|
126
125
|
export {
|
|
127
126
|
DynamicDependentField as D
|
|
128
127
|
};
|
|
129
|
-
//# sourceMappingURL=DynamicDependentField-
|
|
128
|
+
//# sourceMappingURL=DynamicDependentField-Cf7Lk2TW.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicDependentField-Bx-tnYfX.esm.js","sources":["../../src/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/DynamicDependentField.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport DynamicSearchSelect from '../dynamic-select';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Shape of the filter map passed to DynamicSearchSelect's customeFilter */\ntype FilterMap = Record<string, any>;\n\n/**\n * filterFields accepts:\n * - string: `\"company\"` → watch form field `company`, use `filterKey` prop as API filter key\n * - object: `{ company: 'company_id' }` → key = form field to watch, value = API filter key\n */\ntype FilterFieldsInput = string | Record<string, string>;\n\n/** Normalised entry: which form field to watch → which API filter key to use */\ninterface FilterFieldEntry {\n /** The form field name to watch (e.g. \"company\") */\n formField: string;\n /** The API filter key to send (e.g. \"company_id\") */\n apiKey: string;\n}\n\nexport interface DynamicDependentFieldProps {\n /** Field name registered in React Hook Form (e.g. \"department_id\") */\n name: string;\n\n /**\n * Describes which form field(s) this select depends on.\n *\n * **String** – a single form field name. The API filter key is taken from `filterKey`.\n * @example filterFields=\"company\"\n *\n * **Object** – keys are form field names, values are API filter keys.\n * @example filterFields={{ company: 'company_id', branch: 'branch_id' }}\n */\n filterFields: FilterFieldsInput;\n\n /**\n * The form array/namespace prefix used in the parent form\n * (same as `fieldArrayName` in DynamicSearchSelect).\n */\n fieldArrayName: string;\n\n /**\n * API filter key used when `filterFields` is a plain string.\n * Ignored when `filterFields` is an object (the object values are used instead).\n * @default 'company_id'\n */\n filterKey?: string;\n\n /** Label displayed above the select */\n label?: string;\n\n /** Placeholder text inside the select */\n placeholder?: string;\n\n /**\n * API key string forwarded to `DynamicSearchSelect` as `apiType`.\n */\n apiType?: string;\n\n /**\n * Custom fetch function forwarded to `DynamicSearchSelect` as `customFetchApi`.\n */\n customFetchApi?: (...args: any[]) => Promise<any>;\n\n /** Disable the field regardless of filter state */\n disabled?: boolean;\n\n /** React Hook Form validation rules */\n rules?: Record<string, any>;\n\n /** Allow multi-select (forwarded as `is_multiselect`) */\n isMulti?: boolean;\n\n /** Mark field as required */\n required?: boolean;\n\n /** Form control object from useForm */\n control?: any;\n formControl?: any;\n\n /** Watch function from useForm */\n watch?: any;\n\n /** SetValue function from useForm */\n setValue?: any;\n\n /** GetFieldState function from useForm */\n getFieldState?: any;\n\n /** FormState object from useForm */\n formState?: any;\n\n /** Any additional props forwarded verbatim to DynamicSearchSelect */\n [key: string]: any;\n}\n\n// ---------------------------------------------------------------------------\n// Helper utilities\n// ---------------------------------------------------------------------------\n\n/**\n * Normalise `filterFields` into a uniform array of { formField, apiKey } entries.\n *\n * - string `\"company\"` → [{ formField: 'company', apiKey: <filterKey> }]\n * - object `{ company: 'company_id' }` → [{ formField: 'company', apiKey: 'company_id' }]\n */\nconst normaliseFilterFields = (\n input: FilterFieldsInput,\n fallbackApiKey: string\n): FilterFieldEntry[] => {\n if (typeof input === 'string') {\n return [{ formField: input, apiKey: fallbackApiKey }];\n }\n\n // Object – each key is a form field, each value is the API filter key\n return Object.entries(input).map(([formField, apiKey]) => ({\n formField,\n apiKey,\n }));\n};\n\n/**\n * Returns `true` when **every** value in the map is non-empty.\n */\nconst allFiltersFilled = (filters: FilterMap): boolean =>\n Object.values(filters).every((v) => {\n if (v === null || v === undefined || v === '') return false;\n if (Array.isArray(v) && v.length === 0) return false;\n return true;\n });\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\n/**\n * `DynamicDependentField` is a fully reusable, typed wrapper around\n * `DynamicSearchSelect` that:\n *\n * - Reads `control`, `watch`, and `setValue` from the nearest `FormProvider`.\n * - Watches one or more dependent fields (`filterFields`).\n * - Builds a `customeFilter` object from the watched values.\n * - Resets its own value and triggers a fresh option load whenever a watched\n * field changes.\n * - Disables itself automatically while any required filter is empty.\n *\n * @example\n * // String – single dependency, uses filterKey for the API filter key\n * <DynamicDependentField\n * name=\"department_id\"\n * fieldArrayName=\"add_payment_entry\"\n * filterFields=\"company\"\n * filterKey=\"company_id\"\n * apiType=\"department\"\n * />\n *\n * @example\n * // Object – multiple dependencies with explicit API filter keys\n * <DynamicDependentField\n * name=\"location_id\"\n * fieldArrayName=\"employee\"\n * filterFields={{ company: 'company_id', branch: 'branch_id' }}\n * apiType=\"location\"\n * />\n */\nconst DynamicDependentField: React.FC<DynamicDependentFieldProps> = (props) => {\n const formContext = useFormContext();\n\n // Prioritise props over context to allow manual override (essential for MFE)\n const control = props.formControl || props.control || formContext?.control;\n const watch = props.watch || formContext?.watch;\n const setValue = props.setValue || formContext?.setValue;\n const getFieldState = props.getFieldState || formContext?.getFieldState;\n const formState = props.formState || formContext?.formState;\n\n const hasMethods = !!(control && watch && setValue);\n\n if (!hasMethods) {\n // Fallback: render the select without dependency logic if form methods are missing\n return (\n <DynamicSearchSelect\n addType={props?.addType || props?.apiType}\n enable_footer={props?.enable_footer ?? true}\n {...props}\n {...(control ? { formControl: control } : {})}\n />\n );\n }\n\n return (\n <DynamicDependentFieldContent\n {...props}\n control={control}\n watch={watch}\n setValue={setValue}\n getFieldState={getFieldState}\n formState={formState}\n />\n );\n};\n\n/**\n * Inner component that performs the dependency logic.\n * It is only rendered when form methods are available.\n */\nconst DynamicDependentFieldContent: React.FC<\n DynamicDependentFieldProps & {\n control: any;\n watch: any;\n setValue: any;\n getFieldState: any;\n formState: any;\n }\n> = ({ control, watch, setValue, getFieldState: _getFieldState, formState: _formState, ...props }) => {\n const {\n name,\n filterFields = 'company_id',\n filterKey = 'company_id',\n fieldArrayName,\n enable_footer = true,\n apiType,\n } = props;\n\n // -----------------------------------------------------------------------\n // Normalise filterFields into a uniform array of { formField, apiKey }\n // -----------------------------------------------------------------------\n const entries: FilterFieldEntry[] = useMemo(\n () => normaliseFilterFields(filterFields, filterKey),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(filterFields), filterKey]\n );\n\n /** Just the form field names – used for watching and change detection */\n const formFieldNames = useMemo(() => entries.map((e) => e.formField), [entries]);\n\n // -----------------------------------------------------------------------\n // Watch all dependent form field values\n // -----------------------------------------------------------------------\n const watchedValues = watch(formFieldNames.map((f) => `${fieldArrayName}.${f}`));\n\n const watchedValuesArray: any[] = useMemo(\n () => (Array.isArray(watchedValues) ? watchedValues : [watchedValues]),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(watchedValues)]\n );\n\n // -----------------------------------------------------------------------\n // Build the filter map { company: 1, branch: 2 } (keyed by formField)\n // -----------------------------------------------------------------------\n const filters: FilterMap = useMemo(() => {\n return formFieldNames.reduce<FilterMap>((acc, field, index) => {\n acc[field] = watchedValuesArray[index];\n return acc;\n }, {});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(watchedValuesArray), formFieldNames.join(',')]);\n\n // -----------------------------------------------------------------------\n // Determine whether the field should be disabled\n // -----------------------------------------------------------------------\n const isDisabledDueToFilters = !allFiltersFilled(filters);\n const isFieldDisabled = props?.disabled || isDisabledDueToFilters;\n\n // -----------------------------------------------------------------------\n // Track previous filters to detect real changes and avoid infinite loops\n // -----------------------------------------------------------------------\n const prevFiltersRef = useRef<FilterMap | null>(null);\n const isFirstRender = useRef(true);\n\n // -----------------------------------------------------------------------\n // Reset own value when any filter changes (skip on mount)\n // -----------------------------------------------------------------------\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n prevFiltersRef.current = filters;\n return;\n }\n\n const prev = prevFiltersRef.current;\n const changedFields = formFieldNames.filter((field) => prev?.[field] !== filters[field]);\n const hasChanged = changedFields.length > 0;\n\n if (hasChanged) {\n prevFiltersRef.current = filters;\n\n setValue(`${fieldArrayName}.${name}`, props?.is_multiselect ? [] : null, {\n shouldValidate: false,\n shouldDirty: false\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filters)]);\n\n // -----------------------------------------------------------------------\n // Build customeFilter in the format DynamicSearchSelect expects.\n //\n // For each entry, map the watched form value to the correct API filter key:\n // { formField: 'company', apiKey: 'company_id', value: 1 }\n // → { '&company_id.in': [1] }\n //\n // Array values (multiselect) are passed through as-is.\n // -----------------------------------------------------------------------\n const customeFilter: FilterMap = useMemo(() => {\n const dependentFilters = entries.reduce<FilterMap>((acc, entry) => {\n const value = filters[entry.formField];\n const hasValue = Array.isArray(value)\n ? value.length > 0\n : (value !== null && value !== undefined && value !== '');\n\n acc[`&${entry.apiKey}.in`] = hasValue ? Array.isArray(value) ? value : [value] : 0;\n return acc;\n }, {});\n\n // Merge with rest.customeFilter if provided\n return {\n ...dependentFilters,\n ...(props?.customeFilter || {})\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filters), JSON.stringify(props?.customeFilter), isDisabledDueToFilters]);\n console.log(\"🚀 ~ DynamicDependentFieldContent ~ customeFilter:\", customeFilter)\n\n // -----------------------------------------------------------------------\n // Key derived from filter values — forces a full remount of DynamicSearchSelect\n // whenever any parent filter (e.g. company) changes, clearing its internal state.\n // -----------------------------------------------------------------------\n const updateKey = JSON.stringify(filters);\n\n // -----------------------------------------------------------------------\n // Render\n // -----------------------------------------------------------------------\n return (\n <DynamicSearchSelect\n key={updateKey}\n options={[]}\n addType={props?.addType || apiType}\n enable_footer={enable_footer}\n disabled={isFieldDisabled}\n {...(props as any)}\n customeFilter={customeFilter}\n formControl={control}\n />\n );\n};\n\nexport default DynamicDependentField;\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DynamicDependentField-Cf7Lk2TW.esm.js","sources":["../../src/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/DynamicDependentField.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport DynamicSearchSelect from '../dynamic-select';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Shape of the filter map passed to DynamicSearchSelect's customeFilter */\ntype FilterMap = Record<string, any>;\n\n/**\n * filterFields accepts:\n * - string: `\"company\"` → watch form field `company`, use `filterKey` prop as API filter key\n * - object: `{ company: 'company_id' }` → key = form field to watch, value = API filter key\n */\ntype FilterFieldsInput = string | Record<string, string>;\n\n/** Normalised entry: which form field to watch → which API filter key to use */\ninterface FilterFieldEntry {\n /** The form field name to watch (e.g. \"company\") */\n formField: string;\n /** The API filter key to send (e.g. \"company_id\") */\n apiKey: string;\n}\n\nexport interface DynamicDependentFieldProps {\n /** Field name registered in React Hook Form (e.g. \"department_id\") */\n name: string;\n\n /**\n * Describes which form field(s) this select depends on.\n *\n * **String** – a single form field name. The API filter key is taken from `filterKey`.\n * @example filterFields=\"company\"\n *\n * **Object** – keys are form field names, values are API filter keys.\n * @example filterFields={{ company: 'company_id', branch: 'branch_id' }}\n */\n filterFields: FilterFieldsInput;\n\n /**\n * The form array/namespace prefix used in the parent form\n * (same as `fieldArrayName` in DynamicSearchSelect).\n */\n fieldArrayName: string;\n\n /**\n * API filter key used when `filterFields` is a plain string.\n * Ignored when `filterFields` is an object (the object values are used instead).\n * @default 'company_id'\n */\n filterKey?: string;\n\n /** Label displayed above the select */\n label?: string;\n\n /** Placeholder text inside the select */\n placeholder?: string;\n\n /**\n * API key string forwarded to `DynamicSearchSelect` as `apiType`.\n */\n apiType?: string;\n\n /**\n * Custom fetch function forwarded to `DynamicSearchSelect` as `customFetchApi`.\n */\n customFetchApi?: (...args: any[]) => Promise<any>;\n\n /** Disable the field regardless of filter state */\n disabled?: boolean;\n\n /** React Hook Form validation rules */\n rules?: Record<string, any>;\n\n /** Allow multi-select (forwarded as `is_multiselect`) */\n isMulti?: boolean;\n\n /** Mark field as required */\n required?: boolean;\n\n /** Form control object from useForm */\n control?: any;\n formControl?: any;\n\n /** Watch function from useForm */\n watch?: any;\n\n /** SetValue function from useForm */\n setValue?: any;\n\n /** GetFieldState function from useForm */\n getFieldState?: any;\n\n /** FormState object from useForm */\n formState?: any;\n\n /** Any additional props forwarded verbatim to DynamicSearchSelect */\n [key: string]: any;\n}\n\n// ---------------------------------------------------------------------------\n// Helper utilities\n// ---------------------------------------------------------------------------\n\n/**\n * Normalise `filterFields` into a uniform array of { formField, apiKey } entries.\n *\n * - string `\"company\"` → [{ formField: 'company', apiKey: <filterKey> }]\n * - object `{ company: 'company_id' }` → [{ formField: 'company', apiKey: 'company_id' }]\n */\nconst normaliseFilterFields = (\n input: FilterFieldsInput,\n fallbackApiKey: string\n): FilterFieldEntry[] => {\n if (typeof input === 'string') {\n return [{ formField: input, apiKey: fallbackApiKey }];\n }\n\n // Object – each key is a form field, each value is the API filter key\n return Object.entries(input).map(([formField, apiKey]) => ({\n formField,\n apiKey,\n }));\n};\n\n/**\n * Returns `true` when **every** value in the map is non-empty.\n */\nconst allFiltersFilled = (filters: FilterMap): boolean =>\n Object.values(filters).every((v) => {\n if (v === null || v === undefined || v === '') return false;\n if (Array.isArray(v) && v.length === 0) return false;\n return true;\n });\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\n/**\n * `DynamicDependentField` is a fully reusable, typed wrapper around\n * `DynamicSearchSelect` that:\n *\n * - Reads `control`, `watch`, and `setValue` from the nearest `FormProvider`.\n * - Watches one or more dependent fields (`filterFields`).\n * - Builds a `customeFilter` object from the watched values.\n * - Resets its own value and triggers a fresh option load whenever a watched\n * field changes.\n * - Disables itself automatically while any required filter is empty.\n *\n * @example\n * // String – single dependency, uses filterKey for the API filter key\n * <DynamicDependentField\n * name=\"department_id\"\n * fieldArrayName=\"add_payment_entry\"\n * filterFields=\"company\"\n * filterKey=\"company_id\"\n * apiType=\"department\"\n * />\n *\n * @example\n * // Object – multiple dependencies with explicit API filter keys\n * <DynamicDependentField\n * name=\"location_id\"\n * fieldArrayName=\"employee\"\n * filterFields={{ company: 'company_id', branch: 'branch_id' }}\n * apiType=\"location\"\n * />\n */\nconst DynamicDependentField: React.FC<DynamicDependentFieldProps> = (props) => {\n const formContext = useFormContext();\n\n // Prioritise props over context to allow manual override (essential for MFE)\n const control = props.formControl || props.control || formContext?.control;\n const watch = props.watch || formContext?.watch;\n const setValue = props.setValue || formContext?.setValue;\n const getFieldState = props.getFieldState || formContext?.getFieldState;\n const formState = props.formState || formContext?.formState;\n\n const hasMethods = !!(control && watch && setValue);\n\n if (!hasMethods) {\n // Fallback: render the select without dependency logic if form methods are missing\n return (\n <DynamicSearchSelect\n addType={props?.addType || props?.apiType}\n enable_footer={props?.enable_footer ?? true}\n {...props}\n {...(control ? { formControl: control } : {})}\n />\n );\n }\n\n return (\n <DynamicDependentFieldContent\n {...props}\n control={control}\n watch={watch}\n setValue={setValue}\n getFieldState={getFieldState}\n formState={formState}\n />\n );\n};\n\n/**\n * Inner component that performs the dependency logic.\n * It is only rendered when form methods are available.\n */\nconst DynamicDependentFieldContent: React.FC<\n DynamicDependentFieldProps & {\n control: any;\n watch: any;\n setValue: any;\n getFieldState: any;\n formState: any;\n }\n> = ({ control, watch, setValue, getFieldState: _getFieldState, formState: _formState, ...props }) => {\n const {\n name,\n filterFields = 'company_id',\n filterKey = 'company_id',\n fieldArrayName,\n enable_footer = true,\n apiType,\n } = props;\n\n // -----------------------------------------------------------------------\n // Normalise filterFields into a uniform array of { formField, apiKey }\n // -----------------------------------------------------------------------\n const entries: FilterFieldEntry[] = useMemo(\n () => normaliseFilterFields(filterFields, filterKey),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(filterFields), filterKey]\n );\n\n /** Just the form field names – used for watching and change detection */\n const formFieldNames = useMemo(() => entries.map((e) => e.formField), [entries]);\n\n // -----------------------------------------------------------------------\n // Watch all dependent form field values\n // -----------------------------------------------------------------------\n const watchedValues = watch(formFieldNames.map((f) => `${fieldArrayName}.${f}`));\n\n const watchedValuesArray: any[] = useMemo(\n () => (Array.isArray(watchedValues) ? watchedValues : [watchedValues]),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(watchedValues)]\n );\n\n // -----------------------------------------------------------------------\n // Build the filter map { company: 1, branch: 2 } (keyed by formField)\n // -----------------------------------------------------------------------\n const filters: FilterMap = useMemo(() => {\n return formFieldNames.reduce<FilterMap>((acc, field, index) => {\n acc[field] = watchedValuesArray[index];\n return acc;\n }, {});\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(watchedValuesArray), formFieldNames.join(',')]);\n\n // -----------------------------------------------------------------------\n // Determine whether the field should be disabled\n // -----------------------------------------------------------------------\n const isDisabledDueToFilters = !allFiltersFilled(filters);\n const isFieldDisabled = props?.disabled || isDisabledDueToFilters;\n\n // -----------------------------------------------------------------------\n // Track previous filters to detect real changes and avoid infinite loops\n // -----------------------------------------------------------------------\n const prevFiltersRef = useRef<FilterMap | null>(null);\n const isFirstRender = useRef(true);\n\n // -----------------------------------------------------------------------\n // Reset own value when any filter changes (skip on mount)\n // -----------------------------------------------------------------------\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n prevFiltersRef.current = filters;\n return;\n }\n\n const prev = prevFiltersRef.current;\n const changedFields = formFieldNames.filter((field) => prev?.[field] !== filters[field]);\n const hasChanged = changedFields.length > 0;\n\n if (hasChanged) {\n prevFiltersRef.current = filters;\n\n setValue(`${fieldArrayName}.${name}`, props?.is_multiselect ? [] : null, {\n shouldValidate: false,\n shouldDirty: false\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filters)]);\n\n // -----------------------------------------------------------------------\n // Build customeFilter in the format DynamicSearchSelect expects.\n //\n // For each entry, map the watched form value to the correct API filter key:\n // { formField: 'company', apiKey: 'company_id', value: 1 }\n // → { '&company_id.in': [1] }\n //\n // Array values (multiselect) are passed through as-is.\n // -----------------------------------------------------------------------\n const customeFilter: FilterMap = useMemo(() => {\n const dependentFilters = entries.reduce<FilterMap>((acc, entry) => {\n const value = filters[entry.formField];\n const hasValue = Array.isArray(value)\n ? value.length > 0\n : (value !== null && value !== undefined && value !== '');\n\n acc[`&${entry.apiKey}.in`] = hasValue ? Array.isArray(value) ? value : [value] : 0;\n return acc;\n }, {});\n\n // Merge with rest.customeFilter if provided\n return {\n ...dependentFilters,\n ...(props?.customeFilter || {})\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(filters), JSON.stringify(props?.customeFilter), isDisabledDueToFilters]);\n\n // -----------------------------------------------------------------------\n // Key derived from filter values — forces a full remount of DynamicSearchSelect\n // whenever any parent filter (e.g. company) changes, clearing its internal state.\n // -----------------------------------------------------------------------\n const updateKey = JSON.stringify(filters);\n\n // -----------------------------------------------------------------------\n // Render\n // -----------------------------------------------------------------------\n return (\n <DynamicSearchSelect\n key={updateKey}\n options={[]}\n addType={props?.addType || apiType}\n enable_footer={enable_footer}\n disabled={isFieldDisabled}\n {...(props as any)}\n customeFilter={customeFilter}\n formControl={control}\n />\n );\n};\n\nexport default DynamicDependentField;\n"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@ import React__default, { useContext, createContext } from "react";
|
|
|
3
3
|
import { Provider } from "react-redux";
|
|
4
4
|
import { SnackbarProvider } from "notistack";
|
|
5
5
|
import { BrowserRouter } from "react-router-dom";
|
|
6
|
-
import { c as createLibraryStore } from "./store-
|
|
6
|
+
import { c as createLibraryStore } from "./store-beRlFNRU.esm.js";
|
|
7
7
|
import { M as MUIThemeWrapper, c as createDarkTheme, a as createLightTheme } from "./theme-impl-icduoRoN.esm.js";
|
|
8
8
|
import { PermissionsProvider, LanguageProvider, AuthProvider } from "@erpsquad/common/runtime";
|
|
9
9
|
import { initializeApiConfig } from "../utils/api-config/index.esm.js";
|
|
10
|
-
import { aD as initializeApiBaseUrls, q as extendApiConfigurations } from "./api-
|
|
10
|
+
import { aD as initializeApiBaseUrls, q as extendApiConfigurations } from "./api-BZ_53D-T.esm.js";
|
|
11
11
|
import { setModuleRoutes } from "../utils/module-routes-config/index.esm.js";
|
|
12
12
|
import { u as useSnackbarRef } from "./apiHelper-DDX_eiu9.esm.js";
|
|
13
13
|
const SnackbarRefTracker = () => {
|
|
@@ -56,7 +56,6 @@ const ERPUIProvider = ({
|
|
|
56
56
|
publicRoutes = []
|
|
57
57
|
// Default empty array for public routes in AuthProvider
|
|
58
58
|
}) => {
|
|
59
|
-
console.log("additionalApiConfigurations...........", additionalApiConfigurations);
|
|
60
59
|
const isInitialized = React__default.useRef(false);
|
|
61
60
|
if (providedApiConfig && !isInitialized.current) {
|
|
62
61
|
try {
|
|
@@ -124,4 +123,4 @@ export {
|
|
|
124
123
|
ERPUIProvider as E,
|
|
125
124
|
useERPUI as u
|
|
126
125
|
};
|
|
127
|
-
//# sourceMappingURL=ERPUIProvider-
|
|
126
|
+
//# sourceMappingURL=ERPUIProvider-CRYpcOXM.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ERPUIProvider-CRYpcOXM.esm.js","sources":["../../src/components/providers/ERPUIProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, Suspense } from 'react';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { ThemeProvider } from '@mui/material';\nimport { CssBaseline } from '@mui/material';\nimport { SnackbarProvider } from 'notistack';\nimport { BrowserRouter } from 'react-router-dom';\nimport { createLibraryStore, ApiClientConfig } from '../../redux';\nimport { createLightTheme, createDarkTheme, Color } from '../../theme';\nimport { AuthProvider } from '@erpsquad/common/runtime';\nimport { LanguageProvider } from '@erpsquad/common/runtime';\nimport { PageProvider } from '@erpsquad/common/runtime';\nimport { PermissionsProvider } from '@erpsquad/common/runtime';\nimport MUIThemeWrapper from '../../theme/themeWrapper';\nimport Loader from '../loader';\nimport useAppTranslations from '../../hooks/use-translations';\nimport '../../utils/i18n';\nimport { initializeApiConfig, ApiConfig } from '../../utils/api-config';\nimport { initializeApiBaseUrls, extendApiConfigurations } from '../../utils/api';\nimport { setModuleRoutes } from '../../utils/module-routes-config';\nimport { useSnackbarRef } from '../../hooks/apiHelper';\n\nconst SnackbarRefTracker: React.FC = () => {\n useSnackbarRef();\n return null;\n};\n\n\n// Context for library configuration\ninterface ERPUIContextValue {\n useRedux: boolean;\n apiClient?: ApiClientConfig;\n theme?: any;\n themeMode: 'light' | 'dark';\n direction: 'ltr' | 'rtl';\n primaryColor?: Color;\n}\n\nconst ERPUIContext = createContext<ERPUIContextValue>({\n useRedux: false,\n themeMode: 'light',\n direction: 'ltr',\n});\n\nexport const useERPUI = () => useContext(ERPUIContext);\n\n// Provider props interface\nexport interface ERPUIProviderProps {\n children: ReactNode;\n\n // Redux configuration\n useRedux?: boolean;\n reduxStore?: any;\n apiClient?: ApiClientConfig;\n additionalReducers?: Record<string, any>;\n\n // Theme configuration\n theme?: any;\n themeMode?: 'light' | 'dark';\n primaryColor?: Color;\n direction?: 'ltr' | 'rtl';\n\n // Context providers configuration\n enableAuth?: boolean;\n enableLanguage?: boolean;\n enablePages?: boolean;\n enablePermissions?: boolean;\n enableRouter?: boolean;\n enableSnackbar?: boolean;\n\n // Other configuration\n enableCssBaseline?: boolean;\n snackbarConfig?: {\n maxSnack?: number;\n anchorOrigin?: {\n vertical: 'top' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n autoHideDuration?: number;\n };\n\n // API configuration\n apiConfig?: ApiConfig;\n\n // Additional API configurations to extend the shared apiConfigurations map\n additionalApiConfigurations?: Record<string, any>;\n\n // Module routes override — allows MFE apps to inject their own full route set\n // so the header module dropdown can match routes correctly.\n // Example: { hrms: Object.values(PathnameHrms).map(p => Pathname.DASHBOARD_HRMS + p) }\n moduleRoutes?: Record<string, string[]>;\n\n // Route maps\n routeToColumnsMap?: Record<string, any>;\n routeToResourceMap?: Record<string, any>;\n publicRoutes?: string[]; // Optional prop to allow customization of public routes in AuthProvider\n}\n\nexport const ERPUIProvider: React.FC<ERPUIProviderProps> = ({\n children,\n\n // Redux props\n useRedux = false,\n reduxStore,\n apiClient,\n additionalReducers = {},\n\n // Theme props\n theme: customTheme,\n themeMode = 'light',\n primaryColor,\n direction = 'ltr',\n\n // Context providers configuration\n enableAuth = true,\n enableLanguage = true,\n enablePages = true,\n enablePermissions = true,\n enableRouter = false, // Default false since consuming app usually provides router\n enableSnackbar = true,\n\n // Other props\n enableCssBaseline = true,\n snackbarConfig = {\n maxSnack: 3,\n anchorOrigin: { vertical: 'top', horizontal: 'right' },\n autoHideDuration: 5000,\n },\n\n // API configuration\n apiConfig: providedApiConfig,\n additionalApiConfigurations,\n moduleRoutes,\n routeToColumnsMap,\n routeToResourceMap,\n publicRoutes = [], // Default empty array for public routes in AuthProvider \n}) => {\n\n // Initialize API configuration synchronously before first render\n // This prevents \"API configuration not initialized\" errors when components\n // try to use the API during initial render\n const isInitialized = React.useRef(false);\n\n if (providedApiConfig && !isInitialized.current) {\n try {\n initializeApiConfig(providedApiConfig);\n initializeApiBaseUrls();\n if (additionalApiConfigurations) {\n extendApiConfigurations(additionalApiConfigurations);\n }\n // Inject MFE-provided module routes so the header can resolve modules\n if (moduleRoutes) {\n setModuleRoutes(moduleRoutes);\n }\n isInitialized.current = true;\n } catch (error) {\n console.error('Failed to initialize API configuration:', error);\n }\n }\n // const { isLoading } = useAppTranslations();\n // if (isLoading) {\n // return <Loader />;\n // }\n // Create or use provided Redux store\n const store = React.useMemo(() => {\n if (!useRedux) return null;\n\n if (reduxStore) {\n return reduxStore;\n }\n\n return createLibraryStore(additionalReducers, apiClient);\n }, [useRedux, reduxStore, additionalReducers, apiClient]);\n\n // Create theme\n const theme = React.useMemo(() => {\n if (customTheme) {\n return customTheme;\n }\n\n const themeCreator = themeMode === 'dark' ? createDarkTheme : createLightTheme;\n const { theme: generatedTheme } = themeCreator(primaryColor, direction);\n return generatedTheme;\n }, [customTheme, themeMode, primaryColor, direction]);\n\n // Context value\n const contextValue: ERPUIContextValue = {\n useRedux,\n apiClient,\n theme,\n themeMode,\n direction,\n primaryColor,\n };\n\n // Build provider tree from inside out\n let content = (\n <ERPUIContext.Provider value={contextValue}>\n {/* <ThemeProvider theme={theme}>\n {enableCssBaseline && <CssBaseline />} */}\n {/* <Suspense fallback={<Loader />}> */}\n <MUIThemeWrapper theme={theme} enableCssBaseline={enableCssBaseline}>\n {children}\n </MUIThemeWrapper>\n {/* </Suspense> */}\n {/* </ThemeProvider> */}\n </ERPUIContext.Provider>\n );\n\n // Wrap with snackbar provider if enabled\n if (enableSnackbar) {\n content = (\n <SnackbarProvider {...snackbarConfig}>\n <SnackbarRefTracker />\n {content}\n </SnackbarProvider>\n );\n }\n\n // Wrap with page provider if enabled\n // if (enablePages) {\n // content = (\n // <PageProvider routeToColumnsMap={routeToColumnsMap} routeToResourceMap={routeToResourceMap}>\n // {content}\n // </PageProvider>\n // );\n // }\n\n // Wrap with permissions provider if enabled\n if (enablePermissions) {\n content = (\n <PermissionsProvider>\n {content}\n </PermissionsProvider>\n );\n }\n\n // Wrap with language provider if enabled\n if (enableLanguage) {\n content = (\n <LanguageProvider>\n {content}\n </LanguageProvider>\n );\n }\n\n\n // Wrap with Redux provider if enabled\n if (useRedux && store) {\n content = (\n <ReduxProvider store={store}>\n {content}\n </ReduxProvider>\n );\n }\n\n // Wrap with auth provider if enabled\n if (enableAuth) {\n content = (\n <AuthProvider publicRoutes={publicRoutes}>\n {content}\n </AuthProvider>\n );\n }\n\n // Wrap with router if enabled\n if (enableRouter) {\n content = (\n <BrowserRouter>\n {content}\n </BrowserRouter>\n );\n }\n\n return content;\n};\n\nexport default ERPUIProvider;"],"names":["React","ReduxProvider"],"mappings":";;;;;;;;;;;;AAqBA,MAAM,qBAA+B,MAAM;AACzC,iBAAA;AACA,SAAO;AACT;AAaA,MAAM,eAAe,cAAiC;AAAA,EACpD,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AACb,CAAC;AAEM,MAAM,WAAW,MAAM,WAAW,YAAY;AAsD9C,MAAM,gBAA8C,CAAC;AAAA,EAC1D;AAAA;AAAA,EAGA,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA,qBAAqB,CAAA;AAAA;AAAA,EAGrB,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA,YAAY;AAAA;AAAA,EAGZ,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,eAAe;AAAA;AAAA,EACf,iBAAiB;AAAA;AAAA,EAGjB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,IACf,UAAU;AAAA,IACV,cAAc,EAAE,UAAU,OAAO,YAAY,QAAA;AAAA,IAC7C,kBAAkB;AAAA,EAAA;AAAA;AAAA,EAIpB,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe,CAAA;AAAA;AACjB,MAAM;AAKJ,QAAM,gBAAgBA,eAAM,OAAO,KAAK;AAExC,MAAI,qBAAqB,CAAC,cAAc,SAAS;AAC/C,QAAI;AACF,0BAAoB,iBAAiB;AACrC,4BAAA;AACA,UAAI,6BAA6B;AAC/B,gCAAwB,2BAA2B;AAAA,MACrD;AAEA,UAAI,cAAc;AAChB,wBAAgB,YAAY;AAAA,MAC9B;AACA,oBAAc,UAAU;AAAA,IAC1B,SAAS,OAAO;AACd,cAAQ,MAAM,2CAA2C,KAAK;AAAA,IAChE;AAAA,EACF;AAMA,QAAM,QAAQA,eAAM,QAAQ,MAAM;AAChC,QAAI,CAAC,SAAU,QAAO;AAEtB,QAAI,YAAY;AACd,aAAO;AAAA,IACT;AAEA,WAAO,mBAAmB,oBAAoB,SAAS;AAAA,EACzD,GAAG,CAAC,UAAU,YAAY,oBAAoB,SAAS,CAAC;AAGxD,QAAM,QAAQA,eAAM,QAAQ,MAAM;AAChC,QAAI,aAAa;AACf,aAAO;AAAA,IACT;AAEA,UAAM,eAAe,cAAc,SAAS,kBAAkB;AAC9D,UAAM,EAAE,OAAO,eAAA,IAAmB,aAAa,cAAc,SAAS;AACtE,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,WAAW,cAAc,SAAS,CAAC;AAGpD,QAAM,eAAkC;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAIF,MAAI,UACF,oBAAC,aAAa,UAAb,EAAsB,OAAO,cAI5B,UAAA,oBAAC,iBAAA,EAAgB,OAAc,mBAC5B,SAAA,CACH,GAGF;AAIF,MAAI,gBAAgB;AAClB,cACE,qBAAC,kBAAA,EAAkB,GAAG,gBACpB,UAAA;AAAA,MAAA,oBAAC,oBAAA,EAAmB;AAAA,MACnB;AAAA,IAAA,GACH;AAAA,EAEJ;AAYA,MAAI,mBAAmB;AACrB,cACE,oBAAC,uBACE,UAAA,QAAA,CACH;AAAA,EAEJ;AAGA,MAAI,gBAAgB;AAClB,cACE,oBAAC,oBACE,UAAA,QAAA,CACH;AAAA,EAEJ;AAIA,MAAI,YAAY,OAAO;AACrB,cACE,oBAACC,UAAA,EAAc,OACZ,UAAA,SACH;AAAA,EAEJ;AAGA,MAAI,YAAY;AACd,cACE,oBAAC,cAAA,EAAa,cACX,UAAA,SACH;AAAA,EAEJ;AAGA,MAAI,cAAc;AAChB,cACE,oBAAC,iBACE,UAAA,QAAA,CACH;AAAA,EAEJ;AAEA,SAAO;AACT;"}
|
|
@@ -4,11 +4,11 @@ const React = require("react");
|
|
|
4
4
|
const reactRedux = require("react-redux");
|
|
5
5
|
const notistack = require("notistack");
|
|
6
6
|
const reactRouterDom = require("react-router-dom");
|
|
7
|
-
const store = require("./store-
|
|
7
|
+
const store = require("./store-Nu0rsltp.js");
|
|
8
8
|
const themeImpl = require("./theme-impl-CIpXkoCz.js");
|
|
9
9
|
const runtime = require("@erpsquad/common/runtime");
|
|
10
10
|
const utils_apiConfig = require("../utils/api-config/index.js");
|
|
11
|
-
const api = require("./api-
|
|
11
|
+
const api = require("./api-2IPIlO_n.js");
|
|
12
12
|
const utils_moduleRoutesConfig = require("../utils/module-routes-config/index.js");
|
|
13
13
|
const apiHelper = require("./apiHelper-D0nLelx3.js");
|
|
14
14
|
const SnackbarRefTracker = () => {
|
|
@@ -57,7 +57,6 @@ const ERPUIProvider = ({
|
|
|
57
57
|
publicRoutes = []
|
|
58
58
|
// Default empty array for public routes in AuthProvider
|
|
59
59
|
}) => {
|
|
60
|
-
console.log("additionalApiConfigurations...........", additionalApiConfigurations);
|
|
61
60
|
const isInitialized = React.useRef(false);
|
|
62
61
|
if (providedApiConfig && !isInitialized.current) {
|
|
63
62
|
try {
|
|
@@ -123,4 +122,4 @@ const ERPUIProvider = ({
|
|
|
123
122
|
};
|
|
124
123
|
exports.ERPUIProvider = ERPUIProvider;
|
|
125
124
|
exports.useERPUI = useERPUI;
|
|
126
|
-
//# sourceMappingURL=ERPUIProvider-
|
|
125
|
+
//# sourceMappingURL=ERPUIProvider-CvtpzB55.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ERPUIProvider-CvtpzB55.js","sources":["../../src/components/providers/ERPUIProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode, Suspense } from 'react';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { ThemeProvider } from '@mui/material';\nimport { CssBaseline } from '@mui/material';\nimport { SnackbarProvider } from 'notistack';\nimport { BrowserRouter } from 'react-router-dom';\nimport { createLibraryStore, ApiClientConfig } from '../../redux';\nimport { createLightTheme, createDarkTheme, Color } from '../../theme';\nimport { AuthProvider } from '@erpsquad/common/runtime';\nimport { LanguageProvider } from '@erpsquad/common/runtime';\nimport { PageProvider } from '@erpsquad/common/runtime';\nimport { PermissionsProvider } from '@erpsquad/common/runtime';\nimport MUIThemeWrapper from '../../theme/themeWrapper';\nimport Loader from '../loader';\nimport useAppTranslations from '../../hooks/use-translations';\nimport '../../utils/i18n';\nimport { initializeApiConfig, ApiConfig } from '../../utils/api-config';\nimport { initializeApiBaseUrls, extendApiConfigurations } from '../../utils/api';\nimport { setModuleRoutes } from '../../utils/module-routes-config';\nimport { useSnackbarRef } from '../../hooks/apiHelper';\n\nconst SnackbarRefTracker: React.FC = () => {\n useSnackbarRef();\n return null;\n};\n\n\n// Context for library configuration\ninterface ERPUIContextValue {\n useRedux: boolean;\n apiClient?: ApiClientConfig;\n theme?: any;\n themeMode: 'light' | 'dark';\n direction: 'ltr' | 'rtl';\n primaryColor?: Color;\n}\n\nconst ERPUIContext = createContext<ERPUIContextValue>({\n useRedux: false,\n themeMode: 'light',\n direction: 'ltr',\n});\n\nexport const useERPUI = () => useContext(ERPUIContext);\n\n// Provider props interface\nexport interface ERPUIProviderProps {\n children: ReactNode;\n\n // Redux configuration\n useRedux?: boolean;\n reduxStore?: any;\n apiClient?: ApiClientConfig;\n additionalReducers?: Record<string, any>;\n\n // Theme configuration\n theme?: any;\n themeMode?: 'light' | 'dark';\n primaryColor?: Color;\n direction?: 'ltr' | 'rtl';\n\n // Context providers configuration\n enableAuth?: boolean;\n enableLanguage?: boolean;\n enablePages?: boolean;\n enablePermissions?: boolean;\n enableRouter?: boolean;\n enableSnackbar?: boolean;\n\n // Other configuration\n enableCssBaseline?: boolean;\n snackbarConfig?: {\n maxSnack?: number;\n anchorOrigin?: {\n vertical: 'top' | 'bottom';\n horizontal: 'left' | 'center' | 'right';\n };\n autoHideDuration?: number;\n };\n\n // API configuration\n apiConfig?: ApiConfig;\n\n // Additional API configurations to extend the shared apiConfigurations map\n additionalApiConfigurations?: Record<string, any>;\n\n // Module routes override — allows MFE apps to inject their own full route set\n // so the header module dropdown can match routes correctly.\n // Example: { hrms: Object.values(PathnameHrms).map(p => Pathname.DASHBOARD_HRMS + p) }\n moduleRoutes?: Record<string, string[]>;\n\n // Route maps\n routeToColumnsMap?: Record<string, any>;\n routeToResourceMap?: Record<string, any>;\n publicRoutes?: string[]; // Optional prop to allow customization of public routes in AuthProvider\n}\n\nexport const ERPUIProvider: React.FC<ERPUIProviderProps> = ({\n children,\n\n // Redux props\n useRedux = false,\n reduxStore,\n apiClient,\n additionalReducers = {},\n\n // Theme props\n theme: customTheme,\n themeMode = 'light',\n primaryColor,\n direction = 'ltr',\n\n // Context providers configuration\n enableAuth = true,\n enableLanguage = true,\n enablePages = true,\n enablePermissions = true,\n enableRouter = false, // Default false since consuming app usually provides router\n enableSnackbar = true,\n\n // Other props\n enableCssBaseline = true,\n snackbarConfig = {\n maxSnack: 3,\n anchorOrigin: { vertical: 'top', horizontal: 'right' },\n autoHideDuration: 5000,\n },\n\n // API configuration\n apiConfig: providedApiConfig,\n additionalApiConfigurations,\n moduleRoutes,\n routeToColumnsMap,\n routeToResourceMap,\n publicRoutes = [], // Default empty array for public routes in AuthProvider \n}) => {\n\n // Initialize API configuration synchronously before first render\n // This prevents \"API configuration not initialized\" errors when components\n // try to use the API during initial render\n const isInitialized = React.useRef(false);\n\n if (providedApiConfig && !isInitialized.current) {\n try {\n initializeApiConfig(providedApiConfig);\n initializeApiBaseUrls();\n if (additionalApiConfigurations) {\n extendApiConfigurations(additionalApiConfigurations);\n }\n // Inject MFE-provided module routes so the header can resolve modules\n if (moduleRoutes) {\n setModuleRoutes(moduleRoutes);\n }\n isInitialized.current = true;\n } catch (error) {\n console.error('Failed to initialize API configuration:', error);\n }\n }\n // const { isLoading } = useAppTranslations();\n // if (isLoading) {\n // return <Loader />;\n // }\n // Create or use provided Redux store\n const store = React.useMemo(() => {\n if (!useRedux) return null;\n\n if (reduxStore) {\n return reduxStore;\n }\n\n return createLibraryStore(additionalReducers, apiClient);\n }, [useRedux, reduxStore, additionalReducers, apiClient]);\n\n // Create theme\n const theme = React.useMemo(() => {\n if (customTheme) {\n return customTheme;\n }\n\n const themeCreator = themeMode === 'dark' ? createDarkTheme : createLightTheme;\n const { theme: generatedTheme } = themeCreator(primaryColor, direction);\n return generatedTheme;\n }, [customTheme, themeMode, primaryColor, direction]);\n\n // Context value\n const contextValue: ERPUIContextValue = {\n useRedux,\n apiClient,\n theme,\n themeMode,\n direction,\n primaryColor,\n };\n\n // Build provider tree from inside out\n let content = (\n <ERPUIContext.Provider value={contextValue}>\n {/* <ThemeProvider theme={theme}>\n {enableCssBaseline && <CssBaseline />} */}\n {/* <Suspense fallback={<Loader />}> */}\n <MUIThemeWrapper theme={theme} enableCssBaseline={enableCssBaseline}>\n {children}\n </MUIThemeWrapper>\n {/* </Suspense> */}\n {/* </ThemeProvider> */}\n </ERPUIContext.Provider>\n );\n\n // Wrap with snackbar provider if enabled\n if (enableSnackbar) {\n content = (\n <SnackbarProvider {...snackbarConfig}>\n <SnackbarRefTracker />\n {content}\n </SnackbarProvider>\n );\n }\n\n // Wrap with page provider if enabled\n // if (enablePages) {\n // content = (\n // <PageProvider routeToColumnsMap={routeToColumnsMap} routeToResourceMap={routeToResourceMap}>\n // {content}\n // </PageProvider>\n // );\n // }\n\n // Wrap with permissions provider if enabled\n if (enablePermissions) {\n content = (\n <PermissionsProvider>\n {content}\n </PermissionsProvider>\n );\n }\n\n // Wrap with language provider if enabled\n if (enableLanguage) {\n content = (\n <LanguageProvider>\n {content}\n </LanguageProvider>\n );\n }\n\n\n // Wrap with Redux provider if enabled\n if (useRedux && store) {\n content = (\n <ReduxProvider store={store}>\n {content}\n </ReduxProvider>\n );\n }\n\n // Wrap with auth provider if enabled\n if (enableAuth) {\n content = (\n <AuthProvider publicRoutes={publicRoutes}>\n {content}\n </AuthProvider>\n );\n }\n\n // Wrap with router if enabled\n if (enableRouter) {\n content = (\n <BrowserRouter>\n {content}\n </BrowserRouter>\n );\n }\n\n return content;\n};\n\nexport default ERPUIProvider;"],"names":["useSnackbarRef","createContext","useContext","initializeApiConfig","initializeApiBaseUrls","extendApiConfigurations","setModuleRoutes","store","createLibraryStore","createDarkTheme","createLightTheme","jsx","MUIThemeWrapper","jsxs","SnackbarProvider","PermissionsProvider","LanguageProvider","ReduxProvider","AuthProvider","BrowserRouter"],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { A as ActionBar } from "./action-bar-
|
|
3
|
-
import { M as MaterialTable } from "./searchable-select-
|
|
2
|
+
import { A as ActionBar } from "./action-bar-8_hLL6Fj.esm.js";
|
|
3
|
+
import { M as MaterialTable } from "./searchable-select-KiyKuZ0F.esm.js";
|
|
4
4
|
import "lodash";
|
|
5
5
|
import { T as Typography } from "./typography-CG_A0iOJ.esm.js";
|
|
6
6
|
import { v as viewTypes } from "./action-bar-BsXTcYpL.esm.js";
|
|
7
7
|
import { useState, useMemo, useCallback, useEffect } from "react";
|
|
8
8
|
import { useNavigate, useLocation } from "react-router-dom";
|
|
9
9
|
import { useAuth } from "@erpsquad/common/runtime";
|
|
10
|
-
import { F as Footer } from "./footer-
|
|
10
|
+
import { F as Footer } from "./footer-BZd384Fp.esm.js";
|
|
11
11
|
import { Box } from "@mui/material";
|
|
12
|
-
import { G as GridCard } from "./grid-view-
|
|
13
|
-
import { u as useAppTranslations } from "./use-translations-
|
|
12
|
+
import { G as GridCard } from "./grid-view-KQaUf3TO.esm.js";
|
|
13
|
+
import { u as useAppTranslations } from "./use-translations-9SOfiPhh.esm.js";
|
|
14
14
|
import { useTranslation } from "react-i18next";
|
|
15
|
-
import { u as useApi } from "./useApi-
|
|
15
|
+
import { u as useApi } from "./useApi-DgCJzWyy.esm.js";
|
|
16
16
|
import { q as getV1FormBuilder } from "./api-DBmWILBN.esm.js";
|
|
17
|
-
import { ab as getToken } from "./api-
|
|
17
|
+
import { ab as getToken } from "./api-BZ_53D-T.esm.js";
|
|
18
18
|
const INITIAL_ORDER = ["name", "fields", "noOfCustomFields", "customFields"];
|
|
19
19
|
const DEFAULT_ACTION_BAR_DATA = [{ label: "Table", position: 0 }];
|
|
20
20
|
const CUSTOM_FIELD_DISPLAY_LIMIT = 5;
|
|
@@ -24,7 +24,6 @@ const Forms = ({ config }) => {
|
|
|
24
24
|
const navigate = useNavigate();
|
|
25
25
|
const location = useLocation();
|
|
26
26
|
const { user } = useAuth();
|
|
27
|
-
console.log("user.........", user);
|
|
28
27
|
const { callApi } = useApi();
|
|
29
28
|
const [formBuilder, setFormBuilder] = useState({
|
|
30
29
|
rows: [],
|
|
@@ -56,7 +55,6 @@ const Forms = ({ config }) => {
|
|
|
56
55
|
() => modulesConfig[currentModule] || { filterName: "", redirectionPath: "" },
|
|
57
56
|
[currentModule, modulesConfig]
|
|
58
57
|
);
|
|
59
|
-
console.log("external moduleConfig..........", moduleConfig);
|
|
60
58
|
const navigationPath = useMemo(
|
|
61
59
|
() => `/dashboard/${currentModule}${moduleConfig.redirectionPath}`,
|
|
62
60
|
[currentModule, moduleConfig.redirectionPath]
|
|
@@ -179,7 +177,6 @@ const Forms = ({ config }) => {
|
|
|
179
177
|
], []);
|
|
180
178
|
const fetchForms = useCallback(async () => {
|
|
181
179
|
var _a, _b, _c;
|
|
182
|
-
console.log("moduleConfig.............", moduleConfig);
|
|
183
180
|
if (!moduleConfig.filterName || !(user == null ? void 0 : user.company_id)) return;
|
|
184
181
|
const sort = sorting == null ? void 0 : sorting[0];
|
|
185
182
|
const params = {
|
|
@@ -191,13 +188,11 @@ const Forms = ({ config }) => {
|
|
|
191
188
|
...getToken(),
|
|
192
189
|
"x-timezone": ((_a = getToken()["x-timezone"]) == null ? void 0 : _a.toString()) || ""
|
|
193
190
|
};
|
|
194
|
-
console.log("params..............", params);
|
|
195
191
|
setFormBuilder((prev) => ({ ...prev, isLoading: true }));
|
|
196
192
|
const response = await getV1FormBuilder({
|
|
197
193
|
...params,
|
|
198
194
|
...getToken
|
|
199
195
|
});
|
|
200
|
-
console.log("response........", response);
|
|
201
196
|
setFormBuilder({
|
|
202
197
|
rows: (_b = response == null ? void 0 : response.data) == null ? void 0 : _b.form,
|
|
203
198
|
isLoading: false,
|
|
@@ -298,4 +293,4 @@ const Forms = ({ config }) => {
|
|
|
298
293
|
export {
|
|
299
294
|
Forms as F
|
|
300
295
|
};
|
|
301
|
-
//# sourceMappingURL=FORMS-
|
|
296
|
+
//# sourceMappingURL=FORMS-BZmVQEAH.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FORMS-BZmVQEAH.esm.js","sources":["../../src/components/custom-forms/FORMS.tsx"],"sourcesContent":["import { ActionBar } from '../action-bar';\nimport { MaterialTable } from '../material-table';\nimport { Typography } from '../typography';\nimport { viewTypes } from '../../constants';\nimport { MRT_ColumnOrderState, MRT_SortingState } from \"material-react-table\";\nimport { useState, useEffect, useMemo, useCallback } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport \"./custom-forms.scss\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { Footer } from '../footer/footer';\nimport { IPaginationModel } from '../../types';\nimport { Box } from \"@mui/material\";\nimport GridCard from \"./grid-view/grid-view.js\";\nimport { useAppTranslations } from \"../../hooks/use-translations\";\nimport { useTranslation } from 'react-i18next';\nimport useApi from '../../hooks/useApi';\nimport { getV1FormBuilder, setBaseUrl as setSystemBaseUrl } from '../../api-client/api.system-feature/api';\nimport { getToken } from '../../utils/common';\n\ninterface ActionData {\n label: string;\n position: number;\n}\n\ninterface ModuleConfig {\n filterName: string;\n redirectionPath: string;\n}\n\n\n\nconst INITIAL_ORDER = [\"name\", \"fields\", \"noOfCustomFields\", \"customFields\"];\nconst DEFAULT_ACTION_BAR_DATA = [{ label: 'Table', position: 0 }];\nconst CUSTOM_FIELD_DISPLAY_LIMIT = 5;\n\ninterface FormBuilderState {\n rows: any[];\n isLoading: boolean;\n paginationModel: {\n pageNo: number;\n limit: number;\n totalCount: number;\n };\n}\n\nconst Forms = ({ config }: { config?: any }) => {\n const { t } = useTranslation();\n useAppTranslations(); // Load translations for current module\n const navigate = useNavigate();\n const location = useLocation();\n const { user } = useAuth();\n const { callApi } = useApi();\n\n const [formBuilder, setFormBuilder] = useState<FormBuilderState>({\n rows: [],\n isLoading: false,\n paginationModel: {\n pageNo: 1,\n limit: 10,\n totalCount: 0\n }\n });\n\n // Initialize state with proper defaults and memoization\n const [actionBarData, setActionBarData] = useState<ActionData[]>(() => {\n const formView = localStorage.getItem(\"form-view\");\n return formView ? JSON.parse(formView) : DEFAULT_ACTION_BAR_DATA;\n });\n\n const [search, setSearch] = useState<string>(\"\");\n const [actionBarActiveTab, setActionBarActiveTab] = useState<string>(() =>\n actionBarData?.[0]?.label || viewTypes.TABLE\n );\n const [columnOrder, setColumnOrder] = useState(INITIAL_ORDER);\n const [sorting, setSorting] = useState<MRT_SortingState>([]);\n\n // Memoized computed values to prevent unnecessary recalculations\n const currentModule = useMemo(() => location.pathname.split('/')[2], [location.pathname]);\n\n const modulesConfig = useMemo(() => ({\n ...config\n }), [config]);\n\n const moduleConfig = useMemo(() =>\n modulesConfig[currentModule] || { filterName: '', redirectionPath: '' },\n [currentModule, modulesConfig]\n );\n\n const navigationPath = useMemo(() =>\n `/dashboard/${currentModule}${moduleConfig.redirectionPath}`,\n [currentModule, moduleConfig.redirectionPath]\n );\n\n const filters = useMemo(() =>\n `(company_id.eq=${user?.company_id}&module.eq=${moduleConfig.filterName})`,\n [user?.company_id, moduleConfig.filterName]\n );\n\n const paginationData = useMemo(() => {\n const { pageNo, limit, totalCount } = formBuilder.paginationModel;\n const total = limit ? Math.ceil(totalCount / limit) : 0;\n const skip = limit * (pageNo - 1);\n return { total, skip, pageNo, limit };\n }, [formBuilder.paginationModel]);\n\n // Utility function moved outside render to prevent recreation\n const formatText = useCallback((key: string): string => {\n return key\n ? key\n .split(/[:_-]/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')\n : key;\n }, []);\n\n // Memoized event handlers to prevent child re-renders\n const handleColumnOrdering = useCallback((colOrder: MRT_ColumnOrderState) => {\n setColumnOrder(colOrder.slice(1));\n }, []);\n\n const handlePaginationModel = useCallback((model: IPaginationModel) => {\n setFormBuilder(prev => ({\n ...prev,\n paginationModel: {\n ...model,\n totalCount: prev.paginationModel.totalCount\n }\n }));\n }, []);\n\n const handleSearch = useCallback((searchValue: string) => {\n setSearch(searchValue);\n }, []);\n\n const handleRowClick = useCallback((rowData: any) => {\n navigate(navigationPath, {\n state: rowData,\n });\n }, [navigate, navigationPath]);\n\n // Memoized columns definition to prevent recreation on each render\n const columns = useMemo(() => [\n {\n accessorKey: \"name\",\n header: \"Form Name\",\n visible: true,\n Cell: ({ row }: any) =>\n row?.original?.name ? (\n <div\n onClick={() => handleRowClick(row.original)}\n style={{ cursor: 'pointer' }}\n >\n {formatText(row.original.name)}\n </div>\n ) : (\n \"-\"\n ),\n },\n {\n accessorKey: \"fields.length\",\n header: \"No. of Fields\",\n visible: true,\n size: 150\n },\n {\n accessorKey: \"fields\",\n header: \"No. of custom fields\",\n visible: true,\n size: 80,\n Cell: ({ row }: any) =>\n row?.original?.fields ? (\n <div>\n {\n row.original.fields.filter(\n (field: { is_system_field: boolean }) => !field.is_system_field,\n ).length\n }\n </div>\n ) : (\n \"-\"\n ),\n },\n {\n accessorKey: \"fields\",\n header: \"Custom Fields\",\n visible: true,\n Cell: ({ row }: any) => {\n const fields = row?.original?.fields?.filter(\n (field: { is_system_field: boolean; label: string }) =>\n !field?.is_system_field && field?.label,\n ) || [];\n\n if (!fields.length) return '-';\n\n return (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5, flexWrap: 'wrap', p: 0.5 }}>\n {fields.slice(0, CUSTOM_FIELD_DISPLAY_LIMIT).map((item: any, index: number) => (\n <Typography\n key={`${item.label}-${index}`}\n type=\"s5\"\n weight=\"medium\"\n className=\"forms--CustomField\"\n >\n {item?.label?.includes(\".\") ? t(item.label) : item.label}\n </Typography>\n ))}\n {fields.length > CUSTOM_FIELD_DISPLAY_LIMIT && (\n <Typography\n type=\"s5\"\n weight=\"medium\"\n className=\"forms--CustomField\"\n >\n +{fields.length - CUSTOM_FIELD_DISPLAY_LIMIT} more\n </Typography>\n )}\n </Box>\n );\n }\n },\n ], [formatText, handleRowClick, t]);\n\n // Memoized footer pages to prevent recreation\n const footerPages = useMemo(() => [\n {\n name: 'Default',\n _id: 1,\n data: []\n }\n ], []);\n\n\n const fetchForms = useCallback(async () => {\n if (!moduleConfig.filterName || !user?.company_id) return;\n\n const sort = sorting?.[0];\n const params = {\n skip: paginationData.skip,\n limit: paginationData.limit,\n search,\n filters,\n ...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n ...getToken(),\n 'x-timezone': getToken()['x-timezone']?.toString() || ''\n };\n\n setFormBuilder(prev => ({ ...prev, isLoading: true }));\n const response = await getV1FormBuilder({\n ...params,\n ...getToken\n })\n setFormBuilder({\n rows: response?.data?.form,\n isLoading: false,\n paginationModel: {\n ...formBuilder.paginationModel,\n ...response?.data?.pagination\n }\n });\n\n\n }, [filters,\n paginationData.skip,\n paginationData.limit,\n sorting,\n search,\n moduleConfig.filterName,\n user?.company_id,\n ])\n // Effect for fetching data - optimized with proper dependencies\n useEffect(() => {\n fetchForms()\n }, [\n fetchForms\n ]);\n\n // Effect for setting active tab - only run when actionBarData changes\n useEffect(() => {\n if (actionBarData?.length && actionBarData[0].label !== actionBarActiveTab) {\n setActionBarActiveTab(actionBarData[0].label);\n }\n }, [actionBarData]);\n\n // Effect for localStorage - debounced to prevent excessive writes\n useEffect(() => {\n if (actionBarData?.length) {\n const timeoutId = setTimeout(() => {\n localStorage.setItem(\"form-view\", JSON.stringify(actionBarData));\n }, 300);\n\n return () => clearTimeout(timeoutId);\n }\n }, [actionBarData]);\n\n return (\n <section className=\"forms\">\n <ActionBar\n title=\"Form\"\n button={false}\n data={actionBarData}\n setData={setActionBarData}\n active={actionBarActiveTab}\n setActive={(tab) => {\n setActionBarActiveTab(tab);\n }}\n handleSearch={handleSearch}\n showFilter={false}\n />\n\n {actionBarActiveTab === viewTypes.TABLE && (\n <MaterialTable\n enablePagination={false}\n columnOrder={[\"mrt-row-select\", ...columnOrder]}\n handleColumnOrdering={handleColumnOrdering}\n rows={formBuilder.rows}\n columns={columns}\n totalPages={1}\n paginationModel={{ pageNo: 1, limit: 10 }}\n enableEditing={false}\n states={{ sorting: sorting || [] }}\n onSortingChange={setSorting}\n disableDefaultActionColumn\n getSelectedData={() => { }}\n />\n )}\n\n {actionBarActiveTab === viewTypes.GRID && (\n <GridCard data={formBuilder.rows} config={config} />\n )}\n\n <Footer\n pages={footerPages}\n setPages={() => { }}\n currentPage={1}\n setCurrentPage={() => { }}\n total={paginationData.total}\n paginationModel={{\n pageNo: formBuilder.paginationModel.pageNo,\n limit: formBuilder.paginationModel.limit\n }}\n handlePaginationModel={handlePaginationModel}\n sharedPages={[]}\n resource=\"\"\n savePageConfiguration={() => { }}\n handlePageDelete={() => { }}\n enablePages={false}\n isPaginationDisplayed={true}\n />\n </section>\n );\n};\n\nexport default Forms;"],"names":["_a"],"mappings":"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"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
|
-
const actionBar$1 = require("./action-bar-
|
|
4
|
-
const searchableSelect = require("./searchable-select-
|
|
3
|
+
const actionBar$1 = require("./action-bar-D85DhpkM.js");
|
|
4
|
+
const searchableSelect = require("./searchable-select-CUfH9dqk.js");
|
|
5
5
|
require("lodash");
|
|
6
6
|
const typography = require("./typography-Bqfr1Ksf.js");
|
|
7
7
|
const actionBar = require("./action-bar-DMv6sqDP.js");
|
|
8
8
|
const React = require("react");
|
|
9
9
|
const reactRouterDom = require("react-router-dom");
|
|
10
10
|
const runtime = require("@erpsquad/common/runtime");
|
|
11
|
-
const footer = require("./footer-
|
|
11
|
+
const footer = require("./footer-ByS6ImQz.js");
|
|
12
12
|
const material = require("@mui/material");
|
|
13
|
-
const gridView = require("./grid-view-
|
|
14
|
-
const useTranslations = require("./use-translations-
|
|
13
|
+
const gridView = require("./grid-view-DL_ZdGpf.js");
|
|
14
|
+
const useTranslations = require("./use-translations-BkS9g8l7.js");
|
|
15
15
|
const reactI18next = require("react-i18next");
|
|
16
|
-
const useApi = require("./useApi-
|
|
16
|
+
const useApi = require("./useApi-DRf6TvNl.js");
|
|
17
17
|
const api$1 = require("./api-D3c7E20L.js");
|
|
18
|
-
const api = require("./api-
|
|
18
|
+
const api = require("./api-2IPIlO_n.js");
|
|
19
19
|
const INITIAL_ORDER = ["name", "fields", "noOfCustomFields", "customFields"];
|
|
20
20
|
const DEFAULT_ACTION_BAR_DATA = [{ label: "Table", position: 0 }];
|
|
21
21
|
const CUSTOM_FIELD_DISPLAY_LIMIT = 5;
|
|
@@ -25,7 +25,6 @@ const Forms = ({ config }) => {
|
|
|
25
25
|
const navigate = reactRouterDom.useNavigate();
|
|
26
26
|
const location = reactRouterDom.useLocation();
|
|
27
27
|
const { user } = runtime.useAuth();
|
|
28
|
-
console.log("user.........", user);
|
|
29
28
|
const { callApi } = useApi.useApi();
|
|
30
29
|
const [formBuilder, setFormBuilder] = React.useState({
|
|
31
30
|
rows: [],
|
|
@@ -57,7 +56,6 @@ const Forms = ({ config }) => {
|
|
|
57
56
|
() => modulesConfig[currentModule] || { filterName: "", redirectionPath: "" },
|
|
58
57
|
[currentModule, modulesConfig]
|
|
59
58
|
);
|
|
60
|
-
console.log("external moduleConfig..........", moduleConfig);
|
|
61
59
|
const navigationPath = React.useMemo(
|
|
62
60
|
() => `/dashboard/${currentModule}${moduleConfig.redirectionPath}`,
|
|
63
61
|
[currentModule, moduleConfig.redirectionPath]
|
|
@@ -180,7 +178,6 @@ const Forms = ({ config }) => {
|
|
|
180
178
|
], []);
|
|
181
179
|
const fetchForms = React.useCallback(async () => {
|
|
182
180
|
var _a, _b, _c;
|
|
183
|
-
console.log("moduleConfig.............", moduleConfig);
|
|
184
181
|
if (!moduleConfig.filterName || !(user == null ? void 0 : user.company_id)) return;
|
|
185
182
|
const sort = sorting == null ? void 0 : sorting[0];
|
|
186
183
|
const params = {
|
|
@@ -192,13 +189,11 @@ const Forms = ({ config }) => {
|
|
|
192
189
|
...api.getToken(),
|
|
193
190
|
"x-timezone": ((_a = api.getToken()["x-timezone"]) == null ? void 0 : _a.toString()) || ""
|
|
194
191
|
};
|
|
195
|
-
console.log("params..............", params);
|
|
196
192
|
setFormBuilder((prev) => ({ ...prev, isLoading: true }));
|
|
197
193
|
const response = await api$1.getV1FormBuilder({
|
|
198
194
|
...params,
|
|
199
195
|
...api.getToken
|
|
200
196
|
});
|
|
201
|
-
console.log("response........", response);
|
|
202
197
|
setFormBuilder({
|
|
203
198
|
rows: (_b = response == null ? void 0 : response.data) == null ? void 0 : _b.form,
|
|
204
199
|
isLoading: false,
|
|
@@ -297,4 +292,4 @@ const Forms = ({ config }) => {
|
|
|
297
292
|
] });
|
|
298
293
|
};
|
|
299
294
|
exports.Forms = Forms;
|
|
300
|
-
//# sourceMappingURL=FORMS-
|
|
295
|
+
//# sourceMappingURL=FORMS-oc5wIeZt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FORMS-oc5wIeZt.js","sources":["../../src/components/custom-forms/FORMS.tsx"],"sourcesContent":["import { ActionBar } from '../action-bar';\nimport { MaterialTable } from '../material-table';\nimport { Typography } from '../typography';\nimport { viewTypes } from '../../constants';\nimport { MRT_ColumnOrderState, MRT_SortingState } from \"material-react-table\";\nimport { useState, useEffect, useMemo, useCallback } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport \"./custom-forms.scss\";\nimport { useAuth } from '@erpsquad/common/runtime';\nimport { Footer } from '../footer/footer';\nimport { IPaginationModel } from '../../types';\nimport { Box } from \"@mui/material\";\nimport GridCard from \"./grid-view/grid-view.js\";\nimport { useAppTranslations } from \"../../hooks/use-translations\";\nimport { useTranslation } from 'react-i18next';\nimport useApi from '../../hooks/useApi';\nimport { getV1FormBuilder, setBaseUrl as setSystemBaseUrl } from '../../api-client/api.system-feature/api';\nimport { getToken } from '../../utils/common';\n\ninterface ActionData {\n label: string;\n position: number;\n}\n\ninterface ModuleConfig {\n filterName: string;\n redirectionPath: string;\n}\n\n\n\nconst INITIAL_ORDER = [\"name\", \"fields\", \"noOfCustomFields\", \"customFields\"];\nconst DEFAULT_ACTION_BAR_DATA = [{ label: 'Table', position: 0 }];\nconst CUSTOM_FIELD_DISPLAY_LIMIT = 5;\n\ninterface FormBuilderState {\n rows: any[];\n isLoading: boolean;\n paginationModel: {\n pageNo: number;\n limit: number;\n totalCount: number;\n };\n}\n\nconst Forms = ({ config }: { config?: any }) => {\n const { t } = useTranslation();\n useAppTranslations(); // Load translations for current module\n const navigate = useNavigate();\n const location = useLocation();\n const { user } = useAuth();\n const { callApi } = useApi();\n\n const [formBuilder, setFormBuilder] = useState<FormBuilderState>({\n rows: [],\n isLoading: false,\n paginationModel: {\n pageNo: 1,\n limit: 10,\n totalCount: 0\n }\n });\n\n // Initialize state with proper defaults and memoization\n const [actionBarData, setActionBarData] = useState<ActionData[]>(() => {\n const formView = localStorage.getItem(\"form-view\");\n return formView ? JSON.parse(formView) : DEFAULT_ACTION_BAR_DATA;\n });\n\n const [search, setSearch] = useState<string>(\"\");\n const [actionBarActiveTab, setActionBarActiveTab] = useState<string>(() =>\n actionBarData?.[0]?.label || viewTypes.TABLE\n );\n const [columnOrder, setColumnOrder] = useState(INITIAL_ORDER);\n const [sorting, setSorting] = useState<MRT_SortingState>([]);\n\n // Memoized computed values to prevent unnecessary recalculations\n const currentModule = useMemo(() => location.pathname.split('/')[2], [location.pathname]);\n\n const modulesConfig = useMemo(() => ({\n ...config\n }), [config]);\n\n const moduleConfig = useMemo(() =>\n modulesConfig[currentModule] || { filterName: '', redirectionPath: '' },\n [currentModule, modulesConfig]\n );\n\n const navigationPath = useMemo(() =>\n `/dashboard/${currentModule}${moduleConfig.redirectionPath}`,\n [currentModule, moduleConfig.redirectionPath]\n );\n\n const filters = useMemo(() =>\n `(company_id.eq=${user?.company_id}&module.eq=${moduleConfig.filterName})`,\n [user?.company_id, moduleConfig.filterName]\n );\n\n const paginationData = useMemo(() => {\n const { pageNo, limit, totalCount } = formBuilder.paginationModel;\n const total = limit ? Math.ceil(totalCount / limit) : 0;\n const skip = limit * (pageNo - 1);\n return { total, skip, pageNo, limit };\n }, [formBuilder.paginationModel]);\n\n // Utility function moved outside render to prevent recreation\n const formatText = useCallback((key: string): string => {\n return key\n ? key\n .split(/[:_-]/)\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ')\n : key;\n }, []);\n\n // Memoized event handlers to prevent child re-renders\n const handleColumnOrdering = useCallback((colOrder: MRT_ColumnOrderState) => {\n setColumnOrder(colOrder.slice(1));\n }, []);\n\n const handlePaginationModel = useCallback((model: IPaginationModel) => {\n setFormBuilder(prev => ({\n ...prev,\n paginationModel: {\n ...model,\n totalCount: prev.paginationModel.totalCount\n }\n }));\n }, []);\n\n const handleSearch = useCallback((searchValue: string) => {\n setSearch(searchValue);\n }, []);\n\n const handleRowClick = useCallback((rowData: any) => {\n navigate(navigationPath, {\n state: rowData,\n });\n }, [navigate, navigationPath]);\n\n // Memoized columns definition to prevent recreation on each render\n const columns = useMemo(() => [\n {\n accessorKey: \"name\",\n header: \"Form Name\",\n visible: true,\n Cell: ({ row }: any) =>\n row?.original?.name ? (\n <div\n onClick={() => handleRowClick(row.original)}\n style={{ cursor: 'pointer' }}\n >\n {formatText(row.original.name)}\n </div>\n ) : (\n \"-\"\n ),\n },\n {\n accessorKey: \"fields.length\",\n header: \"No. of Fields\",\n visible: true,\n size: 150\n },\n {\n accessorKey: \"fields\",\n header: \"No. of custom fields\",\n visible: true,\n size: 80,\n Cell: ({ row }: any) =>\n row?.original?.fields ? (\n <div>\n {\n row.original.fields.filter(\n (field: { is_system_field: boolean }) => !field.is_system_field,\n ).length\n }\n </div>\n ) : (\n \"-\"\n ),\n },\n {\n accessorKey: \"fields\",\n header: \"Custom Fields\",\n visible: true,\n Cell: ({ row }: any) => {\n const fields = row?.original?.fields?.filter(\n (field: { is_system_field: boolean; label: string }) =>\n !field?.is_system_field && field?.label,\n ) || [];\n\n if (!fields.length) return '-';\n\n return (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5, flexWrap: 'wrap', p: 0.5 }}>\n {fields.slice(0, CUSTOM_FIELD_DISPLAY_LIMIT).map((item: any, index: number) => (\n <Typography\n key={`${item.label}-${index}`}\n type=\"s5\"\n weight=\"medium\"\n className=\"forms--CustomField\"\n >\n {item?.label?.includes(\".\") ? t(item.label) : item.label}\n </Typography>\n ))}\n {fields.length > CUSTOM_FIELD_DISPLAY_LIMIT && (\n <Typography\n type=\"s5\"\n weight=\"medium\"\n className=\"forms--CustomField\"\n >\n +{fields.length - CUSTOM_FIELD_DISPLAY_LIMIT} more\n </Typography>\n )}\n </Box>\n );\n }\n },\n ], [formatText, handleRowClick, t]);\n\n // Memoized footer pages to prevent recreation\n const footerPages = useMemo(() => [\n {\n name: 'Default',\n _id: 1,\n data: []\n }\n ], []);\n\n\n const fetchForms = useCallback(async () => {\n if (!moduleConfig.filterName || !user?.company_id) return;\n\n const sort = sorting?.[0];\n const params = {\n skip: paginationData.skip,\n limit: paginationData.limit,\n search,\n filters,\n ...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n ...getToken(),\n 'x-timezone': getToken()['x-timezone']?.toString() || ''\n };\n\n setFormBuilder(prev => ({ ...prev, isLoading: true }));\n const response = await getV1FormBuilder({\n ...params,\n ...getToken\n })\n setFormBuilder({\n rows: response?.data?.form,\n isLoading: false,\n paginationModel: {\n ...formBuilder.paginationModel,\n ...response?.data?.pagination\n }\n });\n\n\n }, [filters,\n paginationData.skip,\n paginationData.limit,\n sorting,\n search,\n moduleConfig.filterName,\n user?.company_id,\n ])\n // Effect for fetching data - optimized with proper dependencies\n useEffect(() => {\n fetchForms()\n }, [\n fetchForms\n ]);\n\n // Effect for setting active tab - only run when actionBarData changes\n useEffect(() => {\n if (actionBarData?.length && actionBarData[0].label !== actionBarActiveTab) {\n setActionBarActiveTab(actionBarData[0].label);\n }\n }, [actionBarData]);\n\n // Effect for localStorage - debounced to prevent excessive writes\n useEffect(() => {\n if (actionBarData?.length) {\n const timeoutId = setTimeout(() => {\n localStorage.setItem(\"form-view\", JSON.stringify(actionBarData));\n }, 300);\n\n return () => clearTimeout(timeoutId);\n }\n }, [actionBarData]);\n\n return (\n <section className=\"forms\">\n <ActionBar\n title=\"Form\"\n button={false}\n data={actionBarData}\n setData={setActionBarData}\n active={actionBarActiveTab}\n setActive={(tab) => {\n setActionBarActiveTab(tab);\n }}\n handleSearch={handleSearch}\n showFilter={false}\n />\n\n {actionBarActiveTab === viewTypes.TABLE && (\n <MaterialTable\n enablePagination={false}\n columnOrder={[\"mrt-row-select\", ...columnOrder]}\n handleColumnOrdering={handleColumnOrdering}\n rows={formBuilder.rows}\n columns={columns}\n totalPages={1}\n paginationModel={{ pageNo: 1, limit: 10 }}\n enableEditing={false}\n states={{ sorting: sorting || [] }}\n onSortingChange={setSorting}\n disableDefaultActionColumn\n getSelectedData={() => { }}\n />\n )}\n\n {actionBarActiveTab === viewTypes.GRID && (\n <GridCard data={formBuilder.rows} config={config} />\n )}\n\n <Footer\n pages={footerPages}\n setPages={() => { }}\n currentPage={1}\n setCurrentPage={() => { }}\n total={paginationData.total}\n paginationModel={{\n pageNo: formBuilder.paginationModel.pageNo,\n limit: formBuilder.paginationModel.limit\n }}\n handlePaginationModel={handlePaginationModel}\n sharedPages={[]}\n resource=\"\"\n savePageConfiguration={() => { }}\n handlePageDelete={() => { }}\n enablePages={false}\n isPaginationDisplayed={true}\n />\n </section>\n );\n};\n\nexport default Forms;"],"names":["useTranslation","useAppTranslations","useNavigate","useLocation","useAuth","useApi","useState","viewTypes","useMemo","useCallback","jsx","jsxs","Box","Typography","_a","getToken","getV1FormBuilder","useEffect","ActionBar","MaterialTable","GridCard","Footer"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,MAAM,gBAAgB,CAAC,QAAQ,UAAU,oBAAoB,cAAc;AAC3E,MAAM,0BAA0B,CAAC,EAAE,OAAO,SAAS,UAAU,GAAG;AAChE,MAAM,6BAA6B;AAYnC,MAAM,QAAQ,CAAC,EAAE,aAA+B;AAC9C,QAAM,EAAE,EAAA,IAAMA,4BAAA;AACdC,qCAAA;AACA,QAAM,WAAWC,eAAAA,YAAA;AACjB,QAAM,WAAWC,eAAAA,YAAA;AACjB,QAAM,EAAE,KAAA,IAASC,gBAAA;AACjB,QAAM,EAAE,QAAA,IAAYC,cAAA;AAEpB,QAAM,CAAC,aAAa,cAAc,IAAIC,eAA2B;AAAA,IAC/D,MAAM,CAAA;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,MACf,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,YAAY;AAAA,IAAA;AAAA,EACd,CACD;AAGD,QAAM,CAAC,eAAe,gBAAgB,IAAIA,MAAAA,SAAuB,MAAM;AACrE,UAAM,WAAW,aAAa,QAAQ,WAAW;AACjD,WAAO,WAAW,KAAK,MAAM,QAAQ,IAAI;AAAA,EAC3C,CAAC;AAED,QAAM,CAAC,QAAQ,SAAS,IAAIA,MAAAA,SAAiB,EAAE;AAC/C,QAAM,CAAC,oBAAoB,qBAAqB,IAAIA,MAAAA;AAAAA,IAAiB,MAAA;;AACnE,mEAAgB,OAAhB,mBAAoB,UAASC,UAAAA,UAAU;AAAA;AAAA,EAAA;AAEzC,QAAM,CAAC,aAAa,cAAc,IAAID,MAAAA,SAAS,aAAa;AAC5D,QAAM,CAAC,SAAS,UAAU,IAAIA,MAAAA,SAA2B,CAAA,CAAE;AAG3D,QAAM,gBAAgBE,MAAAA,QAAQ,MAAM,SAAS,SAAS,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC;AAExF,QAAM,gBAAgBA,MAAAA,QAAQ,OAAO;AAAA,IACnC,GAAG;AAAA,EAAA,IACD,CAAC,MAAM,CAAC;AAEZ,QAAM,eAAeA,MAAAA;AAAAA,IAAQ,MAC3B,cAAc,aAAa,KAAK,EAAE,YAAY,IAAI,iBAAiB,GAAA;AAAA,IACnE,CAAC,eAAe,aAAa;AAAA,EAAA;AAG/B,QAAM,iBAAiBA,MAAAA;AAAAA,IAAQ,MAC7B,cAAc,aAAa,GAAG,aAAa,eAAe;AAAA,IAC1D,CAAC,eAAe,aAAa,eAAe;AAAA,EAAA;AAG9C,QAAM,UAAUA,MAAAA;AAAAA,IAAQ,MACtB,kBAAkB,6BAAM,UAAU,cAAc,aAAa,UAAU;AAAA,IACvE,CAAC,6BAAM,YAAY,aAAa,UAAU;AAAA,EAAA;AAG5C,QAAM,iBAAiBA,MAAAA,QAAQ,MAAM;AACnC,UAAM,EAAE,QAAQ,OAAO,WAAA,IAAe,YAAY;AAClD,UAAM,QAAQ,QAAQ,KAAK,KAAK,aAAa,KAAK,IAAI;AACtD,UAAM,OAAO,SAAS,SAAS;AAC/B,WAAO,EAAE,OAAO,MAAM,QAAQ,MAAA;AAAA,EAChC,GAAG,CAAC,YAAY,eAAe,CAAC;AAGhC,QAAM,aAAaC,kBAAY,CAAC,QAAwB;AACtD,WAAO,MACH,IACC,MAAM,OAAO,EACb,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,YAAA,IAAgB,KAAK,MAAM,CAAC,CAAC,EAC1D,KAAK,GAAG,IACT;AAAA,EACN,GAAG,CAAA,CAAE;AAGL,QAAM,uBAAuBA,kBAAY,CAAC,aAAmC;AAC3E,mBAAe,SAAS,MAAM,CAAC,CAAC;AAAA,EAClC,GAAG,CAAA,CAAE;AAEL,QAAM,wBAAwBA,kBAAY,CAAC,UAA4B;AACrE,mBAAe,CAAA,UAAS;AAAA,MACtB,GAAG;AAAA,MACH,iBAAiB;AAAA,QACf,GAAG;AAAA,QACH,YAAY,KAAK,gBAAgB;AAAA,MAAA;AAAA,IACnC,EACA;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,QAAM,eAAeA,kBAAY,CAAC,gBAAwB;AACxD,cAAU,WAAW;AAAA,EACvB,GAAG,CAAA,CAAE;AAEL,QAAM,iBAAiBA,kBAAY,CAAC,YAAiB;AACnD,aAAS,gBAAgB;AAAA,MACvB,OAAO;AAAA,IAAA,CACR;AAAA,EACH,GAAG,CAAC,UAAU,cAAc,CAAC;AAG7B,QAAM,UAAUD,MAAAA,QAAQ,MAAM;AAAA,IAC5B;AAAA,MACE,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM,CAAC,EAAE,UAAI;;AACX,iDAAK,aAAL,mBAAe,QACbE,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,MAAM,eAAe,IAAI,QAAQ;AAAA,YAC1C,OAAO,EAAE,QAAQ,UAAA;AAAA,YAEhB,UAAA,WAAW,IAAI,SAAS,IAAI;AAAA,UAAA;AAAA,QAAA,IAG/B;AAAA;AAAA,IAAA;AAAA,IAGN;AAAA,MACE,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,IAER;AAAA,MACE,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC,EAAE,IAAA,MAAI;;AACX,iDAAK,aAAL,mBAAe,UACbA,+BAAC,OAAA,EAEG,UAAA,IAAI,SAAS,OAAO;AAAA,UAClB,CAAC,UAAwC,CAAC,MAAM;AAAA,QAAA,EAChD,QAEN,IAEA;AAAA;AAAA,IAAA;AAAA,IAGN;AAAA,MACE,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,MAAM,CAAC,EAAE,UAAe;;AACtB,cAAM,WAAS,sCAAK,aAAL,mBAAe,WAAf,mBAAuB;AAAA,UACpC,CAAC,UACC,EAAC,+BAAO,qBAAmB,+BAAO;AAAA,cACjC,CAAA;AAEL,YAAI,CAAC,OAAO,OAAQ,QAAO;AAE3B,eACEC,2BAAAA,KAACC,SAAAA,KAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,KAAK,UAAU,QAAQ,GAAG,OAC9E,UAAA;AAAA,UAAA,OAAO,MAAM,GAAG,0BAA0B,EAAE,IAAI,CAAC,MAAW;;AAC3DF,8CAAAA;AAAAA,cAACG,WAAAA;AAAAA,cAAA;AAAA,gBAEC,MAAK;AAAA,gBACL,QAAO;AAAA,gBACP,WAAU;AAAA,gBAET,YAAAC,MAAA,6BAAM,UAAN,gBAAAA,IAAa,SAAS,QAAO,EAAE,KAAK,KAAK,IAAI,KAAK;AAAA,cAAA;AAAA,cAL9C,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,YAAA;AAAA,WAO9B;AAAA,UACA,OAAO,SAAS,8BACfH,2BAAAA;AAAAA,YAACE,WAAAA;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,WAAU;AAAA,cACX,UAAA;AAAA,gBAAA;AAAA,gBACG,OAAO,SAAS;AAAA,gBAA2B;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAC/C,GAEJ;AAAA,MAEJ;AAAA,IAAA;AAAA,EACF,GACC,CAAC,YAAY,gBAAgB,CAAC,CAAC;AAGlC,QAAM,cAAcL,MAAAA,QAAQ,MAAM;AAAA,IAChC;AAAA,MACE,MAAM;AAAA,MACN,KAAK;AAAA,MACL,MAAM,CAAA;AAAA,IAAC;AAAA,EACT,GACC,EAAE;AAGL,QAAM,aAAaC,MAAAA,YAAY,YAAY;;AACzC,QAAI,CAAC,aAAa,cAAc,EAAC,6BAAM,YAAY;AAEnD,UAAM,OAAO,mCAAU;AACvB,UAAM,SAAS;AAAA,MACb,MAAM,eAAe;AAAA,MACrB,OAAO,eAAe;AAAA,MACtB;AAAA,MACA;AAAA,MACA,GAAI,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,KAAK,OAAO,KAAK,CAAC,GAAA;AAAA,MACrD,GAAGM,aAAA;AAAA,MACH,gBAAcA,SAAAA,SAAA,EAAW,YAAY,MAAvBA,mBAA0B,eAAc;AAAA,IAAA;AAGxD,mBAAe,WAAS,EAAE,GAAG,MAAM,WAAW,OAAO;AACrD,UAAM,WAAW,MAAMC,uBAAiB;AAAA,MACtC,GAAG;AAAA,MACH,GAAGD,IAAAA;AAAAA,IAAA,CACJ;AACD,mBAAe;AAAA,MACb,OAAM,0CAAU,SAAV,mBAAgB;AAAA,MACtB,WAAW;AAAA,MACX,iBAAiB;AAAA,QACf,GAAG,YAAY;AAAA,QACf,IAAG,0CAAU,SAAV,mBAAgB;AAAA,MAAA;AAAA,IACrB,CACD;AAAA,EAGH,GAAG;AAAA,IAAC;AAAA,IACF,eAAe;AAAA,IACf,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,6BAAM;AAAA,EAAA,CACP;AAEDE,QAAAA,UAAU,MAAM;AACd,eAAA;AAAA,EACF,GAAG;AAAA,IACD;AAAA,EAAA,CACD;AAGDA,QAAAA,UAAU,MAAM;AACd,SAAI,+CAAe,WAAU,cAAc,CAAC,EAAE,UAAU,oBAAoB;AAC1E,4BAAsB,cAAc,CAAC,EAAE,KAAK;AAAA,IAC9C;AAAA,EACF,GAAG,CAAC,aAAa,CAAC;AAGlBA,QAAAA,UAAU,MAAM;AACd,QAAI,+CAAe,QAAQ;AACzB,YAAM,YAAY,WAAW,MAAM;AACjC,qBAAa,QAAQ,aAAa,KAAK,UAAU,aAAa,CAAC;AAAA,MACjE,GAAG,GAAG;AAEN,aAAO,MAAM,aAAa,SAAS;AAAA,IACrC;AAAA,EACF,GAAG,CAAC,aAAa,CAAC;AAElB,SACEN,2BAAAA,KAAC,WAAA,EAAQ,WAAU,SACjB,UAAA;AAAA,IAAAD,2BAAAA;AAAAA,MAACQ,YAAAA;AAAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,WAAW,CAAC,QAAQ;AAClB,gCAAsB,GAAG;AAAA,QAC3B;AAAA,QACA;AAAA,QACA,YAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAGb,uBAAuBX,UAAAA,UAAU,SAChCG,2BAAAA;AAAAA,MAACS,iBAAAA;AAAAA,MAAA;AAAA,QACC,kBAAkB;AAAA,QAClB,aAAa,CAAC,kBAAkB,GAAG,WAAW;AAAA,QAC9C;AAAA,QACA,MAAM,YAAY;AAAA,QAClB;AAAA,QACA,YAAY;AAAA,QACZ,iBAAiB,EAAE,QAAQ,GAAG,OAAO,GAAA;AAAA,QACrC,eAAe;AAAA,QACf,QAAQ,EAAE,SAAS,WAAW,GAAC;AAAA,QAC/B,iBAAiB;AAAA,QACjB,4BAA0B;AAAA,QAC1B,iBAAiB,MAAM;AAAA,QAAE;AAAA,MAAA;AAAA,IAAA;AAAA,IAI5B,uBAAuBZ,UAAAA,UAAU,QAChCG,+BAACU,SAAAA,YAAS,MAAM,YAAY,MAAM,QAAgB;AAAA,IAGpDV,2BAAAA;AAAAA,MAACW,OAAAA;AAAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,UAAU,MAAM;AAAA,QAAE;AAAA,QAClB,aAAa;AAAA,QACb,gBAAgB,MAAM;AAAA,QAAE;AAAA,QACxB,OAAO,eAAe;AAAA,QACtB,iBAAiB;AAAA,UACf,QAAQ,YAAY,gBAAgB;AAAA,UACpC,OAAO,YAAY,gBAAgB;AAAA,QAAA;AAAA,QAErC;AAAA,QACA,aAAa,CAAA;AAAA,QACb,UAAS;AAAA,QACT,uBAAuB,MAAM;AAAA,QAAE;AAAA,QAC/B,kBAAkB,MAAM;AAAA,QAAE;AAAA,QAC1B,aAAa;AAAA,QACb,uBAAuB;AAAA,MAAA;AAAA,IAAA;AAAA,EACzB,GACF;AAEJ;;"}
|
package/dist/chunks/{FlexibleReduxExample-DBkCdTko.esm.js → FlexibleReduxExample-0erRbp6U.esm.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { Box, Typography, FormControlLabel, Switch, Button } from "@mui/material";
|
|
4
|
-
import { E as ERPUIProvider } from "./ERPUIProvider-
|
|
5
|
-
import { S as SharePopUpEnhanced } from "./share-modal-enhanced-
|
|
6
|
-
import { H as HeaderEnhanced } from "./header-enhanced-
|
|
4
|
+
import { E as ERPUIProvider } from "./ERPUIProvider-CRYpcOXM.esm.js";
|
|
5
|
+
import { S as SharePopUpEnhanced } from "./share-modal-enhanced-voerhaRO.esm.js";
|
|
6
|
+
import { H as HeaderEnhanced } from "./header-enhanced-BIxuD8DD.esm.js";
|
|
7
7
|
const FlexibleReduxExample = () => {
|
|
8
8
|
const [useRedux, setUseRedux] = useState(false);
|
|
9
9
|
const [showShareModal, setShowShareModal] = useState(false);
|
|
@@ -146,4 +146,4 @@ const FlexibleReduxExample = () => {
|
|
|
146
146
|
export {
|
|
147
147
|
FlexibleReduxExample as F
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=FlexibleReduxExample-
|
|
149
|
+
//# sourceMappingURL=FlexibleReduxExample-0erRbp6U.esm.js.map
|