@erpsquad/common 1.11.8 → 1.11.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-client/index.esm.js +2 -2
- package/dist/chunks/{DynamicDependentField-C0XXmMlG.esm.js → DynamicDependentField-DOGY6cA_.esm.js} +2 -2
- package/dist/chunks/{DynamicDependentField-C0XXmMlG.esm.js.map → DynamicDependentField-DOGY6cA_.esm.js.map} +1 -1
- package/dist/chunks/{DynamicDependentField-CQIfDDqc.js → DynamicDependentField-GTIwrPfP.js} +2 -2
- package/dist/chunks/{DynamicDependentField-CQIfDDqc.js.map → DynamicDependentField-GTIwrPfP.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-I4j_X_SD.esm.js → ERPUIProvider-Dz0s77BR.esm.js} +3 -3
- package/dist/chunks/{ERPUIProvider-I4j_X_SD.esm.js.map → ERPUIProvider-Dz0s77BR.esm.js.map} +1 -1
- package/dist/chunks/EditorSection-BLGcgQFm.esm.js +849 -0
- package/dist/chunks/EditorSection-BLGcgQFm.esm.js.map +1 -0
- package/dist/chunks/EditorSection-D6yaBfjP.js +848 -0
- package/dist/chunks/EditorSection-D6yaBfjP.js.map +1 -0
- package/dist/chunks/{FORMS-pxf6g6xE.esm.js → FORMS-CR_DlD1m.esm.js} +8 -8
- package/dist/chunks/{FORMS-pxf6g6xE.esm.js.map → FORMS-CR_DlD1m.esm.js.map} +1 -1
- package/dist/chunks/{FORMS-CUx32b_4.js → FORMS-EouVYay1.js} +5 -5
- package/dist/chunks/{FORMS-CUx32b_4.js.map → FORMS-EouVYay1.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample-C-2qOGIw.esm.js → FlexibleReduxExample-B2e7Wa_S.esm.js} +4 -4
- package/dist/chunks/{FlexibleReduxExample-C-2qOGIw.esm.js.map → FlexibleReduxExample-B2e7Wa_S.esm.js.map} +1 -1
- package/dist/chunks/{FlexibleReduxExample--GtoEJhc.js → FlexibleReduxExample-CMUylyy1.js} +3 -3
- package/dist/chunks/{FlexibleReduxExample--GtoEJhc.js.map → FlexibleReduxExample-CMUylyy1.js.map} +1 -1
- package/dist/chunks/SectionFlowEditor-Dp-mjWT9.esm.js +12543 -0
- package/dist/chunks/SectionFlowEditor-Dp-mjWT9.esm.js.map +1 -0
- package/dist/chunks/SectionFlowEditor-Dz1SuCm2.js +12542 -0
- package/dist/chunks/SectionFlowEditor-Dz1SuCm2.js.map +1 -0
- package/dist/chunks/{action-bar-C7Alva4T.esm.js → action-bar-Ci6RlMBM.esm.js} +6 -6
- package/dist/chunks/{action-bar-C7Alva4T.esm.js.map → action-bar-Ci6RlMBM.esm.js.map} +1 -1
- package/dist/chunks/{action-bar-DdtpxWNk.js → action-bar-jLqQTqU7.js} +3 -3
- package/dist/chunks/{action-bar-DdtpxWNk.js.map → action-bar-jLqQTqU7.js.map} +1 -1
- package/dist/chunks/{actionCreator-CpePNxQM.esm.js → actionCreator-B6lXR_k1.esm.js} +2 -2
- package/dist/chunks/{actionCreator-CpePNxQM.esm.js.map → actionCreator-B6lXR_k1.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-Cl8vPLVO.esm.js → actionCreator-D3uwEAua.esm.js} +3 -3
- package/dist/chunks/{actionCreator-Cl8vPLVO.esm.js.map → actionCreator-D3uwEAua.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-CL5ICuqZ.esm.js → actionCreator-DIdMRO9L.esm.js} +2 -2
- package/dist/chunks/{actionCreator-CL5ICuqZ.esm.js.map → actionCreator-DIdMRO9L.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-Cb3NxILP.esm.js → actionCreator-DKYufGAZ.esm.js} +2 -2
- package/dist/chunks/{actionCreator-Cb3NxILP.esm.js.map → actionCreator-DKYufGAZ.esm.js.map} +1 -1
- package/dist/chunks/{actionCreator-Dar9Z8_d.esm.js → actionCreator-DcdyGsIX.esm.js} +3 -3
- package/dist/chunks/{actionCreator-Dar9Z8_d.esm.js.map → actionCreator-DcdyGsIX.esm.js.map} +1 -1
- package/dist/chunks/add-template-CUPbU0z7.js +10 -0
- package/dist/chunks/add-template-CUPbU0z7.js.map +1 -0
- package/dist/chunks/add-template-CxvhzFMF.esm.js +11 -0
- package/dist/chunks/add-template-CxvhzFMF.esm.js.map +1 -0
- package/dist/chunks/{address-modal-CYhiC7ui.js → address-modal-DFd5sQtR.js} +2 -2
- package/dist/chunks/{address-modal-CYhiC7ui.js.map → address-modal-DFd5sQtR.js.map} +1 -1
- package/dist/chunks/{address-modal-CkDBjnye.esm.js → address-modal-DYGLjrqd.esm.js} +2 -2
- package/dist/chunks/{address-modal-CkDBjnye.esm.js.map → address-modal-DYGLjrqd.esm.js.map} +1 -1
- package/dist/chunks/{ai-summary-SKK5KN2s.esm.js → ai-summary-x2t8BZCx.esm.js} +2 -2
- package/dist/chunks/{ai-summary-SKK5KN2s.esm.js.map → ai-summary-x2t8BZCx.esm.js.map} +1 -1
- package/dist/chunks/{api-BIVCMSwW.esm.js → api-8jutPLh0.esm.js} +3 -3
- package/dist/chunks/{api-BIVCMSwW.esm.js.map → api-8jutPLh0.esm.js.map} +1 -1
- package/dist/chunks/{api-DBmWILBN.esm.js → api-yLpQ3k5s.esm.js} +9 -9
- package/dist/chunks/{api-DBmWILBN.esm.js.map → api-yLpQ3k5s.esm.js.map} +1 -1
- package/dist/chunks/{app-switcher-D-Bvz9uO.esm.js → app-switcher-B6eapuGG.esm.js} +2 -2
- package/dist/chunks/{app-switcher-D-Bvz9uO.esm.js.map → app-switcher-B6eapuGG.esm.js.map} +1 -1
- package/dist/chunks/{app-switcher-CyEQmYAN.js → app-switcher-VhH9z0Rd.js} +2 -2
- package/dist/chunks/{app-switcher-CyEQmYAN.js.map → app-switcher-VhH9z0Rd.js.map} +1 -1
- package/dist/chunks/{appbar-BRbO--as.esm.js → appbar-B8EgZsrn.esm.js} +2 -2
- package/dist/chunks/{appbar-BRbO--as.esm.js.map → appbar-B8EgZsrn.esm.js.map} +1 -1
- package/dist/chunks/{appbar-rqqjZ99v.js → appbar-Is_7kfVo.js} +2 -2
- package/dist/chunks/{appbar-rqqjZ99v.js.map → appbar-Is_7kfVo.js.map} +1 -1
- package/dist/chunks/{approval-wrapper-BTtmXMlk.esm.js → approval-wrapper-_kYfACQp.esm.js} +2 -2
- package/dist/chunks/{approval-wrapper-BTtmXMlk.esm.js.map → approval-wrapper-_kYfACQp.esm.js.map} +1 -1
- package/dist/chunks/{chat-bot-osiGMG3g.js → chat-bot-2Ga_xA_K.js} +32 -38
- package/dist/chunks/chat-bot-2Ga_xA_K.js.map +1 -0
- package/dist/chunks/{chat-bot-BpNtrZEL.esm.js → chat-bot-DO3vAGxA.esm.js} +33 -39
- package/dist/chunks/chat-bot-DO3vAGxA.esm.js.map +1 -0
- package/dist/chunks/common-BgXEAs_y.esm.js +851 -0
- package/dist/chunks/common-BgXEAs_y.esm.js.map +1 -0
- package/dist/chunks/{common-yORBIVv-.esm.js → common-Cl5oGXmX.esm.js} +2 -2
- package/dist/chunks/{common-yORBIVv-.esm.js.map → common-Cl5oGXmX.esm.js.map} +1 -1
- package/dist/chunks/common-D6T6NGWY.js +850 -0
- package/dist/chunks/common-D6T6NGWY.js.map +1 -0
- package/dist/chunks/{common-CS5L0Ld_.js → common-PH2uWkqL.js} +2 -2
- package/dist/chunks/{common-CS5L0Ld_.js.map → common-PH2uWkqL.js.map} +1 -1
- package/dist/chunks/common-utility-CA_Upser.js.map +1 -1
- package/dist/chunks/{common-utility-DGpbsf7S.esm.js → common-utility-CS_sNoAC.esm.js} +2 -2
- package/dist/chunks/common-utility-CS_sNoAC.esm.js.map +1 -0
- package/dist/chunks/company-selection-modal-B7jFVWWs.js.map +1 -1
- package/dist/chunks/company-selection-modal-Dn2L_skh.esm.js.map +1 -1
- package/dist/chunks/{constant-Bwg2s_Sn.esm.js → constant-BXPcBhJN.esm.js} +35 -5
- package/dist/chunks/constant-BXPcBhJN.esm.js.map +1 -0
- package/dist/chunks/{constant-ZYAN_teD.js → constant-BXeJD4Af.js} +35 -5
- package/dist/chunks/constant-BXeJD4Af.js.map +1 -0
- package/dist/chunks/{constants-nmkxkzps.esm.js → constants-BrmMAwu2.esm.js} +2 -2
- package/dist/chunks/{constants-nmkxkzps.esm.js.map → constants-BrmMAwu2.esm.js.map} +1 -1
- package/dist/chunks/{constants-06kIVUBw.js → constants-D_xuLHSu.js} +2 -2
- package/dist/chunks/{constants-06kIVUBw.js.map → constants-D_xuLHSu.js.map} +1 -1
- package/dist/chunks/{custom-editor-6-xqhKz6.esm.js → custom-editor-C-B5BK-H.esm.js} +3 -3
- package/dist/chunks/{custom-editor-6-xqhKz6.esm.js.map → custom-editor-C-B5BK-H.esm.js.map} +1 -1
- package/dist/chunks/{custom-form-DD7YOHMF.esm.js → custom-form-DNUpk0nq.esm.js} +7 -7
- package/dist/chunks/{custom-form-DD7YOHMF.esm.js.map → custom-form-DNUpk0nq.esm.js.map} +1 -1
- package/dist/chunks/{custom-form-CFU7NEVb.js → custom-form-T4yc_sE_.js} +4 -4
- package/dist/chunks/{custom-form-CFU7NEVb.js.map → custom-form-T4yc_sE_.js.map} +1 -1
- package/dist/chunks/{dashboard-DL83yYRR.esm.js → dashboard-B4xzJ1Xc.esm.js} +4 -4
- package/dist/chunks/{dashboard-DL83yYRR.esm.js.map → dashboard-B4xzJ1Xc.esm.js.map} +1 -1
- package/dist/chunks/{dashboard-BcWVkWZt.js → dashboard-eMHQayU_.js} +3 -3
- package/dist/chunks/{dashboard-BcWVkWZt.js.map → dashboard-eMHQayU_.js.map} +1 -1
- package/dist/chunks/default-data-6IxhqPTP.esm.js.map +1 -1
- package/dist/chunks/default-data-yreKVx_z.js.map +1 -1
- package/dist/chunks/{dynamic-report-tKn-KqAd.esm.js → dynamic-report-CMguvXj2.esm.js} +4 -4
- package/dist/chunks/{dynamic-report-tKn-KqAd.esm.js.map → dynamic-report-CMguvXj2.esm.js.map} +1 -1
- package/dist/chunks/{dynamic-rows-CTGETfcP.esm.js → dynamic-rows-CmAE9nbA.esm.js} +2 -2
- package/dist/chunks/{dynamic-rows-CTGETfcP.esm.js.map → dynamic-rows-CmAE9nbA.esm.js.map} +1 -1
- package/dist/chunks/{dynamic-text-editor-CPvlGcLK.esm.js → dynamic-text-editor-CSWdR1lK.esm.js} +2 -2
- package/dist/chunks/{dynamic-text-editor-CPvlGcLK.esm.js.map → dynamic-text-editor-CSWdR1lK.esm.js.map} +1 -1
- package/dist/chunks/edit-section-modal-Br2ITvLk.js.map +1 -1
- package/dist/chunks/{edit-section-modal-BW-aZmUv.esm.js → edit-section-modal-HihKbN6K.esm.js} +2 -2
- package/dist/chunks/edit-section-modal-HihKbN6K.esm.js.map +1 -0
- package/dist/chunks/{filter-COXKBEER.esm.js → filter-D9BHP_qc.esm.js} +5 -5
- package/dist/chunks/{filter-COXKBEER.esm.js.map → filter-D9BHP_qc.esm.js.map} +1 -1
- package/dist/chunks/{filter-Cr_OSIpb.js → filter-DtCrOG6W.js} +3 -3
- package/dist/chunks/{filter-Cr_OSIpb.js.map → filter-DtCrOG6W.js.map} +1 -1
- package/dist/chunks/{footer-m3_dlNl8.esm.js → footer-Bv5NOAf9.esm.js} +2 -2
- package/dist/chunks/{footer-m3_dlNl8.esm.js.map → footer-Bv5NOAf9.esm.js.map} +1 -1
- package/dist/chunks/{footer-CD3kMRdS.js → footer-DioOh69g.js} +2 -2
- package/dist/chunks/{footer-CD3kMRdS.js.map → footer-DioOh69g.js.map} +1 -1
- package/dist/chunks/{form-fields-yE9kwjvb.js → form-fields-BYDhbAgB.js} +2 -2
- package/dist/chunks/{form-fields-yE9kwjvb.js.map → form-fields-BYDhbAgB.js.map} +1 -1
- package/dist/chunks/{form-fields-hMMnB_wE.esm.js → form-fields-Di-p9XKG.esm.js} +2 -2
- package/dist/chunks/{form-fields-hMMnB_wE.esm.js.map → form-fields-Di-p9XKG.esm.js.map} +1 -1
- package/dist/chunks/{form-parser-m4fnw38a.js → form-parser-BnMdMDSb.js} +2 -2
- package/dist/chunks/{form-parser-m4fnw38a.js.map → form-parser-BnMdMDSb.js.map} +1 -1
- package/dist/chunks/{form-parser-DbnSn5eY.esm.js → form-parser-ZQpEVrzG.esm.js} +2 -2
- package/dist/chunks/{form-parser-DbnSn5eY.esm.js.map → form-parser-ZQpEVrzG.esm.js.map} +1 -1
- package/dist/chunks/{form-section-TMjdOVeW.esm.js → form-section-BJ7Iqb9R.esm.js} +5 -5
- package/dist/chunks/{form-section-TMjdOVeW.esm.js.map → form-section-BJ7Iqb9R.esm.js.map} +1 -1
- package/dist/chunks/{form-section-CPIyMdk2.js → form-section-CFeWD-tF.js} +5 -5
- package/dist/chunks/{form-section-CPIyMdk2.js.map → form-section-CFeWD-tF.js.map} +1 -1
- package/dist/chunks/{fullScreen-DFgzE41_.esm.js → fullScreen-Cz3FIdU4.esm.js} +5 -5
- package/dist/chunks/fullScreen-Cz3FIdU4.esm.js.map +1 -0
- package/dist/chunks/{fullScreen-BLLa9ogA.js → fullScreen-h0JqBN4O.js} +5 -5
- package/dist/chunks/fullScreen-h0JqBN4O.js.map +1 -0
- package/dist/chunks/{global-search-BjKPmzsQ.js → global-search-BTV5iL6-.js} +2 -2
- package/dist/chunks/{global-search-BjKPmzsQ.js.map → global-search-BTV5iL6-.js.map} +1 -1
- package/dist/chunks/{global-search-BOkxXiZ0.esm.js → global-search-CGmupYFQ.esm.js} +3 -3
- package/dist/chunks/{global-search-BOkxXiZ0.esm.js.map → global-search-CGmupYFQ.esm.js.map} +1 -1
- package/dist/chunks/{grid-view-Bo86x7YL.esm.js → grid-view-BMfleQMC.esm.js} +2 -2
- package/dist/chunks/{grid-view-Bo86x7YL.esm.js.map → grid-view-BMfleQMC.esm.js.map} +1 -1
- package/dist/chunks/{header-B-HaoeK7.esm.js → header-BnVzqpGs.esm.js} +12 -10
- package/dist/chunks/{header-B-HaoeK7.esm.js.map → header-BnVzqpGs.esm.js.map} +1 -1
- package/dist/chunks/{header-enhanced-BjfqyQ1a.esm.js → header-enhanced-CkROCaOF.esm.js} +3 -3
- package/dist/chunks/{header-enhanced-BjfqyQ1a.esm.js.map → header-enhanced-CkROCaOF.esm.js.map} +1 -1
- package/dist/chunks/{header-enhanced-gJl4iC4m.js → header-enhanced-Dxdetx0I.js} +3 -3
- package/dist/chunks/{header-enhanced-gJl4iC4m.js.map → header-enhanced-Dxdetx0I.js.map} +1 -1
- package/dist/chunks/{header-BHsex2As.js → header-jWPMgcy6.js} +11 -9
- package/dist/chunks/{header-BHsex2As.js.map → header-jWPMgcy6.js.map} +1 -1
- package/dist/chunks/{index-ALqg8b5U.esm.js → index-BCmGHdos.esm.js} +2 -2
- package/dist/chunks/{index-ALqg8b5U.esm.js.map → index-BCmGHdos.esm.js.map} +1 -1
- package/dist/chunks/{index-BBWIBqaP.js → index-DBvje0t5.js} +73 -66
- package/dist/chunks/{index-BBWIBqaP.js.map → index-DBvje0t5.js.map} +1 -1
- package/dist/chunks/{index-BuPgYdiN.esm.js → index-DqwpZRkl.esm.js} +73 -66
- package/dist/chunks/{index-BuPgYdiN.esm.js.map → index-DqwpZRkl.esm.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-atDP84QL.js → inline-edit-fields-Cd_qUOjU.js} +2 -2
- package/dist/chunks/{inline-edit-fields-atDP84QL.js.map → inline-edit-fields-Cd_qUOjU.js.map} +1 -1
- package/dist/chunks/{inline-edit-fields-BYhRpPcH.esm.js → inline-edit-fields-VOIx3qmC.esm.js} +2 -2
- package/dist/chunks/{inline-edit-fields-BYhRpPcH.esm.js.map → inline-edit-fields-VOIx3qmC.esm.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-Bog2i0dr.js → inventory-reports-title-bar-BfUMM54c.js} +2 -2
- package/dist/chunks/{inventory-reports-title-bar-Bog2i0dr.js.map → inventory-reports-title-bar-BfUMM54c.js.map} +1 -1
- package/dist/chunks/{inventory-reports-title-bar-CP8FzW6A.esm.js → inventory-reports-title-bar-CZZFFqDc.esm.js} +3 -3
- package/dist/chunks/{inventory-reports-title-bar-CP8FzW6A.esm.js.map → inventory-reports-title-bar-CZZFFqDc.esm.js.map} +1 -1
- package/dist/chunks/{item-response-details-SHSD-nBh.esm.js → item-response-details-BTHf6ZvN.esm.js} +4 -4
- package/dist/chunks/{item-response-details-SHSD-nBh.esm.js.map → item-response-details-BTHf6ZvN.esm.js.map} +1 -1
- package/dist/chunks/{item-response-details-DsGQ7Dlc.js → item-response-details-BheThTTK.js} +2 -2
- package/dist/chunks/{item-response-details-DsGQ7Dlc.js.map → item-response-details-BheThTTK.js.map} +1 -1
- package/dist/chunks/{listing-DIuzQrzb.js → listing-Dr_1DDBr.js} +4 -4
- package/dist/chunks/{listing-DIuzQrzb.js.map → listing-Dr_1DDBr.js.map} +1 -1
- package/dist/chunks/{listing-C0Yb6MVq.esm.js → listing-ELQeM6S3.esm.js} +4 -4
- package/dist/chunks/{listing-C0Yb6MVq.esm.js.map → listing-ELQeM6S3.esm.js.map} +1 -1
- package/dist/chunks/{location-select-g5uczAUF.js → location-select-CLyRUilk.js} +2 -2
- package/dist/chunks/{location-select-g5uczAUF.js.map → location-select-CLyRUilk.js.map} +1 -1
- package/dist/chunks/{location-select-CFa00fy4.esm.js → location-select-z1C88kCy.esm.js} +2 -2
- package/dist/chunks/{location-select-CFa00fy4.esm.js.map → location-select-z1C88kCy.esm.js.map} +1 -1
- package/dist/chunks/{material-editable-table-BGLjrTzT.js → material-editable-table-DFGB0q-s.js} +3 -3
- package/dist/chunks/{material-editable-table-BGLjrTzT.js.map → material-editable-table-DFGB0q-s.js.map} +1 -1
- package/dist/chunks/{material-editable-table-pAyK7KYf.esm.js → material-editable-table-DyGdqNkX.esm.js} +4 -4
- package/dist/chunks/{material-editable-table-pAyK7KYf.esm.js.map → material-editable-table-DyGdqNkX.esm.js.map} +1 -1
- package/dist/chunks/{metaComponent-B6kkj54U.esm.js → metaComponent-BqgfR7kW.esm.js} +2 -2
- package/dist/chunks/{metaComponent-B6kkj54U.esm.js.map → metaComponent-BqgfR7kW.esm.js.map} +1 -1
- package/dist/chunks/{metaComponent-D9sAbeXz.js → metaComponent-GukpY87Z.js} +2 -2
- package/dist/chunks/{metaComponent-D9sAbeXz.js.map → metaComponent-GukpY87Z.js.map} +1 -1
- package/dist/chunks/{module-reducer-DMxxForv.esm.js → module-reducer-CEv3LZCX.esm.js} +2 -2
- package/dist/chunks/{module-reducer-DMxxForv.esm.js.map → module-reducer-CEv3LZCX.esm.js.map} +1 -1
- package/dist/chunks/{modules-maXT99-4.js → modules-DTRr7zwt.js} +5 -5
- package/dist/chunks/{modules-maXT99-4.js.map → modules-DTRr7zwt.js.map} +1 -1
- package/dist/chunks/{modules-BBu2Y-K9.esm.js → modules-enwLrpfQ.esm.js} +5 -5
- package/dist/chunks/{modules-BBu2Y-K9.esm.js.map → modules-enwLrpfQ.esm.js.map} +1 -1
- package/dist/chunks/{notification-menu-D7ASm-K1.js → notification-menu-B00hDUbn.js} +2 -2
- package/dist/chunks/{notification-menu-D7ASm-K1.js.map → notification-menu-B00hDUbn.js.map} +1 -1
- package/dist/chunks/{notification-menu-XAadkn-e.esm.js → notification-menu-CehCt5fA.esm.js} +4 -4
- package/dist/chunks/{notification-menu-XAadkn-e.esm.js.map → notification-menu-CehCt5fA.esm.js.map} +1 -1
- package/dist/chunks/{page-action-C07iGjvN.esm.js → page-action-RqVevciV.esm.js} +4 -4
- package/dist/chunks/{page-action-C07iGjvN.esm.js.map → page-action-RqVevciV.esm.js.map} +1 -1
- package/dist/chunks/{page-action-BPzaL2KJ.js → page-action-TMFOytDw.js} +2 -2
- package/dist/chunks/{page-action-BPzaL2KJ.js.map → page-action-TMFOytDw.js.map} +1 -1
- package/dist/chunks/{page-navigator-8gZpp9_P.esm.js → page-navigator-CuIJ0KGf.esm.js} +2 -2
- package/dist/chunks/{page-navigator-8gZpp9_P.esm.js.map → page-navigator-CuIJ0KGf.esm.js.map} +1 -1
- package/dist/chunks/{page-navigator-Cgbh3tTG.js → page-navigator-DdRsmtLy.js} +2 -2
- package/dist/chunks/{page-navigator-Cgbh3tTG.js.map → page-navigator-DdRsmtLy.js.map} +1 -1
- package/dist/chunks/{page-view-DJ6HS_dV.js → page-view-CvfqzV03.js} +3 -3
- package/dist/chunks/{page-view-DJ6HS_dV.js.map → page-view-CvfqzV03.js.map} +1 -1
- package/dist/chunks/{page-view-CokUNMBn.esm.js → page-view-Daz-OKd_.esm.js} +3 -3
- package/dist/chunks/{page-view-CokUNMBn.esm.js.map → page-view-Daz-OKd_.esm.js.map} +1 -1
- package/dist/chunks/{pathname.rental-qsAe3XFd.esm.js → pathname.rental-CqHO_l_D.esm.js} +76 -81
- package/dist/chunks/{pathname.rental-qsAe3XFd.esm.js.map → pathname.rental-CqHO_l_D.esm.js.map} +1 -1
- package/dist/chunks/{pathname.rental-DgH4LoG7.js → pathname.rental-CwK6JuID.js} +2 -7
- package/dist/chunks/{pathname.rental-DgH4LoG7.js.map → pathname.rental-CwK6JuID.js.map} +1 -1
- package/dist/chunks/{quick-approval-modal-CPWs8htH.esm.js → quick-approval-modal-B-jvkgue.esm.js} +2 -2
- package/dist/chunks/{quick-approval-modal-CPWs8htH.esm.js.map → quick-approval-modal-B-jvkgue.esm.js.map} +1 -1
- package/dist/chunks/{reducer-CdJ6znKF.esm.js → reducer-BMkh_0Py.esm.js} +3 -3
- package/dist/chunks/{reducer-CdJ6znKF.esm.js.map → reducer-BMkh_0Py.esm.js.map} +1 -1
- package/dist/chunks/{reducer-3tSO6RW6.esm.js → reducer-BOwyP0QZ.esm.js} +3 -3
- package/dist/chunks/{reducer-3tSO6RW6.esm.js.map → reducer-BOwyP0QZ.esm.js.map} +1 -1
- package/dist/chunks/{reducer-IsgN83rP.esm.js → reducer-BTfG9J4W.esm.js} +2 -2
- package/dist/chunks/{reducer-IsgN83rP.esm.js.map → reducer-BTfG9J4W.esm.js.map} +1 -1
- package/dist/chunks/{reducer-yyZtsg1A.esm.js → reducer-BWiX5vxL.esm.js} +2 -2
- package/dist/chunks/{reducer-yyZtsg1A.esm.js.map → reducer-BWiX5vxL.esm.js.map} +1 -1
- package/dist/chunks/{reducer-sgaK2vfW.esm.js → reducer-CD1VDqeT.esm.js} +2 -2
- package/dist/chunks/{reducer-sgaK2vfW.esm.js.map → reducer-CD1VDqeT.esm.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-Kz6JjqsY.js → reports-title-bar-B1_IweEc.js} +2 -2
- package/dist/chunks/{reports-title-bar-Kz6JjqsY.js.map → reports-title-bar-B1_IweEc.js.map} +1 -1
- package/dist/chunks/{reports-title-bar-Cay4E8SQ.esm.js → reports-title-bar-Kl8XQe-K.esm.js} +4 -4
- package/dist/chunks/{reports-title-bar-Cay4E8SQ.esm.js.map → reports-title-bar-Kl8XQe-K.esm.js.map} +1 -1
- package/dist/chunks/{route-page-map-Dn-SAbdf.js → route-page-map-CzFUh-SC.js} +3 -60
- package/dist/chunks/{route-page-map-Dn-SAbdf.js.map → route-page-map-CzFUh-SC.js.map} +1 -1
- package/dist/chunks/{route-page-map-DkWoisiB.esm.js → route-page-map-D6-7jBQT.esm.js} +76 -133
- package/dist/chunks/{route-page-map-DkWoisiB.esm.js.map → route-page-map-D6-7jBQT.esm.js.map} +1 -1
- package/dist/chunks/{routes-CAc76Zan.esm.js → routes-D9y_XQRu.esm.js} +4 -4
- package/dist/chunks/{routes-CAc76Zan.esm.js.map → routes-D9y_XQRu.esm.js.map} +1 -1
- package/dist/chunks/{routes-CfqLAYgR.js → routes-Dsumzjw0.js} +4 -4
- package/dist/chunks/{routes-CfqLAYgR.js.map → routes-Dsumzjw0.js.map} +1 -1
- package/dist/chunks/{schedule-report-B4ZfEuiU.js → schedule-report-BwmZ5jea.js} +4 -4
- package/dist/chunks/{schedule-report-B4ZfEuiU.js.map → schedule-report-BwmZ5jea.js.map} +1 -1
- package/dist/chunks/{schedule-report-CLXjjfjc.esm.js → schedule-report-CJXHVZ68.esm.js} +6 -6
- package/dist/chunks/{schedule-report-CLXjjfjc.esm.js.map → schedule-report-CJXHVZ68.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-modal-CB3G9H7x.esm.js → schedule-report-modal-D8Y-TZ4u.esm.js} +3 -3
- package/dist/chunks/{schedule-report-modal-CB3G9H7x.esm.js.map → schedule-report-modal-D8Y-TZ4u.esm.js.map} +1 -1
- package/dist/chunks/{schedule-report-modal-iwoDI-sg.js → schedule-report-modal-iNnWP9s4.js} +2 -2
- package/dist/chunks/{schedule-report-modal-iwoDI-sg.js.map → schedule-report-modal-iNnWP9s4.js.map} +1 -1
- package/dist/chunks/{searchable-select-0F6E4XAr.esm.js → searchable-select-BQtcqBKV.esm.js} +6 -6
- package/dist/chunks/{searchable-select-0F6E4XAr.esm.js.map → searchable-select-BQtcqBKV.esm.js.map} +1 -1
- package/dist/chunks/{searchable-select-_DCkITfk.js → searchable-select-DVUCWWti.js} +2 -2
- package/dist/chunks/{searchable-select-_DCkITfk.js.map → searchable-select-DVUCWWti.js.map} +1 -1
- package/dist/chunks/{share-modal-BaEyZs2h.esm.js → share-modal-BOyLBawK.esm.js} +3 -3
- package/dist/chunks/{share-modal-BaEyZs2h.esm.js.map → share-modal-BOyLBawK.esm.js.map} +1 -1
- package/dist/chunks/{share-modal-DrXvh-fV.js → share-modal-CobK7BN7.js} +2 -2
- package/dist/chunks/{share-modal-DrXvh-fV.js.map → share-modal-CobK7BN7.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-DnEdDBmu.esm.js → share-modal-enhanced-CTp-tQw8.esm.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-DnEdDBmu.esm.js.map → share-modal-enhanced-CTp-tQw8.esm.js.map} +1 -1
- package/dist/chunks/{share-modal-enhanced-BTr0zRhF.js → share-modal-enhanced-DVarD-jt.js} +2 -2
- package/dist/chunks/{share-modal-enhanced-BTr0zRhF.js.map → share-modal-enhanced-DVarD-jt.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-DpYj_wlK.js → sidebarScreen-K-dlM6NA.js} +3 -3
- package/dist/chunks/{sidebarScreen-DpYj_wlK.js.map → sidebarScreen-K-dlM6NA.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-DiOAiXeU.esm.js → sidebarScreen-lR6rw8bW.esm.js} +4 -4
- package/dist/chunks/{sidebarScreen-DiOAiXeU.esm.js.map → sidebarScreen-lR6rw8bW.esm.js.map} +1 -1
- package/dist/chunks/{store-BL5VFPie.esm.js → store-DJh8C3Vv.esm.js} +6 -6
- package/dist/chunks/{store-BL5VFPie.esm.js.map → store-DJh8C3Vv.esm.js.map} +1 -1
- package/dist/chunks/{table-DWx7x8zw.js → table-Bpt6ggr3.js} +2 -2
- package/dist/chunks/{table-DWx7x8zw.js.map → table-Bpt6ggr3.js.map} +1 -1
- package/dist/chunks/{table-gxAlAeTq.esm.js → table-DI3MyTNm.esm.js} +3 -3
- package/dist/chunks/{table-gxAlAeTq.esm.js.map → table-DI3MyTNm.esm.js.map} +1 -1
- package/dist/chunks/{table-form-DsTwCUcs.esm.js → table-form-8_f3FwhX.esm.js} +2 -2
- package/dist/chunks/{table-form-DsTwCUcs.esm.js.map → table-form-8_f3FwhX.esm.js.map} +1 -1
- package/dist/chunks/{template-editor-router-D4NIwVws.js → template-editor-router-DugWbCh0.js} +2 -2
- package/dist/chunks/{template-editor-router-D4NIwVws.js.map → template-editor-router-DugWbCh0.js.map} +1 -1
- package/dist/chunks/{template-editor-router-BXLUTvsk.esm.js → template-editor-router-uzghBOap.esm.js} +2 -2
- package/dist/chunks/{template-editor-router-BXLUTvsk.esm.js.map → template-editor-router-uzghBOap.esm.js.map} +1 -1
- package/dist/chunks/{template-modal-B2VgotrF.esm.js → template-modal-D7aLacan.esm.js} +7 -6
- package/dist/chunks/template-modal-D7aLacan.esm.js.map +1 -0
- package/dist/chunks/{template-modal-X-iSmlki.js → template-modal-Df7gF4QI.js} +5 -4
- package/dist/chunks/template-modal-Df7gF4QI.js.map +1 -0
- package/dist/chunks/{template-name-modal-CeqxIE2r.js → template-name-modal-ClreVUaz.js} +12 -5
- package/dist/chunks/template-name-modal-ClreVUaz.js.map +1 -0
- package/dist/chunks/{template-name-modal-Dctn8t3t.esm.js → template-name-modal-Dwe7U72p.esm.js} +12 -5
- package/dist/chunks/template-name-modal-Dwe7U72p.esm.js.map +1 -0
- package/dist/chunks/{templates-CCy1eG6A.esm.js → templates-9ZMHwRR6.esm.js} +10 -17
- package/dist/chunks/templates-9ZMHwRR6.esm.js.map +1 -0
- package/dist/chunks/{templates-CUREMwYo.js → templates-DCXbeOtH.js} +7 -14
- package/dist/chunks/templates-DCXbeOtH.js.map +1 -0
- package/dist/chunks/{text-area-B3nAZgFI.js → text-area-DxJs3eyE.js} +2 -2
- package/dist/chunks/{text-area-B3nAZgFI.js.map → text-area-DxJs3eyE.js.map} +1 -1
- package/dist/chunks/{text-area-xMWbJY0H.esm.js → text-area-zcBhicgg.esm.js} +2 -2
- package/dist/chunks/{text-area-xMWbJY0H.esm.js.map → text-area-zcBhicgg.esm.js.map} +1 -1
- package/dist/chunks/{text-measurement-BCjauPbB.esm.js → text-measurement-DMVkqP6b.esm.js} +2 -2
- package/dist/chunks/{text-measurement-BCjauPbB.esm.js.map → text-measurement-DMVkqP6b.esm.js.map} +1 -1
- package/dist/chunks/{translations-BrwQcVN3.esm.js → translations-JcE6qyDJ.esm.js} +3 -3
- package/dist/chunks/{translations-BrwQcVN3.esm.js.map → translations-JcE6qyDJ.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-DXZgzOYB.js → uom-field-wrapper-CSqeiVPY.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-DXZgzOYB.js.map → uom-field-wrapper-CSqeiVPY.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-CTbEc-MB.esm.js → uom-field-wrapper-CWTsSsSi.esm.js} +2 -2
- package/dist/chunks/{uom-field-wrapper-CTbEc-MB.esm.js.map → uom-field-wrapper-CWTsSsSi.esm.js.map} +1 -1
- package/dist/chunks/{upload-excel-BZPP13tP.esm.js → upload-excel-CkEQqZW2.esm.js} +2 -2
- package/dist/chunks/{upload-excel-BZPP13tP.esm.js.map → upload-excel-CkEQqZW2.esm.js.map} +1 -1
- package/dist/chunks/{use-translations-CcjSFA3F.esm.js → use-translations-BqBPN1DM.esm.js} +3 -3
- package/dist/chunks/{use-translations-CcjSFA3F.esm.js.map → use-translations-BqBPN1DM.esm.js.map} +1 -1
- package/dist/chunks/{use-translations-5wUQBxMm.js → use-translations-Cn3b4Kqh.js} +2 -2
- package/dist/chunks/{use-translations-5wUQBxMm.js.map → use-translations-Cn3b4Kqh.js.map} +1 -1
- package/dist/chunks/{useAccountSetting-vAqgEiJB.esm.js → useAccountSetting-DsU5zsjb.esm.js} +2 -2
- package/dist/chunks/{useAccountSetting-vAqgEiJB.esm.js.map → useAccountSetting-DsU5zsjb.esm.js.map} +1 -1
- package/dist/chunks/{useCheckSkuAndName-Dl24wQO-.esm.js → useCheckSkuAndName-5ua30aZf.esm.js} +2 -2
- package/dist/chunks/{useCheckSkuAndName-Dl24wQO-.esm.js.map → useCheckSkuAndName-5ua30aZf.esm.js.map} +1 -1
- package/dist/chunks/{useReduxIntegration-DZBfKF7d.esm.js → useReduxIntegration-BlLpfwk6.esm.js} +2 -2
- package/dist/chunks/{useReduxIntegration-DZBfKF7d.esm.js.map → useReduxIntegration-BlLpfwk6.esm.js.map} +1 -1
- package/dist/chunks/{useUniquenessCheck-bYjnp_0P.esm.js → useUniquenessCheck-CiR2q5bM.esm.js} +2 -2
- package/dist/chunks/{useUniquenessCheck-bYjnp_0P.esm.js.map → useUniquenessCheck-CiR2q5bM.esm.js.map} +1 -1
- package/dist/chunks/{useVendorAICompare-DZRFDk4i.esm.js → useVendorAICompare-DMJvJJ3Y.esm.js} +2 -2
- package/dist/chunks/{useVendorAICompare-DZRFDk4i.esm.js.map → useVendorAICompare-DMJvJJ3Y.esm.js.map} +1 -1
- package/dist/chunks/{value-editor-BSS9Ns2T.js → value-editor-Br7X_wEB.js} +2 -2
- package/dist/chunks/{value-editor-BSS9Ns2T.js.map → value-editor-Br7X_wEB.js.map} +1 -1
- package/dist/chunks/{value-editor-DQ1qgZ2u.esm.js → value-editor-BxFdnUyM.esm.js} +4 -4
- package/dist/chunks/{value-editor-DQ1qgZ2u.esm.js.map → value-editor-BxFdnUyM.esm.js.map} +1 -1
- package/dist/chunks/{vendor-ai-summary-BA6m2dH9.esm.js → vendor-ai-summary-Cpx90QOx.esm.js} +2 -2
- package/dist/chunks/{vendor-ai-summary-BA6m2dH9.esm.js.map → vendor-ai-summary-Cpx90QOx.esm.js.map} +1 -1
- package/dist/chunks/{vendor-ai-summary-DWmAaQ_N.js → vendor-ai-summary-zranZkfk.js} +2 -2
- package/dist/chunks/{vendor-ai-summary-DWmAaQ_N.js.map → vendor-ai-summary-zranZkfk.js.map} +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/action-bar/index.js +1 -1
- package/dist/components/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/index.js +1 -1
- package/dist/components/address-modal/index.esm.js +1 -1
- package/dist/components/address-modal/index.js +1 -1
- package/dist/components/ai-summary/ai-summary/index.esm.js +1 -1
- package/dist/components/ai-summary/index.esm.js +1 -1
- package/dist/components/appbar/appbar/index.esm.js +1 -1
- package/dist/components/appbar/appbar/index.js +1 -1
- package/dist/components/appbar/index.esm.js +1 -1
- package/dist/components/appbar/index.js +1 -1
- package/dist/components/approval-wrapper/approval-wrapper/index.esm.js +1 -1
- package/dist/components/approval-wrapper/index.esm.js +1 -1
- package/dist/components/chat-bot/index.esm.js +1 -1
- package/dist/components/chat-bot/index.js +1 -1
- package/dist/components/custom-forms/FORMS/index.esm.js +1 -1
- package/dist/components/custom-forms/FORMS/index.js +1 -1
- package/dist/components/custom-forms/grid-view/grid-view/index.esm.js +1 -1
- package/dist/components/custom-forms/grid-view/index.esm.js +1 -1
- package/dist/components/custom-forms/index.esm.js +2 -2
- package/dist/components/custom-forms/index.js +1 -1
- package/dist/components/department-add-modal/index.esm.js +1 -1
- package/dist/components/department-add-modal/index.js +1 -1
- package/dist/components/designation-add-modal/index.esm.js +1 -1
- package/dist/components/designation-add-modal/index.js +1 -1
- package/dist/components/editor/custom-editor/index.esm.js +1 -1
- package/dist/components/editor/index.esm.js +1 -1
- package/dist/components/examples/FlexibleReduxExample/index.esm.js +1 -1
- package/dist/components/examples/FlexibleReduxExample/index.js +1 -1
- package/dist/components/examples/index.esm.js +1 -1
- package/dist/components/examples/index.js +1 -1
- package/dist/components/filter/components/index.esm.js +1 -1
- package/dist/components/filter/components/index.js +1 -1
- package/dist/components/filter/components/value-editor/index.esm.js +1 -1
- package/dist/components/filter/components/value-editor/index.js +1 -1
- package/dist/components/filter/filter/index.esm.js +1 -1
- package/dist/components/filter/filter/index.js +1 -1
- package/dist/components/filter/index.esm.js +2 -2
- package/dist/components/filter/index.js +2 -2
- package/dist/components/footer/footer/index.esm.js +1 -1
- package/dist/components/footer/footer/index.js +1 -1
- package/dist/components/footer/index.esm.js +1 -1
- package/dist/components/footer/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-dependent-field/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-select/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/dynamic-text-editor/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/fixed-asset-item-add-modal/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/index.esm.js +4 -4
- package/dist/components/form-control/form-builder/form-builder-element/index.js +3 -3
- package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/location-add-modal/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select-configuration/index.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/table/index.esm.js +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/table/index.js +1 -1
- package/dist/components/form-control/form-builder/index.esm.js +4 -4
- package/dist/components/form-control/form-builder/index.js +3 -3
- package/dist/components/form-control/form-parser/form-parser/index.esm.js +1 -1
- package/dist/components/form-control/form-parser/form-parser/index.js +1 -1
- package/dist/components/form-control/form-parser/form-section/index.esm.js +1 -1
- package/dist/components/form-control/form-parser/form-section/index.js +1 -1
- package/dist/components/form-control/form-parser/index.esm.js +2 -2
- package/dist/components/form-control/form-parser/index.js +2 -2
- package/dist/components/form-control/index.esm.js +6 -6
- package/dist/components/form-control/index.js +5 -5
- package/dist/components/header/components/app-switcher/index.esm.js +1 -1
- package/dist/components/header/components/app-switcher/index.js +1 -1
- package/dist/components/header/components/global-search/index.esm.js +1 -1
- package/dist/components/header/components/global-search/index.js +1 -1
- package/dist/components/header/components/index.esm.js +1 -1
- package/dist/components/header/components/index.js +1 -1
- package/dist/components/header/components/notification-menu/index.esm.js +1 -1
- package/dist/components/header/components/notification-menu/index.js +1 -1
- package/dist/components/header/components/notification-menu/notification-menu/index.esm.js +1 -1
- package/dist/components/header/components/notification-menu/notification-menu/index.js +1 -1
- package/dist/components/header/header/index.esm.js +1 -1
- package/dist/components/header/header/index.js +1 -1
- package/dist/components/header/header-enhanced/index.esm.js +1 -1
- package/dist/components/header/header-enhanced/index.js +1 -1
- package/dist/components/header/index.esm.js +5 -5
- package/dist/components/header/index.js +3 -3
- package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/header/redux/index.esm.js +2 -2
- package/dist/components/header/redux/reducer/index.esm.js +1 -1
- package/dist/components/index.esm.js +37 -37
- package/dist/components/index.js +28 -28
- package/dist/components/inventory-reports-title-bar/index.esm.js +3 -3
- package/dist/components/inventory-reports-title-bar/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/inventory-reports-title-bar/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/index.esm.js +2 -2
- package/dist/components/inventory-reports-title-bar/redux/reducer/index.esm.js +1 -1
- package/dist/components/listing/index.esm.js +1 -1
- package/dist/components/listing/index.js +1 -1
- package/dist/components/listing/listing/index.esm.js +1 -1
- package/dist/components/listing/listing/index.js +1 -1
- package/dist/components/location-select/index.esm.js +1 -1
- package/dist/components/location-select/index.js +1 -1
- package/dist/components/material-editable-table/components/index.esm.js +1 -1
- package/dist/components/material-editable-table/components/index.js +1 -1
- package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js +1 -1
- package/dist/components/material-editable-table/components/inline-edit-fields/index.js +1 -1
- package/dist/components/material-editable-table/index.esm.js +2 -2
- package/dist/components/material-editable-table/index.js +2 -2
- package/dist/components/material-editable-table/material-editable-table/index.esm.js +1 -1
- package/dist/components/material-editable-table/material-editable-table/index.js +1 -1
- package/dist/components/material-table/components/index.esm.js +1 -1
- package/dist/components/material-table/components/index.js +1 -1
- package/dist/components/material-table/components/inline-edit-fields/index.esm.js +1 -1
- package/dist/components/material-table/components/inline-edit-fields/index.js +1 -1
- package/dist/components/material-table/index.esm.js +1 -1
- package/dist/components/material-table/index.js +1 -1
- package/dist/components/material-table/material-table/index.esm.js +1 -1
- package/dist/components/material-table/material-table/index.js +1 -1
- package/dist/components/page-navigator/components/index.esm.js +1 -1
- package/dist/components/page-navigator/components/index.js +1 -1
- package/dist/components/page-navigator/components/page-action/index.esm.js +1 -1
- package/dist/components/page-navigator/components/page-action/index.js +1 -1
- package/dist/components/page-navigator/index.esm.js +2 -2
- package/dist/components/page-navigator/index.js +2 -2
- package/dist/components/page-navigator/page-navigator/index.esm.js +1 -1
- package/dist/components/page-navigator/page-navigator/index.js +1 -1
- package/dist/components/parties-modal/index.esm.js +1 -1
- package/dist/components/parties-modal/index.js +1 -1
- package/dist/components/parties-modal/parties-modal/index.esm.js +1 -1
- package/dist/components/parties-modal/parties-modal/index.js +1 -1
- package/dist/components/providers/ERPUIProvider/index.esm.js +1 -1
- package/dist/components/providers/index.esm.js +1 -1
- package/dist/components/quick-approval-modal/index.esm.js +1 -1
- package/dist/components/quick-approval-modal/quick-approval-modal/index.esm.js +1 -1
- package/dist/components/reports/dynamic-report/dynamic-report/index.esm.js +1 -1
- package/dist/components/reports/dynamic-report/dynamic-rows/index.esm.js +1 -1
- package/dist/components/reports/dynamic-report/index.esm.js +2 -2
- package/dist/components/reports/index.esm.js +2 -2
- package/dist/components/reports-title-bar/index.esm.js +3 -3
- package/dist/components/reports-title-bar/index.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/reports-title-bar/redux/index.esm.js +2 -2
- package/dist/components/reports-title-bar/redux/reducer/index.esm.js +1 -1
- package/dist/components/reports-title-bar/reports-title-bar/index.esm.js +1 -1
- package/dist/components/reports-title-bar/reports-title-bar/index.js +1 -1
- package/dist/components/rfq-response/index.esm.js +1 -1
- package/dist/components/rfq-response/index.js +1 -1
- package/dist/components/rfq-response/item-response-details/index.esm.js +1 -1
- package/dist/components/rfq-response/item-response-details/index.js +1 -1
- package/dist/components/schedule-report/index.esm.js +2 -2
- package/dist/components/schedule-report/index.js +2 -2
- package/dist/components/schedule-report/schedule-report/index.esm.js +1 -1
- package/dist/components/schedule-report/schedule-report/index.js +1 -1
- package/dist/components/schedule-report/schedule-report-modal/index.esm.js +1 -1
- package/dist/components/schedule-report/schedule-report-modal/index.js +1 -1
- package/dist/components/schedule-report/utils/common/index.esm.js +1 -1
- package/dist/components/searchable-select/index.esm.js +1 -1
- package/dist/components/searchable-select/index.js +1 -1
- package/dist/components/share-modal/index.esm.js +4 -4
- package/dist/components/share-modal/index.js +2 -2
- package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/share-modal/redux/index.esm.js +2 -2
- package/dist/components/share-modal/redux/reducer/index.esm.js +1 -1
- package/dist/components/share-modal/share-modal/index.esm.js +1 -1
- package/dist/components/share-modal/share-modal/index.js +1 -1
- package/dist/components/share-modal/share-modal-enhanced/index.esm.js +1 -1
- package/dist/components/share-modal/share-modal-enhanced/index.js +1 -1
- package/dist/components/team-add-modal/index.esm.js +1 -1
- package/dist/components/team-add-modal/index.js +1 -1
- package/dist/components/text-area/index.esm.js +1 -1
- package/dist/components/text-area/index.js +1 -1
- package/dist/components/text-area/text-area/index.esm.js +1 -1
- package/dist/components/text-area/text-area/index.js +1 -1
- package/dist/components/uom-field-wrapper/index.esm.js +1 -1
- package/dist/components/uom-field-wrapper/index.js +1 -1
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js +1 -1
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js +1 -1
- package/dist/components/upload-excel/index.esm.js +1 -1
- package/dist/components/upload-excel/upload-excel/index.esm.js +1 -1
- package/dist/components/vendor-ai-summary/index.esm.js +1 -1
- package/dist/components/vendor-ai-summary/index.js +1 -1
- package/dist/constants/index.esm.js +143 -145
- package/dist/constants/index.js +3 -5
- package/dist/constants/index.js.map +1 -1
- package/dist/hooks/index.esm.js +6 -6
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-translations/index.esm.js +1 -1
- package/dist/hooks/use-translations/index.js +1 -1
- package/dist/hooks/useAccountSetting/index.esm.js +1 -1
- package/dist/hooks/useCheckSkuAndName/index.esm.js +1 -1
- package/dist/hooks/useReduxIntegration/index.esm.js +1 -1
- package/dist/hooks/useUniquenessCheck/index.esm.js +1 -1
- package/dist/images/index.esm.js +5 -5
- package/dist/images/index.esm.js.map +1 -1
- package/dist/images/index.js +5 -5
- package/dist/images/index.js.map +1 -1
- package/dist/index.esm.js +237 -234
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +69 -66
- package/dist/index.js.map +1 -1
- package/dist/layout/fullScreen/index.esm.js +1 -1
- package/dist/layout/fullScreen/index.js +1 -1
- package/dist/layout/index.esm.js +2 -2
- package/dist/layout/index.js +2 -2
- package/dist/layout/sidebarScreen/index.esm.js +1 -1
- package/dist/layout/sidebarScreen/index.js +1 -1
- package/dist/redux/index.esm.js +3 -3
- package/dist/runtime/index.esm.js +4 -4
- package/dist/runtime/index.js +2 -2
- package/dist/src/components/chat-bot/chat-bot-welcome.d.ts +1 -2
- package/dist/src/components/chat-bot/chat-bot.d.ts +1 -5
- package/dist/src/constants/defaultColumns.d.ts +0 -1
- package/dist/src/constants/pathnames/pathname.procurement.d.ts +0 -4
- package/dist/src/layout/fullScreen/fullScreen.d.ts +0 -1
- package/dist/src/views/template-editor/components/EditorCanvas/FreeCanvas.d.ts +34 -0
- package/dist/src/views/template-editor/components/EditorCanvas/FreeElement.d.ts +30 -0
- package/dist/src/views/template-editor/components/EditorCanvas.d.ts +30 -12
- package/dist/src/views/template-editor/components/EditorHeader.d.ts +6 -0
- package/dist/src/views/template-editor/components/EditorSection.d.ts +1 -0
- package/dist/src/views/template-editor/components/SectionFlowEditor.d.ts +2 -3
- package/dist/src/views/template-editor/components/SectionFormatPanel.d.ts +2 -1
- package/dist/src/views/template-editor/components/controllers/TableControls.d.ts +23 -0
- package/dist/src/views/template-editor/components/controllers/TextControls.d.ts +3 -0
- package/dist/src/views/template-editor/components/stationery/StationeryPreview.d.ts +24 -0
- package/dist/src/views/template-editor/components/stationery/StationerySidebar.d.ts +9 -0
- package/dist/src/views/template-editor/engine/ai.d.ts +12 -0
- package/dist/src/views/template-editor/engine/app.d.ts +1 -0
- package/dist/src/views/template-editor/engine/controls.d.ts +4 -0
- package/dist/src/views/template-editor/engine/design-canvas.d.ts +24 -0
- package/dist/src/views/template-editor/engine/editor.d.ts +17 -0
- package/dist/src/views/template-editor/engine/engine.d.ts +18 -0
- package/dist/src/views/template-editor/engine/icons.d.ts +91 -0
- package/dist/src/views/template-editor/engine/letterpads.d.ts +1 -0
- package/dist/src/views/template-editor/engine/model.d.ts +20 -0
- package/dist/src/views/template-editor/engine/paginator.d.ts +30 -0
- package/dist/src/views/template-editor/engine/picker.d.ts +20 -0
- package/dist/src/views/template-editor/engine/schema.d.ts +647 -0
- package/dist/src/views/template-editor/engine/stationery-app.d.ts +10 -0
- package/dist/src/views/template-editor/engine/stationery-doc.d.ts +62 -0
- package/dist/src/views/template-editor/engine/stationery-free-element.d.ts +22 -0
- package/dist/src/views/template-editor/engine/stationery-store.d.ts +154 -0
- package/dist/src/views/template-editor/engine/templatebuilder.d.ts +51 -0
- package/dist/src/views/template-editor/engine/templates.d.ts +11 -0
- package/dist/src/views/template-editor/icons/custom-styled-icon.d.ts +7 -0
- package/dist/src/views/template-editor/icons/edit.d.ts +4 -0
- package/dist/src/views/template-editor/icons/trash.d.ts +4 -0
- package/dist/src/views/template-editor/types/editor.d.ts +20 -108
- package/dist/src/views/template-editor/types/stationery.d.ts +66 -0
- package/dist/src/views/template-editor/utils/common.d.ts +10 -1
- package/dist/src/views/template-editor/utils/compiler.d.ts +12 -0
- package/dist/src/views/template-editor/utils/constant.d.ts +4 -1
- package/dist/style.css +4629 -100
- package/dist/utils/api/index.esm.js +1 -1
- package/dist/utils/common/index.esm.js +1 -1
- package/dist/utils/common-utility/index.esm.js +1 -1
- package/dist/utils/export-filters/index.esm.js +0 -1
- package/dist/utils/export-filters/index.esm.js.map +1 -1
- package/dist/utils/export-filters/index.js +0 -1
- package/dist/utils/export-filters/index.js.map +1 -1
- package/dist/utils/index.esm.js +9 -9
- package/dist/utils/index.js +1 -1
- package/dist/utils/metaComponent/index.esm.js +1 -1
- package/dist/utils/metaComponent/index.js +1 -1
- package/dist/utils/server/index.esm.js +2 -2
- package/dist/utils/text-measurement/index.esm.js +1 -1
- package/dist/views/afterAuth/dashboard/index.esm.js +1 -1
- package/dist/views/afterAuth/dashboard/index.js +1 -1
- package/dist/views/afterAuth/index.esm.js +2 -2
- package/dist/views/afterAuth/index.js +2 -2
- package/dist/views/afterAuth/page-view/index.esm.js +1 -1
- package/dist/views/afterAuth/page-view/index.js +1 -1
- package/dist/views/form-builder/custom-form/index.esm.js +1 -1
- package/dist/views/form-builder/custom-form/index.js +1 -1
- package/dist/views/form-builder/element-edit-forms/index.esm.js +1 -1
- package/dist/views/form-builder/form-fields/index.esm.js +1 -1
- package/dist/views/form-builder/form-fields/index.js +1 -1
- package/dist/views/form-builder/index.esm.js +5 -5
- package/dist/views/form-builder/index.js +3 -3
- package/dist/views/form-builder/redux/index.esm.js +1 -1
- package/dist/views/form-builder/utils/index.esm.js +1 -1
- package/dist/views/form-builder/utils/index.js +1 -1
- package/dist/views/index.esm.js +39 -34
- package/dist/views/index.esm.js.map +1 -1
- package/dist/views/index.js +36 -31
- package/dist/views/index.js.map +1 -1
- package/dist/views/template-editor/add-template/index.esm.js +1 -1
- package/dist/views/template-editor/add-template/index.js +1 -1
- package/dist/views/template-editor/components/index.esm.js +7 -6
- package/dist/views/template-editor/components/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/index.js +4 -3
- package/dist/views/template-editor/components/index.js.map +1 -1
- package/dist/views/template-editor/edit-section-modal/index.esm.js +1 -1
- package/dist/views/template-editor/index.esm.js +25 -20
- package/dist/views/template-editor/index.esm.js.map +1 -1
- package/dist/views/template-editor/index.js +16 -11
- package/dist/views/template-editor/index.js.map +1 -1
- package/dist/views/template-editor/routes/index.esm.js +1 -1
- package/dist/views/template-editor/routes/index.js +1 -1
- package/dist/views/template-editor/template-modal/index.esm.js +1 -1
- package/dist/views/template-editor/template-modal/index.js +1 -1
- package/dist/views/template-editor/template-name-modal/index.esm.js +1 -1
- package/dist/views/template-editor/template-name-modal/index.js +1 -1
- package/dist/views/template-editor/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/dist/views/template-editor/utils/index.esm.js +10 -6
- package/dist/views/template-editor/utils/index.js +6 -2
- package/dist/views/template-editor/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/SectionFlowEditor-CFfJBYKx.esm.js +0 -5479
- package/dist/chunks/SectionFlowEditor-CFfJBYKx.esm.js.map +0 -1
- package/dist/chunks/SectionFlowEditor-sKsZ3oQo.js +0 -5478
- package/dist/chunks/SectionFlowEditor-sKsZ3oQo.js.map +0 -1
- package/dist/chunks/add-template-DVvbD9a4.esm.js +0 -11
- package/dist/chunks/add-template-DVvbD9a4.esm.js.map +0 -1
- package/dist/chunks/add-template-Dohg2bHJ.js +0 -10
- package/dist/chunks/add-template-Dohg2bHJ.js.map +0 -1
- package/dist/chunks/chat-bot-BpNtrZEL.esm.js.map +0 -1
- package/dist/chunks/chat-bot-osiGMG3g.js.map +0 -1
- package/dist/chunks/common-C5AokA7z.js +0 -368
- package/dist/chunks/common-C5AokA7z.js.map +0 -1
- package/dist/chunks/common-CaomnEjX.esm.js +0 -369
- package/dist/chunks/common-CaomnEjX.esm.js.map +0 -1
- package/dist/chunks/common-utility-DGpbsf7S.esm.js.map +0 -1
- package/dist/chunks/constant-Bwg2s_Sn.esm.js.map +0 -1
- package/dist/chunks/constant-ZYAN_teD.js.map +0 -1
- package/dist/chunks/edit-section-modal-BW-aZmUv.esm.js.map +0 -1
- package/dist/chunks/fullScreen-BLLa9ogA.js.map +0 -1
- package/dist/chunks/fullScreen-DFgzE41_.esm.js.map +0 -1
- package/dist/chunks/template-modal-B2VgotrF.esm.js.map +0 -1
- package/dist/chunks/template-modal-X-iSmlki.js.map +0 -1
- package/dist/chunks/template-name-modal-CeqxIE2r.js.map +0 -1
- package/dist/chunks/template-name-modal-Dctn8t3t.esm.js.map +0 -1
- package/dist/chunks/templates-CCy1eG6A.esm.js.map +0 -1
- package/dist/chunks/templates-CUREMwYo.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-form-DsTwCUcs.esm.js","sources":["../../src/views/form-builder/element-edit-forms/field-select.tsx","../../src/views/form-builder/element-edit-forms/text.tsx","../../src/views/form-builder/element-edit-forms/select.tsx","../../src/views/form-builder/element-edit-forms/section.tsx","../../src/views/form-builder/element-edit-forms/checkbox.tsx","../../src/views/form-builder/element-edit-forms/table-form.tsx"],"sourcesContent":["// React imports\nimport { useEffect, useState } from \"react\";\n\n// Material UI imports\nimport { MenuItem, SelectProps, Stack } from \"@mui/material\";\n\n// ERP Common imports\nimport {\n ArrowCircleDown,\n Calendar,\n CheckboxSquare,\n Clock,\n DollarCircle,\n Email,\n Grid,\n Hashtag,\n Image,\n InfoCircle,\n Link,\n LinkHorizontal,\n Location,\n PaperClip,\n Paragraph,\n Phone,\n RadioButton,\n ToggleSwitch,\n} from \"@/components/icons\";\nimport Select from \"@/components/select/select\";\nimport Typography from \"@/components/typography/typography\";\n\ninterface IField {\n label: string;\n value: string;\n icon: typeof Paragraph | string;\n}\n\nconst fields: IField[] = [\n { label: \"Text\", value: \"text\", icon: Paragraph },\n { label: \"Number\", value: \"number\", icon: Hashtag },\n { label: \"Select\", value: \"select\", icon: ArrowCircleDown },\n { label: \"Date\", value: \"date\", icon: Calendar },\n { label: \"Files & Media\", value: \"file\", icon: PaperClip },\n { label: \"URL\", value: \"url\", icon: Link },\n { label: \"Email\", value: \"email\", icon: Email },\n { label: \"Phone\", value: \"phone\", icon: Phone },\n { label: \"Currency\", value: \"currency\", icon: DollarCircle },\n { label: \"Time\", value: \"time\", icon: Clock },\n { label: \"Table\", value: \"table\", icon: Grid },\n { label: \"Geolocation\", value: \"geoLocation\", icon: Location },\n { label: \"Check Box\", value: \"checkbox\", icon: CheckboxSquare },\n { label: \"Image Upload\", value: \"image\", icon: Image },\n { label: \"Relation Field\", value: \"relation\", icon: LinkHorizontal },\n { label: \"Info Card\", value: \"info\", icon: InfoCircle },\n { label: \"Toggle Button\", value: \"toggleButton\", icon: ToggleSwitch },\n { label: \"Radio Button\", value: \"radioButton\", icon: RadioButton },\n { label: \"tagsInput\", value: \"tagsInput\", icon: Paragraph },\n];\n\nconst FieldSelect: React.FC<SelectProps> = (props) => {\n const [selectFields, setSelectFields] = useState<IField[]>(fields);\n const [search, setSearch] = useState<string>(\"\");\n\n const handleSearch = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSearch(event.target.value);\n };\n\n const handleSearchFields = (searchVal: string) => {\n if (searchVal) {\n setSelectFields([\n ...fields.filter((field) => field.value.includes(searchVal)),\n ]);\n } else {\n setSelectFields(fields);\n }\n };\n\n useEffect(() => {\n handleSearchFields(search);\n }, [search]);\n\n return (\n <Select\n fullWidth\n placeholder=\"Select Field\"\n size=\"small\"\n labelName=\"Field Type\"\n renderValue={(value: string) =>\n fields.find((field) => field.value === value)?.label\n }\n handleSearch={() => handleSearch}\n searchPlaceholder=\"Search Attributes\"\n searchValue={search}\n {...props}\n >\n {selectFields.map((field) => (\n <MenuItem value={field.value} onKeyDown={(e) => e.stopPropagation()}>\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n {field.icon && <field.icon fontSize=\"small\" />}\n <Typography type=\"s3\" color=\"theme.secondary.1000\">\n {field.label}\n </Typography>\n </Stack>\n </MenuItem>\n ))}\n </Select>\n );\n};\n\nexport default FieldSelect;\n","// React imports\nimport { useCallback, useEffect, useState, useMemo, useRef } from \"react\";\n\n// Material UI imports\nimport {\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n MenuItem,\n Box,\n FormControlLabel,\n FormControl,\n Slider,\n} from \"@mui/material\";\nimport { Add, Close } from \"@mui/icons-material\";\n\n// ERP Common imports\nimport Button from \"@/components/button/button\";\nimport Modal from \"@/components/modal/modal\";\nimport Typography from \"@/components/typography/typography\";\nimport TextField from \"@/components/text-field/text-field\";\nimport Select from \"@/components/select/select\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport formatText from \"@/utils/format-text\";\n\n// Local imports\nimport FieldSelect from \"./field-select\";\nimport { IElementJson } from \"../custom-form\";\nimport { ApiFormFields } from \"../../Redux/state\";\nimport \"../custom-form.scss\";\n\ninterface Option {\n label: string;\n value: string;\n}\n\ninterface ITextEditFormProps {\n handleWidthChange: (value?: number) => void;\n handleColumnSelect: (value?: number) => void;\n handlePropertyValueUpdate: (\n event?: React.ChangeEvent<HTMLInputElement>,\n numberValue?: number,\n value?: any,\n fieldType?: string,\n ) => void;\n element: IElementJson | null;\n fields: ApiFormFields | null;\n}\n\n// Constants moved outside to prevent re-creation\nconst COLUMN_PER_ROW_OPTIONS = [1, 2, 3, 4, 5, 6] as const;\nconst SELECT_OPTIONS = [\n { text: \"12 Hour\", value: \"12hr\" },\n { text: \"24 Hour\", value: \"24hr\" },\n] as const;\nconst CURRENCY_OPTIONS = [\n { text: \"INR (India)\", value: \"inr\" },\n { text: \"USD (US)\", value: \"usd\" },\n] as const;\n\nconst FIELDS_WITHOUT_PLACEHOLDER = new Set([\n \"time\", \"file\", \"geoLocation\", \"image\", \"info\", \"relation\"\n]);\nconst FIELDS_WITH_MIN_MAX = new Set([\"text\", \"number\"]);\n\n// Memoized components to prevent unnecessary re-renders\nconst MemoizedMenuItem = ({ option, index, prefix }: { option: any; index: number; prefix: string }) => (\n <MenuItem key={`${prefix}-${index}`} value={option.value}>\n {option.text || option.label}\n </MenuItem>\n);\n\nconst MemoizedRelationMenuItem = ({ option, index, prefix }: { option: Option; index: number; prefix: string }) => (\n <MenuItem key={`${prefix}-${index}`} value={option.value}>\n <Typography type=\"s3\" color=\"theme.secondary.1000\">\n {option.label}\n </Typography>\n </MenuItem>\n);\n\nexport function TextEditForm(props: ITextEditFormProps) {\n const { \n handlePropertyValueUpdate, \n handleColumnSelect, \n handleWidthChange, \n fields, \n element \n } = props;\n\n // State management - optimized to prevent unnecessary re-renders\n const [elementJSON, setElementJSON] = useState<IElementJson | null>(element);\n const [openModal, setOpenModal] = useState(false);\n const [relationFields, setRelationFields] = useState<Option[]>([]);\n const [functionValue, setFunctionValue] = useState(\"\");\n \n // Use refs to track previous values and prevent unnecessary updates\n const prevElementRef = useRef<IElementJson | null>(element);\n const prevFieldsRef = useRef<ApiFormFields | null>(fields);\n\n // Memoized relation modules with deep comparison prevention\n const relationModulesOptions = useMemo(() => {\n if (!fields || fields === prevFieldsRef.current) {\n if (prevFieldsRef.current && fields) return prevFieldsRef.current;\n }\n \n prevFieldsRef.current = fields;\n \n if (!fields) return [];\n return Object.keys(fields).map((key) => ({\n label: formatText(key),\n value: key,\n }));\n }, [fields]);\n\n // Optimized relation fields setter with memoization\n const setRelationFieldsOptions = useCallback(\n (moduleValue?: string) => {\n if (!fields || !moduleValue) {\n setRelationFields(prev => prev.length > 0 ? [] : prev);\n return;\n }\n\n const fieldsArr = fields[moduleValue];\n if (fieldsArr?.length) {\n const options = fieldsArr.map((field) => ({\n label: field.field,\n value: field.field,\n }));\n \n // Only update if options actually changed\n setRelationFields(prev => {\n if (prev.length !== options.length) return options;\n const isDifferent = prev.some((item, idx) => \n item.value !== options[idx]?.value || item.label !== options[idx]?.label\n );\n return isDifferent ? options : prev;\n });\n } else {\n setRelationFields(prev => prev.length > 0 ? [] : prev);\n }\n },\n [fields]\n );\n\n // Memoized event handlers to prevent child re-renders\n const handleSave = useCallback((value: string) => {\n if (!elementJSON) return;\n \n // Only update if value actually changed\n if (elementJSON.default_value !== value) {\n const updatedElement = { ...elementJSON, default_value: value };\n setElementJSON(updatedElement);\n handlePropertyValueUpdate(null, null, value);\n }\n \n if (value) {\n setFunctionValue(\"\");\n setOpenModal(false);\n }\n }, [elementJSON, handlePropertyValueUpdate]);\n\n const handleFieldUpdate = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n if (!elementJSON) return;\n \n const fieldType = e.target.value;\n if (elementJSON.field_type !== fieldType) {\n const updatedElement = { ...elementJSON, field_type: fieldType };\n setElementJSON(updatedElement);\n handlePropertyValueUpdate(null, null, null, e.target.value);\n }\n }, [elementJSON, handlePropertyValueUpdate]);\n\n const handleSelectUpdate = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n if (!elementJSON) return;\n \n const option = e.target.value;\n if (elementJSON.option !== option) {\n const updatedElement = { ...elementJSON, option };\n setElementJSON(updatedElement);\n handlePropertyValueUpdate(null, null, option);\n }\n }, [elementJSON, handlePropertyValueUpdate]);\n\n const handleModuleSelect = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const moduleValue = e.target.value;\n if (elementJSON?.module !== moduleValue) {\n setRelationFieldsOptions(moduleValue);\n handlePropertyValueUpdate(e);\n }\n }, [elementJSON?.module, setRelationFieldsOptions, handlePropertyValueUpdate]);\n\n const handleWidthSliderChange = useCallback((_: Event, value: number | number[]) => {\n if (!elementJSON) return;\n \n const widthValue = Array.isArray(value) ? value[0] : value;\n if (elementJSON.custom_width !== widthValue) {\n const updatedElement = { ...elementJSON, custom_width: widthValue };\n setElementJSON(updatedElement);\n handleWidthChange(widthValue);\n }\n }, [elementJSON, handleWidthChange]);\n\n const handleFullWidthChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n if (!elementJSON) return;\n \n const isFullWidth = e.target.checked;\n if (elementJSON.is_fullwidth !== isFullWidth) {\n const updatedElement = { ...elementJSON, is_fullwidth: isFullWidth };\n setElementJSON(updatedElement);\n handlePropertyValueUpdate(e);\n }\n }, [elementJSON, handlePropertyValueUpdate]);\n\n const handleColumnSelectChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const columnValue = Number(e.target.value);\n handleColumnSelect(columnValue);\n }, [handleColumnSelect]);\n\n // Memoized helper functions\n const getDefaultValue = useCallback((elementJSON: IElementJson) => {\n if ([\"number\", \"currency\", \"geoLocation\"].includes(elementJSON.field_type)) {\n return elementJSON.default_value?.toString().replace(/[^0-9]/g, \"\") || \"\";\n }\n return elementJSON.default_value || \"\";\n }, []);\n\n const getMinMaxLabels = useCallback((fieldType: string) => {\n return fieldType === \"text\" \n ? { min: \"Min character count (with spaces)\", max: \"Max character count (with spaces)\" }\n : { min: \"Min number\", max: \"Max number\" };\n }, []);\n\n // Modal handlers\n const handleOpenModal = useCallback(() => setOpenModal(true), []);\n const handleCloseModal = useCallback(() => {\n setOpenModal(false);\n setFunctionValue(\"\");\n }, []);\n\n const handleFunctionValueChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n setFunctionValue(e.target.value);\n }, []);\n\n // Optimized effects with proper dependency arrays\n useEffect(() => {\n // Only update if element actually changed\n if (element !== prevElementRef.current) {\n setElementJSON(element);\n prevElementRef.current = element;\n \n if (element?.module) {\n setRelationFieldsOptions(element.module);\n }\n }\n }, [element, setRelationFieldsOptions]);\n\n // Memoized render sections to prevent unnecessary re-computation\n const currencySelectSection = useMemo(() => {\n if (elementJSON?.field_type !== \"currency\") return null;\n \n return (\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder=\"Select Currency\"\n size=\"small\"\n onChange={handleSelectUpdate}\n defaultValue={elementJSON.option}\n label=\"Currency\"\n name=\"option\"\n variant=\"outlined\"\n >\n {CURRENCY_OPTIONS.map((option, index) => (\n <MemoizedMenuItem \n key={`currency-${index}`}\n option={option} \n index={index} \n prefix=\"currency\" \n />\n ))}\n </Select>\n </FormControl>\n </Box>\n );\n }, [elementJSON?.field_type, elementJSON?.option, handleSelectUpdate]);\n\n const timeSelectSection = useMemo(() => {\n if (elementJSON?.field_type !== \"time\") return null;\n \n return (\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder=\"Select Time Format\"\n size=\"small\"\n onChange={handleSelectUpdate}\n defaultValue={elementJSON.option}\n label=\"Time Format\"\n name=\"option\"\n variant=\"outlined\"\n >\n {SELECT_OPTIONS.map((option, index) => (\n <MemoizedMenuItem \n key={`time-${index}`}\n option={option} \n index={index} \n prefix=\"time\" \n />\n ))}\n </Select>\n </FormControl>\n </Box>\n );\n }, [elementJSON?.field_type, elementJSON?.option, handleSelectUpdate]);\n\n const relationSelectSection = useMemo(() => {\n if (elementJSON?.field_type !== \"relation\") return null;\n \n return (\n <>\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder={\n relationModulesOptions.length\n ? \"Select Relation Module\"\n : \"No data available\"\n }\n size=\"small\"\n onChange={handleModuleSelect}\n value={elementJSON.module || \"\"}\n label=\"Relation Module\"\n name=\"module\"\n >\n {relationModulesOptions.length ? (\n relationModulesOptions.map((option, index) => (\n <MemoizedRelationMenuItem \n key={`module-${index}`}\n option={option} \n index={index} \n prefix=\"module\" \n />\n ))\n ) : (\n <MenuItem disabled>\n <Typography type=\"s3\" color=\"theme.secondary.1000\">\n <em>No data available</em>\n </Typography>\n </MenuItem>\n )}\n </Select>\n </FormControl>\n </Box>\n\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder={\n !elementJSON.module\n ? \"Select Module First\"\n : relationFields.length\n ? \"Select Relation Field\"\n : \"No data available\"\n }\n size=\"small\"\n onChange={handlePropertyValueUpdate}\n value={elementJSON.field || \"\"}\n label=\"Relation Field\"\n disabled={!elementJSON.module}\n name=\"field\"\n >\n {relationFields.length ? (\n relationFields.map((option, index) => (\n <MemoizedRelationMenuItem \n key={`field-${index}`}\n option={option} \n index={index} \n prefix=\"field\" \n />\n ))\n ) : (\n <MenuItem disabled>\n <Typography type=\"s3\" color=\"theme.secondary.1000\">\n <em>No data available</em>\n </Typography>\n </MenuItem>\n )}\n </Select>\n </FormControl>\n </Box>\n </>\n );\n }, [\n elementJSON?.field_type, \n elementJSON?.module, \n elementJSON?.field,\n relationModulesOptions, \n relationFields, \n handleModuleSelect, \n handlePropertyValueUpdate\n ]);\n\n // Early return if no element\n if (!elementJSON) {\n return null;\n }\n\n const { field_type } = elementJSON;\n const minMaxLabels = getMinMaxLabels(field_type);\n\n return (\n <Box className=\"formSection--FieldContainer\">\n {/* Field Type Selection */}\n <Box>\n <FieldSelect\n variant=\"outlined\"\n onChange={handleFieldUpdate}\n defaultValue={field_type}\n label=\"Field Type\"\n disabled={elementJSON.type === \"system\" || !elementJSON.is_new}\n />\n </Box>\n\n {/* Label Field */}\n <Box>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n name=\"label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.label}\n />\n </Box>\n\n {/* File/Image Max Size */}\n {(field_type === \"file\" || field_type === \"image\") && (\n <Box>\n <TextField\n fullWidth\n label=\"Max File Size (in MB)\"\n name=\"max_size\"\n type=\"number\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.max_size}\n />\n </Box>\n )}\n\n {/* Currency Selection - Memoized */}\n {currencySelectSection}\n\n {/* Placeholder and Default Value */}\n {!FIELDS_WITHOUT_PLACEHOLDER.has(field_type) && (\n <>\n <Box>\n <TextField\n fullWidth\n label=\"Placeholder\"\n name=\"placeholder\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.placeholder}\n />\n </Box>\n <Box>\n <TextField\n fullWidth\n label=\"Default Value\"\n placeholder=\"Default Value\"\n name=\"default_value\"\n type={field_type === \"phone\" ? \"tel\" : field_type === \"number\" ? \"number\" : \"text\"}\n onChange={handlePropertyValueUpdate}\n defaultValue={getDefaultValue(elementJSON)}\n />\n </Box>\n </>\n )}\n\n {/* Time Format Selection - Memoized */}\n {timeSelectSection}\n\n {/* Relation Module and Field Selection - Memoized */}\n {relationSelectSection}\n\n {/* Min/Max Length for Text and Number Fields */}\n {FIELDS_WITH_MIN_MAX.has(field_type) && (\n <>\n <Box>\n <TextField\n fullWidth\n label={minMaxLabels.min}\n name=\"min_length\"\n type=\"number\"\n onChange={(e) => handlePropertyValueUpdate(e, Number(e.target.value))}\n defaultValue={elementJSON.min_length || elementJSON.min || 1}\n />\n </Box>\n <Box>\n <TextField\n fullWidth\n label={minMaxLabels.max}\n name=\"max_length\"\n type=\"number\"\n onChange={(e) => handlePropertyValueUpdate(e, Number(e.target.value))}\n defaultValue={\n elementJSON.max_length || \n elementJSON.max || \n (field_type === 'number' ? 10000 : 255)\n }\n />\n </Box>\n </>\n )}\n\n {/* Column Per Row Selection */}\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder=\"Select Column Per Row\"\n size=\"small\"\n onChange={handleColumnSelectChange}\n value={elementJSON.columns_per_row || 1}\n label=\"Select Column Per Row\"\n name=\"columns_per_row\"\n variant=\"outlined\"\n >\n {COLUMN_PER_ROW_OPTIONS.map((option, index) => (\n <MenuItem key={`column-${index}`} value={option}>\n {option}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n\n {/* Width Adjustment Slider */}\n <Box>\n <Typography sx={{ color: 'black', mb: 1 }}>\n Adjust Width:\n </Typography>\n <Slider\n value={elementJSON.custom_width || 12}\n name=\"custom_width\"\n min={1}\n max={12}\n step={1}\n onChange={handleWidthSliderChange}\n aria-labelledby=\"width-slider\"\n sx={{ color: \"#4AC08C\" }}\n disabled={elementJSON.is_fullwidth}\n marks\n valueLabelDisplay=\"auto\"\n />\n </Box>\n\n {/* Number Field Specific Options */}\n {field_type === \"number\" && (\n <>\n <Box>\n <TextField\n fullWidth\n label=\"Float Step\"\n name=\"float_step\"\n type=\"number\"\n step=\"0.01\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.float_step}\n />\n </Box>\n <Box>\n <FormControlLabel\n name=\"is_negative\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_negative || false}\n label=\"Allow Negative Numbers\"\n />\n </Box>\n </>\n )}\n\n {/* Date Field Specific Options */}\n {field_type === \"date\" && (\n <>\n <Box>\n <FormControlLabel\n name=\"is_future_dates_allowed\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_future_dates_allowed || false}\n label=\"Allow Future Dates\"\n />\n </Box>\n <Box>\n <FormControlLabel\n name=\"is_past_dates_allowed\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_past_dates_allowed || false}\n label=\"Allow Past Dates\"\n />\n </Box>\n </>\n )}\n\n {/* Required Field Checkbox */}\n {field_type !== \"info\" && (\n <Box>\n <FormControlLabel\n name=\"is_required\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_required || false}\n label=\"This field is required\"\n />\n </Box>\n )}\n\n {/* Email Unique Checkbox */}\n {field_type === \"email\" && (\n <Box>\n <FormControlLabel\n name=\"is_unique\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_unique || false}\n label=\"Is Unique\"\n />\n </Box>\n )}\n\n {/* Text Multiline Checkbox */}\n {field_type === \"text\" && (\n <Box>\n <FormControlLabel\n name=\"is_multiline\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_multiline || false}\n label=\"Is Multiline\"\n />\n </Box>\n )}\n\n {/* Full Width Checkbox */}\n <Box>\n <FormControlLabel\n name=\"is_fullwidth\"\n control={<Checkbox />}\n onChange={handleFullWidthChange}\n checked={elementJSON.is_fullwidth || false}\n label=\"Full Width\"\n />\n </Box>\n\n {/* Info Field Function Button */}\n {field_type === \"info\" && (\n <Box>\n <Button\n variant=\"outlined\"\n startIcon={<Add />}\n onClick={handleOpenModal}\n className=\"formSection--PreviewButton\"\n >\n Add Function\n </Button>\n </Box>\n )}\n\n {/* Function Modal */}\n <Modal fullWidth onClose={handleCloseModal} open={openModal}>\n <DialogTitle>\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Add Function\n </Typography>\n <IconButton\n edge=\"end\"\n onClick={handleCloseModal}\n size=\"small\"\n >\n <Close fontSize=\"inherit\" />\n </IconButton>\n </DialogTitle>\n <DialogContent dividers>\n <Typography weight=\"medium\" type=\"s3\" color=\"theme.secondary.700\" sx={{ mb: 2 }}>\n Label: <span style={{ color: \"#1F2125\" }}>{elementJSON.label}</span>\n </Typography>\n <TextField\n name=\"default_value\"\n fullWidth\n placeholder=\"Add a function\"\n multiline\n minRows={4}\n defaultValue={elementJSON.default_value}\n onChange={handleFunctionValueChange}\n value={functionValue}\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"outlined\"\n onClick={handleCloseModal}\n style={{ color: \"black\" }}\n >\n Cancel\n </Button>\n <Button onClick={() => handleSave(functionValue)}>\n Save\n </Button>\n </DialogActions>\n </Modal>\n </Box>\n );\n}\n\nexport default TextEditForm;","// React imports\nimport React, { useEffect, useState, useCallback, useMemo } from \"react\";\n\n// Material UI imports\nimport { \n MenuItem, \n Box, \n FormControlLabel, \n Slider, \n FormControl, \n IconButton\n} from \"@mui/material\";\nimport { Add } from \"@mui/icons-material\";\n\n// Third-party imports\nimport { enqueueSnackbar } from \"notistack\";\n\n// ERP Common imports\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport Select from \"@/components/select/select\";\nimport TextField from \"@/components/text-field/text-field\";\nimport Typography from \"@/components/typography/typography\";\nimport Button from \"@/components/button/button\";\nimport { Trash } from \"@/components/icons\";\n\n// Local imports\nimport FieldSelect from \"./field-select\";\nimport \"../custom-form.scss\";\n\ninterface Option {\n label: string;\n value: string;\n [key: string]: string;\n}\n\ninterface ElementJSON {\n id: string;\n field_type: string;\n label: string;\n placeholder: string;\n default_value: string | null;\n is_multiselect: boolean;\n is_required: boolean;\n is_unique: boolean;\n is_fullwidth: boolean;\n custom_width: number;\n type?: string;\n is_new?: boolean;\n options: Option[];\n}\n\ninterface SelectEditFormProps {\n element: ElementJSON;\n handlePropertyValueUpdate: (\n event: React.ChangeEvent<HTMLInputElement> | null,\n name?: string | null,\n value?: any,\n fieldType?: string\n ) => void;\n handleSelectOptionValueUpdate: (options: Option[]) => void;\n handleColumnSelect: (event: React.ChangeEvent<{ value: unknown }>) => void;\n handleWidthChange: (value: number | number[]) => void;\n}\n\nconst COLUMN_PER_ROW_OPTIONS = [1, 2, 3, 4, 5, 6] as const;\n\nexport const SelectEditForm: React.FC<SelectEditFormProps> = React.memo(({\n element,\n handlePropertyValueUpdate,\n handleSelectOptionValueUpdate,\n handleColumnSelect,\n handleWidthChange\n}) => {\n // Local state management\n const [selectOptions, setSelectOptions] = useState<Option[]>(element.options || []);\n const [newOption, setNewOption] = useState<Option>({ label: \"\", value: \"\" });\n const [isAddingOption, setIsAddingOption] = useState(false);\n\n // Sync options with parent element when element changes\n useEffect(() => {\n if (JSON.stringify(selectOptions) !== JSON.stringify(element.options || [])) {\n setSelectOptions(element.options || []);\n }\n }, [element.options, selectOptions]);\n\n // Memoized computed values\n const isFieldDisabled = useMemo(() => \n element.type === \"system\" || !element.is_new, \n [element.type, element.is_new]\n );\n\n const selectedOptionLabel = useMemo(() => {\n const selectedOption = selectOptions.find(option => option.value === element.default_value);\n return selectedOption?.label || \"Select Default\";\n }, [selectOptions, element.default_value]);\n\n // Optimized event handlers with useCallback\n const handleFieldUpdate = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n handlePropertyValueUpdate(null, null, null, e.target.value);\n }, [handlePropertyValueUpdate]);\n\n const handleSelectUpdate = useCallback((e: React.ChangeEvent<{ value: unknown }>) => {\n handlePropertyValueUpdate(null, null, e.target.value);\n }, [handlePropertyValueUpdate]);\n\n const handleMultiSelect = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.target.checked;\n // Reset default value when enabling multiselect\n const defaultValue = isChecked ? null : element.default_value;\n \n // Create a synthetic event for the property update\n const syntheticEvent = {\n target: {\n name: 'is_multiselect',\n checked: isChecked,\n value: isChecked\n }\n } as React.ChangeEvent<HTMLInputElement>;\n \n handlePropertyValueUpdate(syntheticEvent);\n \n // If enabling multiselect, also clear the default value\n if (isChecked && element.default_value) {\n handlePropertyValueUpdate(null, 'default_value', null);\n }\n }, [handlePropertyValueUpdate, element.default_value]);\n\n const handleNewOptionChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n setNewOption(prev => ({ ...prev, [name]: value }));\n }, []);\n\n const handleAddOption = useCallback(() => {\n if (!newOption.label.trim() || !newOption.value.trim()) {\n return; // Don't add empty options\n }\n\n // Check for duplicate values\n const isDuplicate = selectOptions.some(option => \n option.value === newOption.value || option.label === newOption.label\n );\n \n if (isDuplicate) {\n // Could show an error message here\n enqueueSnackbar(\"Option with this value or label already exists.\", { variant: \"error\" });\n return;\n }\n\n const updatedOptions = [...selectOptions, { ...newOption }];\n setSelectOptions(updatedOptions);\n handleSelectOptionValueUpdate(updatedOptions);\n \n // Reset form\n setNewOption({ label: \"\", value: \"\" });\n setIsAddingOption(false);\n }, [newOption, selectOptions, handleSelectOptionValueUpdate]);\n\n const handleRemoveOption = useCallback((indexToRemove: number) => {\n const updatedOptions = selectOptions.filter((_, index) => index !== indexToRemove);\n setSelectOptions(updatedOptions);\n handleSelectOptionValueUpdate(updatedOptions);\n \n // Clear default value if the removed option was selected\n const removedOption = selectOptions[indexToRemove];\n if (element.default_value === removedOption?.value) {\n handlePropertyValueUpdate(null, 'default_value', null);\n }\n }, [selectOptions, handleSelectOptionValueUpdate, element.default_value, handlePropertyValueUpdate]);\n\n const handleWidthChangeCallback = useCallback((\n _: Event, \n newValue: number | number[]\n ) => {\n handleWidthChange(newValue);\n }, [handleWidthChange]);\n\n return (\n <Box className=\"formSection--FieldContainer\">\n {/* Field Type Selection */}\n <Box>\n <FieldSelect\n variant=\"outlined\"\n onChange={handleFieldUpdate}\n defaultValue={element.field_type}\n label=\"Field Type\"\n disabled={isFieldDisabled}\n />\n </Box>\n\n {/* Label Field */}\n <Box>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n name=\"label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={element.label}\n />\n </Box>\n\n {/* Placeholder Field */}\n <Box>\n <TextField\n fullWidth\n label=\"Placeholder\"\n is_required\n name=\"placeholder\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={element.placeholder}\n />\n </Box>\n\n {/* Default Value Selection */}\n <Box>\n <Select\n fullWidth\n placeholder=\"Select Default\"\n size=\"small\"\n name=\"default_value\"\n onChange={handleSelectUpdate}\n value={element.default_value || \"\"}\n label=\"Default\"\n variant=\"outlined\"\n disabled={element.is_multiselect}\n renderValue={() => selectedOptionLabel}\n >\n {selectOptions.map((option, index) => (\n <MenuItem key={`${option.value}-${index}`} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n </Box>\n\n {/* Column Per Row Selection */}\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder=\"Select Column Per Row\"\n size=\"small\"\n onChange={handleColumnSelect}\n label=\"Select Column Per Row\"\n name=\"columnPerRow\"\n variant=\"outlined\"\n >\n {COLUMN_PER_ROW_OPTIONS.map((option) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n\n {/* Width Slider */}\n <Box>\n <Typography sx={{ color: 'black', mb: 1 }}>\n Adjust Width:\n </Typography>\n <Box pr={2}>\n <Slider\n value={element.custom_width || 6}\n min={1}\n max={12}\n step={1}\n onChange={handleWidthChangeCallback}\n aria-labelledby=\"width-slider\"\n sx={{ color: \"#4AC08C\" }}\n marks\n valueLabelDisplay=\"auto\"\n />\n </Box>\n </Box>\n\n {/* Options Management */}\n <Box className=\"formSection--SelectOption\">\n <Typography \n type=\"s5\" \n weight=\"medium\" \n color=\"theme.secondary.800\"\n sx={{ mb: 0.5 }}\n >\n Options\n </Typography>\n \n {/* Existing Options */}\n {selectOptions.map((option, index) => (\n <Box key={`option-${index}`} sx={{ mb: 1, display: 'flex', gap: 1 }}>\n <TextField\n fullWidth\n value={`${option.label} (${option.value})`}\n InputProps={{ readOnly: true }}\n />\n <IconButton\n color=\"error\"\n size=\"small\"\n onClick={() => handleRemoveOption(index)}\n >\n <Trash />\n </IconButton>\n </Box>\n ))}\n\n {/* Add New Option Form */}\n {isAddingOption && (\n <Box className=\"formSection--SelectOption\" sx={{ mt:0.5, p: 2, border: '1px solid #ddd', borderRadius: 1 }}>\n <Box sx={{ mb: 2 }}>\n <TextField\n fullWidth\n label=\"Option Label\"\n is_required\n name=\"label\"\n type=\"text\"\n placeholder=\"Enter option label\"\n value={newOption.label}\n onChange={handleNewOptionChange}\n />\n </Box>\n <Box sx={{ mb: 2 }}>\n <TextField\n fullWidth\n label=\"Option Value\"\n placeholder=\"Enter option value\"\n is_required\n name=\"value\"\n type=\"text\"\n value={newOption.value}\n onChange={handleNewOptionChange}\n />\n </Box>\n <Box sx={{ display: 'flex', gap: 1 }}>\n <Button\n onClick={handleAddOption}\n // className=\"formSection--Button\"\n startIcon={<Add />}\n disabled={!newOption.label.trim() || !newOption.value.trim()}\n >\n Add Option\n </Button>\n <Button\n onClick={() => {\n setIsAddingOption(false);\n setNewOption({ label: \"\", value: \"\" });\n }}\n variant=\"outlined\"\n >\n Cancel\n </Button>\n </Box>\n </Box>\n )}\n\n {/* Add Option Button */}\n {!isAddingOption && (\n <Button\n onClick={() => setIsAddingOption(true)}\n variant=\"outlined\"\n className=\"formSection--Button\"\n startIcon={<Add />}\n sx={{ mt: 1 }}\n >\n Add Option\n </Button>\n )}\n </Box>\n\n {/* Form Controls */}\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }}>\n <FormControlLabel\n name=\"is_multiselect\"\n control={<Checkbox />}\n onChange={handleMultiSelect}\n checked={element.is_multiselect}\n label=\"Enable Multi Select\"\n />\n\n <FormControlLabel\n name=\"is_required\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={element.is_required}\n label=\"This field is required\"\n />\n\n <FormControlLabel\n name=\"is_unique\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={element.is_unique}\n label=\"Is Unique\"\n />\n\n <FormControlLabel\n name=\"is_fullwidth\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={element.is_fullwidth}\n label=\"Full Width\"\n />\n </Box>\n </Box>\n );\n});\n\nSelectEditForm.displayName = 'SelectEditForm';\n\nexport default SelectEditForm;","// React imports\nimport { useEffect, useMemo, useState } from \"react\";\n\n// Material UI imports\nimport { MenuItem, Box, FormControlLabel } from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Add } from \"@mui/icons-material\";\n\n// ERP Common imports\nimport Select from \"@/components/select/select\";\nimport Button from \"@/components/button/button\";\nimport Typography from \"@/components/typography/typography\";\nimport TextField from \"@/components/text-field/text-field\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport { generateRandomId } from \"@/utils/common\";\nimport { SECTION_TYPES } from \"@/utils/constant\";\n\n// Local imports\nimport { ISwitcherForms } from \"../field_properties\";\nimport \"../custom-form.scss\";\n\nconst SectionEditForm = (props: any) => {\n const { handlePropertyValueUpdate } = props;\n const [elementJSON, setElementJSON] = useState(props.element);\n const [addForm, setAddForm] = useState<boolean>(false);\n const [newForm, setNewForm] = useState<string>(\"\");\n const selectOption = [\"section\"];\n\n const isDuplicateFormName = useMemo(\n () =>\n elementJSON.switcher_forms?.map((ele: any) => ele.name).includes(newForm),\n [elementJSON.switcher_forms, newForm]\n );\n\n useEffect(() => {\n setElementJSON(props.element);\n }, [props.element]);\n\n return (\n <Box className=\"formSection--FieldContainer\" key={elementJSON.id}>\n <div>\n <Select\n key={elementJSON.id}\n fullWidth\n placeholder=\"Select Field\"\n size=\"small\"\n disabled\n defaultValue={elementJSON.field_type}\n label=\"Field Type\"\n variant=\"outlined\"\n >\n {selectOption?.map((item) => (\n <MenuItem value={item}>{item}</MenuItem>\n ))}\n </Select>\n </div>\n <div>\n <Select\n key={elementJSON.id}\n fullWidth\n placeholder=\"Select Field\"\n size=\"small\"\n name=\"section_type\"\n defaultValue={elementJSON.section_type}\n label=\"Section Type\"\n variant=\"outlined\"\n onChange={(e: any) => handlePropertyValueUpdate(e)}\n >\n {Object.values(SECTION_TYPES).map((type) => {\n return (\n <MenuItem key={type} value={type}>\n {type}\n </MenuItem>\n );\n })}\n </Select>\n </div>\n <div>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n key={elementJSON.id}\n name=\"label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.label}\n />\n </div>\n <FormControlLabel\n key={elementJSON.id}\n name=\"is_accordion\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_accordion}\n label=\"Is Accordion\"\n />\n {elementJSON.section_type === SECTION_TYPES.FORM_SWITCH_SECTION ? (\n <div className=\"formSection--SubFieldContainer\">\n <div>\n <TextField\n fullWidth\n label=\"Form label\"\n is_required\n key={elementJSON.id}\n name=\"form_switcher_label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.form_switcher_label}\n />\n </div>\n <div>\n <Typography\n type=\"s5\"\n weight={\"medium\"}\n color={\"theme.secondary.800\"}\n >\n Forms\n </Typography>\n {elementJSON?.switcher_forms?.map(\n (ele: ISwitcherForms) => (\n <div className=\"formSection--MultiOptions\" key={elementJSON.id}>\n <TextField\n fullWidth\n key={ele.id}\n value={ele.name}\n style={{ marginBottom: \"10px\" }}\n name=\"switcher_forms\"\n onChange={(e: any) => {\n const newVal = elementJSON.switcher_forms?.map(\n (formEle: ISwitcherForms) =>\n ele.id === formEle.id\n ? { ...formEle, name: e.target.value }\n : { ...formEle }\n );\n\n handlePropertyValueUpdate(e, newVal);\n }}\n />\n <CloseIcon\n style={{ fontSize: \"1rem\", color: \"#656669\" }}\n onClick={(e: any) => {\n const newVal = [...elementJSON.switcher_forms].filter(\n (item) => item.id !== ele.id\n );\n e.target.name = \"switcher_forms\";\n handlePropertyValueUpdate(e, newVal);\n }}\n />\n </div>\n )\n )}\n </div>\n {addForm ? (\n <div>\n <div\n className=\"formSection--MultiOptions formSection--FullWidth\"\n key={elementJSON.id}\n >\n <div className=\"formSection--FullWidth\">\n <TextField\n fullWidth\n label=\"Form section name\"\n placeholder=\"Form section name\"\n is_required\n key={elementJSON.id}\n type=\"text\"\n value={newForm}\n error={isDuplicateFormName}\n helperText={\n isDuplicateFormName\n ? \"Form section name can not duplicate\"\n : \"\"\n }\n onChange={(e: any) => setNewForm(e.target.value)}\n />\n </div>\n <CloseIcon\n style={{ fontSize: \"1rem\", color: \"#656669\" }}\n onClick={() => {\n setAddForm(false);\n setNewForm(\"\");\n }}\n />\n </div>\n <Button\n onClick={(e: any) => {\n const { uniqueStringId: id } = generateRandomId();\n const newVal = [\n ...elementJSON.switcher_forms,\n { name: newForm, id },\n ];\n handlePropertyValueUpdate(e, newVal);\n setNewForm(\"\");\n setAddForm(false);\n }}\n name=\"switcher_forms\"\n variant=\"text\"\n className=\"formSection--Button\"\n disabled={isDuplicateFormName || !newForm}\n startIcon={<Add />}\n >\n Add\n </Button>\n </div>\n ) : null}\n {!addForm ? (\n <Button\n onClick={() => setAddForm(true)}\n variant=\"text\"\n className=\"formSection--Button\"\n startIcon={<Add />}\n >\n Add forms\n </Button>\n ) : null}\n </div>\n ) : null}\n </Box>\n );\n};\n\nexport { SectionEditForm };\nexport default SectionEditForm;\n","// React imports\nimport { useEffect, useState } from \"react\";\n\n// Material UI imports\nimport {\n MenuItem,\n Box,\n FormControlLabel,\n FormControl,\n RadioGroup,\n Button,\n Select,\n InputLabel,\n Slider,\n} from \"@mui/material\";\nimport { Add } from \"@mui/icons-material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\n// ERP Common imports\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport Radio from \"@/components/radio/radio\";\nimport TextField from \"@/components/text-field/text-field\";\nimport Typography from \"@/components/typography/typography\";\n\n// Local imports\nimport FieldSelect from \"./field-select\";\nimport \"../custom-form.scss\";\n\ninterface Option {\n label: string;\n value: string;\n is_checked: boolean;\n [key: string]: string | boolean; // Index signature to allow any string property\n}\n\nexport function CheckboxEditForm(props: any) {\n const [isAddSelectOption, setAddSelectOption] = useState(false);\n const { handlePropertyValueUpdate, handleSelectOptionValueUpdate , handleColumnSelect , handleWidthChange } = props;\n const columnPerRowOptions = [1, 2, 3, 4, 5, 6];\n const [selectOptions, setSelectOptions] = useState(\n props.element.options || [],\n );\n const [elementJSON, setElementJSON] = useState(props.element);\n\n const allowLabelPositionModification =\n elementJSON.field_type !== \"radioButton\";\n\n const [newOptions, setNewOptions] = useState<Option>({\n label: \"\",\n value: \"\",\n is_checked: false,\n });\n\n\n\n const handleAddNewOption = (e: any) => {\n const label: string = e.target.name;\n const value: string = e.target.value;\n const option: Option = { ...newOptions };\n option[label] = value;\n setNewOptions(option);\n };\n\n const handleFieldUpdate = (e: any) => {\n elementJSON.field_type = e.target.value;\n handlePropertyValueUpdate(null, null, null, e.target.value);\n };\n\n const handleSelectUpdate = (e: any) => {\n elementJSON.default_value = e.target.value;\n handlePropertyValueUpdate(null, null, e.target.value);\n };\n\n useEffect(() => {\n setElementJSON(props.element);\n setSelectOptions(props.element.options || []);\n }, [props.element]);\n\n useEffect(() => {\n setNewOptions({ label: \"\", value: \"\", is_checked: false });\n setAddSelectOption(false);\n handleSelectOptionValueUpdate(selectOptions);\n // eslint-disable-next-line\n }, [selectOptions]);\n\n return (\n <Box className=\"formSection--FieldContainer\" key={elementJSON.id}>\n <div key={elementJSON.id}>\n <FieldSelect\n key={elementJSON.id}\n variant=\"outlined\"\n onChange={handleFieldUpdate}\n defaultValue={elementJSON.field_type}\n label=\"Field Type\"\n disabled={elementJSON.type === \"system\" || !elementJSON.is_new}\n />\n </div>\n <div key={elementJSON.id}>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n key={elementJSON.id}\n name=\"label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.label}\n />\n </div>\n\n <div key={elementJSON.id}>\n <Select\n variant=\"outlined\"\n key={elementJSON.id}\n fullWidth\n placeholder=\"Select Default\"\n size=\"small\"\n name=\"options\"\n onChange={() => handleSelectUpdate}\n defaultValue={elementJSON.default_value}\n label=\"Default\"\n disabled={!selectOptions.length}\n >\n {selectOptions?.map((option: any, index: number) => (\n <MenuItem key={index} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n </div>\n <FormControl>\n <Select\n key={elementJSON.id}\n fullWidth\n placeholder=\"Select Column Per Row\"\n size=\"small\"\n onChange={handleColumnSelect} // need to change\n // defaultValue= {} // need to change\n label=\"Select Column Per Row\"\n name=\"option\"\n variant=\"outlined\"\n >\n {columnPerRowOptions?.map((option: any, index: number) => (\n <MenuItem key={index} value={option}>\n {option}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n <Box>\n <Typography sx={{ color: 'black' }}>Adjust Width:</Typography>\n <Slider\n value = {elementJSON?.custom_width}\n name = \"custom_width\"\n min={1}\n max={12}\n step={1}\n onChange={(_, newValue) => handleWidthChange(newValue)}\n aria-labelledby=\"width-slider\"\n sx = {{color : \"#4AC08C\"}}\n />\n </Box>\n \n\n <div className=\"formSection--SelectOption\">\n <Typography type=\"s5\" weight={\"medium\"} color={\"theme.secondary.800\"}>\n Options\n </Typography>\n {selectOptions.map((option: any, index: number) => (\n <div className=\"formSection--MultiOptions\">\n <TextField\n fullWidth\n key={index}\n value={`${option.label} (${option.value})`}\n InputProps={{\n readOnly: true,\n }}\n />\n <CloseIcon\n style={{ fontSize: \"1rem\", color: \"#656669\" }}\n onClick={() => {\n setSelectOptions([\n ...selectOptions.filter(\n (_: any, filterIndex: number) => filterIndex !== index,\n ),\n ]);\n }}\n />\n </div>\n ))}\n </div>\n {isAddSelectOption ? (\n <div className=\"formSection--SelectOption\">\n <div>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n name=\"label\"\n type=\"text\"\n placeholder=\"Label\"\n defaultValue={newOptions.label}\n onChange={handleAddNewOption}\n />\n </div>\n <div>\n <TextField\n fullWidth\n label=\"Value\"\n placeholder=\"Value\"\n is_required\n name=\"value\"\n type=\"text\"\n defaultValue={newOptions.value}\n onChange={handleAddNewOption}\n />\n </div>\n <Button\n onClick={() =>\n setSelectOptions([...selectOptions, { ...newOptions }])\n }\n disabled={\n !!selectOptions.find(\n (ele: Option) => ele.value === newOptions.value,\n )\n }\n variant=\"text\"\n className=\"formSection--Button\"\n startIcon={<Add />}\n >\n Add\n </Button>\n </div>\n ) : (\n <Button\n onClick={() => setAddSelectOption(true)}\n variant=\"text\"\n className=\"formSection--Button\"\n startIcon={<Add />}\n >\n Add Option\n </Button>\n )}\n\n <FormControl>\n <Typography type=\"s4\" color=\"theme.secondary.800\">\n Display style\n </Typography>\n <RadioGroup\n key={elementJSON.id}\n row\n aria-labelledby=\"demo-radio-buttons-group-label\"\n name=\"display\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.display}\n >\n <FormControlLabel\n value=\"row\"\n control={<Radio size=\"small\" />}\n label=\"Row\"\n slotProps={{ typography: { variant: \"body2\" } }}\n />\n <FormControlLabel\n value=\"column\"\n control={<Radio size=\"small\" />}\n label=\"Column\"\n slotProps={{ typography: { variant: \"body2\" } }}\n />\n </RadioGroup>\n </FormControl>\n\n <div key={elementJSON.id}>\n <TextField\n key={elementJSON.id}\n fullWidth\n label=\"Title\"\n is_required\n name=\"title\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.title}\n />\n </div>\n\n <FormControl disabled={!allowLabelPositionModification}>\n <Typography type=\"s4\" color=\"theme.secondary.800\">\n Title Position\n </Typography>\n <RadioGroup\n key={elementJSON.id}\n row\n aria-labelledby=\"demo-radio-buttons-group-label\"\n name=\"title_position\"\n onChange={handlePropertyValueUpdate}\n defaultValue={allowLabelPositionModification ? \"end\" : \"\"}\n >\n <FormControlLabel\n value=\"start\"\n control={<Radio size=\"small\" />}\n label=\"Start\"\n slotProps={{ typography: { variant: \"body2\" } }}\n />\n <FormControlLabel\n value=\"end\"\n control={<Radio size=\"small\" />}\n label=\"End\"\n slotProps={{ typography: { variant: \"body2\" } }}\n />\n </RadioGroup>\n </FormControl>\n\n <FormControlLabel\n key={elementJSON.id}\n name=\"is_required\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_required}\n label=\"This field is required\"\n />\n <FormControlLabel\n key={elementJSON.id}\n name=\"is_unique\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_unique}\n label=\"Is Unique\"\n />\n\n <FormControlLabel\n key={elementJSON.id}\n name=\"is_fullwidth\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate} // need to change this\n checked={elementJSON?.is_fullwidth}// need to change \n label=\"Full Width \"\n />\n </Box>\n );\n}\n\nexport default CheckboxEditForm;\n","// React imports\nimport React, { useEffect, useState } from 'react';\n\n// Material UI imports\nimport { MenuItem, Box, SelectChangeEvent } from '@mui/material';\n\n// Third-party imports\nimport { MRT_ColumnDef, MRT_RowData } from 'material-react-table';\n\n// ERP Common imports\nimport Select from '@/components/select/select';\nimport TextField from '@/components/text-field/text-field';\nimport formatText from '@/utils/format-text';\n\n// Local imports\nimport { IElementJson } from '../custom-form';\nimport { ApiFormFields } from '../../Redux/state';\nimport FieldSelect from './field-select';\nimport '../custom-form.scss';\n\ninterface ITableEditForm {\n\thandlePropertyValueUpdate: (\n\t\tevent?: any,\n\t\tnumberValue?: any,\n\t\tval?: any,\n\t\tfieldType?: any\n\t) => void;\n\thandleColumnsUpdate: (columns: MRT_ColumnDef<MRT_RowData>[]) => void;\n\telement: IElementJson | null;\n\tfields: ApiFormFields | null;\n}\n\ninterface TableOption {\n\tlabel: string;\n\tvalue: string;\n}\n\nconst TableEditForm: React.FC<ITableEditForm> = ({\n\thandlePropertyValueUpdate,\n\telement,\n\thandleColumnsUpdate,\n\tfields\n}) => {\n\t/* Local States */\n\tconst [elementJSON, setElementJSON] = useState<IElementJson | null>(element);\n\tconst [tables, setTables] = useState<TableOption[]>([]);\n\n\t/* Local Functions */\n\tconst handleFieldUpdate = (event: SelectChangeEvent<unknown>) => {\n\t\tif (elementJSON) {\n\t\t\telementJSON.field_type = event.target.value as string;\n\t\t\thandlePropertyValueUpdate(null, null, null, event.target.value as string);\n\t\t}\n\t};\n\tconst handleTableSelect = (event: SelectChangeEvent<unknown>) => {\n\t\thandlePropertyValueUpdate(event);\n\t};\n\n\t/* Use Effects */\n\tuseEffect(() => {\n\t\tsetElementJSON(element);\n\t}, [element]);\n\tuseEffect(() => {\n\t\tif (elementJSON && elementJSON.table && fields) {\n\t\t\tconst fieldsArr = fields[elementJSON.table];\n\t\t\tlet columns: any[] = [];\n\t\t\tif (fieldsArr && fieldsArr?.length) {\n\t\t\t\tcolumns = fieldsArr.map((field, index) => ({\n\t\t\t\t\theader: formatText(field.field),\n\t\t\t\t\taccessorKey: field.field,\n\t\t\t\t\tvisible: index > 3 ? false : true,\n\t\t\t\t\ttype: field.type\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tcolumns = [\n\t\t\t\t\t{ header: 'Column 1', accessorKey: 'column_1', visible: true },\n\t\t\t\t\t{ header: 'Column 2', accessorKey: 'column_1', visible: true }\n\t\t\t\t];\n\t\t\t}\n\t\t\tcolumns && handleColumnsUpdate(columns);\n\t\t}\n\t}, [elementJSON?.table]);\n\tuseEffect(() => {\n\t\tif (fields) {\n\t\t\tconst options = Object.keys(fields).map((key) => ({\n\t\t\t\tlabel: formatText(key),\n\t\t\t\tvalue: key\n\t\t\t}));\n\t\t\tsetTables(options);\n\t\t}\n\t}, [fields]);\n\n\tif (!elementJSON) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Box className='formSection--FieldContainer' key={elementJSON.id}>\n\t\t\t<div key={elementJSON.id}>\n\t\t\t\t<FieldSelect\n\t\t\t\t\tkey={elementJSON.id}\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\tonChange={handleFieldUpdate}\n\t\t\t\t\tdefaultValue={elementJSON.field_type}\n\t\t\t\t\tdisabled={elementJSON.type === 'system' || !elementJSON.is_new}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div key={elementJSON.id}>\n\t\t\t\t<TextField\n\t\t\t\t\tfullWidth\n\t\t\t\t\tlabel='Label'\n\t\t\t\t\tis_required\n\t\t\t\t\tkey={elementJSON.id}\n\t\t\t\t\tname='label'\n\t\t\t\t\ttype='text'\n\t\t\t\t\tonChange={handlePropertyValueUpdate}\n\t\t\t\t\tdefaultValue={elementJSON.label}\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div key={elementJSON.id}>\n\t\t\t\t<Select\n\t\t\t\t\tkey={elementJSON.id}\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\tlabel='Table'\n\t\t\t\t\tfullWidth\n\t\t\t\t\tplaceholder='Select Table'\n\t\t\t\t\tsize='small'\n\t\t\t\t\tname='table'\n\t\t\t\t\tdefaultValue={elementJSON.table}\n\t\t\t\t\tdisabled={elementJSON.type === 'system'}\n\t\t\t\t\tonChange={handleTableSelect}\n\t\t\t\t\trenderValue={(value: string) =>\n\t\t\t\t\t\ttables.find((option) => option.value === value)?.label\n\t\t\t\t\t}>\n\t\t\t\t\t{tables?.map((item) => (\n\t\t\t\t\t\t<MenuItem value={item.value}>{item.label}</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</div>\n\t\t</Box>\n\t);\n};\n\nexport default TableEditForm;\n"],"names":["COLUMN_PER_ROW_OPTIONS","fields","elementJSON","React","_a","CloseIcon","Select","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-form-8_f3FwhX.esm.js","sources":["../../src/views/form-builder/element-edit-forms/field-select.tsx","../../src/views/form-builder/element-edit-forms/text.tsx","../../src/views/form-builder/element-edit-forms/select.tsx","../../src/views/form-builder/element-edit-forms/section.tsx","../../src/views/form-builder/element-edit-forms/checkbox.tsx","../../src/views/form-builder/element-edit-forms/table-form.tsx"],"sourcesContent":["// React imports\nimport { useEffect, useState } from \"react\";\n\n// Material UI imports\nimport { MenuItem, SelectProps, Stack } from \"@mui/material\";\n\n// ERP Common imports\nimport {\n ArrowCircleDown,\n Calendar,\n CheckboxSquare,\n Clock,\n DollarCircle,\n Email,\n Grid,\n Hashtag,\n Image,\n InfoCircle,\n Link,\n LinkHorizontal,\n Location,\n PaperClip,\n Paragraph,\n Phone,\n RadioButton,\n ToggleSwitch,\n} from \"@/components/icons\";\nimport Select from \"@/components/select/select\";\nimport Typography from \"@/components/typography/typography\";\n\ninterface IField {\n label: string;\n value: string;\n icon: typeof Paragraph | string;\n}\n\nconst fields: IField[] = [\n { label: \"Text\", value: \"text\", icon: Paragraph },\n { label: \"Number\", value: \"number\", icon: Hashtag },\n { label: \"Select\", value: \"select\", icon: ArrowCircleDown },\n { label: \"Date\", value: \"date\", icon: Calendar },\n { label: \"Files & Media\", value: \"file\", icon: PaperClip },\n { label: \"URL\", value: \"url\", icon: Link },\n { label: \"Email\", value: \"email\", icon: Email },\n { label: \"Phone\", value: \"phone\", icon: Phone },\n { label: \"Currency\", value: \"currency\", icon: DollarCircle },\n { label: \"Time\", value: \"time\", icon: Clock },\n { label: \"Table\", value: \"table\", icon: Grid },\n { label: \"Geolocation\", value: \"geoLocation\", icon: Location },\n { label: \"Check Box\", value: \"checkbox\", icon: CheckboxSquare },\n { label: \"Image Upload\", value: \"image\", icon: Image },\n { label: \"Relation Field\", value: \"relation\", icon: LinkHorizontal },\n { label: \"Info Card\", value: \"info\", icon: InfoCircle },\n { label: \"Toggle Button\", value: \"toggleButton\", icon: ToggleSwitch },\n { label: \"Radio Button\", value: \"radioButton\", icon: RadioButton },\n { label: \"tagsInput\", value: \"tagsInput\", icon: Paragraph },\n];\n\nconst FieldSelect: React.FC<SelectProps> = (props) => {\n const [selectFields, setSelectFields] = useState<IField[]>(fields);\n const [search, setSearch] = useState<string>(\"\");\n\n const handleSearch = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSearch(event.target.value);\n };\n\n const handleSearchFields = (searchVal: string) => {\n if (searchVal) {\n setSelectFields([\n ...fields.filter((field) => field.value.includes(searchVal)),\n ]);\n } else {\n setSelectFields(fields);\n }\n };\n\n useEffect(() => {\n handleSearchFields(search);\n }, [search]);\n\n return (\n <Select\n fullWidth\n placeholder=\"Select Field\"\n size=\"small\"\n labelName=\"Field Type\"\n renderValue={(value: string) =>\n fields.find((field) => field.value === value)?.label\n }\n handleSearch={() => handleSearch}\n searchPlaceholder=\"Search Attributes\"\n searchValue={search}\n {...props}\n >\n {selectFields.map((field) => (\n <MenuItem value={field.value} onKeyDown={(e) => e.stopPropagation()}>\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n {field.icon && <field.icon fontSize=\"small\" />}\n <Typography type=\"s3\" color=\"theme.secondary.1000\">\n {field.label}\n </Typography>\n </Stack>\n </MenuItem>\n ))}\n </Select>\n );\n};\n\nexport default FieldSelect;\n","// React imports\nimport { useCallback, useEffect, useState, useMemo, useRef } from \"react\";\n\n// Material UI imports\nimport {\n DialogActions,\n DialogContent,\n DialogTitle,\n IconButton,\n MenuItem,\n Box,\n FormControlLabel,\n FormControl,\n Slider,\n} from \"@mui/material\";\nimport { Add, Close } from \"@mui/icons-material\";\n\n// ERP Common imports\nimport Button from \"@/components/button/button\";\nimport Modal from \"@/components/modal/modal\";\nimport Typography from \"@/components/typography/typography\";\nimport TextField from \"@/components/text-field/text-field\";\nimport Select from \"@/components/select/select\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport formatText from \"@/utils/format-text\";\n\n// Local imports\nimport FieldSelect from \"./field-select\";\nimport { IElementJson } from \"../custom-form\";\nimport { ApiFormFields } from \"../../Redux/state\";\nimport \"../custom-form.scss\";\n\ninterface Option {\n label: string;\n value: string;\n}\n\ninterface ITextEditFormProps {\n handleWidthChange: (value?: number) => void;\n handleColumnSelect: (value?: number) => void;\n handlePropertyValueUpdate: (\n event?: React.ChangeEvent<HTMLInputElement>,\n numberValue?: number,\n value?: any,\n fieldType?: string,\n ) => void;\n element: IElementJson | null;\n fields: ApiFormFields | null;\n}\n\n// Constants moved outside to prevent re-creation\nconst COLUMN_PER_ROW_OPTIONS = [1, 2, 3, 4, 5, 6] as const;\nconst SELECT_OPTIONS = [\n { text: \"12 Hour\", value: \"12hr\" },\n { text: \"24 Hour\", value: \"24hr\" },\n] as const;\nconst CURRENCY_OPTIONS = [\n { text: \"INR (India)\", value: \"inr\" },\n { text: \"USD (US)\", value: \"usd\" },\n] as const;\n\nconst FIELDS_WITHOUT_PLACEHOLDER = new Set([\n \"time\", \"file\", \"geoLocation\", \"image\", \"info\", \"relation\"\n]);\nconst FIELDS_WITH_MIN_MAX = new Set([\"text\", \"number\"]);\n\n// Memoized components to prevent unnecessary re-renders\nconst MemoizedMenuItem = ({ option, index, prefix }: { option: any; index: number; prefix: string }) => (\n <MenuItem key={`${prefix}-${index}`} value={option.value}>\n {option.text || option.label}\n </MenuItem>\n);\n\nconst MemoizedRelationMenuItem = ({ option, index, prefix }: { option: Option; index: number; prefix: string }) => (\n <MenuItem key={`${prefix}-${index}`} value={option.value}>\n <Typography type=\"s3\" color=\"theme.secondary.1000\">\n {option.label}\n </Typography>\n </MenuItem>\n);\n\nexport function TextEditForm(props: ITextEditFormProps) {\n const { \n handlePropertyValueUpdate, \n handleColumnSelect, \n handleWidthChange, \n fields, \n element \n } = props;\n\n // State management - optimized to prevent unnecessary re-renders\n const [elementJSON, setElementJSON] = useState<IElementJson | null>(element);\n const [openModal, setOpenModal] = useState(false);\n const [relationFields, setRelationFields] = useState<Option[]>([]);\n const [functionValue, setFunctionValue] = useState(\"\");\n \n // Use refs to track previous values and prevent unnecessary updates\n const prevElementRef = useRef<IElementJson | null>(element);\n const prevFieldsRef = useRef<ApiFormFields | null>(fields);\n\n // Memoized relation modules with deep comparison prevention\n const relationModulesOptions = useMemo(() => {\n if (!fields || fields === prevFieldsRef.current) {\n if (prevFieldsRef.current && fields) return prevFieldsRef.current;\n }\n \n prevFieldsRef.current = fields;\n \n if (!fields) return [];\n return Object.keys(fields).map((key) => ({\n label: formatText(key),\n value: key,\n }));\n }, [fields]);\n\n // Optimized relation fields setter with memoization\n const setRelationFieldsOptions = useCallback(\n (moduleValue?: string) => {\n if (!fields || !moduleValue) {\n setRelationFields(prev => prev.length > 0 ? [] : prev);\n return;\n }\n\n const fieldsArr = fields[moduleValue];\n if (fieldsArr?.length) {\n const options = fieldsArr.map((field) => ({\n label: field.field,\n value: field.field,\n }));\n \n // Only update if options actually changed\n setRelationFields(prev => {\n if (prev.length !== options.length) return options;\n const isDifferent = prev.some((item, idx) => \n item.value !== options[idx]?.value || item.label !== options[idx]?.label\n );\n return isDifferent ? options : prev;\n });\n } else {\n setRelationFields(prev => prev.length > 0 ? [] : prev);\n }\n },\n [fields]\n );\n\n // Memoized event handlers to prevent child re-renders\n const handleSave = useCallback((value: string) => {\n if (!elementJSON) return;\n \n // Only update if value actually changed\n if (elementJSON.default_value !== value) {\n const updatedElement = { ...elementJSON, default_value: value };\n setElementJSON(updatedElement);\n handlePropertyValueUpdate(null, null, value);\n }\n \n if (value) {\n setFunctionValue(\"\");\n setOpenModal(false);\n }\n }, [elementJSON, handlePropertyValueUpdate]);\n\n const handleFieldUpdate = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n if (!elementJSON) return;\n \n const fieldType = e.target.value;\n if (elementJSON.field_type !== fieldType) {\n const updatedElement = { ...elementJSON, field_type: fieldType };\n setElementJSON(updatedElement);\n handlePropertyValueUpdate(null, null, null, e.target.value);\n }\n }, [elementJSON, handlePropertyValueUpdate]);\n\n const handleSelectUpdate = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n if (!elementJSON) return;\n \n const option = e.target.value;\n if (elementJSON.option !== option) {\n const updatedElement = { ...elementJSON, option };\n setElementJSON(updatedElement);\n handlePropertyValueUpdate(null, null, option);\n }\n }, [elementJSON, handlePropertyValueUpdate]);\n\n const handleModuleSelect = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const moduleValue = e.target.value;\n if (elementJSON?.module !== moduleValue) {\n setRelationFieldsOptions(moduleValue);\n handlePropertyValueUpdate(e);\n }\n }, [elementJSON?.module, setRelationFieldsOptions, handlePropertyValueUpdate]);\n\n const handleWidthSliderChange = useCallback((_: Event, value: number | number[]) => {\n if (!elementJSON) return;\n \n const widthValue = Array.isArray(value) ? value[0] : value;\n if (elementJSON.custom_width !== widthValue) {\n const updatedElement = { ...elementJSON, custom_width: widthValue };\n setElementJSON(updatedElement);\n handleWidthChange(widthValue);\n }\n }, [elementJSON, handleWidthChange]);\n\n const handleFullWidthChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n if (!elementJSON) return;\n \n const isFullWidth = e.target.checked;\n if (elementJSON.is_fullwidth !== isFullWidth) {\n const updatedElement = { ...elementJSON, is_fullwidth: isFullWidth };\n setElementJSON(updatedElement);\n handlePropertyValueUpdate(e);\n }\n }, [elementJSON, handlePropertyValueUpdate]);\n\n const handleColumnSelectChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const columnValue = Number(e.target.value);\n handleColumnSelect(columnValue);\n }, [handleColumnSelect]);\n\n // Memoized helper functions\n const getDefaultValue = useCallback((elementJSON: IElementJson) => {\n if ([\"number\", \"currency\", \"geoLocation\"].includes(elementJSON.field_type)) {\n return elementJSON.default_value?.toString().replace(/[^0-9]/g, \"\") || \"\";\n }\n return elementJSON.default_value || \"\";\n }, []);\n\n const getMinMaxLabels = useCallback((fieldType: string) => {\n return fieldType === \"text\" \n ? { min: \"Min character count (with spaces)\", max: \"Max character count (with spaces)\" }\n : { min: \"Min number\", max: \"Max number\" };\n }, []);\n\n // Modal handlers\n const handleOpenModal = useCallback(() => setOpenModal(true), []);\n const handleCloseModal = useCallback(() => {\n setOpenModal(false);\n setFunctionValue(\"\");\n }, []);\n\n const handleFunctionValueChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n setFunctionValue(e.target.value);\n }, []);\n\n // Optimized effects with proper dependency arrays\n useEffect(() => {\n // Only update if element actually changed\n if (element !== prevElementRef.current) {\n setElementJSON(element);\n prevElementRef.current = element;\n \n if (element?.module) {\n setRelationFieldsOptions(element.module);\n }\n }\n }, [element, setRelationFieldsOptions]);\n\n // Memoized render sections to prevent unnecessary re-computation\n const currencySelectSection = useMemo(() => {\n if (elementJSON?.field_type !== \"currency\") return null;\n \n return (\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder=\"Select Currency\"\n size=\"small\"\n onChange={handleSelectUpdate}\n defaultValue={elementJSON.option}\n label=\"Currency\"\n name=\"option\"\n variant=\"outlined\"\n >\n {CURRENCY_OPTIONS.map((option, index) => (\n <MemoizedMenuItem \n key={`currency-${index}`}\n option={option} \n index={index} \n prefix=\"currency\" \n />\n ))}\n </Select>\n </FormControl>\n </Box>\n );\n }, [elementJSON?.field_type, elementJSON?.option, handleSelectUpdate]);\n\n const timeSelectSection = useMemo(() => {\n if (elementJSON?.field_type !== \"time\") return null;\n \n return (\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder=\"Select Time Format\"\n size=\"small\"\n onChange={handleSelectUpdate}\n defaultValue={elementJSON.option}\n label=\"Time Format\"\n name=\"option\"\n variant=\"outlined\"\n >\n {SELECT_OPTIONS.map((option, index) => (\n <MemoizedMenuItem \n key={`time-${index}`}\n option={option} \n index={index} \n prefix=\"time\" \n />\n ))}\n </Select>\n </FormControl>\n </Box>\n );\n }, [elementJSON?.field_type, elementJSON?.option, handleSelectUpdate]);\n\n const relationSelectSection = useMemo(() => {\n if (elementJSON?.field_type !== \"relation\") return null;\n \n return (\n <>\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder={\n relationModulesOptions.length\n ? \"Select Relation Module\"\n : \"No data available\"\n }\n size=\"small\"\n onChange={handleModuleSelect}\n value={elementJSON.module || \"\"}\n label=\"Relation Module\"\n name=\"module\"\n >\n {relationModulesOptions.length ? (\n relationModulesOptions.map((option, index) => (\n <MemoizedRelationMenuItem \n key={`module-${index}`}\n option={option} \n index={index} \n prefix=\"module\" \n />\n ))\n ) : (\n <MenuItem disabled>\n <Typography type=\"s3\" color=\"theme.secondary.1000\">\n <em>No data available</em>\n </Typography>\n </MenuItem>\n )}\n </Select>\n </FormControl>\n </Box>\n\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder={\n !elementJSON.module\n ? \"Select Module First\"\n : relationFields.length\n ? \"Select Relation Field\"\n : \"No data available\"\n }\n size=\"small\"\n onChange={handlePropertyValueUpdate}\n value={elementJSON.field || \"\"}\n label=\"Relation Field\"\n disabled={!elementJSON.module}\n name=\"field\"\n >\n {relationFields.length ? (\n relationFields.map((option, index) => (\n <MemoizedRelationMenuItem \n key={`field-${index}`}\n option={option} \n index={index} \n prefix=\"field\" \n />\n ))\n ) : (\n <MenuItem disabled>\n <Typography type=\"s3\" color=\"theme.secondary.1000\">\n <em>No data available</em>\n </Typography>\n </MenuItem>\n )}\n </Select>\n </FormControl>\n </Box>\n </>\n );\n }, [\n elementJSON?.field_type, \n elementJSON?.module, \n elementJSON?.field,\n relationModulesOptions, \n relationFields, \n handleModuleSelect, \n handlePropertyValueUpdate\n ]);\n\n // Early return if no element\n if (!elementJSON) {\n return null;\n }\n\n const { field_type } = elementJSON;\n const minMaxLabels = getMinMaxLabels(field_type);\n\n return (\n <Box className=\"formSection--FieldContainer\">\n {/* Field Type Selection */}\n <Box>\n <FieldSelect\n variant=\"outlined\"\n onChange={handleFieldUpdate}\n defaultValue={field_type}\n label=\"Field Type\"\n disabled={elementJSON.type === \"system\" || !elementJSON.is_new}\n />\n </Box>\n\n {/* Label Field */}\n <Box>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n name=\"label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.label}\n />\n </Box>\n\n {/* File/Image Max Size */}\n {(field_type === \"file\" || field_type === \"image\") && (\n <Box>\n <TextField\n fullWidth\n label=\"Max File Size (in MB)\"\n name=\"max_size\"\n type=\"number\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.max_size}\n />\n </Box>\n )}\n\n {/* Currency Selection - Memoized */}\n {currencySelectSection}\n\n {/* Placeholder and Default Value */}\n {!FIELDS_WITHOUT_PLACEHOLDER.has(field_type) && (\n <>\n <Box>\n <TextField\n fullWidth\n label=\"Placeholder\"\n name=\"placeholder\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.placeholder}\n />\n </Box>\n <Box>\n <TextField\n fullWidth\n label=\"Default Value\"\n placeholder=\"Default Value\"\n name=\"default_value\"\n type={field_type === \"phone\" ? \"tel\" : field_type === \"number\" ? \"number\" : \"text\"}\n onChange={handlePropertyValueUpdate}\n defaultValue={getDefaultValue(elementJSON)}\n />\n </Box>\n </>\n )}\n\n {/* Time Format Selection - Memoized */}\n {timeSelectSection}\n\n {/* Relation Module and Field Selection - Memoized */}\n {relationSelectSection}\n\n {/* Min/Max Length for Text and Number Fields */}\n {FIELDS_WITH_MIN_MAX.has(field_type) && (\n <>\n <Box>\n <TextField\n fullWidth\n label={minMaxLabels.min}\n name=\"min_length\"\n type=\"number\"\n onChange={(e) => handlePropertyValueUpdate(e, Number(e.target.value))}\n defaultValue={elementJSON.min_length || elementJSON.min || 1}\n />\n </Box>\n <Box>\n <TextField\n fullWidth\n label={minMaxLabels.max}\n name=\"max_length\"\n type=\"number\"\n onChange={(e) => handlePropertyValueUpdate(e, Number(e.target.value))}\n defaultValue={\n elementJSON.max_length || \n elementJSON.max || \n (field_type === 'number' ? 10000 : 255)\n }\n />\n </Box>\n </>\n )}\n\n {/* Column Per Row Selection */}\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder=\"Select Column Per Row\"\n size=\"small\"\n onChange={handleColumnSelectChange}\n value={elementJSON.columns_per_row || 1}\n label=\"Select Column Per Row\"\n name=\"columns_per_row\"\n variant=\"outlined\"\n >\n {COLUMN_PER_ROW_OPTIONS.map((option, index) => (\n <MenuItem key={`column-${index}`} value={option}>\n {option}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n\n {/* Width Adjustment Slider */}\n <Box>\n <Typography sx={{ color: 'black', mb: 1 }}>\n Adjust Width:\n </Typography>\n <Slider\n value={elementJSON.custom_width || 12}\n name=\"custom_width\"\n min={1}\n max={12}\n step={1}\n onChange={handleWidthSliderChange}\n aria-labelledby=\"width-slider\"\n sx={{ color: \"#4AC08C\" }}\n disabled={elementJSON.is_fullwidth}\n marks\n valueLabelDisplay=\"auto\"\n />\n </Box>\n\n {/* Number Field Specific Options */}\n {field_type === \"number\" && (\n <>\n <Box>\n <TextField\n fullWidth\n label=\"Float Step\"\n name=\"float_step\"\n type=\"number\"\n step=\"0.01\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.float_step}\n />\n </Box>\n <Box>\n <FormControlLabel\n name=\"is_negative\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_negative || false}\n label=\"Allow Negative Numbers\"\n />\n </Box>\n </>\n )}\n\n {/* Date Field Specific Options */}\n {field_type === \"date\" && (\n <>\n <Box>\n <FormControlLabel\n name=\"is_future_dates_allowed\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_future_dates_allowed || false}\n label=\"Allow Future Dates\"\n />\n </Box>\n <Box>\n <FormControlLabel\n name=\"is_past_dates_allowed\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_past_dates_allowed || false}\n label=\"Allow Past Dates\"\n />\n </Box>\n </>\n )}\n\n {/* Required Field Checkbox */}\n {field_type !== \"info\" && (\n <Box>\n <FormControlLabel\n name=\"is_required\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_required || false}\n label=\"This field is required\"\n />\n </Box>\n )}\n\n {/* Email Unique Checkbox */}\n {field_type === \"email\" && (\n <Box>\n <FormControlLabel\n name=\"is_unique\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_unique || false}\n label=\"Is Unique\"\n />\n </Box>\n )}\n\n {/* Text Multiline Checkbox */}\n {field_type === \"text\" && (\n <Box>\n <FormControlLabel\n name=\"is_multiline\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_multiline || false}\n label=\"Is Multiline\"\n />\n </Box>\n )}\n\n {/* Full Width Checkbox */}\n <Box>\n <FormControlLabel\n name=\"is_fullwidth\"\n control={<Checkbox />}\n onChange={handleFullWidthChange}\n checked={elementJSON.is_fullwidth || false}\n label=\"Full Width\"\n />\n </Box>\n\n {/* Info Field Function Button */}\n {field_type === \"info\" && (\n <Box>\n <Button\n variant=\"outlined\"\n startIcon={<Add />}\n onClick={handleOpenModal}\n className=\"formSection--PreviewButton\"\n >\n Add Function\n </Button>\n </Box>\n )}\n\n {/* Function Modal */}\n <Modal fullWidth onClose={handleCloseModal} open={openModal}>\n <DialogTitle>\n <Typography type=\"s3\" weight=\"medium\" color=\"theme.secondary.1000\">\n Add Function\n </Typography>\n <IconButton\n edge=\"end\"\n onClick={handleCloseModal}\n size=\"small\"\n >\n <Close fontSize=\"inherit\" />\n </IconButton>\n </DialogTitle>\n <DialogContent dividers>\n <Typography weight=\"medium\" type=\"s3\" color=\"theme.secondary.700\" sx={{ mb: 2 }}>\n Label: <span style={{ color: \"#1F2125\" }}>{elementJSON.label}</span>\n </Typography>\n <TextField\n name=\"default_value\"\n fullWidth\n placeholder=\"Add a function\"\n multiline\n minRows={4}\n defaultValue={elementJSON.default_value}\n onChange={handleFunctionValueChange}\n value={functionValue}\n />\n </DialogContent>\n <DialogActions>\n <Button\n variant=\"outlined\"\n onClick={handleCloseModal}\n style={{ color: \"black\" }}\n >\n Cancel\n </Button>\n <Button onClick={() => handleSave(functionValue)}>\n Save\n </Button>\n </DialogActions>\n </Modal>\n </Box>\n );\n}\n\nexport default TextEditForm;","// React imports\nimport React, { useEffect, useState, useCallback, useMemo } from \"react\";\n\n// Material UI imports\nimport { \n MenuItem, \n Box, \n FormControlLabel, \n Slider, \n FormControl, \n IconButton\n} from \"@mui/material\";\nimport { Add } from \"@mui/icons-material\";\n\n// Third-party imports\nimport { enqueueSnackbar } from \"notistack\";\n\n// ERP Common imports\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport Select from \"@/components/select/select\";\nimport TextField from \"@/components/text-field/text-field\";\nimport Typography from \"@/components/typography/typography\";\nimport Button from \"@/components/button/button\";\nimport { Trash } from \"@/components/icons\";\n\n// Local imports\nimport FieldSelect from \"./field-select\";\nimport \"../custom-form.scss\";\n\ninterface Option {\n label: string;\n value: string;\n [key: string]: string;\n}\n\ninterface ElementJSON {\n id: string;\n field_type: string;\n label: string;\n placeholder: string;\n default_value: string | null;\n is_multiselect: boolean;\n is_required: boolean;\n is_unique: boolean;\n is_fullwidth: boolean;\n custom_width: number;\n type?: string;\n is_new?: boolean;\n options: Option[];\n}\n\ninterface SelectEditFormProps {\n element: ElementJSON;\n handlePropertyValueUpdate: (\n event: React.ChangeEvent<HTMLInputElement> | null,\n name?: string | null,\n value?: any,\n fieldType?: string\n ) => void;\n handleSelectOptionValueUpdate: (options: Option[]) => void;\n handleColumnSelect: (event: React.ChangeEvent<{ value: unknown }>) => void;\n handleWidthChange: (value: number | number[]) => void;\n}\n\nconst COLUMN_PER_ROW_OPTIONS = [1, 2, 3, 4, 5, 6] as const;\n\nexport const SelectEditForm: React.FC<SelectEditFormProps> = React.memo(({\n element,\n handlePropertyValueUpdate,\n handleSelectOptionValueUpdate,\n handleColumnSelect,\n handleWidthChange\n}) => {\n // Local state management\n const [selectOptions, setSelectOptions] = useState<Option[]>(element.options || []);\n const [newOption, setNewOption] = useState<Option>({ label: \"\", value: \"\" });\n const [isAddingOption, setIsAddingOption] = useState(false);\n\n // Sync options with parent element when element changes\n useEffect(() => {\n if (JSON.stringify(selectOptions) !== JSON.stringify(element.options || [])) {\n setSelectOptions(element.options || []);\n }\n }, [element.options, selectOptions]);\n\n // Memoized computed values\n const isFieldDisabled = useMemo(() => \n element.type === \"system\" || !element.is_new, \n [element.type, element.is_new]\n );\n\n const selectedOptionLabel = useMemo(() => {\n const selectedOption = selectOptions.find(option => option.value === element.default_value);\n return selectedOption?.label || \"Select Default\";\n }, [selectOptions, element.default_value]);\n\n // Optimized event handlers with useCallback\n const handleFieldUpdate = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n handlePropertyValueUpdate(null, null, null, e.target.value);\n }, [handlePropertyValueUpdate]);\n\n const handleSelectUpdate = useCallback((e: React.ChangeEvent<{ value: unknown }>) => {\n handlePropertyValueUpdate(null, null, e.target.value);\n }, [handlePropertyValueUpdate]);\n\n const handleMultiSelect = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const isChecked = e.target.checked;\n // Reset default value when enabling multiselect\n const defaultValue = isChecked ? null : element.default_value;\n \n // Create a synthetic event for the property update\n const syntheticEvent = {\n target: {\n name: 'is_multiselect',\n checked: isChecked,\n value: isChecked\n }\n } as React.ChangeEvent<HTMLInputElement>;\n \n handlePropertyValueUpdate(syntheticEvent);\n \n // If enabling multiselect, also clear the default value\n if (isChecked && element.default_value) {\n handlePropertyValueUpdate(null, 'default_value', null);\n }\n }, [handlePropertyValueUpdate, element.default_value]);\n\n const handleNewOptionChange = useCallback((e: React.ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n setNewOption(prev => ({ ...prev, [name]: value }));\n }, []);\n\n const handleAddOption = useCallback(() => {\n if (!newOption.label.trim() || !newOption.value.trim()) {\n return; // Don't add empty options\n }\n\n // Check for duplicate values\n const isDuplicate = selectOptions.some(option => \n option.value === newOption.value || option.label === newOption.label\n );\n \n if (isDuplicate) {\n // Could show an error message here\n enqueueSnackbar(\"Option with this value or label already exists.\", { variant: \"error\" });\n return;\n }\n\n const updatedOptions = [...selectOptions, { ...newOption }];\n setSelectOptions(updatedOptions);\n handleSelectOptionValueUpdate(updatedOptions);\n \n // Reset form\n setNewOption({ label: \"\", value: \"\" });\n setIsAddingOption(false);\n }, [newOption, selectOptions, handleSelectOptionValueUpdate]);\n\n const handleRemoveOption = useCallback((indexToRemove: number) => {\n const updatedOptions = selectOptions.filter((_, index) => index !== indexToRemove);\n setSelectOptions(updatedOptions);\n handleSelectOptionValueUpdate(updatedOptions);\n \n // Clear default value if the removed option was selected\n const removedOption = selectOptions[indexToRemove];\n if (element.default_value === removedOption?.value) {\n handlePropertyValueUpdate(null, 'default_value', null);\n }\n }, [selectOptions, handleSelectOptionValueUpdate, element.default_value, handlePropertyValueUpdate]);\n\n const handleWidthChangeCallback = useCallback((\n _: Event, \n newValue: number | number[]\n ) => {\n handleWidthChange(newValue);\n }, [handleWidthChange]);\n\n return (\n <Box className=\"formSection--FieldContainer\">\n {/* Field Type Selection */}\n <Box>\n <FieldSelect\n variant=\"outlined\"\n onChange={handleFieldUpdate}\n defaultValue={element.field_type}\n label=\"Field Type\"\n disabled={isFieldDisabled}\n />\n </Box>\n\n {/* Label Field */}\n <Box>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n name=\"label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={element.label}\n />\n </Box>\n\n {/* Placeholder Field */}\n <Box>\n <TextField\n fullWidth\n label=\"Placeholder\"\n is_required\n name=\"placeholder\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={element.placeholder}\n />\n </Box>\n\n {/* Default Value Selection */}\n <Box>\n <Select\n fullWidth\n placeholder=\"Select Default\"\n size=\"small\"\n name=\"default_value\"\n onChange={handleSelectUpdate}\n value={element.default_value || \"\"}\n label=\"Default\"\n variant=\"outlined\"\n disabled={element.is_multiselect}\n renderValue={() => selectedOptionLabel}\n >\n {selectOptions.map((option, index) => (\n <MenuItem key={`${option.value}-${index}`} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n </Box>\n\n {/* Column Per Row Selection */}\n <Box>\n <FormControl fullWidth>\n <Select\n fullWidth\n placeholder=\"Select Column Per Row\"\n size=\"small\"\n onChange={handleColumnSelect}\n label=\"Select Column Per Row\"\n name=\"columnPerRow\"\n variant=\"outlined\"\n >\n {COLUMN_PER_ROW_OPTIONS.map((option) => (\n <MenuItem key={option} value={option}>\n {option}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n\n {/* Width Slider */}\n <Box>\n <Typography sx={{ color: 'black', mb: 1 }}>\n Adjust Width:\n </Typography>\n <Box pr={2}>\n <Slider\n value={element.custom_width || 6}\n min={1}\n max={12}\n step={1}\n onChange={handleWidthChangeCallback}\n aria-labelledby=\"width-slider\"\n sx={{ color: \"#4AC08C\" }}\n marks\n valueLabelDisplay=\"auto\"\n />\n </Box>\n </Box>\n\n {/* Options Management */}\n <Box className=\"formSection--SelectOption\">\n <Typography \n type=\"s5\" \n weight=\"medium\" \n color=\"theme.secondary.800\"\n sx={{ mb: 0.5 }}\n >\n Options\n </Typography>\n \n {/* Existing Options */}\n {selectOptions.map((option, index) => (\n <Box key={`option-${index}`} sx={{ mb: 1, display: 'flex', gap: 1 }}>\n <TextField\n fullWidth\n value={`${option.label} (${option.value})`}\n InputProps={{ readOnly: true }}\n />\n <IconButton\n color=\"error\"\n size=\"small\"\n onClick={() => handleRemoveOption(index)}\n >\n <Trash />\n </IconButton>\n </Box>\n ))}\n\n {/* Add New Option Form */}\n {isAddingOption && (\n <Box className=\"formSection--SelectOption\" sx={{ mt:0.5, p: 2, border: '1px solid #ddd', borderRadius: 1 }}>\n <Box sx={{ mb: 2 }}>\n <TextField\n fullWidth\n label=\"Option Label\"\n is_required\n name=\"label\"\n type=\"text\"\n placeholder=\"Enter option label\"\n value={newOption.label}\n onChange={handleNewOptionChange}\n />\n </Box>\n <Box sx={{ mb: 2 }}>\n <TextField\n fullWidth\n label=\"Option Value\"\n placeholder=\"Enter option value\"\n is_required\n name=\"value\"\n type=\"text\"\n value={newOption.value}\n onChange={handleNewOptionChange}\n />\n </Box>\n <Box sx={{ display: 'flex', gap: 1 }}>\n <Button\n onClick={handleAddOption}\n // className=\"formSection--Button\"\n startIcon={<Add />}\n disabled={!newOption.label.trim() || !newOption.value.trim()}\n >\n Add Option\n </Button>\n <Button\n onClick={() => {\n setIsAddingOption(false);\n setNewOption({ label: \"\", value: \"\" });\n }}\n variant=\"outlined\"\n >\n Cancel\n </Button>\n </Box>\n </Box>\n )}\n\n {/* Add Option Button */}\n {!isAddingOption && (\n <Button\n onClick={() => setIsAddingOption(true)}\n variant=\"outlined\"\n className=\"formSection--Button\"\n startIcon={<Add />}\n sx={{ mt: 1 }}\n >\n Add Option\n </Button>\n )}\n </Box>\n\n {/* Form Controls */}\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }}>\n <FormControlLabel\n name=\"is_multiselect\"\n control={<Checkbox />}\n onChange={handleMultiSelect}\n checked={element.is_multiselect}\n label=\"Enable Multi Select\"\n />\n\n <FormControlLabel\n name=\"is_required\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={element.is_required}\n label=\"This field is required\"\n />\n\n <FormControlLabel\n name=\"is_unique\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={element.is_unique}\n label=\"Is Unique\"\n />\n\n <FormControlLabel\n name=\"is_fullwidth\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={element.is_fullwidth}\n label=\"Full Width\"\n />\n </Box>\n </Box>\n );\n});\n\nSelectEditForm.displayName = 'SelectEditForm';\n\nexport default SelectEditForm;","// React imports\nimport { useEffect, useMemo, useState } from \"react\";\n\n// Material UI imports\nimport { MenuItem, Box, FormControlLabel } from \"@mui/material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Add } from \"@mui/icons-material\";\n\n// ERP Common imports\nimport Select from \"@/components/select/select\";\nimport Button from \"@/components/button/button\";\nimport Typography from \"@/components/typography/typography\";\nimport TextField from \"@/components/text-field/text-field\";\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport { generateRandomId } from \"@/utils/common\";\nimport { SECTION_TYPES } from \"@/utils/constant\";\n\n// Local imports\nimport { ISwitcherForms } from \"../field_properties\";\nimport \"../custom-form.scss\";\n\nconst SectionEditForm = (props: any) => {\n const { handlePropertyValueUpdate } = props;\n const [elementJSON, setElementJSON] = useState(props.element);\n const [addForm, setAddForm] = useState<boolean>(false);\n const [newForm, setNewForm] = useState<string>(\"\");\n const selectOption = [\"section\"];\n\n const isDuplicateFormName = useMemo(\n () =>\n elementJSON.switcher_forms?.map((ele: any) => ele.name).includes(newForm),\n [elementJSON.switcher_forms, newForm]\n );\n\n useEffect(() => {\n setElementJSON(props.element);\n }, [props.element]);\n\n return (\n <Box className=\"formSection--FieldContainer\" key={elementJSON.id}>\n <div>\n <Select\n key={elementJSON.id}\n fullWidth\n placeholder=\"Select Field\"\n size=\"small\"\n disabled\n defaultValue={elementJSON.field_type}\n label=\"Field Type\"\n variant=\"outlined\"\n >\n {selectOption?.map((item) => (\n <MenuItem value={item}>{item}</MenuItem>\n ))}\n </Select>\n </div>\n <div>\n <Select\n key={elementJSON.id}\n fullWidth\n placeholder=\"Select Field\"\n size=\"small\"\n name=\"section_type\"\n defaultValue={elementJSON.section_type}\n label=\"Section Type\"\n variant=\"outlined\"\n onChange={(e: any) => handlePropertyValueUpdate(e)}\n >\n {Object.values(SECTION_TYPES).map((type) => {\n return (\n <MenuItem key={type} value={type}>\n {type}\n </MenuItem>\n );\n })}\n </Select>\n </div>\n <div>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n key={elementJSON.id}\n name=\"label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.label}\n />\n </div>\n <FormControlLabel\n key={elementJSON.id}\n name=\"is_accordion\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_accordion}\n label=\"Is Accordion\"\n />\n {elementJSON.section_type === SECTION_TYPES.FORM_SWITCH_SECTION ? (\n <div className=\"formSection--SubFieldContainer\">\n <div>\n <TextField\n fullWidth\n label=\"Form label\"\n is_required\n key={elementJSON.id}\n name=\"form_switcher_label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.form_switcher_label}\n />\n </div>\n <div>\n <Typography\n type=\"s5\"\n weight={\"medium\"}\n color={\"theme.secondary.800\"}\n >\n Forms\n </Typography>\n {elementJSON?.switcher_forms?.map(\n (ele: ISwitcherForms) => (\n <div className=\"formSection--MultiOptions\" key={elementJSON.id}>\n <TextField\n fullWidth\n key={ele.id}\n value={ele.name}\n style={{ marginBottom: \"10px\" }}\n name=\"switcher_forms\"\n onChange={(e: any) => {\n const newVal = elementJSON.switcher_forms?.map(\n (formEle: ISwitcherForms) =>\n ele.id === formEle.id\n ? { ...formEle, name: e.target.value }\n : { ...formEle }\n );\n\n handlePropertyValueUpdate(e, newVal);\n }}\n />\n <CloseIcon\n style={{ fontSize: \"1rem\", color: \"#656669\" }}\n onClick={(e: any) => {\n const newVal = [...elementJSON.switcher_forms].filter(\n (item) => item.id !== ele.id\n );\n e.target.name = \"switcher_forms\";\n handlePropertyValueUpdate(e, newVal);\n }}\n />\n </div>\n )\n )}\n </div>\n {addForm ? (\n <div>\n <div\n className=\"formSection--MultiOptions formSection--FullWidth\"\n key={elementJSON.id}\n >\n <div className=\"formSection--FullWidth\">\n <TextField\n fullWidth\n label=\"Form section name\"\n placeholder=\"Form section name\"\n is_required\n key={elementJSON.id}\n type=\"text\"\n value={newForm}\n error={isDuplicateFormName}\n helperText={\n isDuplicateFormName\n ? \"Form section name can not duplicate\"\n : \"\"\n }\n onChange={(e: any) => setNewForm(e.target.value)}\n />\n </div>\n <CloseIcon\n style={{ fontSize: \"1rem\", color: \"#656669\" }}\n onClick={() => {\n setAddForm(false);\n setNewForm(\"\");\n }}\n />\n </div>\n <Button\n onClick={(e: any) => {\n const { uniqueStringId: id } = generateRandomId();\n const newVal = [\n ...elementJSON.switcher_forms,\n { name: newForm, id },\n ];\n handlePropertyValueUpdate(e, newVal);\n setNewForm(\"\");\n setAddForm(false);\n }}\n name=\"switcher_forms\"\n variant=\"text\"\n className=\"formSection--Button\"\n disabled={isDuplicateFormName || !newForm}\n startIcon={<Add />}\n >\n Add\n </Button>\n </div>\n ) : null}\n {!addForm ? (\n <Button\n onClick={() => setAddForm(true)}\n variant=\"text\"\n className=\"formSection--Button\"\n startIcon={<Add />}\n >\n Add forms\n </Button>\n ) : null}\n </div>\n ) : null}\n </Box>\n );\n};\n\nexport { SectionEditForm };\nexport default SectionEditForm;\n","// React imports\nimport { useEffect, useState } from \"react\";\n\n// Material UI imports\nimport {\n MenuItem,\n Box,\n FormControlLabel,\n FormControl,\n RadioGroup,\n Button,\n Select,\n InputLabel,\n Slider,\n} from \"@mui/material\";\nimport { Add } from \"@mui/icons-material\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\n// ERP Common imports\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport Radio from \"@/components/radio/radio\";\nimport TextField from \"@/components/text-field/text-field\";\nimport Typography from \"@/components/typography/typography\";\n\n// Local imports\nimport FieldSelect from \"./field-select\";\nimport \"../custom-form.scss\";\n\ninterface Option {\n label: string;\n value: string;\n is_checked: boolean;\n [key: string]: string | boolean; // Index signature to allow any string property\n}\n\nexport function CheckboxEditForm(props: any) {\n const [isAddSelectOption, setAddSelectOption] = useState(false);\n const { handlePropertyValueUpdate, handleSelectOptionValueUpdate , handleColumnSelect , handleWidthChange } = props;\n const columnPerRowOptions = [1, 2, 3, 4, 5, 6];\n const [selectOptions, setSelectOptions] = useState(\n props.element.options || [],\n );\n const [elementJSON, setElementJSON] = useState(props.element);\n\n const allowLabelPositionModification =\n elementJSON.field_type !== \"radioButton\";\n\n const [newOptions, setNewOptions] = useState<Option>({\n label: \"\",\n value: \"\",\n is_checked: false,\n });\n\n\n\n const handleAddNewOption = (e: any) => {\n const label: string = e.target.name;\n const value: string = e.target.value;\n const option: Option = { ...newOptions };\n option[label] = value;\n setNewOptions(option);\n };\n\n const handleFieldUpdate = (e: any) => {\n elementJSON.field_type = e.target.value;\n handlePropertyValueUpdate(null, null, null, e.target.value);\n };\n\n const handleSelectUpdate = (e: any) => {\n elementJSON.default_value = e.target.value;\n handlePropertyValueUpdate(null, null, e.target.value);\n };\n\n useEffect(() => {\n setElementJSON(props.element);\n setSelectOptions(props.element.options || []);\n }, [props.element]);\n\n useEffect(() => {\n setNewOptions({ label: \"\", value: \"\", is_checked: false });\n setAddSelectOption(false);\n handleSelectOptionValueUpdate(selectOptions);\n // eslint-disable-next-line\n }, [selectOptions]);\n\n return (\n <Box className=\"formSection--FieldContainer\" key={elementJSON.id}>\n <div key={elementJSON.id}>\n <FieldSelect\n key={elementJSON.id}\n variant=\"outlined\"\n onChange={handleFieldUpdate}\n defaultValue={elementJSON.field_type}\n label=\"Field Type\"\n disabled={elementJSON.type === \"system\" || !elementJSON.is_new}\n />\n </div>\n <div key={elementJSON.id}>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n key={elementJSON.id}\n name=\"label\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.label}\n />\n </div>\n\n <div key={elementJSON.id}>\n <Select\n variant=\"outlined\"\n key={elementJSON.id}\n fullWidth\n placeholder=\"Select Default\"\n size=\"small\"\n name=\"options\"\n onChange={() => handleSelectUpdate}\n defaultValue={elementJSON.default_value}\n label=\"Default\"\n disabled={!selectOptions.length}\n >\n {selectOptions?.map((option: any, index: number) => (\n <MenuItem key={index} value={option.value}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n </div>\n <FormControl>\n <Select\n key={elementJSON.id}\n fullWidth\n placeholder=\"Select Column Per Row\"\n size=\"small\"\n onChange={handleColumnSelect} // need to change\n // defaultValue= {} // need to change\n label=\"Select Column Per Row\"\n name=\"option\"\n variant=\"outlined\"\n >\n {columnPerRowOptions?.map((option: any, index: number) => (\n <MenuItem key={index} value={option}>\n {option}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n <Box>\n <Typography sx={{ color: 'black' }}>Adjust Width:</Typography>\n <Slider\n value = {elementJSON?.custom_width}\n name = \"custom_width\"\n min={1}\n max={12}\n step={1}\n onChange={(_, newValue) => handleWidthChange(newValue)}\n aria-labelledby=\"width-slider\"\n sx = {{color : \"#4AC08C\"}}\n />\n </Box>\n \n\n <div className=\"formSection--SelectOption\">\n <Typography type=\"s5\" weight={\"medium\"} color={\"theme.secondary.800\"}>\n Options\n </Typography>\n {selectOptions.map((option: any, index: number) => (\n <div className=\"formSection--MultiOptions\">\n <TextField\n fullWidth\n key={index}\n value={`${option.label} (${option.value})`}\n InputProps={{\n readOnly: true,\n }}\n />\n <CloseIcon\n style={{ fontSize: \"1rem\", color: \"#656669\" }}\n onClick={() => {\n setSelectOptions([\n ...selectOptions.filter(\n (_: any, filterIndex: number) => filterIndex !== index,\n ),\n ]);\n }}\n />\n </div>\n ))}\n </div>\n {isAddSelectOption ? (\n <div className=\"formSection--SelectOption\">\n <div>\n <TextField\n fullWidth\n label=\"Label\"\n is_required\n name=\"label\"\n type=\"text\"\n placeholder=\"Label\"\n defaultValue={newOptions.label}\n onChange={handleAddNewOption}\n />\n </div>\n <div>\n <TextField\n fullWidth\n label=\"Value\"\n placeholder=\"Value\"\n is_required\n name=\"value\"\n type=\"text\"\n defaultValue={newOptions.value}\n onChange={handleAddNewOption}\n />\n </div>\n <Button\n onClick={() =>\n setSelectOptions([...selectOptions, { ...newOptions }])\n }\n disabled={\n !!selectOptions.find(\n (ele: Option) => ele.value === newOptions.value,\n )\n }\n variant=\"text\"\n className=\"formSection--Button\"\n startIcon={<Add />}\n >\n Add\n </Button>\n </div>\n ) : (\n <Button\n onClick={() => setAddSelectOption(true)}\n variant=\"text\"\n className=\"formSection--Button\"\n startIcon={<Add />}\n >\n Add Option\n </Button>\n )}\n\n <FormControl>\n <Typography type=\"s4\" color=\"theme.secondary.800\">\n Display style\n </Typography>\n <RadioGroup\n key={elementJSON.id}\n row\n aria-labelledby=\"demo-radio-buttons-group-label\"\n name=\"display\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.display}\n >\n <FormControlLabel\n value=\"row\"\n control={<Radio size=\"small\" />}\n label=\"Row\"\n slotProps={{ typography: { variant: \"body2\" } }}\n />\n <FormControlLabel\n value=\"column\"\n control={<Radio size=\"small\" />}\n label=\"Column\"\n slotProps={{ typography: { variant: \"body2\" } }}\n />\n </RadioGroup>\n </FormControl>\n\n <div key={elementJSON.id}>\n <TextField\n key={elementJSON.id}\n fullWidth\n label=\"Title\"\n is_required\n name=\"title\"\n type=\"text\"\n onChange={handlePropertyValueUpdate}\n defaultValue={elementJSON.title}\n />\n </div>\n\n <FormControl disabled={!allowLabelPositionModification}>\n <Typography type=\"s4\" color=\"theme.secondary.800\">\n Title Position\n </Typography>\n <RadioGroup\n key={elementJSON.id}\n row\n aria-labelledby=\"demo-radio-buttons-group-label\"\n name=\"title_position\"\n onChange={handlePropertyValueUpdate}\n defaultValue={allowLabelPositionModification ? \"end\" : \"\"}\n >\n <FormControlLabel\n value=\"start\"\n control={<Radio size=\"small\" />}\n label=\"Start\"\n slotProps={{ typography: { variant: \"body2\" } }}\n />\n <FormControlLabel\n value=\"end\"\n control={<Radio size=\"small\" />}\n label=\"End\"\n slotProps={{ typography: { variant: \"body2\" } }}\n />\n </RadioGroup>\n </FormControl>\n\n <FormControlLabel\n key={elementJSON.id}\n name=\"is_required\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_required}\n label=\"This field is required\"\n />\n <FormControlLabel\n key={elementJSON.id}\n name=\"is_unique\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate}\n checked={elementJSON.is_unique}\n label=\"Is Unique\"\n />\n\n <FormControlLabel\n key={elementJSON.id}\n name=\"is_fullwidth\"\n control={<Checkbox />}\n onChange={handlePropertyValueUpdate} // need to change this\n checked={elementJSON?.is_fullwidth}// need to change \n label=\"Full Width \"\n />\n </Box>\n );\n}\n\nexport default CheckboxEditForm;\n","// React imports\nimport React, { useEffect, useState } from 'react';\n\n// Material UI imports\nimport { MenuItem, Box, SelectChangeEvent } from '@mui/material';\n\n// Third-party imports\nimport { MRT_ColumnDef, MRT_RowData } from 'material-react-table';\n\n// ERP Common imports\nimport Select from '@/components/select/select';\nimport TextField from '@/components/text-field/text-field';\nimport formatText from '@/utils/format-text';\n\n// Local imports\nimport { IElementJson } from '../custom-form';\nimport { ApiFormFields } from '../../Redux/state';\nimport FieldSelect from './field-select';\nimport '../custom-form.scss';\n\ninterface ITableEditForm {\n\thandlePropertyValueUpdate: (\n\t\tevent?: any,\n\t\tnumberValue?: any,\n\t\tval?: any,\n\t\tfieldType?: any\n\t) => void;\n\thandleColumnsUpdate: (columns: MRT_ColumnDef<MRT_RowData>[]) => void;\n\telement: IElementJson | null;\n\tfields: ApiFormFields | null;\n}\n\ninterface TableOption {\n\tlabel: string;\n\tvalue: string;\n}\n\nconst TableEditForm: React.FC<ITableEditForm> = ({\n\thandlePropertyValueUpdate,\n\telement,\n\thandleColumnsUpdate,\n\tfields\n}) => {\n\t/* Local States */\n\tconst [elementJSON, setElementJSON] = useState<IElementJson | null>(element);\n\tconst [tables, setTables] = useState<TableOption[]>([]);\n\n\t/* Local Functions */\n\tconst handleFieldUpdate = (event: SelectChangeEvent<unknown>) => {\n\t\tif (elementJSON) {\n\t\t\telementJSON.field_type = event.target.value as string;\n\t\t\thandlePropertyValueUpdate(null, null, null, event.target.value as string);\n\t\t}\n\t};\n\tconst handleTableSelect = (event: SelectChangeEvent<unknown>) => {\n\t\thandlePropertyValueUpdate(event);\n\t};\n\n\t/* Use Effects */\n\tuseEffect(() => {\n\t\tsetElementJSON(element);\n\t}, [element]);\n\tuseEffect(() => {\n\t\tif (elementJSON && elementJSON.table && fields) {\n\t\t\tconst fieldsArr = fields[elementJSON.table];\n\t\t\tlet columns: any[] = [];\n\t\t\tif (fieldsArr && fieldsArr?.length) {\n\t\t\t\tcolumns = fieldsArr.map((field, index) => ({\n\t\t\t\t\theader: formatText(field.field),\n\t\t\t\t\taccessorKey: field.field,\n\t\t\t\t\tvisible: index > 3 ? false : true,\n\t\t\t\t\ttype: field.type\n\t\t\t\t}));\n\t\t\t} else {\n\t\t\t\tcolumns = [\n\t\t\t\t\t{ header: 'Column 1', accessorKey: 'column_1', visible: true },\n\t\t\t\t\t{ header: 'Column 2', accessorKey: 'column_1', visible: true }\n\t\t\t\t];\n\t\t\t}\n\t\t\tcolumns && handleColumnsUpdate(columns);\n\t\t}\n\t}, [elementJSON?.table]);\n\tuseEffect(() => {\n\t\tif (fields) {\n\t\t\tconst options = Object.keys(fields).map((key) => ({\n\t\t\t\tlabel: formatText(key),\n\t\t\t\tvalue: key\n\t\t\t}));\n\t\t\tsetTables(options);\n\t\t}\n\t}, [fields]);\n\n\tif (!elementJSON) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Box className='formSection--FieldContainer' key={elementJSON.id}>\n\t\t\t<div key={elementJSON.id}>\n\t\t\t\t<FieldSelect\n\t\t\t\t\tkey={elementJSON.id}\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\tonChange={handleFieldUpdate}\n\t\t\t\t\tdefaultValue={elementJSON.field_type}\n\t\t\t\t\tdisabled={elementJSON.type === 'system' || !elementJSON.is_new}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div key={elementJSON.id}>\n\t\t\t\t<TextField\n\t\t\t\t\tfullWidth\n\t\t\t\t\tlabel='Label'\n\t\t\t\t\tis_required\n\t\t\t\t\tkey={elementJSON.id}\n\t\t\t\t\tname='label'\n\t\t\t\t\ttype='text'\n\t\t\t\t\tonChange={handlePropertyValueUpdate}\n\t\t\t\t\tdefaultValue={elementJSON.label}\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div key={elementJSON.id}>\n\t\t\t\t<Select\n\t\t\t\t\tkey={elementJSON.id}\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\tlabel='Table'\n\t\t\t\t\tfullWidth\n\t\t\t\t\tplaceholder='Select Table'\n\t\t\t\t\tsize='small'\n\t\t\t\t\tname='table'\n\t\t\t\t\tdefaultValue={elementJSON.table}\n\t\t\t\t\tdisabled={elementJSON.type === 'system'}\n\t\t\t\t\tonChange={handleTableSelect}\n\t\t\t\t\trenderValue={(value: string) =>\n\t\t\t\t\t\ttables.find((option) => option.value === value)?.label\n\t\t\t\t\t}>\n\t\t\t\t\t{tables?.map((item) => (\n\t\t\t\t\t\t<MenuItem value={item.value}>{item.label}</MenuItem>\n\t\t\t\t\t))}\n\t\t\t\t</Select>\n\t\t\t</div>\n\t\t</Box>\n\t);\n};\n\nexport default TableEditForm;\n"],"names":["COLUMN_PER_ROW_OPTIONS","fields","elementJSON","React","_a","CloseIcon","Select","Button"],"mappings":"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"}
|
package/dist/chunks/{template-editor-router-D4NIwVws.js → template-editor-router-DugWbCh0.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const reactRouterDom = require("react-router-dom");
|
|
3
|
-
const routes = require("./routes-
|
|
3
|
+
const routes = require("./routes-Dsumzjw0.js");
|
|
4
4
|
function TemplateEditorRouter({ modulePath, module: module2 }) {
|
|
5
5
|
return reactRouterDom.useRoutes(routes.templateEditorRoutes(modulePath, module2));
|
|
6
6
|
}
|
|
7
7
|
exports.TemplateEditorRouter = TemplateEditorRouter;
|
|
8
|
-
//# sourceMappingURL=template-editor-router-
|
|
8
|
+
//# sourceMappingURL=template-editor-router-DugWbCh0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-editor-router-
|
|
1
|
+
{"version":3,"file":"template-editor-router-DugWbCh0.js","sources":["../../src/views/template-editor/template-editor-router.tsx"],"sourcesContent":["import { useRoutes } from \"react-router-dom\";\nimport { templateEditorRoutes } from \"./routes\";\n\ninterface Props {\n\tmodulePath: string;\n\tmodule: string;\n}\n\nexport default function TemplateEditorRouter({ modulePath, module }: Props) {\n\treturn useRoutes(templateEditorRoutes(modulePath, module));\n}\n"],"names":["module","useRoutes","templateEditorRoutes"],"mappings":";;;AAQA,SAAwB,qBAAqB,EAAE,YAAY,QAAAA,WAAiB;AAC3E,SAAOC,yBAAUC,OAAAA,qBAAqB,YAAYF,OAAM,CAAC;AAC1D;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useRoutes } from "react-router-dom";
|
|
2
|
-
import { t as templateEditorRoutes } from "./routes-
|
|
2
|
+
import { t as templateEditorRoutes } from "./routes-D9y_XQRu.esm.js";
|
|
3
3
|
function TemplateEditorRouter({ modulePath, module }) {
|
|
4
4
|
return useRoutes(templateEditorRoutes(modulePath, module));
|
|
5
5
|
}
|
|
6
6
|
export {
|
|
7
7
|
TemplateEditorRouter as T
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=template-editor-router-
|
|
9
|
+
//# sourceMappingURL=template-editor-router-uzghBOap.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-editor-router-
|
|
1
|
+
{"version":3,"file":"template-editor-router-uzghBOap.esm.js","sources":["../../src/views/template-editor/template-editor-router.tsx"],"sourcesContent":["import { useRoutes } from \"react-router-dom\";\nimport { templateEditorRoutes } from \"./routes\";\n\ninterface Props {\n\tmodulePath: string;\n\tmodule: string;\n}\n\nexport default function TemplateEditorRouter({ modulePath, module }: Props) {\n\treturn useRoutes(templateEditorRoutes(modulePath, module));\n}\n"],"names":[],"mappings":";;AAQA,SAAwB,qBAAqB,EAAE,YAAY,UAAiB;AAC3E,SAAO,UAAU,qBAAqB,YAAY,MAAM,CAAC;AAC1D;"}
|
|
@@ -4,8 +4,8 @@ import { Box, Skeleton, Fade, Tooltip, IconButton, Divider, DialogTitle, MenuIte
|
|
|
4
4
|
import Close from "@mui/icons-material/Close";
|
|
5
5
|
import { T as Typography } from "./typography-CG_A0iOJ.esm.js";
|
|
6
6
|
import { M as Modal } from "./modal-DCla9U60.esm.js";
|
|
7
|
-
import { v as getV1Templates, w as patchV1TemplatesIdSetDefault, x as deleteV1TemplatesId } from "./api-
|
|
8
|
-
import { ab as getToken, W as getErrorMessage } from "./api-
|
|
7
|
+
import { v as getV1Templates, w as patchV1TemplatesIdSetDefault, x as deleteV1TemplatesId } from "./api-yLpQ3k5s.esm.js";
|
|
8
|
+
import { ab as getToken, W as getErrorMessage } from "./api-8jutPLh0.esm.js";
|
|
9
9
|
import { B as Button } from "./button-BtdpXmjA.esm.js";
|
|
10
10
|
import { useNavigate } from "react-router-dom";
|
|
11
11
|
import { enqueueSnackbar } from "notistack";
|
|
@@ -569,8 +569,8 @@ const TemplateModal = ({ email, onClose, open, companies = [], templateRoutes, s
|
|
|
569
569
|
const handleClose = () => {
|
|
570
570
|
onClose();
|
|
571
571
|
};
|
|
572
|
-
const handleViewTemplate = () => {
|
|
573
|
-
navigate(templateRoutes.EDIT_TEMPLATE(email._id, selectedTemplate), {
|
|
572
|
+
const handleViewTemplate = (idToView) => {
|
|
573
|
+
navigate(templateRoutes.EDIT_TEMPLATE(email._id, idToView || selectedTemplate), {
|
|
574
574
|
state: { company_id: selectedCompany, isViewOnly: true, fromPreview: true }
|
|
575
575
|
});
|
|
576
576
|
};
|
|
@@ -579,7 +579,7 @@ const TemplateModal = ({ email, onClose, open, companies = [], templateRoutes, s
|
|
|
579
579
|
const template = templates.find((t) => (t == null ? void 0 : t._id) === id);
|
|
580
580
|
setSelectedTemplateForPreview(template);
|
|
581
581
|
setSelectedTemplate(id);
|
|
582
|
-
handleViewTemplate();
|
|
582
|
+
handleViewTemplate(id);
|
|
583
583
|
} else {
|
|
584
584
|
setSelectedTemplate(id);
|
|
585
585
|
}
|
|
@@ -600,6 +600,7 @@ const TemplateModal = ({ email, onClose, open, companies = [], templateRoutes, s
|
|
|
600
600
|
try {
|
|
601
601
|
await patchV1TemplatesIdSetDefault({ ...getToken(), id: selectedTemplate });
|
|
602
602
|
enqueueSnackbar("Template has been set as default");
|
|
603
|
+
await getTemplatesViaSubject();
|
|
603
604
|
} catch (error) {
|
|
604
605
|
const m = getErrorMessage(error == null ? void 0 : error.message);
|
|
605
606
|
enqueueSnackbar(m, { variant: "error" });
|
|
@@ -766,4 +767,4 @@ export {
|
|
|
766
767
|
HtmlThumbnailPreview as H,
|
|
767
768
|
TemplateModal as T
|
|
768
769
|
};
|
|
769
|
-
//# sourceMappingURL=template-modal-
|
|
770
|
+
//# sourceMappingURL=template-modal-D7aLacan.esm.js.map
|