@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":"form-fields-BYDhbAgB.js","sources":["../../src/views/form-builder/form-fields.tsx"],"sourcesContent":["// React imports\nimport React, { memo, useMemo, useCallback } from 'react';\n\n// Material UI imports\nimport { Grid } from '@mui/material';\n\n// ERP Common imports - Form builder elements\nimport DynamicInput from '@/components/form-control/form-builder/form-builder-element/text';\nimport DynamicCheckBox from '@/components/form-control/form-builder/form-builder-element/checkbox';\nimport DynamicTable from '@/components/form-control/form-builder/form-builder-element/table';\nimport DynamicElementHOC from '@/components/form-control/form-builder/form-builder-element/dynamic-element-hoc';\nimport DynamicRadioButton from '@/components/form-control/form-builder/form-builder-element/radio-button';\nimport DynamicToggleButton from '@/components/form-control/form-builder/form-builder-element/toggle-button';\nimport DynamicInfo from '@/components/form-control/form-builder/form-builder-element/info';\nimport DynamicMedia from '@/components/form-control/form-builder/form-builder-element/media';\nimport DynamicTime from '@/components/form-control/form-builder/form-builder-element/time';\nimport DynamicDate from '@/components/form-control/form-builder/form-builder-element/date';\nimport DynamicSelect from '@/components/form-control/form-builder/form-builder-element/select';\nimport DynamicPhone from '@/components/form-control/form-builder/form-builder-element/phone';\n\n// Types\ninterface IField {\n id: string;\n field_type: string;\n placeholder?: string;\n label: string;\n default_value?: any;\n is_multiline?: boolean;\n is_required?: boolean;\n min_length?: number;\n max_length?: number;\n is_fullwidth?: boolean;\n custom_width?: number;\n options?: any[];\n is_multiselect?: boolean;\n is_future_dates_allowed?: boolean;\n is_past_dates_allowed?: boolean;\n option?: any;\n max_size?: number;\n title?: string;\n display?: string;\n title_position?: string;\n table_columns?: any[];\n float_step?: number;\n type: string;\n}\n\ninterface FormFieldsProps {\n sectionMembers: IField[];\n // Add other required props with proper types\n members: IField[];\n activeMember?: number;\n control: any;\n t: (key: string) => string;\n element: any;\n images: any;\n elementJSON?: any;\n remove: (index: number) => void;\n move: (from: number, to: number) => void;\n handleElementSelection: (e: any) => void;\n setElementSwap: (value: boolean) => void;\n handleDuplicateElement: (index: number) => void;\n setSelectedHoc: (value: string) => void;\n setActiveMember: (value: number | undefined) => void;\n}\n\n// Field type mapping for better maintainability\nconst FIELD_TYPE_MAP = {\n TEXT: 'text',\n EMAIL: 'email',\n NUMBER: 'number',\n PHONE: 'phone',\n SELECT: 'select',\n DATE: 'date',\n TIME: 'time',\n URL: 'url',\n CURRENCY: 'currency',\n FILE: 'file',\n IMAGE: 'image',\n GEO_LOCATION: 'geoLocation',\n RELATION: 'relation',\n INFO: 'info',\n TOGGLE_BUTTON: 'toggleButton',\n RADIO_BUTTON: 'radioButton',\n TAGS_INPUT: 'tagsInput',\n CHECKBOX: 'checkbox',\n TABLE: 'table'\n} as const;\n\n// Memoized individual field component\nconst FormField = memo<{\n field: IField;\n index: number;\n gridItemSize: number;\n activeMember?: number;\n control: any;\n t: (key: string) => string;\n element: any;\n images: any;\n elementJSON?: any;\n remove: (index: number) => void;\n move: (from: number, to: number) => void;\n handleElementSelection: (e: any) => void;\n setElementSwap: (value: boolean) => void;\n handleDuplicateElement: (index: number) => void;\n setSelectedHoc: (value: string) => void;\n setActiveMember: (value: number | undefined) => void;\n}>(({\n field,\n index,\n gridItemSize,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember\n}) => {\n // Common HOC props - memoized to prevent unnecessary re-renders\n const hocProps = useMemo(() => ({\n activeIndex: activeMember === index,\n removeElement: remove,\n index,\n onClick: handleElementSelection,\n swap: move,\n elementSwap: () => setElementSwap(true),\n handleDuplicate: handleDuplicateElement,\n setElementHoc: () => {\n setSelectedHoc(\"\");\n setActiveMember(undefined);\n }\n }), [\n activeMember, \n index, \n remove, \n handleElementSelection, \n move, \n setElementSwap, \n handleDuplicateElement, \n setSelectedHoc, \n setActiveMember\n ]);\n\n // Common field props - memoized to prevent unnecessary re-renders\n const commonFieldProps = useMemo(() => ({\n key: field.id,\n position: index,\n placeholder: t(field.placeholder || ''),\n label: t(field.label),\n formControl: control,\n name: \"message\",\n fieldArrayName: \"members\",\n required: field.is_required,\n formType: \"builder\" as const,\n typeOfField: field.type,\n disabled: true\n }), [field.id, field.placeholder, field.label, field.is_required, field.type, index, t, control]);\n\n // Render field based on type\n const renderFieldContent = useCallback(() => {\n const { field_type } = field;\n\n switch (field_type) {\n case element.text.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n />\n );\n\n case element.email.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.sms} alt=\"email\" />}\n />\n );\n\n case element.number.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n min={field.min_length}\n max={field.max_length}\n float_step={field.float_step}\n />\n );\n\n case element.phone.field_type:\n return (\n <DynamicPhone\n {...commonFieldProps}\n type={field_type}\n default_value={field.default_value}\n />\n );\n\n case element.select.field_type:\n return (\n <DynamicSelect\n {...commonFieldProps}\n options={field.options}\n defaultValue={field.default_value}\n is_multiselect={field.is_multiselect}\n />\n );\n\n case element.date.field_type:\n return (\n <DynamicDate\n {...commonFieldProps}\n defaultValue={field.default_value}\n is_future_dates_allowed={field.is_future_dates_allowed}\n is_past_dates_allowed={field.is_past_dates_allowed}\n disable={true}\n />\n );\n\n case element.time.field_type:\n return (\n <DynamicTime\n {...commonFieldProps}\n option={field.option}\n />\n );\n\n case element.url.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.url} alt=\"url\" />}\n />\n );\n\n case element.currency.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.dollar} alt=\"currency\" />}\n />\n );\n\n case element.file.field_type:\n case element.image.field_type:\n return (\n <DynamicMedia\n {...commonFieldProps}\n type={field_type}\n max_size={field.max_size}\n />\n );\n\n case element.geoLocation.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.location} alt=\"location\" />}\n />\n );\n\n case element.relation.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n label={\n <span\n className=\"formSection--Relation\"\n data-position={index}\n data-name={`members.${index}.message`}\n >\n {t(field.label)}\n <img src={images.relation} alt=\"relation\" />\n </span>\n }\n />\n );\n\n case element.info.field_type:\n return (\n <DynamicInfo\n {...commonFieldProps}\n defaultValue={field.default_value}\n />\n );\n\n case element.toggleButton.field_type:\n return (\n <DynamicToggleButton\n {...commonFieldProps}\n title={t(field.title || '')}\n titlePosition={elementJSON?.title_position}\n />\n );\n\n case element.radioButton.field_type:\n return (\n <DynamicRadioButton\n {...commonFieldProps}\n options={field.options}\n display={field.display}\n titlePosition={elementJSON?.title_position}\n />\n );\n\n case element.tagsInput.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n />\n );\n\n case element.checkbox.field_type:\n return (\n <DynamicCheckBox\n {...commonFieldProps}\n title={t(field.title || '')}\n titlePosition={field.title_position}\n />\n );\n\n case element.table.field_type:\n return (\n <DynamicTable\n {...commonFieldProps}\n columns={field.table_columns || elementJSON?.table_columns || []}\n />\n );\n\n default:\n console.warn(`Unknown field type: ${field_type}`);\n return null;\n }\n }, [field, commonFieldProps, element, images, elementJSON, t, index]);\n\n return (\n <Grid item xs={gridItemSize}>\n <DynamicElementHOC\n {...hocProps}\n element={field.field_type}\n >\n {renderFieldContent()}\n </DynamicElementHOC>\n </Grid>\n );\n});\n\nFormField.displayName = 'FormField';\n\n// Main component\nconst FormFields: React.FC<FormFieldsProps> = memo(({\n sectionMembers,\n members,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember\n}) => {\n // Memoize grid item size calculation\n const calculateGridSize = useCallback((field: IField): number => {\n if (field.is_fullwidth || field.field_type === \"table\") return 12;\n if (field.custom_width) return field.custom_width;\n return 6;\n }, []);\n\n // Memoize the rendered fields\n const renderedFields = useMemo(() => {\n return sectionMembers.map((field: IField) => {\n const index = members.findIndex(member => member === field);\n const gridItemSize = calculateGridSize(field);\n\n return (\n <FormField\n key={`${field.id}-${index}`} // Better key for React reconciliation\n field={field}\n index={index}\n gridItemSize={gridItemSize}\n activeMember={activeMember}\n control={control}\n t={t}\n element={element}\n images={images}\n elementJSON={elementJSON}\n remove={remove}\n move={move}\n handleElementSelection={handleElementSelection}\n setElementSwap={setElementSwap}\n handleDuplicateElement={handleDuplicateElement}\n setSelectedHoc={setSelectedHoc}\n setActiveMember={setActiveMember}\n />\n );\n });\n }, [\n sectionMembers,\n members,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember,\n calculateGridSize,\n elementJSON?.field_type\n ]);\n\n return <>{renderedFields}</>;\n});\n\nFormFields.displayName = 'FormFields';\n\nexport { FormField };\nexport default FormFields;"],"names":["memo","useMemo","useCallback","jsx","DynamicInput","DynamicPhone","DynamicSelect","DynamicDate","DynamicTime","DynamicMedia","jsxs","DynamicInfo","DynamicToggleButton","DynamicRadioButton","DynamicCheckBox","DynamicTable","Grid","DynamicElementHOC"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-fields-yE9kwjvb.js","sources":["../../src/views/form-builder/form-fields.tsx"],"sourcesContent":["// React imports\nimport React, { memo, useMemo, useCallback } from 'react';\n\n// Material UI imports\nimport { Grid } from '@mui/material';\n\n// ERP Common imports - Form builder elements\nimport DynamicInput from '@/components/form-control/form-builder/form-builder-element/text';\nimport DynamicCheckBox from '@/components/form-control/form-builder/form-builder-element/checkbox';\nimport DynamicTable from '@/components/form-control/form-builder/form-builder-element/table';\nimport DynamicElementHOC from '@/components/form-control/form-builder/form-builder-element/dynamic-element-hoc';\nimport DynamicRadioButton from '@/components/form-control/form-builder/form-builder-element/radio-button';\nimport DynamicToggleButton from '@/components/form-control/form-builder/form-builder-element/toggle-button';\nimport DynamicInfo from '@/components/form-control/form-builder/form-builder-element/info';\nimport DynamicMedia from '@/components/form-control/form-builder/form-builder-element/media';\nimport DynamicTime from '@/components/form-control/form-builder/form-builder-element/time';\nimport DynamicDate from '@/components/form-control/form-builder/form-builder-element/date';\nimport DynamicSelect from '@/components/form-control/form-builder/form-builder-element/select';\nimport DynamicPhone from '@/components/form-control/form-builder/form-builder-element/phone';\n\n// Types\ninterface IField {\n id: string;\n field_type: string;\n placeholder?: string;\n label: string;\n default_value?: any;\n is_multiline?: boolean;\n is_required?: boolean;\n min_length?: number;\n max_length?: number;\n is_fullwidth?: boolean;\n custom_width?: number;\n options?: any[];\n is_multiselect?: boolean;\n is_future_dates_allowed?: boolean;\n is_past_dates_allowed?: boolean;\n option?: any;\n max_size?: number;\n title?: string;\n display?: string;\n title_position?: string;\n table_columns?: any[];\n float_step?: number;\n type: string;\n}\n\ninterface FormFieldsProps {\n sectionMembers: IField[];\n // Add other required props with proper types\n members: IField[];\n activeMember?: number;\n control: any;\n t: (key: string) => string;\n element: any;\n images: any;\n elementJSON?: any;\n remove: (index: number) => void;\n move: (from: number, to: number) => void;\n handleElementSelection: (e: any) => void;\n setElementSwap: (value: boolean) => void;\n handleDuplicateElement: (index: number) => void;\n setSelectedHoc: (value: string) => void;\n setActiveMember: (value: number | undefined) => void;\n}\n\n// Field type mapping for better maintainability\nconst FIELD_TYPE_MAP = {\n TEXT: 'text',\n EMAIL: 'email',\n NUMBER: 'number',\n PHONE: 'phone',\n SELECT: 'select',\n DATE: 'date',\n TIME: 'time',\n URL: 'url',\n CURRENCY: 'currency',\n FILE: 'file',\n IMAGE: 'image',\n GEO_LOCATION: 'geoLocation',\n RELATION: 'relation',\n INFO: 'info',\n TOGGLE_BUTTON: 'toggleButton',\n RADIO_BUTTON: 'radioButton',\n TAGS_INPUT: 'tagsInput',\n CHECKBOX: 'checkbox',\n TABLE: 'table'\n} as const;\n\n// Memoized individual field component\nconst FormField = memo<{\n field: IField;\n index: number;\n gridItemSize: number;\n activeMember?: number;\n control: any;\n t: (key: string) => string;\n element: any;\n images: any;\n elementJSON?: any;\n remove: (index: number) => void;\n move: (from: number, to: number) => void;\n handleElementSelection: (e: any) => void;\n setElementSwap: (value: boolean) => void;\n handleDuplicateElement: (index: number) => void;\n setSelectedHoc: (value: string) => void;\n setActiveMember: (value: number | undefined) => void;\n}>(({\n field,\n index,\n gridItemSize,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember\n}) => {\n // Common HOC props - memoized to prevent unnecessary re-renders\n const hocProps = useMemo(() => ({\n activeIndex: activeMember === index,\n removeElement: remove,\n index,\n onClick: handleElementSelection,\n swap: move,\n elementSwap: () => setElementSwap(true),\n handleDuplicate: handleDuplicateElement,\n setElementHoc: () => {\n setSelectedHoc(\"\");\n setActiveMember(undefined);\n }\n }), [\n activeMember, \n index, \n remove, \n handleElementSelection, \n move, \n setElementSwap, \n handleDuplicateElement, \n setSelectedHoc, \n setActiveMember\n ]);\n\n // Common field props - memoized to prevent unnecessary re-renders\n const commonFieldProps = useMemo(() => ({\n key: field.id,\n position: index,\n placeholder: t(field.placeholder || ''),\n label: t(field.label),\n formControl: control,\n name: \"message\",\n fieldArrayName: \"members\",\n required: field.is_required,\n formType: \"builder\" as const,\n typeOfField: field.type,\n disabled: true\n }), [field.id, field.placeholder, field.label, field.is_required, field.type, index, t, control]);\n\n // Render field based on type\n const renderFieldContent = useCallback(() => {\n const { field_type } = field;\n\n switch (field_type) {\n case element.text.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n />\n );\n\n case element.email.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.sms} alt=\"email\" />}\n />\n );\n\n case element.number.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n min={field.min_length}\n max={field.max_length}\n float_step={field.float_step}\n />\n );\n\n case element.phone.field_type:\n return (\n <DynamicPhone\n {...commonFieldProps}\n type={field_type}\n default_value={field.default_value}\n />\n );\n\n case element.select.field_type:\n return (\n <DynamicSelect\n {...commonFieldProps}\n options={field.options}\n defaultValue={field.default_value}\n is_multiselect={field.is_multiselect}\n />\n );\n\n case element.date.field_type:\n return (\n <DynamicDate\n {...commonFieldProps}\n defaultValue={field.default_value}\n is_future_dates_allowed={field.is_future_dates_allowed}\n is_past_dates_allowed={field.is_past_dates_allowed}\n disable={true}\n />\n );\n\n case element.time.field_type:\n return (\n <DynamicTime\n {...commonFieldProps}\n option={field.option}\n />\n );\n\n case element.url.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.url} alt=\"url\" />}\n />\n );\n\n case element.currency.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.dollar} alt=\"currency\" />}\n />\n );\n\n case element.file.field_type:\n case element.image.field_type:\n return (\n <DynamicMedia\n {...commonFieldProps}\n type={field_type}\n max_size={field.max_size}\n />\n );\n\n case element.geoLocation.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n endIcon={<img src={images.location} alt=\"location\" />}\n />\n );\n\n case element.relation.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n label={\n <span\n className=\"formSection--Relation\"\n data-position={index}\n data-name={`members.${index}.message`}\n >\n {t(field.label)}\n <img src={images.relation} alt=\"relation\" />\n </span>\n }\n />\n );\n\n case element.info.field_type:\n return (\n <DynamicInfo\n {...commonFieldProps}\n defaultValue={field.default_value}\n />\n );\n\n case element.toggleButton.field_type:\n return (\n <DynamicToggleButton\n {...commonFieldProps}\n title={t(field.title || '')}\n titlePosition={elementJSON?.title_position}\n />\n );\n\n case element.radioButton.field_type:\n return (\n <DynamicRadioButton\n {...commonFieldProps}\n options={field.options}\n display={field.display}\n titlePosition={elementJSON?.title_position}\n />\n );\n\n case element.tagsInput.field_type:\n return (\n <DynamicInput\n {...commonFieldProps}\n type={field_type}\n defaultValue={field.default_value}\n is_multiline={field.is_multiline}\n min={field.min_length}\n max={field.max_length}\n />\n );\n\n case element.checkbox.field_type:\n return (\n <DynamicCheckBox\n {...commonFieldProps}\n title={t(field.title || '')}\n titlePosition={field.title_position}\n />\n );\n\n case element.table.field_type:\n return (\n <DynamicTable\n {...commonFieldProps}\n columns={field.table_columns || elementJSON?.table_columns || []}\n />\n );\n\n default:\n console.warn(`Unknown field type: ${field_type}`);\n return null;\n }\n }, [field, commonFieldProps, element, images, elementJSON, t, index]);\n\n return (\n <Grid item xs={gridItemSize}>\n <DynamicElementHOC\n {...hocProps}\n element={field.field_type}\n >\n {renderFieldContent()}\n </DynamicElementHOC>\n </Grid>\n );\n});\n\nFormField.displayName = 'FormField';\n\n// Main component\nconst FormFields: React.FC<FormFieldsProps> = memo(({\n sectionMembers,\n members,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember\n}) => {\n // Memoize grid item size calculation\n const calculateGridSize = useCallback((field: IField): number => {\n if (field.is_fullwidth || field.field_type === \"table\") return 12;\n if (field.custom_width) return field.custom_width;\n return 6;\n }, []);\n\n // Memoize the rendered fields\n const renderedFields = useMemo(() => {\n return sectionMembers.map((field: IField) => {\n const index = members.findIndex(member => member === field);\n const gridItemSize = calculateGridSize(field);\n\n return (\n <FormField\n key={`${field.id}-${index}`} // Better key for React reconciliation\n field={field}\n index={index}\n gridItemSize={gridItemSize}\n activeMember={activeMember}\n control={control}\n t={t}\n element={element}\n images={images}\n elementJSON={elementJSON}\n remove={remove}\n move={move}\n handleElementSelection={handleElementSelection}\n setElementSwap={setElementSwap}\n handleDuplicateElement={handleDuplicateElement}\n setSelectedHoc={setSelectedHoc}\n setActiveMember={setActiveMember}\n />\n );\n });\n }, [\n sectionMembers,\n members,\n activeMember,\n control,\n t,\n element,\n images,\n elementJSON,\n remove,\n move,\n handleElementSelection,\n setElementSwap,\n handleDuplicateElement,\n setSelectedHoc,\n setActiveMember,\n calculateGridSize,\n elementJSON?.field_type\n ]);\n\n return <>{renderedFields}</>;\n});\n\nFormFields.displayName = 'FormFields';\n\nexport { FormField };\nexport default FormFields;"],"names":["memo","useMemo","useCallback","jsx","DynamicInput","DynamicPhone","DynamicSelect","DynamicDate","DynamicTime","DynamicMedia","jsxs","DynamicInfo","DynamicToggleButton","DynamicRadioButton","DynamicCheckBox","DynamicTable","Grid","DynamicElementHOC"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import { SECTION_TYPES } from "../utils/constant/index.esm.js";
|
|
|
13
13
|
import { A as Alert } from "./alert-DSvNY_5z.esm.js";
|
|
14
14
|
import _ from "lodash";
|
|
15
15
|
import { useTranslation } from "react-i18next";
|
|
16
|
-
import { F as FormSection } from "./form-section-
|
|
16
|
+
import { F as FormSection } from "./form-section-TMjdOVeW.esm.js";
|
|
17
17
|
const validationReducer = (validations, validation, field, translationFn) => {
|
|
18
18
|
var _a;
|
|
19
19
|
switch (validation.type) {
|
|
@@ -588,4 +588,4 @@ const FormParser = ({
|
|
|
588
588
|
export {
|
|
589
589
|
FormParser as F
|
|
590
590
|
};
|
|
591
|
-
//# sourceMappingURL=form-parser-
|
|
591
|
+
//# sourceMappingURL=form-parser-DbnSn5eY.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-parser-C95b2on7.esm.js","sources":["../../src/components/form-control/form-parser/form-parser.tsx"],"sourcesContent":["import { FormProvider, useForm, useWatch } from \"react-hook-form\";\n// import { useLocation } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\n\n// import FullScreenLayout from \"../../../layout/fullScreen/fullScreen\";\n\nimport { useState, useEffect, useCallback } from \"react\";\nimport images from \"../../../assets/images\";\nimport \"./form-parser.scss\";\nimport TabBar from \"../../tabs/tabs\";\nimport formBuilderDeConversion from \"../../../utils/form-builder-deconversion\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport dayjs from \"dayjs\";\nimport { SECTION_TYPES } from '../../../utils/constant';\nimport { CountryData } from 'react-phone-input-2';\nimport Alert from '../../alert/alert';\nimport _ from \"lodash\";\nimport { useTranslation } from \"react-i18next\";\nimport FormSection from \"./form-section\";\nconst validationReducer = (validations: any, validation: any, field: any, translationFn: any) => {\n switch (validation.type) {\n case \"required\":\n return (field.field_properties?.is_multiselect ? validations.required(translationFn(validation.msg_en)).min(1, translationFn(validation.msg_en)) : validation.value\n ? validations.required(translationFn(validation.msg_en)).test('not-empty', translationFn(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"postive_number\":\n return validations.test('is-positive-number', translationFn(validation.msg_en), (value) => value >= 0)\n case 'email':\n return validations.email(validation.msg_en);\n case \"no_special_char\":\n return validations.test(\n \"no-special-char\",\n translationFn(validation.msg_en),\n value =>\n typeof value === \"string\"\n ? /^[^.\\-\\W_]+$/u.test(value) // allow letters/digits only\n : true\n );\n case \"matches\":\n return validations.matches(new RegExp(validation.value), { excludeEmptyString: true, message: translationFn(validation.msg_en) });\n case \"when\":\n return validations.when(validation.relation, {\n is: (val: any) => val === validation.values,\n then: () => validation?.thenValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n otherwise: () => validation?.otherWiseValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n });\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n}\n\nconst FormParser = ({\n data,\n defaultValues,\n handleFormSubmit,\n fieldArrayName,\n mode,\n displayAvtar = false,\n onTableAddClick,\n handleFormValues,\n getFormMethods,\n setFields,\n onSelectFooterClick,\n setActiveTabValue,\n activeTab = 0,\n recieveTabDataLenght,\n recieveIsValidForm,\n activeTabs,\n onTableCellChange,\n containerStyles = undefined,\n isButton = true,\n getSelectedData,\n refreshOptions = false,\n onBlur,\n}: any) => {\n\n const { t } = useTranslation();\n\n function convertToNestedObject(dotNotationString: string, field: any, existingObject: any = {}) {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n const fieldValidations = field.validation.reduce(\n (validations: any, validation: any) => {\n switch (validation.type) {\n case \"required\":\n return validation.value\n ? validations.required(t(validation.msg_en)).test('not-empty', t(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true)\n : (field.field_properties?.is_multiselect ? validations.min(1, t(validation.msg_en)) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, t(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, t(validation.msg_en));\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n },\n getValidationType(field)\n );\n currentLevel[key] = fieldValidations;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }\n\n const getValidationType = (field: any) => {\n switch (field.field_type) {\n case 'select':\n return field.field_properties?.is_multiselect\n ? yup.array()\n : yup.string()\n\n case 'number':\n case 'currency':\n return yup.number().transform((value, originalValue) => (originalValue === '' ? undefined : value)).typeError('Please enter valid number').nullable()\n case 'currency_with_amount':\n return yup.number()\n case 'url':\n return yup.string().matches(/^(https?:\\/\\/)?((([a-zA-Z0-9_-]+\\.)+[a-zA-Z]{2,})|localhost)(:\\d{2,5})?(\\/[a-zA-Z0-9#_-]+\\/?)*(\\?[a-zA-Z0-9&=_-]+)?(#\\S+)?$/, { excludeEmptyString: true, message: \"Please enter valid URL.\" })\n\n default:\n return yup.string()\n }\n }\n\n const convertNestedFieldSchemaObject = (nestedFields: any) => {\n const schema: any = {};\n\n for (const key in nestedFields) {\n if (typeof nestedFields[key] === 'object' && !Object.hasOwn(nestedFields[key], 'tests')) {\n schema[key] = yup.object().shape(convertNestedFieldSchemaObject(nestedFields[key]));\n } else {\n schema[key] = nestedFields[key]\n }\n }\n return schema;\n }\n\n\n const generateValidationSchema = (data: any[]) => {\n const yupSchemaObject: any = {};\n let nestedFielvalidations: any = {},\n nestedYupSchemaObj: any = {};\n\n data &&\n data?.forEach((field: any) => {\n let fieldValidations: any;\n if (field.validation && field.validation.length > 0) {\n if (field.name?.includes(\".\")) {\n nestedFielvalidations = convertToNestedObject(field.name, field, nestedFielvalidations);\n } else {\n fieldValidations = field.validation.reduce((validations: any, validation: any) => validationReducer(validations, validation, field, t),\n getValidationType(field)\n );\n yupSchemaObject[field.name] = fieldValidations;\n }\n\n nestedYupSchemaObj = convertNestedFieldSchemaObject(nestedFielvalidations)\n }\n\n });\n\n return yup.object().shape({\n [fieldArrayName]: yup.object().shape({ ...yupSchemaObject, ...nestedYupSchemaObj }),\n });\n };\n\n const {\n control,\n handleSubmit,\n formState,\n setValue,\n reset,\n getValues,\n watch,\n resetField,\n unregister,\n trigger,\n getFieldState,\n ...rest\n } = useForm({\n ...(defaultValues && typeof defaultValues === 'object' ? { defaultValues } : {}),\n resolver: yupResolver(generateValidationSchema(data)),\n mode: \"all\",\n });\n\n const { errors } = formState;\n\n const watchedValues = useWatch({\n control,\n name: fieldArrayName,\n });\n\n // Local States\n const [schema, setSchema] = useState<[]>([]);\n const [tabsData, setTabsData] = useState<any[]>([]);\n const [errorAlert, setErrorAlert] = useState<boolean>(false);\n const [currencyOption, setCurrencyOptions] = useState<string>('');\n const [isTabFormValid, setTabFormValid] = useState<boolean>(false);\n const [validateRequiredFields, setValidRequiredFields] = useState<any[]>([]);\n\n // Local Functions\n const handleTableAddClick = (tableName?: string) => {\n onTableAddClick?.(tableName)\n }\n\n const getSectionData = useCallback((section: any) => {\n const sectionMembers = section?.members?.map((ele: any) => ele) || []\n const values = getValues(fieldArrayName)\n const isFormSwitcher = section.section_type === SECTION_TYPES.FORM_SWITCH_SECTION\n const formSwitcherName =\n section?.form_switcher_name ||\n section?.form_switcher_label?.toLowerCase().split(\" \").join(\"_\");\n const switchForms = section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n )\n }));\n const selectedSectionForm =\n values?.[formSwitcherName] ?\n switchForms.find((ele: any) =>\n ele.name === values?.[formSwitcherName]\n ) : {};\n\n // When form switcher is active, include:\n // 1. Common fields (fields without section_form_id or is_form_switcher_section)\n // 2. Form-specific fields (fields with section_form_id matching the selected form)\n let members;\n if (isFormSwitcher) {\n const commonFields = sectionMembers.filter(\n (member: any) => !member.section_form_id && !member.is_form_switcher_section\n );\n const formSpecificFields = selectedSectionForm?.formMembers || [];\n members = [...commonFields, ...formSpecificFields];\n } else {\n members = section?.members;\n }\n\n return {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n selectedSectionForm,\n members,\n values\n }\n }, [fieldArrayName, getValues])\n\n const handleSetCountryCodeField = useCallback((country: CountryData, field: any, fieldArrayName: any, values: any) => {\n const oldVal = values?.[fieldArrayName]?.[field?.country_code_field_name]\n const newVal = `+${country.dialCode}`\n if (\n field?.is_country_code_separate &&\n field?.country_code_field_name &&\n oldVal !== newVal\n ) {\n setValue(\n `${fieldArrayName}.${field?.country_code_field_name}` as never,\n newVal as never\n )\n }\n }, [setValue])\n\n const handleFieldCleanUp = useCallback((switchForms: any) => {\n switchForms.forEach((form: any) => {\n form?.formMembers.forEach((member: any) => {\n const memberName = member?.name || member.label.toLowerCase().split(\" \").join(\"_\")\n const v = _.get(defaultValues, `${fieldArrayName}.${memberName}`, null)\n const newData = data.map((ele: any) => {\n if (member?.section_form_id === ele?.section_form_id) {\n delete ele.value\n }\n return ({\n ...ele,\n ...(v ? { value: v } : {}),\n })\n })\n if (!v) {\n resetField(`${fieldArrayName}.${memberName}` as never)\n unregister(`${fieldArrayName}.${memberName}` as never)\n }\n setFields?.(newData)\n })\n\n })\n }, [data, defaultValues, fieldArrayName, resetField, setFields, unregister])\n\n const createNestedObjectFromDot = useCallback((dotNotationString: string, field: any, existingObject: any = {}) => {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n let fieldValue = field.value\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field.field_type === 'date') {\n fieldValue = dayjs(fieldValue)\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n fieldValue = dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0)\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n fieldValue = Number(fieldValue)\n }\n }\n currentLevel[key] = fieldValue;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }, [])\n\n const removeMatchingKeyValuePairs = useCallback((obj1, obj2) => {\n _.forOwn(obj1, (value, key) => {\n if (_.has(obj2, key) && _.isEqual(value, obj2[key])) {\n delete obj1[key];\n }\n });\n return obj1;\n }, [])\n\n const validateRequiredSwitchFormData = useCallback((switchData: any) => {\n const requiredFields: string[] = [];\n if (switchData) {\n switchData && switchData[0]?.formMembers.forEach((member: any) => {\n if (member?.validation && Array.isArray(member?.validation)) {\n member?.validation.forEach((validation: any) => {\n if (validation?.thenValidations && Array.isArray(validation?.thenValidations)) {\n validation?.thenValidations.forEach((thenValidation: any) => {\n if (thenValidation?.type === \"required\" && thenValidation?.value === true) {\n if (member?.name) {\n requiredFields.push(member.name);\n }\n }\n });\n } else {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n requiredFields.push(member.name);\n }\n }\n });\n }\n });\n\n }\n if (requiredFields) {\n setValidRequiredFields(_.uniq(requiredFields))\n }\n\n }, [])\n\n const isEmpty = useCallback((value: any): boolean => {\n return (\n value === null ||\n value === undefined ||\n (Array.isArray(value) && value.length === 0) ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n );\n }, [])\n\n const getMissingFields = useCallback((watchedFields: any, validationReqFields: string[]): string[] => {\n const missingFields: string[] = [];\n\n validationReqFields.forEach((fieldPath) => {\n const keys = fieldPath.split(\".\");\n let currentLevel = watchedFields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (!currentLevel?.[key] && currentLevel?.[key] !== 0) {\n // If any key in the path is missing, mark the field as missing\n missingFields.push(fieldPath);\n return;\n }\n\n // Move deeper into the object\n currentLevel = currentLevel[key];\n }\n\n // After navigating the full path, check if the final value is empty\n if (isEmpty(currentLevel)) {\n missingFields.push(fieldPath);\n }\n });\n\n\n return missingFields;\n }, [isEmpty])\n\n // Use Effects\n useEffect(() => {\n if (recieveTabDataLenght) {\n recieveTabDataLenght(tabsData.length)\n }\n }, [recieveTabDataLenght, tabsData])\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.origin !== window.origin) {\n return;\n }\n const { state } = event.data;\n\n if (state?.length) {\n const data: any = formBuilderDeConversion(state);\n\n if (data.tab) {\n setTabsData(data.tab);\n } else if (data.section) {\n setSchema(data.section);\n }\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n };\n }, []);\n\n useEffect(() => {\n if (data) {\n const formData = formBuilderDeConversion(data)\n if (formData?.tab) {\n // setSchema([])\n setTabsData(formData.tab);\n if (activeTab !== undefined) {\n setSchema(formData.tab[activeTab]?.data || []);\n }\n } else {\n setSchema(formData.section);\n // setTabsData([])\n }\n const dVals = _.get(defaultValues, fieldArrayName, {})\n const wVals = removeMatchingKeyValuePairs((watchedValues || {}), (dVals || {}))\n if (mode === 'edit' && !Object.keys(wVals)?.length) {\n let formValues: any = {};\n let nestedFormValues: any = {};\n data.forEach((field: any) => {\n const fieldValue = field.value\n if (field.name?.includes(\".\")) {\n nestedFormValues = createNestedObjectFromDot(field.name, field, nestedFormValues)\n } else {\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field?.is_section_field) {\n const fieldName = field?.form_switcher_name || field?.form_switcher_label;\n formValues = { ...formValues, [fieldName]: fieldValue }\n } else if (\n field?.name &&\n ['company_id', 'email_ids'].includes(field?.name) &&\n ['edit_customer', 'add_customer', 'edit_vendor', 'add_vendor'].includes(fieldArrayName)\n ) {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else if (field.field_type === 'date') {\n formValues = { ...formValues, [field.name]: dayjs(fieldValue) }\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n formValues = { ...formValues, [field.name]: dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0) }\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n if (fieldArrayName === \"edit_user\" && field.name === \"role_id\") {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else {\n formValues = { ...formValues, [field.name]: Number(fieldValue) }\n }\n } else {\n formValues = { ...formValues, [field.name]: fieldValue }\n }\n }\n }\n })\n const finalFormValues = { ...formValues, ...nestedFormValues }\n reset({ [fieldArrayName]: { ...finalFormValues } })\n }\n getFormMethods?.({ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, getFieldState, errors, ...rest })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data])\n\n useEffect(() => {\n if (activeTab?.toString()) {\n if (tabsData && tabsData[activeTab]) {\n setSchema(tabsData[activeTab].data);\n }\n }\n }, [activeTab, tabsData]);\n\n useEffect(() => {\n if (watchedValues && handleFormValues) {\n handleFormValues?.(watchedValues);\n }\n }, [handleFormValues, watchedValues])\n\n useEffect(() => {\n if (errors?.[fieldArrayName]) {\n setErrorAlert(true)\n } else {\n setErrorAlert(false)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fieldArrayName, JSON.stringify(errors)])\n\n useEffect(() => {\n const validatedFields: string[] = [];\n if (activeTab != undefined) {\n tabsData[activeTab]?.data.forEach((section: any) => {\n\n if (section.members && Array.isArray(section.members)) {\n\n section.members.forEach((member: any) => {\n if (member.validation && Array.isArray(member.validation)) {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n // validatedFields.push(fieldArrayName + '.' + member.name);\n validatedFields.push(member.name);\n }\n }\n });\n }\n })\n setValidRequiredFields(validatedFields);\n }\n }, [tabsData, activeTab]);\n\n useEffect(() => {\n if (watchedValues?.account_type) {\n\n const switchFormData: any[] = [];\n schema && schema.forEach((section: any) => {\n const sectionMembers = schema && section?.members?.map((ele: any) => ele) || [];\n\n const switchForms = schema && section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n ),\n }));\n if (switchForms) {\n switchFormData.push(switchForms)\n }\n })\n\n const selectValue = watchedValues?.account_type || \"Individual\";\n const switchData = switchFormData && Array.isArray(switchFormData[0])\n ? switchFormData[0].filter((form: any) => form.name === selectValue)\n : [];\n\n if (switchData) {\n validateRequiredSwitchFormData(switchData)\n }\n\n }\n }, [watchedValues?.account_type, schema, validateRequiredSwitchFormData]);\n\n useEffect(() => {\n if (validateRequiredFields.length > 0) {\n const updatedRequiredFields = getMissingFields(watchedValues, validateRequiredFields)\n\n // const updatedRequiredFields = validateRequiredFields.filter((fieldPath) => {\n // const watchedValue = watchedFields[fieldPath] ;\n // return watchedValue === undefined || watchedValue === null || watchedValue === 0 ;\n // });\n\n updatedRequiredFields.length === 0 ? setTabFormValid(true) : setTabFormValid(false);\n } else {\n setTabFormValid(true)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateRequiredFields, watchedValues, activeTab])\n\n useEffect(() => {\n if (recieveIsValidForm) {\n recieveIsValidForm(isTabFormValid)\n }\n }, [recieveIsValidForm, isTabFormValid])\n\n\n return (\n // <FullScreenLayout>\n <Box sx={{ width: \"100%\", padding: \"2rem\", ...containerStyles }}>\n <FormProvider {...{ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, errors, getFieldState, formState, ...rest }}>\n <form id={fieldArrayName} name={fieldArrayName} onSubmit={handleSubmit(handleFormSubmit)}>\n {Boolean(tabsData?.length) && (\n <>\n {errorAlert &&\n <Alert severity='error' onClose={() => setErrorAlert(false)}>\n Please fill all the required fields.\n </Alert>\n }\n <TabBar\n tabs={tabsData}\n activeTabs={activeTabs}\n activeValue={activeTab}\n setActiveValue={setActiveTabValue}\n isFormTabValid={isTabFormValid}\n />\n </>\n )}\n {schema &&\n schema.map((section: any, index: number) => {\n const {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n members,\n values,\n } = getSectionData(section)\n\n return (\n <FormSection\n section={section}\n index={index}\n members={members}\n switchForms={switchForms}\n isFormSwitcher={isFormSwitcher}\n control={control}\n fieldArrayName={fieldArrayName}\n formSwitcherName={formSwitcherName}\n displayAvtar={displayAvtar}\n isButton={isButton}\n currencyOption={currencyOption}\n values={values}\n onBlur={onBlur}\n setValue={setValue}\n onSelectFooterClick={onSelectFooterClick}\n getSelectedData={getSelectedData}\n setCurrencyOptions={setCurrencyOptions}\n refreshOptions={refreshOptions}\n handleFieldCleanUp={handleFieldCleanUp}\n handleSetCountryCodeField={handleSetCountryCodeField}\n handleTableAddClick={handleTableAddClick}\n onTableCellChange={onTableCellChange}\n // setDetailsData={setDetailsData}\n t={t}\n images={images}\n />\n );\n })}\n </form>\n </FormProvider>\n </Box>\n // </FullScreenLayout>\n );\n};\n\nexport default FormParser;\n"],"names":["_a","validations","validation","yup","schema","data","fieldArrayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-parser-DbnSn5eY.esm.js","sources":["../../src/components/form-control/form-parser/form-parser.tsx"],"sourcesContent":["import { FormProvider, useForm, useWatch } from \"react-hook-form\";\n// import { useLocation } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\n\n// import FullScreenLayout from \"../../../layout/fullScreen/fullScreen\";\n\nimport { useState, useEffect, useCallback } from \"react\";\nimport images from \"../../../assets/images\";\nimport \"./form-parser.scss\";\nimport TabBar from \"../../tabs/tabs\";\nimport formBuilderDeConversion from \"../../../utils/form-builder-deconversion\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport dayjs from \"dayjs\";\nimport { SECTION_TYPES } from '../../../utils/constant';\nimport { CountryData } from 'react-phone-input-2';\nimport Alert from '../../alert/alert';\nimport _ from \"lodash\";\nimport { useTranslation } from \"react-i18next\";\nimport FormSection from \"./form-section\";\nconst validationReducer = (validations: any, validation: any, field: any, translationFn: any) => {\n switch (validation.type) {\n case \"required\":\n return (field.field_properties?.is_multiselect ? validations.required(translationFn(validation.msg_en)).min(1, translationFn(validation.msg_en)) : validation.value\n ? validations.required(translationFn(validation.msg_en)).test('not-empty', translationFn(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"postive_number\":\n return validations.test('is-positive-number', translationFn(validation.msg_en), (value) => value >= 0)\n case 'email':\n return validations.email(validation.msg_en);\n case \"no_special_char\":\n return validations.test(\n \"no-special-char\",\n translationFn(validation.msg_en),\n value =>\n typeof value === \"string\"\n ? /^[^.\\-\\W_]+$/u.test(value) // allow letters/digits only\n : true\n );\n case \"matches\":\n return validations.matches(new RegExp(validation.value), { excludeEmptyString: true, message: translationFn(validation.msg_en) });\n case \"when\":\n return validations.when(validation.relation, {\n is: (val: any) => val === validation.values,\n then: () => validation?.thenValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n otherwise: () => validation?.otherWiseValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n });\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n}\n\nconst FormParser = ({\n data,\n defaultValues,\n handleFormSubmit,\n fieldArrayName,\n mode,\n displayAvtar = false,\n onTableAddClick,\n handleFormValues,\n getFormMethods,\n setFields,\n onSelectFooterClick,\n setActiveTabValue,\n activeTab = 0,\n recieveTabDataLenght,\n recieveIsValidForm,\n activeTabs,\n onTableCellChange,\n containerStyles = undefined,\n isButton = true,\n getSelectedData,\n refreshOptions = false,\n onBlur,\n}: any) => {\n\n const { t } = useTranslation();\n\n function convertToNestedObject(dotNotationString: string, field: any, existingObject: any = {}) {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n const fieldValidations = field.validation.reduce(\n (validations: any, validation: any) => {\n switch (validation.type) {\n case \"required\":\n return validation.value\n ? validations.required(t(validation.msg_en)).test('not-empty', t(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true)\n : (field.field_properties?.is_multiselect ? validations.min(1, t(validation.msg_en)) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, t(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, t(validation.msg_en));\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n },\n getValidationType(field)\n );\n currentLevel[key] = fieldValidations;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }\n\n const getValidationType = (field: any) => {\n switch (field.field_type) {\n case 'select':\n return field.field_properties?.is_multiselect\n ? yup.array()\n : yup.string()\n\n case 'number':\n case 'currency':\n return yup.number().transform((value, originalValue) => (originalValue === '' ? undefined : value)).typeError('Please enter valid number').nullable()\n case 'currency_with_amount':\n return yup.number()\n case 'url':\n return yup.string().matches(/^(https?:\\/\\/)?((([a-zA-Z0-9_-]+\\.)+[a-zA-Z]{2,})|localhost)(:\\d{2,5})?(\\/[a-zA-Z0-9#_-]+\\/?)*(\\?[a-zA-Z0-9&=_-]+)?(#\\S+)?$/, { excludeEmptyString: true, message: \"Please enter valid URL.\" })\n\n default:\n return yup.string()\n }\n }\n\n const convertNestedFieldSchemaObject = (nestedFields: any) => {\n const schema: any = {};\n\n for (const key in nestedFields) {\n if (typeof nestedFields[key] === 'object' && !Object.hasOwn(nestedFields[key], 'tests')) {\n schema[key] = yup.object().shape(convertNestedFieldSchemaObject(nestedFields[key]));\n } else {\n schema[key] = nestedFields[key]\n }\n }\n return schema;\n }\n\n\n const generateValidationSchema = (data: any[]) => {\n const yupSchemaObject: any = {};\n let nestedFielvalidations: any = {},\n nestedYupSchemaObj: any = {};\n\n data &&\n data?.forEach((field: any) => {\n let fieldValidations: any;\n if (field.validation && field.validation.length > 0) {\n if (field.name?.includes(\".\")) {\n nestedFielvalidations = convertToNestedObject(field.name, field, nestedFielvalidations);\n } else {\n fieldValidations = field.validation.reduce((validations: any, validation: any) => validationReducer(validations, validation, field, t),\n getValidationType(field)\n );\n yupSchemaObject[field.name] = fieldValidations;\n }\n\n nestedYupSchemaObj = convertNestedFieldSchemaObject(nestedFielvalidations)\n }\n\n });\n\n return yup.object().shape({\n [fieldArrayName]: yup.object().shape({ ...yupSchemaObject, ...nestedYupSchemaObj }),\n });\n };\n\n const {\n control,\n handleSubmit,\n formState,\n setValue,\n reset,\n getValues,\n watch,\n resetField,\n unregister,\n trigger,\n getFieldState,\n ...rest\n } = useForm({\n ...(defaultValues && typeof defaultValues === 'object' ? { defaultValues } : {}),\n resolver: yupResolver(generateValidationSchema(data)),\n mode: \"all\",\n });\n\n const { errors } = formState;\n\n const watchedValues = useWatch({\n control,\n name: fieldArrayName,\n });\n\n // Local States\n const [schema, setSchema] = useState<[]>([]);\n const [tabsData, setTabsData] = useState<any[]>([]);\n const [errorAlert, setErrorAlert] = useState<boolean>(false);\n const [currencyOption, setCurrencyOptions] = useState<string>('');\n const [isTabFormValid, setTabFormValid] = useState<boolean>(false);\n const [validateRequiredFields, setValidRequiredFields] = useState<any[]>([]);\n\n // Local Functions\n const handleTableAddClick = (tableName?: string) => {\n onTableAddClick?.(tableName)\n }\n\n const getSectionData = useCallback((section: any) => {\n const sectionMembers = section?.members?.map((ele: any) => ele) || []\n const values = getValues(fieldArrayName)\n const isFormSwitcher = section.section_type === SECTION_TYPES.FORM_SWITCH_SECTION\n const formSwitcherName =\n section?.form_switcher_name ||\n section?.form_switcher_label?.toLowerCase().split(\" \").join(\"_\");\n const switchForms = section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n )\n }));\n const selectedSectionForm =\n values?.[formSwitcherName] ?\n switchForms.find((ele: any) =>\n ele.name === values?.[formSwitcherName]\n ) : {};\n\n // When form switcher is active, include:\n // 1. Common fields (fields without section_form_id or is_form_switcher_section)\n // 2. Form-specific fields (fields with section_form_id matching the selected form)\n let members;\n if (isFormSwitcher) {\n const commonFields = sectionMembers.filter(\n (member: any) => !member.section_form_id && !member.is_form_switcher_section\n );\n const formSpecificFields = selectedSectionForm?.formMembers || [];\n members = [...commonFields, ...formSpecificFields];\n } else {\n members = section?.members;\n }\n\n return {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n selectedSectionForm,\n members,\n values\n }\n }, [fieldArrayName, getValues])\n\n const handleSetCountryCodeField = useCallback((country: CountryData, field: any, fieldArrayName: any, values: any) => {\n const oldVal = values?.[fieldArrayName]?.[field?.country_code_field_name]\n const newVal = `+${country.dialCode}`\n if (\n field?.is_country_code_separate &&\n field?.country_code_field_name &&\n oldVal !== newVal\n ) {\n setValue(\n `${fieldArrayName}.${field?.country_code_field_name}` as never,\n newVal as never\n )\n }\n }, [setValue])\n\n const handleFieldCleanUp = useCallback((switchForms: any) => {\n switchForms.forEach((form: any) => {\n form?.formMembers.forEach((member: any) => {\n const memberName = member?.name || member.label.toLowerCase().split(\" \").join(\"_\")\n const v = _.get(defaultValues, `${fieldArrayName}.${memberName}`, null)\n const newData = data.map((ele: any) => {\n if (member?.section_form_id === ele?.section_form_id) {\n delete ele.value\n }\n return ({\n ...ele,\n ...(v ? { value: v } : {}),\n })\n })\n if (!v) {\n resetField(`${fieldArrayName}.${memberName}` as never)\n unregister(`${fieldArrayName}.${memberName}` as never)\n }\n setFields?.(newData)\n })\n\n })\n }, [data, defaultValues, fieldArrayName, resetField, setFields, unregister])\n\n const createNestedObjectFromDot = useCallback((dotNotationString: string, field: any, existingObject: any = {}) => {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n let fieldValue = field.value\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field.field_type === 'date') {\n fieldValue = dayjs(fieldValue)\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n fieldValue = dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0)\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n fieldValue = Number(fieldValue)\n }\n }\n currentLevel[key] = fieldValue;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }, [])\n\n const removeMatchingKeyValuePairs = useCallback((obj1, obj2) => {\n _.forOwn(obj1, (value, key) => {\n if (_.has(obj2, key) && _.isEqual(value, obj2[key])) {\n delete obj1[key];\n }\n });\n return obj1;\n }, [])\n\n const validateRequiredSwitchFormData = useCallback((switchData: any) => {\n const requiredFields: string[] = [];\n if (switchData) {\n switchData && switchData[0]?.formMembers.forEach((member: any) => {\n if (member?.validation && Array.isArray(member?.validation)) {\n member?.validation.forEach((validation: any) => {\n if (validation?.thenValidations && Array.isArray(validation?.thenValidations)) {\n validation?.thenValidations.forEach((thenValidation: any) => {\n if (thenValidation?.type === \"required\" && thenValidation?.value === true) {\n if (member?.name) {\n requiredFields.push(member.name);\n }\n }\n });\n } else {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n requiredFields.push(member.name);\n }\n }\n });\n }\n });\n\n }\n if (requiredFields) {\n setValidRequiredFields(_.uniq(requiredFields))\n }\n\n }, [])\n\n const isEmpty = useCallback((value: any): boolean => {\n return (\n value === null ||\n value === undefined ||\n (Array.isArray(value) && value.length === 0) ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n );\n }, [])\n\n const getMissingFields = useCallback((watchedFields: any, validationReqFields: string[]): string[] => {\n const missingFields: string[] = [];\n\n validationReqFields.forEach((fieldPath) => {\n const keys = fieldPath.split(\".\");\n let currentLevel = watchedFields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (!currentLevel?.[key] && currentLevel?.[key] !== 0) {\n // If any key in the path is missing, mark the field as missing\n missingFields.push(fieldPath);\n return;\n }\n\n // Move deeper into the object\n currentLevel = currentLevel[key];\n }\n\n // After navigating the full path, check if the final value is empty\n if (isEmpty(currentLevel)) {\n missingFields.push(fieldPath);\n }\n });\n\n\n return missingFields;\n }, [isEmpty])\n\n // Use Effects\n useEffect(() => {\n if (recieveTabDataLenght) {\n recieveTabDataLenght(tabsData.length)\n }\n }, [recieveTabDataLenght, tabsData])\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.origin !== window.origin) {\n return;\n }\n const { state } = event.data;\n\n if (state?.length) {\n const data: any = formBuilderDeConversion(state);\n\n if (data.tab) {\n setTabsData(data.tab);\n } else if (data.section) {\n setSchema(data.section);\n }\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n };\n }, []);\n\n useEffect(() => {\n if (data) {\n const formData = formBuilderDeConversion(data)\n if (formData?.tab) {\n // setSchema([])\n setTabsData(formData.tab);\n if (activeTab !== undefined) {\n setSchema(formData.tab[activeTab]?.data || []);\n }\n } else {\n setSchema(formData.section);\n // setTabsData([])\n }\n const dVals = _.get(defaultValues, fieldArrayName, {})\n const wVals = removeMatchingKeyValuePairs((watchedValues || {}), (dVals || {}))\n if (mode === 'edit' && !Object.keys(wVals)?.length) {\n let formValues: any = {};\n let nestedFormValues: any = {};\n data.forEach((field: any) => {\n const fieldValue = field.value\n if (field.name?.includes(\".\")) {\n nestedFormValues = createNestedObjectFromDot(field.name, field, nestedFormValues)\n } else {\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field?.is_section_field) {\n const fieldName = field?.form_switcher_name || field?.form_switcher_label;\n formValues = { ...formValues, [fieldName]: fieldValue }\n } else if (\n field?.name &&\n ['company_id', 'email_ids'].includes(field?.name) &&\n ['edit_customer', 'add_customer', 'edit_vendor', 'add_vendor'].includes(fieldArrayName)\n ) {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else if (field.field_type === 'date') {\n formValues = { ...formValues, [field.name]: dayjs(fieldValue) }\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n formValues = { ...formValues, [field.name]: dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0) }\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n if (fieldArrayName === \"edit_user\" && field.name === \"role_id\") {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else {\n formValues = { ...formValues, [field.name]: Number(fieldValue) }\n }\n } else {\n formValues = { ...formValues, [field.name]: fieldValue }\n }\n }\n }\n })\n const finalFormValues = { ...formValues, ...nestedFormValues }\n reset({ [fieldArrayName]: { ...finalFormValues } })\n }\n getFormMethods?.({ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, getFieldState, errors, ...rest })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data])\n\n useEffect(() => {\n if (activeTab?.toString()) {\n if (tabsData && tabsData[activeTab]) {\n setSchema(tabsData[activeTab].data);\n }\n }\n }, [activeTab, tabsData]);\n\n useEffect(() => {\n if (watchedValues && handleFormValues) {\n handleFormValues?.(watchedValues);\n }\n }, [handleFormValues, watchedValues])\n\n useEffect(() => {\n if (errors?.[fieldArrayName]) {\n setErrorAlert(true)\n } else {\n setErrorAlert(false)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fieldArrayName, JSON.stringify(errors)])\n\n useEffect(() => {\n const validatedFields: string[] = [];\n if (activeTab != undefined) {\n tabsData[activeTab]?.data.forEach((section: any) => {\n\n if (section.members && Array.isArray(section.members)) {\n\n section.members.forEach((member: any) => {\n if (member.validation && Array.isArray(member.validation)) {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n // validatedFields.push(fieldArrayName + '.' + member.name);\n validatedFields.push(member.name);\n }\n }\n });\n }\n })\n setValidRequiredFields(validatedFields);\n }\n }, [tabsData, activeTab]);\n\n useEffect(() => {\n if (watchedValues?.account_type) {\n\n const switchFormData: any[] = [];\n schema && schema.forEach((section: any) => {\n const sectionMembers = schema && section?.members?.map((ele: any) => ele) || [];\n\n const switchForms = schema && section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n ),\n }));\n if (switchForms) {\n switchFormData.push(switchForms)\n }\n })\n\n const selectValue = watchedValues?.account_type || \"Individual\";\n const switchData = switchFormData && Array.isArray(switchFormData[0])\n ? switchFormData[0].filter((form: any) => form.name === selectValue)\n : [];\n\n if (switchData) {\n validateRequiredSwitchFormData(switchData)\n }\n\n }\n }, [watchedValues?.account_type, schema, validateRequiredSwitchFormData]);\n\n useEffect(() => {\n if (validateRequiredFields.length > 0) {\n const updatedRequiredFields = getMissingFields(watchedValues, validateRequiredFields)\n\n // const updatedRequiredFields = validateRequiredFields.filter((fieldPath) => {\n // const watchedValue = watchedFields[fieldPath] ;\n // return watchedValue === undefined || watchedValue === null || watchedValue === 0 ;\n // });\n\n updatedRequiredFields.length === 0 ? setTabFormValid(true) : setTabFormValid(false);\n } else {\n setTabFormValid(true)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateRequiredFields, watchedValues, activeTab])\n\n useEffect(() => {\n if (recieveIsValidForm) {\n recieveIsValidForm(isTabFormValid)\n }\n }, [recieveIsValidForm, isTabFormValid])\n\n\n return (\n // <FullScreenLayout>\n <Box sx={{ width: \"100%\", padding: \"2rem\", ...containerStyles }}>\n <FormProvider {...{ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, errors, getFieldState, formState, ...rest }}>\n <form id={fieldArrayName} name={fieldArrayName} onSubmit={handleSubmit(handleFormSubmit)}>\n {Boolean(tabsData?.length) && (\n <>\n {errorAlert &&\n <Alert severity='error' onClose={() => setErrorAlert(false)}>\n Please fill all the required fields.\n </Alert>\n }\n <TabBar\n tabs={tabsData}\n activeTabs={activeTabs}\n activeValue={activeTab}\n setActiveValue={setActiveTabValue}\n isFormTabValid={isTabFormValid}\n />\n </>\n )}\n {schema &&\n schema.map((section: any, index: number) => {\n const {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n members,\n values,\n } = getSectionData(section)\n\n return (\n <FormSection\n section={section}\n index={index}\n members={members}\n switchForms={switchForms}\n isFormSwitcher={isFormSwitcher}\n control={control}\n fieldArrayName={fieldArrayName}\n formSwitcherName={formSwitcherName}\n displayAvtar={displayAvtar}\n isButton={isButton}\n currencyOption={currencyOption}\n values={values}\n onBlur={onBlur}\n setValue={setValue}\n onSelectFooterClick={onSelectFooterClick}\n getSelectedData={getSelectedData}\n setCurrencyOptions={setCurrencyOptions}\n refreshOptions={refreshOptions}\n handleFieldCleanUp={handleFieldCleanUp}\n handleSetCountryCodeField={handleSetCountryCodeField}\n handleTableAddClick={handleTableAddClick}\n onTableCellChange={onTableCellChange}\n // setDetailsData={setDetailsData}\n t={t}\n images={images}\n />\n );\n })}\n </form>\n </FormProvider>\n </Box>\n // </FullScreenLayout>\n );\n};\n\nexport default FormParser;\n"],"names":["_a","validations","validation","yup","schema","data","fieldArrayName"],"mappings":";;;;;;;;;;;;;;;;AAoBA,MAAM,oBAAoB,CAAC,aAAkB,YAAiB,OAAY,kBAAuB;;AAC/F,UAAQ,WAAW,MAAA;AAAA,IACjB,KAAK;AACH,eAAQ,WAAM,qBAAN,mBAAwB,kBAAiB,YAAY,SAAS,cAAc,WAAW,MAAM,CAAC,EAAE,IAAI,GAAG,cAAc,WAAW,MAAM,CAAC,IAAI,WAAW,QAC1J,YAAY,SAAS,cAAc,WAAW,MAAM,CAAC,EAAE,KAAK,aAAa,cAAc,WAAW,MAAM,GAAG,CAAA;;AAAS,sBAAO,UAAU,WAAW,WAASA,MAAA,+BAAO,WAAP,gBAAAA,IAAe,UAAS,IAAI;AAAA,OAAI,IAAI,YAAY,SAAA;AAAA,IAC/M,KAAK;AACH,aAAO,YAAY,IAAI,WAAW,OAAO,cAAc,WAAW,MAAM,CAAC;AAAA,IAC3E,KAAK;AACH,aAAO,YAAY,IAAI,WAAW,OAAO,cAAc,WAAW,MAAM,CAAC;AAAA,IAC3E,KAAK;AACH,aAAO,YAAY,IAAI,WAAW,OAAO,cAAc,WAAW,MAAM,CAAC;AAAA,IAC3E,KAAK;AACH,aAAO,YAAY,IAAI,WAAW,OAAO,cAAc,WAAW,MAAM,CAAC;AAAA,IAC3E,KAAK;AACH,aAAO,YAAY,KAAK,sBAAsB,cAAc,WAAW,MAAM,GAAG,CAAC,UAAU,SAAS,CAAC;AAAA,IACvG,KAAK;AACH,aAAO,YAAY,MAAM,WAAW,MAAM;AAAA,IAC5C,KAAK;AACH,aAAO,YAAY;AAAA,QACjB;AAAA,QACA,cAAc,WAAW,MAAM;AAAA,QAC/B,WACE,OAAO,UAAU,WACb,gBAAgB,KAAK,KAAK,IAC1B;AAAA,MAAA;AAAA,IAEV,KAAK;AACH,aAAO,YAAY,QAAQ,IAAI,OAAO,WAAW,KAAK,GAAG,EAAE,oBAAoB,MAAM,SAAS,cAAc,WAAW,MAAM,GAAG;AAAA,IAClI,KAAK;AACH,aAAO,YAAY,KAAK,WAAW,UAAU;AAAA,QAC3C,IAAI,CAAC,QAAa,QAAQ,WAAW;AAAA,QACrC,MAAM,MAAA;;AAAM,mBAAAA,MAAA,yCAAY,oBAAZ,gBAAAA,IAA6B;AAAA,YACvC,CAACC,cAAkBC,gBAAoB,kBAAkBD,cAAaC,aAAY,OAAO,aAAa;AAAA,YACtG;AAAA,gBACG;AAAA;AAAA,QACL,WAAW,MAAA;;AAAM,mBAAAF,MAAA,yCAAY,yBAAZ,gBAAAA,IAAkC;AAAA,YACjD,CAACC,cAAkBC,gBAAoB,kBAAkBD,cAAaC,aAAY,OAAO,aAAa;AAAA,YACtG;AAAA,gBACG;AAAA;AAAA,MAAA,CACN;AAAA,IAEH;AACE,aAAO;AAAA,EAAA;AAEb;AAEA,MAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX;AAAA,EACA,iBAAiB;AAAA,EACjB;AACF,MAAW;AAET,QAAM,EAAE,EAAA,IAAM,eAAA;AAEd,WAAS,sBAAsB,mBAA2B,OAAY,iBAAsB,CAAA,GAAI;AAC9F,UAAM,OAAO,kBAAkB,MAAM,GAAG;AACxC,QAAI,eAAe;AAEnB,SAAK,QAAQ,CAAC,KAAK,UAAU;AAC3B,UAAI,UAAU,KAAK,SAAS,GAAG;AAC7B,YAAI,CAAC,aAAa,GAAG,GAAG;AACtB,gBAAM,mBAAmB,MAAM,WAAW;AAAA,YACxC,CAAC,aAAkB,eAAoB;;AACrC,sBAAQ,WAAW,MAAA;AAAA,gBACjB,KAAK;AACH,yBAAO,WAAW,QACd,YAAY,SAAS,EAAE,WAAW,MAAM,CAAC,EAAE,KAAK,aAAa,EAAE,WAAW,MAAM,GAAG,CAAA,UAAA;;AAAS,kCAAO,UAAU,WAAW,WAASF,MAAA,+BAAO,WAAP,gBAAAA,IAAe,UAAS,IAAI;AAAA,mBAAI,MAChK,WAAM,qBAAN,mBAAwB,kBAAiB,YAAY,IAAI,GAAG,EAAE,WAAW,MAAM,CAAC,IAAI,YAAY,SAAA;AAAA,gBACvG,KAAK;AACH,yBAAO,YAAY,IAAI,WAAW,OAAO,EAAE,WAAW,MAAM,CAAC;AAAA,gBAC/D,KAAK;AACH,yBAAO,YAAY,IAAI,WAAW,OAAO,EAAE,WAAW,MAAM,CAAC;AAAA,gBAC/D,KAAK;AACH,yBAAO,YAAY,IAAI,WAAW,OAAO,EAAE,WAAW,MAAM,CAAC;AAAA,gBAC/D,KAAK;AACH,yBAAO,YAAY,IAAI,WAAW,OAAO,EAAE,WAAW,MAAM,CAAC;AAAA,gBAE/D;AACE,yBAAO;AAAA,cAAA;AAAA,YAEb;AAAA,YACA,kBAAkB,KAAK;AAAA,UAAA;AAEzB,uBAAa,GAAG,IAAI;AAAA,QACtB,WAAW,OAAO,aAAa,GAAG,MAAM,YAAY,MAAM,QAAQ,aAAa,GAAG,CAAC,GAAG;AACpF,gBAAM,IAAI,MAAM,sBAAsB,GAAG,wCAAwC;AAAA,QACnF;AAAA,MACF,OAAO;AACL,YAAI,CAAC,aAAa,GAAG,GAAG;AACtB,uBAAa,GAAG,IAAI,CAAA;AAAA,QACtB,WAAW,OAAO,aAAa,GAAG,MAAM,YAAY,MAAM,QAAQ,aAAa,GAAG,CAAC,GAAG;AACpF,gBAAM,IAAI,MAAM,sBAAsB,GAAG,wCAAwC;AAAA,QACnF;AACA,uBAAe,aAAa,GAAG;AAAA,MAEjC;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AAEA,QAAM,oBAAoB,CAAC,UAAe;;AACxC,YAAQ,MAAM,YAAA;AAAA,MACZ,KAAK;AACH,iBAAO,WAAM,qBAAN,mBAAwB,kBAC3BG,IAAI,MAAA,IACJA,IAAI,OAAA;AAAA,MAEV,KAAK;AAAA,MACL,KAAK;AACH,eAAOA,IAAI,OAAA,EAAS,UAAU,CAAC,OAAO,kBAAmB,kBAAkB,KAAK,SAAY,KAAM,EAAE,UAAU,2BAA2B,EAAE,SAAA;AAAA,MAC7I,KAAK;AACH,eAAOA,IAAI,OAAA;AAAA,MACb,KAAK;AACH,eAAOA,IAAI,OAAA,EAAS,QAAQ,+HAA+H,EAAE,oBAAoB,MAAM,SAAS,2BAA2B;AAAA,MAE7N;AACE,eAAOA,IAAI,OAAA;AAAA,IAAO;AAAA,EAExB;AAEA,QAAM,iCAAiC,CAAC,iBAAsB;AAC5D,UAAMC,UAAc,CAAA;AAEpB,eAAW,OAAO,cAAc;AAC9B,UAAI,OAAO,aAAa,GAAG,MAAM,YAAY,CAAC,OAAO,OAAO,aAAa,GAAG,GAAG,OAAO,GAAG;AACvFA,gBAAO,GAAG,IAAID,IAAI,OAAA,EAAS,MAAM,+BAA+B,aAAa,GAAG,CAAC,CAAC;AAAA,MACpF,OAAO;AACLC,gBAAO,GAAG,IAAI,aAAa,GAAG;AAAA,MAChC;AAAA,IACF;AACA,WAAOA;AAAAA,EACT;AAGA,QAAM,2BAA2B,CAACC,UAAgB;AAChD,UAAM,kBAAuB,CAAA;AAC7B,QAAI,wBAA6B,IAC/B,qBAA0B,CAAA;AAE5BA,cACEA,+BAAM,QAAQ,CAAC,UAAe;;AAC5B,UAAI;AACJ,UAAI,MAAM,cAAc,MAAM,WAAW,SAAS,GAAG;AACnD,aAAI,WAAM,SAAN,mBAAY,SAAS,MAAM;AAC7B,kCAAwB,sBAAsB,MAAM,MAAM,OAAO,qBAAqB;AAAA,QACxF,OAAO;AACL,6BAAmB,MAAM,WAAW;AAAA,YAAO,CAAC,aAAkB,eAAoB,kBAAkB,aAAa,YAAY,OAAO,CAAC;AAAA,YACnI,kBAAkB,KAAK;AAAA,UAAA;AAEzB,0BAAgB,MAAM,IAAI,IAAI;AAAA,QAChC;AAEA,6BAAqB,+BAA+B,qBAAqB;AAAA,MAC3E;AAAA,IAEF;AAEF,WAAOF,IAAI,OAAA,EAAS,MAAM;AAAA,MACxB,CAAC,cAAc,GAAGA,IAAI,OAAA,EAAS,MAAM,EAAE,GAAG,iBAAiB,GAAG,mBAAA,CAAoB;AAAA,IAAA,CACnF;AAAA,EACH;AAEA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACD,QAAQ;AAAA,IACV,GAAI,iBAAiB,OAAO,kBAAkB,WAAW,EAAE,cAAA,IAAkB,CAAA;AAAA,IAC7E,UAAU,YAAY,yBAAyB,IAAI,CAAC;AAAA,IACpD,MAAM;AAAA,EAAA,CACP;AAED,QAAM,EAAE,WAAW;AAEnB,QAAM,gBAAgB,SAAS;AAAA,IAC7B;AAAA,IACA,MAAM;AAAA,EAAA,CACP;AAGD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAa,CAAA,CAAE;AAC3C,QAAM,CAAC,UAAU,WAAW,IAAI,SAAgB,CAAA,CAAE;AAClD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAkB,KAAK;AAC3D,QAAM,CAAC,gBAAgB,kBAAkB,IAAI,SAAiB,EAAE;AAChE,QAAM,CAAC,gBAAgB,eAAe,IAAI,SAAkB,KAAK;AACjE,QAAM,CAAC,wBAAwB,sBAAsB,IAAI,SAAgB,CAAA,CAAE;AAG3E,QAAM,sBAAsB,CAAC,cAAuB;AAClD,uDAAkB;AAAA,EACpB;AAEA,QAAM,iBAAiB,YAAY,CAAC,YAAiB;;AACnD,UAAM,mBAAiB,wCAAS,YAAT,mBAAkB,IAAI,CAAC,QAAa,SAAQ,CAAA;AACnE,UAAM,SAAS,UAAU,cAAc;AACvC,UAAM,iBAAiB,QAAQ,iBAAiB,cAAc;AAC9D,UAAM,oBACJ,mCAAS,yBACT,wCAAS,wBAAT,mBAA8B,cAAc,MAAM,KAAK,KAAK;AAC9D,UAAM,eAAc,wCAAS,mBAAT,mBAAyB,IAAI,CAAC,UAAe;AAAA,MAC/D,GAAG;AAAA,MACH,aAAa,eAAe;AAAA,QAC1B,CAAC,WAAgB,OAAO,oBAAoB,KAAK;AAAA,MAAA;AAAA,IACnD;AAEF,UAAM,uBACJ,iCAAS,qBACP,YAAY;AAAA,MAAK,CAAC,QAChB,IAAI,UAAS,iCAAS;AAAA,IAAgB,IACpC,CAAA;AAKR,QAAI;AACJ,QAAI,gBAAgB;AAClB,YAAM,eAAe,eAAe;AAAA,QAClC,CAAC,WAAgB,CAAC,OAAO,mBAAmB,CAAC,OAAO;AAAA,MAAA;AAEtD,YAAM,sBAAqB,2DAAqB,gBAAe,CAAA;AAC/D,gBAAU,CAAC,GAAG,cAAc,GAAG,kBAAkB;AAAA,IACnD,OAAO;AACL,gBAAU,mCAAS;AAAA,IACrB;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ,GAAG,CAAC,gBAAgB,SAAS,CAAC;AAE9B,QAAM,4BAA4B,YAAY,CAAC,SAAsB,OAAYG,iBAAqB,WAAgB;;AACpH,UAAM,UAAS,sCAASA,qBAAT,mBAA2B,+BAAO;AACjD,UAAM,SAAS,IAAI,QAAQ,QAAQ;AACnC,SACE,+BAAO,8BACP,+BAAO,4BACP,WAAW,QACX;AACA;AAAA,QACE,GAAGA,eAAc,IAAI,+BAAO,uBAAuB;AAAA,QACnD;AAAA,MAAA;AAAA,IAEJ;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,qBAAqB,YAAY,CAAC,gBAAqB;AAC3D,gBAAY,QAAQ,CAAC,SAAc;AACjC,mCAAM,YAAY,QAAQ,CAAC,WAAgB;AACzC,cAAM,cAAa,iCAAQ,SAAQ,OAAO,MAAM,YAAA,EAAc,MAAM,GAAG,EAAE,KAAK,GAAG;AACjF,cAAM,IAAI,EAAE,IAAI,eAAe,GAAG,cAAc,IAAI,UAAU,IAAI,IAAI;AACtE,cAAM,UAAU,KAAK,IAAI,CAAC,QAAa;AACrC,eAAI,iCAAQ,sBAAoB,2BAAK,kBAAiB;AACpD,mBAAO,IAAI;AAAA,UACb;AACA,iBAAQ;AAAA,YACN,GAAG;AAAA,YACH,GAAI,IAAI,EAAE,OAAO,MAAM,CAAA;AAAA,UAAC;AAAA,QAE5B,CAAC;AACD,YAAI,CAAC,GAAG;AACN,qBAAW,GAAG,cAAc,IAAI,UAAU,EAAW;AACrD,qBAAW,GAAG,cAAc,IAAI,UAAU,EAAW;AAAA,QACvD;AACA,+CAAY;AAAA,MACd;AAAA,IAEF,CAAC;AAAA,EACH,GAAG,CAAC,MAAM,eAAe,gBAAgB,YAAY,WAAW,UAAU,CAAC;AAE3E,QAAM,4BAA4B,YAAY,CAAC,mBAA2B,OAAY,iBAAsB,OAAO;AACjH,UAAM,OAAO,kBAAkB,MAAM,GAAG;AACxC,QAAI,eAAe;AAEnB,SAAK,QAAQ,CAAC,KAAK,UAAU;AAC3B,UAAI,UAAU,KAAK,SAAS,GAAG;AAC7B,YAAI,CAAC,aAAa,GAAG,GAAG;AACtB,cAAI,aAAa,MAAM;AACvB,cAAI,eAAe,MAAM,eAAe,WAAW,MAAM,eAAe,SAAS;AAC/E,gBAAI,MAAM,eAAe,QAAQ;AAC/B,2BAAa,MAAM,UAAU;AAAA,YAC/B,WAAW,MAAM,eAAe,QAAQ;AACtC,oBAAM,CAAC,OAAO,SAAS,OAAO,IAAI,WAAW,MAAM,GAAG,EAAE,IAAI,MAAM;AAClE,2BAAa,QAAQ,IAAI,QAAQ,KAAK,EAAE,IAAI,UAAU,OAAO,EAAE,IAAI,UAAU,OAAO,EAAE,IAAI,eAAe,CAAC;AAAA,YAC5G,WAAW,MAAM,KAAK,SAAS,KAAK,KAAK,CAAC,MAAM,QAAQ,+BAAO,KAAK,GAAG;AACrE,2BAAa,OAAO,UAAU;AAAA,YAChC;AAAA,UACF;AACA,uBAAa,GAAG,IAAI;AAAA,QACtB,WAAW,OAAO,aAAa,GAAG,MAAM,YAAY,MAAM,QAAQ,aAAa,GAAG,CAAC,GAAG;AACpF,gBAAM,IAAI,MAAM,sBAAsB,GAAG,wCAAwC;AAAA,QACnF;AAAA,MACF,OAAO;AACL,YAAI,CAAC,aAAa,GAAG,GAAG;AACtB,uBAAa,GAAG,IAAI,CAAA;AAAA,QACtB,WAAW,OAAO,aAAa,GAAG,MAAM,YAAY,MAAM,QAAQ,aAAa,GAAG,CAAC,GAAG;AACpF,gBAAM,IAAI,MAAM,sBAAsB,GAAG,wCAAwC;AAAA,QACnF;AACA,uBAAe,aAAa,GAAG;AAAA,MAEjC;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT,GAAG,CAAA,CAAE;AAEL,QAAM,8BAA8B,YAAY,CAAC,MAAM,SAAS;AAC9D,MAAE,OAAO,MAAM,CAAC,OAAO,QAAQ;AAC7B,UAAI,EAAE,IAAI,MAAM,GAAG,KAAK,EAAE,QAAQ,OAAO,KAAK,GAAG,CAAC,GAAG;AACnD,eAAO,KAAK,GAAG;AAAA,MACjB;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT,GAAG,CAAA,CAAE;AAEL,QAAM,iCAAiC,YAAY,CAAC,eAAoB;;AACtE,UAAM,iBAA2B,CAAA;AACjC,QAAI,YAAY;AACd,sBAAc,gBAAW,CAAC,MAAZ,mBAAe,YAAY,QAAQ,CAAC,WAAgB;AAChE,aAAI,iCAAQ,eAAc,MAAM,QAAQ,iCAAQ,UAAU,GAAG;AAC3D,2CAAQ,WAAW,QAAQ,CAAC,eAAoB;AAC9C,iBAAI,yCAAY,oBAAmB,MAAM,QAAQ,yCAAY,eAAe,GAAG;AAC7E,uDAAY,gBAAgB,QAAQ,CAAC,mBAAwB;AAC3D,qBAAI,iDAAgB,UAAS,eAAc,iDAAgB,WAAU,MAAM;AACzE,sBAAI,iCAAQ,MAAM;AAChB,mCAAe,KAAK,OAAO,IAAI;AAAA,kBACjC;AAAA,gBACF;AAAA,cACF;AAAA,YACF,OAAO;AACL,oBAAM,wBAAwB,OAAO,WAAW;AAAA,gBAC9C,CAACJ,gBAAoBA,YAAW,SAAS,cAAcA,YAAW,UAAU;AAAA,cAAA;AAE9E,kBAAI,uBAAuB;AACzB,+BAAe,KAAK,OAAO,IAAI;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IAEF;AACA,QAAI,gBAAgB;AAClB,6BAAuB,EAAE,KAAK,cAAc,CAAC;AAAA,IAC/C;AAAA,EAEF,GAAG,CAAA,CAAE;AAEL,QAAM,UAAU,YAAY,CAAC,UAAwB;AACnD,WACE,UAAU,QACV,UAAU,UACT,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,KACzC,OAAO,UAAU,YAAY,OAAO,KAAK,KAAK,EAAE,WAAW;AAAA,EAEhE,GAAG,CAAA,CAAE;AAEL,QAAM,mBAAmB,YAAY,CAAC,eAAoB,wBAA4C;AACpG,UAAM,gBAA0B,CAAA;AAEhC,wBAAoB,QAAQ,CAAC,cAAc;AACzC,YAAM,OAAO,UAAU,MAAM,GAAG;AAChC,UAAI,eAAe;AAEnB,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,cAAM,MAAM,KAAK,CAAC;AAElB,YAAI,EAAC,6CAAe,UAAQ,6CAAe,UAAS,GAAG;AAErD,wBAAc,KAAK,SAAS;AAC5B;AAAA,QACF;AAGA,uBAAe,aAAa,GAAG;AAAA,MACjC;AAGA,UAAI,QAAQ,YAAY,GAAG;AACzB,sBAAc,KAAK,SAAS;AAAA,MAC9B;AAAA,IACF,CAAC;AAGD,WAAO;AAAA,EACT,GAAG,CAAC,OAAO,CAAC;AAGZ,YAAU,MAAM;AACd,QAAI,sBAAsB;AACxB,2BAAqB,SAAS,MAAM;AAAA,IACtC;AAAA,EACF,GAAG,CAAC,sBAAsB,QAAQ,CAAC;AAEnC,YAAU,MAAM;AACd,UAAM,gBAAgB,CAAC,UAAwB;AAC7C,UAAI,MAAM,WAAW,OAAO,QAAQ;AAClC;AAAA,MACF;AACA,YAAM,EAAE,UAAU,MAAM;AAExB,UAAI,+BAAO,QAAQ;AACjB,cAAMG,QAAY,wBAAwB,KAAK;AAE/C,YAAIA,MAAK,KAAK;AACZ,sBAAYA,MAAK,GAAG;AAAA,QACtB,WAAWA,MAAK,SAAS;AACvB,oBAAUA,MAAK,OAAO;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAEA,WAAO,iBAAiB,WAAW,aAAa;AAEhD,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,aAAa;AAAA,IACrD;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,YAAU,MAAM;;AACd,QAAI,MAAM;AACR,YAAM,WAAW,wBAAwB,IAAI;AAC7C,UAAI,qCAAU,KAAK;AAEjB,oBAAY,SAAS,GAAG;AACxB,YAAI,cAAc,QAAW;AAC3B,sBAAU,cAAS,IAAI,SAAS,MAAtB,mBAAyB,SAAQ,CAAA,CAAE;AAAA,QAC/C;AAAA,MACF,OAAO;AACL,kBAAU,SAAS,OAAO;AAAA,MAE5B;AACA,YAAM,QAAQ,EAAE,IAAI,eAAe,gBAAgB,CAAA,CAAE;AACrD,YAAM,QAAQ,4BAA6B,iBAAiB,CAAA,GAAM,SAAS,CAAA,CAAG;AAC9E,UAAI,SAAS,UAAU,GAAC,YAAO,KAAK,KAAK,MAAjB,mBAAoB,SAAQ;AAClD,YAAI,aAAkB,CAAA;AACtB,YAAI,mBAAwB,CAAA;AAC5B,aAAK,QAAQ,CAAC,UAAe;;AAC3B,gBAAM,aAAa,MAAM;AACzB,eAAIL,MAAA,MAAM,SAAN,gBAAAA,IAAY,SAAS,MAAM;AAC7B,+BAAmB,0BAA0B,MAAM,MAAM,OAAO,gBAAgB;AAAA,UAClF,OAAO;AACL,gBAAI,eAAe,MAAM,eAAe,WAAW,MAAM,eAAe,SAAS;AAC/E,kBAAI,+BAAO,kBAAkB;AAC3B,sBAAM,aAAY,+BAAO,wBAAsB,+BAAO;AACtD,6BAAa,EAAE,GAAG,YAAY,CAAC,SAAS,GAAG,WAAA;AAAA,cAC7C,YACE,+BAAO,SACP,CAAC,cAAc,WAAW,EAAE,SAAS,+BAAO,IAAI,KAChD,CAAC,iBAAiB,gBAAgB,eAAe,YAAY,EAAE,SAAS,cAAc,GACtF;AACA,6BAAa,EAAE,GAAG,YAAY,CAAC,MAAM,IAAI,GAAG,WAAA;AAAA,cAC9C,WAAW,MAAM,eAAe,QAAQ;AACtC,6BAAa,EAAE,GAAG,YAAY,CAAC,MAAM,IAAI,GAAG,MAAM,UAAU,EAAA;AAAA,cAC9D,WAAW,MAAM,eAAe,QAAQ;AACtC,sBAAM,CAAC,OAAO,SAAS,OAAO,IAAI,WAAW,MAAM,GAAG,EAAE,IAAI,MAAM;AAClE,6BAAa,EAAE,GAAG,YAAY,CAAC,MAAM,IAAI,GAAG,MAAA,EAAQ,IAAI,QAAQ,KAAK,EAAE,IAAI,UAAU,OAAO,EAAE,IAAI,UAAU,OAAO,EAAE,IAAI,eAAe,CAAC,EAAA;AAAA,cAC3I,WAAW,MAAM,KAAK,SAAS,KAAK,KAAK,CAAC,MAAM,QAAQ,+BAAO,KAAK,GAAG;AACrE,oBAAI,mBAAmB,eAAe,MAAM,SAAS,WAAW;AAC9D,+BAAa,EAAE,GAAG,YAAY,CAAC,MAAM,IAAI,GAAG,WAAA;AAAA,gBAC9C,OAAO;AACL,+BAAa,EAAE,GAAG,YAAY,CAAC,MAAM,IAAI,GAAG,OAAO,UAAU,EAAA;AAAA,gBAC/D;AAAA,cACF,OAAO;AACL,6BAAa,EAAE,GAAG,YAAY,CAAC,MAAM,IAAI,GAAG,WAAA;AAAA,cAC9C;AAAA,YACF;AAAA,UACF;AAAA,QACF,CAAC;AACD,cAAM,kBAAkB,EAAE,GAAG,YAAY,GAAG,iBAAA;AAC5C,cAAM,EAAE,CAAC,cAAc,GAAG,EAAE,GAAG,gBAAA,GAAmB;AAAA,MACpD;AACA,uDAAiB,EAAE,SAAS,cAAc,UAAU,OAAO,YAAY,WAAW,YAAY,SAAS,OAAO,eAAe,QAAQ,GAAG;IAC1I;AAAA,EAEF,GAAG,CAAC,IAAI,CAAC;AAET,YAAU,MAAM;AACd,QAAI,uCAAW,YAAY;AACzB,UAAI,YAAY,SAAS,SAAS,GAAG;AACnC,kBAAU,SAAS,SAAS,EAAE,IAAI;AAAA,MACpC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,WAAW,QAAQ,CAAC;AAExB,YAAU,MAAM;AACd,QAAI,iBAAiB,kBAAkB;AACrC,2DAAmB;AAAA,IACrB;AAAA,EACF,GAAG,CAAC,kBAAkB,aAAa,CAAC;AAEpC,YAAU,MAAM;AACd,QAAI,iCAAS,iBAAiB;AAC5B,oBAAc,IAAI;AAAA,IACpB,OAAO;AACL,oBAAc,KAAK;AAAA,IACrB;AAAA,EAEF,GAAG,CAAC,gBAAgB,KAAK,UAAU,MAAM,CAAC,CAAC;AAE3C,YAAU,MAAM;;AACd,UAAM,kBAA4B,CAAA;AAClC,QAAI,aAAa,QAAW;AAC1B,qBAAS,SAAS,MAAlB,mBAAqB,KAAK,QAAQ,CAAC,YAAiB;AAElD,YAAI,QAAQ,WAAW,MAAM,QAAQ,QAAQ,OAAO,GAAG;AAErD,kBAAQ,QAAQ,QAAQ,CAAC,WAAgB;AACvC,gBAAI,OAAO,cAAc,MAAM,QAAQ,OAAO,UAAU,GAAG;AACzD,oBAAM,wBAAwB,OAAO,WAAW;AAAA,gBAC9C,CAAC,eAAoB,WAAW,SAAS,cAAc,WAAW,UAAU;AAAA,cAAA;AAE9E,kBAAI,uBAAuB;AAEzB,gCAAgB,KAAK,OAAO,IAAI;AAAA,cAClC;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AACA,6BAAuB,eAAe;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,UAAU,SAAS,CAAC;AAExB,YAAU,MAAM;AACd,QAAI,+CAAe,cAAc;AAE/B,YAAM,iBAAwB,CAAA;AAC9B,gBAAU,OAAO,QAAQ,CAAC,YAAiB;;AACzC,cAAM,iBAAiB,YAAU,wCAAS,YAAT,mBAAkB,IAAI,CAAC,QAAa,SAAQ,CAAA;AAE7E,cAAM,cAAc,YAAU,wCAAS,mBAAT,mBAAyB,IAAI,CAAC,UAAe;AAAA,UACzE,GAAG;AAAA,UACH,aAAa,eAAe;AAAA,YAC1B,CAAC,WAAgB,OAAO,oBAAoB,KAAK;AAAA,UAAA;AAAA,QACnD;AAEF,YAAI,aAAa;AACf,yBAAe,KAAK,WAAW;AAAA,QACjC;AAAA,MACF,CAAC;AAED,YAAM,eAAc,+CAAe,iBAAgB;AACnD,YAAM,aAAa,kBAAkB,MAAM,QAAQ,eAAe,CAAC,CAAC,IAChE,eAAe,CAAC,EAAE,OAAO,CAAC,SAAc,KAAK,SAAS,WAAW,IACjE,CAAA;AAEJ,UAAI,YAAY;AACd,uCAA+B,UAAU;AAAA,MAC3C;AAAA,IAEF;AAAA,EACF,GAAG,CAAC,+CAAe,cAAc,QAAQ,8BAA8B,CAAC;AAExE,YAAU,MAAM;AACd,QAAI,uBAAuB,SAAS,GAAG;AACrC,YAAM,wBAAwB,iBAAiB,eAAe,sBAAsB;AAOpF,4BAAsB,WAAW,IAAI,gBAAgB,IAAI,IAAI,gBAAgB,KAAK;AAAA,IACpF,OAAO;AACL,sBAAgB,IAAI;AAAA,IACtB;AAAA,EAEF,GAAG,CAAC,wBAAwB,eAAe,SAAS,CAAC;AAErD,YAAU,MAAM;AACd,QAAI,oBAAoB;AACtB,yBAAmB,cAAc;AAAA,IACnC;AAAA,EACF,GAAG,CAAC,oBAAoB,cAAc,CAAC;AAGvC;AAAA;AAAA,wBAEG,KAAA,EAAI,IAAI,EAAE,OAAO,QAAQ,SAAS,QAAQ,GAAG,gBAAA,GAC5C,UAAA,oBAAC,cAAA,EAAc,GAAG,EAAE,SAAS,cAAc,UAAU,OAAO,YAAY,WAAW,YAAY,SAAS,OAAO,QAAQ,eAAe,WAAW,GAAG,QAClJ,UAAA,qBAAC,QAAA,EAAK,IAAI,gBAAgB,MAAM,gBAAgB,UAAU,aAAa,gBAAgB,GACpF,UAAA;AAAA,MAAA,QAAQ,qCAAU,MAAM,KACvB,qBAAA,UAAA,EACG,UAAA;AAAA,QAAA,cACC,oBAAC,SAAM,UAAS,SAAQ,SAAS,MAAM,cAAc,KAAK,GAAG,UAAA,uCAAA,CAE7D;AAAA,QAEF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAM;AAAA,YACN;AAAA,YACA,aAAa;AAAA,YACb,gBAAgB;AAAA,YAChB,gBAAgB;AAAA,UAAA;AAAA,QAAA;AAAA,MAClB,GACF;AAAA,MAED,UACC,OAAO,IAAI,CAAC,SAAc,UAAkB;AAC1C,cAAM;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,IACE,eAAe,OAAO;AAE1B,eACE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YAEA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA;AAAA,MAGN,CAAC;AAAA,IAAA,EAAA,CACL,GACF,EAAA,CACF;AAAA;AAGJ;"}
|
|
@@ -14,7 +14,7 @@ const utils_constant = require("../utils/constant/index.js");
|
|
|
14
14
|
const alert = require("./alert-u6hGY38p.js");
|
|
15
15
|
const _ = require("lodash");
|
|
16
16
|
const reactI18next = require("react-i18next");
|
|
17
|
-
const formSection = require("./form-section-
|
|
17
|
+
const formSection = require("./form-section-CPIyMdk2.js");
|
|
18
18
|
function _interopNamespaceDefault(e) {
|
|
19
19
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
20
20
|
if (e) {
|
|
@@ -604,4 +604,4 @@ const FormParser = ({
|
|
|
604
604
|
);
|
|
605
605
|
};
|
|
606
606
|
exports.FormParser = FormParser;
|
|
607
|
-
//# sourceMappingURL=form-parser-
|
|
607
|
+
//# sourceMappingURL=form-parser-m4fnw38a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-parser-BnMdMDSb.js","sources":["../../src/components/form-control/form-parser/form-parser.tsx"],"sourcesContent":["import { FormProvider, useForm, useWatch } from \"react-hook-form\";\n// import { useLocation } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\n\n// import FullScreenLayout from \"../../../layout/fullScreen/fullScreen\";\n\nimport { useState, useEffect, useCallback } from \"react\";\nimport images from \"../../../assets/images\";\nimport \"./form-parser.scss\";\nimport TabBar from \"../../tabs/tabs\";\nimport formBuilderDeConversion from \"../../../utils/form-builder-deconversion\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport dayjs from \"dayjs\";\nimport { SECTION_TYPES } from '../../../utils/constant';\nimport { CountryData } from 'react-phone-input-2';\nimport Alert from '../../alert/alert';\nimport _ from \"lodash\";\nimport { useTranslation } from \"react-i18next\";\nimport FormSection from \"./form-section\";\nconst validationReducer = (validations: any, validation: any, field: any, translationFn: any) => {\n switch (validation.type) {\n case \"required\":\n return (field.field_properties?.is_multiselect ? validations.required(translationFn(validation.msg_en)).min(1, translationFn(validation.msg_en)) : validation.value\n ? validations.required(translationFn(validation.msg_en)).test('not-empty', translationFn(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"postive_number\":\n return validations.test('is-positive-number', translationFn(validation.msg_en), (value) => value >= 0)\n case 'email':\n return validations.email(validation.msg_en);\n case \"no_special_char\":\n return validations.test(\n \"no-special-char\",\n translationFn(validation.msg_en),\n value =>\n typeof value === \"string\"\n ? /^[^.\\-\\W_]+$/u.test(value) // allow letters/digits only\n : true\n );\n case \"matches\":\n return validations.matches(new RegExp(validation.value), { excludeEmptyString: true, message: translationFn(validation.msg_en) });\n case \"when\":\n return validations.when(validation.relation, {\n is: (val: any) => val === validation.values,\n then: () => validation?.thenValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n otherwise: () => validation?.otherWiseValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n });\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n}\n\nconst FormParser = ({\n data,\n defaultValues,\n handleFormSubmit,\n fieldArrayName,\n mode,\n displayAvtar = false,\n onTableAddClick,\n handleFormValues,\n getFormMethods,\n setFields,\n onSelectFooterClick,\n setActiveTabValue,\n activeTab = 0,\n recieveTabDataLenght,\n recieveIsValidForm,\n activeTabs,\n onTableCellChange,\n containerStyles = undefined,\n isButton = true,\n getSelectedData,\n refreshOptions = false,\n onBlur,\n}: any) => {\n\n const { t } = useTranslation();\n\n function convertToNestedObject(dotNotationString: string, field: any, existingObject: any = {}) {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n const fieldValidations = field.validation.reduce(\n (validations: any, validation: any) => {\n switch (validation.type) {\n case \"required\":\n return validation.value\n ? validations.required(t(validation.msg_en)).test('not-empty', t(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true)\n : (field.field_properties?.is_multiselect ? validations.min(1, t(validation.msg_en)) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, t(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, t(validation.msg_en));\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n },\n getValidationType(field)\n );\n currentLevel[key] = fieldValidations;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }\n\n const getValidationType = (field: any) => {\n switch (field.field_type) {\n case 'select':\n return field.field_properties?.is_multiselect\n ? yup.array()\n : yup.string()\n\n case 'number':\n case 'currency':\n return yup.number().transform((value, originalValue) => (originalValue === '' ? undefined : value)).typeError('Please enter valid number').nullable()\n case 'currency_with_amount':\n return yup.number()\n case 'url':\n return yup.string().matches(/^(https?:\\/\\/)?((([a-zA-Z0-9_-]+\\.)+[a-zA-Z]{2,})|localhost)(:\\d{2,5})?(\\/[a-zA-Z0-9#_-]+\\/?)*(\\?[a-zA-Z0-9&=_-]+)?(#\\S+)?$/, { excludeEmptyString: true, message: \"Please enter valid URL.\" })\n\n default:\n return yup.string()\n }\n }\n\n const convertNestedFieldSchemaObject = (nestedFields: any) => {\n const schema: any = {};\n\n for (const key in nestedFields) {\n if (typeof nestedFields[key] === 'object' && !Object.hasOwn(nestedFields[key], 'tests')) {\n schema[key] = yup.object().shape(convertNestedFieldSchemaObject(nestedFields[key]));\n } else {\n schema[key] = nestedFields[key]\n }\n }\n return schema;\n }\n\n\n const generateValidationSchema = (data: any[]) => {\n const yupSchemaObject: any = {};\n let nestedFielvalidations: any = {},\n nestedYupSchemaObj: any = {};\n\n data &&\n data?.forEach((field: any) => {\n let fieldValidations: any;\n if (field.validation && field.validation.length > 0) {\n if (field.name?.includes(\".\")) {\n nestedFielvalidations = convertToNestedObject(field.name, field, nestedFielvalidations);\n } else {\n fieldValidations = field.validation.reduce((validations: any, validation: any) => validationReducer(validations, validation, field, t),\n getValidationType(field)\n );\n yupSchemaObject[field.name] = fieldValidations;\n }\n\n nestedYupSchemaObj = convertNestedFieldSchemaObject(nestedFielvalidations)\n }\n\n });\n\n return yup.object().shape({\n [fieldArrayName]: yup.object().shape({ ...yupSchemaObject, ...nestedYupSchemaObj }),\n });\n };\n\n const {\n control,\n handleSubmit,\n formState,\n setValue,\n reset,\n getValues,\n watch,\n resetField,\n unregister,\n trigger,\n getFieldState,\n ...rest\n } = useForm({\n ...(defaultValues && typeof defaultValues === 'object' ? { defaultValues } : {}),\n resolver: yupResolver(generateValidationSchema(data)),\n mode: \"all\",\n });\n\n const { errors } = formState;\n\n const watchedValues = useWatch({\n control,\n name: fieldArrayName,\n });\n\n // Local States\n const [schema, setSchema] = useState<[]>([]);\n const [tabsData, setTabsData] = useState<any[]>([]);\n const [errorAlert, setErrorAlert] = useState<boolean>(false);\n const [currencyOption, setCurrencyOptions] = useState<string>('');\n const [isTabFormValid, setTabFormValid] = useState<boolean>(false);\n const [validateRequiredFields, setValidRequiredFields] = useState<any[]>([]);\n\n // Local Functions\n const handleTableAddClick = (tableName?: string) => {\n onTableAddClick?.(tableName)\n }\n\n const getSectionData = useCallback((section: any) => {\n const sectionMembers = section?.members?.map((ele: any) => ele) || []\n const values = getValues(fieldArrayName)\n const isFormSwitcher = section.section_type === SECTION_TYPES.FORM_SWITCH_SECTION\n const formSwitcherName =\n section?.form_switcher_name ||\n section?.form_switcher_label?.toLowerCase().split(\" \").join(\"_\");\n const switchForms = section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n )\n }));\n const selectedSectionForm =\n values?.[formSwitcherName] ?\n switchForms.find((ele: any) =>\n ele.name === values?.[formSwitcherName]\n ) : {};\n\n // When form switcher is active, include:\n // 1. Common fields (fields without section_form_id or is_form_switcher_section)\n // 2. Form-specific fields (fields with section_form_id matching the selected form)\n let members;\n if (isFormSwitcher) {\n const commonFields = sectionMembers.filter(\n (member: any) => !member.section_form_id && !member.is_form_switcher_section\n );\n const formSpecificFields = selectedSectionForm?.formMembers || [];\n members = [...commonFields, ...formSpecificFields];\n } else {\n members = section?.members;\n }\n\n return {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n selectedSectionForm,\n members,\n values\n }\n }, [fieldArrayName, getValues])\n\n const handleSetCountryCodeField = useCallback((country: CountryData, field: any, fieldArrayName: any, values: any) => {\n const oldVal = values?.[fieldArrayName]?.[field?.country_code_field_name]\n const newVal = `+${country.dialCode}`\n if (\n field?.is_country_code_separate &&\n field?.country_code_field_name &&\n oldVal !== newVal\n ) {\n setValue(\n `${fieldArrayName}.${field?.country_code_field_name}` as never,\n newVal as never\n )\n }\n }, [setValue])\n\n const handleFieldCleanUp = useCallback((switchForms: any) => {\n switchForms.forEach((form: any) => {\n form?.formMembers.forEach((member: any) => {\n const memberName = member?.name || member.label.toLowerCase().split(\" \").join(\"_\")\n const v = _.get(defaultValues, `${fieldArrayName}.${memberName}`, null)\n const newData = data.map((ele: any) => {\n if (member?.section_form_id === ele?.section_form_id) {\n delete ele.value\n }\n return ({\n ...ele,\n ...(v ? { value: v } : {}),\n })\n })\n if (!v) {\n resetField(`${fieldArrayName}.${memberName}` as never)\n unregister(`${fieldArrayName}.${memberName}` as never)\n }\n setFields?.(newData)\n })\n\n })\n }, [data, defaultValues, fieldArrayName, resetField, setFields, unregister])\n\n const createNestedObjectFromDot = useCallback((dotNotationString: string, field: any, existingObject: any = {}) => {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n let fieldValue = field.value\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field.field_type === 'date') {\n fieldValue = dayjs(fieldValue)\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n fieldValue = dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0)\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n fieldValue = Number(fieldValue)\n }\n }\n currentLevel[key] = fieldValue;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }, [])\n\n const removeMatchingKeyValuePairs = useCallback((obj1, obj2) => {\n _.forOwn(obj1, (value, key) => {\n if (_.has(obj2, key) && _.isEqual(value, obj2[key])) {\n delete obj1[key];\n }\n });\n return obj1;\n }, [])\n\n const validateRequiredSwitchFormData = useCallback((switchData: any) => {\n const requiredFields: string[] = [];\n if (switchData) {\n switchData && switchData[0]?.formMembers.forEach((member: any) => {\n if (member?.validation && Array.isArray(member?.validation)) {\n member?.validation.forEach((validation: any) => {\n if (validation?.thenValidations && Array.isArray(validation?.thenValidations)) {\n validation?.thenValidations.forEach((thenValidation: any) => {\n if (thenValidation?.type === \"required\" && thenValidation?.value === true) {\n if (member?.name) {\n requiredFields.push(member.name);\n }\n }\n });\n } else {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n requiredFields.push(member.name);\n }\n }\n });\n }\n });\n\n }\n if (requiredFields) {\n setValidRequiredFields(_.uniq(requiredFields))\n }\n\n }, [])\n\n const isEmpty = useCallback((value: any): boolean => {\n return (\n value === null ||\n value === undefined ||\n (Array.isArray(value) && value.length === 0) ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n );\n }, [])\n\n const getMissingFields = useCallback((watchedFields: any, validationReqFields: string[]): string[] => {\n const missingFields: string[] = [];\n\n validationReqFields.forEach((fieldPath) => {\n const keys = fieldPath.split(\".\");\n let currentLevel = watchedFields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (!currentLevel?.[key] && currentLevel?.[key] !== 0) {\n // If any key in the path is missing, mark the field as missing\n missingFields.push(fieldPath);\n return;\n }\n\n // Move deeper into the object\n currentLevel = currentLevel[key];\n }\n\n // After navigating the full path, check if the final value is empty\n if (isEmpty(currentLevel)) {\n missingFields.push(fieldPath);\n }\n });\n\n\n return missingFields;\n }, [isEmpty])\n\n // Use Effects\n useEffect(() => {\n if (recieveTabDataLenght) {\n recieveTabDataLenght(tabsData.length)\n }\n }, [recieveTabDataLenght, tabsData])\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.origin !== window.origin) {\n return;\n }\n const { state } = event.data;\n\n if (state?.length) {\n const data: any = formBuilderDeConversion(state);\n\n if (data.tab) {\n setTabsData(data.tab);\n } else if (data.section) {\n setSchema(data.section);\n }\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n };\n }, []);\n\n useEffect(() => {\n if (data) {\n const formData = formBuilderDeConversion(data)\n if (formData?.tab) {\n // setSchema([])\n setTabsData(formData.tab);\n if (activeTab !== undefined) {\n setSchema(formData.tab[activeTab]?.data || []);\n }\n } else {\n setSchema(formData.section);\n // setTabsData([])\n }\n const dVals = _.get(defaultValues, fieldArrayName, {})\n const wVals = removeMatchingKeyValuePairs((watchedValues || {}), (dVals || {}))\n if (mode === 'edit' && !Object.keys(wVals)?.length) {\n let formValues: any = {};\n let nestedFormValues: any = {};\n data.forEach((field: any) => {\n const fieldValue = field.value\n if (field.name?.includes(\".\")) {\n nestedFormValues = createNestedObjectFromDot(field.name, field, nestedFormValues)\n } else {\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field?.is_section_field) {\n const fieldName = field?.form_switcher_name || field?.form_switcher_label;\n formValues = { ...formValues, [fieldName]: fieldValue }\n } else if (\n field?.name &&\n ['company_id', 'email_ids'].includes(field?.name) &&\n ['edit_customer', 'add_customer', 'edit_vendor', 'add_vendor'].includes(fieldArrayName)\n ) {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else if (field.field_type === 'date') {\n formValues = { ...formValues, [field.name]: dayjs(fieldValue) }\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n formValues = { ...formValues, [field.name]: dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0) }\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n if (fieldArrayName === \"edit_user\" && field.name === \"role_id\") {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else {\n formValues = { ...formValues, [field.name]: Number(fieldValue) }\n }\n } else {\n formValues = { ...formValues, [field.name]: fieldValue }\n }\n }\n }\n })\n const finalFormValues = { ...formValues, ...nestedFormValues }\n reset({ [fieldArrayName]: { ...finalFormValues } })\n }\n getFormMethods?.({ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, getFieldState, errors, ...rest })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data])\n\n useEffect(() => {\n if (activeTab?.toString()) {\n if (tabsData && tabsData[activeTab]) {\n setSchema(tabsData[activeTab].data);\n }\n }\n }, [activeTab, tabsData]);\n\n useEffect(() => {\n if (watchedValues && handleFormValues) {\n handleFormValues?.(watchedValues);\n }\n }, [handleFormValues, watchedValues])\n\n useEffect(() => {\n if (errors?.[fieldArrayName]) {\n setErrorAlert(true)\n } else {\n setErrorAlert(false)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fieldArrayName, JSON.stringify(errors)])\n\n useEffect(() => {\n const validatedFields: string[] = [];\n if (activeTab != undefined) {\n tabsData[activeTab]?.data.forEach((section: any) => {\n\n if (section.members && Array.isArray(section.members)) {\n\n section.members.forEach((member: any) => {\n if (member.validation && Array.isArray(member.validation)) {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n // validatedFields.push(fieldArrayName + '.' + member.name);\n validatedFields.push(member.name);\n }\n }\n });\n }\n })\n setValidRequiredFields(validatedFields);\n }\n }, [tabsData, activeTab]);\n\n useEffect(() => {\n if (watchedValues?.account_type) {\n\n const switchFormData: any[] = [];\n schema && schema.forEach((section: any) => {\n const sectionMembers = schema && section?.members?.map((ele: any) => ele) || [];\n\n const switchForms = schema && section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n ),\n }));\n if (switchForms) {\n switchFormData.push(switchForms)\n }\n })\n\n const selectValue = watchedValues?.account_type || \"Individual\";\n const switchData = switchFormData && Array.isArray(switchFormData[0])\n ? switchFormData[0].filter((form: any) => form.name === selectValue)\n : [];\n\n if (switchData) {\n validateRequiredSwitchFormData(switchData)\n }\n\n }\n }, [watchedValues?.account_type, schema, validateRequiredSwitchFormData]);\n\n useEffect(() => {\n if (validateRequiredFields.length > 0) {\n const updatedRequiredFields = getMissingFields(watchedValues, validateRequiredFields)\n\n // const updatedRequiredFields = validateRequiredFields.filter((fieldPath) => {\n // const watchedValue = watchedFields[fieldPath] ;\n // return watchedValue === undefined || watchedValue === null || watchedValue === 0 ;\n // });\n\n updatedRequiredFields.length === 0 ? setTabFormValid(true) : setTabFormValid(false);\n } else {\n setTabFormValid(true)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateRequiredFields, watchedValues, activeTab])\n\n useEffect(() => {\n if (recieveIsValidForm) {\n recieveIsValidForm(isTabFormValid)\n }\n }, [recieveIsValidForm, isTabFormValid])\n\n\n return (\n // <FullScreenLayout>\n <Box sx={{ width: \"100%\", padding: \"2rem\", ...containerStyles }}>\n <FormProvider {...{ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, errors, getFieldState, formState, ...rest }}>\n <form id={fieldArrayName} name={fieldArrayName} onSubmit={handleSubmit(handleFormSubmit)}>\n {Boolean(tabsData?.length) && (\n <>\n {errorAlert &&\n <Alert severity='error' onClose={() => setErrorAlert(false)}>\n Please fill all the required fields.\n </Alert>\n }\n <TabBar\n tabs={tabsData}\n activeTabs={activeTabs}\n activeValue={activeTab}\n setActiveValue={setActiveTabValue}\n isFormTabValid={isTabFormValid}\n />\n </>\n )}\n {schema &&\n schema.map((section: any, index: number) => {\n const {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n members,\n values,\n } = getSectionData(section)\n\n return (\n <FormSection\n section={section}\n index={index}\n members={members}\n switchForms={switchForms}\n isFormSwitcher={isFormSwitcher}\n control={control}\n fieldArrayName={fieldArrayName}\n formSwitcherName={formSwitcherName}\n displayAvtar={displayAvtar}\n isButton={isButton}\n currencyOption={currencyOption}\n values={values}\n onBlur={onBlur}\n setValue={setValue}\n onSelectFooterClick={onSelectFooterClick}\n getSelectedData={getSelectedData}\n setCurrencyOptions={setCurrencyOptions}\n refreshOptions={refreshOptions}\n handleFieldCleanUp={handleFieldCleanUp}\n handleSetCountryCodeField={handleSetCountryCodeField}\n handleTableAddClick={handleTableAddClick}\n onTableCellChange={onTableCellChange}\n // setDetailsData={setDetailsData}\n t={t}\n images={images}\n />\n );\n })}\n </form>\n </FormProvider>\n </Box>\n // </FullScreenLayout>\n );\n};\n\nexport default FormParser;\n"],"names":["_a","validations","validation","useTranslation","yup","schema","data","useForm","yupResolver","useWatch","useState","useCallback","SECTION_TYPES","fieldArrayName","useEffect","formBuilderDeConversion","Box","jsx","FormProvider","jsxs","Fragment","Alert","TabBar","FormSection","images"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"form-parser-m4fnw38a.js","sources":["../../src/components/form-control/form-parser/form-parser.tsx"],"sourcesContent":["import { FormProvider, useForm, useWatch } from \"react-hook-form\";\n// import { useLocation } from \"react-router-dom\";\nimport { Box } from \"@mui/material\";\n\n// import FullScreenLayout from \"../../../layout/fullScreen/fullScreen\";\n\nimport { useState, useEffect, useCallback } from \"react\";\nimport images from \"../../../assets/images\";\nimport \"./form-parser.scss\";\nimport TabBar from \"../../tabs/tabs\";\nimport formBuilderDeConversion from \"../../../utils/form-builder-deconversion\";\nimport { yupResolver } from \"@hookform/resolvers/yup\";\nimport * as yup from \"yup\";\nimport dayjs from \"dayjs\";\nimport { SECTION_TYPES } from '../../../utils/constant';\nimport { CountryData } from 'react-phone-input-2';\nimport Alert from '../../alert/alert';\nimport _ from \"lodash\";\nimport { useTranslation } from \"react-i18next\";\nimport FormSection from \"./form-section\";\nconst validationReducer = (validations: any, validation: any, field: any, translationFn: any) => {\n switch (validation.type) {\n case \"required\":\n return (field.field_properties?.is_multiselect ? validations.required(translationFn(validation.msg_en)).min(1, translationFn(validation.msg_en)) : validation.value\n ? validations.required(translationFn(validation.msg_en)).test('not-empty', translationFn(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, translationFn(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, translationFn(validation.msg_en));\n case \"postive_number\":\n return validations.test('is-positive-number', translationFn(validation.msg_en), (value) => value >= 0)\n case 'email':\n return validations.email(validation.msg_en);\n case \"no_special_char\":\n return validations.test(\n \"no-special-char\",\n translationFn(validation.msg_en),\n value =>\n typeof value === \"string\"\n ? /^[^.\\-\\W_]+$/u.test(value) // allow letters/digits only\n : true\n );\n case \"matches\":\n return validations.matches(new RegExp(validation.value), { excludeEmptyString: true, message: translationFn(validation.msg_en) });\n case \"when\":\n return validations.when(validation.relation, {\n is: (val: any) => val === validation.values,\n then: () => validation?.thenValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n otherwise: () => validation?.otherWiseValidations?.reduce(\n (validations: any, validation: any) => validationReducer(validations, validation, field, translationFn),\n validations\n ) || validations,\n });\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n}\n\nconst FormParser = ({\n data,\n defaultValues,\n handleFormSubmit,\n fieldArrayName,\n mode,\n displayAvtar = false,\n onTableAddClick,\n handleFormValues,\n getFormMethods,\n setFields,\n onSelectFooterClick,\n setActiveTabValue,\n activeTab = 0,\n recieveTabDataLenght,\n recieveIsValidForm,\n activeTabs,\n onTableCellChange,\n containerStyles = undefined,\n isButton = true,\n getSelectedData,\n refreshOptions = false,\n onBlur,\n}: any) => {\n\n const { t } = useTranslation();\n\n function convertToNestedObject(dotNotationString: string, field: any, existingObject: any = {}) {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n const fieldValidations = field.validation.reduce(\n (validations: any, validation: any) => {\n switch (validation.type) {\n case \"required\":\n return validation.value\n ? validations.required(t(validation.msg_en)).test('not-empty', t(validation.msg_en), value => typeof value === 'string' ? value && value?.trim()?.length > 0 : true)\n : (field.field_properties?.is_multiselect ? validations.min(1, t(validation.msg_en)) : validations.nullable());\n case \"min_length\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_length\":\n return validations.max(validation.value, t(validation.msg_en));\n case \"min_val\":\n return validations.min(validation.value, t(validation.msg_en));\n case \"max_val\":\n return validations.max(validation.value, t(validation.msg_en));\n // Add more cases for other validation types as needed\n default:\n return validations;\n }\n },\n getValidationType(field)\n );\n currentLevel[key] = fieldValidations;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }\n\n const getValidationType = (field: any) => {\n switch (field.field_type) {\n case 'select':\n return field.field_properties?.is_multiselect\n ? yup.array()\n : yup.string()\n\n case 'number':\n case 'currency':\n return yup.number().transform((value, originalValue) => (originalValue === '' ? undefined : value)).typeError('Please enter valid number').nullable()\n case 'currency_with_amount':\n return yup.number()\n case 'url':\n return yup.string().matches(/^(https?:\\/\\/)?((([a-zA-Z0-9_-]+\\.)+[a-zA-Z]{2,})|localhost)(:\\d{2,5})?(\\/[a-zA-Z0-9#_-]+\\/?)*(\\?[a-zA-Z0-9&=_-]+)?(#\\S+)?$/, { excludeEmptyString: true, message: \"Please enter valid URL.\" })\n\n default:\n return yup.string()\n }\n }\n\n const convertNestedFieldSchemaObject = (nestedFields: any) => {\n const schema: any = {};\n\n for (const key in nestedFields) {\n if (typeof nestedFields[key] === 'object' && !Object.hasOwn(nestedFields[key], 'tests')) {\n schema[key] = yup.object().shape(convertNestedFieldSchemaObject(nestedFields[key]));\n } else {\n schema[key] = nestedFields[key]\n }\n }\n return schema;\n }\n\n\n const generateValidationSchema = (data: any[]) => {\n const yupSchemaObject: any = {};\n let nestedFielvalidations: any = {},\n nestedYupSchemaObj: any = {};\n\n data &&\n data?.forEach((field: any) => {\n let fieldValidations: any;\n if (field.validation && field.validation.length > 0) {\n if (field.name?.includes(\".\")) {\n nestedFielvalidations = convertToNestedObject(field.name, field, nestedFielvalidations);\n } else {\n fieldValidations = field.validation.reduce((validations: any, validation: any) => validationReducer(validations, validation, field, t),\n getValidationType(field)\n );\n yupSchemaObject[field.name] = fieldValidations;\n }\n\n nestedYupSchemaObj = convertNestedFieldSchemaObject(nestedFielvalidations)\n }\n\n });\n\n return yup.object().shape({\n [fieldArrayName]: yup.object().shape({ ...yupSchemaObject, ...nestedYupSchemaObj }),\n });\n };\n\n const {\n control,\n handleSubmit,\n formState,\n setValue,\n reset,\n getValues,\n watch,\n resetField,\n unregister,\n trigger,\n getFieldState,\n ...rest\n } = useForm({\n ...(defaultValues && typeof defaultValues === 'object' ? { defaultValues } : {}),\n resolver: yupResolver(generateValidationSchema(data)),\n mode: \"all\",\n });\n\n const { errors } = formState;\n\n const watchedValues = useWatch({\n control,\n name: fieldArrayName,\n });\n\n // Local States\n const [schema, setSchema] = useState<[]>([]);\n const [tabsData, setTabsData] = useState<any[]>([]);\n const [errorAlert, setErrorAlert] = useState<boolean>(false);\n const [currencyOption, setCurrencyOptions] = useState<string>('');\n const [isTabFormValid, setTabFormValid] = useState<boolean>(false);\n const [validateRequiredFields, setValidRequiredFields] = useState<any[]>([]);\n\n // Local Functions\n const handleTableAddClick = (tableName?: string) => {\n onTableAddClick?.(tableName)\n }\n\n const getSectionData = useCallback((section: any) => {\n const sectionMembers = section?.members?.map((ele: any) => ele) || []\n const values = getValues(fieldArrayName)\n const isFormSwitcher = section.section_type === SECTION_TYPES.FORM_SWITCH_SECTION\n const formSwitcherName =\n section?.form_switcher_name ||\n section?.form_switcher_label?.toLowerCase().split(\" \").join(\"_\");\n const switchForms = section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n )\n }));\n const selectedSectionForm =\n values?.[formSwitcherName] ?\n switchForms.find((ele: any) =>\n ele.name === values?.[formSwitcherName]\n ) : {};\n\n // When form switcher is active, include:\n // 1. Common fields (fields without section_form_id or is_form_switcher_section)\n // 2. Form-specific fields (fields with section_form_id matching the selected form)\n let members;\n if (isFormSwitcher) {\n const commonFields = sectionMembers.filter(\n (member: any) => !member.section_form_id && !member.is_form_switcher_section\n );\n const formSpecificFields = selectedSectionForm?.formMembers || [];\n members = [...commonFields, ...formSpecificFields];\n } else {\n members = section?.members;\n }\n\n return {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n selectedSectionForm,\n members,\n values\n }\n }, [fieldArrayName, getValues])\n\n const handleSetCountryCodeField = useCallback((country: CountryData, field: any, fieldArrayName: any, values: any) => {\n const oldVal = values?.[fieldArrayName]?.[field?.country_code_field_name]\n const newVal = `+${country.dialCode}`\n if (\n field?.is_country_code_separate &&\n field?.country_code_field_name &&\n oldVal !== newVal\n ) {\n setValue(\n `${fieldArrayName}.${field?.country_code_field_name}` as never,\n newVal as never\n )\n }\n }, [setValue])\n\n const handleFieldCleanUp = useCallback((switchForms: any) => {\n switchForms.forEach((form: any) => {\n form?.formMembers.forEach((member: any) => {\n const memberName = member?.name || member.label.toLowerCase().split(\" \").join(\"_\")\n const v = _.get(defaultValues, `${fieldArrayName}.${memberName}`, null)\n const newData = data.map((ele: any) => {\n if (member?.section_form_id === ele?.section_form_id) {\n delete ele.value\n }\n return ({\n ...ele,\n ...(v ? { value: v } : {}),\n })\n })\n if (!v) {\n resetField(`${fieldArrayName}.${memberName}` as never)\n unregister(`${fieldArrayName}.${memberName}` as never)\n }\n setFields?.(newData)\n })\n\n })\n }, [data, defaultValues, fieldArrayName, resetField, setFields, unregister])\n\n const createNestedObjectFromDot = useCallback((dotNotationString: string, field: any, existingObject: any = {}) => {\n const keys = dotNotationString.split('.');\n let currentLevel = existingObject;\n\n keys.forEach((key, index) => {\n if (index === keys.length - 1) {\n if (!currentLevel[key]) {\n let fieldValue = field.value\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field.field_type === 'date') {\n fieldValue = dayjs(fieldValue)\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n fieldValue = dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0)\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n fieldValue = Number(fieldValue)\n }\n }\n currentLevel[key] = fieldValue;\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n } else {\n if (!currentLevel[key]) {\n currentLevel[key] = {};\n } else if (typeof currentLevel[key] !== 'object' || Array.isArray(currentLevel[key])) {\n throw new Error(`Conflict: The key \"${key}\" already exists and is not an object.`);\n }\n currentLevel = currentLevel[key];\n\n }\n });\n\n return existingObject;\n }, [])\n\n const removeMatchingKeyValuePairs = useCallback((obj1, obj2) => {\n _.forOwn(obj1, (value, key) => {\n if (_.has(obj2, key) && _.isEqual(value, obj2[key])) {\n delete obj1[key];\n }\n });\n return obj1;\n }, [])\n\n const validateRequiredSwitchFormData = useCallback((switchData: any) => {\n const requiredFields: string[] = [];\n if (switchData) {\n switchData && switchData[0]?.formMembers.forEach((member: any) => {\n if (member?.validation && Array.isArray(member?.validation)) {\n member?.validation.forEach((validation: any) => {\n if (validation?.thenValidations && Array.isArray(validation?.thenValidations)) {\n validation?.thenValidations.forEach((thenValidation: any) => {\n if (thenValidation?.type === \"required\" && thenValidation?.value === true) {\n if (member?.name) {\n requiredFields.push(member.name);\n }\n }\n });\n } else {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n requiredFields.push(member.name);\n }\n }\n });\n }\n });\n\n }\n if (requiredFields) {\n setValidRequiredFields(_.uniq(requiredFields))\n }\n\n }, [])\n\n const isEmpty = useCallback((value: any): boolean => {\n return (\n value === null ||\n value === undefined ||\n (Array.isArray(value) && value.length === 0) ||\n (typeof value === 'object' && Object.keys(value).length === 0)\n );\n }, [])\n\n const getMissingFields = useCallback((watchedFields: any, validationReqFields: string[]): string[] => {\n const missingFields: string[] = [];\n\n validationReqFields.forEach((fieldPath) => {\n const keys = fieldPath.split(\".\");\n let currentLevel = watchedFields;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n\n if (!currentLevel?.[key] && currentLevel?.[key] !== 0) {\n // If any key in the path is missing, mark the field as missing\n missingFields.push(fieldPath);\n return;\n }\n\n // Move deeper into the object\n currentLevel = currentLevel[key];\n }\n\n // After navigating the full path, check if the final value is empty\n if (isEmpty(currentLevel)) {\n missingFields.push(fieldPath);\n }\n });\n\n\n return missingFields;\n }, [isEmpty])\n\n // Use Effects\n useEffect(() => {\n if (recieveTabDataLenght) {\n recieveTabDataLenght(tabsData.length)\n }\n }, [recieveTabDataLenght, tabsData])\n\n useEffect(() => {\n const handleMessage = (event: MessageEvent) => {\n if (event.origin !== window.origin) {\n return;\n }\n const { state } = event.data;\n\n if (state?.length) {\n const data: any = formBuilderDeConversion(state);\n\n if (data.tab) {\n setTabsData(data.tab);\n } else if (data.section) {\n setSchema(data.section);\n }\n }\n };\n\n window.addEventListener(\"message\", handleMessage);\n\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n };\n }, []);\n\n useEffect(() => {\n if (data) {\n const formData = formBuilderDeConversion(data)\n if (formData?.tab) {\n // setSchema([])\n setTabsData(formData.tab);\n if (activeTab !== undefined) {\n setSchema(formData.tab[activeTab]?.data || []);\n }\n } else {\n setSchema(formData.section);\n // setTabsData([])\n }\n const dVals = _.get(defaultValues, fieldArrayName, {})\n const wVals = removeMatchingKeyValuePairs((watchedValues || {}), (dVals || {}))\n if (mode === 'edit' && !Object.keys(wVals)?.length) {\n let formValues: any = {};\n let nestedFormValues: any = {};\n data.forEach((field: any) => {\n const fieldValue = field.value\n if (field.name?.includes(\".\")) {\n nestedFormValues = createNestedObjectFromDot(field.name, field, nestedFormValues)\n } else {\n if (fieldValue && (field.field_type !== 'image' || field.field_type !== 'file')) {\n if (field?.is_section_field) {\n const fieldName = field?.form_switcher_name || field?.form_switcher_label;\n formValues = { ...formValues, [fieldName]: fieldValue }\n } else if (\n field?.name &&\n ['company_id', 'email_ids'].includes(field?.name) &&\n ['edit_customer', 'add_customer', 'edit_vendor', 'add_vendor'].includes(fieldArrayName)\n ) {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else if (field.field_type === 'date') {\n formValues = { ...formValues, [field.name]: dayjs(fieldValue) }\n } else if (field.field_type === 'time') {\n const [hours, minutes, seconds] = fieldValue.split(\":\").map(Number);\n formValues = { ...formValues, [field.name]: dayjs().set('hour', hours).set('minute', minutes).set('second', seconds).set('millisecond', 0) }\n } else if (field.name.includes('_id') && !Array.isArray(field?.value)) {\n if (fieldArrayName === \"edit_user\" && field.name === \"role_id\") {\n formValues = { ...formValues, [field.name]: fieldValue }\n } else {\n formValues = { ...formValues, [field.name]: Number(fieldValue) }\n }\n } else {\n formValues = { ...formValues, [field.name]: fieldValue }\n }\n }\n }\n })\n const finalFormValues = { ...formValues, ...nestedFormValues }\n reset({ [fieldArrayName]: { ...finalFormValues } })\n }\n getFormMethods?.({ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, getFieldState, errors, ...rest })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data])\n\n useEffect(() => {\n if (activeTab?.toString()) {\n if (tabsData && tabsData[activeTab]) {\n setSchema(tabsData[activeTab].data);\n }\n }\n }, [activeTab, tabsData]);\n\n useEffect(() => {\n if (watchedValues && handleFormValues) {\n handleFormValues?.(watchedValues);\n }\n }, [handleFormValues, watchedValues])\n\n useEffect(() => {\n if (errors?.[fieldArrayName]) {\n setErrorAlert(true)\n } else {\n setErrorAlert(false)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [fieldArrayName, JSON.stringify(errors)])\n\n useEffect(() => {\n const validatedFields: string[] = [];\n if (activeTab != undefined) {\n tabsData[activeTab]?.data.forEach((section: any) => {\n\n if (section.members && Array.isArray(section.members)) {\n\n section.members.forEach((member: any) => {\n if (member.validation && Array.isArray(member.validation)) {\n const hasRequiredValidation = member.validation.some(\n (validation: any) => validation.type === 'required' && validation.value === true\n )\n if (hasRequiredValidation) {\n // validatedFields.push(fieldArrayName + '.' + member.name);\n validatedFields.push(member.name);\n }\n }\n });\n }\n })\n setValidRequiredFields(validatedFields);\n }\n }, [tabsData, activeTab]);\n\n useEffect(() => {\n if (watchedValues?.account_type) {\n\n const switchFormData: any[] = [];\n schema && schema.forEach((section: any) => {\n const sectionMembers = schema && section?.members?.map((ele: any) => ele) || [];\n\n const switchForms = schema && section?.switcher_forms?.map((form: any) => ({\n ...form,\n formMembers: sectionMembers.filter(\n (member: any) => member.section_form_id === form.id,\n ),\n }));\n if (switchForms) {\n switchFormData.push(switchForms)\n }\n })\n\n const selectValue = watchedValues?.account_type || \"Individual\";\n const switchData = switchFormData && Array.isArray(switchFormData[0])\n ? switchFormData[0].filter((form: any) => form.name === selectValue)\n : [];\n\n if (switchData) {\n validateRequiredSwitchFormData(switchData)\n }\n\n }\n }, [watchedValues?.account_type, schema, validateRequiredSwitchFormData]);\n\n useEffect(() => {\n if (validateRequiredFields.length > 0) {\n const updatedRequiredFields = getMissingFields(watchedValues, validateRequiredFields)\n\n // const updatedRequiredFields = validateRequiredFields.filter((fieldPath) => {\n // const watchedValue = watchedFields[fieldPath] ;\n // return watchedValue === undefined || watchedValue === null || watchedValue === 0 ;\n // });\n\n updatedRequiredFields.length === 0 ? setTabFormValid(true) : setTabFormValid(false);\n } else {\n setTabFormValid(true)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateRequiredFields, watchedValues, activeTab])\n\n useEffect(() => {\n if (recieveIsValidForm) {\n recieveIsValidForm(isTabFormValid)\n }\n }, [recieveIsValidForm, isTabFormValid])\n\n\n return (\n // <FullScreenLayout>\n <Box sx={{ width: \"100%\", padding: \"2rem\", ...containerStyles }}>\n <FormProvider {...{ control, handleSubmit, setValue, reset, resetField, getValues, unregister, trigger, watch, errors, getFieldState, formState, ...rest }}>\n <form id={fieldArrayName} name={fieldArrayName} onSubmit={handleSubmit(handleFormSubmit)}>\n {Boolean(tabsData?.length) && (\n <>\n {errorAlert &&\n <Alert severity='error' onClose={() => setErrorAlert(false)}>\n Please fill all the required fields.\n </Alert>\n }\n <TabBar\n tabs={tabsData}\n activeTabs={activeTabs}\n activeValue={activeTab}\n setActiveValue={setActiveTabValue}\n isFormTabValid={isTabFormValid}\n />\n </>\n )}\n {schema &&\n schema.map((section: any, index: number) => {\n const {\n isFormSwitcher,\n formSwitcherName,\n switchForms,\n members,\n values,\n } = getSectionData(section)\n\n return (\n <FormSection\n section={section}\n index={index}\n members={members}\n switchForms={switchForms}\n isFormSwitcher={isFormSwitcher}\n control={control}\n fieldArrayName={fieldArrayName}\n formSwitcherName={formSwitcherName}\n displayAvtar={displayAvtar}\n isButton={isButton}\n currencyOption={currencyOption}\n values={values}\n onBlur={onBlur}\n setValue={setValue}\n onSelectFooterClick={onSelectFooterClick}\n getSelectedData={getSelectedData}\n setCurrencyOptions={setCurrencyOptions}\n refreshOptions={refreshOptions}\n handleFieldCleanUp={handleFieldCleanUp}\n handleSetCountryCodeField={handleSetCountryCodeField}\n handleTableAddClick={handleTableAddClick}\n onTableCellChange={onTableCellChange}\n // setDetailsData={setDetailsData}\n t={t}\n images={images}\n />\n );\n })}\n </form>\n </FormProvider>\n </Box>\n // </FullScreenLayout>\n );\n};\n\nexport default FormParser;\n"],"names":["_a","validations","validation","useTranslation","yup","schema","data","useForm","yupResolver","useWatch","useState","useCallback","SECTION_TYPES","fieldArrayName","useEffect","formBuilderDeConversion","Box","jsx","FormProvider","jsxs","Fragment","Alert","TabBar","FormSection","images"],"mappings":"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"}
|
|
@@ -7,19 +7,19 @@ const text = require("./text-CR4Wz_oR.js");
|
|
|
7
7
|
const date = require("./date-BEkOnPLg.js");
|
|
8
8
|
const time = require("./time-xqicD8tk.js");
|
|
9
9
|
const phone = require("./phone-JFLN7D7A.js");
|
|
10
|
-
const searchableSelect = require("./searchable-select-
|
|
11
|
-
const DynamicDependentField = require("./DynamicDependentField-
|
|
10
|
+
const searchableSelect = require("./searchable-select-_DCkITfk.js");
|
|
11
|
+
const DynamicDependentField = require("./DynamicDependentField-CQIfDDqc.js");
|
|
12
12
|
const media = require("./media-CDeMBdV7.js");
|
|
13
13
|
const info = require("./info-D46zy6bQ.js");
|
|
14
14
|
const toggleButton = require("./toggle-button-CfDnCcUA.js");
|
|
15
15
|
const checkbox = require("./checkbox-CJFk1PHU.js");
|
|
16
|
-
const table = require("./table-
|
|
16
|
+
const table = require("./table-DWx7x8zw.js");
|
|
17
17
|
const radioButton = require("./radio-button-CCVMuvMJ.js");
|
|
18
18
|
const dynamicTagsInput = require("./dynamic-tags-input-DEaIUdTX.js");
|
|
19
19
|
const dynamicCurrencyInput = require("./dynamic-currency-input-CEB9emu7.js");
|
|
20
20
|
const dynamicInputSelect = require("./dynamic-input-select-QKWnCijp.js");
|
|
21
21
|
const chipGenerator = require("./chip-generator-B7G3qxOB.js");
|
|
22
|
-
const locationSelect = require("./location-select-
|
|
22
|
+
const locationSelect = require("./location-select-g5uczAUF.js");
|
|
23
23
|
const formSwitcher = require("./form-switcher-BkC784Rb.js");
|
|
24
24
|
const typography = require("./typography-Bqfr1Ksf.js");
|
|
25
25
|
const accordion = require("./accordion-CHRmZ97h.js");
|
|
@@ -472,4 +472,4 @@ const FormSection = React.memo(({
|
|
|
472
472
|
});
|
|
473
473
|
FormSection.displayName = "FormSection";
|
|
474
474
|
exports.FormSection = FormSection;
|
|
475
|
-
//# sourceMappingURL=form-section-
|
|
475
|
+
//# sourceMappingURL=form-section-CPIyMdk2.js.map
|