@erpsquad/common 1.11.5 → 1.11.6
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/chunks/{DynamicDependentField-Bug_QweP.esm.js → DynamicDependentField-C0XXmMlG.esm.js} +2 -2
- package/dist/chunks/{DynamicDependentField-Bug_QweP.esm.js.map → DynamicDependentField-C0XXmMlG.esm.js.map} +1 -1
- package/dist/chunks/{DynamicDependentField-GTIwrPfP.js → DynamicDependentField-CQIfDDqc.js} +2 -2
- package/dist/chunks/{DynamicDependentField-GTIwrPfP.js.map → DynamicDependentField-CQIfDDqc.js.map} +1 -1
- package/dist/chunks/{FORMS-QqBksLc2.esm.js → FORMS-B40NtUdz.esm.js} +5 -5
- package/dist/chunks/{FORMS-QqBksLc2.esm.js.map → FORMS-B40NtUdz.esm.js.map} +1 -1
- package/dist/chunks/{FORMS-DITDFHy1.js → FORMS-K5QYZYJc.js} +5 -5
- package/dist/chunks/{FORMS-DITDFHy1.js.map → FORMS-K5QYZYJc.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample-CMUylyy1.js → FlexibleReduxExample-WGpR03V0.js} +3 -3
- package/dist/chunks/{FlexibleReduxExample-CMUylyy1.js.map → FlexibleReduxExample-WGpR03V0.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample-BweOhhft.esm.js → FlexibleReduxExample-lJRAIjmS.esm.js} +3 -3
- package/dist/chunks/{FlexibleReduxExample-BweOhhft.esm.js.map → FlexibleReduxExample-lJRAIjmS.esm.js.map} +1 -1
- package/dist/chunks/{SectionFlowEditor-COarQdF5.esm.js → SectionFlowEditor-CFfJBYKx.esm.js} +2 -2
- package/dist/chunks/{SectionFlowEditor-COarQdF5.esm.js.map → SectionFlowEditor-CFfJBYKx.esm.js.map} +1 -1
- package/dist/chunks/{SectionFlowEditor--gfRgdM2.js → SectionFlowEditor-sKsZ3oQo.js} +2 -2
- package/dist/chunks/{SectionFlowEditor--gfRgdM2.js.map → SectionFlowEditor-sKsZ3oQo.js.map} +1 -1
- package/dist/chunks/{action-bar-sX54kFo9.esm.js → action-bar-C7Alva4T.esm.js} +3 -3
- package/dist/chunks/{action-bar-sX54kFo9.esm.js.map → action-bar-C7Alva4T.esm.js.map} +1 -1
- package/dist/chunks/{action-bar-CGP-GLkt.js → action-bar-DdtpxWNk.js} +3 -3
- package/dist/chunks/{action-bar-CGP-GLkt.js.map → action-bar-DdtpxWNk.js.map} +1 -1
- package/dist/chunks/{add-template-xyPHm3zV.esm.js → add-template-DVvbD9a4.esm.js} +2 -2
- package/dist/chunks/{add-template-xyPHm3zV.esm.js.map → add-template-DVvbD9a4.esm.js.map} +1 -1
- package/dist/chunks/{add-template-vpXcccHo.js → add-template-Dohg2bHJ.js} +2 -2
- package/dist/chunks/{add-template-vpXcccHo.js.map → add-template-Dohg2bHJ.js.map} +1 -1
- package/dist/chunks/{address-modal-DFd5sQtR.js → address-modal-CYhiC7ui.js} +2 -2
- package/dist/chunks/{address-modal-DFd5sQtR.js.map → address-modal-CYhiC7ui.js.map} +1 -1
- package/dist/chunks/{address-modal-DRT30GGc.esm.js → address-modal-CkDBjnye.esm.js} +2 -2
- package/dist/chunks/{address-modal-DRT30GGc.esm.js.map → address-modal-CkDBjnye.esm.js.map} +1 -1
- package/dist/chunks/{app-switcher-VhH9z0Rd.js → app-switcher-CyEQmYAN.js} +2 -2
- package/dist/chunks/{app-switcher-VhH9z0Rd.js.map → app-switcher-CyEQmYAN.js.map} +1 -1
- package/dist/chunks/{app-switcher-B6eapuGG.esm.js → app-switcher-D-Bvz9uO.esm.js} +2 -2
- package/dist/chunks/{app-switcher-B6eapuGG.esm.js.map → app-switcher-D-Bvz9uO.esm.js.map} +1 -1
- package/dist/chunks/{appbar-D5moUuMm.esm.js → appbar-BdTp1k68.esm.js} +2 -2
- package/dist/chunks/{appbar-D5moUuMm.esm.js.map → appbar-BdTp1k68.esm.js.map} +1 -1
- package/dist/chunks/{appbar-WvWT7p_M.js → appbar-DyIptRTa.js} +2 -2
- package/dist/chunks/{appbar-WvWT7p_M.js.map → appbar-DyIptRTa.js.map} +1 -1
- package/dist/chunks/{common-PH2uWkqL.js → common-CS5L0Ld_.js} +2 -2
- package/dist/chunks/{common-PH2uWkqL.js.map → common-CS5L0Ld_.js.map} +1 -1
- package/dist/chunks/{common-Cl5oGXmX.esm.js → common-yORBIVv-.esm.js} +2 -2
- package/dist/chunks/{common-Cl5oGXmX.esm.js.map → common-yORBIVv-.esm.js.map} +1 -1
- package/dist/chunks/{constants-D_xuLHSu.js → constants-06kIVUBw.js} +2 -2
- package/dist/chunks/{constants-D_xuLHSu.js.map → constants-06kIVUBw.js.map} +1 -1
- package/dist/chunks/{constants-BrmMAwu2.esm.js → constants-nmkxkzps.esm.js} +2 -2
- package/dist/chunks/{constants-BrmMAwu2.esm.js.map → constants-nmkxkzps.esm.js.map} +1 -1
- package/dist/chunks/{custom-form-T4yc_sE_.js → custom-form-CFU7NEVb.js} +4 -4
- package/dist/chunks/{custom-form-T4yc_sE_.js.map → custom-form-CFU7NEVb.js.map} +1 -1
- package/dist/chunks/{custom-form-B0iJKE-f.esm.js → custom-form-DD7YOHMF.esm.js} +4 -4
- package/dist/chunks/{custom-form-B0iJKE-f.esm.js.map → custom-form-DD7YOHMF.esm.js.map} +1 -1
- package/dist/chunks/{dashboard-u68tvYf2.esm.js → dashboard-B5qcT2Dt.esm.js} +3 -3
- package/dist/chunks/{dashboard-u68tvYf2.esm.js.map → dashboard-B5qcT2Dt.esm.js.map} +1 -1
- package/dist/chunks/{dashboard-Ck4clis4.js → dashboard-Dzts5-X6.js} +3 -3
- package/dist/chunks/{dashboard-Ck4clis4.js.map → dashboard-Dzts5-X6.js.map} +1 -1
- package/dist/chunks/{filter-BxLWUhFQ.esm.js → filter-COXKBEER.esm.js} +3 -3
- package/dist/chunks/{filter-BxLWUhFQ.esm.js.map → filter-COXKBEER.esm.js.map} +1 -1
- package/dist/chunks/{filter-DQNAPq4l.js → filter-Cr_OSIpb.js} +3 -3
- package/dist/chunks/{filter-DQNAPq4l.js.map → filter-Cr_OSIpb.js.map} +1 -1
- package/dist/chunks/{footer-DioOh69g.js → footer-CD3kMRdS.js} +2 -2
- package/dist/chunks/{footer-DioOh69g.js.map → footer-CD3kMRdS.js.map} +1 -1
- package/dist/chunks/{footer-BXClGYIb.esm.js → footer-m3_dlNl8.esm.js} +2 -2
- package/dist/chunks/{footer-BXClGYIb.esm.js.map → footer-m3_dlNl8.esm.js.map} +1 -1
- package/dist/chunks/{form-fields-DKFiyLCi.esm.js → form-fields-hMMnB_wE.esm.js} +2 -2
- package/dist/chunks/{form-fields-DKFiyLCi.esm.js.map → form-fields-hMMnB_wE.esm.js.map} +1 -1
- package/dist/chunks/{form-fields-BYDhbAgB.js → form-fields-yE9kwjvb.js} +2 -2
- package/dist/chunks/{form-fields-BYDhbAgB.js.map → form-fields-yE9kwjvb.js.map} +1 -1
- package/dist/chunks/{form-parser-C95b2on7.esm.js → form-parser-DbnSn5eY.esm.js} +2 -2
- package/dist/chunks/{form-parser-C95b2on7.esm.js.map → form-parser-DbnSn5eY.esm.js.map} +1 -1
- package/dist/chunks/{form-parser-BnMdMDSb.js → form-parser-m4fnw38a.js} +2 -2
- package/dist/chunks/{form-parser-BnMdMDSb.js.map → form-parser-m4fnw38a.js.map} +1 -1
- package/dist/chunks/{form-section-CFeWD-tF.js → form-section-CPIyMdk2.js} +5 -5
- package/dist/chunks/{form-section-CFeWD-tF.js.map → form-section-CPIyMdk2.js.map} +1 -1
- package/dist/chunks/{form-section-Bx_D21gW.esm.js → form-section-TMjdOVeW.esm.js} +5 -5
- package/dist/chunks/{form-section-Bx_D21gW.esm.js.map → form-section-TMjdOVeW.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-q9u5VL-5.js → fullScreen-B5iqC1y0.js} +2 -2
- package/dist/chunks/{fullScreen-q9u5VL-5.js.map → fullScreen-B5iqC1y0.js.map} +1 -1
- package/dist/chunks/{fullScreen-DTQ6tqij.esm.js → fullScreen-D-isf0wv.esm.js} +2 -2
- package/dist/chunks/{fullScreen-DTQ6tqij.esm.js.map → fullScreen-D-isf0wv.esm.js.map} +1 -1
- package/dist/chunks/{global-search-DCsutWXD.esm.js → global-search-BOkxXiZ0.esm.js} +2 -2
- package/dist/chunks/{global-search-DCsutWXD.esm.js.map → global-search-BOkxXiZ0.esm.js.map} +1 -1
- package/dist/chunks/{global-search-BTV5iL6-.js → global-search-BjKPmzsQ.js} +2 -2
- package/dist/chunks/{global-search-BTV5iL6-.js.map → global-search-BjKPmzsQ.js.map} +1 -1
- package/dist/chunks/{header-CqTEaHw3.js → header-DQ_e75rt.js} +6 -6
- package/dist/chunks/{header-CqTEaHw3.js.map → header-DQ_e75rt.js.map} +1 -1
- package/dist/chunks/{header-I2izTvvZ.esm.js → header-D_pPOjdz.esm.js} +6 -6
- package/dist/chunks/{header-I2izTvvZ.esm.js.map → header-D_pPOjdz.esm.js.map} +1 -1
- package/dist/chunks/{header-enhanced-Dxdetx0I.js → header-enhanced-DCDMljaN.js} +3 -3
- package/dist/chunks/{header-enhanced-Dxdetx0I.js.map → header-enhanced-DCDMljaN.js.map} +1 -1
- package/dist/chunks/{header-enhanced-D31BpL2H.esm.js → header-enhanced-OiKzLG4i.esm.js} +3 -3
- package/dist/chunks/{header-enhanced-D31BpL2H.esm.js.map → header-enhanced-OiKzLG4i.esm.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-CjqUhdIv.esm.js → inline-edit-fields-BYhRpPcH.esm.js} +2 -2
- package/dist/chunks/{inline-edit-fields-CjqUhdIv.esm.js.map → inline-edit-fields-BYhRpPcH.esm.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-Cd_qUOjU.js → inline-edit-fields-atDP84QL.js} +2 -2
- package/dist/chunks/{inline-edit-fields-Cd_qUOjU.js.map → inline-edit-fields-atDP84QL.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-BfUMM54c.js → inventory-reports-title-bar-Bog2i0dr.js} +2 -2
- package/dist/chunks/{inventory-reports-title-bar-BfUMM54c.js.map → inventory-reports-title-bar-Bog2i0dr.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-DPS3r5V2.esm.js → inventory-reports-title-bar-CP8FzW6A.esm.js} +2 -2
- package/dist/chunks/{inventory-reports-title-bar-DPS3r5V2.esm.js.map → inventory-reports-title-bar-CP8FzW6A.esm.js.map} +1 -1
- package/dist/chunks/{item-response-details-BheThTTK.js → item-response-details-DsGQ7Dlc.js} +2 -2
- package/dist/chunks/{item-response-details-BheThTTK.js.map → item-response-details-DsGQ7Dlc.js.map} +1 -1
- package/dist/chunks/{item-response-details-BtCmz7XT.esm.js → item-response-details-SHSD-nBh.esm.js} +2 -2
- package/dist/chunks/{item-response-details-BtCmz7XT.esm.js.map → item-response-details-SHSD-nBh.esm.js.map} +1 -1
- package/dist/chunks/{listing-Ck-RqIjL.esm.js → listing-C0Yb6MVq.esm.js} +4 -4
- package/dist/chunks/{listing-Ck-RqIjL.esm.js.map → listing-C0Yb6MVq.esm.js.map} +1 -1
- package/dist/chunks/{listing-BDN5cLvI.js → listing-DIuzQrzb.js} +4 -4
- package/dist/chunks/{listing-BDN5cLvI.js.map → listing-DIuzQrzb.js.map} +1 -1
- package/dist/chunks/{location-select-jwR8SCYN.esm.js → location-select-CFa00fy4.esm.js} +2 -2
- package/dist/chunks/{location-select-jwR8SCYN.esm.js.map → location-select-CFa00fy4.esm.js.map} +1 -1
- package/dist/chunks/{location-select-CLyRUilk.js → location-select-g5uczAUF.js} +2 -2
- package/dist/chunks/{location-select-CLyRUilk.js.map → location-select-g5uczAUF.js.map} +1 -1
- package/dist/chunks/{material-editable-table-DFGB0q-s.js → material-editable-table-BGLjrTzT.js} +3 -3
- package/dist/chunks/{material-editable-table-DFGB0q-s.js.map → material-editable-table-BGLjrTzT.js.map} +1 -1
- package/dist/chunks/{material-editable-table-qC9FTg-4.esm.js → material-editable-table-pAyK7KYf.esm.js} +3 -3
- package/dist/chunks/{material-editable-table-qC9FTg-4.esm.js.map → material-editable-table-pAyK7KYf.esm.js.map} +1 -1
- package/dist/chunks/{modules-DTRr7zwt.js → modules-BZNWOWrz.js} +2 -2
- package/dist/chunks/{modules-DTRr7zwt.js.map → modules-BZNWOWrz.js.map} +1 -1
- package/dist/chunks/{modules-enwLrpfQ.esm.js → modules-CWV4WSHs.esm.js} +2 -2
- package/dist/chunks/{modules-enwLrpfQ.esm.js.map → modules-CWV4WSHs.esm.js.map} +1 -1
- package/dist/chunks/{notification-menu-B00hDUbn.js → notification-menu-D7ASm-K1.js} +2 -2
- package/dist/chunks/{notification-menu-B00hDUbn.js.map → notification-menu-D7ASm-K1.js.map} +1 -1
- package/dist/chunks/{notification-menu-B_4BOTgX.esm.js → notification-menu-XAadkn-e.esm.js} +2 -2
- package/dist/chunks/{notification-menu-B_4BOTgX.esm.js.map → notification-menu-XAadkn-e.esm.js.map} +1 -1
- package/dist/chunks/{page-action-TMFOytDw.js → page-action-BPzaL2KJ.js} +2 -2
- package/dist/chunks/{page-action-TMFOytDw.js.map → page-action-BPzaL2KJ.js.map} +1 -1
- package/dist/chunks/{page-action-0S_h4623.esm.js → page-action-C07iGjvN.esm.js} +2 -2
- package/dist/chunks/{page-action-0S_h4623.esm.js.map → page-action-C07iGjvN.esm.js.map} +1 -1
- package/dist/chunks/{page-navigator-B17f-mUz.esm.js → page-navigator-8gZpp9_P.esm.js} +2 -2
- package/dist/chunks/{page-navigator-B17f-mUz.esm.js.map → page-navigator-8gZpp9_P.esm.js.map} +1 -1
- package/dist/chunks/{page-navigator-DdRsmtLy.js → page-navigator-Cgbh3tTG.js} +2 -2
- package/dist/chunks/{page-navigator-DdRsmtLy.js.map → page-navigator-Cgbh3tTG.js.map} +1 -1
- package/dist/chunks/{page-view-CnzxewUy.esm.js → page-view-CokUNMBn.esm.js} +3 -3
- package/dist/chunks/{page-view-CnzxewUy.esm.js.map → page-view-CokUNMBn.esm.js.map} +1 -1
- package/dist/chunks/{page-view-CvfqzV03.js → page-view-DJ6HS_dV.js} +3 -3
- package/dist/chunks/{page-view-CvfqzV03.js.map → page-view-DJ6HS_dV.js.map} +1 -1
- package/dist/chunks/{pathname.rental-CwK6JuID.js → pathname.rental-DgH4LoG7.js} +7 -2
- package/dist/chunks/{pathname.rental-CwK6JuID.js.map → pathname.rental-DgH4LoG7.js.map} +1 -1
- package/dist/chunks/{pathname.rental-CqHO_l_D.esm.js → pathname.rental-qsAe3XFd.esm.js} +81 -76
- package/dist/chunks/{pathname.rental-CqHO_l_D.esm.js.map → pathname.rental-qsAe3XFd.esm.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-CqVqKrPd.esm.js → reports-title-bar-Cay4E8SQ.esm.js} +2 -2
- package/dist/chunks/{reports-title-bar-CqVqKrPd.esm.js.map → reports-title-bar-Cay4E8SQ.esm.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-B1_IweEc.js → reports-title-bar-Kz6JjqsY.js} +2 -2
- package/dist/chunks/{reports-title-bar-B1_IweEc.js.map → reports-title-bar-Kz6JjqsY.js.map} +1 -1
- package/dist/chunks/{route-page-map-CSg28AvB.esm.js → route-page-map-DkWoisiB.esm.js} +132 -75
- package/dist/chunks/{route-page-map-CSg28AvB.esm.js.map → route-page-map-DkWoisiB.esm.js.map} +1 -1
- package/dist/chunks/{route-page-map-__F1KHUj.js → route-page-map-Dn-SAbdf.js} +59 -2
- package/dist/chunks/{route-page-map-__F1KHUj.js.map → route-page-map-Dn-SAbdf.js.map} +1 -1
- package/dist/chunks/{routes-DauYjaxu.esm.js → routes-Be8qxaVS.esm.js} +3 -3
- package/dist/chunks/{routes-DauYjaxu.esm.js.map → routes-Be8qxaVS.esm.js.map} +1 -1
- package/dist/chunks/{routes-Bs7dqd7j.js → routes-Bi8lChPT.js} +3 -3
- package/dist/chunks/{routes-Bs7dqd7j.js.map → routes-Bi8lChPT.js.map} +1 -1
- package/dist/chunks/{schedule-report-BwmZ5jea.js → schedule-report-B4ZfEuiU.js} +4 -4
- package/dist/chunks/{schedule-report-BwmZ5jea.js.map → schedule-report-B4ZfEuiU.js.map} +1 -1
- package/dist/chunks/{schedule-report-D2oYKVGN.esm.js → schedule-report-CLXjjfjc.esm.js} +4 -4
- package/dist/chunks/{schedule-report-D2oYKVGN.esm.js.map → schedule-report-CLXjjfjc.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-modal-maDNFV-h.esm.js → schedule-report-modal-CB3G9H7x.esm.js} +2 -2
- package/dist/chunks/{schedule-report-modal-maDNFV-h.esm.js.map → schedule-report-modal-CB3G9H7x.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-modal-iNnWP9s4.js → schedule-report-modal-iwoDI-sg.js} +2 -2
- package/dist/chunks/{schedule-report-modal-iNnWP9s4.js.map → schedule-report-modal-iwoDI-sg.js.map} +1 -1
- package/dist/chunks/{searchable-select-CcG1qflA.esm.js → searchable-select-0F6E4XAr.esm.js} +2 -2
- package/dist/chunks/{searchable-select-CcG1qflA.esm.js.map → searchable-select-0F6E4XAr.esm.js.map} +1 -1
- package/dist/chunks/{searchable-select-DVUCWWti.js → searchable-select-_DCkITfk.js} +2 -2
- package/dist/chunks/{searchable-select-DVUCWWti.js.map → searchable-select-_DCkITfk.js.map} +1 -1
- package/dist/chunks/{share-modal-CQYd5GU0.esm.js → share-modal-BaEyZs2h.esm.js} +2 -2
- package/dist/chunks/{share-modal-CQYd5GU0.esm.js.map → share-modal-BaEyZs2h.esm.js.map} +1 -1
- package/dist/chunks/{share-modal-CobK7BN7.js → share-modal-DrXvh-fV.js} +2 -2
- package/dist/chunks/{share-modal-CobK7BN7.js.map → share-modal-DrXvh-fV.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-DVarD-jt.js → share-modal-enhanced-BTr0zRhF.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-DVarD-jt.js.map → share-modal-enhanced-BTr0zRhF.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-04WjO7Ej.esm.js → share-modal-enhanced-DnEdDBmu.esm.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-04WjO7Ej.esm.js.map → share-modal-enhanced-DnEdDBmu.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-BvaFDSr8.js → sidebarScreen-3iZYCAMn.js} +2 -2
- package/dist/chunks/{sidebarScreen-BvaFDSr8.js.map → sidebarScreen-3iZYCAMn.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-CLsGgJpX.esm.js → sidebarScreen-CYUn8OsB.esm.js} +2 -2
- package/dist/chunks/{sidebarScreen-CLsGgJpX.esm.js.map → sidebarScreen-CYUn8OsB.esm.js.map} +1 -1
- package/dist/chunks/{table-Bpt6ggr3.js → table-DWx7x8zw.js} +2 -2
- package/dist/chunks/{table-Bpt6ggr3.js.map → table-DWx7x8zw.js.map} +1 -1
- package/dist/chunks/{table-DgCWox6A.esm.js → table-gxAlAeTq.esm.js} +2 -2
- package/dist/chunks/{table-DgCWox6A.esm.js.map → table-gxAlAeTq.esm.js.map} +1 -1
- package/dist/chunks/{template-editor-router-Dq3Hsw99.js → template-editor-router-BRxF8Dj_.js} +2 -2
- package/dist/chunks/{template-editor-router-Dq3Hsw99.js.map → template-editor-router-BRxF8Dj_.js.map} +1 -1
- package/dist/chunks/{template-editor-router-DAGjgCfA.esm.js → template-editor-router-BV5FrwJm.esm.js} +2 -2
- package/dist/chunks/{template-editor-router-DAGjgCfA.esm.js.map → template-editor-router-BV5FrwJm.esm.js.map} +1 -1
- package/dist/chunks/{templates-BkVjG5c0.js → templates-BY9HF32G.js} +4 -4
- package/dist/chunks/{templates-BkVjG5c0.js.map → templates-BY9HF32G.js.map} +1 -1
- package/dist/chunks/{templates-DrKOJkmh.esm.js → templates-DxvU4PQY.esm.js} +4 -4
- package/dist/chunks/{templates-DrKOJkmh.esm.js.map → templates-DxvU4PQY.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-DyhwLo9Q.esm.js → uom-field-wrapper-CTbEc-MB.esm.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-DyhwLo9Q.esm.js.map → uom-field-wrapper-CTbEc-MB.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-CSqeiVPY.js → uom-field-wrapper-DXZgzOYB.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-CSqeiVPY.js.map → uom-field-wrapper-DXZgzOYB.js.map} +1 -1
- package/dist/chunks/{use-translations-RGIbWjPM.esm.js → use-translations-BzykVZOP.esm.js} +2 -2
- package/dist/chunks/{use-translations-RGIbWjPM.esm.js.map → use-translations-BzykVZOP.esm.js.map} +1 -1
- package/dist/chunks/{use-translations-Cn3b4Kqh.js → use-translations-CNI_xsIo.js} +2 -2
- package/dist/chunks/{use-translations-Cn3b4Kqh.js.map → use-translations-CNI_xsIo.js.map} +1 -1
- package/dist/chunks/{value-editor-Br7X_wEB.js → value-editor-BSS9Ns2T.js} +2 -2
- package/dist/chunks/{value-editor-Br7X_wEB.js.map → value-editor-BSS9Ns2T.js.map} +1 -1
- package/dist/chunks/{value-editor-DkDNIrZ4.esm.js → value-editor-DQ1qgZ2u.esm.js} +2 -2
- package/dist/chunks/{value-editor-DkDNIrZ4.esm.js.map → value-editor-DQ1qgZ2u.esm.js.map} +1 -1
- package/dist/chunks/{vendor-ai-summary-C33oHYPA.esm.js → vendor-ai-summary-BA6m2dH9.esm.js} +2 -2
- package/dist/chunks/{vendor-ai-summary-C33oHYPA.esm.js.map → vendor-ai-summary-BA6m2dH9.esm.js.map} +1 -1
- package/dist/chunks/{vendor-ai-summary-zranZkfk.js → vendor-ai-summary-DWmAaQ_N.js} +2 -2
- package/dist/chunks/{vendor-ai-summary-zranZkfk.js.map → vendor-ai-summary-DWmAaQ_N.js.map} +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/action-bar/index.js +1 -1
- package/dist/components/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/index.js +1 -1
- package/dist/components/address-modal/index.esm.js +1 -1
- package/dist/components/address-modal/index.js +1 -1
- package/dist/components/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/custom-forms/FORMS/index.esm.js +1 -1
- package/dist/components/custom-forms/FORMS/index.js +1 -1
- package/dist/components/custom-forms/index.esm.js +1 -1
- package/dist/components/custom-forms/index.js +1 -1
- package/dist/components/department-add-modal/index.esm.js +1 -1
- package/dist/components/department-add-modal/index.js +1 -1
- package/dist/components/designation-add-modal/index.esm.js +1 -1
- package/dist/components/designation-add-modal/index.js +1 -1
- package/dist/components/examples/FlexibleReduxExample/index.esm.js +1 -1
- package/dist/components/examples/FlexibleReduxExample/index.js +1 -1
- package/dist/components/examples/index.esm.js +1 -1
- package/dist/components/examples/index.js +1 -1
- package/dist/components/filter/components/index.esm.js +1 -1
- package/dist/components/filter/components/index.js +1 -1
- package/dist/components/filter/components/value-editor/index.esm.js +1 -1
- package/dist/components/filter/components/value-editor/index.js +1 -1
- package/dist/components/filter/filter/index.esm.js +1 -1
- package/dist/components/filter/filter/index.js +1 -1
- package/dist/components/filter/index.esm.js +2 -2
- package/dist/components/filter/index.js +2 -2
- package/dist/components/footer/footer/index.esm.js +1 -1
- package/dist/components/footer/footer/index.js +1 -1
- package/dist/components/footer/index.esm.js +1 -1
- package/dist/components/footer/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/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 +3 -3
- package/dist/components/form-control/form-builder/form-builder-element/index.js +3 -3
- package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/table/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/table/index.js +1 -1
- package/dist/components/form-control/form-builder/index.esm.js +3 -3
- package/dist/components/form-control/form-builder/index.js +3 -3
- package/dist/components/form-control/form-parser/form-parser/index.esm.js +1 -1
- package/dist/components/form-control/form-parser/form-parser/index.js +1 -1
- package/dist/components/form-control/form-parser/form-section/index.esm.js +1 -1
- package/dist/components/form-control/form-parser/form-section/index.js +1 -1
- package/dist/components/form-control/form-parser/index.esm.js +2 -2
- package/dist/components/form-control/form-parser/index.js +2 -2
- package/dist/components/form-control/index.esm.js +5 -5
- package/dist/components/form-control/index.js +5 -5
- package/dist/components/header/components/app-switcher/index.esm.js +1 -1
- package/dist/components/header/components/app-switcher/index.js +1 -1
- package/dist/components/header/components/global-search/index.esm.js +1 -1
- package/dist/components/header/components/global-search/index.js +1 -1
- package/dist/components/header/components/index.esm.js +1 -1
- package/dist/components/header/components/index.js +1 -1
- package/dist/components/header/components/notification-menu/index.esm.js +1 -1
- package/dist/components/header/components/notification-menu/index.js +1 -1
- package/dist/components/header/components/notification-menu/notification-menu/index.esm.js +1 -1
- package/dist/components/header/components/notification-menu/notification-menu/index.js +1 -1
- package/dist/components/header/header/index.esm.js +1 -1
- package/dist/components/header/header/index.js +1 -1
- package/dist/components/header/header-enhanced/index.esm.js +1 -1
- package/dist/components/header/header-enhanced/index.js +1 -1
- package/dist/components/header/index.esm.js +3 -3
- package/dist/components/header/index.js +3 -3
- package/dist/components/index.esm.js +26 -26
- package/dist/components/index.js +26 -26
- package/dist/components/inventory-reports-title-bar/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.js +1 -1
- package/dist/components/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/reports-title-bar/index.esm.js +1 -1
- package/dist/components/reports-title-bar/index.js +1 -1
- package/dist/components/reports-title-bar/reports-title-bar/index.esm.js +1 -1
- package/dist/components/reports-title-bar/reports-title-bar/index.js +1 -1
- package/dist/components/rfq-response/index.esm.js +1 -1
- package/dist/components/rfq-response/index.js +1 -1
- package/dist/components/rfq-response/item-response-details/index.esm.js +1 -1
- package/dist/components/rfq-response/item-response-details/index.js +1 -1
- package/dist/components/schedule-report/index.esm.js +2 -2
- package/dist/components/schedule-report/index.js +2 -2
- package/dist/components/schedule-report/schedule-report/index.esm.js +1 -1
- package/dist/components/schedule-report/schedule-report/index.js +1 -1
- package/dist/components/schedule-report/schedule-report-modal/index.esm.js +1 -1
- package/dist/components/schedule-report/schedule-report-modal/index.js +1 -1
- package/dist/components/searchable-select/index.esm.js +1 -1
- package/dist/components/searchable-select/index.js +1 -1
- package/dist/components/share-modal/index.esm.js +2 -2
- package/dist/components/share-modal/index.js +2 -2
- package/dist/components/share-modal/share-modal/index.esm.js +1 -1
- package/dist/components/share-modal/share-modal/index.js +1 -1
- package/dist/components/share-modal/share-modal-enhanced/index.esm.js +1 -1
- package/dist/components/share-modal/share-modal-enhanced/index.js +1 -1
- package/dist/components/team-add-modal/index.esm.js +1 -1
- package/dist/components/team-add-modal/index.js +1 -1
- package/dist/components/uom-field-wrapper/index.esm.js +1 -1
- package/dist/components/uom-field-wrapper/index.js +1 -1
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js +1 -1
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js +1 -1
- package/dist/components/vendor-ai-summary/index.esm.js +1 -1
- package/dist/components/vendor-ai-summary/index.js +1 -1
- package/dist/constants/index.esm.js +145 -143
- package/dist/constants/index.js +5 -3
- package/dist/constants/index.js.map +1 -1
- package/dist/hooks/index.esm.js +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-translations/index.esm.js +1 -1
- package/dist/hooks/use-translations/index.js +1 -1
- package/dist/index.esm.js +182 -180
- package/dist/index.js +43 -41
- 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/runtime/index.esm.js +2 -2
- package/dist/runtime/index.js +2 -2
- package/dist/src/constants/defaultColumns.d.ts +1 -0
- package/dist/src/constants/pathnames/pathname.procurement.d.ts +4 -0
- package/dist/utils/export-filters/index.esm.js +1 -0
- package/dist/utils/export-filters/index.esm.js.map +1 -1
- package/dist/utils/export-filters/index.js +1 -0
- package/dist/utils/export-filters/index.js.map +1 -1
- package/dist/views/afterAuth/dashboard/index.esm.js +1 -1
- package/dist/views/afterAuth/dashboard/index.js +1 -1
- package/dist/views/afterAuth/index.esm.js +2 -2
- package/dist/views/afterAuth/index.js +2 -2
- package/dist/views/afterAuth/page-view/index.esm.js +1 -1
- package/dist/views/afterAuth/page-view/index.js +1 -1
- package/dist/views/form-builder/custom-form/index.esm.js +1 -1
- package/dist/views/form-builder/custom-form/index.js +1 -1
- package/dist/views/form-builder/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 +3 -3
- package/dist/views/form-builder/index.js +3 -3
- package/dist/views/form-builder/utils/index.esm.js +1 -1
- package/dist/views/form-builder/utils/index.js +1 -1
- package/dist/views/index.esm.js +10 -10
- package/dist/views/index.js +10 -10
- 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/index.esm.js +5 -5
- package/dist/views/template-editor/index.js +5 -5
- 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/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory-reports-title-bar-DPS3r5V2.esm.js","sources":["../../src/components/inventory-reports-title-bar/inventory-reports-title-bar.tsx"],"sourcesContent":["import Button from \"../button/button\";\nimport Typography from \"../typography/typography\";\nimport \"./inventory-reports-title-bar.scss\";\n\nimport TitleDropdownButton from \"../title-dropdown-button/title-dropdown-button\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\nimport { generateFields } from \"../../utils/common\";\nimport ReportButtons, { IReportButtons } from \"./report-buttons/report-buttons\";\nimport TabBar, { TabProps } from \"../tabs/tabs\";\nimport { Box, ButtonGroup, ClickAwayListener, Divider, Grow, Menu, MenuItem, Paper, Popper, Button as MuiButton } from \"@mui/material\";\nimport images from \"../../assets/images\";\nimport { enUS } from 'date-fns/locale'; // Import the desired locale\n// import ReportFilter from './component/reportFilter'\nimport {\n handleCompareDateRangeSync as handleCompareDateRange,\n RANGE,\n} from \"../../utils/date-range\";\nimport { DateRange, Calendar } from \"react-date-range\";\nimport \"react-date-range/dist/styles.css\"; // main css file\nimport \"react-date-range/dist/theme/default.css\"; // theme css file\nimport dayjs from \"dayjs\";\n// import { fetchOptions } from \"./redux/actionCreator\";\nimport React from \"react\";\nimport HeaderCard from \"../header-card/header-card\";\nimport viewTypes from \"../../constants/action-bar\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport Checkbox from \"../checkbox/checkbox\";\nimport SearchableSelect from \"../searchable-select\";\nimport { Filter as FilterIcon } from \"../icons\";\n\ninterface IReportFilters {\n company: number;\n start_date: string;\n end_date: string;\n as_of_date: string;\n item_id: string | number;\n warehouse_id: string | number;\n assembly_item_id: number | string;\n bom_id: number | string\n}\n\n/** Descriptor for a custom component injected into the filter row. */\ninterface ICustomFilterComponent {\n /** Unique key used for React reconciliation. */\n key: string;\n /** The ReactNode to render inside the filter bar. */\n component: React.ReactNode;\n}\n\ninterface ActionBarPropsType extends Partial<TabProps>, IReportButtons {\n title: string;\n handleAddButton?: (e?: any) => void;\n isTitleMenu?: boolean;\n titleMenus?: any;\n reportFilterFields?: any[];\n isDateFilterEnabled?: boolean;\n onDateFilterChange?: (data: Partial<IReportFilters>) => void;\n filters?: Partial<IReportFilters>;\n isDateRange?: boolean;\n activeView?: string;\n setActiveView?: (string: string) => void;\n handleSearch?: (string: string) => void;\n showLevelBtn?: boolean;\n handleRowsExpand: () => void;\n handleRowsCollapse: () => void;\n customElement?: React.ReactNode;\n showLeftContent: boolean;\n showAssembluItemsFilter?: boolean;\n showBomFilter: boolean;\n isViewButton?: boolean;\n handleRedirect?: () => void;\n buttonText?: string;\n dataLength: number,\n filterDropDown: any[],\n filterKeys?: any,\n customSelectedFilter?: any[],\n customFilterConfig?: any[],\n /**\n * When `false` the Date chip and the date-range dropdown button are hidden\n * and date-related keys (`start_date`, `end_date`, `as_of_date`) are stripped\n * from every filter payload so they cannot reach the API.\n * Defaults to `true` (backward-compatible).\n */\n showDateFilter?: boolean;\n /**\n * Optional list of custom components to render inside the filter row.\n * Each entry must have a unique `key` and a `component` (ReactNode).\n * They are appended after the standard SearchableSelect filters.\n */\n customFilterComponents?: ICustomFilterComponent[];\n}\n\ntype TDatePickerVal = {\n startDate?: Date;\n endDate?: Date;\n key?: string;\n};\n\nconst customStyle =\n{\n\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n border: 'none',\n },\n '&:hover fieldset': {\n border: 'none',\n },\n\n '&.Mui-focused fieldset': {\n border: 'none',\n },\n\n },\n}\nconst InventoryReportsTitleBar = (props: ActionBarPropsType) => {\n const {\n title,\n handleAddButton,\n buttons = [],\n dropdownMenuButtonData,\n isTitleMenu = false,\n titleMenus = [],\n reportFilterFields = [],\n toggleCallback,\n tabs,\n activeValue,\n setActiveValue,\n isDateFilterEnabled,\n onDateFilterChange,\n filters = {},\n isDateRange = true,\n activeView = \"\",\n setActiveView,\n handleSearch,\n showLevelBtn = false,\n handleRowsExpand,\n handleRowsCollapse,\n customElement,\n showLeftContent = true,\n // showAssembluItemsFilter = false,\n // showBomFilter = false,\n isViewButton = false,\n handleRedirect,\n buttonText = '',\n dataLength,\n filterDropDown = [],\n filterKeys,\n customFilterConfig = [],\n customSelectedFilter = [],\n /** Hide the date chip and date-range dropdown when false. Defaults to true. */\n showDateFilter = true,\n /** Custom ReactNode components rendered after the standard filters. */\n customFilterComponents = [],\n } = props;\n\n // When `showDateFilter` is false, exclude the 'date' entry from the\n // default selection so the date chip is never active.\n const defaultSelectedFilter = [\n // Only include 'date' when the date field is enabled.\n ...(showDateFilter ? [{ value: 'date' }] : []),\n {\n value: 'location',\n },\n {\n value: 'company',\n },\n ]\n\n const defaultConfig = [\n {\n key: 'company',\n label: 'Search Company',\n placeholder: 'Company',\n apiType: 'company',\n valueKey: filterKeys?.['company'] ? filterKeys['company'] : 'company',\n customFilter: null,\n },\n {\n key: 'assembly_item',\n label: 'Search Assembaly Items',\n placeholder: 'Assembaly Items',\n apiType: 'assemblyItems',\n valueKey: filterKeys?.['assembly_item'] ? filterKeys['assembly_item'] : 'assembly_item_id',\n },\n {\n key: 'item',\n label: 'Search Items',\n placeholder: 'Items',\n apiType: 'reportItems',\n valueKey: filterKeys?.['item'] ? filterKeys['item'] : 'item_id',\n multiple: true\n },\n {\n key: 'location',\n label: 'Search Warehouse Location',\n placeholder: 'Warehouse Location',\n apiType: 'location',\n valueKey: filterKeys?.['location'] ? filterKeys['location'] : 'warehouse_id',\n customFilter: null,\n multiple: true\n\n },\n {\n key: 'bom',\n label: 'Search Bill of Materials',\n placeholder: 'Filter Bill of Materials',\n apiType: 'bom',\n valueKey: filterKeys?.['bom'] ? filterKeys['bom'] : 'bom_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'work_order',\n label: 'Search Work Order',\n placeholder: ' Work Order',\n apiType: 'workOrder',\n valueKey: filterKeys?.['work_order'] ? filterKeys['work_order'] : 'work_order_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'routing',\n label: 'Search Routing',\n placeholder: ' Routing',\n apiType: 'routing',\n valueKey: filterKeys?.['routing'] ? filterKeys['routing'] : 'routing_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'operation',\n label: 'Search Operation',\n placeholder: ' Operation',\n apiType: 'operations',\n valueKey: filterKeys?.['operation'] ? filterKeys['operation'] : 'operation_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'equipment',\n label: 'Search Equipment',\n placeholder: ' Equipment',\n apiType: 'equipment',\n valueKey: filterKeys?.['equipment'] ? filterKeys['equipment'] : 'equipment_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'work_center',\n label: 'Search Work Center',\n placeholder: ' Work Center',\n apiType: 'workCenter',\n valueKey: filterKeys?.['work_center'] ? filterKeys['work_center'] : 'work_center_id',\n customFilter: null,\n multiple: true\n },\n\n ]\n const filtersConfig = useMemo(() => {\n return [...defaultConfig, ...customFilterConfig]\n }, []);\n const inputStyle =\n {\n border: \"none\",\n \"&.Mui-focused\": {\n borderColor: \"transparent\",\n },\n \"& .MuiOutlinedInput-input\": {\n padding: \"0px\",\n fontSize: \"14px\",\n color: '#289b64'\n },\n \"& .MuiOutlinedInput-notchedOutline\": {\n border: \"none\",\n },\n '& .MuiSelect-icon': {\n color: 'green',\n },\n }\n\n\n /**\n * Wraps `onDateFilterChange` to strip date-related keys when\n * `showDateFilter` is false, guaranteeing they never reach the API.\n * Defined before `renderFilter` to avoid temporal dead zone errors.\n */\n const safeOnDateFilterChange = (data: Partial<IReportFilters>) => {\n if (!onDateFilterChange) return;\n if (showDateFilter) {\n onDateFilterChange(data);\n } else {\n // Strip all date fields so they cannot pollute the request payload.\n const { start_date, end_date, as_of_date, ...rest } = data;\n onDateFilterChange(rest as Partial<IReportFilters>);\n }\n };\n\n const renderFilter = ({\n key,\n label,\n placeholder,\n apiType,\n valueKey,\n customFilter,\n multiple = false\n }: any) => {\n if (!showFilter(key)) return null;\n\n return (\n <div className=\"search-filter\" key={key}>\n <SearchableSelect\n labelId={`${key}-label`}\n searchPlaceholder={label}\n value={filters?.[valueKey]}\n onChange={(e) => safeOnDateFilterChange({ [valueKey]: e.target.value } as Partial<IReportFilters>)}\n apiType={apiType}\n multiple={multiple}\n placeholder={placeholder}\n customeFilter={customFilter}\n // CustomDropDownIcon={FilterAltIcon}\n customStyle={customStyle}\n inputStyle={inputStyle}\n />\n </div>\n );\n };\n // const dispatch = useAppDispatch();\n\n const FilterContainer = () => (\n <>\n {filtersConfig.map(renderFilter)}\n {/* Render any custom components injected by the consumer */}\n {customFilterComponents.map(({ key, component }) => (\n <React.Fragment key={key}>{component}</React.Fragment>\n ))}\n </>\n );\n\n\n\n\n // eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n // eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n const [allFields, setAllFields] = useState<any[]>([]);\n const [dateRange, setDateRange] = useState<keyof typeof RANGE>(\"TODAY\");\n const [open, setOpen] = useState<boolean>(false);\n const [customDate, setCustomDate] = useState<Date>(\n new Date(dayjs(filters?.as_of_date || \"\").format(\"YYYY-MM-DD\"))\n );\n\n const defaultSelected = useMemo(() => {\n return [...defaultSelectedFilter, ...customSelectedFilter]\n }, [])\n const [selectedItems, setSelectedItems] = useState<string[]>(defaultSelected);\n\n const [level, setLevel] = useState<number>(1)\n const [customDateRange, setCustomDateRange] = useState<TDatePickerVal>({\n startDate: new Date(dayjs(filters?.start_date || \"\").format(\"YYYY-MM-DD\")),\n endDate: new Date(dayjs(filters?.end_date || \"\").format(\"YYYY-MM-DD\")),\n key: \"selection\",\n });\n const anchorRef = useRef<HTMLDivElement | null>(null);\n const [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(\n null\n );\n\n const dateSelectRef = useRef<HTMLDivElement>(null);\n const chipDateSelectRef = useRef<HTMLDivElement>(null);\n\n const handleCloseDatePopper = () => {\n anchorRef.current = null;\n setOpen(false);\n };\n\n const handleDateChange = (range: keyof typeof RANGE) => {\n // Do nothing if the date filter is hidden — guard against programmatic calls.\n if (!showDateFilter) return;\n setDateRange(range);\n if (range === \"CUSTOM\") {\n anchorRef.current = dateSelectRef.current;\n setOpen(true);\n } else {\n const data = handleCompareDateRange({\n range: RANGE[range],\n from: \"\",\n to: \"\",\n });\n safeOnDateFilterChange({\n start_date: data?.from ? data?.from : \"\",\n end_date: data?.to ? data?.to : \"\",\n });\n handleCloseDatePopper();\n }\n };\n\n\n const handleClose = (event: Event) => {\n if (\n anchorRef.current &&\n anchorRef.current.contains(event.target as HTMLElement)\n ) {\n return;\n }\n\n handleCloseDatePopper();\n };\n\n const options = [\n {\n label: RANGE.TODAY,\n callback: () => {\n handleDateChange(\"TODAY\");\n },\n },\n {\n label: RANGE.THIS_WEEK,\n callback: () => {\n handleDateChange(\"THIS_WEEK\");\n },\n },\n {\n label: RANGE.THIS_MONTH,\n callback: () => {\n handleDateChange(\"THIS_MONTH\");\n },\n },\n {\n label: RANGE.THIS_QUARTER,\n callback: () => {\n handleDateChange(\"THIS_QUARTER\");\n },\n },\n {\n label: RANGE.THIS_YEAR,\n callback: () => {\n handleDateChange(\"THIS_YEAR\");\n },\n },\n {\n label: RANGE.YESTERDAY,\n callback: () => {\n handleDateChange(\"YESTERDAY\");\n },\n },\n {\n label: RANGE.PREVIOUS_WEEK,\n callback: () => {\n handleDateChange(\"PREVIOUS_WEEK\");\n },\n },\n {\n label: RANGE.PREVIOUS_MONTH,\n callback: () => {\n handleDateChange(\"PREVIOUS_MONTH\");\n },\n },\n {\n label: RANGE.PREVIOUS_QUARTER,\n callback: () => {\n handleDateChange(\"PREVIOUS_QUARTER\");\n },\n },\n {\n label: RANGE.PREVIOUS_YEAR,\n callback: () => {\n handleDateChange(\"PREVIOUS_YEAR\");\n },\n },\n {\n label: RANGE.CUSTOM,\n callback: () => {\n handleDateChange(\"CUSTOM\");\n },\n },\n ];\n\n const isChecked = (value: any) => {\n return selectedItems.some(item => item?.value == value?.value)\n }\n\n const handleFilterPopperSubmit = () => {\n const dateRangeFilter = {\n start_date: dayjs(customDateRange.startDate).format(\"YYYY-MM-DD\"),\n end_date: dayjs(customDateRange.endDate).format(\"YYYY-MM-DD\"),\n };\n const dateFilter = {\n as_of_date: dayjs(customDate).format(\"YYYY-MM-DD\"),\n };\n\n // Use safeOnDateFilterChange so date keys are stripped when showDateFilter is false.\n safeOnDateFilterChange({\n ...(isDateRange ? dateRangeFilter : dateFilter),\n });\n handleCloseDatePopper();\n };\n const handleFilterClose = () => {\n setActionAnchorEl(null);\n };\n const handleSelectChange = (value: any) => {\n if (selectedItems.some((item) => item.value == value.value)) {\n setSelectedItems(selectedItems.filter((item) => item?.value != value.value));\n return;\n }\n setSelectedItems([...selectedItems, value]);\n };\n function showFilter(val) {\n return selectedItems.some(item => item?.value == val)\n }\n const filterDropDownFunc = () => {\n return (\n <Menu\n anchorEl={actionAnchorEl}\n open={Boolean(actionAnchorEl)}\n onClose={handleFilterClose}\n >\n {/* <MenuItem className=\"inventoryReportsTitleBar--report-filter\"> */}\n {/* Add your options here */}\n {filterDropDown?.map((item) => (\n <MenuItem onClick={() => handleSelectChange(item)} key={item} value={item?.value}>\n <Checkbox checked={isChecked(item)} />\n <Typography sx={{ marginLeft: '10px' }} color='theme.neutral.800' type='s3'>{item?.name}</Typography>\n </MenuItem>\n ))}\n {/* </MenuItem> */}\n </Menu>\n );\n };\n useEffect(() => {\n setCustomDate(\n new Date(dayjs(filters?.as_of_date || \"\").format(\"YYYY-MM-DD\"))\n );\n }, [filters?.as_of_date]);\n\n useEffect(() => {\n setCustomDateRange({\n ...customDateRange,\n startDate: new Date(\n dayjs(filters?.start_date || \"\").format(\"YYYY-MM-DD\")\n ),\n endDate: new Date(dayjs(filters?.end_date || \"\").format(\"YYYY-MM-DD\")),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters?.end_date, filters?.start_date]);\n\n useEffect(() => {\n if (open) {\n if (isDateRange) {\n setCustomDateRange({\n ...customDateRange,\n startDate: new Date(\n dayjs(filters?.start_date || \"\").format(\"YYYY-MM-DD\")\n ),\n endDate: new Date(\n dayjs(filters?.end_date || \"\").format(\"YYYY-MM-DD\")\n ),\n });\n } else {\n setCustomDate(\n new Date(dayjs(filters?.as_of_date || \"\").format(\"YYYY-MM-DD\"))\n );\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, isDateRange]);\n\n // useEffect(() => {\n // // dispatch(fetchOptions());\n // if (showBomFilter) {\n // dispatch(fetchBom())\n // }\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, []);\n\n useEffect(() => {\n setAllFields(generateFields(reportFilterFields));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reportFilterFields]);\n\n return (\n <div>\n <div className=\"inventoryReportsTitleBar\">\n {showLeftContent && <div className=\"inventoryReportsTitleBar--LeftContent\">\n {isTitleMenu ? (\n <div style={{ zIndex: 999 }}>\n <TitleDropdownButton\n onClick={handleAddButton}\n options={titleMenus}\n isMenuThirdItemDisabled={true}\n >\n {title}\n </TitleDropdownButton>\n </div>\n ) : (\n <Typography type=\"h3\" weight=\"medium\" color=\"theme.secondary.1000\">\n {title}\n </Typography>\n )}\n {[\n { label: viewTypes.TABLE, position: 1 },\n { label: viewTypes.CHART, position: 2 },\n ]\n .map((ele) => ele)\n .sort((a, b) => a.position - b.position)\n .map((item) => (\n <HeaderCard\n key={item?.position}\n title={item?.label}\n active={activeView}\n onClick={() => setActiveView?.(item.label)}\n />\n ))}\n\n </div>}\n {isViewButton &&\n <div className=\"inventoryReportsTitleBar--ExtraButtonUi\">\n <Button onClick={handleRedirect} >{buttonText}</Button>\n </div>\n }\n <ReportButtons\n zIndex={999}\n className=\"inventoryReportsTitleBar--RightContent\"\n buttons={buttons}\n dropdownMenuButtonData={dropdownMenuButtonData}\n toggleCallback={toggleCallback}\n variant={\"contained\"}\n iconPosition=\"end\"\n />\n {customElement && <Box >\n {customElement}\n </Box>}\n\n </div>\n <Divider sx={{ mb: 2, mx: 1, borderColor: 'grey.200' }} />\n\n {tabs?.length ? (\n <div>\n <TabBar\n tabs={tabs || []}\n activeValue={activeValue}\n setActiveValue={setActiveValue}\n />\n </div>\n ) : null}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: 1,\n flexWrap: 'wrap',\n mx: 1\n }}\n >\n <div className=\"inventoryReportsTitleBar--FilterWrapper\">\n\n {/* Date range chip — hidden when showDateFilter is false */}\n {showDateFilter && showFilter('date') && isDateRange && (\n <div style={{ display: \"flex\", gap: \"8px\" }}>\n <div\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip\"\n ref={chipDateSelectRef}\n onClick={() => {\n if (!open) {\n anchorRef.current = chipDateSelectRef.current;\n setOpen(true);\n } else {\n handleCloseDatePopper();\n }\n }}\n >\n <div\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip--Text\"\n title={`${dayjs(filters?.start_date).format(\"DD/MM/YYYY\")} - ${dayjs(filters?.end_date).format(\"DD/MM/YYYY\")}`}\n >\n <Typography type=\"s4\" weight=\"medium\">\n Date Range:\n </Typography>\n <Typography\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip--Text--Value\"\n type=\"s4\"\n >\n {dayjs(filters?.start_date).format(\"DD/MM/YYYY\")} -{\" \"}\n {dayjs(filters?.end_date).format(\"DD/MM/YYYY\")}\n </Typography>\n </div>\n <KeyboardArrowDownIcon />\n </div>\n </div>\n )}\n {/* As-of-date chip — hidden when showDateFilter is false */}\n {showDateFilter && showFilter('date') && filters?.as_of_date && !isDateRange && (\n <div style={{ display: \"flex\", gap: \"8px\" }}>\n <div\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip\"\n ref={chipDateSelectRef}\n onClick={() => {\n if (!open) {\n anchorRef.current = chipDateSelectRef.current;\n setOpen(true);\n } else {\n handleCloseDatePopper();\n }\n }}\n >\n <div\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip--Text\"\n title={`${dayjs(filters?.as_of_date).format(\"DD/MM/YYYY\")}`}\n >\n <Typography type=\"s4\" weight=\"medium\">\n Date:\n </Typography>\n <Typography\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip--Text--Value\"\n type=\"s4\"\n >\n {dayjs(filters?.as_of_date).format(\"DD/MM/YYYY\")}\n </Typography>\n </div>\n <KeyboardArrowDownIcon />\n </div>\n </div>\n )}\n {FilterContainer()}\n </div>\n\n\n {/* Date-range dropdown button — only shown when both isDateFilterEnabled AND showDateFilter are true */}\n {isDateFilterEnabled && showDateFilter && <div className=\"inventoryReportsTitleBar--FilterAction\">\n (\n <>\n <ReportButtons\n zIndex={997}\n className=\"inventoryReportsTitleBar--RightContent\"\n dropdownMenuButtonData={{\n icon: <img src={images.sidebar.calendar2} />,\n children: (\n <>\n {RANGE[dateRange]}\n <KeyboardArrowDownIcon />\n </>\n ),\n options: options,\n }}\n toggleCallback={toggleCallback}\n />\n <div ref={dateSelectRef}></div>\n </>\n )\n </div>\n }\n <div className=\"inventoryReportsTitleBar--FilterAction\">\n <Button\n sx={({ palette }) => ({\n border: \"1px solid\",\n borderColor: 'grey.200',\n borderRadius: \"50px\",\n color: `${palette.grey[800]} !important`,\n '&:hover': {\n bgcolor: `${palette.grey[200]} !important`,\n }\n })}\n variant=\"text\"\n startIcon={<FilterIcon fontSize=\"small\" />}\n onClick={(event) => setActionAnchorEl(event.currentTarget)}\n >\n Filter\n </Button>\n {showLevelBtn && <Divider flexItem orientation=\"vertical\" sx={{ alignSelf: 'auto' }} />}\n {filterDropDownFunc()}\n {showLevelBtn && (\n <>\n <Box className=\"inventoryReportsTitleBar--FilterAction--lvWrapper\">\n <Typography type=\"s3\" weight=\"medium\" color='grey.800'> Level {level} of {dataLength}</Typography>\n <ButtonGroup variant=\"outlined\" disableElevation sx={({ palette }) => ({\n '& .MuiButton-root': {\n borderColor: `${palette.grey[200]} !important`,\n '&:hover': {\n bgcolor: `${palette.grey[200]} !important`,\n }\n },\n '& .MuiButtonGroup-firstButton': {\n borderTopLeftRadius: 20,\n borderBottomLeftRadius: 20\n },\n '& .MuiButtonGroup-lastButton': {\n borderTopRightRadius: 20,\n borderBottomRightRadius: 20\n }\n })}>\n <MuiButton onClick={() => {\n setLevel(level == dataLength ? level : level + 1)\n handleRowsCollapse?.(level)\n }}>\n <img src={images.common.expand} />\n </MuiButton>\n <MuiButton onClick={() => {\n setLevel(level != 1 ? level - 1 : 1)\n handleRowsExpand?.(level)\n }}>\n <img src={images.common.collapse} />\n </MuiButton>\n </ButtonGroup>\n </Box>\n </>\n )}\n <SearchBar\n placeholder=\"Search\"\n handleSearch={(val) => handleSearch?.(val)}\n sx={{\n width: \"250px\",\n background: \"#fff !important\",\n border: \"1px solid #F3F2F2 !important\",\n }}\n />\n </div>\n </Box>\n\n <Divider sx={{ my: 2, mx: 1, borderColor: 'grey.200' }} />\n\n <Popper\n sx={{\n zIndex: 9999,\n }}\n open={open}\n anchorEl={anchorRef.current}\n role={undefined}\n transition\n disablePortal\n >\n {({ TransitionProps, placement }) => (\n <Grow\n {...TransitionProps}\n style={{\n margin: \"0 20px 0 20px\",\n transformOrigin:\n placement === \"bottom\" ? \"center top\" : \"center bottom\",\n }}\n >\n <Paper>\n <ClickAwayListener onClickAway={handleClose}>\n <Box\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-end\",\n }}\n >\n <div>\n {isDateRange ? (\n <DateRange\n editableDateInputs={true}\n onChange={(item) => setCustomDateRange(item.selection)}\n moveRangeOnFirstSelection={false}\n ranges={[customDateRange]}\n locale={enUS}\n />\n ) : (\n <Calendar\n onChange={(item) => setCustomDate(item)}\n date={customDate}\n locale={enUS}\n />\n )}\n </div>\n <Box sx={{ padding: \"0 12px 12px 0\" }}>\n <Button\n variant=\"contained\"\n sx={{ width: \"fit-content\" }}\n onClick={handleFilterPopperSubmit}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </ClickAwayListener>\n </Paper>\n </Grow>\n )}\n </Popper>\n\n </div>\n );\n};\n\nexport { InventoryReportsTitleBar };\nexport default InventoryReportsTitleBar;\n"],"names":["React","handleCompareDateRange","FilterIcon","MuiButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAmGA,MAAM,cACN;AAAA,EAEE,4BAA4B;AAAA,IAC1B,cAAc;AAAA,MACZ,QAAQ;AAAA,IAAA;AAAA,IAEV,oBAAoB;AAAA,MAClB,QAAQ;AAAA,IAAA;AAAA,IAGV,0BAA0B;AAAA,MACxB,QAAQ;AAAA,IAAA;AAAA,EACV;AAGJ;AACA,MAAM,2BAA2B,CAAC,UAA8B;AAC9D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,UAAU,CAAA;AAAA,IACV;AAAA,IACA,cAAc;AAAA,IACd,aAAa,CAAA;AAAA,IACb,qBAAqB,CAAA;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,CAAA;AAAA,IACV,cAAc;AAAA,IACd,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA;AAAA;AAAA,IAGlB,eAAe;AAAA,IACf;AAAA,IACA,aAAa;AAAA,IACb;AAAA,IACA,iBAAiB,CAAA;AAAA,IACjB;AAAA,IACA,qBAAqB,CAAA;AAAA,IACrB,uBAAuB,CAAA;AAAA;AAAA,IAEvB,iBAAiB;AAAA;AAAA,IAEjB,yBAAyB,CAAA;AAAA,EAAC,IACxB;AAIJ,QAAM,wBAAwB;AAAA;AAAA,IAE5B,GAAI,iBAAiB,CAAC,EAAE,OAAO,OAAA,CAAQ,IAAI,CAAA;AAAA,IAC3C;AAAA,MACE,OAAO;AAAA,IAAA;AAAA,IAET;AAAA,MACE,OAAO;AAAA,IAAA;AAAA,EACT;AAGF,QAAM,gBAAgB;AAAA,IACpB;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,cAAa,WAAW,SAAS,IAAI;AAAA,MAC5D,cAAc;AAAA,IAAA;AAAA,IAEhB;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,oBAAmB,WAAW,eAAe,IAAI;AAAA,IAAA;AAAA,IAE1E;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,WAAU,WAAW,MAAM,IAAI;AAAA,MACtD,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,eAAc,WAAW,UAAU,IAAI;AAAA,MAC9D,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAGZ;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,UAAS,WAAW,KAAK,IAAI;AAAA,MACpD,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,iBAAgB,WAAW,YAAY,IAAI;AAAA,MAClE,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,cAAa,WAAW,SAAS,IAAI;AAAA,MAC5D,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,gBAAe,WAAW,WAAW,IAAI;AAAA,MAChE,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,gBAAe,WAAW,WAAW,IAAI;AAAA,MAChE,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,KAAK;AAAA,MACL,OAAO;AAAA,MACP,aAAa;AAAA,MACb,SAAS;AAAA,MACT,WAAU,yCAAa,kBAAiB,WAAW,aAAa,IAAI;AAAA,MACpE,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,EACZ;AAGF,QAAM,gBAAgB,QAAQ,MAAM;AAClC,WAAO,CAAC,GAAG,eAAe,GAAG,kBAAkB;AAAA,EACjD,GAAG,CAAA,CAAE;AACL,QAAM,aACN;AAAA,IACE,QAAQ;AAAA,IACR,iBAAiB;AAAA,MACf,aAAa;AAAA,IAAA;AAAA,IAEf,6BAA6B;AAAA,MAC3B,SAAS;AAAA,MACT,UAAU;AAAA,MACV,OAAO;AAAA,IAAA;AAAA,IAET,sCAAsC;AAAA,MACpC,QAAQ;AAAA,IAAA;AAAA,IAEV,qBAAqB;AAAA,MACnB,OAAO;AAAA,IAAA;AAAA,EACT;AASF,QAAM,yBAAyB,CAAC,SAAkC;AAChE,QAAI,CAAC,mBAAoB;AACzB,QAAI,gBAAgB;AAClB,yBAAmB,IAAI;AAAA,IACzB,OAAO;AAEL,YAAM,EAAE,YAAY,UAAU,YAAY,GAAG,SAAS;AACtD,yBAAmB,IAA+B;AAAA,IACpD;AAAA,EACF;AAEA,QAAM,eAAe,CAAC;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,EAAA,MACF;AACT,QAAI,CAAC,WAAW,GAAG,EAAG,QAAO;AAE7B,WACE,oBAAC,OAAA,EAAI,WAAU,iBACb,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,GAAG,GAAG;AAAA,QACf,mBAAmB;AAAA,QACnB,OAAO,mCAAU;AAAA,QACjB,UAAU,CAAC,MAAM,uBAAuB,EAAE,CAAC,QAAQ,GAAG,EAAE,OAAO,OAAkC;AAAA,QACjG;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QAEf;AAAA,QACA;AAAA,MAAA;AAAA,IAAA,KAZgC,GAcpC;AAAA,EAEJ;AAGA,QAAM,kBAAkB,MACtB,qBAAA,UAAA,EACG,UAAA;AAAA,IAAA,cAAc,IAAI,YAAY;AAAA,IAE9B,uBAAuB,IAAI,CAAC,EAAE,KAAK,UAAA,MAClC,oBAACA,eAAM,UAAN,EAA0B,UAAA,UAAA,GAAN,GAAgB,CACtC;AAAA,EAAA,GACH;AAQF,QAAM,CAAC,WAAW,YAAY,IAAI,SAAgB,CAAA,CAAE;AACpD,QAAM,CAAC,WAAW,YAAY,IAAI,SAA6B,OAAO;AACtE,QAAM,CAAC,MAAM,OAAO,IAAI,SAAkB,KAAK;AAC/C,QAAM,CAAC,YAAY,aAAa,IAAI;AAAA,IAClC,IAAI,KAAK,OAAM,mCAAS,eAAc,EAAE,EAAE,OAAO,YAAY,CAAC;AAAA,EAAA;AAGhE,QAAM,kBAAkB,QAAQ,MAAM;AACpC,WAAO,CAAC,GAAG,uBAAuB,GAAG,oBAAoB;AAAA,EAC3D,GAAG,CAAA,CAAE;AACL,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAmB,eAAe;AAE5E,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,CAAC;AAC5C,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAyB;AAAA,IACrE,WAAW,IAAI,KAAK,OAAM,mCAAS,eAAc,EAAE,EAAE,OAAO,YAAY,CAAC;AAAA,IACzE,SAAS,IAAI,KAAK,OAAM,mCAAS,aAAY,EAAE,EAAE,OAAO,YAAY,CAAC;AAAA,IACrE,KAAK;AAAA,EAAA,CACN;AACD,QAAM,YAAY,OAA8B,IAAI;AACpD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI;AAAA,IAC1C;AAAA,EAAA;AAGF,QAAM,gBAAgB,OAAuB,IAAI;AACjD,QAAM,oBAAoB,OAAuB,IAAI;AAErD,QAAM,wBAAwB,MAAM;AAClC,cAAU,UAAU;AACpB,YAAQ,KAAK;AAAA,EACf;AAEA,QAAM,mBAAmB,CAAC,UAA8B;AAEtD,QAAI,CAAC,eAAgB;AACrB,iBAAa,KAAK;AAClB,QAAI,UAAU,UAAU;AACtB,gBAAU,UAAU,cAAc;AAClC,cAAQ,IAAI;AAAA,IACd,OAAO;AACL,YAAM,OAAOC,2BAAuB;AAAA,QAClC,OAAO,MAAM,KAAK;AAAA,QAClB,MAAM;AAAA,QACN,IAAI;AAAA,MAAA,CACL;AACD,6BAAuB;AAAA,QACrB,aAAY,6BAAM,QAAO,6BAAM,OAAO;AAAA,QACtC,WAAU,6BAAM,MAAK,6BAAM,KAAK;AAAA,MAAA,CACjC;AACD,4BAAA;AAAA,IACF;AAAA,EACF;AAGA,QAAM,cAAc,CAAC,UAAiB;AACpC,QACE,UAAU,WACV,UAAU,QAAQ,SAAS,MAAM,MAAqB,GACtD;AACA;AAAA,IACF;AAEA,0BAAA;AAAA,EACF;AAEA,QAAM,UAAU;AAAA,IACd;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,OAAO;AAAA,MAC1B;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,WAAW;AAAA,MAC9B;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,YAAY;AAAA,MAC/B;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,cAAc;AAAA,MACjC;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,WAAW;AAAA,MAC9B;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,WAAW;AAAA,MAC9B;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,eAAe;AAAA,MAClC;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,gBAAgB;AAAA,MACnC;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,kBAAkB;AAAA,MACrC;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,eAAe;AAAA,MAClC;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO,MAAM;AAAA,MACb,UAAU,MAAM;AACd,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IAAA;AAAA,EACF;AAGF,QAAM,YAAY,CAAC,UAAe;AAChC,WAAO,cAAc,KAAK,CAAA,UAAQ,6BAAM,WAAS,+BAAO,MAAK;AAAA,EAC/D;AAEA,QAAM,2BAA2B,MAAM;AACrC,UAAM,kBAAkB;AAAA,MACtB,YAAY,MAAM,gBAAgB,SAAS,EAAE,OAAO,YAAY;AAAA,MAChE,UAAU,MAAM,gBAAgB,OAAO,EAAE,OAAO,YAAY;AAAA,IAAA;AAE9D,UAAM,aAAa;AAAA,MACjB,YAAY,MAAM,UAAU,EAAE,OAAO,YAAY;AAAA,IAAA;AAInD,2BAAuB;AAAA,MACrB,GAAI,cAAc,kBAAkB;AAAA,IAAA,CACrC;AACD,0BAAA;AAAA,EACF;AACA,QAAM,oBAAoB,MAAM;AAC9B,sBAAkB,IAAI;AAAA,EACxB;AACA,QAAM,qBAAqB,CAAC,UAAe;AACzC,QAAI,cAAc,KAAK,CAAC,SAAS,KAAK,SAAS,MAAM,KAAK,GAAG;AAC3D,uBAAiB,cAAc,OAAO,CAAC,UAAS,6BAAM,UAAS,MAAM,KAAK,CAAC;AAC3E;AAAA,IACF;AACA,qBAAiB,CAAC,GAAG,eAAe,KAAK,CAAC;AAAA,EAC5C;AACA,WAAS,WAAW,KAAK;AACvB,WAAO,cAAc,KAAK,CAAA,UAAQ,6BAAM,UAAS,GAAG;AAAA,EACtD;AACA,QAAM,qBAAqB,MAAM;AAC/B,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,MAAM,QAAQ,cAAc;AAAA,QAC5B,SAAS;AAAA,QAIR,UAAA,iDAAgB,IAAI,CAAC,SACpB,qBAAC,UAAA,EAAS,SAAS,MAAM,mBAAmB,IAAI,GAAc,OAAO,6BAAM,OACzE,UAAA;AAAA,UAAA,oBAAC,UAAA,EAAS,SAAS,UAAU,IAAI,EAAA,CAAG;AAAA,UACpC,oBAAC,YAAA,EAAW,IAAI,EAAE,YAAY,OAAA,GAAU,OAAM,qBAAoB,MAAK,MAAM,UAAA,6BAAM,KAAA,CAAK;AAAA,QAAA,EAAA,GAFlC,IAGxD;AAAA,MACD;AAAA,IAAA;AAAA,EAIP;AACA,YAAU,MAAM;AACd;AAAA,MACE,IAAI,KAAK,OAAM,mCAAS,eAAc,EAAE,EAAE,OAAO,YAAY,CAAC;AAAA,IAAA;AAAA,EAElE,GAAG,CAAC,mCAAS,UAAU,CAAC;AAExB,YAAU,MAAM;AACd,uBAAmB;AAAA,MACjB,GAAG;AAAA,MACH,WAAW,IAAI;AAAA,QACb,OAAM,mCAAS,eAAc,EAAE,EAAE,OAAO,YAAY;AAAA,MAAA;AAAA,MAEtD,SAAS,IAAI,KAAK,OAAM,mCAAS,aAAY,EAAE,EAAE,OAAO,YAAY,CAAC;AAAA,IAAA,CACtE;AAAA,EAEH,GAAG,CAAC,mCAAS,UAAU,mCAAS,UAAU,CAAC;AAE3C,YAAU,MAAM;AACd,QAAI,MAAM;AACR,UAAI,aAAa;AACf,2BAAmB;AAAA,UACjB,GAAG;AAAA,UACH,WAAW,IAAI;AAAA,YACb,OAAM,mCAAS,eAAc,EAAE,EAAE,OAAO,YAAY;AAAA,UAAA;AAAA,UAEtD,SAAS,IAAI;AAAA,YACX,OAAM,mCAAS,aAAY,EAAE,EAAE,OAAO,YAAY;AAAA,UAAA;AAAA,QACpD,CACD;AAAA,MACH,OAAO;AACL;AAAA,UACE,IAAI,KAAK,OAAM,mCAAS,eAAc,EAAE,EAAE,OAAO,YAAY,CAAC;AAAA,QAAA;AAAA,MAElE;AAAA,IACF;AAAA,EAEF,GAAG,CAAC,MAAM,WAAW,CAAC;AAUtB,YAAU,MAAM;AACd,iBAAa,eAAe,kBAAkB,CAAC;AAAA,EAEjD,GAAG,CAAC,kBAAkB,CAAC;AAEvB,8BACG,OAAA,EACC,UAAA;AAAA,IAAA,qBAAC,OAAA,EAAI,WAAU,4BACZ,UAAA;AAAA,MAAA,mBAAmB,qBAAC,OAAA,EAAI,WAAU,yCAChC,UAAA;AAAA,QAAA,kCACE,OAAA,EAAI,OAAO,EAAE,QAAQ,OACpB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT,SAAS;AAAA,YACT,yBAAyB;AAAA,YAExB,UAAA;AAAA,UAAA;AAAA,QAAA,EACH,CACF,IAEA,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAO,UAAS,OAAM,wBACzC,UAAA,MAAA,CACH;AAAA,QAED;AAAA,UACC,EAAE,OAAO,UAAU,OAAO,UAAU,EAAA;AAAA,UACpC,EAAE,OAAO,UAAU,OAAO,UAAU,EAAA;AAAA,QAAE,EAErC,IAAI,CAAC,QAAQ,GAAG,EAChB,KAAK,CAAC,GAAG,MAAM,EAAE,WAAW,EAAE,QAAQ,EACtC,IAAI,CAAC,SACJ;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,OAAO,6BAAM;AAAA,YACb,QAAQ;AAAA,YACR,SAAS,MAAM,+CAAgB,KAAK;AAAA,UAAK;AAAA,UAHpC,6BAAM;AAAA,QAAA,CAKd;AAAA,MAAA,GAEL;AAAA,MACC,gBACC,oBAAC,OAAA,EAAI,WAAU,2CACb,8BAAC,QAAA,EAAO,SAAS,gBAAkB,UAAA,WAAA,CAAW,EAAA,CAChD;AAAA,MAEF;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,QAAQ;AAAA,UACR,WAAU;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS;AAAA,UACT,cAAa;AAAA,QAAA;AAAA,MAAA;AAAA,MAEd,iBAAiB,oBAAC,KAAA,EAChB,UAAA,cAAA,CACH;AAAA,IAAA,GAEF;AAAA,IACA,oBAAC,SAAA,EAAQ,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,aAAa,WAAA,EAAW,CAAG;AAAA,KAEvD,6BAAM,UACL,oBAAC,OAAA,EACC,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM,QAAQ,CAAA;AAAA,QACd;AAAA,QACA;AAAA,MAAA;AAAA,IAAA,GAEJ,IACE;AAAA,IACJ;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,SAAS;AAAA,UACT,gBAAgB;AAAA,UAChB,KAAK;AAAA,UACL,UAAU;AAAA,UACV,IAAI;AAAA,QAAA;AAAA,QAGN,UAAA;AAAA,UAAA,qBAAC,OAAA,EAAI,WAAU,2CAGZ,UAAA;AAAA,YAAA,kBAAkB,WAAW,MAAM,KAAK,eACvC,oBAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,KAAK,MAAA,GAClC,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,KAAK;AAAA,gBACL,SAAS,MAAM;AACb,sBAAI,CAAC,MAAM;AACT,8BAAU,UAAU,kBAAkB;AACtC,4BAAQ,IAAI;AAAA,kBACd,OAAO;AACL,0CAAA;AAAA,kBACF;AAAA,gBACF;AAAA,gBAEA,UAAA;AAAA,kBAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,OAAO,GAAG,MAAM,mCAAS,UAAU,EAAE,OAAO,YAAY,CAAC,MAAM,MAAM,mCAAS,QAAQ,EAAE,OAAO,YAAY,CAAC;AAAA,sBAE5G,UAAA;AAAA,wBAAA,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAO,UAAS,UAAA,eAEtC;AAAA,wBACA;AAAA,0BAAC;AAAA,0BAAA;AAAA,4BACC,WAAU;AAAA,4BACV,MAAK;AAAA,4BAEJ,UAAA;AAAA,8BAAA,MAAM,mCAAS,UAAU,EAAE,OAAO,YAAY;AAAA,8BAAE;AAAA,8BAAG;AAAA,8BACnD,MAAM,mCAAS,QAAQ,EAAE,OAAO,YAAY;AAAA,4BAAA;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBAC/C;AAAA,oBAAA;AAAA,kBAAA;AAAA,sCAED,uBAAA,CAAA,CAAsB;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA,GAE3B;AAAA,YAGD,kBAAkB,WAAW,MAAM,MAAK,mCAAS,eAAc,CAAC,eAC/D,oBAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,KAAK,SAClC,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,KAAK;AAAA,gBACL,SAAS,MAAM;AACb,sBAAI,CAAC,MAAM;AACT,8BAAU,UAAU,kBAAkB;AACtC,4BAAQ,IAAI;AAAA,kBACd,OAAO;AACL,0CAAA;AAAA,kBACF;AAAA,gBACF;AAAA,gBAEA,UAAA;AAAA,kBAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAU;AAAA,sBACV,OAAO,GAAG,MAAM,mCAAS,UAAU,EAAE,OAAO,YAAY,CAAC;AAAA,sBAEzD,UAAA;AAAA,wBAAA,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAO,UAAS,UAAA,SAEtC;AAAA,wBACA;AAAA,0BAAC;AAAA,0BAAA;AAAA,4BACC,WAAU;AAAA,4BACV,MAAK;AAAA,4BAEJ,UAAA,MAAM,mCAAS,UAAU,EAAE,OAAO,YAAY;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBACjD;AAAA,oBAAA;AAAA,kBAAA;AAAA,sCAED,uBAAA,CAAA,CAAsB;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA,GAE3B;AAAA,YAED,gBAAA;AAAA,UAAgB,GACnB;AAAA,UAIC,uBAAuB,kBAAkB,qBAAC,OAAA,EAAI,WAAU,0CAAyC,UAAA;AAAA,YAAA;AAAA,YAEhG,qBAAA,UAAA,EACE,UAAA;AAAA,cAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,QAAQ;AAAA,kBACR,WAAU;AAAA,kBACV,wBAAwB;AAAA,oBACtB,MAAM,oBAAC,OAAA,EAAI,KAAK,OAAO,QAAQ,WAAW;AAAA,oBAC1C,UACE,qBAAA,UAAA,EACG,UAAA;AAAA,sBAAA,MAAM,SAAS;AAAA,0CACf,uBAAA,CAAA,CAAsB;AAAA,oBAAA,GACzB;AAAA,oBAEF;AAAA,kBAAA;AAAA,kBAEF;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEF,oBAAC,OAAA,EAAI,KAAK,cAAA,CAAe;AAAA,YAAA,GAC3B;AAAA,YAAG;AAAA,UAAA,GAEL;AAAA,UAEA,qBAAC,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,YAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAI,CAAC,EAAE,eAAe;AAAA,kBACpB,QAAQ;AAAA,kBACR,aAAa;AAAA,kBACb,cAAc;AAAA,kBACd,OAAO,GAAG,QAAQ,KAAK,GAAG,CAAC;AAAA,kBAC3B,WAAW;AAAA,oBACT,SAAS,GAAG,QAAQ,KAAK,GAAG,CAAC;AAAA,kBAAA;AAAA,gBAC/B;AAAA,gBAEF,SAAQ;AAAA,gBACR,WAAW,oBAACC,QAAA,EAAW,UAAS,QAAA,CAAQ;AAAA,gBACxC,SAAS,CAAC,UAAU,kBAAkB,MAAM,aAAa;AAAA,gBAC1D,UAAA;AAAA,cAAA;AAAA,YAAA;AAAA,YAGA,gBAAgB,oBAAC,SAAA,EAAQ,UAAQ,MAAC,aAAY,YAAW,IAAI,EAAE,WAAW,OAAA,EAAO,CAAG;AAAA,YACpF,mBAAA;AAAA,YACA,gBACC,oBAAA,UAAA,EACE,UAAA,qBAAC,KAAA,EAAI,WAAU,qDACb,UAAA;AAAA,cAAA,qBAAC,cAAW,MAAK,MAAK,QAAO,UAAS,OAAM,YAAW,UAAA;AAAA,gBAAA;AAAA,gBAAQ;AAAA,gBAAM;AAAA,gBAAK;AAAA,cAAA,GAAW;AAAA,cACrF,qBAAC,aAAA,EAAY,SAAQ,YAAW,kBAAgB,MAAC,IAAI,CAAC,EAAE,eAAe;AAAA,gBACrE,qBAAqB;AAAA,kBACnB,aAAa,GAAG,QAAQ,KAAK,GAAG,CAAC;AAAA,kBACjC,WAAW;AAAA,oBACT,SAAS,GAAG,QAAQ,KAAK,GAAG,CAAC;AAAA,kBAAA;AAAA,gBAC/B;AAAA,gBAEF,iCAAiC;AAAA,kBAC/B,qBAAqB;AAAA,kBACrB,wBAAwB;AAAA,gBAAA;AAAA,gBAE1B,gCAAgC;AAAA,kBAC9B,sBAAsB;AAAA,kBACtB,yBAAyB;AAAA,gBAAA;AAAA,cAC3B,IAEA,UAAA;AAAA,gBAAA,oBAACC,UAAA,EAAU,SAAS,MAAM;AACxB,2BAAS,SAAS,aAAa,QAAQ,QAAQ,CAAC;AAChD,2EAAqB;AAAA,gBACvB,GACE,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,QAAQ,GAClC;AAAA,gBACA,oBAACA,UAAA,EAAU,SAAS,MAAM;AACxB,2BAAS,SAAS,IAAI,QAAQ,IAAI,CAAC;AACnC,uEAAmB;AAAA,gBACrB,GACE,UAAA,oBAAC,OAAA,EAAI,KAAK,OAAO,OAAO,UAAU,EAAA,CACpC;AAAA,cAAA,EAAA,CACF;AAAA,YAAA,EAAA,CACF,EAAA,CACF;AAAA,YAEF;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,aAAY;AAAA,gBACZ,cAAc,CAAC,QAAQ,6CAAe;AAAA,gBACtC,IAAI;AAAA,kBACF,OAAO;AAAA,kBACP,YAAY;AAAA,kBACZ,QAAQ;AAAA,gBAAA;AAAA,cACV;AAAA,YAAA;AAAA,UACF,EAAA,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IAGF,oBAAC,SAAA,EAAQ,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,aAAa,WAAA,EAAW,CAAG;AAAA,IAExD;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,QAAQ;AAAA,QAAA;AAAA,QAEV;AAAA,QACA,UAAU,UAAU;AAAA,QACpB,MAAM;AAAA,QACN,YAAU;AAAA,QACV,eAAa;AAAA,QAEZ,UAAA,CAAC,EAAE,iBAAiB,UAAA,MACnB;AAAA,UAAC;AAAA,UAAA;AAAA,YACE,GAAG;AAAA,YACJ,OAAO;AAAA,cACL,QAAQ;AAAA,cACR,iBACE,cAAc,WAAW,eAAe;AAAA,YAAA;AAAA,YAG5C,UAAA,oBAAC,OAAA,EACC,UAAA,oBAAC,mBAAA,EAAkB,aAAa,aAC9B,UAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,IAAI;AAAA,kBACF,SAAS;AAAA,kBACT,eAAe;AAAA,kBACf,YAAY;AAAA,gBAAA;AAAA,gBAGd,UAAA;AAAA,kBAAA,oBAAC,SACE,UAAA,cACC;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,oBAAoB;AAAA,sBACpB,UAAU,CAAC,SAAS,mBAAmB,KAAK,SAAS;AAAA,sBACrD,2BAA2B;AAAA,sBAC3B,QAAQ,CAAC,eAAe;AAAA,sBACxB;AAAA,oBAAQ;AAAA,kBAAA,IAGV;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,UAAU,CAAC,SAAS,cAAc,IAAI;AAAA,sBACtC,MAAM;AAAA,sBACN;AAAA,oBAAQ;AAAA,kBAAA,GAGd;AAAA,sCACC,KAAA,EAAI,IAAI,EAAE,SAAS,mBAClB,UAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,IAAI,EAAE,OAAO,cAAA;AAAA,sBACb,SAAS;AAAA,sBACV,UAAA;AAAA,oBAAA;AAAA,kBAAA,EAED,CACF;AAAA,gBAAA;AAAA,cAAA;AAAA,YAAA,GAEJ,EAAA,CACF;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ,GAEF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"inventory-reports-title-bar-CP8FzW6A.esm.js","sources":["../../src/components/inventory-reports-title-bar/inventory-reports-title-bar.tsx"],"sourcesContent":["import Button from \"../button/button\";\nimport Typography from \"../typography/typography\";\nimport \"./inventory-reports-title-bar.scss\";\n\nimport TitleDropdownButton from \"../title-dropdown-button/title-dropdown-button\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\nimport { generateFields } from \"../../utils/common\";\nimport ReportButtons, { IReportButtons } from \"./report-buttons/report-buttons\";\nimport TabBar, { TabProps } from \"../tabs/tabs\";\nimport { Box, ButtonGroup, ClickAwayListener, Divider, Grow, Menu, MenuItem, Paper, Popper, Button as MuiButton } from \"@mui/material\";\nimport images from \"../../assets/images\";\nimport { enUS } from 'date-fns/locale'; // Import the desired locale\n// import ReportFilter from './component/reportFilter'\nimport {\n handleCompareDateRangeSync as handleCompareDateRange,\n RANGE,\n} from \"../../utils/date-range\";\nimport { DateRange, Calendar } from \"react-date-range\";\nimport \"react-date-range/dist/styles.css\"; // main css file\nimport \"react-date-range/dist/theme/default.css\"; // theme css file\nimport dayjs from \"dayjs\";\n// import { fetchOptions } from \"./redux/actionCreator\";\nimport React from \"react\";\nimport HeaderCard from \"../header-card/header-card\";\nimport viewTypes from \"../../constants/action-bar\";\nimport SearchBar from \"../search-bar/search-bar\";\nimport Checkbox from \"../checkbox/checkbox\";\nimport SearchableSelect from \"../searchable-select\";\nimport { Filter as FilterIcon } from \"../icons\";\n\ninterface IReportFilters {\n company: number;\n start_date: string;\n end_date: string;\n as_of_date: string;\n item_id: string | number;\n warehouse_id: string | number;\n assembly_item_id: number | string;\n bom_id: number | string\n}\n\n/** Descriptor for a custom component injected into the filter row. */\ninterface ICustomFilterComponent {\n /** Unique key used for React reconciliation. */\n key: string;\n /** The ReactNode to render inside the filter bar. */\n component: React.ReactNode;\n}\n\ninterface ActionBarPropsType extends Partial<TabProps>, IReportButtons {\n title: string;\n handleAddButton?: (e?: any) => void;\n isTitleMenu?: boolean;\n titleMenus?: any;\n reportFilterFields?: any[];\n isDateFilterEnabled?: boolean;\n onDateFilterChange?: (data: Partial<IReportFilters>) => void;\n filters?: Partial<IReportFilters>;\n isDateRange?: boolean;\n activeView?: string;\n setActiveView?: (string: string) => void;\n handleSearch?: (string: string) => void;\n showLevelBtn?: boolean;\n handleRowsExpand: () => void;\n handleRowsCollapse: () => void;\n customElement?: React.ReactNode;\n showLeftContent: boolean;\n showAssembluItemsFilter?: boolean;\n showBomFilter: boolean;\n isViewButton?: boolean;\n handleRedirect?: () => void;\n buttonText?: string;\n dataLength: number,\n filterDropDown: any[],\n filterKeys?: any,\n customSelectedFilter?: any[],\n customFilterConfig?: any[],\n /**\n * When `false` the Date chip and the date-range dropdown button are hidden\n * and date-related keys (`start_date`, `end_date`, `as_of_date`) are stripped\n * from every filter payload so they cannot reach the API.\n * Defaults to `true` (backward-compatible).\n */\n showDateFilter?: boolean;\n /**\n * Optional list of custom components to render inside the filter row.\n * Each entry must have a unique `key` and a `component` (ReactNode).\n * They are appended after the standard SearchableSelect filters.\n */\n customFilterComponents?: ICustomFilterComponent[];\n}\n\ntype TDatePickerVal = {\n startDate?: Date;\n endDate?: Date;\n key?: string;\n};\n\nconst customStyle =\n{\n\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n border: 'none',\n },\n '&:hover fieldset': {\n border: 'none',\n },\n\n '&.Mui-focused fieldset': {\n border: 'none',\n },\n\n },\n}\nconst InventoryReportsTitleBar = (props: ActionBarPropsType) => {\n const {\n title,\n handleAddButton,\n buttons = [],\n dropdownMenuButtonData,\n isTitleMenu = false,\n titleMenus = [],\n reportFilterFields = [],\n toggleCallback,\n tabs,\n activeValue,\n setActiveValue,\n isDateFilterEnabled,\n onDateFilterChange,\n filters = {},\n isDateRange = true,\n activeView = \"\",\n setActiveView,\n handleSearch,\n showLevelBtn = false,\n handleRowsExpand,\n handleRowsCollapse,\n customElement,\n showLeftContent = true,\n // showAssembluItemsFilter = false,\n // showBomFilter = false,\n isViewButton = false,\n handleRedirect,\n buttonText = '',\n dataLength,\n filterDropDown = [],\n filterKeys,\n customFilterConfig = [],\n customSelectedFilter = [],\n /** Hide the date chip and date-range dropdown when false. Defaults to true. */\n showDateFilter = true,\n /** Custom ReactNode components rendered after the standard filters. */\n customFilterComponents = [],\n } = props;\n\n // When `showDateFilter` is false, exclude the 'date' entry from the\n // default selection so the date chip is never active.\n const defaultSelectedFilter = [\n // Only include 'date' when the date field is enabled.\n ...(showDateFilter ? [{ value: 'date' }] : []),\n {\n value: 'location',\n },\n {\n value: 'company',\n },\n ]\n\n const defaultConfig = [\n {\n key: 'company',\n label: 'Search Company',\n placeholder: 'Company',\n apiType: 'company',\n valueKey: filterKeys?.['company'] ? filterKeys['company'] : 'company',\n customFilter: null,\n },\n {\n key: 'assembly_item',\n label: 'Search Assembaly Items',\n placeholder: 'Assembaly Items',\n apiType: 'assemblyItems',\n valueKey: filterKeys?.['assembly_item'] ? filterKeys['assembly_item'] : 'assembly_item_id',\n },\n {\n key: 'item',\n label: 'Search Items',\n placeholder: 'Items',\n apiType: 'reportItems',\n valueKey: filterKeys?.['item'] ? filterKeys['item'] : 'item_id',\n multiple: true\n },\n {\n key: 'location',\n label: 'Search Warehouse Location',\n placeholder: 'Warehouse Location',\n apiType: 'location',\n valueKey: filterKeys?.['location'] ? filterKeys['location'] : 'warehouse_id',\n customFilter: null,\n multiple: true\n\n },\n {\n key: 'bom',\n label: 'Search Bill of Materials',\n placeholder: 'Filter Bill of Materials',\n apiType: 'bom',\n valueKey: filterKeys?.['bom'] ? filterKeys['bom'] : 'bom_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'work_order',\n label: 'Search Work Order',\n placeholder: ' Work Order',\n apiType: 'workOrder',\n valueKey: filterKeys?.['work_order'] ? filterKeys['work_order'] : 'work_order_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'routing',\n label: 'Search Routing',\n placeholder: ' Routing',\n apiType: 'routing',\n valueKey: filterKeys?.['routing'] ? filterKeys['routing'] : 'routing_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'operation',\n label: 'Search Operation',\n placeholder: ' Operation',\n apiType: 'operations',\n valueKey: filterKeys?.['operation'] ? filterKeys['operation'] : 'operation_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'equipment',\n label: 'Search Equipment',\n placeholder: ' Equipment',\n apiType: 'equipment',\n valueKey: filterKeys?.['equipment'] ? filterKeys['equipment'] : 'equipment_id',\n customFilter: null,\n multiple: true\n },\n {\n key: 'work_center',\n label: 'Search Work Center',\n placeholder: ' Work Center',\n apiType: 'workCenter',\n valueKey: filterKeys?.['work_center'] ? filterKeys['work_center'] : 'work_center_id',\n customFilter: null,\n multiple: true\n },\n\n ]\n const filtersConfig = useMemo(() => {\n return [...defaultConfig, ...customFilterConfig]\n }, []);\n const inputStyle =\n {\n border: \"none\",\n \"&.Mui-focused\": {\n borderColor: \"transparent\",\n },\n \"& .MuiOutlinedInput-input\": {\n padding: \"0px\",\n fontSize: \"14px\",\n color: '#289b64'\n },\n \"& .MuiOutlinedInput-notchedOutline\": {\n border: \"none\",\n },\n '& .MuiSelect-icon': {\n color: 'green',\n },\n }\n\n\n /**\n * Wraps `onDateFilterChange` to strip date-related keys when\n * `showDateFilter` is false, guaranteeing they never reach the API.\n * Defined before `renderFilter` to avoid temporal dead zone errors.\n */\n const safeOnDateFilterChange = (data: Partial<IReportFilters>) => {\n if (!onDateFilterChange) return;\n if (showDateFilter) {\n onDateFilterChange(data);\n } else {\n // Strip all date fields so they cannot pollute the request payload.\n const { start_date, end_date, as_of_date, ...rest } = data;\n onDateFilterChange(rest as Partial<IReportFilters>);\n }\n };\n\n const renderFilter = ({\n key,\n label,\n placeholder,\n apiType,\n valueKey,\n customFilter,\n multiple = false\n }: any) => {\n if (!showFilter(key)) return null;\n\n return (\n <div className=\"search-filter\" key={key}>\n <SearchableSelect\n labelId={`${key}-label`}\n searchPlaceholder={label}\n value={filters?.[valueKey]}\n onChange={(e) => safeOnDateFilterChange({ [valueKey]: e.target.value } as Partial<IReportFilters>)}\n apiType={apiType}\n multiple={multiple}\n placeholder={placeholder}\n customeFilter={customFilter}\n // CustomDropDownIcon={FilterAltIcon}\n customStyle={customStyle}\n inputStyle={inputStyle}\n />\n </div>\n );\n };\n // const dispatch = useAppDispatch();\n\n const FilterContainer = () => (\n <>\n {filtersConfig.map(renderFilter)}\n {/* Render any custom components injected by the consumer */}\n {customFilterComponents.map(({ key, component }) => (\n <React.Fragment key={key}>{component}</React.Fragment>\n ))}\n </>\n );\n\n\n\n\n // eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n // eslint-disable-next-line unused-imports/no-unused-vars, @typescript-eslint/no-unused-vars\n const [allFields, setAllFields] = useState<any[]>([]);\n const [dateRange, setDateRange] = useState<keyof typeof RANGE>(\"TODAY\");\n const [open, setOpen] = useState<boolean>(false);\n const [customDate, setCustomDate] = useState<Date>(\n new Date(dayjs(filters?.as_of_date || \"\").format(\"YYYY-MM-DD\"))\n );\n\n const defaultSelected = useMemo(() => {\n return [...defaultSelectedFilter, ...customSelectedFilter]\n }, [])\n const [selectedItems, setSelectedItems] = useState<string[]>(defaultSelected);\n\n const [level, setLevel] = useState<number>(1)\n const [customDateRange, setCustomDateRange] = useState<TDatePickerVal>({\n startDate: new Date(dayjs(filters?.start_date || \"\").format(\"YYYY-MM-DD\")),\n endDate: new Date(dayjs(filters?.end_date || \"\").format(\"YYYY-MM-DD\")),\n key: \"selection\",\n });\n const anchorRef = useRef<HTMLDivElement | null>(null);\n const [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(\n null\n );\n\n const dateSelectRef = useRef<HTMLDivElement>(null);\n const chipDateSelectRef = useRef<HTMLDivElement>(null);\n\n const handleCloseDatePopper = () => {\n anchorRef.current = null;\n setOpen(false);\n };\n\n const handleDateChange = (range: keyof typeof RANGE) => {\n // Do nothing if the date filter is hidden — guard against programmatic calls.\n if (!showDateFilter) return;\n setDateRange(range);\n if (range === \"CUSTOM\") {\n anchorRef.current = dateSelectRef.current;\n setOpen(true);\n } else {\n const data = handleCompareDateRange({\n range: RANGE[range],\n from: \"\",\n to: \"\",\n });\n safeOnDateFilterChange({\n start_date: data?.from ? data?.from : \"\",\n end_date: data?.to ? data?.to : \"\",\n });\n handleCloseDatePopper();\n }\n };\n\n\n const handleClose = (event: Event) => {\n if (\n anchorRef.current &&\n anchorRef.current.contains(event.target as HTMLElement)\n ) {\n return;\n }\n\n handleCloseDatePopper();\n };\n\n const options = [\n {\n label: RANGE.TODAY,\n callback: () => {\n handleDateChange(\"TODAY\");\n },\n },\n {\n label: RANGE.THIS_WEEK,\n callback: () => {\n handleDateChange(\"THIS_WEEK\");\n },\n },\n {\n label: RANGE.THIS_MONTH,\n callback: () => {\n handleDateChange(\"THIS_MONTH\");\n },\n },\n {\n label: RANGE.THIS_QUARTER,\n callback: () => {\n handleDateChange(\"THIS_QUARTER\");\n },\n },\n {\n label: RANGE.THIS_YEAR,\n callback: () => {\n handleDateChange(\"THIS_YEAR\");\n },\n },\n {\n label: RANGE.YESTERDAY,\n callback: () => {\n handleDateChange(\"YESTERDAY\");\n },\n },\n {\n label: RANGE.PREVIOUS_WEEK,\n callback: () => {\n handleDateChange(\"PREVIOUS_WEEK\");\n },\n },\n {\n label: RANGE.PREVIOUS_MONTH,\n callback: () => {\n handleDateChange(\"PREVIOUS_MONTH\");\n },\n },\n {\n label: RANGE.PREVIOUS_QUARTER,\n callback: () => {\n handleDateChange(\"PREVIOUS_QUARTER\");\n },\n },\n {\n label: RANGE.PREVIOUS_YEAR,\n callback: () => {\n handleDateChange(\"PREVIOUS_YEAR\");\n },\n },\n {\n label: RANGE.CUSTOM,\n callback: () => {\n handleDateChange(\"CUSTOM\");\n },\n },\n ];\n\n const isChecked = (value: any) => {\n return selectedItems.some(item => item?.value == value?.value)\n }\n\n const handleFilterPopperSubmit = () => {\n const dateRangeFilter = {\n start_date: dayjs(customDateRange.startDate).format(\"YYYY-MM-DD\"),\n end_date: dayjs(customDateRange.endDate).format(\"YYYY-MM-DD\"),\n };\n const dateFilter = {\n as_of_date: dayjs(customDate).format(\"YYYY-MM-DD\"),\n };\n\n // Use safeOnDateFilterChange so date keys are stripped when showDateFilter is false.\n safeOnDateFilterChange({\n ...(isDateRange ? dateRangeFilter : dateFilter),\n });\n handleCloseDatePopper();\n };\n const handleFilterClose = () => {\n setActionAnchorEl(null);\n };\n const handleSelectChange = (value: any) => {\n if (selectedItems.some((item) => item.value == value.value)) {\n setSelectedItems(selectedItems.filter((item) => item?.value != value.value));\n return;\n }\n setSelectedItems([...selectedItems, value]);\n };\n function showFilter(val) {\n return selectedItems.some(item => item?.value == val)\n }\n const filterDropDownFunc = () => {\n return (\n <Menu\n anchorEl={actionAnchorEl}\n open={Boolean(actionAnchorEl)}\n onClose={handleFilterClose}\n >\n {/* <MenuItem className=\"inventoryReportsTitleBar--report-filter\"> */}\n {/* Add your options here */}\n {filterDropDown?.map((item) => (\n <MenuItem onClick={() => handleSelectChange(item)} key={item} value={item?.value}>\n <Checkbox checked={isChecked(item)} />\n <Typography sx={{ marginLeft: '10px' }} color='theme.neutral.800' type='s3'>{item?.name}</Typography>\n </MenuItem>\n ))}\n {/* </MenuItem> */}\n </Menu>\n );\n };\n useEffect(() => {\n setCustomDate(\n new Date(dayjs(filters?.as_of_date || \"\").format(\"YYYY-MM-DD\"))\n );\n }, [filters?.as_of_date]);\n\n useEffect(() => {\n setCustomDateRange({\n ...customDateRange,\n startDate: new Date(\n dayjs(filters?.start_date || \"\").format(\"YYYY-MM-DD\")\n ),\n endDate: new Date(dayjs(filters?.end_date || \"\").format(\"YYYY-MM-DD\")),\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filters?.end_date, filters?.start_date]);\n\n useEffect(() => {\n if (open) {\n if (isDateRange) {\n setCustomDateRange({\n ...customDateRange,\n startDate: new Date(\n dayjs(filters?.start_date || \"\").format(\"YYYY-MM-DD\")\n ),\n endDate: new Date(\n dayjs(filters?.end_date || \"\").format(\"YYYY-MM-DD\")\n ),\n });\n } else {\n setCustomDate(\n new Date(dayjs(filters?.as_of_date || \"\").format(\"YYYY-MM-DD\"))\n );\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, isDateRange]);\n\n // useEffect(() => {\n // // dispatch(fetchOptions());\n // if (showBomFilter) {\n // dispatch(fetchBom())\n // }\n // // eslint-disable-next-line react-hooks/exhaustive-deps\n // }, []);\n\n useEffect(() => {\n setAllFields(generateFields(reportFilterFields));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [reportFilterFields]);\n\n return (\n <div>\n <div className=\"inventoryReportsTitleBar\">\n {showLeftContent && <div className=\"inventoryReportsTitleBar--LeftContent\">\n {isTitleMenu ? (\n <div style={{ zIndex: 999 }}>\n <TitleDropdownButton\n onClick={handleAddButton}\n options={titleMenus}\n isMenuThirdItemDisabled={true}\n >\n {title}\n </TitleDropdownButton>\n </div>\n ) : (\n <Typography type=\"h3\" weight=\"medium\" color=\"theme.secondary.1000\">\n {title}\n </Typography>\n )}\n {[\n { label: viewTypes.TABLE, position: 1 },\n { label: viewTypes.CHART, position: 2 },\n ]\n .map((ele) => ele)\n .sort((a, b) => a.position - b.position)\n .map((item) => (\n <HeaderCard\n key={item?.position}\n title={item?.label}\n active={activeView}\n onClick={() => setActiveView?.(item.label)}\n />\n ))}\n\n </div>}\n {isViewButton &&\n <div className=\"inventoryReportsTitleBar--ExtraButtonUi\">\n <Button onClick={handleRedirect} >{buttonText}</Button>\n </div>\n }\n <ReportButtons\n zIndex={999}\n className=\"inventoryReportsTitleBar--RightContent\"\n buttons={buttons}\n dropdownMenuButtonData={dropdownMenuButtonData}\n toggleCallback={toggleCallback}\n variant={\"contained\"}\n iconPosition=\"end\"\n />\n {customElement && <Box >\n {customElement}\n </Box>}\n\n </div>\n <Divider sx={{ mb: 2, mx: 1, borderColor: 'grey.200' }} />\n\n {tabs?.length ? (\n <div>\n <TabBar\n tabs={tabs || []}\n activeValue={activeValue}\n setActiveValue={setActiveValue}\n />\n </div>\n ) : null}\n <Box\n sx={{\n display: \"flex\",\n justifyContent: \"space-between\",\n gap: 1,\n flexWrap: 'wrap',\n mx: 1\n }}\n >\n <div className=\"inventoryReportsTitleBar--FilterWrapper\">\n\n {/* Date range chip — hidden when showDateFilter is false */}\n {showDateFilter && showFilter('date') && isDateRange && (\n <div style={{ display: \"flex\", gap: \"8px\" }}>\n <div\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip\"\n ref={chipDateSelectRef}\n onClick={() => {\n if (!open) {\n anchorRef.current = chipDateSelectRef.current;\n setOpen(true);\n } else {\n handleCloseDatePopper();\n }\n }}\n >\n <div\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip--Text\"\n title={`${dayjs(filters?.start_date).format(\"DD/MM/YYYY\")} - ${dayjs(filters?.end_date).format(\"DD/MM/YYYY\")}`}\n >\n <Typography type=\"s4\" weight=\"medium\">\n Date Range:\n </Typography>\n <Typography\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip--Text--Value\"\n type=\"s4\"\n >\n {dayjs(filters?.start_date).format(\"DD/MM/YYYY\")} -{\" \"}\n {dayjs(filters?.end_date).format(\"DD/MM/YYYY\")}\n </Typography>\n </div>\n <KeyboardArrowDownIcon />\n </div>\n </div>\n )}\n {/* As-of-date chip — hidden when showDateFilter is false */}\n {showDateFilter && showFilter('date') && filters?.as_of_date && !isDateRange && (\n <div style={{ display: \"flex\", gap: \"8px\" }}>\n <div\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip\"\n ref={chipDateSelectRef}\n onClick={() => {\n if (!open) {\n anchorRef.current = chipDateSelectRef.current;\n setOpen(true);\n } else {\n handleCloseDatePopper();\n }\n }}\n >\n <div\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip--Text\"\n title={`${dayjs(filters?.as_of_date).format(\"DD/MM/YYYY\")}`}\n >\n <Typography type=\"s4\" weight=\"medium\">\n Date:\n </Typography>\n <Typography\n className=\"inventoryReportsTitleBar--FilterWrapper--Chip--Text--Value\"\n type=\"s4\"\n >\n {dayjs(filters?.as_of_date).format(\"DD/MM/YYYY\")}\n </Typography>\n </div>\n <KeyboardArrowDownIcon />\n </div>\n </div>\n )}\n {FilterContainer()}\n </div>\n\n\n {/* Date-range dropdown button — only shown when both isDateFilterEnabled AND showDateFilter are true */}\n {isDateFilterEnabled && showDateFilter && <div className=\"inventoryReportsTitleBar--FilterAction\">\n (\n <>\n <ReportButtons\n zIndex={997}\n className=\"inventoryReportsTitleBar--RightContent\"\n dropdownMenuButtonData={{\n icon: <img src={images.sidebar.calendar2} />,\n children: (\n <>\n {RANGE[dateRange]}\n <KeyboardArrowDownIcon />\n </>\n ),\n options: options,\n }}\n toggleCallback={toggleCallback}\n />\n <div ref={dateSelectRef}></div>\n </>\n )\n </div>\n }\n <div className=\"inventoryReportsTitleBar--FilterAction\">\n <Button\n sx={({ palette }) => ({\n border: \"1px solid\",\n borderColor: 'grey.200',\n borderRadius: \"50px\",\n color: `${palette.grey[800]} !important`,\n '&:hover': {\n bgcolor: `${palette.grey[200]} !important`,\n }\n })}\n variant=\"text\"\n startIcon={<FilterIcon fontSize=\"small\" />}\n onClick={(event) => setActionAnchorEl(event.currentTarget)}\n >\n Filter\n </Button>\n {showLevelBtn && <Divider flexItem orientation=\"vertical\" sx={{ alignSelf: 'auto' }} />}\n {filterDropDownFunc()}\n {showLevelBtn && (\n <>\n <Box className=\"inventoryReportsTitleBar--FilterAction--lvWrapper\">\n <Typography type=\"s3\" weight=\"medium\" color='grey.800'> Level {level} of {dataLength}</Typography>\n <ButtonGroup variant=\"outlined\" disableElevation sx={({ palette }) => ({\n '& .MuiButton-root': {\n borderColor: `${palette.grey[200]} !important`,\n '&:hover': {\n bgcolor: `${palette.grey[200]} !important`,\n }\n },\n '& .MuiButtonGroup-firstButton': {\n borderTopLeftRadius: 20,\n borderBottomLeftRadius: 20\n },\n '& .MuiButtonGroup-lastButton': {\n borderTopRightRadius: 20,\n borderBottomRightRadius: 20\n }\n })}>\n <MuiButton onClick={() => {\n setLevel(level == dataLength ? level : level + 1)\n handleRowsCollapse?.(level)\n }}>\n <img src={images.common.expand} />\n </MuiButton>\n <MuiButton onClick={() => {\n setLevel(level != 1 ? level - 1 : 1)\n handleRowsExpand?.(level)\n }}>\n <img src={images.common.collapse} />\n </MuiButton>\n </ButtonGroup>\n </Box>\n </>\n )}\n <SearchBar\n placeholder=\"Search\"\n handleSearch={(val) => handleSearch?.(val)}\n sx={{\n width: \"250px\",\n background: \"#fff !important\",\n border: \"1px solid #F3F2F2 !important\",\n }}\n />\n </div>\n </Box>\n\n <Divider sx={{ my: 2, mx: 1, borderColor: 'grey.200' }} />\n\n <Popper\n sx={{\n zIndex: 9999,\n }}\n open={open}\n anchorEl={anchorRef.current}\n role={undefined}\n transition\n disablePortal\n >\n {({ TransitionProps, placement }) => (\n <Grow\n {...TransitionProps}\n style={{\n margin: \"0 20px 0 20px\",\n transformOrigin:\n placement === \"bottom\" ? \"center top\" : \"center bottom\",\n }}\n >\n <Paper>\n <ClickAwayListener onClickAway={handleClose}>\n <Box\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-end\",\n }}\n >\n <div>\n {isDateRange ? (\n <DateRange\n editableDateInputs={true}\n onChange={(item) => setCustomDateRange(item.selection)}\n moveRangeOnFirstSelection={false}\n ranges={[customDateRange]}\n locale={enUS}\n />\n ) : (\n <Calendar\n onChange={(item) => setCustomDate(item)}\n date={customDate}\n locale={enUS}\n />\n )}\n </div>\n <Box sx={{ padding: \"0 12px 12px 0\" }}>\n <Button\n variant=\"contained\"\n sx={{ width: \"fit-content\" }}\n onClick={handleFilterPopperSubmit}\n >\n Apply\n </Button>\n </Box>\n </Box>\n </ClickAwayListener>\n </Paper>\n </Grow>\n )}\n </Popper>\n\n </div>\n );\n};\n\nexport { InventoryReportsTitleBar };\nexport default InventoryReportsTitleBar;\n"],"names":["React","handleCompareDateRange","FilterIcon","MuiButton"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const iconsMaterial = require("@mui/icons-material");
|
|
4
4
|
const material = require("@mui/material");
|
|
5
|
-
const searchableSelect = require("./searchable-select-
|
|
5
|
+
const searchableSelect = require("./searchable-select-_DCkITfk.js");
|
|
6
6
|
const modal = require("./modal-DSRF4Kmh.js");
|
|
7
7
|
const typography = require("./typography-Bqfr1Ksf.js");
|
|
8
8
|
const React = require("react");
|
|
@@ -75,4 +75,4 @@ const ItemResponseDetails = (props) => {
|
|
|
75
75
|
] });
|
|
76
76
|
};
|
|
77
77
|
exports.ItemResponseDetails = ItemResponseDetails;
|
|
78
|
-
//# sourceMappingURL=item-response-details-
|
|
78
|
+
//# sourceMappingURL=item-response-details-DsGQ7Dlc.js.map
|
package/dist/chunks/{item-response-details-BheThTTK.js.map → item-response-details-DsGQ7Dlc.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-response-details-
|
|
1
|
+
{"version":3,"file":"item-response-details-DsGQ7Dlc.js","sources":["../../src/components/rfq-response/item-response-details.tsx"],"sourcesContent":["import { Close } from '@mui/icons-material';\nimport { Box, DialogTitle, Grid, IconButton } from '@mui/material';\nimport MaterialTable from '../material-table/material-table';\nimport Modal from '../modal/modal';\nimport Typography from '../typography/typography';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\nimport ModalLoader from '../loaders/modal-loader';\nimport { responseItemDetailsColumns } from '../../utils/constant';\nimport {\n\tfetchRentalResponseItems,\n\tfetchRfqItemsByIdForResponse,\n\tgetErrorMessage\n} from '../../utils/common';\nimport { transformTableColumns } from '../../utils/common-utility';\nexport const ItemResponseDetails = (props: any) => {\n\tconst { isOpen, onClose, data, isRental = false } = props;\n\tconst [responseItems, setResponseItems] = useState<any[]>([]);\n\tconst [isLoading, setIsLoading] = useState<boolean>(false);\n\tconst { t } = useTranslation();\n\n\tconst getResponseItems = useCallback(async () => {\n\t\tif (!isOpen) return;\n\t\ttry {\n\t\t\tsetIsLoading(true);\n\t\t\tconst filters = `(rfq_line_item_id.in=${[data?.id]})`;\n\t\t\tconst rfqResponseItems = isRental\n\t\t\t\t? await fetchRentalResponseItems(filters)\n\t\t\t\t: await fetchRfqItemsByIdForResponse(filters);\n\t\t\tsetResponseItems(rfqResponseItems);\n\t\t} catch (error) {\n\t\t\tconst errorMsg = getErrorMessage(error?.message);\n\t\t\tenqueueSnackbar(errorMsg, { variant: 'error' });\n\t\t} finally {\n\t\t\tsetTimeout(() => setIsLoading(false), 300);\n\t\t}\n\t}, [isOpen, data?.id, isRental]);\n\tuseEffect(() => {\n\t\tgetResponseItems();\n\t}, [getResponseItems]);\n\treturn (\n\t\t<Modal open={isOpen} onClose={onClose} maxWidth='md' fullWidth>\n\t\t\t{isLoading && <ModalLoader />}\n\t\t\t<DialogTitle className='itemEntryModal--DialogTitle'>\n\t\t\t\t<Typography type='s3' color='inherit' weight='medium'>\n\t\t\t\t\tResponse Details\n\t\t\t\t</Typography>\n\t\t\t\t<IconButton onClick={onClose}>\n\t\t\t\t\t<Close fontSize='small' />\n\t\t\t\t</IconButton>\n\t\t\t</DialogTitle>\n\t\t\t<Grid container>\n\t\t\t\t<Grid item xs={4}>\n\t\t\t\t\t<Box sx={{ display: 'flex', padding: 2, flexDirection: 'column' }}>\n\t\t\t\t\t\t<Typography type='s5' weight='medium' color='theme.secondary.800'>\n\t\t\t\t\t\t\tItem\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t<Typography type='s3' weight='medium' color='theme.neutral.1000'>\n\t\t\t\t\t\t\t{data?.item_data?.name}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t</Box>\n\t\t\t\t</Grid>\n\t\t\t</Grid>\n\n\t\t\t<Grid container p={2} spacing={3}>\n\t\t\t\t<Grid item xs={12}>\n\t\t\t\t\t<Box sx={{ paddingTop: '1.2rem' }}>\n\t\t\t\t\t\t<MaterialTable\n\t\t\t\t\t\t\trows={responseItems || []}\n\t\t\t\t\t\t\tcolumns={transformTableColumns({\n\t\t\t\t\t\t\t\tcolumns: responseItemDetailsColumns,\n\t\t\t\t\t\t\t\tcurrencySymbol: undefined,\n\t\t\t\t\t\t\t\ttranslationFn: t,\n\t\t\t\t\t\t\t\tcustomizeValue: (row, columnAccessorKey, value) => {\n\t\t\t\t\t\t\t\t\tswitch (columnAccessorKey) {\n\t\t\t\t\t\t\t\t\t\tcase 'item_data.vendor_info.vendor_name':\n\t\t\t\t\t\t\t\t\t\t\treturn value || row?.original?.item_data?.name;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tpaginationModel={{ pageNo: 1, limit: 20 }}\n\t\t\t\t\t\t\ttotalPages={20}\n\t\t\t\t\t\t\tenableColumnDragging={true}\n\t\t\t\t\t\t\tisResetRow={false}\n\t\t\t\t\t\t\tenableEditing={false}\n\t\t\t\t\t\t\tcolumnOrder={['mrt-row-select']}\n\t\t\t\t\t\t\tenableRowSelection={false}\n\t\t\t\t\t\t\tdisabledDefaultActionColumnIcon\n\t\t\t\t\t\t\tenableBottomToolbar={false}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Box>\n\t\t\t\t</Grid>\n\t\t\t</Grid>\n\t\t</Modal>\n\t);\n};\n\nexport default ItemResponseDetails;\n"],"names":["useState","useTranslation","useCallback","fetchRentalResponseItems","fetchRfqItemsByIdForResponse","getErrorMessage","enqueueSnackbar","useEffect","jsxs","Modal","ModalLoader","DialogTitle","jsx","Typography","IconButton","Close","Grid","Box","MaterialTable","transformTableColumns","responseItemDetailsColumns","_a"],"mappings":"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"}
|
package/dist/chunks/{item-response-details-BtCmz7XT.esm.js → item-response-details-SHSD-nBh.esm.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Close } from "@mui/icons-material";
|
|
3
3
|
import { DialogTitle, IconButton, Grid, Box } from "@mui/material";
|
|
4
|
-
import { M as MaterialTable } from "./searchable-select-
|
|
4
|
+
import { M as MaterialTable } from "./searchable-select-0F6E4XAr.esm.js";
|
|
5
5
|
import { M as Modal } from "./modal-DCla9U60.esm.js";
|
|
6
6
|
import { T as Typography } from "./typography-CG_A0iOJ.esm.js";
|
|
7
7
|
import { useState, useCallback, useEffect } from "react";
|
|
@@ -76,4 +76,4 @@ const ItemResponseDetails = (props) => {
|
|
|
76
76
|
export {
|
|
77
77
|
ItemResponseDetails as I
|
|
78
78
|
};
|
|
79
|
-
//# sourceMappingURL=item-response-details-
|
|
79
|
+
//# sourceMappingURL=item-response-details-SHSD-nBh.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item-response-details-
|
|
1
|
+
{"version":3,"file":"item-response-details-SHSD-nBh.esm.js","sources":["../../src/components/rfq-response/item-response-details.tsx"],"sourcesContent":["import { Close } from '@mui/icons-material';\nimport { Box, DialogTitle, Grid, IconButton } from '@mui/material';\nimport MaterialTable from '../material-table/material-table';\nimport Modal from '../modal/modal';\nimport Typography from '../typography/typography';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\nimport ModalLoader from '../loaders/modal-loader';\nimport { responseItemDetailsColumns } from '../../utils/constant';\nimport {\n\tfetchRentalResponseItems,\n\tfetchRfqItemsByIdForResponse,\n\tgetErrorMessage\n} from '../../utils/common';\nimport { transformTableColumns } from '../../utils/common-utility';\nexport const ItemResponseDetails = (props: any) => {\n\tconst { isOpen, onClose, data, isRental = false } = props;\n\tconst [responseItems, setResponseItems] = useState<any[]>([]);\n\tconst [isLoading, setIsLoading] = useState<boolean>(false);\n\tconst { t } = useTranslation();\n\n\tconst getResponseItems = useCallback(async () => {\n\t\tif (!isOpen) return;\n\t\ttry {\n\t\t\tsetIsLoading(true);\n\t\t\tconst filters = `(rfq_line_item_id.in=${[data?.id]})`;\n\t\t\tconst rfqResponseItems = isRental\n\t\t\t\t? await fetchRentalResponseItems(filters)\n\t\t\t\t: await fetchRfqItemsByIdForResponse(filters);\n\t\t\tsetResponseItems(rfqResponseItems);\n\t\t} catch (error) {\n\t\t\tconst errorMsg = getErrorMessage(error?.message);\n\t\t\tenqueueSnackbar(errorMsg, { variant: 'error' });\n\t\t} finally {\n\t\t\tsetTimeout(() => setIsLoading(false), 300);\n\t\t}\n\t}, [isOpen, data?.id, isRental]);\n\tuseEffect(() => {\n\t\tgetResponseItems();\n\t}, [getResponseItems]);\n\treturn (\n\t\t<Modal open={isOpen} onClose={onClose} maxWidth='md' fullWidth>\n\t\t\t{isLoading && <ModalLoader />}\n\t\t\t<DialogTitle className='itemEntryModal--DialogTitle'>\n\t\t\t\t<Typography type='s3' color='inherit' weight='medium'>\n\t\t\t\t\tResponse Details\n\t\t\t\t</Typography>\n\t\t\t\t<IconButton onClick={onClose}>\n\t\t\t\t\t<Close fontSize='small' />\n\t\t\t\t</IconButton>\n\t\t\t</DialogTitle>\n\t\t\t<Grid container>\n\t\t\t\t<Grid item xs={4}>\n\t\t\t\t\t<Box sx={{ display: 'flex', padding: 2, flexDirection: 'column' }}>\n\t\t\t\t\t\t<Typography type='s5' weight='medium' color='theme.secondary.800'>\n\t\t\t\t\t\t\tItem\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t<Typography type='s3' weight='medium' color='theme.neutral.1000'>\n\t\t\t\t\t\t\t{data?.item_data?.name}\n\t\t\t\t\t\t</Typography>\n\t\t\t\t\t</Box>\n\t\t\t\t</Grid>\n\t\t\t</Grid>\n\n\t\t\t<Grid container p={2} spacing={3}>\n\t\t\t\t<Grid item xs={12}>\n\t\t\t\t\t<Box sx={{ paddingTop: '1.2rem' }}>\n\t\t\t\t\t\t<MaterialTable\n\t\t\t\t\t\t\trows={responseItems || []}\n\t\t\t\t\t\t\tcolumns={transformTableColumns({\n\t\t\t\t\t\t\t\tcolumns: responseItemDetailsColumns,\n\t\t\t\t\t\t\t\tcurrencySymbol: undefined,\n\t\t\t\t\t\t\t\ttranslationFn: t,\n\t\t\t\t\t\t\t\tcustomizeValue: (row, columnAccessorKey, value) => {\n\t\t\t\t\t\t\t\t\tswitch (columnAccessorKey) {\n\t\t\t\t\t\t\t\t\t\tcase 'item_data.vendor_info.vendor_name':\n\t\t\t\t\t\t\t\t\t\t\treturn value || row?.original?.item_data?.name;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tpaginationModel={{ pageNo: 1, limit: 20 }}\n\t\t\t\t\t\t\ttotalPages={20}\n\t\t\t\t\t\t\tenableColumnDragging={true}\n\t\t\t\t\t\t\tisResetRow={false}\n\t\t\t\t\t\t\tenableEditing={false}\n\t\t\t\t\t\t\tcolumnOrder={['mrt-row-select']}\n\t\t\t\t\t\t\tenableRowSelection={false}\n\t\t\t\t\t\t\tdisabledDefaultActionColumnIcon\n\t\t\t\t\t\t\tenableBottomToolbar={false}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Box>\n\t\t\t\t</Grid>\n\t\t\t</Grid>\n\t\t</Modal>\n\t);\n};\n\nexport default ItemResponseDetails;\n"],"names":["_a"],"mappings":";;;;;;;;;;;;;AAgBO,MAAM,sBAAsB,CAAC,UAAe;;AAClD,QAAM,EAAE,QAAQ,SAAS,MAAM,WAAW,UAAU;AACpD,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAgB,CAAA,CAAE;AAC5D,QAAM,CAAC,WAAW,YAAY,IAAI,SAAkB,KAAK;AACzD,QAAM,EAAE,EAAA,IAAM,eAAA;AAEd,QAAM,mBAAmB,YAAY,YAAY;AAChD,QAAI,CAAC,OAAQ;AACb,QAAI;AACH,mBAAa,IAAI;AACjB,YAAM,UAAU,wBAAwB,CAAC,6BAAM,EAAE,CAAC;AAClD,YAAM,mBAAmB,WACtB,MAAM,yBAAyB,OAAO,IACtC,MAAM,6BAA6B,OAAO;AAC7C,uBAAiB,gBAAgB;AAAA,IAClC,SAAS,OAAO;AACf,YAAM,WAAW,gBAAgB,+BAAO,OAAO;AAC/C,sBAAgB,UAAU,EAAE,SAAS,QAAA,CAAS;AAAA,IAC/C,UAAA;AACC,iBAAW,MAAM,aAAa,KAAK,GAAG,GAAG;AAAA,IAC1C;AAAA,EACD,GAAG,CAAC,QAAQ,6BAAM,IAAI,QAAQ,CAAC;AAC/B,YAAU,MAAM;AACf,qBAAA;AAAA,EACD,GAAG,CAAC,gBAAgB,CAAC;AACrB,SACC,qBAAC,SAAM,MAAM,QAAQ,SAAkB,UAAS,MAAK,WAAS,MAC5D,UAAA;AAAA,IAAA,iCAAc,aAAA,EAAY;AAAA,IAC3B,qBAAC,aAAA,EAAY,WAAU,+BACtB,UAAA;AAAA,MAAA,oBAAC,cAAW,MAAK,MAAK,OAAM,WAAU,QAAO,UAAS,UAAA,mBAAA,CAEtD;AAAA,MACA,oBAAC,cAAW,SAAS,SACpB,8BAAC,OAAA,EAAM,UAAS,SAAQ,EAAA,CACzB;AAAA,IAAA,GACD;AAAA,IACA,oBAAC,QAAK,WAAS,MACd,8BAAC,MAAA,EAAK,MAAI,MAAC,IAAI,GACd,+BAAC,KAAA,EAAI,IAAI,EAAE,SAAS,QAAQ,SAAS,GAAG,eAAe,YACtD,UAAA;AAAA,MAAA,oBAAC,cAAW,MAAK,MAAK,QAAO,UAAS,OAAM,uBAAsB,UAAA,OAAA,CAElE;AAAA,MACA,oBAAC,YAAA,EAAW,MAAK,MAAK,QAAO,UAAS,OAAM,sBAC1C,WAAA,kCAAM,cAAN,mBAAiB,KAAA,CACnB;AAAA,IAAA,EAAA,CACD,GACD,GACD;AAAA,IAEA,oBAAC,QAAK,WAAS,MAAC,GAAG,GAAG,SAAS,GAC9B,UAAA,oBAAC,MAAA,EAAK,MAAI,MAAC,IAAI,IACd,UAAA,oBAAC,KAAA,EAAI,IAAI,EAAE,YAAY,YACtB,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,MAAM,iBAAiB,CAAA;AAAA,QACvB,SAAS,sBAAsB;AAAA,UAC9B,SAAS;AAAA,UACT,gBAAgB;AAAA,UAChB,eAAe;AAAA,UACf,gBAAgB,CAAC,KAAK,mBAAmB,UAAU;;AAClD,oBAAQ,mBAAA;AAAA,cACP,KAAK;AACJ,uBAAO,WAAS,MAAAA,MAAA,2BAAK,aAAL,gBAAAA,IAAe,cAAf,mBAA0B;AAAA,YAAA;AAAA,UAE7C;AAAA,QAAA,CACA;AAAA,QACD,iBAAiB,EAAE,QAAQ,GAAG,OAAO,GAAA;AAAA,QACrC,YAAY;AAAA,QACZ,sBAAsB;AAAA,QACtB,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,aAAa,CAAC,gBAAgB;AAAA,QAC9B,oBAAoB;AAAA,QACpB,iCAA+B;AAAA,QAC/B,qBAAqB;AAAA,MAAA;AAAA,IAAA,EACtB,CACD,GACD,EAAA,CACD;AAAA,EAAA,GACD;AAEF;"}
|
|
@@ -2,12 +2,12 @@ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState, useMemo, useCallback, useEffect } from "react";
|
|
3
3
|
import { useTranslation } from "react-i18next";
|
|
4
4
|
import AddIcon from "@mui/icons-material/Add";
|
|
5
|
-
import { A as ActionBar } from "./action-bar-
|
|
5
|
+
import { A as ActionBar } from "./action-bar-C7Alva4T.esm.js";
|
|
6
6
|
import { B as Button } from "./button-BtdpXmjA.esm.js";
|
|
7
7
|
import { C as ConfirmPopUp } from "./confirm-modal-PbguB4YV.esm.js";
|
|
8
8
|
import { F as Fallback } from "./fallback-C1hj1V6l.esm.js";
|
|
9
|
-
import { F as Footer } from "./footer-
|
|
10
|
-
import { M as MaterialTable } from "./searchable-select-
|
|
9
|
+
import { F as Footer } from "./footer-m3_dlNl8.esm.js";
|
|
10
|
+
import { M as MaterialTable } from "./searchable-select-0F6E4XAr.esm.js";
|
|
11
11
|
import { v as viewTypes } from "./action-bar-BsXTcYpL.esm.js";
|
|
12
12
|
import images from "../images/index.esm.js";
|
|
13
13
|
import { usePages } from "@erpsquad/common/runtime";
|
|
@@ -273,4 +273,4 @@ const ListingComponent = ({
|
|
|
273
273
|
export {
|
|
274
274
|
ListingComponent as L
|
|
275
275
|
};
|
|
276
|
-
//# sourceMappingURL=listing-
|
|
276
|
+
//# sourceMappingURL=listing-C0Yb6MVq.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing-Ck-RqIjL.esm.js","sources":["../../src/components/listing/listing.tsx"],"sourcesContent":["import React, { useState, useMemo, useEffect, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport AddIcon from '@mui/icons-material/Add';\n\nimport { MaterialTable, ActionBar, Fallback, Footer, Button, ConfirmModal as ConfirmPopUp } from '../../components';\nimport { viewTypes } from '../../constants';\n\nimport { IListingComponentProps, IListingState } from './types'\nimport logo from '../../assets/images';\n\nimport './listing.scss';\nimport { useDataFetcher, apiHelper } from '../../hooks';\nimport { useDispatch } from 'react-redux';\nimport { usePages } from '../../hooks';\nimport { useAppSelector } from '../../redux';\nimport { enqueueSnackbar } from 'notistack';\n\nconst ListingComponent: React.FC<IListingComponentProps> = ({\n title,\n tableColumns,\n columnOrder = ['mrt-row-select'],\n rowActionMenu,\n destructiveActionMenu,\n handleAddButton,\n searchText,\n handleSearch,\n disabledViews = ['Kanban', 'Calendar', 'Gantt'],\n fields,\n selectedIds = [],\n pageName,\n importModuleName,\n showAddButton = true,\n actionButtons,\n paginationResource,\n enablePages = false,\n GridComponent,\n onSelectRow,\n onColumnOrdering,\n onColumnVisibility,\n onSortingChange,\n fallbackIcon,\n className = '',\n onDeleteConfirm,\n deleteTitle,\n deleteDescription,\n fetchApi,\n resetState,\n setPaginationModel,\n deleteApi,\n storeName,\n isUseFields,\n customeFilter,\n customFields,\n isLoading: loadinState,\n customRows = [],\n ...rest\n}) => {\n const { t } = useTranslation();\n\n //dispatch\n const dispatch = useDispatch()\n\n //Page Context\n const { activePage, updatePageInfo } = usePages();\n //Store \n const {\n paginationModel,\n rows,\n isLoading,\n } = useAppSelector((store) => store?.[storeName]);\n\n\n const { pageNo, limit: pLimit, totalCount } = paginationModel;\n const limit = activePage.page_size || pLimit;\n const skip = limit * (pageNo - 1);\n\n\n // Local state\n const [listingState, setListingState] = useState<IListingState>({\n selectedRows: selectedIds,\n itemToDelete: null,\n isDeleting: false\n });\n\n // Calculate pagination values\n const total = Math.ceil(totalCount / limit);\n\n // Memoized table data\n const tableRows = useMemo(() => customRows?.length ? customRows : rows, [rows, customRows]);\n\n // Handle row selection\n const handleRowSelection = (selectedRows: any[]) => {\n const selectedRowIds = selectedRows.map((row) => row.original.id);\n setListingState(prev => ({ ...prev, selectedRows: selectedRowIds }));\n onSelectRow?.(selectedRows);\n };\n\n // Handle pagination changes\n const handlePaginationChange = (model: any) => {\n if (activePage.page_size !== model?.limit) {\n updatePageInfo({ page_size: model.limit });\n }\n handlePaginationModel(model);\n };\n\n // Handle search\n const handleSearchChange = (search: string) => {\n updatePageInfo({ search });\n handlePaginationModel({ pageNo: 1 });\n handleSearch?.(search);\n };\n\n // Handle delete confirmation\n const handleDeleteClick = (item: any) => {\n setListingState(prev => ({ ...prev, itemToDelete: item }));\n };\n\n const handleDeleteConfirm = async () => {\n if (!listingState.itemToDelete) return;\n\n setListingState(prev => ({ ...prev, isDeleting: true }));\n\n try {\n onDeleteConfirm ? await onDeleteConfirm(listingState.itemToDelete) : await deleteRecord(listingState.itemToDelete);\n setListingState(prev => ({ ...prev, itemToDelete: null, isDeleting: false }));\n } catch (error) {\n setListingState(prev => ({ ...prev, isDeleting: false }));\n }\n };\n\n const handleDeleteCancel = () => {\n setListingState(prev => ({ ...prev, itemToDelete: null }));\n };\n\n // Enhance destructive actions to include delete confirmation\n const enhancedDestructiveActions = useMemo(() => {\n if (!destructiveActionMenu) return undefined;\n\n return destructiveActionMenu.map(action => ({\n ...action,\n handleAction: action.label.toLowerCase().includes('delete')\n ? handleDeleteClick\n : action.handleAction\n }));\n }, [destructiveActionMenu]);\n\n //Handle pagination model\n const handlePaginationModel = (model: IPaginationModel) => {\n if (activePage.page_size != model?.limit) {\n updatePageInfo({ page_size: model.limit });\n }\n dispatch(setPaginationModel(model));\n }\n\n //Delete\n const deleteRecord = async (requestToDelete: any) => {\n const response: any = await dispatch(deleteApi(String(requestToDelete.id)));\n apiHelper(response, () => {\n enqueueSnackbar(\n ` ${title}: ${requestToDelete?.id} ${t('common.msg.deleted')}`,\n )\n getData()\n })\n };\n\n\n\n\n //clean up\n const cleanUp = useCallback(() => {\n dispatch(resetState())\n }, [dispatch, resetState]);\n\n // Data fetching\n const getData = useDataFetcher(\n tableColumns?.length ? tableColumns : activePage,\n { skip, limit },\n fetchApi,\n customeFilter,\n [],\n true,\n customFields\n\n )\n\n useEffect(() => {\n getData()\n }, [getData])\n\n useEffect(() => {\n return cleanUp;\n }, [cleanUp]);\n\n useEffect(() => {\n if (activePage?.views?.length) return;\n updatePageInfo({\n active_view: viewTypes.TABLE,\n views: [\n {\n label: 'Table',\n position: 0\n }\n ]\n })\n }, [activePage?.views])\n\n return (\n <section className={`listing-component ${className}`}>\n <ActionBar\n title={title}\n data={activePage?.views || [\n {\n label: 'Table',\n position: 0\n }\n ]}\n setData={(views) => updatePageInfo({ views })}\n active={activePage.active_view}\n setActive={(tab) => updatePageInfo({ active_view: tab })}\n handleAddButton={handleAddButton}\n searchText={searchText || activePage.search || ''}\n handleSearch={handleSearchChange}\n disabledViews={disabledViews}\n fields={fields}\n isUseFields={isUseFields}\n selectedIds={listingState.selectedRows}\n pageName={pageName}\n importModuleName={importModuleName}\n button={showAddButton}\n actionBtn={actionButtons}\n {...rest}\n />\n\n\n <>\n {activePage?.active_view === viewTypes.TABLE && (\n <MaterialTable\n rows={tableRows || []}\n columns={tableColumns}\n paginationModel={paginationModel}\n totalPages={total}\n columnOrder={[...columnOrder, ...activePage.column_order]}\n states={{ isLoading: loadinState || isLoading }}\n onSortingChange={onSortingChange ? (sort) => {\n updatePageInfo({ sort });\n onSortingChange(sort);\n } : undefined}\n enableColumnDragging={false}\n enableEditing={false}\n rowActionMenu={rowActionMenu}\n destructiveActionMenu={enhancedDestructiveActions}\n isResetRow={false}\n onSelectRow={handleRowSelection}\n handleColumnOrdering={onColumnOrdering ? (colOrder) => {\n const newOrder = colOrder.slice(1);\n updatePageInfo({ column_order: newOrder });\n onColumnOrdering(newOrder);\n } : undefined}\n onColumnVisibility={onColumnVisibility ? (columns) => {\n updatePageInfo({ visible_columns: columns });\n onColumnVisibility(columns);\n } : undefined}\n />\n )}\n\n {activePage?.active_view === viewTypes.GRID && GridComponent && (\n <GridComponent\n data={tableRows}\n rowActionMenu={rowActionMenu}\n destructiveActionMenu={enhancedDestructiveActions}\n />\n )}\n\n {!activePage?.active_view && !isLoading && (\n <Fallback\n heading={title}\n icon={fallbackIcon || <img src={logo.shippmentFallback} alt=\"fallback\" />}\n >\n {showAddButton && handleAddButton && (\n <Button\n variant='contained'\n startIcon={<AddIcon />}\n onClick={handleAddButton}\n >\n {`${t('common.add')} ${t('common.new')}`}\n </Button>\n )}\n </Fallback>\n )}\n\n <Footer\n total={total}\n paginationModel={{\n ...paginationModel,\n limit: activePage.page_size\n }}\n handlePaginationModel={handlePaginationChange}\n resource={paginationResource}\n enablePages={enablePages}\n />\n\n <ConfirmPopUp\n open={Boolean(listingState.itemToDelete)}\n onClose={handleDeleteCancel}\n onConfirm={handleDeleteConfirm}\n loading={listingState.isDeleting}\n title={deleteTitle || `${t('common.delete')} ${title}`}\n description={\n deleteDescription\n ? deleteDescription(listingState.itemToDelete)\n : `${t('common.deleteMsg')} ${title}: ${listingState.itemToDelete?.id || listingState.itemToDelete?.name || ''} ?`\n }\n />\n </>\n </section>\n );\n};\n\nexport default ListingComponent;\n"],"names":["useDataFetcher","_a","logo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listing-C0Yb6MVq.esm.js","sources":["../../src/components/listing/listing.tsx"],"sourcesContent":["import React, { useState, useMemo, useEffect, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport AddIcon from '@mui/icons-material/Add';\n\nimport { MaterialTable, ActionBar, Fallback, Footer, Button, ConfirmModal as ConfirmPopUp } from '../../components';\nimport { viewTypes } from '../../constants';\n\nimport { IListingComponentProps, IListingState } from './types'\nimport logo from '../../assets/images';\n\nimport './listing.scss';\nimport { useDataFetcher, apiHelper } from '../../hooks';\nimport { useDispatch } from 'react-redux';\nimport { usePages } from '../../hooks';\nimport { useAppSelector } from '../../redux';\nimport { enqueueSnackbar } from 'notistack';\n\nconst ListingComponent: React.FC<IListingComponentProps> = ({\n title,\n tableColumns,\n columnOrder = ['mrt-row-select'],\n rowActionMenu,\n destructiveActionMenu,\n handleAddButton,\n searchText,\n handleSearch,\n disabledViews = ['Kanban', 'Calendar', 'Gantt'],\n fields,\n selectedIds = [],\n pageName,\n importModuleName,\n showAddButton = true,\n actionButtons,\n paginationResource,\n enablePages = false,\n GridComponent,\n onSelectRow,\n onColumnOrdering,\n onColumnVisibility,\n onSortingChange,\n fallbackIcon,\n className = '',\n onDeleteConfirm,\n deleteTitle,\n deleteDescription,\n fetchApi,\n resetState,\n setPaginationModel,\n deleteApi,\n storeName,\n isUseFields,\n customeFilter,\n customFields,\n isLoading: loadinState,\n customRows = [],\n ...rest\n}) => {\n const { t } = useTranslation();\n\n //dispatch\n const dispatch = useDispatch()\n\n //Page Context\n const { activePage, updatePageInfo } = usePages();\n //Store \n const {\n paginationModel,\n rows,\n isLoading,\n } = useAppSelector((store) => store?.[storeName]);\n\n\n const { pageNo, limit: pLimit, totalCount } = paginationModel;\n const limit = activePage.page_size || pLimit;\n const skip = limit * (pageNo - 1);\n\n\n // Local state\n const [listingState, setListingState] = useState<IListingState>({\n selectedRows: selectedIds,\n itemToDelete: null,\n isDeleting: false\n });\n\n // Calculate pagination values\n const total = Math.ceil(totalCount / limit);\n\n // Memoized table data\n const tableRows = useMemo(() => customRows?.length ? customRows : rows, [rows, customRows]);\n\n // Handle row selection\n const handleRowSelection = (selectedRows: any[]) => {\n const selectedRowIds = selectedRows.map((row) => row.original.id);\n setListingState(prev => ({ ...prev, selectedRows: selectedRowIds }));\n onSelectRow?.(selectedRows);\n };\n\n // Handle pagination changes\n const handlePaginationChange = (model: any) => {\n if (activePage.page_size !== model?.limit) {\n updatePageInfo({ page_size: model.limit });\n }\n handlePaginationModel(model);\n };\n\n // Handle search\n const handleSearchChange = (search: string) => {\n updatePageInfo({ search });\n handlePaginationModel({ pageNo: 1 });\n handleSearch?.(search);\n };\n\n // Handle delete confirmation\n const handleDeleteClick = (item: any) => {\n setListingState(prev => ({ ...prev, itemToDelete: item }));\n };\n\n const handleDeleteConfirm = async () => {\n if (!listingState.itemToDelete) return;\n\n setListingState(prev => ({ ...prev, isDeleting: true }));\n\n try {\n onDeleteConfirm ? await onDeleteConfirm(listingState.itemToDelete) : await deleteRecord(listingState.itemToDelete);\n setListingState(prev => ({ ...prev, itemToDelete: null, isDeleting: false }));\n } catch (error) {\n setListingState(prev => ({ ...prev, isDeleting: false }));\n }\n };\n\n const handleDeleteCancel = () => {\n setListingState(prev => ({ ...prev, itemToDelete: null }));\n };\n\n // Enhance destructive actions to include delete confirmation\n const enhancedDestructiveActions = useMemo(() => {\n if (!destructiveActionMenu) return undefined;\n\n return destructiveActionMenu.map(action => ({\n ...action,\n handleAction: action.label.toLowerCase().includes('delete')\n ? handleDeleteClick\n : action.handleAction\n }));\n }, [destructiveActionMenu]);\n\n //Handle pagination model\n const handlePaginationModel = (model: IPaginationModel) => {\n if (activePage.page_size != model?.limit) {\n updatePageInfo({ page_size: model.limit });\n }\n dispatch(setPaginationModel(model));\n }\n\n //Delete\n const deleteRecord = async (requestToDelete: any) => {\n const response: any = await dispatch(deleteApi(String(requestToDelete.id)));\n apiHelper(response, () => {\n enqueueSnackbar(\n ` ${title}: ${requestToDelete?.id} ${t('common.msg.deleted')}`,\n )\n getData()\n })\n };\n\n\n\n\n //clean up\n const cleanUp = useCallback(() => {\n dispatch(resetState())\n }, [dispatch, resetState]);\n\n // Data fetching\n const getData = useDataFetcher(\n tableColumns?.length ? tableColumns : activePage,\n { skip, limit },\n fetchApi,\n customeFilter,\n [],\n true,\n customFields\n\n )\n\n useEffect(() => {\n getData()\n }, [getData])\n\n useEffect(() => {\n return cleanUp;\n }, [cleanUp]);\n\n useEffect(() => {\n if (activePage?.views?.length) return;\n updatePageInfo({\n active_view: viewTypes.TABLE,\n views: [\n {\n label: 'Table',\n position: 0\n }\n ]\n })\n }, [activePage?.views])\n\n return (\n <section className={`listing-component ${className}`}>\n <ActionBar\n title={title}\n data={activePage?.views || [\n {\n label: 'Table',\n position: 0\n }\n ]}\n setData={(views) => updatePageInfo({ views })}\n active={activePage.active_view}\n setActive={(tab) => updatePageInfo({ active_view: tab })}\n handleAddButton={handleAddButton}\n searchText={searchText || activePage.search || ''}\n handleSearch={handleSearchChange}\n disabledViews={disabledViews}\n fields={fields}\n isUseFields={isUseFields}\n selectedIds={listingState.selectedRows}\n pageName={pageName}\n importModuleName={importModuleName}\n button={showAddButton}\n actionBtn={actionButtons}\n {...rest}\n />\n\n\n <>\n {activePage?.active_view === viewTypes.TABLE && (\n <MaterialTable\n rows={tableRows || []}\n columns={tableColumns}\n paginationModel={paginationModel}\n totalPages={total}\n columnOrder={[...columnOrder, ...activePage.column_order]}\n states={{ isLoading: loadinState || isLoading }}\n onSortingChange={onSortingChange ? (sort) => {\n updatePageInfo({ sort });\n onSortingChange(sort);\n } : undefined}\n enableColumnDragging={false}\n enableEditing={false}\n rowActionMenu={rowActionMenu}\n destructiveActionMenu={enhancedDestructiveActions}\n isResetRow={false}\n onSelectRow={handleRowSelection}\n handleColumnOrdering={onColumnOrdering ? (colOrder) => {\n const newOrder = colOrder.slice(1);\n updatePageInfo({ column_order: newOrder });\n onColumnOrdering(newOrder);\n } : undefined}\n onColumnVisibility={onColumnVisibility ? (columns) => {\n updatePageInfo({ visible_columns: columns });\n onColumnVisibility(columns);\n } : undefined}\n />\n )}\n\n {activePage?.active_view === viewTypes.GRID && GridComponent && (\n <GridComponent\n data={tableRows}\n rowActionMenu={rowActionMenu}\n destructiveActionMenu={enhancedDestructiveActions}\n />\n )}\n\n {!activePage?.active_view && !isLoading && (\n <Fallback\n heading={title}\n icon={fallbackIcon || <img src={logo.shippmentFallback} alt=\"fallback\" />}\n >\n {showAddButton && handleAddButton && (\n <Button\n variant='contained'\n startIcon={<AddIcon />}\n onClick={handleAddButton}\n >\n {`${t('common.add')} ${t('common.new')}`}\n </Button>\n )}\n </Fallback>\n )}\n\n <Footer\n total={total}\n paginationModel={{\n ...paginationModel,\n limit: activePage.page_size\n }}\n handlePaginationModel={handlePaginationChange}\n resource={paginationResource}\n enablePages={enablePages}\n />\n\n <ConfirmPopUp\n open={Boolean(listingState.itemToDelete)}\n onClose={handleDeleteCancel}\n onConfirm={handleDeleteConfirm}\n loading={listingState.isDeleting}\n title={deleteTitle || `${t('common.delete')} ${title}`}\n description={\n deleteDescription\n ? deleteDescription(listingState.itemToDelete)\n : `${t('common.deleteMsg')} ${title}: ${listingState.itemToDelete?.id || listingState.itemToDelete?.name || ''} ?`\n }\n />\n </>\n </section>\n );\n};\n\nexport default ListingComponent;\n"],"names":["useDataFetcher","_a","logo"],"mappings":"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"}
|
|
@@ -3,12 +3,12 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const reactI18next = require("react-i18next");
|
|
5
5
|
const AddIcon = require("@mui/icons-material/Add");
|
|
6
|
-
const actionBar$1 = require("./action-bar-
|
|
6
|
+
const actionBar$1 = require("./action-bar-DdtpxWNk.js");
|
|
7
7
|
const button = require("./button-CYiSRppg.js");
|
|
8
8
|
const confirmModal = require("./confirm-modal-BpCtXddt.js");
|
|
9
9
|
const fallback = require("./fallback-DoprkqLe.js");
|
|
10
|
-
const footer = require("./footer-
|
|
11
|
-
const searchableSelect = require("./searchable-select-
|
|
10
|
+
const footer = require("./footer-CD3kMRdS.js");
|
|
11
|
+
const searchableSelect = require("./searchable-select-_DCkITfk.js");
|
|
12
12
|
const actionBar = require("./action-bar-DMv6sqDP.js");
|
|
13
13
|
const images = require("../images/index.js");
|
|
14
14
|
const runtime = require("@erpsquad/common/runtime");
|
|
@@ -272,4 +272,4 @@ const ListingComponent = ({
|
|
|
272
272
|
] });
|
|
273
273
|
};
|
|
274
274
|
exports.ListingComponent = ListingComponent;
|
|
275
|
-
//# sourceMappingURL=listing-
|
|
275
|
+
//# sourceMappingURL=listing-DIuzQrzb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listing-BDN5cLvI.js","sources":["../../src/components/listing/listing.tsx"],"sourcesContent":["import React, { useState, useMemo, useEffect, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport AddIcon from '@mui/icons-material/Add';\n\nimport { MaterialTable, ActionBar, Fallback, Footer, Button, ConfirmModal as ConfirmPopUp } from '../../components';\nimport { viewTypes } from '../../constants';\n\nimport { IListingComponentProps, IListingState } from './types'\nimport logo from '../../assets/images';\n\nimport './listing.scss';\nimport { useDataFetcher, apiHelper } from '../../hooks';\nimport { useDispatch } from 'react-redux';\nimport { usePages } from '../../hooks';\nimport { useAppSelector } from '../../redux';\nimport { enqueueSnackbar } from 'notistack';\n\nconst ListingComponent: React.FC<IListingComponentProps> = ({\n title,\n tableColumns,\n columnOrder = ['mrt-row-select'],\n rowActionMenu,\n destructiveActionMenu,\n handleAddButton,\n searchText,\n handleSearch,\n disabledViews = ['Kanban', 'Calendar', 'Gantt'],\n fields,\n selectedIds = [],\n pageName,\n importModuleName,\n showAddButton = true,\n actionButtons,\n paginationResource,\n enablePages = false,\n GridComponent,\n onSelectRow,\n onColumnOrdering,\n onColumnVisibility,\n onSortingChange,\n fallbackIcon,\n className = '',\n onDeleteConfirm,\n deleteTitle,\n deleteDescription,\n fetchApi,\n resetState,\n setPaginationModel,\n deleteApi,\n storeName,\n isUseFields,\n customeFilter,\n customFields,\n isLoading: loadinState,\n customRows = [],\n ...rest\n}) => {\n const { t } = useTranslation();\n\n //dispatch\n const dispatch = useDispatch()\n\n //Page Context\n const { activePage, updatePageInfo } = usePages();\n //Store \n const {\n paginationModel,\n rows,\n isLoading,\n } = useAppSelector((store) => store?.[storeName]);\n\n\n const { pageNo, limit: pLimit, totalCount } = paginationModel;\n const limit = activePage.page_size || pLimit;\n const skip = limit * (pageNo - 1);\n\n\n // Local state\n const [listingState, setListingState] = useState<IListingState>({\n selectedRows: selectedIds,\n itemToDelete: null,\n isDeleting: false\n });\n\n // Calculate pagination values\n const total = Math.ceil(totalCount / limit);\n\n // Memoized table data\n const tableRows = useMemo(() => customRows?.length ? customRows : rows, [rows, customRows]);\n\n // Handle row selection\n const handleRowSelection = (selectedRows: any[]) => {\n const selectedRowIds = selectedRows.map((row) => row.original.id);\n setListingState(prev => ({ ...prev, selectedRows: selectedRowIds }));\n onSelectRow?.(selectedRows);\n };\n\n // Handle pagination changes\n const handlePaginationChange = (model: any) => {\n if (activePage.page_size !== model?.limit) {\n updatePageInfo({ page_size: model.limit });\n }\n handlePaginationModel(model);\n };\n\n // Handle search\n const handleSearchChange = (search: string) => {\n updatePageInfo({ search });\n handlePaginationModel({ pageNo: 1 });\n handleSearch?.(search);\n };\n\n // Handle delete confirmation\n const handleDeleteClick = (item: any) => {\n setListingState(prev => ({ ...prev, itemToDelete: item }));\n };\n\n const handleDeleteConfirm = async () => {\n if (!listingState.itemToDelete) return;\n\n setListingState(prev => ({ ...prev, isDeleting: true }));\n\n try {\n onDeleteConfirm ? await onDeleteConfirm(listingState.itemToDelete) : await deleteRecord(listingState.itemToDelete);\n setListingState(prev => ({ ...prev, itemToDelete: null, isDeleting: false }));\n } catch (error) {\n setListingState(prev => ({ ...prev, isDeleting: false }));\n }\n };\n\n const handleDeleteCancel = () => {\n setListingState(prev => ({ ...prev, itemToDelete: null }));\n };\n\n // Enhance destructive actions to include delete confirmation\n const enhancedDestructiveActions = useMemo(() => {\n if (!destructiveActionMenu) return undefined;\n\n return destructiveActionMenu.map(action => ({\n ...action,\n handleAction: action.label.toLowerCase().includes('delete')\n ? handleDeleteClick\n : action.handleAction\n }));\n }, [destructiveActionMenu]);\n\n //Handle pagination model\n const handlePaginationModel = (model: IPaginationModel) => {\n if (activePage.page_size != model?.limit) {\n updatePageInfo({ page_size: model.limit });\n }\n dispatch(setPaginationModel(model));\n }\n\n //Delete\n const deleteRecord = async (requestToDelete: any) => {\n const response: any = await dispatch(deleteApi(String(requestToDelete.id)));\n apiHelper(response, () => {\n enqueueSnackbar(\n ` ${title}: ${requestToDelete?.id} ${t('common.msg.deleted')}`,\n )\n getData()\n })\n };\n\n\n\n\n //clean up\n const cleanUp = useCallback(() => {\n dispatch(resetState())\n }, [dispatch, resetState]);\n\n // Data fetching\n const getData = useDataFetcher(\n tableColumns?.length ? tableColumns : activePage,\n { skip, limit },\n fetchApi,\n customeFilter,\n [],\n true,\n customFields\n\n )\n\n useEffect(() => {\n getData()\n }, [getData])\n\n useEffect(() => {\n return cleanUp;\n }, [cleanUp]);\n\n useEffect(() => {\n if (activePage?.views?.length) return;\n updatePageInfo({\n active_view: viewTypes.TABLE,\n views: [\n {\n label: 'Table',\n position: 0\n }\n ]\n })\n }, [activePage?.views])\n\n return (\n <section className={`listing-component ${className}`}>\n <ActionBar\n title={title}\n data={activePage?.views || [\n {\n label: 'Table',\n position: 0\n }\n ]}\n setData={(views) => updatePageInfo({ views })}\n active={activePage.active_view}\n setActive={(tab) => updatePageInfo({ active_view: tab })}\n handleAddButton={handleAddButton}\n searchText={searchText || activePage.search || ''}\n handleSearch={handleSearchChange}\n disabledViews={disabledViews}\n fields={fields}\n isUseFields={isUseFields}\n selectedIds={listingState.selectedRows}\n pageName={pageName}\n importModuleName={importModuleName}\n button={showAddButton}\n actionBtn={actionButtons}\n {...rest}\n />\n\n\n <>\n {activePage?.active_view === viewTypes.TABLE && (\n <MaterialTable\n rows={tableRows || []}\n columns={tableColumns}\n paginationModel={paginationModel}\n totalPages={total}\n columnOrder={[...columnOrder, ...activePage.column_order]}\n states={{ isLoading: loadinState || isLoading }}\n onSortingChange={onSortingChange ? (sort) => {\n updatePageInfo({ sort });\n onSortingChange(sort);\n } : undefined}\n enableColumnDragging={false}\n enableEditing={false}\n rowActionMenu={rowActionMenu}\n destructiveActionMenu={enhancedDestructiveActions}\n isResetRow={false}\n onSelectRow={handleRowSelection}\n handleColumnOrdering={onColumnOrdering ? (colOrder) => {\n const newOrder = colOrder.slice(1);\n updatePageInfo({ column_order: newOrder });\n onColumnOrdering(newOrder);\n } : undefined}\n onColumnVisibility={onColumnVisibility ? (columns) => {\n updatePageInfo({ visible_columns: columns });\n onColumnVisibility(columns);\n } : undefined}\n />\n )}\n\n {activePage?.active_view === viewTypes.GRID && GridComponent && (\n <GridComponent\n data={tableRows}\n rowActionMenu={rowActionMenu}\n destructiveActionMenu={enhancedDestructiveActions}\n />\n )}\n\n {!activePage?.active_view && !isLoading && (\n <Fallback\n heading={title}\n icon={fallbackIcon || <img src={logo.shippmentFallback} alt=\"fallback\" />}\n >\n {showAddButton && handleAddButton && (\n <Button\n variant='contained'\n startIcon={<AddIcon />}\n onClick={handleAddButton}\n >\n {`${t('common.add')} ${t('common.new')}`}\n </Button>\n )}\n </Fallback>\n )}\n\n <Footer\n total={total}\n paginationModel={{\n ...paginationModel,\n limit: activePage.page_size\n }}\n handlePaginationModel={handlePaginationChange}\n resource={paginationResource}\n enablePages={enablePages}\n />\n\n <ConfirmPopUp\n open={Boolean(listingState.itemToDelete)}\n onClose={handleDeleteCancel}\n onConfirm={handleDeleteConfirm}\n loading={listingState.isDeleting}\n title={deleteTitle || `${t('common.delete')} ${title}`}\n description={\n deleteDescription\n ? deleteDescription(listingState.itemToDelete)\n : `${t('common.deleteMsg')} ${title}: ${listingState.itemToDelete?.id || listingState.itemToDelete?.name || ''} ?`\n }\n />\n </>\n </section>\n );\n};\n\nexport default ListingComponent;\n"],"names":["useTranslation","useDispatch","usePages","useAppSelector","useState","useMemo","apiHelper","enqueueSnackbar","useCallback","useDataFetcher","useEffect","_a","viewTypes","jsxs","jsx","ActionBar","Fragment","MaterialTable","Fallback","logo","Button","Footer","ConfirmPopUp"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listing-DIuzQrzb.js","sources":["../../src/components/listing/listing.tsx"],"sourcesContent":["import React, { useState, useMemo, useEffect, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport AddIcon from '@mui/icons-material/Add';\n\nimport { MaterialTable, ActionBar, Fallback, Footer, Button, ConfirmModal as ConfirmPopUp } from '../../components';\nimport { viewTypes } from '../../constants';\n\nimport { IListingComponentProps, IListingState } from './types'\nimport logo from '../../assets/images';\n\nimport './listing.scss';\nimport { useDataFetcher, apiHelper } from '../../hooks';\nimport { useDispatch } from 'react-redux';\nimport { usePages } from '../../hooks';\nimport { useAppSelector } from '../../redux';\nimport { enqueueSnackbar } from 'notistack';\n\nconst ListingComponent: React.FC<IListingComponentProps> = ({\n title,\n tableColumns,\n columnOrder = ['mrt-row-select'],\n rowActionMenu,\n destructiveActionMenu,\n handleAddButton,\n searchText,\n handleSearch,\n disabledViews = ['Kanban', 'Calendar', 'Gantt'],\n fields,\n selectedIds = [],\n pageName,\n importModuleName,\n showAddButton = true,\n actionButtons,\n paginationResource,\n enablePages = false,\n GridComponent,\n onSelectRow,\n onColumnOrdering,\n onColumnVisibility,\n onSortingChange,\n fallbackIcon,\n className = '',\n onDeleteConfirm,\n deleteTitle,\n deleteDescription,\n fetchApi,\n resetState,\n setPaginationModel,\n deleteApi,\n storeName,\n isUseFields,\n customeFilter,\n customFields,\n isLoading: loadinState,\n customRows = [],\n ...rest\n}) => {\n const { t } = useTranslation();\n\n //dispatch\n const dispatch = useDispatch()\n\n //Page Context\n const { activePage, updatePageInfo } = usePages();\n //Store \n const {\n paginationModel,\n rows,\n isLoading,\n } = useAppSelector((store) => store?.[storeName]);\n\n\n const { pageNo, limit: pLimit, totalCount } = paginationModel;\n const limit = activePage.page_size || pLimit;\n const skip = limit * (pageNo - 1);\n\n\n // Local state\n const [listingState, setListingState] = useState<IListingState>({\n selectedRows: selectedIds,\n itemToDelete: null,\n isDeleting: false\n });\n\n // Calculate pagination values\n const total = Math.ceil(totalCount / limit);\n\n // Memoized table data\n const tableRows = useMemo(() => customRows?.length ? customRows : rows, [rows, customRows]);\n\n // Handle row selection\n const handleRowSelection = (selectedRows: any[]) => {\n const selectedRowIds = selectedRows.map((row) => row.original.id);\n setListingState(prev => ({ ...prev, selectedRows: selectedRowIds }));\n onSelectRow?.(selectedRows);\n };\n\n // Handle pagination changes\n const handlePaginationChange = (model: any) => {\n if (activePage.page_size !== model?.limit) {\n updatePageInfo({ page_size: model.limit });\n }\n handlePaginationModel(model);\n };\n\n // Handle search\n const handleSearchChange = (search: string) => {\n updatePageInfo({ search });\n handlePaginationModel({ pageNo: 1 });\n handleSearch?.(search);\n };\n\n // Handle delete confirmation\n const handleDeleteClick = (item: any) => {\n setListingState(prev => ({ ...prev, itemToDelete: item }));\n };\n\n const handleDeleteConfirm = async () => {\n if (!listingState.itemToDelete) return;\n\n setListingState(prev => ({ ...prev, isDeleting: true }));\n\n try {\n onDeleteConfirm ? await onDeleteConfirm(listingState.itemToDelete) : await deleteRecord(listingState.itemToDelete);\n setListingState(prev => ({ ...prev, itemToDelete: null, isDeleting: false }));\n } catch (error) {\n setListingState(prev => ({ ...prev, isDeleting: false }));\n }\n };\n\n const handleDeleteCancel = () => {\n setListingState(prev => ({ ...prev, itemToDelete: null }));\n };\n\n // Enhance destructive actions to include delete confirmation\n const enhancedDestructiveActions = useMemo(() => {\n if (!destructiveActionMenu) return undefined;\n\n return destructiveActionMenu.map(action => ({\n ...action,\n handleAction: action.label.toLowerCase().includes('delete')\n ? handleDeleteClick\n : action.handleAction\n }));\n }, [destructiveActionMenu]);\n\n //Handle pagination model\n const handlePaginationModel = (model: IPaginationModel) => {\n if (activePage.page_size != model?.limit) {\n updatePageInfo({ page_size: model.limit });\n }\n dispatch(setPaginationModel(model));\n }\n\n //Delete\n const deleteRecord = async (requestToDelete: any) => {\n const response: any = await dispatch(deleteApi(String(requestToDelete.id)));\n apiHelper(response, () => {\n enqueueSnackbar(\n ` ${title}: ${requestToDelete?.id} ${t('common.msg.deleted')}`,\n )\n getData()\n })\n };\n\n\n\n\n //clean up\n const cleanUp = useCallback(() => {\n dispatch(resetState())\n }, [dispatch, resetState]);\n\n // Data fetching\n const getData = useDataFetcher(\n tableColumns?.length ? tableColumns : activePage,\n { skip, limit },\n fetchApi,\n customeFilter,\n [],\n true,\n customFields\n\n )\n\n useEffect(() => {\n getData()\n }, [getData])\n\n useEffect(() => {\n return cleanUp;\n }, [cleanUp]);\n\n useEffect(() => {\n if (activePage?.views?.length) return;\n updatePageInfo({\n active_view: viewTypes.TABLE,\n views: [\n {\n label: 'Table',\n position: 0\n }\n ]\n })\n }, [activePage?.views])\n\n return (\n <section className={`listing-component ${className}`}>\n <ActionBar\n title={title}\n data={activePage?.views || [\n {\n label: 'Table',\n position: 0\n }\n ]}\n setData={(views) => updatePageInfo({ views })}\n active={activePage.active_view}\n setActive={(tab) => updatePageInfo({ active_view: tab })}\n handleAddButton={handleAddButton}\n searchText={searchText || activePage.search || ''}\n handleSearch={handleSearchChange}\n disabledViews={disabledViews}\n fields={fields}\n isUseFields={isUseFields}\n selectedIds={listingState.selectedRows}\n pageName={pageName}\n importModuleName={importModuleName}\n button={showAddButton}\n actionBtn={actionButtons}\n {...rest}\n />\n\n\n <>\n {activePage?.active_view === viewTypes.TABLE && (\n <MaterialTable\n rows={tableRows || []}\n columns={tableColumns}\n paginationModel={paginationModel}\n totalPages={total}\n columnOrder={[...columnOrder, ...activePage.column_order]}\n states={{ isLoading: loadinState || isLoading }}\n onSortingChange={onSortingChange ? (sort) => {\n updatePageInfo({ sort });\n onSortingChange(sort);\n } : undefined}\n enableColumnDragging={false}\n enableEditing={false}\n rowActionMenu={rowActionMenu}\n destructiveActionMenu={enhancedDestructiveActions}\n isResetRow={false}\n onSelectRow={handleRowSelection}\n handleColumnOrdering={onColumnOrdering ? (colOrder) => {\n const newOrder = colOrder.slice(1);\n updatePageInfo({ column_order: newOrder });\n onColumnOrdering(newOrder);\n } : undefined}\n onColumnVisibility={onColumnVisibility ? (columns) => {\n updatePageInfo({ visible_columns: columns });\n onColumnVisibility(columns);\n } : undefined}\n />\n )}\n\n {activePage?.active_view === viewTypes.GRID && GridComponent && (\n <GridComponent\n data={tableRows}\n rowActionMenu={rowActionMenu}\n destructiveActionMenu={enhancedDestructiveActions}\n />\n )}\n\n {!activePage?.active_view && !isLoading && (\n <Fallback\n heading={title}\n icon={fallbackIcon || <img src={logo.shippmentFallback} alt=\"fallback\" />}\n >\n {showAddButton && handleAddButton && (\n <Button\n variant='contained'\n startIcon={<AddIcon />}\n onClick={handleAddButton}\n >\n {`${t('common.add')} ${t('common.new')}`}\n </Button>\n )}\n </Fallback>\n )}\n\n <Footer\n total={total}\n paginationModel={{\n ...paginationModel,\n limit: activePage.page_size\n }}\n handlePaginationModel={handlePaginationChange}\n resource={paginationResource}\n enablePages={enablePages}\n />\n\n <ConfirmPopUp\n open={Boolean(listingState.itemToDelete)}\n onClose={handleDeleteCancel}\n onConfirm={handleDeleteConfirm}\n loading={listingState.isDeleting}\n title={deleteTitle || `${t('common.delete')} ${title}`}\n description={\n deleteDescription\n ? deleteDescription(listingState.itemToDelete)\n : `${t('common.deleteMsg')} ${title}: ${listingState.itemToDelete?.id || listingState.itemToDelete?.name || ''} ?`\n }\n />\n </>\n </section>\n );\n};\n\nexport default ListingComponent;\n"],"names":["useTranslation","useDispatch","usePages","useAppSelector","useState","useMemo","apiHelper","enqueueSnackbar","useCallback","useDataFetcher","useEffect","_a","viewTypes","jsxs","jsx","ActionBar","Fragment","MaterialTable","Fallback","logo","Button","Footer","ConfirmPopUp"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useFormContext } from "react-hook-form";
|
|
3
3
|
import { u as useLocationFilter } from "./useLocationFilter-IO3yIT0q.esm.js";
|
|
4
|
-
import { D as DynamicSearchSelect } from "./searchable-select-
|
|
4
|
+
import { D as DynamicSearchSelect } from "./searchable-select-0F6E4XAr.esm.js";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
6
|
import { memo, useRef, useMemo, useEffect } from "react";
|
|
7
7
|
import _ from "lodash";
|
|
@@ -83,4 +83,4 @@ LocationSearchSelect.defaultProps = {
|
|
|
83
83
|
export {
|
|
84
84
|
LocationSearchSelect as L
|
|
85
85
|
};
|
|
86
|
-
//# sourceMappingURL=location-select-
|
|
86
|
+
//# sourceMappingURL=location-select-CFa00fy4.esm.js.map
|
package/dist/chunks/{location-select-jwR8SCYN.esm.js.map → location-select-CFa00fy4.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"location-select-
|
|
1
|
+
{"version":3,"file":"location-select-CFa00fy4.esm.js","sources":["../../src/components/location-select.tsx"],"sourcesContent":["import {\n\tUseFormSetValue,\n\tFieldValues,\n\tuseFormContext,\n\tUseFormWatch,\n\tUseFormGetFieldState,\n\tControl\n} from 'react-hook-form';\nimport { useLocationFilter } from '../hooks/useLocationFilter';\nimport DynamicSearchSelect from './form-control/form-builder/form-builder-element/dynamic-select';\nimport { useTranslation } from 'react-i18next';\nimport { memo, useEffect, useMemo, useRef } from 'react';\nimport _ from 'lodash';\n\n\nexport interface LocationSearchSelectProps<\n\tT extends FieldValues = FieldValues\n> {\n\tselectedCompany?: string[] | string | number | null | undefined;\n\tcontrol?: Control<T>;\n\tsetValue?: UseFormSetValue<T>;\n\tfieldArrayName: string;\n\tlocationFieldName?: string;\n\tlabel?: string;\n\tplaceholder?: string;\n\tresetValue?: any;\n\tfilterKey?: string;\n\t[key: string]: any;\n}\n\nexport interface LocationFilterType {\n\t[key: string]: string[] | string | number;\n}\n\nexport const LocationSearchSelect = memo(\n\t<T extends FieldValues = FieldValues>({\n\t\tselectedCompany,\n\t\tcontrol: propControl,\n\t\tsetValue: propSetValue,\n\t\tfieldArrayName,\n\t\tlocationFieldName = 'location_id',\n\t\tlabel,\n\t\tplaceholder,\n\t\tresetValue = undefined,\n\t\tfilterKey = '&company_id.in',\n\t\tfilterField = 'company_id',\n\t\t...dynamicSearchSelectProps\n\t}: LocationSearchSelectProps<T>): JSX.Element => {\n\t\tconst formContext = useFormContext();\n\t\tconst {\n\t\t\tcontrol: contextControl,\n\t\t\twatch: contextWatch,\n\t\t\tsetValue: contextSetValue,\n\t\t\tgetFieldState: contextGetFieldState\n\t\t} = formContext || {};\n\n\t\tconst controlToUse = propControl || contextControl;\n\t\tconst setValueToUse = propSetValue || contextSetValue;\n\t\tconst watchToUse: UseFormWatch<T> = contextWatch || (() => undefined);\n\t\tconst getFieldStateToUse: UseFormGetFieldState<T> =\n\t\t\tcontextGetFieldState || (() => ({}));\n\n\t\tconst filterFieldValue = watchToUse(`${fieldArrayName}.${filterField}`);\n\t\tconst isDirty = getFieldStateToUse(\n\t\t\t`${fieldArrayName}.${filterField}`\n\t\t)?.isDirty;\n\n\t\tconst prevFilterFieldValue = useRef<any>();\n\n\t\tconst { t } = useTranslation();\n\n\t\tconst isValueChanged = useMemo(() => {\n\t\t\treturn filterFieldValue && prevFilterFieldValue.current\n\t\t\t\t? !_.isEqual(prevFilterFieldValue.current, filterFieldValue)\n\t\t\t\t: false;\n\t\t}, [filterFieldValue]);\n\n\n\t\tuseEffect(() => {\n\t\t\tif (filterFieldValue) {\n\t\t\t\tprevFilterFieldValue.current = filterFieldValue;\n\t\t\t}\n\t\t}, [filterFieldValue]);\n\n\t\tconst locationFilter: LocationFilterType = useLocationFilter({\n\t\t\tselectedCompany: filterFieldValue || selectedCompany,\n\t\t\tsetValue: setValueToUse,\n\t\t\tfieldArrayName,\n\t\t\tlocationFieldName,\n\t\t\tresetValue,\n\t\t\tfilterKey,\n\t\t\tisDirty: isValueChanged || isDirty\n\t\t});\n\n\t\t// Now safely do the conditional render\n\t\tif (!controlToUse) {\n\t\t\tconsole.warn('LocationSearchSelect: No form control available.');\n\t\t\treturn <div>Location Search Select</div>;\n\t\t}\n\n\t\treturn (\n\t\t\t<DynamicSearchSelect\n\t\t\t\tlabel={t(label) || t('crm.salesOrder.fields.location_label')}\n\t\t\t\tapiType='location'\n\t\t\t\taddType='location'\n\t\t\t\tenable_footer={true}\n\t\t\t\tname={locationFieldName}\n\t\t\t\tplaceholder={\n\t\t\t\t\tt(placeholder) || t('crm.salesOrder.fields.location_placeholder')\n\t\t\t\t}\n\t\t\t\tfieldArrayName={fieldArrayName}\n\t\t\t\tformControl={controlToUse}\n\t\t\t\tcustomeFilter={locationFilter}\n\t\t\t\t{...dynamicSearchSelectProps}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nLocationSearchSelect.defaultProps = {\n\tlocationFieldName: 'location_id',\n\tresetValue: undefined,\n\tfilterKey: '&company_id.in'\n};\n\nexport default LocationSearchSelect"],"names":[],"mappings":";;;;;;;AAkCO,MAAM,uBAAuB;AAAA,EACnC,CAAsC;AAAA,IACrC;AAAA,IACA,SAAS;AAAA,IACT,UAAU;AAAA,IACV;AAAA,IACA,oBAAoB;AAAA,IACpB;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,GAAG;AAAA,EAAA,MAC6C;;AAChD,UAAM,cAAc,eAAA;AACpB,UAAM;AAAA,MACL,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AAAA,MACV,eAAe;AAAA,IAAA,IACZ,eAAe,CAAA;AAEnB,UAAM,eAAe,eAAe;AACpC,UAAM,gBAAgB,gBAAgB;AACtC,UAAM,aAA8B,iBAAiB,MAAM;AAC3D,UAAM,qBACL,yBAAyB,OAAO,CAAA;AAEjC,UAAM,mBAAmB,WAAW,GAAG,cAAc,IAAI,WAAW,EAAE;AACtE,UAAM,WAAU;AAAA,MACf,GAAG,cAAc,IAAI,WAAW;AAAA,IAAA,MADjB,mBAEb;AAEH,UAAM,uBAAuB,OAAA;AAE7B,UAAM,EAAE,EAAA,IAAM,eAAA;AAEd,UAAM,iBAAiB,QAAQ,MAAM;AACpC,aAAO,oBAAoB,qBAAqB,UAC7C,CAAC,EAAE,QAAQ,qBAAqB,SAAS,gBAAgB,IACzD;AAAA,IACJ,GAAG,CAAC,gBAAgB,CAAC;AAGrB,cAAU,MAAM;AACf,UAAI,kBAAkB;AACrB,6BAAqB,UAAU;AAAA,MAChC;AAAA,IACD,GAAG,CAAC,gBAAgB,CAAC;AAErB,UAAM,iBAAqC,kBAAkB;AAAA,MAC5D,iBAAiB,oBAAoB;AAAA,MACrC,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,kBAAkB;AAAA,IAAA,CAC3B;AAGD,QAAI,CAAC,cAAc;AAClB,cAAQ,KAAK,kDAAkD;AAC/D,aAAO,oBAAC,SAAI,UAAA,yBAAA,CAAsB;AAAA,IACnC;AAEA,WACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,OAAO,EAAE,KAAK,KAAK,EAAE,sCAAsC;AAAA,QAC3D,SAAQ;AAAA,QACR,SAAQ;AAAA,QACR,eAAe;AAAA,QACf,MAAM;AAAA,QACN,aACC,EAAE,WAAW,KAAK,EAAE,4CAA4C;AAAA,QAEjE;AAAA,QACA,aAAa;AAAA,QACb,eAAe;AAAA,QACd,GAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACD;AAEA,qBAAqB,eAAe;AAAA,EACnC,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,WAAW;AACZ;"}
|