@solidxai/core-ui 0.1.7-beta.1 → 0.1.7-beta.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/adapters/auth/helper.d.ts +9 -0
- package/dist/adapters/auth/helper.d.ts.map +1 -0
- package/dist/adapters/auth/helper.js +37 -0
- package/dist/adapters/auth/helper.js.map +1 -0
- package/dist/adapters/auth/helper.ts +45 -0
- package/dist/adapters/auth/signInWithOtp.d.ts.map +1 -1
- package/dist/adapters/auth/signInWithOtp.js +3 -27
- package/dist/adapters/auth/signInWithOtp.js.map +1 -1
- package/dist/adapters/auth/signInWithOtp.ts +3 -23
- package/dist/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +41 -26
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +89 -88
- package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
- package/dist/components/auth/ForgotPasswordThankYou.js +4 -2
- package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
- package/dist/components/auth/ForgotPasswordThankYou.tsx +14 -11
- package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.js +17 -12
- package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
- package/dist/components/auth/GoogleAuthChecking.tsx +8 -5
- package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.js +3 -5
- package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
- package/dist/components/auth/SolidChangeForcePassword.tsx +41 -34
- package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidForgotPassword.js +5 -10
- package/dist/components/auth/SolidForgotPassword.js.map +1 -1
- package/dist/components/auth/SolidForgotPassword.tsx +26 -27
- package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.js +25 -25
- package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
- package/dist/components/auth/SolidInitialLoginOtp.tsx +55 -43
- package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.js +11 -16
- package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
- package/dist/components/auth/SolidInitiateRegisterOtp.tsx +48 -42
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +36 -37
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +91 -116
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +23 -25
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidRegister.tsx +53 -71
- package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
- package/dist/components/auth/SolidResetPassword.js +5 -15
- package/dist/components/auth/SolidResetPassword.js.map +1 -1
- package/dist/components/auth/SolidResetPassword.tsx +15 -37
- package/dist/components/common/AuthBanner.js.map +1 -1
- package/dist/components/common/AutoCompleteField.d.ts.map +1 -1
- package/dist/components/common/AutoCompleteField.js +2 -2
- package/dist/components/common/AutoCompleteField.js.map +1 -1
- package/dist/components/common/AutoCompleteField.tsx +4 -6
- package/dist/components/common/BackButton.js +4 -3
- package/dist/components/common/BackButton.js.map +1 -1
- package/dist/components/common/BackButton.tsx +6 -6
- package/dist/components/common/CancelButton.d.ts.map +1 -1
- package/dist/components/common/CancelButton.js +5 -4
- package/dist/components/common/CancelButton.js.map +1 -1
- package/dist/components/common/CancelButton.tsx +10 -6
- package/dist/components/common/CreateButton.d.ts.map +1 -1
- package/dist/components/common/CreateButton.js +2 -2
- package/dist/components/common/CreateButton.js.map +1 -1
- package/dist/components/common/CreateButton.tsx +8 -2
- package/dist/components/common/DownloadProgressToast.d.ts.map +1 -1
- package/dist/components/common/DownloadProgressToast.js +3 -3
- package/dist/components/common/DownloadProgressToast.js.map +1 -1
- package/dist/components/common/DownloadProgressToast.tsx +21 -18
- package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
- package/dist/components/common/DropzonePlaceholder.js +2 -2
- package/dist/components/common/DropzonePlaceholder.js.map +1 -1
- package/dist/components/common/DropzonePlaceholder.tsx +10 -8
- package/dist/components/common/DropzoneUpload.js +2 -2
- package/dist/components/common/DropzoneUpload.js.map +1 -1
- package/dist/components/common/DropzoneUpload.tsx +3 -3
- package/dist/components/common/GeneralSettings.d.ts.map +1 -1
- package/dist/components/common/GeneralSettings.js +105 -109
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +209 -329
- package/dist/components/common/GlobalToast.d.ts +1 -1
- package/dist/components/common/GlobalToast.d.ts.map +1 -1
- package/dist/components/common/GlobalToast.js +1 -24
- package/dist/components/common/GlobalToast.js.map +1 -1
- package/dist/components/common/GlobalToast.tsx +1 -25
- package/dist/components/common/MultipleSelectAutoCompleteField.d.ts.map +1 -1
- package/dist/components/common/MultipleSelectAutoCompleteField.js +2 -2
- package/dist/components/common/MultipleSelectAutoCompleteField.js.map +1 -1
- package/dist/components/common/MultipleSelectAutoCompleteField.tsx +3 -5
- package/dist/components/common/NotFound.d.ts.map +1 -1
- package/dist/components/common/NotFound.js +3 -3
- package/dist/components/common/NotFound.js.map +1 -1
- package/dist/components/common/NotFound.tsx +8 -15
- package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
- package/dist/components/common/SocialMediaLogin.js +13 -4
- package/dist/components/common/SocialMediaLogin.js.map +1 -1
- package/dist/components/common/SocialMediaLogin.tsx +58 -45
- package/dist/components/common/SolidAdmin.d.ts.map +1 -1
- package/dist/components/common/SolidAdmin.js +10 -2
- package/dist/components/common/SolidAdmin.js.map +1 -1
- package/dist/components/common/SolidAdmin.tsx +116 -131
- package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
- package/dist/components/common/SolidBreadcrumb.js +10 -25
- package/dist/components/common/SolidBreadcrumb.js.map +1 -1
- package/dist/components/common/SolidBreadcrumb.tsx +32 -26
- package/dist/components/common/SolidErrorPage.d.ts.map +1 -1
- package/dist/components/common/SolidErrorPage.js +4 -6
- package/dist/components/common/SolidErrorPage.js.map +1 -1
- package/dist/components/common/SolidErrorPage.tsx +11 -37
- package/dist/components/common/SolidExport.d.ts +1 -1
- package/dist/components/common/SolidExport.d.ts.map +1 -1
- package/dist/components/common/SolidExport.js +182 -221
- package/dist/components/common/SolidExport.js.map +1 -1
- package/dist/components/common/SolidExport.tsx +401 -453
- package/dist/components/common/SolidFieldTooltip.d.ts +1 -1
- package/dist/components/common/SolidFieldTooltip.d.ts.map +1 -1
- package/dist/components/common/SolidFieldTooltip.js +8 -7
- package/dist/components/common/SolidFieldTooltip.js.map +1 -1
- package/dist/components/common/SolidFieldTooltip.tsx +29 -16
- package/dist/components/common/SolidFormHeader.d.ts +1 -1
- package/dist/components/common/SolidFormHeader.d.ts.map +1 -1
- package/dist/components/common/SolidFormHeader.js +7 -5
- package/dist/components/common/SolidFormHeader.js.map +1 -1
- package/dist/components/common/SolidFormHeader.tsx +11 -6
- package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
- package/dist/components/common/SolidFormStepper.js +7 -22
- package/dist/components/common/SolidFormStepper.js.map +1 -1
- package/dist/components/common/SolidFormStepper.tsx +31 -50
- package/dist/components/common/SolidHeaderRequestStatus.d.ts +6 -0
- package/dist/components/common/SolidHeaderRequestStatus.d.ts.map +1 -0
- package/dist/components/common/SolidHeaderRequestStatus.js +9 -0
- package/dist/components/common/SolidHeaderRequestStatus.js.map +1 -0
- package/dist/components/common/SolidHeaderRequestStatus.tsx +16 -0
- package/dist/components/common/SolidModuleHome.d.ts.map +1 -1
- package/dist/components/common/SolidModuleHome.js +3 -3
- package/dist/components/common/SolidModuleHome.js.map +1 -1
- package/dist/components/common/SolidModuleHome.tsx +13 -5
- package/dist/components/common/SolidNotFoundPage.d.ts.map +1 -1
- package/dist/components/common/SolidNotFoundPage.js +4 -5
- package/dist/components/common/SolidNotFoundPage.js.map +1 -1
- package/dist/components/common/SolidNotFoundPage.tsx +11 -29
- package/dist/components/common/SolidPopupContainer.d.ts.map +1 -1
- package/dist/components/common/SolidPopupContainer.js +11 -6
- package/dist/components/common/SolidPopupContainer.js.map +1 -1
- package/dist/components/common/SolidPopupContainer.tsx +28 -29
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts +33 -0
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.d.ts.map +1 -0
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +48 -0
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -0
- package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +155 -0
- package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.d.ts.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +2 -3
- package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +28 -38
- package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.d.ts.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +2 -3
- package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
- package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +28 -38
- package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +2 -2
- package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
- package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +3 -3
- package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js +2 -2
- package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js.map +1 -1
- package/dist/components/common/SolidSettings/SettingsImageRemoveButton.tsx +3 -3
- package/dist/components/common/SolidToastProvider.d.ts +2 -0
- package/dist/components/common/SolidToastProvider.d.ts.map +1 -0
- package/dist/components/common/SolidToastProvider.js +45 -0
- package/dist/components/common/SolidToastProvider.js.map +1 -0
- package/dist/components/common/SolidToastProvider.tsx +39 -0
- package/dist/components/common/error.d.ts.map +1 -1
- package/dist/components/common/error.js +4 -2
- package/dist/components/common/error.js.map +1 -1
- package/dist/components/common/error.tsx +9 -15
- package/dist/components/common/solid-export.css +454 -59
- package/dist/components/core/card/CardGrid.d.ts +3 -0
- package/dist/components/core/card/CardGrid.d.ts.map +1 -0
- package/dist/components/core/card/CardGrid.js +42 -0
- package/dist/components/core/card/CardGrid.js.map +1 -0
- package/dist/components/core/card/CardGrid.tsx +83 -0
- package/dist/components/core/card/CardItem.d.ts +13 -0
- package/dist/components/core/card/CardItem.d.ts.map +1 -0
- package/dist/components/core/card/CardItem.js +21 -0
- package/dist/components/core/card/CardItem.js.map +1 -0
- package/dist/components/core/card/CardItem.tsx +91 -0
- package/dist/components/core/card/CardUserViewLayout.d.ts +2 -0
- package/dist/components/core/card/CardUserViewLayout.d.ts.map +1 -0
- package/dist/components/core/card/CardUserViewLayout.js +94 -0
- package/dist/components/core/card/CardUserViewLayout.js.map +1 -0
- package/dist/components/core/card/CardUserViewLayout.tsx +68 -0
- package/dist/components/core/card/SolidCardView.d.ts +8 -0
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -0
- package/dist/components/core/card/SolidCardView.js +365 -0
- package/dist/components/core/card/SolidCardView.js.map +1 -0
- package/dist/components/core/card/SolidCardView.tsx +528 -0
- package/dist/components/core/card/SolidCardViewConfigure.d.ts +2 -0
- package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -0
- package/dist/components/core/card/SolidCardViewConfigure.js +122 -0
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -0
- package/dist/components/core/card/SolidCardViewConfigure.tsx +268 -0
- package/dist/components/core/chatter/SolidChatter.d.ts +3 -1
- package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatter.js +25 -23
- package/dist/components/core/chatter/SolidChatter.js.map +1 -1
- package/dist/components/core/chatter/SolidChatter.tsx +87 -69
- package/dist/components/core/chatter/SolidChatterAuditMessage.js +1 -1
- package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +3 -3
- package/dist/components/core/chatter/SolidChatterCustomMessage.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterCustomMessage.js +2 -1
- package/dist/components/core/chatter/SolidChatterCustomMessage.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterCustomMessage.tsx +3 -6
- package/dist/components/core/chatter/SolidChatterDateDivider.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterDateDivider.tsx +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.d.ts +3 -0
- package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.js +40 -30
- package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.tsx +139 -101
- package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.js +55 -21
- package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterMessageBox.tsx +124 -91
- package/dist/components/core/chatter/SolidMessageComposer.d.ts +7 -3
- package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidMessageComposer.js +17 -7
- package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
- package/dist/components/core/chatter/SolidMessageComposer.tsx +92 -49
- package/dist/components/core/chatter/chatter.module.css +217 -17
- package/dist/components/core/common/FilterComponent.d.ts +2 -8
- package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
- package/dist/components/core/common/FilterComponent.js +27 -49
- package/dist/components/core/common/FilterComponent.js.map +1 -1
- package/dist/components/core/common/FilterComponent.tsx +69 -127
- package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
- package/dist/components/core/common/GroupingComponent.js +40 -70
- package/dist/components/core/common/GroupingComponent.js.map +1 -1
- package/dist/components/core/common/GroupingComponent.tsx +174 -251
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +12 -32
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +530 -42
- package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +71 -86
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +75 -48
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +242 -172
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +44 -55
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +108 -125
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +106 -87
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +332 -285
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.d.ts.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js +12 -13
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.js.map +1 -1
- package/dist/components/core/common/SolidAccountSettings/SolidVersionInfo.tsx +48 -65
- package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
- package/dist/components/core/common/SolidCreateButton.js +5 -3
- package/dist/components/core/common/SolidCreateButton.js.map +1 -1
- package/dist/components/core/common/SolidCreateButton.tsx +20 -14
- package/dist/components/core/common/SolidGenericImport/SolidGenericImport.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js +30 -11
- package/dist/components/core/common/SolidGenericImport/SolidGenericImport.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidGenericImport.tsx +91 -43
- package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +697 -27
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +14 -9
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +46 -24
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +24 -25
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +77 -54
- package/dist/components/core/common/SolidGenericImport/SolidImportStepper.d.ts +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportStepper.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js +15 -125
- package/dist/components/core/common/SolidGenericImport/SolidImportStepper.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportStepper.tsx +35 -213
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +16 -31
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +77 -84
- package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.js +11 -13
- package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransactionStatus.tsx +87 -52
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +319 -161
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +654 -287
- package/dist/components/core/common/SolidLayoutViews.d.ts.map +1 -1
- package/dist/components/core/common/SolidLayoutViews.js +5 -8
- package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
- package/dist/components/core/common/SolidLayoutViews.tsx +49 -63
- package/dist/components/core/common/SolidListViewOptions.d.ts.map +1 -1
- package/dist/components/core/common/SolidListViewOptions.js +3 -3
- package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
- package/dist/components/core/common/SolidListViewOptions.tsx +7 -6
- package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
- package/dist/components/core/common/SolidSaveCustomFilterForm.js +3 -3
- package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
- package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +31 -28
- package/dist/components/core/common/SolidSearchBox.d.ts.map +1 -1
- package/dist/components/core/common/SolidSearchBox.js +2 -2
- package/dist/components/core/common/SolidSearchBox.js.map +1 -1
- package/dist/components/core/common/SolidSearchBox.tsx +3 -4
- package/dist/components/core/common/SolidViewLayoutManager.d.ts +17 -0
- package/dist/components/core/common/SolidViewLayoutManager.d.ts.map +1 -1
- package/dist/components/core/common/SolidViewLayoutManager.js +58 -1
- package/dist/components/core/common/SolidViewLayoutManager.js.map +1 -1
- package/dist/components/core/common/SolidViewLayoutManager.ts +43 -2
- package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/components/core/dashboard/DashboardFilter.js +8 -14
- package/dist/components/core/dashboard/DashboardFilter.js.map +1 -1
- package/dist/components/core/dashboard/DashboardFilter.tsx +26 -34
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js +2 -2
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -1
- package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +3 -3
- package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidDashboard.js +13 -125
- package/dist/components/core/dashboard/SolidDashboard.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboard.module.css +3 -3
- package/dist/components/core/dashboard/SolidDashboard.tsx +41 -187
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardBody.js +14 -14
- package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardBody.tsx +6 -7
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -1
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +3 -3
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardLoading.js +5 -2
- package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardLoading.tsx +20 -14
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -1
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +3 -3
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardRenderError.js +2 -1
- package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +3 -4
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardVariable.js +9 -18
- package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -1
- package/dist/components/core/dashboard/SolidDashboardVariable.tsx +40 -37
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.js +16 -11
- package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +30 -11
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -1
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +4 -14
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -1
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +24 -27
- package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.d.ts +1 -2
- package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js +2 -2
- package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.js.map +1 -1
- package/dist/components/core/extension/solid-core/CustomIcon/StatusIcon.tsx +10 -12
- package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
- package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
- package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
- package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
- package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
- package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +2 -2
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -1
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +3 -3
- package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
- package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js +111 -0
- package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.tsx +122 -0
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.d.ts +3 -0
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.js +69 -0
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/media/card/MediaCardWidget.tsx +141 -0
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +3 -6
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +54 -38
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +74 -97
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +178 -188
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +33 -35
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +123 -110
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +70 -106
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +175 -182
- package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.d.ts +3 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.js +10 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/SolidMqMessageStageFormViewWIdget.tsx +21 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.d.ts +8 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.js +62 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/form/mqMessageOnFormLoadHandler.tsx +27 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.d.ts +3 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.js +128 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/kanban/MqMessageKanbanCardWidget.tsx +195 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.d.ts +3 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.js +8 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessageStageListViewWidget.tsx +15 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.d.ts +3 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js +158 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx +185 -0
- package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.d.ts +17 -0
- package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js +52 -0
- package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js.map +1 -0
- package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.tsx +83 -0
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +10 -18
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
- package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +32 -53
- package/dist/components/core/field/FieldListViewData.d.ts.map +1 -1
- package/dist/components/core/field/FieldListViewData.js +83 -74
- package/dist/components/core/field/FieldListViewData.js.map +1 -1
- package/dist/components/core/field/FieldListViewData.tsx +120 -168
- package/dist/components/core/filter/SEARCH_FILTER_HIERARCHY.md +582 -0
- package/dist/components/core/filter/SolidBooleanFilterElement.d.ts +1 -1
- package/dist/components/core/filter/SolidBooleanFilterElement.d.ts.map +1 -1
- package/dist/components/core/filter/SolidBooleanFilterElement.js +4 -4
- package/dist/components/core/filter/SolidBooleanFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidBooleanFilterElement.tsx +7 -6
- package/dist/components/core/filter/SolidManyToManyFilterElement.d.ts +1 -1
- package/dist/components/core/filter/SolidManyToManyFilterElement.d.ts.map +1 -1
- package/dist/components/core/filter/SolidManyToManyFilterElement.js +5 -9
- package/dist/components/core/filter/SolidManyToManyFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidManyToManyFilterElement.tsx +8 -7
- package/dist/components/core/filter/SolidManyToOneFilterElement.d.ts +1 -1
- package/dist/components/core/filter/SolidManyToOneFilterElement.d.ts.map +1 -1
- package/dist/components/core/filter/SolidManyToOneFilterElement.js +4 -4
- package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidManyToOneFilterElement.tsx +7 -6
- package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts +1 -1
- package/dist/components/core/filter/SolidOneToManyFilterElement.d.ts.map +1 -1
- package/dist/components/core/filter/SolidOneToManyFilterElement.js +5 -9
- package/dist/components/core/filter/SolidOneToManyFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidOneToManyFilterElement.tsx +8 -7
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.d.ts +1 -1
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.d.ts.map +1 -1
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js +4 -4
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.tsx +7 -6
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.d.ts +1 -1
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.d.ts.map +1 -1
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.js +4 -4
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.tsx +7 -6
- package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts +1 -1
- package/dist/components/core/filter/SolidVarInputsFilterElement.d.ts.map +1 -1
- package/dist/components/core/filter/SolidVarInputsFilterElement.js +109 -38
- package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +215 -155
- package/dist/components/core/filter/fields/SolidBooleanField.js +3 -3
- package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidBooleanField.tsx +6 -6
- package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
- package/dist/components/core/filter/fields/SolidDateField.js +3 -5
- package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidDateField.tsx +6 -8
- package/dist/components/core/filter/fields/SolidDatetimeField.js +3 -3
- package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidDatetimeField.tsx +5 -5
- package/dist/components/core/filter/fields/SolidExternalIdField.js +5 -5
- package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidExternalIdField.tsx +8 -8
- package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
- package/dist/components/core/filter/fields/SolidIdField.js +11 -4
- package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidIdField.tsx +12 -5
- package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
- package/dist/components/core/filter/fields/SolidIntField.js +3 -5
- package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidIntField.tsx +6 -8
- package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaMultipleField.js +3 -5
- package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +6 -8
- package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaSingleField.js +3 -5
- package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +6 -8
- package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +3 -3
- package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +5 -5
- package/dist/components/core/filter/fields/SolidSelectionStaticField.js +3 -3
- package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +5 -5
- package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
- package/dist/components/core/filter/fields/SolidShortTextField.js +3 -5
- package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidShortTextField.tsx +6 -8
- package/dist/components/core/filter/fields/SolidTimeField.js +3 -3
- package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidTimeField.tsx +5 -5
- package/dist/components/core/filter/fields/SolidUuidField.js +5 -5
- package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidUuidField.tsx +8 -8
- package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +2 -2
- package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +4 -4
- package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +3 -3
- package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +5 -5
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +2 -2
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +4 -4
- package/dist/components/core/filter/filterMatchMode.d.ts +17 -0
- package/dist/components/core/filter/filterMatchMode.d.ts.map +1 -0
- package/dist/components/core/filter/filterMatchMode.js +16 -0
- package/dist/components/core/filter/filterMatchMode.js.map +1 -0
- package/dist/components/core/filter/filterMatchMode.ts +18 -0
- package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
- package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.js +61 -55
- package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.tsx +356 -334
- package/dist/components/core/form/SolidFormFieldRender.js +2 -2
- package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
- package/dist/components/core/form/SolidFormFieldRender.tsx +2 -2
- package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormFooter.js +3 -3
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +26 -19
- package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormUserViewLayout.js +3 -6
- package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
- package/dist/components/core/form/SolidFormUserViewLayout.tsx +9 -13
- package/dist/components/core/form/SolidFormView.d.ts +0 -3
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +78 -127
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +168 -212
- package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts +3 -1
- package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +22 -16
- package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
- package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +46 -17
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts +3 -1
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +32 -15
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
- package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +40 -17
- package/dist/components/core/form/SolidFormViewShimmerLoading.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormViewShimmerLoading.js +5 -2
- package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
- package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +40 -37
- package/dist/components/core/form/fields/SolidBooleanField.d.ts +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.js +80 -69
- package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/form/fields/SolidBooleanField.tsx +116 -145
- package/dist/components/core/form/fields/SolidDateField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDateField.js +22 -49
- package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateField.tsx +30 -72
- package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.js +22 -48
- package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDateTimeField.tsx +33 -69
- package/dist/components/core/form/fields/SolidDecimalField.d.ts +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.js +17 -17
- package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
- package/dist/components/core/form/fields/SolidDecimalField.tsx +21 -24
- package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidEmailField.js +11 -15
- package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
- package/dist/components/core/form/fields/SolidEmailField.tsx +27 -33
- package/dist/components/core/form/fields/SolidIntegerField.d.ts +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.js +12 -9
- package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
- package/dist/components/core/form/fields/SolidIntegerField.tsx +23 -24
- package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.js +15 -10
- package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
- package/dist/components/core/form/fields/SolidJsonField.tsx +21 -20
- package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.js +28 -44
- package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidLongTextField.tsx +90 -119
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +41 -49
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +127 -111
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +10 -23
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +117 -100
- package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidPasswordField.js +29 -32
- package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
- package/dist/components/core/form/fields/SolidPasswordField.tsx +122 -117
- package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.js +6 -8
- package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidRichTextField.tsx +31 -46
- package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js +36 -24
- package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +56 -61
- package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.js +60 -74
- package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
- package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +99 -167
- package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.js +23 -36
- package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/form/fields/SolidShortTextField.tsx +54 -119
- package/dist/components/core/form/fields/SolidTimeField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.js +14 -14
- package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
- package/dist/components/core/form/fields/SolidTimeField.tsx +23 -26
- package/dist/components/core/form/fields/fieldEventUtils.d.ts +10 -0
- package/dist/components/core/form/fields/fieldEventUtils.d.ts.map +1 -0
- package/dist/components/core/form/fields/fieldEventUtils.js +11 -0
- package/dist/components/core/form/fields/fieldEventUtils.js.map +1 -0
- package/dist/components/core/form/fields/fieldEventUtils.ts +24 -0
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +31 -28
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +105 -103
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +38 -30
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +55 -40
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +17 -19
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +40 -29
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +5 -8
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
- package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +20 -13
- package/dist/components/core/form/fields/solidFields.module.css +263 -1
- package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +76 -56
- package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +106 -120
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +21 -31
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +62 -58
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
- package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +0 -5
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +9 -8
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +43 -33
- package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.d.ts.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
- package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +1 -6
- package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
- package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.js +44 -8
- package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.tsx +63 -9
- package/dist/components/core/kanban/KanbanCard.d.ts +8 -0
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +22 -162
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +67 -224
- package/dist/components/core/kanban/KanbanColumn.d.ts +4 -2
- package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.js +8 -14
- package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.tsx +60 -80
- package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanUserViewLayout.js +4 -7
- package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
- package/dist/components/core/kanban/KanbanUserViewLayout.tsx +15 -16
- package/dist/components/core/kanban/SolidKanbanView.d.ts +0 -2
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +121 -74
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +221 -139
- package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js +111 -52
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +239 -122
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +1 -2
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +21 -10
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +18 -10
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +3 -6
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +30 -24
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
- package/dist/components/core/list/ListViewRowActionPopup.d.ts.map +1 -1
- package/dist/components/core/list/ListViewRowActionPopup.js +3 -2
- package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
- package/dist/components/core/list/ListViewRowActionPopup.tsx +8 -5
- package/dist/components/core/list/PLAN.md +22 -2
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts +1 -1
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +3 -8
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
- package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +19 -24
- package/dist/components/core/list/SolidDataTable.d.ts +1 -0
- package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
- package/dist/components/core/list/SolidDataTable.js +26 -6
- package/dist/components/core/list/SolidDataTable.js.map +1 -1
- package/dist/components/core/list/SolidDataTable.tsx +38 -7
- package/dist/components/core/list/SolidDataTablePagination.d.ts +15 -0
- package/dist/components/core/list/SolidDataTablePagination.d.ts.map +1 -0
- package/dist/components/core/list/SolidDataTablePagination.js +22 -0
- package/dist/components/core/list/SolidDataTablePagination.js.map +1 -0
- package/dist/components/core/list/SolidDataTablePagination.tsx +71 -0
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts +1 -1
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +51 -30
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
- package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +122 -90
- package/dist/components/core/list/SolidListView.d.ts +5 -12
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +363 -426
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +714 -899
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +50 -61
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +237 -215
- package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderButton.js +6 -5
- package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderButton.tsx +9 -7
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +12 -7
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
- package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +15 -13
- package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts +2 -0
- package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -0
- package/dist/components/core/list/SolidListViewRowActionMenuItem.js +42 -0
- package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -0
- package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +43 -0
- package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts +2 -0
- package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -0
- package/dist/components/core/list/SolidListViewRowActionsMenu.js +32 -0
- package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -0
- package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +106 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +6 -7
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +9 -10
- package/dist/components/core/list/SolidListViewShimmerLoading.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewShimmerLoading.js +3 -4
- package/dist/components/core/list/SolidListViewShimmerLoading.js.map +1 -1
- package/dist/components/core/list/SolidListViewShimmerLoading.tsx +4 -72
- package/dist/components/core/list/SolidListViewWrapper.module.css +82 -41
- package/dist/components/core/list/SolidManyToOneFilterElement.d.ts.map +1 -1
- package/dist/components/core/list/SolidManyToOneFilterElement.js +2 -2
- package/dist/components/core/list/SolidManyToOneFilterElement.js.map +1 -1
- package/dist/components/core/list/SolidManyToOneFilterElement.tsx +5 -5
- package/dist/components/core/list/SolidSelectionDynamicFilterElement.d.ts.map +1 -1
- package/dist/components/core/list/SolidSelectionDynamicFilterElement.js +2 -2
- package/dist/components/core/list/SolidSelectionDynamicFilterElement.js.map +1 -1
- package/dist/components/core/list/SolidSelectionDynamicFilterElement.tsx +5 -4
- package/dist/components/core/list/SolidSelectionStaticFilterElement.d.ts.map +1 -1
- package/dist/components/core/list/SolidSelectionStaticFilterElement.js +2 -2
- package/dist/components/core/list/SolidSelectionStaticFilterElement.js.map +1 -1
- package/dist/components/core/list/SolidSelectionStaticFilterElement.tsx +5 -4
- package/dist/components/core/list/SolidTableRowCell.d.ts.map +1 -1
- package/dist/components/core/list/SolidTableRowCell.js +4 -3
- package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
- package/dist/components/core/list/SolidTableRowCell.tsx +11 -8
- package/dist/components/core/list/columns/SolidBooleanColumn.js +2 -2
- package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidBooleanColumn.tsx +2 -2
- package/dist/components/core/list/columns/SolidDateColumn.js +1 -1
- package/dist/components/core/list/columns/SolidDateColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidDateColumn.tsx +1 -1
- package/dist/components/core/list/columns/SolidDatetimeColumn.js +1 -1
- package/dist/components/core/list/columns/SolidDatetimeColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidDatetimeColumn.tsx +1 -1
- package/dist/components/core/list/columns/SolidExternalIdColumn.js +1 -1
- package/dist/components/core/list/columns/SolidExternalIdColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidExternalIdColumn.tsx +1 -1
- package/dist/components/core/list/columns/SolidIdColumn.js +2 -2
- package/dist/components/core/list/columns/SolidIdColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidIdColumn.tsx +3 -3
- package/dist/components/core/list/columns/SolidIntColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidIntColumn.js +2 -2
- package/dist/components/core/list/columns/SolidIntColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidIntColumn.tsx +4 -2
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +7 -10
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +13 -18
- package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js +4 -4
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +4 -4
- package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js +1 -1
- package/dist/components/core/list/columns/SolidSelectionDynamicColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidSelectionDynamicColumn.tsx +1 -1
- package/dist/components/core/list/columns/SolidSelectionStaticColumn.js +1 -1
- package/dist/components/core/list/columns/SolidSelectionStaticColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidSelectionStaticColumn.tsx +1 -1
- package/dist/components/core/list/columns/SolidShortTextColumn.js +1 -1
- package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidShortTextColumn.tsx +1 -1
- package/dist/components/core/list/columns/SolidTimeColumn.js +1 -1
- package/dist/components/core/list/columns/SolidTimeColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidTimeColumn.tsx +1 -1
- package/dist/components/core/list/columns/SolidUuidColumn.js +1 -1
- package/dist/components/core/list/columns/SolidUuidColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidUuidColumn.tsx +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToManyColumn.tsx +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +5 -7
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +9 -11
- package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationOneToManyColumn.tsx +1 -1
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
- package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.js +56 -7
- package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +97 -42
- package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
- package/dist/components/core/locales/SolidLocale.js +6 -10
- package/dist/components/core/locales/SolidLocale.js.map +1 -1
- package/dist/components/core/locales/SolidLocale.tsx +23 -29
- package/dist/components/core/locales/solid-locale.css +142 -23
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +58 -63
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +179 -213
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +29 -40
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.tsx +154 -103
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +521 -270
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +1142 -956
- package/dist/components/core/model/FieldSelector.d.ts +5 -1
- package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
- package/dist/components/core/model/FieldSelector.js +52 -30
- package/dist/components/core/model/FieldSelector.js.map +1 -1
- package/dist/components/core/model/FieldSelector.tsx +119 -57
- package/dist/components/core/model/ModelListViewData.d.ts.map +1 -1
- package/dist/components/core/model/ModelListViewData.js +110 -91
- package/dist/components/core/model/ModelListViewData.js.map +1 -1
- package/dist/components/core/model/ModelListViewData.tsx +172 -220
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +105 -61
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.tsx +277 -457
- package/dist/components/core/module/CreateModule.d.ts +1 -1
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +33 -54
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +273 -299
- package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
- package/dist/components/core/module/ModuleListViewData.js +104 -135
- package/dist/components/core/module/ModuleListViewData.js.map +1 -1
- package/dist/components/core/module/ModuleListViewData.tsx +172 -278
- package/dist/components/core/solid-ai/SolidAiChat.d.ts.map +1 -1
- package/dist/components/core/solid-ai/SolidAiChat.js +25 -20
- package/dist/components/core/solid-ai/SolidAiChat.js.map +1 -1
- package/dist/components/core/solid-ai/SolidAiChat.tsx +80 -31
- package/dist/components/core/solid-ai/SolidAiMainWrapper.d.ts.map +1 -1
- package/dist/components/core/solid-ai/SolidAiMainWrapper.js +5 -2
- package/dist/components/core/solid-ai/SolidAiMainWrapper.js.map +1 -1
- package/dist/components/core/solid-ai/SolidAiMainWrapper.tsx +7 -2
- package/dist/components/core/tree/SolidTreeTable.d.ts +73 -0
- package/dist/components/core/tree/SolidTreeTable.d.ts.map +1 -0
- package/dist/components/core/tree/SolidTreeTable.js +275 -0
- package/dist/components/core/tree/SolidTreeTable.js.map +1 -0
- package/dist/components/core/tree/SolidTreeTable.tsx +522 -0
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +266 -244
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +606 -625
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +38 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts +8 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +139 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -0
- package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +256 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +9 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +157 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -0
- package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +183 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts +9 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +37 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -0
- package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +111 -0
- package/dist/components/core/users/ApiKeysTab/index.d.ts +4 -0
- package/dist/components/core/users/ApiKeysTab/index.d.ts.map +1 -0
- package/dist/components/core/users/ApiKeysTab/index.js +4 -0
- package/dist/components/core/users/ApiKeysTab/index.js.map +1 -0
- package/dist/components/core/users/ApiKeysTab/index.ts +3 -0
- package/dist/components/core/users/CreateUser.d.ts.map +1 -1
- package/dist/components/core/users/CreateUser.js +147 -155
- package/dist/components/core/users/CreateUser.js.map +1 -1
- package/dist/components/core/users/CreateUser.tsx +396 -370
- package/dist/components/core/users/CreateUserRole.d.ts.map +1 -1
- package/dist/components/core/users/CreateUserRole.js +14 -21
- package/dist/components/core/users/CreateUserRole.js.map +1 -1
- package/dist/components/core/users/CreateUserRole.tsx +16 -33
- package/dist/components/core/users/UserListView.d.ts.map +1 -1
- package/dist/components/core/users/UserListView.js +95 -92
- package/dist/components/core/users/UserListView.js.map +1 -1
- package/dist/components/core/users/UserListView.tsx +286 -330
- package/dist/components/layout/AdminLayout.d.ts.map +1 -1
- package/dist/components/layout/AdminLayout.js +4 -12
- package/dist/components/layout/AdminLayout.js.map +1 -1
- package/dist/components/layout/AdminLayout.tsx +22 -31
- package/dist/components/layout/AppConfig.d.ts +2 -2
- package/dist/components/layout/AppConfig.d.ts.map +1 -1
- package/dist/components/layout/AppConfig.js +9 -47
- package/dist/components/layout/AppConfig.js.map +1 -1
- package/dist/components/layout/AppConfig.tsx +10 -98
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +215 -84
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +357 -163
- package/dist/components/layout/DashboardHeader.d.ts.map +1 -1
- package/dist/components/layout/DashboardHeader.js +11 -17
- package/dist/components/layout/DashboardHeader.js.map +1 -1
- package/dist/components/layout/DashboardHeader.tsx +40 -35
- package/dist/components/layout/FilterMenu.d.ts.map +1 -1
- package/dist/components/layout/FilterMenu.js +4 -7
- package/dist/components/layout/FilterMenu.js.map +1 -1
- package/dist/components/layout/FilterMenu.tsx +22 -20
- package/dist/components/layout/GlobalSearch.d.ts.map +1 -1
- package/dist/components/layout/GlobalSearch.js +2 -6
- package/dist/components/layout/GlobalSearch.js.map +1 -1
- package/dist/components/layout/GlobalSearch.tsx +7 -13
- package/dist/components/layout/Layout.d.ts.map +1 -1
- package/dist/components/layout/Layout.js +11 -130
- package/dist/components/layout/Layout.js.map +1 -1
- package/dist/components/layout/Layout.tsx +18 -161
- package/dist/components/layout/ListingHeader.d.ts.map +1 -1
- package/dist/components/layout/ListingHeader.js +4 -8
- package/dist/components/layout/ListingHeader.js.map +1 -1
- package/dist/components/layout/ListingHeader.tsx +3 -9
- package/dist/components/layout/SolidAiStudioLayout.d.ts.map +1 -1
- package/dist/components/layout/SolidAiStudioLayout.js +130 -64
- package/dist/components/layout/SolidAiStudioLayout.js.map +1 -1
- package/dist/components/layout/SolidAiStudioLayout.tsx +141 -189
- package/dist/components/layout/UserSidebar.d.ts.map +1 -1
- package/dist/components/layout/UserSidebar.js +5 -4
- package/dist/components/layout/UserSidebar.js.map +1 -1
- package/dist/components/layout/UserSidebar.tsx +6 -5
- package/dist/components/layout/context/layoutcontext.d.ts.map +1 -1
- package/dist/components/layout/context/layoutcontext.js +31 -6
- package/dist/components/layout/context/layoutcontext.js.map +1 -1
- package/dist/components/layout/context/layoutcontext.tsx +31 -2
- package/dist/components/layout/navbar-one.d.ts.map +1 -1
- package/dist/components/layout/navbar-one.js +3 -8
- package/dist/components/layout/navbar-one.js.map +1 -1
- package/dist/components/layout/navbar-one.tsx +24 -15
- package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +16 -2
- package/dist/components/layout/navbar-two-menu.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.tsx +50 -13
- package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
- package/dist/components/layout/user-profile-menu.js +74 -59
- package/dist/components/layout/user-profile-menu.js.map +1 -1
- package/dist/components/layout/user-profile-menu.tsx +206 -143
- package/dist/components/shad-cn-ui/SolidAccordion.d.ts +7 -0
- package/dist/components/shad-cn-ui/SolidAccordion.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidAccordion.js +47 -0
- package/dist/components/shad-cn-ui/SolidAccordion.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidAccordion.tsx +41 -0
- package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +12 -1
- package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidAutocomplete.js +31 -15
- package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +60 -24
- package/dist/components/shad-cn-ui/SolidButton.d.ts +10 -2
- package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidButton.js +18 -2
- package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidButton.tsx +54 -8
- package/dist/components/shad-cn-ui/SolidCheckbox.d.ts +7 -0
- package/dist/components/shad-cn-ui/SolidCheckbox.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidCheckbox.js +35 -0
- package/dist/components/shad-cn-ui/SolidCheckbox.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidCheckbox.tsx +19 -0
- package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts +12 -0
- package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidCodeEditor.js +19 -0
- package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +48 -0
- package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +14 -0
- package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidConfirmDialog.js +8 -0
- package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +50 -0
- package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +10 -0
- package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidDatePicker.js +66 -0
- package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidDatePicker.tsx +72 -0
- package/dist/components/shad-cn-ui/SolidDialog.d.ts +41 -0
- package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidDialog.js +61 -0
- package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidDialog.tsx +141 -0
- package/dist/components/shad-cn-ui/SolidDivider.d.ts +4 -0
- package/dist/components/shad-cn-ui/SolidDivider.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidDivider.js +6 -0
- package/dist/components/shad-cn-ui/SolidDivider.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidDivider.tsx +5 -0
- package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts +15 -0
- package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidDropdownMenu.js +70 -0
- package/dist/components/shad-cn-ui/SolidDropdownMenu.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidDropdownMenu.tsx +124 -0
- package/dist/components/shad-cn-ui/SolidIcon.d.ts +92 -0
- package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidIcon.js +149 -0
- package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidIcon.tsx +223 -0
- package/dist/components/shad-cn-ui/SolidInput.d.ts +1 -1
- package/dist/components/shad-cn-ui/SolidInput.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidInput.js +4 -3
- package/dist/components/shad-cn-ui/SolidInput.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidInput.tsx +6 -4
- package/dist/components/shad-cn-ui/SolidLightbox.d.ts +19 -0
- package/dist/components/shad-cn-ui/SolidLightbox.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidLightbox.js +160 -0
- package/dist/components/shad-cn-ui/SolidLightbox.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidLightbox.tsx +281 -0
- package/dist/components/shad-cn-ui/SolidMessage.d.ts +10 -0
- package/dist/components/shad-cn-ui/SolidMessage.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidMessage.js +13 -0
- package/dist/components/shad-cn-ui/SolidMessage.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidMessage.tsx +20 -0
- package/dist/components/shad-cn-ui/SolidOtpInput.d.ts +12 -0
- package/dist/components/shad-cn-ui/SolidOtpInput.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidOtpInput.js +143 -0
- package/dist/components/shad-cn-ui/SolidOtpInput.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidOtpInput.tsx +149 -0
- package/dist/components/shad-cn-ui/SolidPanel.d.ts +11 -0
- package/dist/components/shad-cn-ui/SolidPanel.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidPanel.js +17 -0
- package/dist/components/shad-cn-ui/SolidPanel.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidPanel.tsx +36 -0
- package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts +7 -0
- package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidPasswordInput.js +39 -0
- package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +31 -0
- package/dist/components/shad-cn-ui/SolidPopover.d.ts +19 -0
- package/dist/components/shad-cn-ui/SolidPopover.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidPopover.js +110 -0
- package/dist/components/shad-cn-ui/SolidPopover.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidPopover.tsx +149 -0
- package/dist/components/shad-cn-ui/SolidProgressBar.d.ts +10 -0
- package/dist/components/shad-cn-ui/SolidProgressBar.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidProgressBar.js +14 -0
- package/dist/components/shad-cn-ui/SolidProgressBar.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidProgressBar.tsx +29 -0
- package/dist/components/shad-cn-ui/SolidRadioGroup.d.ts +17 -0
- package/dist/components/shad-cn-ui/SolidRadioGroup.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidRadioGroup.js +13 -0
- package/dist/components/shad-cn-ui/SolidRadioGroup.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidRadioGroup.tsx +50 -0
- package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts +17 -0
- package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidRichTextEditor.js +109 -0
- package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +146 -0
- package/dist/components/shad-cn-ui/SolidSegmentedControl.d.ts +17 -0
- package/dist/components/shad-cn-ui/SolidSegmentedControl.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidSegmentedControl.js +34 -0
- package/dist/components/shad-cn-ui/SolidSegmentedControl.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidSegmentedControl.tsx +60 -0
- package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
- package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidSelect.js +4 -3
- package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidSelect.tsx +5 -2
- package/dist/components/shad-cn-ui/SolidSlider.d.ts +12 -0
- package/dist/components/shad-cn-ui/SolidSlider.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidSlider.js +13 -0
- package/dist/components/shad-cn-ui/SolidSlider.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidSlider.tsx +30 -0
- package/dist/components/shad-cn-ui/SolidSpinner.d.ts +8 -0
- package/dist/components/shad-cn-ui/SolidSpinner.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidSpinner.js +14 -0
- package/dist/components/shad-cn-ui/SolidSpinner.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidSpinner.tsx +21 -0
- package/dist/components/shad-cn-ui/SolidSwitch.d.ts +10 -0
- package/dist/components/shad-cn-ui/SolidSwitch.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidSwitch.js +18 -0
- package/dist/components/shad-cn-ui/SolidSwitch.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidSwitch.tsx +34 -0
- package/dist/components/shad-cn-ui/SolidTabs.d.ts +3 -1
- package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.js +4 -4
- package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.tsx +16 -4
- package/dist/components/shad-cn-ui/SolidTag.d.ts +9 -0
- package/dist/components/shad-cn-ui/SolidTag.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidTag.js +13 -0
- package/dist/components/shad-cn-ui/SolidTag.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidTag.tsx +15 -0
- package/dist/components/shad-cn-ui/SolidTextarea.d.ts +5 -0
- package/dist/components/shad-cn-ui/SolidTextarea.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidTextarea.js +36 -0
- package/dist/components/shad-cn-ui/SolidTextarea.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidTextarea.tsx +26 -0
- package/dist/components/shad-cn-ui/SolidToast.d.ts +13 -0
- package/dist/components/shad-cn-ui/SolidToast.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidToast.js +34 -0
- package/dist/components/shad-cn-ui/SolidToast.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidToast.tsx +55 -0
- package/dist/components/shad-cn-ui/SolidTooltip.d.ts +22 -0
- package/dist/components/shad-cn-ui/SolidTooltip.d.ts.map +1 -0
- package/dist/components/shad-cn-ui/SolidTooltip.js +22 -0
- package/dist/components/shad-cn-ui/SolidTooltip.js.map +1 -0
- package/dist/components/shad-cn-ui/SolidTooltip.tsx +65 -0
- package/dist/components/shad-cn-ui/index.d.ts +26 -0
- package/dist/components/shad-cn-ui/index.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/index.js +26 -0
- package/dist/components/shad-cn-ui/index.js.map +1 -1
- package/dist/components/shad-cn-ui/index.ts +48 -0
- package/dist/components/solid-ui/SolidButton.d.ts +14 -0
- package/dist/components/solid-ui/SolidButton.d.ts.map +1 -0
- package/dist/components/solid-ui/SolidButton.js +36 -0
- package/dist/components/solid-ui/SolidButton.js.map +1 -0
- package/dist/components/solid-ui/SolidButton.tsx +54 -0
- package/dist/components/solid-ui/SolidTabs.d.ts +18 -0
- package/dist/components/solid-ui/SolidTabs.d.ts.map +1 -0
- package/dist/components/solid-ui/SolidTabs.js +22 -0
- package/dist/components/solid-ui/SolidTabs.js.map +1 -0
- package/dist/components/solid-ui/SolidTabs.tsx +73 -0
- package/dist/components/solid-ui/index.d.ts +3 -0
- package/dist/components/solid-ui/index.d.ts.map +1 -0
- package/dist/components/solid-ui/index.js +3 -0
- package/dist/components/solid-ui/index.js.map +1 -0
- package/dist/components/solid-ui/index.ts +2 -0
- package/dist/helpers/# no such endpoints exist, need to calle +3 -0
- package/dist/helpers/mediaType.d.ts +3 -0
- package/dist/helpers/mediaType.d.ts.map +1 -0
- package/dist/helpers/mediaType.js +19 -0
- package/dist/helpers/mediaType.js.map +1 -0
- package/dist/helpers/mediaType.ts +23 -0
- package/dist/helpers/registry.d.ts +3 -4
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +111 -90
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +126 -91
- package/dist/helpers/routePaths.js +1 -1
- package/dist/helpers/routePaths.js.map +1 -1
- package/dist/helpers/routePaths.ts +1 -1
- package/dist/hooks/useSolidAutocompleteField.d.ts +31 -0
- package/dist/hooks/useSolidAutocompleteField.d.ts.map +1 -0
- package/dist/hooks/useSolidAutocompleteField.js +116 -0
- package/dist/hooks/useSolidAutocompleteField.js.map +1 -0
- package/dist/hooks/useSolidAutocompleteField.ts +90 -0
- package/dist/index.d.ts +18 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -5
- package/dist/index.js.map +1 -1
- package/dist/index.ts +95 -6
- package/dist/redux/api/apiKeyApi.d.ts +47 -0
- package/dist/redux/api/apiKeyApi.d.ts.map +1 -0
- package/dist/redux/api/apiKeyApi.js +47 -0
- package/dist/redux/api/apiKeyApi.js.map +1 -0
- package/dist/redux/api/apiKeyApi.ts +69 -0
- package/dist/redux/store/defaultStoreConfig.d.ts +51 -35
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/redux/store/defaultStoreConfig.js +32 -3
- package/dist/redux/store/defaultStoreConfig.js.map +1 -1
- package/dist/redux/store/defaultStoreConfig.ts +33 -33
- package/dist/resources/globals.css +3231 -808
- package/dist/resources/images/SolidXLogo-dark.svg +29 -0
- package/dist/resources/images/SolidXLogo-light.svg +29 -0
- package/dist/resources/shadcn-base.css +3040 -865
- package/dist/resources/solid-responsive.css +42 -86
- package/dist/resources/themes/solid-dark-purple/theme.css +15 -20
- package/dist/resources/themes/solid-light-purple/theme.css +14 -19
- package/dist/routes/AppEventListener.d.ts +1 -1
- package/dist/routes/AppEventListener.d.ts.map +1 -1
- package/dist/routes/AppEventListener.js +3 -1
- package/dist/routes/AppEventListener.js.map +1 -1
- package/dist/routes/AppEventListener.tsx +7 -1
- package/dist/routes/guards/AuthGuard.d.ts +5 -1
- package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
- package/dist/routes/guards/AuthGuard.js +13 -2
- package/dist/routes/guards/AuthGuard.js.map +1 -1
- package/dist/routes/guards/AuthGuard.tsx +27 -3
- package/dist/routes/guards/GuestGuard.d.ts +2 -0
- package/dist/routes/guards/GuestGuard.d.ts.map +1 -0
- package/dist/routes/guards/GuestGuard.js +18 -0
- package/dist/routes/guards/GuestGuard.js.map +1 -0
- package/dist/routes/guards/GuestGuard.tsx +20 -0
- package/dist/routes/pages/admin/core/CardPage.d.ts +2 -0
- package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/CardPage.js +22 -0
- package/dist/routes/pages/admin/core/CardPage.js.map +1 -0
- package/dist/routes/pages/admin/core/CardPage.tsx +10 -0
- package/dist/routes/pages/auth/SsoPage.d.ts.map +1 -1
- package/dist/routes/pages/auth/SsoPage.js +4 -5
- package/dist/routes/pages/auth/SsoPage.js.map +1 -1
- package/dist/routes/pages/auth/SsoPage.tsx +7 -15
- package/dist/routes/pages/studio/StudioLandingPage.js +3 -3
- package/dist/routes/pages/studio/StudioLandingPage.js.map +1 -1
- package/dist/routes/pages/studio/StudioLandingPage.tsx +5 -5
- package/dist/routes/solidRoutes.d.ts.map +1 -1
- package/dist/routes/solidRoutes.js +18 -1
- package/dist/routes/solidRoutes.js.map +1 -1
- package/dist/routes/solidRoutes.tsx +19 -1
- package/dist/routes/types.d.ts +1 -1
- package/dist/routes/types.d.ts.map +1 -1
- package/dist/routes/types.js.map +1 -1
- package/dist/routes/types.ts +5 -1
- package/dist/styles.d.ts +1 -0
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +1 -0
- package/dist/styles.js.map +1 -1
- package/dist/styles.ts +1 -0
- package/dist/types/extension-registry.d.ts +28 -0
- package/dist/types/extension-registry.d.ts.map +1 -0
- package/dist/types/extension-registry.js +26 -0
- package/dist/types/extension-registry.js.map +1 -0
- package/dist/types/extension-registry.ts +32 -0
- package/dist/types/external.d.ts +11 -0
- package/dist/types/layout.d.ts +4 -2
- package/dist/types/solid-core.d.ts +30 -27
- package/package.json +10 -4
- package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
- package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
- package/dist/components/auth/SolidOTPVerify.js +0 -67
- package/dist/components/auth/SolidOTPVerify.js.map +0 -1
- package/dist/components/auth/SolidOTPVerify.tsx +0 -133
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
- package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
- package/dist/nextAuth/authProviders.d.ts +0 -4
- package/dist/nextAuth/authProviders.d.ts.map +0 -1
- package/dist/nextAuth/authProviders.js +0 -198
- package/dist/nextAuth/authProviders.js.map +0 -1
- package/dist/nextAuth/authProviders.tsx +0 -232
- package/dist/nextAuth/handleLogout.d.ts +0 -2
- package/dist/nextAuth/handleLogout.d.ts.map +0 -1
- package/dist/nextAuth/handleLogout.js +0 -36
- package/dist/nextAuth/handleLogout.js.map +0 -1
- package/dist/nextAuth/handleLogout.tsx +0 -39
- package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
- package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
- package/dist/nextAuth/refreshAccessToken.js +0 -24
- package/dist/nextAuth/refreshAccessToken.js.map +0 -1
- package/dist/nextAuth/refreshAccessToken.tsx +0 -28
- package/dist/redux/features/settingsSlice.d.ts +0 -20
- package/dist/redux/features/settingsSlice.d.ts.map +0 -1
- package/dist/redux/features/settingsSlice.js +0 -39
- package/dist/redux/features/settingsSlice.js.map +0 -1
- package/dist/redux/features/settingsSlice.ts +0 -60
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldMetaDataForm.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaDataForm.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport CodeEditor from \"../../../components/common/CodeEditor\";\nimport { SingleSelectAutoCompleteField } from \"../../../components/common/SingleSelectAutoCompleteField\";\nimport { getSingularAndPlural } from \"../../../helpers/helpers\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useLazyGetMediaStorageProvidersQuery } from \"../../../redux/api/mediaStorageProviderApi\";\nimport { useLazyGetModelsQuery, useUpdateUserKeyMutation } from \"../../../redux/api/modelApi\";\nimport { useLazyGetmodulesQuery } from \"../../../redux/api/moduleApi\";\nimport { useFormik } from \"formik\";\nimport { capitalize } from \"lodash\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { AutoComplete } from \"primereact/autocomplete\";\nimport { Button } from \"primereact/button\";\nimport { Calendar } from \"primereact/calendar\";\nimport { Checkbox } from \"primereact/checkbox\";\nimport { Dialog } from \"primereact/dialog\";\nimport { Dropdown, DropdownChangeEvent } from \"primereact/dropdown\";\nimport { InputNumber } from \"primereact/inputnumber\";\nimport { InputText } from \"primereact/inputtext\";\nimport { InputTextarea } from \"primereact/inputtextarea\";\nimport { Message } from \"primereact/message\";\nimport { MultiSelect } from \"primereact/multiselect\";\nimport { RadioButton } from \"primereact/radiobutton\";\nimport { SelectButton } from \"primereact/selectbutton\";\nimport { TabPanel, TabView } from \"primereact/tabview\";\nimport { Toast } from \"primereact/toast\";\nimport { classNames } from \"primereact/utils\";\nimport qs from \"qs\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport FieldSelector from \"./FieldSelector\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { getVirtualScrollerOptions } from \"../../../helpers/autoCompleteVirtualScroll\";\n\n\n\nenum SolidFieldType {\n // numeric types\n int = 'int',\n bigint = 'bigint',\n float = 'float',\n // double = 'double',\n decimal = 'decimal',\n\n // text types\n shortText = 'shortText',\n longtext = 'longText',\n richText = 'richText',\n json = 'json',\n\n // boolean types\n boolean = 'boolean',\n\n // date\n date = 'date',\n datetime = 'datetime',\n time = 'time',\n\n // relation\n relation = 'relation',\n\n // media\n mediaSingle = 'mediaSingle',\n mediaMultiple = 'mediaMultiple',\n\n email = 'email',\n password = 'password',\n\n // selection\n selectionStatic = 'selectionStatic',\n selectionDynamic = 'selectionDynamic',\n\n computed = 'computed',\n\n uuid = 'uuid'\n}\n\nconst SelectionStaticValues = ({ enumValue, onUpdate, onDelete, onAdd }: any) => {\n const [value, display] = enumValue.split(\":\");\n\n const handleValueChange = (newValue: string) => {\n onUpdate(`${newValue}:${display || \"\"}`);\n };\n\n const handleDisplayChange = (newDisplay: string) => {\n onUpdate(`${value || \"\"}:${newDisplay}`);\n };\n\n return (\n <div className=\"flex align-items-center gap-2 mt-2\">\n\n {/* Input field for Value */}\n <InputText\n value={value || \"\"}\n onChange={(e) => handleValueChange(e.target.value)}\n placeholder=\"Value\"\n className=\"w-full\"\n />\n\n {/* Input field for Display */}\n <InputText\n value={display || \"\"}\n onChange={(e) => handleDisplayChange(e.target.value)}\n placeholder=\"Display\"\n className=\"w-full\"\n />\n\n\n\n {/* Plus Button to add a new row */}\n <Button\n icon=\"pi pi-plus\"\n size=\"small\"\n onClick={onAdd}\n type=\"button\"\n />\n\n {/* Trash Button to delete the row */}\n <Button\n icon=\"pi pi-trash\"\n size=\"small\"\n onClick={onDelete}\n outlined\n severity=\"danger\"\n type=\"button\"\n />\n </div>\n );\n\n}\n\ninterface SelectComputedFieldTriggerValuesProps {\n index: number;\n row: {\n moduleName: string;\n modelName: string;\n operations: string[];\n };\n onChange: (index: number, updatedRow: any) => void;\n onDelete: (index: number) => void;\n isLastRow: boolean;\n disableDelete: boolean;\n formik: any;\n isFormFieldValid: (formik: any, field: string) => boolean;\n searchModuleName: (event: any) => Promise<any[]>;\n searchModelName: (event: any) => Promise<any[]>;\n modelMetaData?: any,\n errors?: any,\n touched?: any,\n}\n\nconst triggerOperationOptions = [\n { label: \"beforeInsert\", value: \"before-insert\" },\n { label: \"afterInsert\", value: \"after-insert\" },\n { label: \"beforeUpdate\", value: \"before-update\" },\n { label: \"afterUpdate\", value: \"after-update\" },\n { label: \"beforeRemove\", value: \"before-delete\" },\n { label: \"afterRemove\", value: \"after-delete\" },\n];\n\nconst formatDisplayName = (value: string): string => {\n return value\n .split('-')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n};\n\n\nconst SelectComputedFieldTriggerValues: React.FC<SelectComputedFieldTriggerValuesProps> = ({\n index,\n row,\n onChange,\n onDelete,\n disableDelete,\n formik,\n isFormFieldValid,\n searchModuleName,\n searchModelName,\n modelMetaData,\n errors,\n touched,\n}: any) => {\n const [filteredOperations, setFilteredOperations] = useState<{ label: string; value: string }[]>([]);\n\n useEffect(() => {\n if (!row.moduleName && modelMetaData?.module?.name) {\n formik.setFieldValue(`computedFieldTriggerConfig[${index}].moduleName`, modelMetaData?.module?.name);\n }\n if (!row.modelName && modelMetaData?.singularName) {\n formik.setFieldValue(`computedFieldTriggerConfig[${index}].modelName`, modelMetaData?.singularName);\n }\n }, [modelMetaData?.module?.name, modelMetaData?.singularName]);\n\n const searchOperations = (event: any) => {\n const query = event.query.toLowerCase();\n setFilteredOperations(\n triggerOperationOptions.filter((item) =>\n item.label.toLowerCase().includes(query)\n )\n );\n };\n\n return (\n <div className=\"flex align-items-start gap-3 mt-2 flex-wrap md:flex-nowrap\">\n\n <div className=\"\">\n <label\n htmlFor=\"moduleName\"\n className=\"form-field-label\"\n >\n Module\n </label>\n <div className=\"mt-2\">\n <SingleSelectAutoCompleteField\n key={`moduleName-${index}`}\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName={`computedFieldTriggerConfig[${index}].moduleName`}\n fieldNameId={`computedFieldTriggerConfig[${index}].moduleName`}\n labelKey=\"displayName\"\n valueKey=\"name\"\n searchData={searchModuleName}\n existingData={\n row.moduleName\n ? {\n name: row.moduleName,\n displayName: row.displayName || formatDisplayName(row.moduleName),\n }\n : modelMetaData?.module?.name\n ? {\n name: modelMetaData.module.name,\n displayName: modelMetaData.module.displayName || formatDisplayName(modelMetaData.module.name),\n }\n : null\n }\n />\n </div>\n {errors?.moduleName && (\n <Message severity=\"error\" text={errors.moduleName} />\n )}\n </div>\n\n <div className=\"\">\n <label\n htmlFor=\"modelName\"\n className=\"form-field-label\"\n >\n Model\n </label>\n <div className=\"mt-2\">\n <SingleSelectAutoCompleteField\n key={`modelName-${index}`}\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName={`computedFieldTriggerConfig[${index}].modelName`}\n fieldNameId={`computedFieldTriggerConfig[${index}].modelName`}\n labelKey=\"displayName\"\n valueKey=\"singularName\"\n searchData={searchModelName}\n existingData={\n row.modelName\n ? {\n singularName: row.modelName,\n displayName: row.displayName || formatDisplayName(row.modelName),\n }\n : modelMetaData?.singularName\n ? {\n singularName: modelMetaData?.singularName,\n displayName: modelMetaData?.displayName || formatDisplayName(modelMetaData.displayName),\n }\n : null\n }\n />\n </div>\n {errors?.modelName && (\n <Message severity=\"error\" text={errors.modelName} />\n )}\n </div>\n\n\n {/* operations */}\n <div>\n <label\n htmlFor=\"operations\"\n className=\"form-field-label\"\n >\n Operations\n </label>\n <div className=\"mt-2\">\n <AutoComplete\n multiple\n dropdown\n value={triggerOperationOptions.filter(opt => (row.operations || []).includes(opt.value))}\n suggestions={filteredOperations}\n completeMethod={searchOperations}\n field=\"label\"\n onChange={(e) =>\n onChange(index, {\n ...row,\n operations: e.value.map((val: any) => val.value),\n })\n }\n placeholder=\"Select operations\"\n className=\"solid-standard-autocomplete max-w-16rem\"\n />\n </div>\n {errors?.operations && (\n <Message severity=\"error\" text={errors.operations} />\n )}\n </div>\n\n {/* Trash Button to delete the row */}\n <Button\n icon=\"pi pi-trash\"\n size=\"small\"\n onClick={() => onDelete(index)}\n disabled={disableDelete}\n outlined\n severity=\"danger\"\n type=\"button\"\n />\n </div>\n );\n\n}\n\nconst fieldBasedPayloadFormating = (values: any, currentFields: string[], fieldMetaData: any) => {\n // const booleanFields: string | any[] = [\n // \"isSystem\",\n // \"defaultValue\",\n // \"required\",\n // \"unique\",\n // \"encrypt\",\n // \"index\",\n // \"private\",\n // \"relationCreateInverse\"];\n const transformedPayload = currentFields.reduce((acc: any, key: any) => {\n acc[key] = values[key]; // Set key and its value as the same string\n // if (booleanFields.includes(acc[key])) {\n // acc[key] = values[key] == \"false\" ? \"\" : true\n // }\n return acc;\n }, {});\n transformedPayload.displayName = transformedPayload.displayName.trim()\n\n transformedPayload.identifier = fieldMetaData ? fieldMetaData.identifier : Date.now();\n if (fieldMetaData?.id) {\n transformedPayload.id = fieldMetaData.id\n }\n if (currentFields.includes(\"mediaStorageProviderId\")) {\n transformedPayload.mediaStorageProvider = values.mediaStorageProvider\n }\n if (currentFields.includes(\"selectionDynamicProviderCtxt\")) {\n const prettified = JSON.stringify(JSON.parse(values.selectionDynamicProviderCtxt), null, 2);\n\n transformedPayload.selectionDynamicProviderCtxt = prettified\n }\n\n if (currentFields.includes(\"computedFieldValueProviderCtxt\")) {\n const prettified = JSON.stringify(JSON.parse(values.computedFieldValueProviderCtxt), null, 2);\n transformedPayload.computedFieldValueProviderCtxt = prettified\n }\n\n if (currentFields.includes(\"computedFieldTriggerConfig\")) {\n // const prettified = JSON.stringify(values.computedFieldTriggerConfig, null, 2);\n transformedPayload.computedFieldTriggerConfig = values.computedFieldTriggerConfig\n }\n\n if (currentFields.includes(\"relationCreateInverse\")) {\n transformedPayload.relationCreateInverse = values.relationCreateInverse == false ? false : true\n }\n if (transformedPayload.relationType == \"many-to-one\") {\n transformedPayload.relationCascade = values.relationCascade;\n }\n\n if (transformedPayload.relationType == \"many-to-many\") {\n transformedPayload.isRelationManyToManyOwner = true;\n }\n return transformedPayload\n\n}\n\nfunction fetchCurrentFields(solidFieldType: any, fieldDefaultMetaData: any) {\n\n if (solidFieldType) {\n const allowedFields = fieldDefaultMetaData?.data?.fieldTypes.filter((e: any) => e.fieldType === solidFieldType);\n if (allowedFields.length > 0) {\n return allowedFields[0].fields\n }\n\n }\n return [\n \"name\",\n \"displayName\",\n \"type\",\n \"ormType\",\n \"required\",\n \"unique\",\n \"index\",\n \"private\",\n \"encrypt\",\n \"isUserKey\"\n ];\n\n}\n\nconst createValidationSchema = (currentFields: any, selectedType: any, allFields: any, fieldMetaData: any, encryptState: any) => {\n\n let reservedNames;\n\n if (fieldMetaData) {\n reservedNames = allFields.length > 0 ? allFields.filter((i: any) => i.id !== fieldMetaData.id).map((f: any) => f.name) : [];\n } else {\n\n reservedNames = allFields.length > 0 ? allFields.map((f: any) => f.name) : [];\n }\n\n\n\n const schema = {\n name: Yup.string()\n // .matches(/^[a-z]+(-[a-z]+)*$/,\"Invalid format. Use lowercase letters and hyphens only\")\n .notOneOf(reservedNames, ERROR_MESSAGES.FIELD_ALREADY_USE('Name', 'name'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Name')),\n displayName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Display Name')),\n description: Yup.string().nullable(),\n type: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Type')),\n isSystem: Yup.boolean(),\n // Conditionally add validation rules based on `currentFields`\n ...(currentFields.includes(\"ormType\") && {\n ormType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Orm Type')),\n }),\n ...(currentFields.includes(\"length\") && {\n length: Yup.number().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Length', 'interger')).nullable(),\n }),\n // ...(currentFields.includes(\"defaultValue\") && {\n // defaultValue: Yup.string().required(\"Default Value is required\"),\n // }),\n // Conditionally validate defaultValue based on SolidFieldType\n ...(currentFields.includes(\"defaultValue\") && {\n defaultValue: Yup.mixed().nullable().when(\"type\", (type: any) => {\n switch (selectedType.value) {\n case \"int\":\n case \"bigint\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'integer'))\n .integer(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'integer'));\n case \"float\":\n case \"decimal\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'integer'))\n case \"shortText\":\n case \"longText\":\n case \"richText\":\n case \"json\":\n return Yup.string().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'boolean'))\n case \"boolean\":\n return Yup.boolean().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'boolean'))\n case \"date\":\n case \"datetime\":\n case \"time\":\n return Yup.date().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'Date'))\n default:\n return Yup.mixed().nullable(); // Default fallback if no match\n }\n }),\n }),\n\n // Add more conditional fields as needed\n\n ...(currentFields.includes(\"regexPattern\") && {\n regexPattern: Yup.string(),\n regexPatternNotMatchingErrorMsg: Yup.string(),\n }),\n ...(currentFields.includes(\"required\") && {\n required: Yup.boolean(),\n }),\n ...(currentFields.includes(\"unique\") && {\n unique: Yup.boolean(),\n }),\n ...(currentFields.includes(\"encrypt\") && {\n encrypt: Yup.boolean(),\n }),\n ...(currentFields.includes(\"encryptionType\") && encryptState == true && {\n encryptionType: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Encryption Type Value')\n ),\n }),\n ...(currentFields.includes(\"decryptWhen\") && encryptState == true && {\n\n decryptWhen: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Decrypt When Value')),\n }),\n ...(currentFields.includes(\"index\") && {\n index: Yup.boolean(),\n }),\n // ...(currentFields.includes(\"min\") && {\n // min: Yup.number().required(\"Min is required\"),\n // }),\n ...(currentFields.includes(\"min\") && {\n min: Yup.mixed().nullable()\n .when(\"type\", (type: any) => {\n switch (selectedType.value) {\n case \"int\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Min', 'interger'))\n .integer(ERROR_MESSAGES.FIELD_MUST_BE_AN('Min', 'interger'));\n case \"decimal\":\n case \"shortText\":\n case \"longText\":\n case \"richText\":\n case \"json\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Min', 'interger'));\n default:\n return Yup.mixed().nullable().nullable(); // Default fallback if no match\n }\n }),\n }),\n // ...(currentFields.includes(\"max\") && {\n // max: Yup.number().required(\"Max is required\"),\n // }),\n ...(currentFields.includes(\"max\") && {\n max: Yup.mixed()\n .when(\"type\", (type: any) => {\n switch (selectedType.value) {\n case \"int\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'interger'))\n .integer(ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'interger'))\n .test(\n ERROR_MESSAGES.GREATER_THAN_MIN,\n ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'greater than Min'),\n function (value) {\n const { min } = this.parent; // Access sibling field 'min'\n // if (min != null && value == null) {\n // // Trigger error if Min is filled but Max is empty\n // return this.createError({\n // message: \"Max is required if Min is specified\",\n // });\n // }\n return value == null || value > min; // Validate only if Max exists\n }\n );\n\n\n case \"decimal\":\n case \"shortText\":\n case \"longText\":\n case \"richText\":\n case \"json\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'interger'))\n .test(\n ERROR_MESSAGES.GREATER_THAN_MIN,\n ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'greater than Min'),\n function (value) {\n const { min } = this.parent; // Access sibling field 'min'\n // if (min != null && value == null) {\n // // Trigger error if Min is filled but Max is empty\n // return this.createError({\n // message: \"Max is required if Min is specified\",\n // });\n // }\n return value == null || value > min; // Validate only if Max exists\n }\n );\n\n\n default:\n return Yup.mixed().nullable().nullable(); // Default fallback if no match\n }\n }),\n }),\n ...(currentFields.includes(\"private\") && {\n private: Yup.boolean(),\n }),\n ...(currentFields.includes(\"mediaTypes\") && {\n mediaTypes: Yup.mixed().required(ERROR_MESSAGES.FIELD_MUST_BE_AN('Media Types', 'Arrays')).required(ERROR_MESSAGES.FIELD_REUQIRED('Media Types')),\n }),\n\n ...(currentFields.includes(\"mediaMaxSizeKb\") && {\n mediaMaxSizeKb: Yup.number().required(ERROR_MESSAGES.FIELD_REUQIRED('Media Max Size')),\n }),\n ...(currentFields.includes(\"mediaStorageProviderId\") && {\n mediaStorageProviderId: Yup.number().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Media Storage Provider')\n ),\n }),\n ...(currentFields.includes(\"mediaStorageProviderId\") && {\n mediaStorageProvider: Yup.object().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Media Storage Provider')\n ),\n }),\n\n ...(currentFields.includes(\"mediaEmbedded\") && {\n mediaEmbedded: Yup.boolean(),\n }),\n ...(currentFields.includes(\"relationType\") && {\n relationType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Relation Type ')),\n }),\n ...(currentFields.includes(\"relationCoModelSingularName\") && {\n relationCoModelSingularName: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Relation Model Singular Name')\n ),\n }),\n ...(currentFields.includes(\"relationCoModelFieldName\") && {\n relationCoModelFieldName: Yup.string()\n // .required(\n // \"Relation Model Field Name is required\"\n // ),\n }),\n ...(currentFields.includes(\"relationCreateInverse\") && {\n relationCreateInverse: Yup.boolean(),\n }),\n ...(currentFields.includes(\"relationCoModelFieldName\") && {\n relationCoModelFieldName: Yup.string().when(\"relationCreateInverse\", (relationCreateInverse: any, schema) => {\n if (relationCreateInverse.length > 0 && relationCreateInverse[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Relation Co Model Field Name'))\n } else {\n return schema.notRequired();\n }\n }),\n }),\n\n // ...(currentFields.includes(\"relationCascade\") && {\n // relationCascade: Yup.string().required(\n // \"Relation Cascade Value is required\"\n // ),\n // }),\n\n // Conditionally validate relationCascade based on relationType\n ...(currentFields.includes(\"relation\") && {\n relationCascade: Yup.string().when(\"relationType\", (relationType: any, schema) => {\n return relationType === \"one-to-one\"\n ? schema.required(ERROR_MESSAGES.RELATION_CASCADE)\n : schema.notRequired();\n }),\n }),\n\n\n ...(currentFields.includes(\"relationModelModuleName\") && {\n relationModelModuleName: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Relation Model Module Name Value')\n ),\n }),\n\n ...(currentFields.includes(\"relationFieldFixedFilter\") && {\n relationFieldFixedFilter: Yup.string().nullable(),\n }),\n\n ...(currentFields.includes(\"selectionDynamicProvider\") && {\n selectionDynamicProvider: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Selection Dynamic Provider Value ')\n ),\n }),\n ...(currentFields.includes(\"selectionDynamicProviderCtxt\") && {\n selectionDynamicProviderCtxt: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Selection Dynamic Provider Context Value')\n ).test(\n ERROR_MESSAGES.IS_VALID_JSON,\n ERROR_MESSAGES.COMPUTED_FIELD_VALIDATE_JSON,\n (value) => {\n if (!value) return false; // Ensure it's required\n try {\n JSON.parse(value); // Check if it's valid JSON\n return true;\n } catch {\n return false;\n }\n }\n ),\n }),\n\n ...(currentFields.includes(\"selectionStaticValues\") && {\n selectionStaticValues: Yup.array().of(\n Yup.string().matches(/^[\\w\\s\\d-]+:[\\w\\s-]+$/, ERROR_MESSAGES.FIELD_REUQIRED('Label and Value'))\n ),\n }),\n ...(currentFields.includes(\"computedFieldValueProvider\") && {\n computedFieldValueProvider: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Computed Field Function Value')\n ),\n }),\n ...(currentFields.includes(\"computedFieldValueProviderCtxt\") && {\n computedFieldValueProviderCtxt: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('\"Computed Field Value Provider Context Value')\n ).test(\n ERROR_MESSAGES.IS_VALID_JSON,\n ERROR_MESSAGES.COMPUTED_FIELD_VALIDATE_JSON,\n (value) => {\n if (!value) return false; // Ensure it's required\n try {\n JSON.parse(value); // Check if it's valid JSON\n return true;\n } catch {\n return false;\n }\n }\n ),\n\n }),\n ...(currentFields.includes(\"computedFieldValueType\") && {\n computedFieldValueType: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Computed Field Value Type')\n ),\n }),\n ...(currentFields.includes(\"computedFieldTriggerConfig\") && {\n computedFieldTriggerConfig: Yup.array()\n .of(\n Yup.object().shape({\n moduleName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Module name')),\n modelName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Model name')),\n operations: Yup.array().of(Yup.string()).min(1, ERROR_MESSAGES.SELECT_ONE_OPERATION),\n })\n )\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED('At least one trigger config'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Computed Field Trigger Config')),\n }),\n\n // ...(currentFields.includes(\"columnName\") && { columnName: Yup.string().nullable().matches(/^[a-z0-9_]+$/, ERROR_MESSAGES.SNAKE_CASE('column')), }),\n ...(currentFields.includes(\"isPrimaryKey\") && { isPrimaryKey: Yup.boolean(), }),\n\n ...(currentFields.includes(\"required\") && {\n required: Yup.boolean().when(\"isPrimaryKey\", (isPrimaryKey: any, schema) => {\n if (isPrimaryKey.length > 0 && isPrimaryKey[0] === true) {\n return schema.oneOf([true], \"Required must be true when field is marked as Primary Key\");\n }\n return schema;\n }),\n }),\n\n ...(currentFields.includes(\"unique\") && {\n unique: Yup.boolean().when(\"isPrimaryKey\", (isPrimaryKey: any, schema) => {\n if (isPrimaryKey.length > 0 && isPrimaryKey[0] === true) {\n return schema.oneOf([true], \"Unique must be true when field is marked as Primary Key\");\n }\n return schema;\n }).when(\"required\", (required: any, schema) => {\n // Disallow unique field that is not required\n if (required.length > 0 && required[0] === false) {\n return schema.oneOf([false], \"Unique fields must also be marked as Required\");\n }\n return schema;\n }),\n }),\n\n\n // ...(currentFields.includes(\"externalIdProvider\") && {\n // externalIdProvider: Yup.string().required(\n // \"ExternalId Provider Value is required\"\n // ),\n // }),\n // ...(currentFields.includes(\"externalIdProviderCtxt\") && {\n // externalIdProviderCtxt: Yup.string().required(\n // \"EexternalId Provider Context Value is required\"\n // ),\n // }),\n };\n\n return Yup.object(schema);\n};\n\nconst FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldMetaData, allFields, deleteModelFunction, setVisiblePopup, params, setIsRequiredPopUp, showToaster }: any) => {\n const booleanOptions = [\"false\", \"true\"];\n const [isBackPopupVisible, setIsBackPopupVisible] = useState(false);\n const [showColumnName, setShowColumnName] = useState<any>(false);\n\n const pathname = usePathname();\n\n const toast = useRef<Toast>(null);\n const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);\n const [currentFields, setCurrentFields] = useState(\n fetchCurrentFields(fieldMetaData && fieldMetaData.type, fieldDefaultMetaData)\n );\n\n const [triggerGetMediaStorageProvider, { data: MediaStorageProviderData, isFetching: isMediaStorageProviderFetching, error: MediaStorageProviderError }] = useLazyGetMediaStorageProvidersQuery();\n const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();\n const [triggerGetModels, { data: modelData, isFetching: ismodelFetching, error: modelError }] = useLazyGetModelsQuery();\n const [\n updateUserKey,\n { isLoading: isUpdateUserKeyLoading, isSuccess: isUpdateUserKeySuccess, isError: isUpdateUserKeyError, error: UpdateUserKeyError, data: newModel },\n ] = useUpdateUserKeyMutation();\n\n\n const [markdownText, setMarkdownText] = useState<string>();\n const [encryptState, setEncryptState] = useState<any>(false);\n\n const [showTypeFilter, setShowTypeFilter] = useState(fieldMetaData ? false : true);\n const [selectedType, setSelectedType] = useState(fieldMetaData?.type && { label: fieldMetaData?.type, value: fieldMetaData?.type });\n const [selectedComputedFieldValueType, setSelectedComputedFieldValueType] = useState(fieldMetaData?.computedFieldValueType && { label: fieldMetaData.computedFieldValueType, value: fieldMetaData.computedFieldValueType });\n const [selectionDynamicProvider, setSelectionDynamicProvider] = useState(fieldMetaData?.selectionDynamicProvider && { label: fieldMetaData.selectionDynamicProvider, value: fieldMetaData.selectionDynamicProvider });\n // const [externalIdProvider, setExternalIdProvider] = useState(fieldMetaData?.externalIdProvider && { label: fieldMetaData.externalIdProvider, value: fieldMetaData.externalIdProvider });\n const [selectionStaticValues, setSelectionStaticValues] = useState(fieldMetaData && fieldMetaData.selectionStaticValues && fieldMetaData.selectionStaticValues.length > 0 && fieldMetaData?.selectionStaticValues.filter((line: any) => line.trim() !== \"\").join(\"\\n\"));\n const [filteredComputedFieldValueTypes, setFilteredComputedFieldValueTypes] = useState([]);\n const [\n filteredSelectionDynamicProvider,\n setFilteredSelectionDynamicProvider,\n ] = useState([]);\n\n const [ormTypeOptions, setOrmTypeOptions] = useState([]);\n const [selectedOrmType, setSelectedOrmType] = useState<any>(fieldMetaData?.ormType);\n\n const [askForUserKeyField, setAskForUserKeyField] = useState(false);\n const [userKeyFieldData, setUserKeyFieldData] = useState([]);\n\n const [\n filteredExternalIdProvider,\n setFilteredExternalIdProvider,\n ] = useState([]);\n\n const [filteredSelectionEncryptionType, setFilteredSelectionEncryptionType] = useState([]);\n\n const [filteredSelectionDecryptWhen, setFilteredSelectionDecryptWhen] = useState([]);\n\n const items = Array.from({ length: 100000 }).map((_, i) => ({\n label: `Item #${i}`,\n value: i,\n }));\n\n const validationSchema = React.useMemo(\n () => createValidationSchema(currentFields, selectedType, allFields, fieldMetaData, encryptState),\n [currentFields, encryptState]\n );\n\n const [typeSelected, setTypeSelected] = useState(false);\n\n\n const searchMediaTypes = async (event: any) => {\n const query = event.query;\n try {\n const suggestionData: any = fieldDefaultMetaData.data.mediaTypes.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n return suggestionData;\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n const searchMediaStorageProvIderId = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n // filters: {\n // name: {\n // $containsi: query,\n // },\n // },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetMediaStorageProvider(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const searchModel = async (event: any) => {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n // filters: {\n // title: {\n // $containsi: query\n // }\n // }\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true\n });\n\n // Trigger the API call manually\n const result = await triggerGetModels(queryString).unwrap(); // Unwrap to access the data\n\n // Map the API response to AutoComplete format\n if (result && result.records) {\n const filteredMenu = result.records.map((m: any) => (\n {\n label: m.name,\n value: m.id,\n name: m.name,\n id: m.id,\n }\n ));\n\n // Update the suggestions in state\n return filteredMenu\n } else {\n // Handle the case where no data is returned\n return []\n }\n };\n\n\n\n\n const searchOrmTypes = async (event: any) => {\n const query = event.query;\n try {\n\n const ormType = fieldDefaultMetaData.data.ormType[modelMetaData?.dataSourceType];\n const _filteredOrmType = ormType[formik.values.type].ormTypes.map((e: any) => ({ label: e, value: e }))\n\n const suggestionData: any = _filteredOrmType.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n return suggestionData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n\n\n const searchRelationModelModuleNames = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap(); // Unwrap to access the data\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n const searchrelationCoModelSingularNames = async (event: any) => {\n try {\n const query = event.query;\n const queryData: any = {\n limit: 10,\n offset: 0,\n filters: {\n module: {\n name: {\n $containsi: formik.values.relationModelModuleName\n }\n }\n }\n };\n if (query) {\n queryData.filters.singularName = {\n $containsi: query,\n };\n }\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModels(queryString).unwrap(); // Unwrap to access the data\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n const searchModuleName = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap(); // Unwrap to access the data\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n const getSearchModelNameHandler = useCallback(\n (moduleName: string) => {\n return async (event: any) => {\n try {\n const query = event.query;\n const queryData: any = {\n limit: 10,\n offset: 0,\n filters: {\n module: {\n name: {\n $containsi: moduleName,\n },\n },\n },\n };\n\n if (query) {\n queryData.filters.singularName = {\n $containsi: query,\n };\n }\n\n const queryString = qs.stringify(queryData, { encodeValuesOnly: true });\n const result = await triggerGetModels(queryString).unwrap();\n return result?.records ?? [];\n } catch (error) {\n return [];\n }\n };\n },\n [] // or include dependencies like triggerGetModels if needed\n );\n\n const searchUserKeyField = () => {\n return userKeyFieldData;\n }\n\n const searchComputedFieldValueType = async (event: any) => {\n const query = event.query;\n try {\n\n const _filteredTypes: any = fieldDefaultMetaData.data.computedFieldValueTypes.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n\n setFilteredComputedFieldValueTypes(_filteredTypes);\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n setFilteredComputedFieldValueTypes([]);\n }\n };\n\n\n\n const searchSelectionDynamicProvider = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.selectionDynamicProviders.filter((t: any) => t.provider.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.provider, value: e.provider, help: e.help }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n\n const searchComputedProvider = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.computedProviders.filter((t: any) => t.provider.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.provider, value: e.provider, help: e.help }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n const searchExternalIdProvider = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.externalIdProviders.filter((t: any) => t.provider.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.provider, value: e.provider, help: e.help }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n\n const searchSelectionEncryptionType = async (event: any) => {\n const query = event.query;\n try {\n\n const _filteredTypes: any = fieldDefaultMetaData.data.encryptionTypes.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n\n setFilteredSelectionEncryptionType(_filteredTypes);\n return _filteredTypes\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n setFilteredSelectionEncryptionType([]);\n return []\n }\n };\n\n const searchSelectionDecryptWhen = async (event: any) => {\n const query = event.query;\n try {\n\n const _filteredTypes: any = fieldDefaultMetaData.data.decryptWhenTypes.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n\n setFilteredSelectionDecryptWhen(_filteredTypes);\n return _filteredTypes\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n setFilteredSelectionDecryptWhen([]);\n return []\n }\n };\n\n\n const isFormFieldValid = (formik: any, fieldName: string) => {\n return formik.touched[fieldName] && formik.errors[fieldName];\n };\n\n\n const mediaStorageProviderId = [\n { label: \"mediaStorageProviderId\", value: \"mediaStorageProviderId\" },\n { label: \"id2\", value: \"2\" },\n ];\n\n const selctionValueTypes = [\n { label: \"String\", value: \"string\" },\n { label: \"Int\", value: \"int\" },\n ];\n\n\n const relationCreateInverses = [\n { label: \"True\", value: \"true\" },\n { label: \"False\", value: \"false\" },\n ];\n\n const [selectedPasswordPolicy, setSelectedPasswordPolicy] = useState<any>(fieldMetaData?.regexPattern);\n const passwordPolicyOptions = [\n { label: 'Lowercase and Uppercase Alphabets Required', value: '^(?=.*[a-z])(?=.*[A-Z]).*$' },\n { label: 'Lowercase and Uppercase Alphabets and Numbers Required', value: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).*$' },\n { label: 'Lowercase and Uppercase Alphabets, Numbers, and Special Characters Required', value: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&]).*$' },\n { label: 'custom', value: 'custom' },\n\n ];\n\n const mediaTypesOptions = [\n { label: 'Image (Supports JPEG, PNG, WEBP, etc.)', value: 'image' },\n { label: 'Audio (Supports MP3, WAV, AAC, etc.)', value: 'audio' },\n { label: 'Video (Supports MP4, AVI, MKV, etc.)', value: 'video' },\n { label: 'File (Supports PDF, DOCX, TXT, etc.)', value: 'file' }\n ];\n\n\n const parseComputedFieldTriggerConfig = (input: any) => {\n try {\n if (typeof input === \"string\") {\n const parsed = JSON.parse(input);\n return Array.isArray(parsed) ? parsed : [parsed];\n } else if (Array.isArray(input)) {\n return input;\n } else if (typeof input === \"object\" && input !== null) {\n return [input];\n }\n } catch {\n return [{ moduleName: \"\", modelName: \"\", operations: [] }];\n }\n\n return [{ moduleName: \"\", modelName: \"\", operations: [] }];\n };\n\n\n const initialValues = {\n name: fieldMetaData ? fieldMetaData?.name : null,\n displayName: fieldMetaData ? fieldMetaData?.displayName : null,\n description: fieldMetaData ? fieldMetaData?.description : null,\n type: fieldMetaData ? fieldMetaData?.type : null,\n ormType: fieldMetaData ? fieldMetaData?.ormType : null,\n length: fieldMetaData ? fieldMetaData?.length : null,\n defaultValue: fieldMetaData ? fieldMetaData?.defaultValue : null,\n regexPattern: fieldMetaData ? fieldMetaData?.regexPattern : null,\n regexPatternNotMatchingErrorMsg: fieldMetaData ? fieldMetaData?.regexPatternNotMatchingErrorMsg : \"Invalid regex pattern\",\n required: fieldMetaData ? fieldMetaData?.required : false,\n unique: fieldMetaData ? fieldMetaData?.unique : false,\n encrypt: fieldMetaData ? fieldMetaData?.encrypt : false,\n encryptionType: fieldMetaData ? fieldMetaData?.encryptionType : null,\n decryptWhen: fieldMetaData ? fieldMetaData?.decryptWhen : null,\n index: fieldMetaData ? fieldMetaData?.index : false,\n min: fieldMetaData ? fieldMetaData?.min : null,\n max: fieldMetaData ? fieldMetaData?.max : null,\n private: fieldMetaData ? fieldMetaData?.private : false,\n mediaTypes: fieldMetaData ? fieldMetaData?.mediaTypes : null,\n mediaMaxSizeKb: fieldMetaData ? fieldMetaData?.mediaMaxSizeKb : null,\n mediaStorageProviderId: fieldMetaData ? fieldMetaData?.mediaStorageProvider?.id : null,\n mediaStorageProvider: fieldMetaData ? fieldMetaData?.mediaStorageProvider : null,\n mediaEmbedded: fieldMetaData ? (fieldMetaData?.mediaEmbedded && fieldMetaData?.mediaEmbedded.toString()) : \"true\",\n relationType: fieldMetaData ? fieldMetaData?.relationType : null,\n relationCoModelSingularName: fieldMetaData ? fieldMetaData?.relationCoModelSingularName : null,\n relationCoModelFieldName: fieldMetaData ? fieldMetaData?.relationCoModelFieldName : null,\n relationCreateInverse: fieldMetaData ? fieldMetaData?.relationCreateInverse : false,\n relationCascade: fieldMetaData ? fieldMetaData?.relationCascade : 'cascade',\n relationModelModuleName: fieldMetaData ? fieldMetaData?.relationModelModuleName : modelMetaData?.module.name,\n relationFieldFixedFilter: fieldMetaData ? fieldMetaData?.relationFieldFixedFilter : \"\",\n selectionDynamicProvider: fieldMetaData ? fieldMetaData?.selectionDynamicProvider : null,\n selectionDynamicProviderCtxt: fieldMetaData ? fieldMetaData?.selectionDynamicProviderCtxt : \"\",\n selectionStaticValues: fieldMetaData ? fieldMetaData?.selectionStaticValues : [\"\"],\n selectionValueType: fieldMetaData ? fieldMetaData?.selectionValueType : null,\n computedFieldValueProvider: fieldMetaData ? fieldMetaData?.computedFieldValueProvider : null,\n computedFieldValueType: fieldMetaData ? fieldMetaData?.computedFieldValueType : null,\n computedFieldTriggerConfig: parseComputedFieldTriggerConfig(fieldMetaData?.computedFieldTriggerConfig),\n computedFieldValueProviderCtxt: fieldMetaData ? fieldMetaData?.computedFieldValueProviderCtxt : \"\",\n // externalIdProvider: fieldMetaData ? fieldMetaData?.externalIdProvider : null,\n // externalIdProviderCtxt: fieldMetaData ? fieldMetaData?.externalIdProviderCtxt : \"\",\n isSystem: fieldMetaData ? fieldMetaData?.isSystem : false,\n columnName: fieldMetaData ? fieldMetaData?.columnName : null,\n isUserKey: fieldMetaData ? fieldMetaData?.isUserKey : false,\n relationCoModelColumnName: fieldMetaData ? fieldMetaData?.relationCoModelColumnName : null,\n relationJoinTableName: fieldMetaData ? fieldMetaData?.relationJoinTableName : null,\n userKey: fieldMetaData ? fieldMetaData?.userKey : null,\n enableAuditTracking: fieldMetaData ? fieldMetaData?.enableAuditTracking : true,\n isPrimaryKey: fieldMetaData ? fieldMetaData?.isPrimaryKey : false,\n isMultiSelect: fieldMetaData ? fieldMetaData?.isMultiSelect : false,\n };\n\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n setFieldMetaData((prevItems: any) => {\n const newFieldData = { ...values, isSystem: values.isSystem == true ? true : '' }\n const formtatedFieldPayload = fieldBasedPayloadFormating(newFieldData, currentFields, fieldMetaData);\n const existingIndex = prevItems.findIndex((item: any) => item.identifier === formtatedFieldPayload.identifier);\n let updatedItems;\n if (existingIndex !== -1) {\n updatedItems = [...prevItems];\n updatedItems[existingIndex] = formtatedFieldPayload;\n return updatedItems\n }\n else {\n updatedItems = [...prevItems, formtatedFieldPayload];\n if (params?.id !== 'new' && formtatedFieldPayload?.required && !formtatedFieldPayload?.defaultValue) {\n setIsRequiredPopUp(true);\n }\n // return [...prevItems, formtatedFieldPayload]\n }\n return updatedItems;\n });\n if (values.userKey) {\n const data = {\n modelName: values.relationCoModelSingularName,\n fieldName: values.userKey\n }\n updateUserKey(data);\n }\n // nextTab()\n setVisiblePopup(false);\n\n } catch (err) {\n console.error(ERROR_MESSAGES.CREATE_MODEL, err);\n }\n },\n validateOnBlur: false // Disable validation on blur\n\n\n\n });\n\n const showError = async () => {\n const errors = await formik.validateForm(); // Trigger validation and get the updated errors\n const errorMessages = Object.values(errors);\n\n\n if (errorMessages.length > 0) {\n toast?.current?.show({\n severity: \"error\",\n summary: ERROR_MESSAGES.SEND_REPORT,\n // sticky: true,\n life: 3000,\n //@ts-ignore\n content: (props) => (\n <div\n className=\"flex flex-column align-items-left\"\n style={{ flex: \"1\" }}\n >\n {errorMessages.map((m, index) => (\n <div className=\"flex align-items-center gap-2\" key={index}>\n <span className=\"font-bold text-900\">{String(m)}</span>\n </div>\n ))}\n </div>\n ),\n });\n }\n };\n\n useEffect(() => {\n if (isUpdateUserKeySuccess) {\n showToaster([newModel?.data?.message], \"success\");\n } if (isUpdateUserKeyError) {\n showToaster(UpdateUserKeyError, 'error')\n }\n }, [isUpdateUserKeySuccess, isUpdateUserKeyError])\n\n const handleTypeSelect = (e: any, label: string) => {\n\n setShowTypeFilter(false);\n setSelectedType({ label: label, value: e });\n formik.setFieldValue(\"type\", e);\n if (e == \"email\") {\n formik.setFieldValue(\"regexPattern\", \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\");\n } else {\n formik.setFieldValue(\"regexPattern\", \"\");\n }\n const ormType = fieldDefaultMetaData.data.ormType[modelMetaData?.dataSourceType];\n const availableOrmTypes = ormType[e];\n // setFilteredOrmTypes(availableOrmTypes.ormTypes.map((e: any) => ({\n // label: e,\n // value: e,\n // })));\n // setSelectedOrmType({ label: availableOrmTypes.ormTypes[0], value: availableOrmTypes.ormTypes[0] });\n setOrmTypeOptions(availableOrmTypes.ormTypes)\n formik.setFieldValue(\"ormType\", availableOrmTypes.ormTypes[0].label);\n setSelectedOrmType(availableOrmTypes.ormTypes[0].label)\n setCurrentFields(\n fetchCurrentFields(e, fieldDefaultMetaData)\n );\n // setTypeSelected(true);\n }\n\n\n useEffect((() => {\n setOrmTypeOptions(fieldDefaultMetaData && formik.values.type && fieldDefaultMetaData.data.ormType[modelMetaData?.dataSourceType][formik.values.type].ormTypes);\n }), [formik])\n\n\n useEffect(() => {\n if (fieldMetaData && fieldMetaData.columnName) {\n setShowColumnName(true)\n }\n }, [fieldMetaData])\n\n useEffect(() => {\n const fetchFields = async () => {\n const queryData: any = {\n limit: 100,\n offset: 0,\n filters: {\n singularName: {\n $eq: formik.values.relationCoModelSingularName\n }\n },\n populate: ['fields']\n };\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n const result = await triggerGetModels(queryString).unwrap();\n\n if (result && result.records) {\n if (!result?.records[0]?.userKeyField) {\n setAskForUserKeyField(true);\n const validUserKeyFields = result?.records[0]?.fields?.filter(\n (field: any) => field?.unique === true && field?.type === 'shortText'\n );\n setUserKeyFieldData(validUserKeyFields)\n } else {\n setAskForUserKeyField(false);\n setUserKeyFieldData([]);\n }\n }\n }\n if (formik.values.relationCoModelSingularName) {\n fetchFields();\n }\n }, [formik.values.relationCoModelSingularName])\n\n const updateEnumValues = (index: number, updatedString: string) => {\n const updatedValues = formik.values.selectionStaticValues.map((enumValue: string, i: number) =>\n i === index ? updatedString : enumValue\n );\n formik.setFieldValue(\"selectionStaticValues\", updatedValues);\n };\n\n const addEnumValue = () => {\n formik.setFieldValue(\"selectionStaticValues\", [...formik.values.selectionStaticValues, \":\"]);\n };\n\n const deleteEnumValue = (index: number) => {\n if (formik.values.selectionStaticValues.length > 1) {\n const updatedRows = formik.values.selectionStaticValues.filter((_: string, rowIndex: number) => rowIndex !== index);\n formik.setFieldValue(\"selectionStaticValues\", updatedRows);\n } else {\n\n }\n };\n\n useEffect(() => {\n if (formik.dirty) {\n setIsDirty(true);\n }\n }, [formik.dirty]);\n\n const handleChange = (index: number, updatedRow: any) => {\n const updatedRows = [...formik.values.computedFieldTriggerConfig];\n updatedRows[index] = updatedRow;\n formik.setFieldValue(\"computedFieldTriggerConfig\", updatedRows);\n };\n\n const handleAdd = () => {\n const updatedRows = [\n ...formik.values.computedFieldTriggerConfig,\n { moduleName: '', modelName: '', operations: [] }\n ];\n formik.setFieldValue(\"computedFieldTriggerConfig\", updatedRows);\n };\n\n const handleDelete = (index: number) => {\n const updatedRows = formik.values.computedFieldTriggerConfig.filter((_: any, i: number) => i !== index);\n formik.setFieldValue(\"computedFieldTriggerConfig\", updatedRows.length > 0 ? updatedRows : [{ moduleName: '', modelName: '', operations: [] }]);\n };\n\n console.log(\"formik.values.computedFieldTriggerConfig\", formik.values.computedFieldTriggerConfig);\n\n const computedFieldSearchHandlers = useMemo(() => {\n return formik.values.computedFieldTriggerConfig.map(row =>\n getSearchModelNameHandler(row.moduleName)\n );\n }, [formik.values.computedFieldTriggerConfig]);\n\n\n return (\n <div>\n <Toast ref={toast} />\n <div>\n <form onSubmit={formik.handleSubmit}>\n <div className=\"solid-field-metadata-form-header\">\n {pathname.includes('create') ?\n <>\n <div className=\"flex align-items-center gap-3\">\n {showTypeFilter === false ?\n <>\n <Button\n text\n icon='pi pi-arrow-left'\n size=\"small\"\n type=\"button\"\n aria-label=\"Back\"\n className='max-w-2rem bg-primary-reverse text-color solid-icon-button'\n onClick={() => {\n if (!formik.values.displayName) {\n setShowTypeFilter(true)\n } else {\n setIsBackPopupVisible(true)\n }\n }\n }\n />\n <div className=\"form-wrapper-title solid-mobile-text-wrapper text-base\">{capitalize(modelMetaData?.displayName)}</div>\n </>\n :\n <div className=\"flex text-2xl font-bold align-items-center ml-4\" style={{ color: '#000' }}>\n <div className=\"form-wrapper-title solid-mobile-text-wrapper text-base\">Model - {capitalize(modelMetaData?.displayName)}</div>\n </div>\n }\n </div>\n <div className=\"flex align-items-center gap-3 close-popup\">\n <Button icon=\"pi pi-times\" rounded text aria-label=\"Cancel\" type=\"reset\" size=\"small\" onClick={() => setVisiblePopup(false)}\n className='max-w-2rem bg-primary-reverse text-color' />\n </div>\n </>\n :\n <>\n <div className=\"flex align-items-center gap-3\">\n {!fieldMetaData?.id &&\n <Button\n text\n icon='pi pi-arrow-left'\n size=\"small\"\n type=\"button\"\n aria-label=\"Back\"\n className='max-w-2rem bg-primary-reverse text-color solid-icon-button'\n onClick={() => {\n if (!formik.values.displayName) {\n setShowTypeFilter(true)\n } else {\n setIsBackPopupVisible(true)\n }\n }\n } />\n }\n {fieldMetaData ?\n\n <div className=\"form-wrapper-title solid-mobile-text-wrapper text-base\">Edit {capitalize(fieldMetaData?.displayName)}</div>\n :\n <div className=\"form-wrapper-title solid-mobile-text-wrapper text-base\">Add New {selectedType?.label && !showTypeFilter && capitalize(selectedType.label)} Field to {capitalize(modelMetaData?.displayName)}</div>\n }\n </div>\n <div className=\"flex align-items-center gap-3 close-popup\">\n <Button icon=\"pi pi-times\" text aria-label=\"Cancel\" type=\"reset\" size=\"small\" onClick={() => setVisiblePopup(false)}\n className='max-w-2rem bg-primary-reverse text-color'\n />\n </div>\n </>\n }\n </div>\n {showTypeFilter === true ?\n <FieldSelector\n handleTypeSelect={handleTypeSelect}\n modelMetaData={modelMetaData}\n ></FieldSelector>\n :\n <div className=\"p-4\" style={{ maxHeight: '80vh', overflowY: 'auto', overflowX: 'hidden' }}>\n <div className=\"p-d-flex p-jc-center creat-field-for form-dem\">\n <div className=\"p-fluid\" style={{ position: 'relative' }}>\n {/* <div className=\"mb-3\">\n <div className=\"form-wrapper-title\">{fieldMetaData ? `Edit ${capitalize(selectedType.label)} Field` : `Add a new ${capitalize(selectedType.label)} Field`}</div>\n </div> */}\n <TabView panelContainerClassName=\"px-0\">\n <TabPanel\n header=\"Basic Info\"\n className={(formik.touched.hasOwnProperty(\"name\") && formik.errors.hasOwnProperty(\"name\")) || (formik.touched.hasOwnProperty(\"displayName\") && formik.errors.hasOwnProperty(\"displayName\")) || (formik.touched.hasOwnProperty(\"displayName\") && formik.errors.hasOwnProperty(\"ormType\")) ? \"tab-error-heading\" : \"\"}\n // rightIcon=\"pi pi-info-circle ml-2\"\n >\n <div className=\"formgrid grid\">\n {currentFields.includes(\"displayName\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label htmlFor=\"displayName\" className=\"form-field-label\">\n Display Name\n </label>\n <InputText\n type=\"text\"\n disabled={fieldMetaData?.id}\n id=\"displayName\"\n name=\"displayName\"\n onChange={(e) => {\n formik.setFieldValue(\"displayName\", e.target.value);\n const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(e.target.value);\n formik.setFieldValue(\"name\", toCamelCase);\n if (showColumnName) {\n formik.setFieldValue(\"columnName\", toSnakeCase);\n }\n\n }}\n value={formik.values.displayName}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"displayName\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"displayName\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.displayName?.toString()}\n />\n )}\n </div>\n )}\n\n\n {currentFields.includes(\"name\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3 md:mt-0\">\n <label htmlFor=\"name\" className=\"form-field-label\">\n Name\n </label>\n <InputText\n disabled={fieldMetaData?.id}\n type=\"text\"\n id=\"name\"\n name=\"name\"\n onChange={formik.handleChange}\n value={formik.values.name}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"name\"),\n })}\n />\n {isFormFieldValid(formik, \"name\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.name?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"description\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3 md:mt-4\">\n <label htmlFor=\"description\" className=\"form-field-label\">\n Description\n </label>\n <InputTextarea\n aria-describedby=\"Description of your field\"\n id=\"description\"\n name=\"description\"\n onChange={formik.handleChange}\n value={formik.values.description}\n rows={5}\n cols={30}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"description\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"description\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.description?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\"columnName\") && (\n <div className=\"field col-12 md:col-6 mt-4\">\n <div className=\"flex align-items-center gap-2\">\n <Checkbox onChange={e => {\n setShowColumnName(e.checked);\n if (e.checked === true) {\n const { toCamelCase, toSnakeCase, toPluralCamelCase } = getSingularAndPlural(formik.values.displayName);\n if (pathname.includes('create')) {\n formik.setFieldValue(\"columnName\", toSnakeCase);\n }\n } else {\n formik.setFieldValue(\"columnName\", null);\n }\n\n }} checked={showColumnName} disabled={fieldMetaData?.id}></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label\">\n Set Column Name\n </label>\n </div>\n {showColumnName &&\n <div className=\"field col-12 flex-flex-column gap-2 mt-4\">\n <label htmlFor=\"columnName\" className=\"form-field-label\">\n Column Name\n </label>\n <InputText\n disabled={fieldMetaData?.id}\n type=\"text\"\n id=\"columnName\"\n name=\"columnName\"\n onChange={formik.handleChange}\n value={formik.values.columnName}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"columnName\"),\n })}\n />\n {isFormFieldValid(formik, \"columnName\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.columnName?.toString()}\n />\n )}\n </div>\n }\n </div>\n )}\n\n\n {/* {currentFields.includes(\"type\") && (\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"type\" className=\"form-field-label\">\n Type\n </label>\n <AutoComplete\n value={selectedType}\n suggestions={filteredTypes}\n invalid={isFormFieldValid(formik, \"type\")}\n completeMethod={searchTypes}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n formik.setFieldTouched('type', true); // Manually mark as touched\n setSelectedType(e.value);\n formik.setFieldValue(\"type\", e.value.value);\n if (e.value.value == \"email\") {\n formik.setFieldValue(\"regexPattern\", \"/^[a-zA-Z0-9. _%+-]+@[a-zA-Z0-9. -]+\\\\. [a-zA-Z]{2,}$/\");\n } else {\n formik.setFieldValue(\"regexPattern\", \"\");\n }\n const _filteredOrmType: any = fieldDefaultMetaData.data.ormType.filter((t: any) => t.solidType == e.value.value);\n setSelectedOrmType(_filteredOrmType[0].value)\n formik.setFieldValue(\"ormType\", _filteredOrmType[0].value);\n\n setCurrentFields(\n fetchCurrentFields(e.value.value, fieldDefaultMetaData)\n );\n }}\n\n\n />\n\n {isFormFieldValid(formik, \"type\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.type?.toString()}\n />\n )}\n </div>\n </div>\n )} */}\n\n </div>\n\n </TabPanel>\n\n <TabPanel header=\"Advanced Config\"\n\n // rightIcon=\"pi pi-cog ml-2\"\n >\n {formik?.values?.type?.length > 0 && (\n <div className=\"formgrid grid\">\n {currentFields.includes(\"length\") && (\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"length\" className=\"form-field-label\">\n Length\n </label>\n <InputNumber\n // type=\"text\"\n id=\"length\"\n name=\"length\"\n onValueChange={formik.handleChange}\n value={formik.values.length}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"length\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"length\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.length?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"defaultValue\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"defaultValue\"\n className=\"form-field-label\"\n >\n Default Value\n </label>\n {/* <InputText\n type=\"text\"\n id=\"defaultValue\"\n name=\"defaultValue\"\n onChange={formik.handleChange}\n value={formik.values.defaultValue}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"defaultValue\"\n ),\n })}\n /> */}\n {(selectedType.value === \"shortText\" || selectedType.value === \"longText\" || selectedType.value === \"richText\" || selectedType.value === \"json\" || selectedType.value === \"password\" || selectedType.value === \"selectionStatic\") &&\n <InputText\n type=\"text\"\n id=\"defaultValue\"\n name=\"defaultValue\"\n onChange={formik.handleChange}\n value={formik.values.defaultValue}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"defaultValue\"\n ),\n })}\n />\n }\n {(selectedType.value === \"float\" || selectedType.value === \"decimal\") &&\n <InputNumber\n id=\"defaultValue\"\n name=\"defaultValue\"\n minFractionDigits={2}\n maxFractionDigits={5}\n value={formik.values.defaultValue}\n onValueChange={(e) => formik.setFieldValue(\"defaultValue\", e.value)} // Ensure correct value change handling\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"defaultValue\"),\n })}\n />\n }\n {(selectedType.value === \"int\" || selectedType.value === \"bigint\") &&\n <InputNumber\n id=\"defaultValue\"\n name=\"defaultValue\"\n value={formik.values.defaultValue}\n onValueChange={(e) => formik.setFieldValue(\"defaultValue\", e.value)} // Ensure correct value change handling\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"defaultValue\"),\n })}\n />\n }\n {selectedType.value === \"boolean\" &&\n <SelectButton\n value={formik.values.defaultValue ? formik.values.defaultValue : \"false\"}\n onChange={(e) => formik.setFieldValue(\"defaultValue\", e.value)} // Custom handling for boolean input\n options={booleanOptions}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"defaultValue\"),\n })}\n />\n }\n {(selectedType.value === \"date\" || selectedType.value === \"datetime\" || selectedType.value === \"time\") &&\n <Calendar\n id=\"defaultValue\"\n name=\"defaultValue\"\n value={formik.values.defaultValue ? new Date(formik.values.defaultValue) : null}\n onChange={(e) => formik.setFieldValue(\"defaultValue\", e.value)} // Use setFieldValue for proper handling\n showTime={formik.values.type === \"datetime\"} // Show time picker for datetime\n timeOnly={formik.values.type === \"time\"} // Time-only for time\n dateFormat=\"yy-mm-dd\"\n hourFormat=\"24\" // 24-hour format for time\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"defaultValue\"),\n })}\n />\n }\n {isFormFieldValid(formik, \"defaultValue\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.defaultValue?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\"mediaTypes\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2\">\n <label\n htmlFor=\"mediaTypes\"\n className=\"form-field-label\"\n >\n Media Type\n </label>\n {/* <MultipleSelectAutoCompleteField\n key=\"mediaTypes\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName=\"mediaTypes\"\n fieldNameId=\"mediaTypes\"\n labelKey=\"label\"\n valueKey=\"value\"\n searchData={searchMediaTypes}\n existingData={formik.values.mediaTypes}\n /> */}\n\n {/* {selectedType.value === \"mediaSingle\" &&\n <SingleSelectAutoCompleteField\n key=\"mediaTypes\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName=\"mediaTypes\"\n fieldNameId=\"mediaTypes\"\n labelKey=\"label\"\n valueKey=\"value\"\n searchData={searchMediaTypes}\n existingData={formik.values.mediaTypes}\n />\n } */}\n\n {isFormFieldValid(formik, \"mediaTypes\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.mediaTypes?.toString()}\n />\n )}\n <MultiSelect value={formik.values.mediaTypes} onChange={(e) => formik.setFieldValue(\"mediaTypes\", e.value)} options={mediaTypesOptions} optionLabel=\"label\"\n placeholder=\"Select Media Types\" maxSelectedLabels={3} display=\"chip\" className=\"\" />\n\n\n {/* <Dropdown\n id=\"mediaTypes\"\n name=\"mediaTypes\"\n multiple\n value={formik.values.mediaTypes}\n options={fieldDefaultMetaData.data.mediaTypes}\n onChange={(e) =>\n formik.setFieldValue(\"mediaTypes\", e.value)\n }\n placeholder=\"Select a Media Type\"\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaTypes\"\n ),\n })}\n /> */}\n\n\n </div>\n )}\n {currentFields.includes(\"mediaMaxSizeKb\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3 md:mt-0\">\n <label\n htmlFor=\"mediaMaxSizeKb\"\n className=\"form-field-label\"\n >\n Media Max Size (Mb)\n </label>\n <InputNumber\n id=\"mediaMaxSizeKb\"\n name=\"mediaMaxSizeKb\"\n onValueChange={formik.handleChange}\n value={formik.values.mediaMaxSizeKb}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaMaxSizeKb\"\n ),\n })}\n />\n\n {isFormFieldValid(formik, \"mediaMaxSizeKb\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.mediaMaxSizeKb?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"mediaStorageProviderId\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"mediaStorageProviderId\"\n className=\"form-field-label\"\n >\n Media Storage Provider\n </label>\n\n <SingleSelectAutoCompleteField\n key=\"mediaStorageProviderId\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n relationField={true}\n fieldName=\"mediaStorageProvider\"\n fieldNameId=\"mediaStorageProviderId\"\n labelKey=\"name\"\n valueKey=\"value\"\n searchData={searchMediaStorageProvIderId}\n existingData={formik.values.mediaStorageProvider}\n />\n\n {isFormFieldValid(\n formik,\n \"mediaStorageProvider\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.mediaStorageProviderId?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\"mediaEmbedded\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"mediaEmbedded\"\n className=\"form-field-label\"\n >\n Media Embedded\n </label>\n {/* <InputText\n type=\"text\"\n id=\"mediaEmbedded\"\n name=\"mediaEmbedded\"\n onChange={formik.handleChange}\n value={formik.values.mediaEmbedded}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaEmbedded\"\n ),\n })}\n /> */}\n <SelectButton\n value={formik.values.mediaEmbedded}\n // onChange={formik.handleChange}\n onChange={(e) => {\n formik.setFieldValue(\"mediaEmbedded\", e.value);\n }}\n options={booleanOptions}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaEmbedded\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"mediaEmbedded\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.mediaEmbedded?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"relationType\") && (\n <div className=\"field col-12 flex-flex-column gap-2 mt-3\">\n {/* <label\n htmlFor=\"relationType\"\n className=\"form-field-label\"\n >\n Relation Type\n </label>\n <Dropdown\n id=\"relationType\"\n name=\"relationType\"\n value={formik.values.relationType}\n options={fieldDefaultMetaData.data.relationTypes}\n onChange={(e) =>\n formik.setFieldValue(\"relationType\", e.value)\n }\n placeholder=\"Select a Data Source\"\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationType\"\n ),\n })}\n /> */}\n\n <label\n htmlFor=\"relationType\"\n className=\"form-field-label \"\n >\n Relation Type\n </label>\n <SelectButton\n value={formik.values.relationType}\n options={fieldDefaultMetaData.data.relationTypes}\n onChange={(e) => {\n formik.setFieldValue(\"relationType\", e.value);\n if (e.value === \"one-to-many\") {\n formik.setFieldValue(\"relationCreateInverse\", true);\n }\n }\n }\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"relationType\"),\n })}\n optionLabel=\"label\"\n />\n\n {/* <div className=\"align-items-center\">\n <div className=\"flex mt-3\">\n {fieldDefaultMetaData?.data?.relationTypes.map((i: any) => (\n <div key={i.value} className=\"mr-3\">\n <RadioButton\n inputId=\"ingredient1\"\n name=\"pizza\"\n value={i.value}\n onChange={(e) => formik.setFieldValue(\"relationType\", e.value)}\n checked={formik.values.relationType === i.value}\n />\n <label htmlFor=\"ingredient1\" className=\"form-field-label ml-2\">{i.value}</label>\n </div>\n ))}\n </div>\n </div> */}\n\n {isFormFieldValid(formik, \"relationType\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.relationType?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"relationType\") && (formik.values.relationType === \"many-to-one\" || formik.values.relationType === \"one-to-many\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"relationCascade\"\n className=\"form-field-label\"\n >\n Relation Cascade\n </label>\n <Dropdown\n id=\"relationCascade\"\n name=\"relationCascade\"\n value={formik.values.relationCascade}\n options={fieldDefaultMetaData.data.cascadeTypes}\n onChange={(e) =>\n formik.setFieldValue(\n \"relationCascade\",\n e.value\n )\n }\n placeholder=\"Cascade\"\n className={classNames(\"w-full\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationCascade\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"relationCascade\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.relationCascade?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\"relationModelModuleName\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"relationModelModuleName\"\n className=\"form-field-label\"\n >\n Co-Module Name\n </label>\n\n <SingleSelectAutoCompleteField\n key=\"relationModelModuleName\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName=\"relationModelModuleName\"\n fieldNameId=\"relationModelModuleName\"\n labelKey=\"name\"\n valueKey=\"name\"\n searchData={searchRelationModelModuleNames}\n existingData={formik.values.relationModelModuleName}\n additionalAction={(e: any) => {\n formik.setFieldValue(\"relationCoModelSingularName\", \"\");\n formik.setFieldValue(\"relationCoModelColumnName\", \"\");\n formik.setFieldValue(\"relationJoinTableName\", \"\");\n }}\n />\n\n {/* <AutoComplete\n value={selectedRelationModelModuleName}\n suggestions={filteredRelationModelModuleNames}\n invalid={isFormFieldValid(\n formik,\n \"relationModelModuleName\"\n )}\n completeMethod={searchRelationModelModuleNames}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n setSelectedRelationModelModuleName(e.value);\n formik.setFieldValue(\n \"relationModelModuleName\",\n e.value\n );\n }}\n /> */}\n\n {isFormFieldValid(\n formik,\n \"relationModelModuleName\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.relationModelModuleName?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\n \"relationCoModelSingularName\"\n ) && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"relationCoModelSingularName\"\n className=\"form-field-label\"\n >\n Co-Model Name\n </label>\n\n\n <SingleSelectAutoCompleteField\n key=\"relationCoModelSingularName\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName=\"relationCoModelSingularName\"\n fieldNameId=\"relationCoModelSingularName\"\n labelKey=\"displayName\"\n valueKey=\"singularName\"\n searchData={searchrelationCoModelSingularNames}\n existingData={formik.values.relationCoModelSingularName}\n />\n\n {isFormFieldValid(\n formik,\n \"relationCoModelSingularName\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.relationCoModelSingularName?.toString()}\n />\n )}\n {formik.values.relationType === \"one-to-many\" &&\n <p className=\"fieldSubTitle\">This is the child model.</p>\n }\n {formik.values.relationType === \"many-to-one\" &&\n <p className=\"fieldSubTitle\">This is the parent model.</p>\n }\n </div>\n )}\n {currentFields.includes(\"relationCoModelColumnName\") && (formik.values.relationType === \"many-to-many\" || formik.values.relationType === \"many-to-one\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"relationCoModelColumnName\"\n className=\"form-field-label\"\n >\n Relation Co-Model Column Name\n </label>\n <InputText\n type=\"text\"\n id=\"relationCoModelColumnName\"\n name=\"relationCoModelColumnName\"\n onChange={formik.handleChange}\n disabled={fieldMetaData?.id}\n value={formik.values.relationCoModelColumnName}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationCoModelColumnName\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"relationCoModelColumnName\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.relationCoModelColumnName?.toString()}\n />\n )}\n <p className=\"fieldSubTitle\">Allows you to control the column name of the foreign key. Eg. when adding a country field to state model, by default foreign key column in the state table will be called country_id, use this field to create a foreign key with a different name. </p>\n\n </div>\n )}\n {askForUserKeyField && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"userKey\"\n className=\"form-field-label\"\n >\n Set User Key\n </label>\n\n <SingleSelectAutoCompleteField\n key=\"userKey\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName=\"userKey\"\n fieldNameId=\"userKey\"\n labelKey=\"displayName\"\n valueKey=\"name\"\n searchData={searchUserKeyField}\n existingData={formik.values.userKey}\n />\n <p className=\"fieldSubTitle\">The co-model you have selected does not have a user key specified. Use the above dropdown to choose from one of the \"unique\" fields in this co-model to be set as its userkey. User keys are required in co-models being used in many-to-one or one-to-many relations as in SolidX when a many-to-one field is rendered it uses an autocomplete dropdown, and the user key value is what is displayed as the label in the dropdown.</p>\n {isFormFieldValid(\n formik,\n \"userKey\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.userKey?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\n \"relationFieldFixedFilter\"\n ) && (\n <div className=\"field col-12 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"relationFieldFixedFilter\"\n className=\"form-field-label\"\n >\n Relation Field Fixed Filter\n </label>\n\n <InputTextarea\n aria-describedby=\"Fixed Filter\"\n id=\"relationFieldFixedFilter\"\n name=\"relationFieldFixedFilter\"\n onChange={formik.handleChange}\n value={formik.values.relationFieldFixedFilter}\n rows={5}\n cols={30}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationFieldFixedFilter\"\n ),\n })}\n />\n {/* \n <InputText\n type=\"text\"\n id=\"relationFieldFixedFilter\"\n name=\"relationFieldFixedFilter\"\n onChange={formik.handleChange}\n disabled={fieldMetaData?.id}\n value={formik.values.relationFieldFixedFilter}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationFieldFixedFilter\"\n ),\n })}\n /> */}\n {isFormFieldValid(formik, \"relationFieldFixedFilter\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.relationFieldFixedFilter?.toString()}\n />\n )}\n <p className=\"fieldSubTitle\">Many to one fields are rendered as autocomplete dropdown on the SolidX ui. Use the fixed filter to load a pre-filtered set of records from the co-model. Please note user input entered in the autocomplete is used to apply a dynamic filter.</p>\n\n </div>\n )}\n\n {currentFields.includes(\"relationCreateInverse\") && (\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-3\">\n <label htmlFor=\"relationCreateInverse\" className=\"form-field-label\">\n Relation Create Inverse\n </label>\n <div className=\"flex align-items-center\">\n <Checkbox\n inputId=\"relationCreateInverse\"\n name=\"relationCreateInverse\"\n checked={formik.values.relationCreateInverse}\n disabled={formik.values.relationType === \"one-to-many\" ? true : false}\n onChange={(e) => formik.setFieldValue(\"relationCreateInverse\", e.checked)}\n />\n <label htmlFor=\"relationCreateInverse\" className=\"ml-2\">Create Inverse</label>\n </div>\n {isFormFieldValid(formik, \"relationCreateInverse\") && (\n <Message severity=\"error\" text={formik?.errors?.relationCreateInverse?.toString()} />\n )}\n </div>\n )}\n\n {currentFields.includes(\"relationCoModelFieldName\") && formik.values.relationCreateInverse && !formik.values.relationCoModelSingularName && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <Message text=\"Please select Co-model\" />\n </div>\n )}\n {currentFields.includes(\"relationCoModelFieldName\") && formik.values.relationCreateInverse && formik.values.relationCoModelSingularName && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"relationCoModelFieldName\"\n className=\"form-field-label\"\n >\n Field Name In {formik.values.relationCoModelSingularName} Model\n </label>\n <InputText\n type=\"text\"\n id=\"relationCoModelFieldName\"\n name=\"relationCoModelFieldName\"\n onChange={formik.handleChange}\n disabled={fieldMetaData?.id}\n value={formik.values.relationCoModelFieldName}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationCoModelFieldName\"\n ),\n })}\n />\n {formik.values.relationType === \"one-to-many\" &&\n <p className=\"fieldSubTitle\">This is a field that is created in the child model. In this case a <span style={{ fontWeight: \"700\" }}>{formik.values.relationCoModelFieldName ?? formik.values.relationCoModelSingularName}</span> field will be created in the {formik.values.relationCoModelSingularName} when setting create inverse true.</p>\n }\n {formik.values.relationType === \"many-to-one\" &&\n <p className=\"fieldSubTitle\">This is a field that is created in the parent model. In this case a <span style={{ fontWeight: \"700\" }}>{formik.values.relationCoModelFieldName ?? `${formik.values.relationCoModelSingularName}s`}</span> field will be created in the {formik.values.relationCoModelSingularName} when setting create inverse true.</p>\n }\n {formik.values.relationType === \"many-to-many\" &&\n <p className=\"fieldSubTitle\">In this case a {formik.values.relationCoModelFieldName} field will be created in the <span style={{ fontWeight: \"700\" }}>{formik.values.relationCoModelSingularName ?? '{{}}'}</span> when setting create inverse true.</p>\n }\n {isFormFieldValid(formik, \"relationCoModelFieldName\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.relationCoModelFieldName?.toString()}\n />\n )}\n </div>\n )}\n\n {/* {currentFields.includes(\"joinColumnName\") && formik.values.relationType === \"many-to-many\" && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"joinColumnName\"\n className=\"form-field-label\"\n >\n Join Column Name\n </label>\n <InputText\n type=\"text\"\n id=\"joinColumnName\"\n name=\"joinColumnName\"\n onChange={formik.handleChange}\n value={formik.values.joinColumnName}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"joinColumnName\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"joinColumnName\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.joinColumnName?.toString()}\n />\n )}\n\n </div>\n )} */}\n\n\n\n {currentFields.includes(\"relationJoinTableName\") && formik.values.relationType === \"many-to-many\" && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"relationJoinTableName\"\n className=\"form-field-label\"\n >\n Relation Join Table Name\n </label>\n <InputText\n type=\"text\"\n id=\"relationJoinTableName\"\n name=\"relationJoinTableName\"\n onChange={formik.handleChange}\n disabled={fieldMetaData?.id}\n value={formik.values.relationJoinTableName}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationJoinTableName\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"relationJoinTableName\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.relationJoinTableName?.toString()}\n />\n )}\n\n </div>\n )}\n\n {currentFields.includes(\"selectionDynamicProvider\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"selectionDynamicProvider\"\n className=\"form-field-label\"\n >\n Selection Dynamic Provider\n </label>\n\n <SingleSelectAutoCompleteField\n key=\"selectionDynamicProvider\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n // relationField={false}\n fieldName=\"selectionDynamicProvider\"\n fieldNameId={null}\n labelKey=\"label\"\n valueKey=\"value\"\n searchData={searchSelectionDynamicProvider}\n existingData={formik.values.selectionDynamicProvider}\n additionalAction={(e: any) => setMarkdownText(e.target.value.help)}\n />\n\n\n {/* <AutoComplete\n value={selectionDynamicProvider}\n suggestions={filteredSelectionDynamicProvider}\n invalid={isFormFieldValid(\n formik,\n \"selectionDynamicProvider\"\n )}\n completeMethod={searchSelectionDynamicProvider}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n setSelectionDynamicProvider(e.value);\n formik.setFieldValue(\n \"selectionDynamicProvider\",\n e.value.value\n );\n }}\n /> */}\n\n {isFormFieldValid(\n formik,\n \"selectionDynamicProvider\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.selectionDynamicProvider?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"selectionValueType\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"selectionValueType\"\n className=\"form-field-label\"\n >\n Select Value Type\n </label>\n <Dropdown\n id=\"selectionValueType\"\n name=\"selectionValueType\"\n value={formik.values.selectionValueType}\n options={selctionValueTypes}\n onChange={(e) =>\n formik.setFieldValue(\n \"selectionValueType\",\n e.value\n )\n }\n placeholder=\"Select Value Type\"\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"selectionValueType\"\n ),\n })}\n />\n {isFormFieldValid(\n formik,\n \"selectionValueType\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.selectionValueType?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\"selectionStaticValues\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"selectionStaticValues\"\n className=\"form-field-label\"\n >\n Selection Static Values\n </label>\n {/* <InputTextarea\n value={selectionStaticValues}\n placeholder=\"male:Male\"\n onChange={(e) => {\n const data = e.target.value\n .split(\"\\n\")\n .filter((line) => line.trim() !== \"\");\n\n setSelectionStaticValues(e.target.value);\n formik.setFieldValue(\n \"selectionStaticValues\",\n data\n );\n }}\n rows={5}\n cols={30}\n /> */}\n {formik.values.selectionStaticValues.map((enumValue: string, index: number) => (\n <SelectionStaticValues\n key={index}\n enumValue={enumValue}\n onUpdate={(updatedString: any) => updateEnumValues(index, updatedString)}\n onDelete={() => deleteEnumValue(index)}\n onAdd={addEnumValue}\n />\n ))\n }\n {isFormFieldValid(\n formik,\n \"selectionStaticValues\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.selectionStaticValues?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\"computedFieldValueType\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"computedFieldValueType\"\n className=\"form-field-label\"\n >\n Computed Field Value Type\n </label>\n <AutoComplete\n\n value={selectedComputedFieldValueType}\n invalid={isFormFieldValid(formik, \"computedFieldValueType\")}\n suggestions={filteredComputedFieldValueTypes}\n completeMethod={searchComputedFieldValueType}\n // virtualScrollerOptions={{ itemSize: 38 }}\n virtualScrollerOptions={getVirtualScrollerOptions({\n itemsLength: filteredComputedFieldValueTypes.length,\n })}\n field=\"label\"\n dropdown\n className=\"solid-standard-autocomplete\"\n onChange={(e) => {\n setSelectedComputedFieldValueType(e.value);\n formik.setFieldValue(\"computedFieldValueType\", e.value.value);\n }}\n />\n\n {/* <Dropdown\n id=\"mediaTypes\"\n name=\"mediaTypes\"\n value={formik.values.mediaTypes}\n options={fieldDefaultMetaData.data.mediaTypes}\n onChange={(e) =>\n formik.setFieldValue(\"mediaTypes\", e.value)\n }\n placeholder=\"Select a Data Source\"\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaTypes\"\n ),\n })}\n /> */}\n {isFormFieldValid(formik, \"computedFieldValueType\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.computedFieldValueType?.toString()}\n />\n )}\n </div>\n )}\n\n {currentFields.includes(\n \"computedFieldValueProvider\"\n ) && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"computedFieldValueProvider\"\n className=\"form-field-label\"\n >\n Computed Field Provider\n </label>\n <SingleSelectAutoCompleteField\n key=\"computedFieldValueProvider\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n // relationField={false}\n fieldName=\"computedFieldValueProvider\"\n fieldNameId={null}\n labelKey=\"label\"\n valueKey=\"value\"\n searchData={searchComputedProvider}\n existingData={formik.values.computedFieldValueProvider}\n additionalAction={(e: any) => setMarkdownText(e.target.value.help)}\n\n />\n {isFormFieldValid(\n formik,\n \"computedFieldValueProvider\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.computedFieldValueProvider?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\n \"computedFieldTriggerConfig\"\n ) && (\n <div className=\"field col-12 flex-flex-column gap-2 mt-3\">\n {fieldMetaData?.computedFieldTriggerConfig === null\n &&\n <div className=\"mb-3\">\n <Message severity=\"error\" text={`You seem to be using an old configuration of ComputedFieldProvider. Please change your current computed field provider i.e ${fieldMetaData?.computedFieldValueProvider} to implement IEntityComputedFieldProvider before continuing.`} />\n </div>\n }\n <div className=\"flex align-items-center gap-2\">\n <label\n htmlFor=\"computedFieldTriggerConfig\"\n className=\"form-field-label\"\n >\n Computed Field Trigger Config\n </label>\n <div>\n <Button\n icon=\"pi pi-plus\"\n size=\"small\"\n onClick={handleAdd}\n type=\"button\"\n className=\"ml-2\"\n />\n </div>\n </div>\n {\n formik.values.computedFieldTriggerConfig.map((row: any, index: number) => (\n <SelectComputedFieldTriggerValues\n key={index}\n index={index}\n row={row}\n onChange={handleChange}\n onDelete={handleDelete}\n isLastRow={index === formik.values.computedFieldTriggerConfig.length - 1}\n disableDelete={formik.values.computedFieldTriggerConfig.length === 1}\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n searchModuleName={searchModuleName}\n searchModelName={computedFieldSearchHandlers[index]}\n modelMetaData={modelMetaData}\n errors={formik.errors.computedFieldTriggerConfig?.[index]}\n />\n ))}\n {typeof formik.errors.computedFieldTriggerConfig === 'string' && (\n <Message\n severity=\"error\"\n text={formik.errors.computedFieldTriggerConfig}\n />\n )}\n </div>\n )}\n {/* {currentFields.includes(\"externalIdProvider\") && (\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label\n htmlFor=\"externalIdProvider\"\n className=\"form-field-label\"\n >\n External Id Provider\n </label>\n <SingleSelectAutoCompleteField\n key=\"externalIdProvider\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n // relationField={false}\n fieldName=\"externalIdProvider\"\n fieldNameId={null}\n labelKey=\"label\"\n valueKey=\"value\"\n searchData={searchExternalIdProvider}\n existingData={formik.values.externalIdProvider}\n additionalAction={(e: any) => setMarkdownText(e.target.value.help)}\n />\n \n\n {isFormFieldValid(\n formik,\n \"externalIdProvider\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.externalIdProvider?.toString()}\n />\n )}\n </div>\n </div>\n )} */}\n\n {currentFields.includes(\"selectionDynamicProviderCtxt\") && (\n // {/* {markdownText &&\n // <div className=\"md:col-12 sm:col-12\">\n // <div className=\"field col-6 flex-flex-column gap-2\">\n // <label htmlFor=\"name\" className=\"form-field-label\">\n // Markdown\n // </label>\n // <MarkdownViewer data={markdownText}></MarkdownViewer>\n // </div>\n // </div>\n // } */}\n\n <div className=\"field col-12 flex-flex-column gap-2 mt-4\">\n <label htmlFor=\"selectionDynamicProviderCtxt\" className=\"form-field-label\">\n Selection Dynamic Provider Context\n </label>\n <CodeEditor\n formik={formik}\n field=\"selectionDynamicProviderCtxt\" >\n </CodeEditor>\n <div className=\" form-field-label mt-4\">{markdownText}</div>\n\n {isFormFieldValid(\n formik,\n \"selectionDynamicProviderCtxt\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.selectionDynamicProviderCtxt?.toString()}\n />\n )}\n </div>\n // {/* {currentFields.includes(\"markdown\") && ( */}\n\n )}\n\n {currentFields.includes(\"computedFieldValueProviderCtxt\") && (\n <div className=\"field col-12 flex-flex-column gap-2 mt-4\">\n <label htmlFor=\"computedFieldValueProviderCtxt\" className=\"form-field-label\">\n Computed Field Value Provider Context\n </label>\n <CodeEditor\n formik={formik}\n field=\"computedFieldValueProviderCtxt\" >\n </CodeEditor>\n <div className=\"form-field-label mt-4\">{markdownText}</div>\n\n {isFormFieldValid(\n formik,\n \"computedFieldValueProviderCtxt\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.computedFieldValueProviderCtxt?.toString()}\n />\n )}\n </div>\n )}\n\n {/* {currentFields.includes(\"externalIdProviderCtxt\") && (\n <div className=\"md:col-12 sm:col-12\">\n\n <div className=\"formgrid grid\">\n {markdownText &&\n <div className=\"md:col-12 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"name\" className=\"form-field-label\">\n Markdown\n </label>\n <MarkdownViewer data={markdownText}></MarkdownViewer>\n </div>\n </div>\n }\n <div className=\"md:col-12 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"name\" className=\"form-field-label\">\n External Id Provider Context\n </label>\n <CodeEditor\n formik={formik}\n field=\"externalIdProviderCtxt\" >\n </CodeEditor>\n {isFormFieldValid(\n formik,\n \"externalIdProviderCtxt\"\n ) && (\n <Message\n severity=\"error\"\n text={formik?.errors?.externalIdProviderCtxt?.toString()}\n />\n )}\n </div>\n </div>\n\n </div>\n </div>\n )} */}\n\n </div>\n )}\n {(currentFields.includes(\"regexPattern\") || currentFields.includes(\"min\") || currentFields.includes(\"max\") || currentFields.includes(\"ormType\")) && ormTypeOptions && selectedType.value !== 'relation' &&\n <>\n <p className=\"form-wrapper-heading text-base mt-3\">Validations</p>\n <div className=\"formgrid grid\">\n {(currentFields.includes(\"regexPattern\") && selectedType.value === \"password\") &&\n <>\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"regexPattern\"\n className=\"form-field-label\"\n >\n Password Policy\n </label>\n <Dropdown value={selectedPasswordPolicy} onChange={(e: DropdownChangeEvent) => {\n setSelectedPasswordPolicy(e.value)\n if (e.value !== \"custom\") {\n formik.setFieldValue('regexPattern', e.value)\n }\n }} options={passwordPolicyOptions} optionLabel=\"label\"\n placeholder=\"Select a Password Policy\"\n // className=\"w-full md:w-14rem\"\n className=\"\"\n panelClassName=\"password-policy-dropdown-panel\"\n checkmark={true} highlightOnSelect={false} />\n\n </div>\n </>\n }\n {currentFields.includes(\"regexPattern\") && (\n <>\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label\n htmlFor=\"regexPattern\"\n className=\"form-field-label\"\n >\n Regex Pattern\n </label>\n <InputText\n type=\"text\"\n id=\"regexPattern\"\n name=\"regexPattern\"\n onChange={formik.handleChange}\n value={formik.values.regexPattern}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"regexPattern\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"regexPattern\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.regexPattern?.toString()}\n />\n )}\n </div>\n {currentFields.includes(\"regexPattern\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3 mb-3 md:mb-3\">\n <label\n htmlFor=\"regexPatternNotMatchingErrorMsg\"\n className=\"form-field-label\"\n >\n Regex Pattern Not Matching Error Msg\n </label>\n <InputText\n type=\"text\"\n id=\"regexPatternNotMatchingErrorMsg\"\n name=\"regexPatternNotMatchingErrorMsg\"\n onChange={formik.handleChange}\n value={formik.values.regexPatternNotMatchingErrorMsg}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"regexPatternNotMatchingErrorMsg\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"regexPatternNotMatchingErrorMsg\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.regexPatternNotMatchingErrorMsg?.toString()}\n />\n )}\n </div>\n )}\n </>\n\n )}\n {(currentFields.includes(\"min\") || currentFields.includes(\"max\")) &&\n <>\n {currentFields.includes(\"min\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2 md:mt-3\">\n <label htmlFor=\"min\" className=\"form-field-label\">\n Min {(selectedType.value !== \"int\" && selectedType.value !== \"decimal\") && `(Characters Allowed)`}\n\n </label>\n {/* <InputText\n type=\"text\"\n id=\"min\"\n name=\"min\"\n onChange={formik.handleChange}\n value={formik.values.min}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"min\"),\n })}\n /> */}\n {/* <RenderMinValueInput></RenderMinValueInput> */}\n {(selectedType.value === \"int\" ||\n selectedType.value === \"decimal\" ||\n selectedType.value === \"shortText\" ||\n selectedType.value === \"decimal\" ||\n selectedType.value === \"longText\" ||\n selectedType.value === \"richText\" ||\n selectedType.value === \"password\" ||\n selectedType.value === \"json\") &&\n <InputNumber\n id=\"min\"\n name=\"min\"\n onValueChange={formik.handleChange}\n value={formik.values.min}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"min\"\n ),\n })}\n disabled={fieldMetaData?.id}\n />\n }\n\n {isFormFieldValid(formik, \"min\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.min?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"max\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label htmlFor=\"max\" className=\"form-field-label\">\n Max {(selectedType.value !== \"int\" &&\n selectedType.value !== \"decimal\") && `(Characters allowed)`}\n </label>\n {/* <InputText\n type=\"text\"\n id=\"max\"\n name=\"max\"\n onChange={formik.handleChange}\n value={formik.values.max}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"max\"),\n })}\n /> */}\n {(selectedType.value === \"int\" ||\n selectedType.value === \"decimal\" ||\n selectedType.value === \"shortText\" ||\n selectedType.value === \"decimal\" ||\n selectedType.value === \"longText\" ||\n selectedType.value === \"richText\" ||\n selectedType.value === \"password\" ||\n selectedType.value === \"json\") &&\n <InputNumber\n id=\"max\"\n name=\"max\"\n onValueChange={formik.handleChange}\n value={formik.values.max}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"max\"\n ),\n })}\n disabled={fieldMetaData?.id}\n />\n }\n\n {isFormFieldValid(formik, \"max\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.max?.toString()}\n />\n )}\n </div>\n )}\n </>\n }\n {currentFields.includes(\"ormType\") && (\n <div className=\"col-12\">\n {ormTypeOptions && ormTypeOptions.length > 1 &&\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-3\">\n <label htmlFor=\"ormType\" className=\"form-field-label\">\n Type\n </label>\n {/* <SingleSelectAutoCompleteField\n key=\"ormType\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName=\"ormType\"\n fieldNameId=\"ormType\"\n labelKey=\"label\"\n valueKey=\"value\"\n searchData={searchOrmTypes}\n existingData={formik.values.ormType}\n /> */}\n\n <div className=\"ormTypeflex\">\n {ormTypeOptions && ormTypeOptions.map((ormType: any) => {\n return (\n <>\n <div key={ormType.key} className=\"mr-3 align-items-center\">\n <RadioButton inputId={ormType.label} name=\"ormType\" value={ormType.label} onChange={(e) => {\n formik.setFieldValue(\"ormType\", e.value);\n setSelectedOrmType(e.value)\n }} checked={selectedOrmType === ormType.label} />\n <label htmlFor={ormType.label} className=\"ml-2\">{ormType.label}<br></br>\n <span className=\"ml-4 fieldSubTitle\">{ormType.description}</span>\n </label>\n </div>\n\n </>\n );\n })}\n\n </div>\n\n {isFormFieldValid(formik, \"ormType\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.ormType?.toString()}\n />\n )}\n </div>\n }\n\n </div>\n )}\n </div>\n </>\n }\n\n {(formik.values.relationType !== \"many-to-many\" && formik.values.relationType !== \"one-to-many\") && <p className=\"form-wrapper-heading text-base mt-3\">Settings</p>}\n <div className=\"formgrid grid mt-3 md:mt-0\">\n {currentFields.includes(\"required\") && (formik.values.relationType !== \"many-to-many\" && formik.values.relationType !== \"one-to-many\") && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <div className=\"flex align-items-center\">\n <Checkbox\n name=\"required\"\n onChange={(e) => {\n if (!formik.values.isPrimaryKey && !formik.values.unique) {\n formik.setFieldValue(\"required\", e.checked);\n }\n }}\n checked={formik.values.required}\n disabled={formik.values.isPrimaryKey || formik.values.unique}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label ml-2\">\n Required {formik.values.isPrimaryKey && \"(Auto-enabled for Primary Key)\"}\n {!formik.values.isPrimaryKey && formik.values.unique && \"(Auto-enabled for Unique)\"}\n </label>\n </div>\n <p className=\"text-xs mt-2\">You won't be able to create an entry if this field is empty</p>\n\n {isFormFieldValid(formik, \"required\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.required?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"unique\") && selectedType.value !== 'relation' && (\n <div className=\"field col-6 flex-flex-column gap-2\">\n <div className=\"flex align-items-center\">\n <Checkbox\n name=\"unique\"\n onChange={(e) => {\n // Prevent unchecking if isPrimaryKey is true\n if (!formik.values.isPrimaryKey) {\n formik.setFieldValue(\"unique\", e.checked);\n formik.setFieldValue(\"isUserKey\", false);\n // Auto-enable required when unique is checked\n if (e.checked) {\n formik.setFieldValue(\"required\", true);\n }else{\n formik.setFieldValue(\"required\", false);\n }\n }\n }}\n checked={formik.values.unique}\n disabled={formik.values.isPrimaryKey}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label ml-2\">\n Unique {formik.values.isPrimaryKey && \"(Auto-enabled for Primary Key)\"}\n </label>\n </div>\n <p className=\"text-xs mt-2\">You won't be able to create an entry if there is an existing entry with identical content</p>\n\n {isFormFieldValid(formik, \"unique\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.unique?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"index\") && selectedType.value !== 'relation' && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <div className=\"flex align-items-center\">\n <Checkbox\n name=\"index\"\n onChange={(e) => {\n formik.setFieldValue(\"index\", e.checked);\n }}\n checked={formik.values.index}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label ml-2\">\n Index\n </label>\n </div>\n {isFormFieldValid(formik, \"index\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.index?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"private\") && selectedType.value !== 'relation' && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <div className=\"flex align-items-center\">\n <Checkbox\n name=\"private\"\n onChange={(e) => {\n formik.setFieldValue(\"private\", e.checked);\n }}\n checked={formik.values.private}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label ml-2\">\n Private\n </label>\n </div>\n <p className=\"text-xs mt-2\">This field will not show up in the API response</p>\n\n\n {isFormFieldValid(formik, \"private\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.private?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"encrypt\") && selectedType.value !== 'relation' && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <div className=\"flex align-items-center gap-2\">\n <Checkbox\n name=\"encrypt\"\n onChange={(e) => {\n formik.setFieldValue(\"encrypt\", e.checked);\n setEncryptState(e.checked);\n }}\n checked={formik.values.encrypt}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label\">\n Encrypt\n </label>\n </div>\n {isFormFieldValid(formik, \"encrypt\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.encrypt?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"isMultiSelect\") && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <div className=\"flex align-items-center\">\n <Checkbox\n name=\"isMultiSelect\"\n onChange={(e) => {\n formik.setFieldValue(\"isMultiSelect\", e.checked);\n }}\n checked={formik.values.isMultiSelect}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label ml-2\">\n Is MultiSelect\n </label>\n </div>\n {isFormFieldValid(formik, \"isMultiSelect\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.isMultiSelect?.toString()}\n />\n )}\n </div>\n )}\n {/* {currentFields.includes(\"isSystem\") && (\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field\">\n <div className=\"flex align-items-center\">\n <Checkbox\n name=\"isSystem\"\n onChange={(e) => {\n formik.setFieldValue(\"isSystem\", e.checked);\n }}\n checked={formik.values.isSystem}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label\">\n isSystem\n </label>\n </div>\n {isFormFieldValid(formik, \"isSystem\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.isSystem?.toString()}\n />\n )}\n </div>\n </div>\n )} */}\n {currentFields.includes(\"enableAuditTracking\") && formik.values.relationType !== \"one-to-many\" && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <div className=\"flex align-items-center gap-2\">\n <Checkbox\n name=\"enableAuditTracking\"\n onChange={(e) => {\n formik.setFieldValue(\"enableAuditTracking\", e.checked);\n }}\n checked={formik.values.enableAuditTracking}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label\">\n Enable Audit Tracking\n </label>\n </div>\n <p className=\"fieldSubTitle\">By selecting this option, you are setting audit trail for this field.</p>\n\n {isFormFieldValid(formik, \"enableAuditTracking\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.enableAuditTracking?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"isUserKey\") && formik.values.unique && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <div className=\"flex align-items-center gap-2\">\n <Checkbox\n name=\"isUserKey\"\n onChange={(e) => {\n formik.setFieldValue(\"isUserKey\", e.checked);\n }}\n checked={formik.values.isUserKey}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label\">\n Is Userkey\n </label>\n </div>\n <p className=\"fieldSubTitle\">By selecting this option, you are setting this field as the model's user key. Any existing user key configuration will be overwritten</p>\n\n {isFormFieldValid(formik, \"isUserKey\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.isUserKey?.toString()}\n />\n )}\n </div>\n )}\n {currentFields.includes(\"isPrimaryKey\") && (modelMetaData?.isLegacyTable || modelMetaData?.isLegacyTableWithId) && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-3\">\n <div className=\"flex align-items-center gap-2\">\n <Checkbox\n name=\"isPrimaryKey\"\n onChange={(e) => {\n formik.setFieldValue(\"isPrimaryKey\", e.checked);\n // Auto-set required and unique when isPrimaryKey is checked\n if (e.checked) {\n formik.setFieldValue(\"required\", true);\n formik.setFieldValue(\"unique\", true);\n }\n }}\n checked={formik.values.isPrimaryKey}\n ></Checkbox>\n <label htmlFor=\"ingredient1\" className=\"form-field-label\">\n Is Primary Key\n </label>\n </div>\n <p className=\"fieldSubTitle\">By selecting this option, you are setting this field as the primary key for this legacy table.</p>\n\n {isFormFieldValid(formik, \"isPrimaryKey\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.isPrimaryKey?.toString()}\n />\n )}\n </div>\n )}\n </div>\n\n\n {formik.values.encrypt === true && (\n <div className=\"formgrid grid mt-2\">\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label\n htmlFor=\"encryptionType\"\n className=\"form-field-label\"\n >\n Encryption Type\n </label>\n {/* <AutoComplete\n value={selectedEncryptionType}\n suggestions={filteredSelectionEncryptionType}\n invalid={isFormFieldValid(\n formik,\n \"encryptionType\"\n )}\n completeMethod={searchSelectionEncryptionType}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n setSelectedEncryptionType(e.value);\n formik.setFieldValue(\"encryptionType\", e.value.value);\n }}\n /> */}\n\n <SingleSelectAutoCompleteField\n key=\"encryptionType\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName=\"encryptionType\"\n fieldNameId=\"encryptionType\"\n labelKey=\"label\"\n valueKey=\"value\"\n searchData={searchSelectionEncryptionType}\n existingData={formik.values.encryptionType}\n />\n {isFormFieldValid(formik, \"encryptionType\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.encryptionType?.toString()}\n />\n )}\n </div>\n </div>\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"decryptWhen\" className=\"form-field-label\">\n Decrypt When\n </label>\n {/* <AutoComplete\n value={selectedDecryptWhen}\n suggestions={filteredSelectionDecryptWhen}\n invalid={isFormFieldValid(formik, \"decryptWhen\")}\n completeMethod={searchSelectionDecryptWhen}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n setSelectedeDecryptWhen(e.value);\n formik.setFieldValue(\"decryptWhen\", e.value.value);\n }}\n /> */}\n\n <SingleSelectAutoCompleteField\n key=\"decryptWhen\"\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n fieldName=\"decryptWhen\"\n fieldNameId=\"decryptWhen\"\n labelKey=\"label\"\n valueKey=\"value\"\n searchData={searchSelectionDecryptWhen}\n existingData={formik.values.decryptWhen}\n />\n {isFormFieldValid(formik, \"decryptWhen\") && (\n <Message\n severity=\"error\"\n text={formik?.errors?.decryptWhen?.toString()}\n />\n )}\n </div>\n </div>\n </div>\n )}\n </TabPanel>\n </TabView>\n <div className=\"flex gap-3\">\n <div>\n <Button label=\"Finish\" size=\"small\" onClick={() => showError()} type=\"submit\" />\n </div>\n <div>\n <Button label=\"Cancel\" size=\"small\" severity=\"secondary\" type=\"reset\" onClick={() => setVisiblePopup(false)} outlined />\n </div>\n </div>\n </div>\n {/* <div className=\"ml-4\">\n <Button\n label=\"Save\"\n onClick={() => showError(formik.validateForm)}\n type=\"submit\"\n />\n </div> */}\n </div>\n </div>\n }\n\n </form>\n </div >\n <Dialog\n visible={isBackPopupVisible}\n header=\"Select Type\"\n headerClassName=\"text-center\"\n modal\n className=\"solid-confirm-dialog\"\n footer={() => (\n <div className=\"flex gap-3\">\n <Button label=\"Yes\" icon=\"pi pi-check\" size=\"small\" type=\"reset\" severity=\"danger\" autoFocus onClick={() => {\n formik.resetForm()\n setIsBackPopupVisible(false);\n setShowTypeFilter(true);\n }} />\n <Button label=\"No\" icon=\"pi pi-times\" size=\"small\" onClick={() => setIsBackPopupVisible(false)} />\n </div>\n )}\n onHide={() => setIsBackPopupVisible(false)}\n >\n <p>You have some unsaved data are you sure you want to go back?</p>\n </Dialog>\n </div >\n );\n};\n\n\nexport default FieldMetaDataForm;\n"]}
|
|
1
|
+
{"version":3,"file":"FieldMetaDataForm.js","sourceRoot":"","sources":["../../../../src/components/core/model/FieldMetaDataForm.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { getSingularAndPlural } from \"../../../helpers/helpers\";\nimport { useGetFieldDefaultMetaDataQuery } from \"../../../redux/api/fieldApi\";\nimport { useLazyGetMediaStorageProvidersQuery } from \"../../../redux/api/mediaStorageProviderApi\";\nimport { useLazyGetModelsQuery, useUpdateUserKeyMutation } from \"../../../redux/api/modelApi\";\nimport { useLazyGetmodulesQuery } from \"../../../redux/api/moduleApi\";\nimport { useFormik } from \"formik\";\nimport { capitalize } from \"lodash\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport qs from \"qs\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport FieldSelector from \"./FieldSelector\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { useSolidAutocompleteField } from \"../../../hooks/useSolidAutocompleteField\";\nimport {\n SolidAutocomplete,\n SolidButton,\n SolidCheckbox,\n SolidDatePicker,\n SolidDialog,\n SolidDialogBody,\n SolidInput,\n SolidTextarea,\n SolidNumberInput,\n SolidSelect,\n SolidSegmentedControl,\n SolidRadioGroup,\n SolidTabGroup,\n SolidMessage,\n SolidCodeEditor,\n} from \"../../shad-cn-ui\";\nimport styles from \"../form/fields/solidFields.module.css\";\n\n\n\nenum SolidFieldType {\n // numeric types\n int = 'int',\n bigint = 'bigint',\n float = 'float',\n // double = 'double',\n decimal = 'decimal',\n\n // text types\n shortText = 'shortText',\n longtext = 'longText',\n richText = 'richText',\n json = 'json',\n\n // boolean types\n boolean = 'boolean',\n\n // date\n date = 'date',\n datetime = 'datetime',\n time = 'time',\n\n // relation\n relation = 'relation',\n\n // media\n mediaSingle = 'mediaSingle',\n mediaMultiple = 'mediaMultiple',\n\n email = 'email',\n password = 'password',\n\n // selection\n selectionStatic = 'selectionStatic',\n selectionDynamic = 'selectionDynamic',\n\n computed = 'computed',\n\n uuid = 'uuid'\n}\n\ntype ClassNamesArg = string | Record<string, boolean> | undefined | null | false;\n\nfunction classNames(...args: ClassNamesArg[]) {\n const classes: string[] = [];\n args.forEach((arg) => {\n if (!arg) {\n return;\n }\n if (typeof arg === \"string\") {\n if (arg.trim()) {\n classes.push(arg);\n }\n return;\n }\n Object.entries(arg).forEach(([key, value]) => {\n if (value) {\n classes.push(key);\n }\n });\n });\n return classes.join(\" \");\n}\n\nfunction createSimpleAutocompleteValue(value: any | undefined | null) {\n if (!value) return null;\n if (typeof value === \"object\") return value;\n return { label: value, value };\n}\n\nfunction createRelationAutocompleteValue(value: any | undefined | null, labelKey: string, valueKey: string = labelKey) {\n if (!value) return null;\n if (typeof value === \"object\") return value;\n return { [labelKey]: value, [valueKey]: value };\n}\n\ntype LocalTabPanelProps = {\n header: string;\n className?: string;\n children: React.ReactNode;\n};\n\ntype LocalTabViewProps = {\n children: React.ReactNode;\n panelContainerClassName?: string;\n};\n\nfunction TabPanel(_props: LocalTabPanelProps) {\n return null;\n}\n\nfunction TabView({ children, panelContainerClassName }: LocalTabViewProps) {\n const panels = React.Children.toArray(children).filter(\n (child): child is React.ReactElement<LocalTabPanelProps> =>\n React.isValidElement(child) && child.type === TabPanel\n );\n const firstValue = panels[0]?.props.header ?? \"\";\n const [activeValue, setActiveValue] = React.useState(firstValue);\n\n React.useEffect(() => {\n if (!panels.some((panel) => panel.props.header === activeValue)) {\n setActiveValue(panels[0]?.props.header ?? \"\");\n }\n }, [panels, activeValue]);\n\n if (panels.length === 0) {\n return null;\n }\n\n const tabs = panels.map((panel) => ({\n value: panel.props.header,\n label: panel.props.header,\n hasError: panel.props.className?.includes(\"tab-error-heading\"),\n content: (\n <div className={panel.props.className}>\n {panel.props.children}\n </div>\n ),\n }));\n\n return (\n <SolidTabGroup\n tabs={tabs}\n value={activeValue}\n onValueChange={setActiveValue}\n panelClassName={panelContainerClassName}\n />\n );\n}\n\nconst SelectionStaticValues = ({ enumValue, onUpdate, onDelete, onAdd }: any) => {\n const [value, display] = enumValue.split(\":\");\n\n const handleValueChange = (newValue: string) => {\n onUpdate(`${newValue}:${display || \"\"}`);\n };\n\n const handleDisplayChange = (newDisplay: string) => {\n onUpdate(`${value || \"\"}:${newDisplay}`);\n };\n\n return (\n <div className=\"flex align-items-center gap-2 mt-2\">\n\n {/* Input field for Value */}\n <SolidInput\n value={value || \"\"}\n onChange={(e) => handleValueChange(e.target.value)}\n placeholder=\"Value\"\n className=\"w-full\"\n />\n\n {/* Input field for Display */}\n <SolidInput\n value={display || \"\"}\n onChange={(e) => handleDisplayChange(e.target.value)}\n placeholder=\"Display\"\n className=\"w-full\"\n />\n\n\n\n {/* Plus Button to add a new row */}\n <SolidButton\n icon=\"si si-plus\"\n size=\"small\"\n onClick={onAdd}\n type=\"button\"\n />\n\n {/* Trash Button to delete the row */}\n <SolidButton\n icon=\"si si-trash\"\n size=\"small\"\n onClick={onDelete}\n outlined\n severity=\"danger\"\n type=\"button\"\n />\n </div>\n );\n\n}\n\ninterface SelectComputedFieldTriggerValuesProps {\n index: number;\n row: {\n moduleName: string;\n modelName: string;\n operations: string[];\n };\n onChange: (index: number, updatedRow: any) => void;\n onDelete: (index: number) => void;\n isLastRow: boolean;\n disableDelete: boolean;\n formik: any;\n isFormFieldValid: (formik: any, field: string) => boolean;\n searchModuleName: (event: any) => Promise<any[]>;\n searchModelName: (event: any) => Promise<any[]>;\n modelMetaData?: any,\n errors?: any,\n touched?: any,\n}\n\nconst triggerOperationOptions = [\n { label: \"beforeInsert\", value: \"before-insert\" },\n { label: \"afterInsert\", value: \"after-insert\" },\n { label: \"beforeUpdate\", value: \"before-update\" },\n { label: \"afterUpdate\", value: \"after-update\" },\n { label: \"beforeRemove\", value: \"before-delete\" },\n { label: \"afterRemove\", value: \"after-delete\" },\n];\n\nconst formatDisplayName = (value: string): string => {\n return value\n .split('-')\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n};\n\n\nconst SelectComputedFieldTriggerValues: React.FC<SelectComputedFieldTriggerValuesProps> = ({\n index,\n row,\n onChange,\n onDelete,\n disableDelete,\n formik,\n isFormFieldValid,\n searchModuleName,\n searchModelName,\n modelMetaData,\n errors,\n touched,\n}: any) => {\n const [filteredOperations, setFilteredOperations] = useState<{ label: string; value: string }[]>([]);\n\n useEffect(() => {\n if (!row.moduleName && modelMetaData?.module?.name) {\n formik.setFieldValue(`computedFieldTriggerConfig[${index}].moduleName`, modelMetaData?.module?.name);\n }\n if (!row.modelName && modelMetaData?.singularName) {\n formik.setFieldValue(`computedFieldTriggerConfig[${index}].modelName`, modelMetaData?.singularName);\n }\n }, [modelMetaData?.module?.name, modelMetaData?.singularName]);\n\n const searchOperations = (event: any) => {\n const query = event.query.toLowerCase();\n setFilteredOperations(\n triggerOperationOptions.filter((item) =>\n item.label.toLowerCase().includes(query)\n )\n );\n };\n\n const triggerModuleField = useSolidAutocompleteField({\n formik,\n fieldName: `computedFieldTriggerConfig[${index}].moduleName`,\n fieldNameId: null,\n labelKey: \"displayName\",\n valueKey: \"name\",\n searchData: searchModuleName,\n existingData: row.moduleName\n ? {\n name: row.moduleName,\n displayName: row.displayName || formatDisplayName(row.moduleName),\n }\n : modelMetaData?.module?.name\n ? {\n name: modelMetaData.module.name,\n displayName: modelMetaData.module.displayName || formatDisplayName(modelMetaData.module.name),\n }\n : null,\n relationField: true,\n });\n\n const triggerModelField = useSolidAutocompleteField({\n formik,\n fieldName: `computedFieldTriggerConfig[${index}].modelName`,\n fieldNameId: null,\n labelKey: \"displayName\",\n valueKey: \"singularName\",\n searchData: searchModelName,\n existingData: row.modelName\n ? {\n singularName: row.modelName,\n displayName: row.displayName || formatDisplayName(row.modelName),\n }\n : modelMetaData?.singularName\n ? {\n singularName: modelMetaData?.singularName,\n displayName: modelMetaData?.displayName || formatDisplayName(modelMetaData.displayName),\n }\n : null,\n relationField: true,\n });\n\n return (\n <div className=\"flex align-items-center gap-3 mt-2 flex-wrap md:flex-nowrap\">\n\n <div className=\"\">\n <label\n htmlFor=\"moduleName\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Module\n </label>\n <div className={classNames(\"mt-2 solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: Boolean(errors?.moduleName),\n })}>\n <SolidAutocomplete\n value={triggerModuleField.selectedItem}\n suggestions={triggerModuleField.filteredItems}\n completeMethod={triggerModuleField.searchItems}\n onChange={triggerModuleField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {errors?.moduleName && (\n <p className={styles.fieldError}>{errors.moduleName}</p>\n )}\n </div>\n\n <div className=\"\">\n <label\n htmlFor=\"modelName\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Model\n </label>\n <div className={classNames(\"mt-2 solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: Boolean(errors?.modelName),\n })}>\n <SolidAutocomplete\n value={triggerModelField.selectedItem}\n suggestions={triggerModelField.filteredItems}\n completeMethod={triggerModelField.searchItems}\n onChange={triggerModelField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n {errors?.modelName && (\n <p className={styles.fieldError}>{errors.modelName}</p>\n )}\n </div>\n\n\n {/* operations */}\n <div>\n <label\n htmlFor=\"operations\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Operations\n </label>\n <div className=\"mt-2\">\n <SolidAutocomplete\n multiple\n dropdown\n value={triggerOperationOptions.filter(opt => (row.operations || []).includes(opt.value))}\n suggestions={filteredOperations}\n completeMethod={searchOperations}\n field=\"label\"\n onChange={(e) =>\n onChange(index, {\n ...row,\n operations: (e.value || []).map((val: any) => val.value),\n })\n }\n placeholder=\"Select operations\"\n className={classNames(\"solid-standard-autocomplete max-w-16rem\", {\n [styles.fieldInvalidControl]: Boolean(errors?.operations),\n })}\n />\n </div>\n {errors?.operations && (\n <p className={styles.fieldError}>{errors.operations}</p>\n )}\n </div>\n\n {/* Trash Button to delete the row */}\n <SolidButton\n icon=\"si si-trash\"\n size=\"small\"\n onClick={() => onDelete(index)}\n disabled={disableDelete}\n outlined\n severity=\"danger\"\n type=\"button\"\n />\n </div>\n );\n\n}\n\nconst fieldBasedPayloadFormating = (values: any, currentFields: string[], fieldMetaData: any) => {\n // const booleanFields: string | any[] = [\n // \"isSystem\",\n // \"defaultValue\",\n // \"required\",\n // \"unique\",\n // \"encrypt\",\n // \"index\",\n // \"private\",\n // \"relationCreateInverse\"];\n const transformedPayload = currentFields.reduce((acc: any, key: any) => {\n acc[key] = values[key]; // Set key and its value as the same string\n // if (booleanFields.includes(acc[key])) {\n // acc[key] = values[key] == \"false\" ? \"\" : true\n // }\n return acc;\n }, {});\n transformedPayload.displayName = transformedPayload.displayName.trim()\n\n transformedPayload.identifier = fieldMetaData ? fieldMetaData.identifier : Date.now();\n if (fieldMetaData?.id) {\n transformedPayload.id = fieldMetaData.id\n }\n if (currentFields.includes(\"mediaStorageProviderId\")) {\n transformedPayload.mediaStorageProvider = values.mediaStorageProvider\n }\n if (currentFields.includes(\"selectionDynamicProviderCtxt\")) {\n const prettified = JSON.stringify(JSON.parse(values.selectionDynamicProviderCtxt), null, 2);\n\n transformedPayload.selectionDynamicProviderCtxt = prettified\n }\n\n if (currentFields.includes(\"computedFieldValueProviderCtxt\")) {\n const prettified = JSON.stringify(JSON.parse(values.computedFieldValueProviderCtxt), null, 2);\n transformedPayload.computedFieldValueProviderCtxt = prettified\n }\n\n if (currentFields.includes(\"computedFieldTriggerConfig\")) {\n // const prettified = JSON.stringify(values.computedFieldTriggerConfig, null, 2);\n transformedPayload.computedFieldTriggerConfig = values.computedFieldTriggerConfig\n }\n\n if (currentFields.includes(\"relationCreateInverse\")) {\n transformedPayload.relationCreateInverse = values.relationCreateInverse == false ? false : true\n }\n if (transformedPayload.relationType == \"many-to-one\") {\n transformedPayload.relationCascade = values.relationCascade;\n }\n\n if (transformedPayload.relationType == \"many-to-many\") {\n transformedPayload.isRelationManyToManyOwner = true;\n }\n return transformedPayload\n\n}\n\nfunction fetchCurrentFields(solidFieldType: any, fieldDefaultMetaData: any) {\n\n if (solidFieldType) {\n const allowedFields = fieldDefaultMetaData?.data?.fieldTypes.filter((e: any) => e.fieldType === solidFieldType);\n if (allowedFields.length > 0) {\n return allowedFields[0].fields\n }\n\n }\n return [\n \"name\",\n \"displayName\",\n \"type\",\n \"ormType\",\n \"required\",\n \"unique\",\n \"index\",\n \"private\",\n \"encrypt\",\n \"isUserKey\"\n ];\n\n}\n\nconst createValidationSchema = (currentFields: any, selectedType: any, allFields: any, fieldMetaData: any, encryptState: any) => {\n\n let reservedNames;\n\n if (fieldMetaData) {\n reservedNames = allFields.length > 0 ? allFields.filter((i: any) => i.id !== fieldMetaData.id).map((f: any) => f.name) : [];\n } else {\n\n reservedNames = allFields.length > 0 ? allFields.map((f: any) => f.name) : [];\n }\n\n\n\n const selectedTypeValue = selectedType?.value;\n\n const schema = {\n name: Yup.string()\n // .matches(/^[a-z]+(-[a-z]+)*$/,\"Invalid format. Use lowercase letters and hyphens only\")\n .notOneOf(reservedNames, ERROR_MESSAGES.FIELD_ALREADY_USE('Name', 'name'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Name')),\n displayName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Display Name')),\n description: Yup.string().nullable(),\n type: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Type')),\n isSystem: Yup.boolean(),\n // Conditionally add validation rules based on `currentFields`\n ...(currentFields.includes(\"ormType\") && {\n ormType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Orm Type')),\n }),\n ...(currentFields.includes(\"length\") && {\n length: Yup.number().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Length', 'interger')).nullable(),\n }),\n // ...(currentFields.includes(\"defaultValue\") && {\n // defaultValue: Yup.string().required(\"Default Value is required\"),\n // }),\n // Conditionally validate defaultValue based on SolidFieldType\n ...(currentFields.includes(\"defaultValue\") && {\n defaultValue: Yup.mixed().nullable().when(\"type\", (type: any) => {\n switch (selectedTypeValue) {\n case \"int\":\n case \"bigint\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'integer'))\n .integer(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'integer'));\n case \"float\":\n case \"decimal\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'integer'))\n case \"shortText\":\n case \"longText\":\n case \"richText\":\n case \"json\":\n return Yup.string().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'boolean'))\n case \"boolean\":\n return Yup.boolean().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'boolean'))\n case \"date\":\n case \"datetime\":\n case \"time\":\n return Yup.date().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Default value', 'Date'))\n default:\n return Yup.mixed().nullable(); // Default fallback if no match\n }\n }),\n }),\n\n // Add more conditional fields as needed\n\n ...(currentFields.includes(\"regexPattern\") && {\n regexPattern: Yup.string(),\n regexPatternNotMatchingErrorMsg: Yup.string(),\n }),\n ...(currentFields.includes(\"required\") && {\n required: Yup.boolean(),\n }),\n ...(currentFields.includes(\"unique\") && {\n unique: Yup.boolean(),\n }),\n ...(currentFields.includes(\"encrypt\") && {\n encrypt: Yup.boolean(),\n }),\n ...(currentFields.includes(\"encryptionType\") && encryptState == true && {\n encryptionType: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Encryption Type Value')\n ),\n }),\n ...(currentFields.includes(\"decryptWhen\") && encryptState == true && {\n\n decryptWhen: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Decrypt When Value')),\n }),\n ...(currentFields.includes(\"index\") && {\n index: Yup.boolean(),\n }),\n // ...(currentFields.includes(\"min\") && {\n // min: Yup.number().required(\"Min is required\"),\n // }),\n ...(currentFields.includes(\"min\") && {\n min: Yup.mixed().nullable()\n .when(\"type\", (type: any) => {\n switch (selectedTypeValue) {\n case \"int\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Min', 'interger'))\n .integer(ERROR_MESSAGES.FIELD_MUST_BE_AN('Min', 'interger'));\n case \"decimal\":\n case \"shortText\":\n case \"longText\":\n case \"richText\":\n case \"json\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Min', 'interger'));\n default:\n return Yup.mixed().nullable().nullable(); // Default fallback if no match\n }\n }),\n }),\n // ...(currentFields.includes(\"max\") && {\n // max: Yup.number().required(\"Max is required\"),\n // }),\n ...(currentFields.includes(\"max\") && {\n max: Yup.mixed()\n .when(\"type\", (type: any) => {\n switch (selectedTypeValue) {\n case \"int\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'interger'))\n .integer(ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'interger'))\n .test(\n ERROR_MESSAGES.GREATER_THAN_MIN,\n ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'greater than Min'),\n function (value) {\n const { min } = this.parent; // Access sibling field 'min'\n // if (min != null && value == null) {\n // // Trigger error if Min is filled but Max is empty\n // return this.createError({\n // message: \"Max is required if Min is specified\",\n // });\n // }\n return value == null || value > min; // Validate only if Max exists\n }\n );\n\n\n case \"decimal\":\n case \"shortText\":\n case \"longText\":\n case \"richText\":\n case \"json\":\n return Yup.number().nullable().typeError(ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'interger'))\n .test(\n ERROR_MESSAGES.GREATER_THAN_MIN,\n ERROR_MESSAGES.FIELD_MUST_BE_AN('Max', 'greater than Min'),\n function (value) {\n const { min } = this.parent; // Access sibling field 'min'\n // if (min != null && value == null) {\n // // Trigger error if Min is filled but Max is empty\n // return this.createError({\n // message: \"Max is required if Min is specified\",\n // });\n // }\n return value == null || value > min; // Validate only if Max exists\n }\n );\n\n\n default:\n return Yup.mixed().nullable().nullable(); // Default fallback if no match\n }\n }),\n }),\n ...(currentFields.includes(\"private\") && {\n private: Yup.boolean(),\n }),\n ...(currentFields.includes(\"mediaTypes\") && {\n mediaTypes: Yup.array()\n .of(Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Media Type')))\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED('Media Types'))\n .required(ERROR_MESSAGES.FIELD_MUST_BE_AN('Media Types', 'array')),\n }),\n\n ...(currentFields.includes(\"mediaMaxSizeKb\") && {\n mediaMaxSizeKb: Yup.number().required(ERROR_MESSAGES.FIELD_REUQIRED('Media Max Size')),\n }),\n ...(currentFields.includes(\"mediaStorageProviderId\") && {\n mediaStorageProviderId: Yup.number().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Media Storage Provider')\n ),\n }),\n ...(currentFields.includes(\"mediaStorageProviderId\") && {\n mediaStorageProvider: Yup.object().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Media Storage Provider')\n ),\n }),\n\n ...(currentFields.includes(\"mediaEmbedded\") && {\n mediaEmbedded: Yup.boolean(),\n }),\n ...(currentFields.includes(\"relationType\") && {\n relationType: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Relation Type ')),\n }),\n ...(currentFields.includes(\"relationCoModelSingularName\") && {\n relationCoModelSingularName: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Relation Model Singular Name')\n ),\n }),\n ...(currentFields.includes(\"relationCoModelFieldName\") && {\n relationCoModelFieldName: Yup.string()\n // .required(\n // \"Relation Model Field Name is required\"\n // ),\n }),\n ...(currentFields.includes(\"relationCreateInverse\") && {\n relationCreateInverse: Yup.boolean(),\n }),\n ...(currentFields.includes(\"relationCoModelFieldName\") && {\n relationCoModelFieldName: Yup.string().when(\"relationCreateInverse\", (relationCreateInverse: any, schema) => {\n if (relationCreateInverse.length > 0 && relationCreateInverse[0] == true) {\n return schema.required(ERROR_MESSAGES.FIELD_REUQIRED('Relation Co Model Field Name'))\n } else {\n return schema.notRequired();\n }\n }),\n }),\n\n // ...(currentFields.includes(\"relationCascade\") && {\n // relationCascade: Yup.string().required(\n // \"Relation Cascade Value is required\"\n // ),\n // }),\n\n // Conditionally validate relationCascade based on relationType\n ...(currentFields.includes(\"relation\") && {\n relationCascade: Yup.string().when(\"relationType\", (relationType: any, schema) => {\n return relationType === \"one-to-one\"\n ? schema.required(ERROR_MESSAGES.RELATION_CASCADE)\n : schema.notRequired();\n }),\n }),\n\n\n ...(currentFields.includes(\"relationModelModuleName\") && {\n relationModelModuleName: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Relation Model Module Name Value')\n ),\n }),\n\n ...(currentFields.includes(\"relationFieldFixedFilter\") && {\n relationFieldFixedFilter: Yup.string().nullable(),\n }),\n\n ...(currentFields.includes(\"selectionDynamicProvider\") && {\n selectionDynamicProvider: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Selection Dynamic Provider Value ')\n ),\n }),\n ...(currentFields.includes(\"selectionDynamicProviderCtxt\") && {\n selectionDynamicProviderCtxt: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Selection Dynamic Provider Context Value')\n ).test(\n ERROR_MESSAGES.IS_VALID_JSON,\n ERROR_MESSAGES.COMPUTED_FIELD_VALIDATE_JSON,\n (value) => {\n if (!value) return false; // Ensure it's required\n try {\n JSON.parse(value); // Check if it's valid JSON\n return true;\n } catch {\n return false;\n }\n }\n ),\n }),\n\n ...(currentFields.includes(\"selectionStaticValues\") && {\n selectionStaticValues: Yup.array().of(\n Yup.string().matches(/^[\\w\\s\\d-]+:[\\w\\s-]+$/, ERROR_MESSAGES.FIELD_REUQIRED('Label and Value'))\n ),\n }),\n ...(currentFields.includes(\"computedFieldValueProvider\") && {\n computedFieldValueProvider: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Computed Field Function Value')\n ),\n }),\n ...(currentFields.includes(\"computedFieldValueProviderCtxt\") && {\n computedFieldValueProviderCtxt: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('\"Computed Field Value Provider Context Value')\n ).test(\n ERROR_MESSAGES.IS_VALID_JSON,\n ERROR_MESSAGES.COMPUTED_FIELD_VALIDATE_JSON,\n (value) => {\n if (!value) return false; // Ensure it's required\n try {\n JSON.parse(value); // Check if it's valid JSON\n return true;\n } catch {\n return false;\n }\n }\n ),\n\n }),\n ...(currentFields.includes(\"computedFieldValueType\") && {\n computedFieldValueType: Yup.string().required(\n ERROR_MESSAGES.FIELD_REUQIRED('Computed Field Value Type')\n ),\n }),\n ...(currentFields.includes(\"computedFieldTriggerConfig\") && {\n computedFieldTriggerConfig: Yup.array()\n .of(\n Yup.object().shape({\n moduleName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Module name')),\n modelName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED('Model name')),\n operations: Yup.array().of(Yup.string()).min(1, ERROR_MESSAGES.SELECT_ONE_OPERATION),\n })\n )\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED('At least one trigger config'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Computed Field Trigger Config')),\n }),\n\n // ...(currentFields.includes(\"columnName\") && { columnName: Yup.string().nullable().matches(/^[a-z0-9_]+$/, ERROR_MESSAGES.SNAKE_CASE('column')), }),\n ...(currentFields.includes(\"isPrimaryKey\") && { isPrimaryKey: Yup.boolean(), }),\n\n ...(currentFields.includes(\"required\") && {\n required: Yup.boolean().when(\"isPrimaryKey\", (isPrimaryKey: any, schema) => {\n if (isPrimaryKey.length > 0 && isPrimaryKey[0] === true) {\n return schema.oneOf([true], \"Required must be true when field is marked as Primary Key\");\n }\n return schema;\n }),\n }),\n\n ...(currentFields.includes(\"unique\") && {\n unique: Yup.boolean().when(\"isPrimaryKey\", (isPrimaryKey: any, schema) => {\n if (isPrimaryKey.length > 0 && isPrimaryKey[0] === true) {\n return schema.oneOf([true], \"Unique must be true when field is marked as Primary Key\");\n }\n return schema;\n }).when(\"required\", (required: any, schema) => {\n // Disallow unique field that is not required\n if (required.length > 0 && required[0] === false) {\n return schema.oneOf([false], \"Unique fields must also be marked as Required\");\n }\n return schema;\n }),\n }),\n\n\n // ...(currentFields.includes(\"externalIdProvider\") && {\n // externalIdProvider: Yup.string().required(\n // \"ExternalId Provider Value is required\"\n // ),\n // }),\n // ...(currentFields.includes(\"externalIdProviderCtxt\") && {\n // externalIdProviderCtxt: Yup.string().required(\n // \"EexternalId Provider Context Value is required\"\n // ),\n // }),\n };\n\n return Yup.object(schema);\n};\n\nconst FieldMetaDataForm = ({ setIsDirty, modelMetaData, fieldMetaData, setFieldMetaData, allFields, deleteModelFunction, setVisiblePopup, params, setIsRequiredPopUp, showToaster }: any) => {\n const booleanOptions = [\"false\", \"true\"];\n const booleanSegmentedOptions = booleanOptions.map((value) => ({\n label: capitalize(value),\n value,\n }));\n const resolveBooleanOptionValue = (value: any) =>\n typeof value === \"string\" ? value : value ? \"true\" : \"false\";\n const [isBackPopupVisible, setIsBackPopupVisible] = useState(false);\n const [showColumnName, setShowColumnName] = useState<any>(false);\n\n const pathname = usePathname();\n\n const { data: fieldDefaultMetaData, isLoading, error, refetch } = useGetFieldDefaultMetaDataQuery(null);\n const [currentFields, setCurrentFields] = useState(\n fetchCurrentFields(fieldMetaData && fieldMetaData.type, fieldDefaultMetaData)\n );\n\n const [triggerGetMediaStorageProvider, { data: MediaStorageProviderData, isFetching: isMediaStorageProviderFetching, error: MediaStorageProviderError }] = useLazyGetMediaStorageProvidersQuery();\n const [triggerGetModules, { data: moduleData, isFetching: isModuleFetching, error: moduleError }] = useLazyGetmodulesQuery();\n const [triggerGetModels, { data: modelData, isFetching: ismodelFetching, error: modelError }] = useLazyGetModelsQuery();\n const [\n updateUserKey,\n { isLoading: isUpdateUserKeyLoading, isSuccess: isUpdateUserKeySuccess, isError: isUpdateUserKeyError, error: UpdateUserKeyError, data: newModel },\n ] = useUpdateUserKeyMutation();\n\n\n const [markdownText, setMarkdownText] = useState<string>();\n const [encryptState, setEncryptState] = useState<boolean>(Boolean(fieldMetaData?.encrypt));\n\n const [showTypeFilter, setShowTypeFilter] = useState(fieldMetaData ? false : true);\n const [selectedType, setSelectedType] = useState<{ label: string; value: string } | null>(\n fieldMetaData?.type ? { label: fieldMetaData.type, value: fieldMetaData.type } : null\n );\n const selectedTypeValue = selectedType?.value || \"\";\n const [selectedComputedFieldValueType, setSelectedComputedFieldValueType] = useState(fieldMetaData?.computedFieldValueType && { label: fieldMetaData.computedFieldValueType, value: fieldMetaData.computedFieldValueType });\n const [selectionDynamicProvider, setSelectionDynamicProvider] = useState(fieldMetaData?.selectionDynamicProvider && { label: fieldMetaData.selectionDynamicProvider, value: fieldMetaData.selectionDynamicProvider });\n // const [externalIdProvider, setExternalIdProvider] = useState(fieldMetaData?.externalIdProvider && { label: fieldMetaData.externalIdProvider, value: fieldMetaData.externalIdProvider });\n const [filteredComputedFieldValueTypes, setFilteredComputedFieldValueTypes] = useState([]);\n const [\n filteredSelectionDynamicProvider,\n setFilteredSelectionDynamicProvider,\n ] = useState([]);\n\n const [ormTypeOptions, setOrmTypeOptions] = useState([]);\n const [selectedOrmType, setSelectedOrmType] = useState<any>(fieldMetaData?.ormType);\n\n const [askForUserKeyField, setAskForUserKeyField] = useState(false);\n const [userKeyFieldData, setUserKeyFieldData] = useState([]);\n\n const [\n filteredExternalIdProvider,\n setFilteredExternalIdProvider,\n ] = useState([]);\n\n const [filteredSelectionEncryptionType, setFilteredSelectionEncryptionType] = useState([]);\n\n const [filteredSelectionDecryptWhen, setFilteredSelectionDecryptWhen] = useState([]);\n\n const validationSchema = React.useMemo(\n () => createValidationSchema(currentFields, selectedType, allFields, fieldMetaData, encryptState),\n [currentFields, encryptState]\n );\n\n const [typeSelected, setTypeSelected] = useState(false);\n const showRegexFields = currentFields.includes(\"regexPattern\");\n const showMinFields = currentFields.includes(\"min\");\n const showMaxFields = currentFields.includes(\"max\");\n const showOrmOptions = currentFields.includes(\"ormType\") && Boolean(ormTypeOptions && ormTypeOptions.length);\n const showValidationSection =\n selectedTypeValue !== \"relation\" && (showRegexFields || showMinFields || showMaxFields || showOrmOptions);\n\n const searchMediaStorageProvIderId = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n // filters: {\n // name: {\n // $containsi: query,\n // },\n // },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetMediaStorageProvider(queryString).unwrap();\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n\n const searchModel = async (event: any) => {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n // filters: {\n // title: {\n // $containsi: query\n // }\n // }\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true\n });\n\n // Trigger the API call manually\n const result = await triggerGetModels(queryString).unwrap(); // Unwrap to access the data\n\n // Map the API response to AutoComplete format\n if (result && result.records) {\n const filteredMenu = result.records.map((m: any) => (\n {\n label: m.name,\n value: m.id,\n name: m.name,\n id: m.id,\n }\n ));\n\n // Update the suggestions in state\n return filteredMenu\n } else {\n // Handle the case where no data is returned\n return []\n }\n };\n\n\n\n\n const searchOrmTypes = async (event: any) => {\n const query = event.query;\n try {\n\n const ormType = fieldDefaultMetaData.data.ormType[modelMetaData?.dataSourceType];\n const _filteredOrmType = ormType[formik.values.type].ormTypes.map((e: any) => ({ label: e, value: e }))\n\n const suggestionData: any = _filteredOrmType.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n return suggestionData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n\n\n const searchRelationModelModuleNames = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap(); // Unwrap to access the data\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n const searchrelationCoModelSingularNames = async (event: any) => {\n try {\n const query = event.query;\n const queryData: any = {\n limit: 10,\n offset: 0,\n filters: {\n module: {\n name: {\n $containsi: formik.values.relationModelModuleName\n }\n }\n }\n };\n if (query) {\n queryData.filters.singularName = {\n $containsi: query,\n };\n }\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModels(queryString).unwrap(); // Unwrap to access the data\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n const searchModuleName = async (event: any) => {\n try {\n const query = event.query;\n const queryData = {\n limit: 10,\n offset: 0,\n filters: {\n name: {\n $containsi: query,\n },\n },\n };\n\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n\n const result = await triggerGetModules(queryString).unwrap(); // Unwrap to access the data\n\n if (result && result.records) {\n const updatedSuggestion = [...result.records];\n return updatedSuggestion\n } else {\n return []\n }\n } catch (error) {\n return []\n }\n };\n\n const getSearchModelNameHandler = useCallback(\n (moduleName: string) => {\n return async (event: any) => {\n try {\n const query = event.query;\n const queryData: any = {\n limit: 10,\n offset: 0,\n filters: {\n module: {\n name: {\n $containsi: moduleName,\n },\n },\n },\n };\n\n if (query) {\n queryData.filters.singularName = {\n $containsi: query,\n };\n }\n\n const queryString = qs.stringify(queryData, { encodeValuesOnly: true });\n const result = await triggerGetModels(queryString).unwrap();\n return result?.records ?? [];\n } catch (error) {\n return [];\n }\n };\n },\n [] // or include dependencies like triggerGetModels if needed\n );\n\n const searchUserKeyField = () => {\n return userKeyFieldData;\n }\n\n const searchComputedFieldValueType = async (event: any) => {\n const query = event.query;\n try {\n\n const _filteredTypes: any = fieldDefaultMetaData.data.computedFieldValueTypes.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n\n setFilteredComputedFieldValueTypes(_filteredTypes);\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n setFilteredComputedFieldValueTypes([]);\n }\n };\n\n\n\n const searchSelectionDynamicProvider = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.selectionDynamicProviders.filter((t: any) => t.provider.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.provider, value: e.provider, help: e.help }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n\n const searchComputedProvider = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.computedProviders.filter((t: any) => t.provider.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.provider, value: e.provider, help: e.help }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n const searchExternalIdProvider = async (event: any) => {\n const query = event.query;\n try {\n const filterredData: any = fieldDefaultMetaData.data.externalIdProviders.filter((t: any) => t.provider.toLowerCase().startsWith(query.toLowerCase()));\n const transformedData = filterredData.map((e: any) => ({ label: e.provider, value: e.provider, help: e.help }));\n return transformedData\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n return []\n }\n };\n\n\n\n const searchSelectionEncryptionType = async (event: any) => {\n const query = event.query;\n try {\n\n const _filteredTypes: any = fieldDefaultMetaData.data.encryptionTypes.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n\n setFilteredSelectionEncryptionType(_filteredTypes);\n return _filteredTypes\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n setFilteredSelectionEncryptionType([]);\n return []\n }\n };\n\n const searchSelectionDecryptWhen = async (event: any) => {\n const query = event.query;\n try {\n\n const _filteredTypes: any = fieldDefaultMetaData.data.decryptWhenTypes.filter((t: any) => t.label.toLowerCase().startsWith(query.toLowerCase()));\n\n setFilteredSelectionDecryptWhen(_filteredTypes);\n return _filteredTypes\n } catch (error) {\n console.error(ERROR_MESSAGES.FETCHING_ITEMS, error);\n setFilteredSelectionDecryptWhen([]);\n return []\n }\n };\n\n\n const isFormFieldValid = (formik: any, fieldName: string) => {\n return formik.touched[fieldName] && formik.errors[fieldName];\n };\n\n\n const mediaStorageProviderId = [\n { label: \"mediaStorageProviderId\", value: \"mediaStorageProviderId\" },\n { label: \"id2\", value: \"2\" },\n ];\n\n const selctionValueTypes = [\n { label: \"String\", value: \"string\" },\n { label: \"Int\", value: \"int\" },\n ];\n\n\n const relationCreateInverses = [\n { label: \"True\", value: \"true\" },\n { label: \"False\", value: \"false\" },\n ];\n\n const defaultPasswordPolicy = fieldMetaData?.regexPattern;\n const [selectedPasswordPolicy, setSelectedPasswordPolicy] = useState<any>(defaultPasswordPolicy);\n const passwordPolicyOptions = [\n { label: 'Lowercase and Uppercase Alphabets Required', value: '^(?=.*[a-z])(?=.*[A-Z]).*$' },\n { label: 'Lowercase and Uppercase Alphabets and Numbers Required', value: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).*$' },\n { label: 'Lowercase and Uppercase Alphabets, Numbers, and Special Characters Required', value: '^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&]).*$' },\n { label: 'custom', value: 'custom' },\n\n ];\n\n const mediaTypesOptions = [\n { label: 'Image (Supports JPEG, PNG, WEBP, etc.)', value: 'image' },\n { label: 'Audio (Supports MP3, WAV, AAC, etc.)', value: 'audio' },\n { label: 'Video (Supports MP4, AVI, MKV, etc.)', value: 'video' },\n { label: 'File (Supports PDF, DOCX, TXT, etc.)', value: 'file' }\n ];\n\n const resolvedMediaTypeOptions = useMemo(\n () => fieldDefaultMetaData?.data?.mediaTypes ?? mediaTypesOptions,\n [fieldDefaultMetaData?.data?.mediaTypes]\n );\n\n const [filteredMediaTypes, setFilteredMediaTypes] = useState(resolvedMediaTypeOptions);\n\n useEffect(() => {\n setFilteredMediaTypes(resolvedMediaTypeOptions);\n }, [resolvedMediaTypeOptions]);\n\n const handleMediaTypesSearch = useCallback(\n (event: { query: string }) => {\n const query = (event.query || \"\").toLowerCase();\n if (!query) {\n setFilteredMediaTypes(resolvedMediaTypeOptions);\n return;\n }\n setFilteredMediaTypes(\n resolvedMediaTypeOptions.filter(\n (option: any) =>\n option.label?.toLowerCase().includes(query) || option.value?.toLowerCase().includes(query)\n )\n );\n },\n [resolvedMediaTypeOptions]\n );\n\n\n\n const parseComputedFieldTriggerConfig = (input: any) => {\n try {\n if (typeof input === \"string\") {\n const parsed = JSON.parse(input);\n return Array.isArray(parsed) ? parsed : [parsed];\n } else if (Array.isArray(input)) {\n return input;\n } else if (typeof input === \"object\" && input !== null) {\n return [input];\n }\n } catch {\n return [{ moduleName: \"\", modelName: \"\", operations: [] }];\n }\n\n return [{ moduleName: \"\", modelName: \"\", operations: [] }];\n };\n\n\n const initialValues = {\n name: fieldMetaData ? fieldMetaData?.name : null,\n displayName: fieldMetaData ? fieldMetaData?.displayName : null,\n description: fieldMetaData ? fieldMetaData?.description : null,\n type: fieldMetaData ? fieldMetaData?.type : null,\n ormType: fieldMetaData ? fieldMetaData?.ormType : null,\n length: fieldMetaData ? fieldMetaData?.length : null,\n defaultValue: fieldMetaData ? fieldMetaData?.defaultValue : null,\n regexPattern: fieldMetaData ? fieldMetaData?.regexPattern : null,\n regexPatternNotMatchingErrorMsg: fieldMetaData ? fieldMetaData?.regexPatternNotMatchingErrorMsg : \"Invalid regex pattern\",\n required: fieldMetaData ? fieldMetaData?.required : false,\n unique: fieldMetaData ? fieldMetaData?.unique : false,\n encrypt: fieldMetaData ? fieldMetaData?.encrypt : false,\n encryptionType: fieldMetaData ? fieldMetaData?.encryptionType : null,\n decryptWhen: fieldMetaData ? fieldMetaData?.decryptWhen : null,\n index: fieldMetaData ? fieldMetaData?.index : false,\n min: fieldMetaData ? fieldMetaData?.min : null,\n max: fieldMetaData ? fieldMetaData?.max : null,\n private: fieldMetaData ? fieldMetaData?.private : false,\n mediaTypes: fieldMetaData?.mediaTypes ?? [],\n mediaMaxSizeKb: fieldMetaData ? fieldMetaData?.mediaMaxSizeKb : null,\n mediaStorageProviderId: fieldMetaData ? fieldMetaData?.mediaStorageProvider?.id : null,\n mediaStorageProvider: fieldMetaData ? fieldMetaData?.mediaStorageProvider : null,\n mediaEmbedded: fieldMetaData ? (fieldMetaData?.mediaEmbedded && fieldMetaData?.mediaEmbedded.toString()) : \"true\",\n relationType: fieldMetaData ? fieldMetaData?.relationType : null,\n relationCoModelSingularName: fieldMetaData ? fieldMetaData?.relationCoModelSingularName : null,\n relationCoModelFieldName: fieldMetaData ? fieldMetaData?.relationCoModelFieldName : null,\n relationCreateInverse: fieldMetaData ? fieldMetaData?.relationCreateInverse : false,\n relationCascade: fieldMetaData ? fieldMetaData?.relationCascade : 'cascade',\n relationModelModuleName: fieldMetaData ? fieldMetaData?.relationModelModuleName : modelMetaData?.module.name,\n relationFieldFixedFilter: fieldMetaData ? fieldMetaData?.relationFieldFixedFilter : \"\",\n selectionDynamicProvider: fieldMetaData ? fieldMetaData?.selectionDynamicProvider : null,\n selectionDynamicProviderCtxt: fieldMetaData ? fieldMetaData?.selectionDynamicProviderCtxt : \"\",\n selectionStaticValues: fieldMetaData ? fieldMetaData?.selectionStaticValues : [\"\"],\n selectionValueType: fieldMetaData ? fieldMetaData?.selectionValueType : null,\n computedFieldValueProvider: fieldMetaData ? fieldMetaData?.computedFieldValueProvider : null,\n computedFieldValueType: fieldMetaData ? fieldMetaData?.computedFieldValueType : null,\n computedFieldTriggerConfig: parseComputedFieldTriggerConfig(fieldMetaData?.computedFieldTriggerConfig),\n computedFieldValueProviderCtxt: fieldMetaData ? fieldMetaData?.computedFieldValueProviderCtxt : \"\",\n // externalIdProvider: fieldMetaData ? fieldMetaData?.externalIdProvider : null,\n // externalIdProviderCtxt: fieldMetaData ? fieldMetaData?.externalIdProviderCtxt : \"\",\n isSystem: fieldMetaData ? fieldMetaData?.isSystem : false,\n columnName: fieldMetaData ? fieldMetaData?.columnName : null,\n isUserKey: fieldMetaData ? fieldMetaData?.isUserKey : false,\n relationCoModelColumnName: fieldMetaData ? fieldMetaData?.relationCoModelColumnName : null,\n relationJoinTableName: fieldMetaData ? fieldMetaData?.relationJoinTableName : null,\n userKey: fieldMetaData ? fieldMetaData?.userKey : null,\n enableAuditTracking: fieldMetaData ? fieldMetaData?.enableAuditTracking : true,\n isPrimaryKey: fieldMetaData ? fieldMetaData?.isPrimaryKey : false,\n isMultiSelect: fieldMetaData ? fieldMetaData?.isMultiSelect : false,\n };\n\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n setFieldMetaData((prevItems: any) => {\n const newFieldData = { ...values, isSystem: values.isSystem == true ? true : '' }\n const formtatedFieldPayload = fieldBasedPayloadFormating(newFieldData, currentFields, fieldMetaData);\n const existingIndex = prevItems.findIndex((item: any) => item.identifier === formtatedFieldPayload.identifier);\n let updatedItems;\n if (existingIndex !== -1) {\n updatedItems = [...prevItems];\n updatedItems[existingIndex] = formtatedFieldPayload;\n return updatedItems\n }\n else {\n updatedItems = [...prevItems, formtatedFieldPayload];\n if (params?.id !== 'new' && formtatedFieldPayload?.required && !formtatedFieldPayload?.defaultValue) {\n setIsRequiredPopUp(true);\n }\n // return [...prevItems, formtatedFieldPayload]\n }\n return updatedItems;\n });\n if (values.userKey) {\n const data = {\n modelName: values.relationCoModelSingularName,\n fieldName: values.userKey\n }\n updateUserKey(data);\n }\n // nextTab()\n setVisiblePopup(false);\n\n } catch (err) {\n console.error(ERROR_MESSAGES.CREATE_MODEL, err);\n }\n },\n validateOnBlur: false // Disable validation on blur\n\n\n\n });\n\n const mediaTypeSelectedItems = useMemo(() => {\n if (!Array.isArray(formik.values.mediaTypes)) return [];\n return formik.values.mediaTypes.map((entry: any) => {\n if (entry && typeof entry === \"object\") {\n if (entry.label && entry.value) {\n return entry;\n }\n if (entry.value) {\n const fromOptions = resolvedMediaTypeOptions.find((option: any) => option.value === entry.value);\n return fromOptions || { label: entry.value, value: entry.value };\n }\n }\n const fromOptions = resolvedMediaTypeOptions.find((option: any) => option.value === entry);\n return fromOptions || { label: String(entry), value: entry };\n });\n }, [formik.values.mediaTypes, resolvedMediaTypeOptions]);\n\n const resetFormStateForTypeSelection = useCallback((options?: { keepSelectedType?: boolean }) => {\n formik.resetForm();\n const baseValues = formik.initialValues;\n setShowColumnName(Boolean(baseValues.columnName));\n setEncryptState(Boolean(baseValues.encrypt));\n setMarkdownText(undefined);\n setSelectedComputedFieldValueType(\n baseValues?.computedFieldValueType\n ? { label: baseValues.computedFieldValueType, value: baseValues.computedFieldValueType }\n : null\n );\n setSelectedPasswordPolicy(baseValues?.regexPattern || defaultPasswordPolicy || \"\");\n setOrmTypeOptions([]);\n setSelectedOrmType(baseValues?.ormType);\n setAskForUserKeyField(false);\n setUserKeyFieldData([]);\n if (!options?.keepSelectedType) {\n if (fieldMetaData?.type) {\n setSelectedType({ label: fieldMetaData.type, value: fieldMetaData.type });\n } else {\n setSelectedType(null);\n }\n }\n }, [\n defaultPasswordPolicy,\n fieldMetaData,\n formik,\n ]);\n\n const showError = async () => {\n const errors = await formik.validateForm(); // Trigger validation and get the updated errors\n const collectMessages = (value: any): string[] => {\n if (!value) return [];\n if (typeof value === \"string\") return [value];\n if (Array.isArray(value)) {\n return value.flatMap(collectMessages);\n }\n if (typeof value === \"object\") {\n return Object.values(value).flatMap(collectMessages);\n }\n return [String(value)];\n };\n const errorMessages = Object.values(errors).flatMap(collectMessages);\n\n if (errorMessages.length > 0) {\n showToaster(errorMessages, \"error\");\n }\n };\n\n useEffect(() => {\n if (isUpdateUserKeySuccess) {\n showToaster([newModel?.data?.message], \"success\");\n } if (isUpdateUserKeyError) {\n showToaster(UpdateUserKeyError, 'error')\n }\n }, [isUpdateUserKeySuccess, isUpdateUserKeyError])\n\n const handleTypeSelect = (e: any, label: string) => {\n if (!fieldMetaData) {\n resetFormStateForTypeSelection({ keepSelectedType: true });\n }\n setShowTypeFilter(false);\n setSelectedType({ label: label, value: e });\n formik.setFieldValue(\"type\", e);\n if (e == \"email\") {\n formik.setFieldValue(\"regexPattern\", \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\");\n } else {\n formik.setFieldValue(\"regexPattern\", \"\");\n }\n const ormType = fieldDefaultMetaData.data.ormType[modelMetaData?.dataSourceType];\n const availableOrmTypes = ormType[e];\n // setFilteredOrmTypes(availableOrmTypes.ormTypes.map((e: any) => ({\n // label: e,\n // value: e,\n // })));\n // setSelectedOrmType({ label: availableOrmTypes.ormTypes[0], value: availableOrmTypes.ormTypes[0] });\n setOrmTypeOptions(availableOrmTypes.ormTypes)\n formik.setFieldValue(\"ormType\", availableOrmTypes.ormTypes[0].label);\n setSelectedOrmType(availableOrmTypes.ormTypes[0].label)\n setCurrentFields(\n fetchCurrentFields(e, fieldDefaultMetaData)\n );\n // setTypeSelected(true);\n }\n\n\n useEffect(() => {\n if (!fieldDefaultMetaData || !formik.values.type || !modelMetaData?.dataSourceType) {\n setOrmTypeOptions([]);\n return;\n }\n const ormTypeBySource = fieldDefaultMetaData.data.ormType?.[modelMetaData.dataSourceType];\n const typeConfig = ormTypeBySource?.[formik.values.type];\n setOrmTypeOptions(typeConfig?.ormTypes ?? []);\n }, [fieldDefaultMetaData, formik.values.type, modelMetaData?.dataSourceType]);\n\n\n useEffect(() => {\n if (fieldMetaData && fieldMetaData.columnName) {\n setShowColumnName(true)\n }\n }, [fieldMetaData])\n\n useEffect(() => {\n const fetchFields = async () => {\n const queryData: any = {\n limit: 100,\n offset: 0,\n filters: {\n singularName: {\n $eq: formik.values.relationCoModelSingularName\n }\n },\n populate: ['fields']\n };\n const queryString = qs.stringify(queryData, {\n encodeValuesOnly: true,\n });\n const result = await triggerGetModels(queryString).unwrap();\n\n if (result && result.records) {\n if (!result?.records[0]?.userKeyField) {\n setAskForUserKeyField(true);\n const validUserKeyFields = result?.records[0]?.fields?.filter(\n (field: any) => field?.unique === true && field?.type === 'shortText'\n );\n setUserKeyFieldData(validUserKeyFields)\n } else {\n setAskForUserKeyField(false);\n setUserKeyFieldData([]);\n }\n }\n }\n if (formik.values.relationCoModelSingularName) {\n fetchFields();\n }\n }, [formik.values.relationCoModelSingularName])\n\n const updateEnumValues = (index: number, updatedString: string) => {\n const updatedValues = formik.values.selectionStaticValues.map((enumValue: string, i: number) =>\n i === index ? updatedString : enumValue\n );\n formik.setFieldValue(\"selectionStaticValues\", updatedValues);\n };\n\n const addEnumValue = () => {\n formik.setFieldValue(\"selectionStaticValues\", [...formik.values.selectionStaticValues, \":\"]);\n };\n\n const deleteEnumValue = (index: number) => {\n if (formik.values.selectionStaticValues.length > 1) {\n const updatedRows = formik.values.selectionStaticValues.filter((_: string, rowIndex: number) => rowIndex !== index);\n formik.setFieldValue(\"selectionStaticValues\", updatedRows);\n } else {\n\n }\n };\n\n useEffect(() => {\n if (formik.dirty) {\n setIsDirty(true);\n }\n }, [formik.dirty]);\n\n const handleChange = (index: number, updatedRow: any) => {\n const updatedRows = [...formik.values.computedFieldTriggerConfig];\n updatedRows[index] = updatedRow;\n formik.setFieldValue(\"computedFieldTriggerConfig\", updatedRows);\n };\n\n const handleAdd = () => {\n const updatedRows = [\n ...formik.values.computedFieldTriggerConfig,\n { moduleName: '', modelName: '', operations: [] }\n ];\n formik.setFieldValue(\"computedFieldTriggerConfig\", updatedRows);\n };\n\n const handleDelete = (index: number) => {\n const updatedRows = formik.values.computedFieldTriggerConfig.filter((_: any, i: number) => i !== index);\n formik.setFieldValue(\"computedFieldTriggerConfig\", updatedRows.length > 0 ? updatedRows : [{ moduleName: '', modelName: '', operations: [] }]);\n };\n\n const computedFieldSearchHandlers = useMemo(() => {\n return formik.values.computedFieldTriggerConfig.map(row =>\n getSearchModelNameHandler(row.moduleName)\n );\n }, [formik.values.computedFieldTriggerConfig]);\n\n const mediaStorageProviderField = useSolidAutocompleteField({\n formik,\n fieldName: \"mediaStorageProvider\",\n fieldNameId: \"mediaStorageProviderId\",\n labelKey: \"name\",\n valueKey: \"value\",\n searchData: searchMediaStorageProvIderId,\n existingData: formik.values.mediaStorageProvider,\n relationField: true,\n });\n\n const relationModelModuleExisting = useMemo(\n () => createRelationAutocompleteValue(formik.values.relationModelModuleName, \"name\", \"name\"),\n [formik.values.relationModelModuleName]\n );\n const relationModelModuleField = useSolidAutocompleteField({\n formik,\n fieldName: \"relationModelModuleName\",\n fieldNameId: null,\n labelKey: \"name\",\n valueKey: \"name\",\n searchData: searchRelationModelModuleNames,\n existingData: relationModelModuleExisting,\n relationField: true,\n additionalAction: () => {\n formik.setFieldValue(\"relationCoModelSingularName\", \"\");\n formik.setFieldValue(\"relationCoModelColumnName\", \"\");\n formik.setFieldValue(\"relationJoinTableName\", \"\");\n }\n });\n\n const relationCoModelExisting = useMemo(\n () => createRelationAutocompleteValue(formik.values.relationCoModelSingularName, \"displayName\", \"singularName\"),\n [formik.values.relationCoModelSingularName]\n );\n const relationCoModelField = useSolidAutocompleteField({\n formik,\n fieldName: \"relationCoModelSingularName\",\n fieldNameId: null,\n labelKey: \"displayName\",\n valueKey: \"singularName\",\n searchData: searchrelationCoModelSingularNames,\n existingData: relationCoModelExisting,\n relationField: true,\n });\n\n const userKeyExisting = useMemo(\n () => createRelationAutocompleteValue(formik.values.userKey, \"displayName\", \"name\"),\n [formik.values.userKey]\n );\n const userKeyField = useSolidAutocompleteField({\n formik,\n fieldName: \"userKey\",\n fieldNameId: null,\n labelKey: \"displayName\",\n valueKey: \"name\",\n searchData: searchUserKeyField,\n existingData: userKeyExisting,\n relationField: true,\n });\n\n const selectionDynamicProviderExisting = useMemo(\n () => createSimpleAutocompleteValue(formik.values.selectionDynamicProvider),\n [formik.values.selectionDynamicProvider]\n );\n const selectionDynamicProviderField = useSolidAutocompleteField({\n formik,\n fieldName: \"selectionDynamicProvider\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: searchSelectionDynamicProvider,\n existingData: selectionDynamicProviderExisting,\n additionalAction: (e: any) => setMarkdownText(e.target.value.help),\n });\n\n const computedFieldValueProviderExisting = useMemo(\n () => createSimpleAutocompleteValue(formik.values.computedFieldValueProvider),\n [formik.values.computedFieldValueProvider]\n );\n const computedFieldValueProviderField = useSolidAutocompleteField({\n formik,\n fieldName: \"computedFieldValueProvider\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: searchComputedProvider,\n existingData: computedFieldValueProviderExisting,\n additionalAction: (e: any) => setMarkdownText(e.target.value.help),\n });\n\n const encryptionTypeExisting = useMemo(\n () => createSimpleAutocompleteValue(formik.values.encryptionType),\n [formik.values.encryptionType]\n );\n const decryptWhenExisting = useMemo(\n () => createSimpleAutocompleteValue(formik.values.decryptWhen),\n [formik.values.decryptWhen]\n );\n\n const encryptionTypeField = useSolidAutocompleteField({\n formik,\n fieldName: \"encryptionType\",\n fieldNameId: \"encryptionType\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: searchSelectionEncryptionType,\n existingData: encryptionTypeExisting,\n });\n\n const decryptWhenField = useSolidAutocompleteField({\n formik,\n fieldName: \"decryptWhen\",\n fieldNameId: \"decryptWhen\",\n labelKey: \"label\",\n valueKey: \"value\",\n searchData: searchSelectionDecryptWhen,\n existingData: decryptWhenExisting,\n });\n\n\n return (\n <div>\n <div>\n <form\n onSubmit={formik.handleSubmit}\n onReset={(event) => {\n event.preventDefault();\n resetFormStateForTypeSelection();\n }}\n >\n <div className=\"solid-field-metadata-form-header\">\n {pathname.includes('create') ?\n <>\n <div className=\"flex align-items-center gap-3\">\n {showTypeFilter === false ?\n <>\n <SolidButton\n text\n icon='si si-arrow-left'\n size=\"small\"\n type=\"button\"\n aria-label=\"Back\"\n className='max-w-2rem bg-primary-reverse text-color solid-icon-button'\n onClick={() => {\n if (!formik.values.displayName) {\n resetFormStateForTypeSelection();\n setShowTypeFilter(true);\n } else {\n setIsBackPopupVisible(true)\n }\n }\n }\n />\n <div className=\"form-wrapper-title solid-mobile-text-wrapper text-base\">{capitalize(modelMetaData?.displayName)}</div>\n </>\n :\n <div className=\"flex text-2xl font-bold align-items-center ml-4\" style={{ color: '#000' }}>\n <div className=\"form-wrapper-title solid-mobile-text-wrapper text-base\">Model - {capitalize(modelMetaData?.displayName)}</div>\n </div>\n }\n </div>\n <div className=\"flex align-items-center gap-3 close-popup\">\n <SolidButton icon=\"si si-times\" rounded text aria-label=\"Cancel\" type=\"reset\" size=\"small\" onClick={() => setVisiblePopup(false)}\n className='max-w-2rem bg-primary-reverse text-color' />\n </div>\n </>\n :\n <>\n <div className=\"flex align-items-center gap-3\">\n {!fieldMetaData?.id &&\n <SolidButton\n text\n icon='si si-arrow-left'\n size=\"small\"\n type=\"button\"\n aria-label=\"Back\"\n className='max-w-2rem bg-primary-reverse text-color solid-icon-button'\n onClick={() => {\n if (!formik.values.displayName) {\n resetFormStateForTypeSelection();\n setShowTypeFilter(true);\n } else {\n setIsBackPopupVisible(true)\n }\n }\n } />\n }\n {fieldMetaData ?\n\n <div className=\"form-wrapper-title solid-mobile-text-wrapper\">Edit {capitalize(fieldMetaData?.displayName)}</div>\n :\n <div className=\"form-wrapper-title solid-mobile-text-wrapper\">Add New {selectedType?.label && !showTypeFilter && capitalize(selectedType.label)} Field to {capitalize(modelMetaData?.displayName)}</div>\n }\n </div>\n <div className=\"flex align-items-center gap-3 close-popup\">\n <SolidButton icon=\"si si-times\" text aria-label=\"Cancel\" type=\"reset\" size=\"small\" onClick={() => setVisiblePopup(false)}\n className='max-w-2rem bg-primary-reverse text-color'\n />\n </div>\n </>\n }\n </div>\n {showTypeFilter === true ?\n <FieldSelector\n handleTypeSelect={handleTypeSelect}\n modelMetaData={modelMetaData}\n ></FieldSelector>\n :\n <div className=\"p-3\" style={{ maxHeight: '80vh', overflowY: 'auto', overflowX: 'hidden' }}>\n <div className=\"p-d-flex p-jc-center creat-field-for form-dem\">\n <div className=\"p-fluid\" style={{ position: 'relative' }}>\n {/* <div className=\"mb-3\">\n <div className=\"form-wrapper-title\">{fieldMetaData ? `Edit ${capitalize(selectedType.label)} Field` : `Add a new ${capitalize(selectedType.label)} Field`}</div>\n </div> */}\n <TabView panelContainerClassName=\"px-0\">\n <TabPanel\n header=\"Basic Info\"\n className={(formik.touched.hasOwnProperty(\"name\") && formik.errors.hasOwnProperty(\"name\")) || (formik.touched.hasOwnProperty(\"displayName\") && formik.errors.hasOwnProperty(\"displayName\")) || (formik.touched.hasOwnProperty(\"displayName\") && formik.errors.hasOwnProperty(\"ormType\")) ? \"tab-error-heading\" : \"\"}\n // rightIcon=\"si si-info-circle ml-2\"\n >\n <div className=\"formgrid grid\">\n {currentFields.includes(\"displayName\") && (\n <div className=\"field col-12 md:col-6 mt-2\">\n <label htmlFor=\"displayName\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Display Name\n </label>\n <SolidInput\n type=\"text\"\n disabled={fieldMetaData?.id}\n id=\"displayName\"\n name=\"displayName\"\n onChange={(e) => {\n formik.setFieldValue(\"displayName\", e.target.value);\n const { toCamelCase, toSnakeCase } = getSingularAndPlural(e.target.value);\n formik.setFieldValue(\"name\", toCamelCase);\n if (showColumnName) {\n formik.setFieldValue(\"columnName\", toSnakeCase);\n }\n }}\n value={formik.values.displayName}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(formik, \"displayName\"),\n })}\n />\n {isFormFieldValid(formik, \"displayName\") && (\n <p className={styles.fieldError}>{formik?.errors?.displayName?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"name\") && (\n <div className=\"field col-12 md:col-6 mt-1 md:mt-0\">\n <label htmlFor=\"name\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Name\n </label>\n <SolidInput\n disabled={fieldMetaData?.id}\n type=\"text\"\n id=\"name\"\n name=\"name\"\n onChange={formik.handleChange}\n value={formik.values.name}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(formik, \"name\"),\n })}\n />\n {isFormFieldValid(formik, \"name\") && (\n <p className={styles.fieldError}>{formik?.errors?.name?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"description\") && (\n <div className=\"field col-12 md:col-6 mt-1 md:mt-2\">\n <label htmlFor=\"description\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Description\n </label>\n <SolidTextarea\n aria-describedby=\"Description of your field\"\n id=\"description\"\n name=\"description\"\n onChange={formik.handleChange}\n value={formik.values.description}\n rows={5}\n cols={30}\n className={classNames(styles.fieldTextarea, {\n \"p-invalid\": isFormFieldValid(formik, \"description\"),\n })}\n />\n {isFormFieldValid(formik, \"description\") && (\n <p className={styles.fieldError}>{formik?.errors?.description?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"columnName\") && (\n <div className=\"field col-12 md:col-6 mt-2\">\n <div className=\"flex align-items-center gap-2\">\n <SolidCheckbox\n onChange={(event) => {\n const checked = event.currentTarget.checked;\n setShowColumnName(checked);\n if (checked === true) {\n const { toSnakeCase } = getSingularAndPlural(formik.values.displayName);\n if (pathname.includes('create')) {\n formik.setFieldValue(\"columnName\", toSnakeCase);\n }\n } else {\n formik.setFieldValue(\"columnName\", null);\n }\n }}\n checked={showColumnName}\n disabled={fieldMetaData?.id}\n />\n <label htmlFor=\"ingredient1\" className=\"form-field-label\">\n Set Column Name\n </label>\n </div>\n {showColumnName && (\n <div className=\"field col-12 gap-2 mt-4\">\n <label htmlFor=\"columnName\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Column Name\n </label>\n <SolidInput\n disabled={fieldMetaData?.id}\n type=\"text\"\n id=\"columnName\"\n name=\"columnName\"\n onChange={formik.handleChange}\n value={formik.values.columnName}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(formik, \"columnName\"),\n })}\n />\n {isFormFieldValid(formik, \"columnName\") && (\n <p className={styles.fieldError}>{formik?.errors?.columnName?.toString()}</p>\n )}\n </div>\n )}\n </div>\n )}\n\n\n {/* {currentFields.includes(\"type\") && (\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"type\" className=\"form-field-label\">\n Type\n </label>\n <SolidAutocomplete\n value={selectedType}\n suggestions={filteredTypes}\n invalid={isFormFieldValid(formik, \"type\")}\n completeMethod={searchTypes}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n formik.setFieldTouched('type', true); // Manually mark as touched\n setSelectedType(e.value);\n formik.setFieldValue(\"type\", e.value.value);\n if (e.value.value == \"email\") {\n formik.setFieldValue(\"regexPattern\", \"/^[a-zA-Z0-9. _%+-]+@[a-zA-Z0-9. -]+\\\\. [a-zA-Z]{2,}$/\");\n } else {\n formik.setFieldValue(\"regexPattern\", \"\");\n }\n const _filteredOrmType: any = fieldDefaultMetaData.data.ormType.filter((t: any) => t.solidType == e.value.value);\n setSelectedOrmType(_filteredOrmType[0].value)\n formik.setFieldValue(\"ormType\", _filteredOrmType[0].value);\n\n setCurrentFields(\n fetchCurrentFields(e.value.value, fieldDefaultMetaData)\n );\n }}\n\n\n />\n\n {isFormFieldValid(formik, \"type\") && (\n <SolidMessage\n severity=\"error\"\n text={formik?.errors?.type?.toString()}\n />\n )}\n </div>\n </div>\n )} */}\n\n </div>\n\n </TabPanel>\n\n <TabPanel header=\"Advanced Config\"\n\n // rightIcon=\"si si-cog ml-2\"\n >\n {formik?.values?.type?.length > 0 && (\n <div className=\"formgrid grid\">\n {currentFields.includes(\"length\") && (\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"length\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Length\n </label>\n <div className={styles.fieldNumberWrapper}>\n <SolidNumberInput\n id=\"length\"\n name=\"length\"\n value={formik.values.length}\n onChange={(event) => formik.setFieldValue(\"length\", event.value)}\n className={classNames({\n \"p-invalid\": isFormFieldValid(\n formik,\n \"length\"\n ),\n })}\n />\n </div>\n {isFormFieldValid(formik, \"length\") && (\n <p className={styles.fieldError}>{formik?.errors?.length?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"defaultValue\") && selectedTypeValue === \"boolean\" &&\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-2\">\n\n <label\n style={{ marginBottom: \"0px\" }}\n htmlFor=\"defaultValue\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Default Value\n </label>\n <SolidSegmentedControl\n value={resolveBooleanOptionValue(formik.values.defaultValue)}\n onChange={(value) => formik.setFieldValue(\"defaultValue\", value)}\n options={booleanSegmentedOptions}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"defaultValue\"),\n })}\n />\n </div>\n }\n\n {currentFields.includes(\"defaultValue\") && selectedTypeValue !== \"boolean\" && (\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-2\">\n\n <label\n style={{ marginBottom: \"0px\" }}\n htmlFor=\"defaultValue\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Default Value\n </label>\n\n {(selectedTypeValue === \"shortText\" || selectedTypeValue === \"longText\" || selectedTypeValue === \"richText\" || selectedTypeValue === \"json\" || selectedTypeValue === \"password\" || selectedTypeValue === \"selectionStatic\") &&\n <SolidInput\n type=\"text\"\n id=\"defaultValue\"\n name=\"defaultValue\"\n onChange={formik.handleChange}\n value={formik.values.defaultValue}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"defaultValue\"\n ),\n })}\n />\n }\n {(selectedTypeValue === \"float\" || selectedTypeValue === \"decimal\") &&\n <div className={styles.fieldNumberWrapper}>\n <SolidNumberInput\n id=\"defaultValue\"\n name=\"defaultValue\"\n step=\"0.00001\"\n value={formik.values.defaultValue}\n onChange={(event) => formik.setFieldValue(\"defaultValue\", event.value)}\n className={classNames({\n \"p-invalid\": isFormFieldValid(formik, \"defaultValue\"),\n })}\n />\n </div>\n }\n {(selectedTypeValue === \"int\" || selectedTypeValue === \"bigint\") &&\n <div className={styles.fieldNumberWrapper}>\n <SolidNumberInput\n id=\"defaultValue\"\n name=\"defaultValue\"\n step=\"1\"\n value={formik.values.defaultValue}\n onChange={(event) => formik.setFieldValue(\"defaultValue\", event.value)}\n className={classNames({\n \"p-invalid\": isFormFieldValid(formik, \"defaultValue\"),\n })}\n />\n </div>\n }\n\n {(selectedTypeValue === \"date\" || selectedTypeValue === \"datetime\" || selectedTypeValue === \"time\") && (() => {\n const showTimeSelect = selectedTypeValue === \"datetime\" || selectedTypeValue === \"time\";\n const timeOnly = selectedTypeValue === \"time\";\n const dateFormat =\n selectedTypeValue === \"datetime\"\n ? \"yyyy-MM-dd HH:mm\"\n : timeOnly\n ? \"HH:mm\"\n : \"yyyy-MM-dd\";\n const timeFormat = \"HH:mm\";\n return (\n <SolidDatePicker\n id=\"defaultValue\"\n selected={formik.values.defaultValue ? new Date(formik.values.defaultValue) : undefined}\n onChange={(date: Date | null) => formik.setFieldValue(\"defaultValue\", date)}\n showTimeSelect={showTimeSelect}\n timeOnly={timeOnly}\n dateFormat={dateFormat}\n timeFormat={timeFormat}\n inputClassName={classNames({\n \"p-invalid\": isFormFieldValid(formik, \"defaultValue\"),\n })}\n />\n );\n })()}\n {isFormFieldValid(formik, \"defaultValue\") && (\n <p className={styles.fieldError}>{formik?.errors?.defaultValue?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"mediaTypes\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2\">\n <label\n htmlFor=\"mediaTypes\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Media Type\n </label>\n <div\n className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(formik, \"mediaTypes\"),\n })}\n >\n <SolidAutocomplete\n multiple\n dropdown\n field=\"label\"\n value={mediaTypeSelectedItems}\n suggestions={filteredMediaTypes}\n completeMethod={handleMediaTypesSearch}\n maxVisibleChips={3}\n onChange={({ value }) => {\n const selection = Array.isArray(value) ? value : [];\n const normalizedValues = selection\n .map((item) => {\n if (item && typeof item === \"object\") {\n if (item.value) return item.value;\n if (item.label) return item.label;\n }\n return item ?? null;\n })\n .filter(Boolean);\n formik.setFieldValue(\"mediaTypes\", normalizedValues);\n }}\n placeholder=\"Select media types\"\n className=\"w-full\"\n />\n </div>\n {isFormFieldValid(formik, \"mediaTypes\") && (\n <p className={styles.fieldError}>{formik?.errors?.mediaTypes?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"mediaMaxSizeKb\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2 md:mt-0\">\n <label\n htmlFor=\"mediaMaxSizeKb\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Media Max Size (Mb)\n </label>\n <div className={styles.fieldNumberWrapper}>\n <SolidNumberInput\n id=\"mediaMaxSizeKb\"\n name=\"mediaMaxSizeKb\"\n value={formik.values.mediaMaxSizeKb}\n onChange={(event) => formik.setFieldValue(\"mediaMaxSizeKb\", event.value)}\n className={classNames({\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaMaxSizeKb\"\n ),\n })}\n />\n </div>\n\n {isFormFieldValid(formik, \"mediaMaxSizeKb\") && (\n <p className={styles.fieldError}>{formik?.errors?.mediaMaxSizeKb?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"mediaStorageProviderId\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"mediaStorageProviderId\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Media Storage Provider\n </label>\n\n <div className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(formik, \"mediaStorageProvider\"),\n })}>\n <SolidAutocomplete\n value={mediaStorageProviderField.selectedItem}\n suggestions={mediaStorageProviderField.filteredItems}\n completeMethod={mediaStorageProviderField.searchItems}\n onChange={mediaStorageProviderField.handleChange}\n dropdown\n field=\"name\"\n className=\"w-full\"\n />\n </div>\n\n {isFormFieldValid(\n formik,\n \"mediaStorageProvider\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.mediaStorageProviderId?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"mediaEmbedded\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"mediaEmbedded\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Media Embedded\n </label>\n {/* <SolidInput\n type=\"text\"\n id=\"mediaEmbedded\"\n name=\"mediaEmbedded\"\n onChange={formik.handleChange}\n value={formik.values.mediaEmbedded}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaEmbedded\"\n ),\n })}\n /> */}\n <SolidSegmentedControl\n value={resolveBooleanOptionValue(formik.values.mediaEmbedded)}\n onChange={(value) => {\n formik.setFieldValue(\"mediaEmbedded\", value);\n }}\n options={booleanSegmentedOptions}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaEmbedded\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"mediaEmbedded\") && (\n <p className={styles.fieldError}>{formik?.errors?.mediaEmbedded?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"relationType\") && (\n <div className=\"field col-12 flex gap-2 mt-1 align-items-center\">\n {/* <label\n htmlFor=\"relationType\"\n className=\"form-field-label\"\n >\n Relation Type\n </label>\n <Dropdown\n id=\"relationType\"\n name=\"relationType\"\n value={formik.values.relationType}\n options={fieldDefaultMetaData.data.relationTypes}\n onChange={(e) =>\n formik.setFieldValue(\"relationType\", e.value)\n }\n placeholder=\"Select a Data Source\"\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationType\"\n ),\n })}\n /> */}\n\n <label\n style={{ marginBottom: \"0px\" }}\n htmlFor=\"relationType\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Relation Type\n </label>\n <SolidSegmentedControl\n value={formik.values.relationType}\n options={fieldDefaultMetaData.data.relationTypes}\n onChange={(value) => {\n formik.setFieldValue(\"relationType\", value);\n if (value === \"one-to-many\") {\n formik.setFieldValue(\"relationCreateInverse\", true);\n }\n }}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"relationType\"),\n })}\n />\n {/* <div className=\"align-items-center\">\n <div className=\"flex mt-1\">\n {fieldDefaultMetaData?.data?.relationTypes.map((i: any) => (\n <div key={i.value} className=\"mr-3\">\n <SolidRadioGroup\n inputId=\"ingredient1\"\n name=\"pizza\"\n value={i.value}\n onChange={(e) => formik.setFieldValue(\"relationType\", e.value)}\n checked={formik.values.relationType === i.value}\n />\n <label htmlFor=\"ingredient1\" className=\"form-field-label ml-2\">{i.value}</label>\n </div>\n ))}\n </div>\n </div> */}\n\n {isFormFieldValid(formik, \"relationType\") && (\n <p className={styles.fieldError}>{formik?.errors?.relationType?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"relationType\") && (formik.values.relationType === \"many-to-one\" || formik.values.relationType === \"one-to-many\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"relationCascade\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Relation Cascade\n </label>\n <SolidSelect\n value={formik.values.relationCascade}\n options={fieldDefaultMetaData.data.cascadeTypes}\n optionLabel=\"label\"\n optionValue=\"value\"\n onChange={({ value }) =>\n formik.setFieldValue(\n \"relationCascade\",\n value\n )\n }\n placeholder=\"Cascade\"\n className={classNames(\"w-full\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationCascade\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"relationCascade\") && (\n <p className={styles.fieldError}>{formik?.errors?.relationCascade?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"relationModelModuleName\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-1\">\n <label\n htmlFor=\"relationModelModuleName\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Co-Module Name\n </label>\n\n <div className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(\n formik,\n \"relationModelModuleName\"\n ),\n })}>\n <SolidAutocomplete\n value={relationModelModuleField.selectedItem}\n suggestions={relationModelModuleField.filteredItems}\n completeMethod={relationModelModuleField.searchItems}\n onChange={relationModelModuleField.handleChange}\n dropdown\n field=\"name\"\n className=\"w-full\"\n />\n </div>\n\n {/* <SolidAutocomplete\n value={selectedRelationModelModuleName}\n suggestions={filteredRelationModelModuleNames}\n invalid={isFormFieldValid(\n formik,\n \"relationModelModuleName\"\n )}\n completeMethod={searchRelationModelModuleNames}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n setSelectedRelationModelModuleName(e.value);\n formik.setFieldValue(\n \"relationModelModuleName\",\n e.value\n );\n }}\n /> */}\n\n {isFormFieldValid(\n formik,\n \"relationModelModuleName\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.relationModelModuleName?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\n \"relationCoModelSingularName\"\n ) && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"relationCoModelSingularName\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Co-Model Name\n </label>\n\n <div className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(\n formik,\n \"relationCoModelSingularName\"\n ),\n })}>\n <SolidAutocomplete\n value={relationCoModelField.selectedItem}\n suggestions={relationCoModelField.filteredItems}\n completeMethod={relationCoModelField.searchItems}\n onChange={relationCoModelField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n\n {isFormFieldValid(\n formik,\n \"relationCoModelSingularName\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.relationCoModelSingularName?.toString()}</p>\n )}\n {formik.values.relationType === \"one-to-many\" &&\n <p className=\"fieldSubTitle\">This is the child model.</p>\n }\n {formik.values.relationType === \"many-to-one\" &&\n <p className=\"fieldSubTitle\">This is the parent model.</p>\n }\n </div>\n )}\n {currentFields.includes(\"relationCoModelColumnName\") && (formik.values.relationType === \"many-to-many\" || formik.values.relationType === \"many-to-one\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"relationCoModelColumnName\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Relation Co-Model Column Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"relationCoModelColumnName\"\n name=\"relationCoModelColumnName\"\n onChange={formik.handleChange}\n disabled={fieldMetaData?.id}\n value={formik.values.relationCoModelColumnName}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationCoModelColumnName\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"relationCoModelColumnName\") && (\n <p className={styles.fieldError}>{formik?.errors?.relationCoModelColumnName?.toString()}</p>\n )}\n <p className=\"fieldSubTitle\">Allows you to control the column name of the foreign key. Eg. when adding a country field to state model, by default foreign key column in the state table will be called country_id, use this field to create a foreign key with a different name. </p>\n\n </div>\n )}\n {askForUserKeyField && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"userKey\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Set User Key\n </label>\n\n <div className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(\n formik,\n \"userKey\"\n ),\n })}>\n <SolidAutocomplete\n value={userKeyField.selectedItem}\n suggestions={userKeyField.filteredItems}\n completeMethod={userKeyField.searchItems}\n onChange={userKeyField.handleChange}\n dropdown\n field=\"displayName\"\n className=\"w-full\"\n />\n </div>\n <p className=\"fieldSubTitle\">The co-model you have selected does not have a user key specified. Use the above dropdown to choose from one of the \"unique\" fields in this co-model to be set as its userkey. User keys are required in co-models being used in many-to-one or one-to-many relations as in SolidX when a many-to-one field is rendered it uses an autocomplete dropdown, and the user key value is what is displayed as the label in the dropdown.</p>\n {isFormFieldValid(\n formik,\n \"userKey\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.userKey?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\n \"relationFieldFixedFilter\"\n ) && (\n <div className=\"field col-12 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"relationFieldFixedFilter\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Relation Field Fixed Filter\n </label>\n\n <SolidTextarea\n aria-describedby=\"Fixed Filter\"\n id=\"relationFieldFixedFilter\"\n name=\"relationFieldFixedFilter\"\n onChange={formik.handleChange}\n value={formik.values.relationFieldFixedFilter}\n rows={5}\n cols={30}\n className={classNames(styles.fieldTextarea, {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationFieldFixedFilter\"\n ),\n })}\n />\n {/* \n <SolidInput\n type=\"text\"\n id=\"relationFieldFixedFilter\"\n name=\"relationFieldFixedFilter\"\n onChange={formik.handleChange}\n disabled={fieldMetaData?.id}\n value={formik.values.relationFieldFixedFilter}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationFieldFixedFilter\"\n ),\n })}\n /> */}\n {isFormFieldValid(formik, \"relationFieldFixedFilter\") && (\n <p className={styles.fieldError}>{formik?.errors?.relationFieldFixedFilter?.toString()}</p>\n )}\n <p className=\"fieldSubTitle\">Many to one fields are rendered as autocomplete dropdown on the SolidX ui. Use the fixed filter to load a pre-filtered set of records from the co-model. Please note user input entered in the autocomplete is used to apply a dynamic filter.</p>\n\n </div>\n )}\n\n {currentFields.includes(\"relationCreateInverse\") && (\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-2\">\n <label htmlFor=\"relationCreateInverse\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Relation Create Inverse\n </label>\n <div className=\"flex align-items-center\">\n <SolidCheckbox\n id=\"relationCreateInverse\"\n name=\"relationCreateInverse\"\n checked={formik.values.relationCreateInverse}\n disabled={formik.values.relationType === \"one-to-many\"}\n onChange={(event) => formik.setFieldValue(\"relationCreateInverse\", event.currentTarget.checked)}\n />\n <label htmlFor=\"relationCreateInverse\" className={classNames(\"ml-2\", \"form-field-label\", styles.fieldLabel)}>Create Inverse</label>\n </div>\n {isFormFieldValid(formik, \"relationCreateInverse\") && (\n <p className={styles.fieldError}>{formik?.errors?.relationCreateInverse?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"relationCoModelFieldName\") && formik.values.relationCreateInverse && !formik.values.relationCoModelSingularName && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <SolidMessage text=\"Please select Co-model\" />\n </div>\n )}\n {currentFields.includes(\"relationCoModelFieldName\") && formik.values.relationCreateInverse && formik.values.relationCoModelSingularName && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"relationCoModelFieldName\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Field Name In {formik.values.relationCoModelSingularName} Model\n </label>\n <SolidInput\n type=\"text\"\n id=\"relationCoModelFieldName\"\n name=\"relationCoModelFieldName\"\n onChange={formik.handleChange}\n disabled={fieldMetaData?.id}\n value={formik.values.relationCoModelFieldName}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationCoModelFieldName\"\n ),\n })}\n />\n {formik.values.relationType === \"one-to-many\" &&\n <p className=\"fieldSubTitle\">This is a field that is created in the child model. In this case a <span style={{ fontWeight: \"700\" }}>{formik.values.relationCoModelFieldName ?? formik.values.relationCoModelSingularName}</span> field will be created in the {formik.values.relationCoModelSingularName} when setting create inverse true.</p>\n }\n {formik.values.relationType === \"many-to-one\" &&\n <p className=\"fieldSubTitle\">This is a field that is created in the parent model. In this case a <span style={{ fontWeight: \"700\" }}>{formik.values.relationCoModelFieldName ?? `${formik.values.relationCoModelSingularName}s`}</span> field will be created in the {formik.values.relationCoModelSingularName} when setting create inverse true.</p>\n }\n {formik.values.relationType === \"many-to-many\" &&\n <p className=\"fieldSubTitle\">In this case a {formik.values.relationCoModelFieldName} field will be created in the <span style={{ fontWeight: \"700\" }}>{formik.values.relationCoModelSingularName ?? '{{}}'}</span> when setting create inverse true.</p>\n }\n {isFormFieldValid(formik, \"relationCoModelFieldName\") && (\n <p className={styles.fieldError}>{formik?.errors?.relationCoModelFieldName?.toString()}</p>\n )}\n </div>\n )}\n\n {/* {currentFields.includes(\"joinColumnName\") && formik.values.relationType === \"many-to-many\" && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"joinColumnName\"\n className=\"form-field-label\"\n >\n Join Column Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"joinColumnName\"\n name=\"joinColumnName\"\n onChange={formik.handleChange}\n value={formik.values.joinColumnName}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"joinColumnName\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"joinColumnName\") && (\n <SolidMessage\n severity=\"error\"\n text={formik?.errors?.joinColumnName?.toString()}\n />\n )}\n\n </div>\n )} */}\n\n\n\n {currentFields.includes(\"relationJoinTableName\") && formik.values.relationType === \"many-to-many\" && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"relationJoinTableName\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Relation Join Table Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"relationJoinTableName\"\n name=\"relationJoinTableName\"\n onChange={formik.handleChange}\n disabled={fieldMetaData?.id}\n value={formik.values.relationJoinTableName}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"relationJoinTableName\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"relationJoinTableName\") && (\n <p className={styles.fieldError}>{formik?.errors?.relationJoinTableName?.toString()}</p>\n )}\n\n </div>\n )}\n\n {currentFields.includes(\"selectionDynamicProvider\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"selectionDynamicProvider\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Selection Dynamic Provider\n </label>\n\n <div className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(\n formik,\n \"selectionDynamicProvider\"\n ),\n })}>\n <SolidAutocomplete\n value={selectionDynamicProviderField.selectedItem}\n suggestions={selectionDynamicProviderField.filteredItems}\n completeMethod={selectionDynamicProviderField.searchItems}\n onChange={selectionDynamicProviderField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n\n\n {/* <SolidAutocomplete\n value={selectionDynamicProvider}\n suggestions={filteredSelectionDynamicProvider}\n invalid={isFormFieldValid(\n formik,\n \"selectionDynamicProvider\"\n )}\n completeMethod={searchSelectionDynamicProvider}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n setSelectionDynamicProvider(e.value);\n formik.setFieldValue(\n \"selectionDynamicProvider\",\n e.value.value\n );\n }}\n /> */}\n\n {isFormFieldValid(\n formik,\n \"selectionDynamicProvider\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.selectionDynamicProvider?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"selectionValueType\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"selectionValueType\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Select Value Type\n </label>\n <SolidSelect\n value={formik.values.selectionValueType}\n options={selctionValueTypes}\n optionLabel=\"label\"\n optionValue=\"value\"\n onChange={({ value }) =>\n formik.setFieldValue(\n \"selectionValueType\",\n value\n )\n }\n placeholder=\"Select Value Type\"\n className={classNames(\"w-full\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"selectionValueType\"\n ),\n })}\n />\n {isFormFieldValid(\n formik,\n \"selectionValueType\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.selectionValueType?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"selectionStaticValues\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"selectionStaticValues\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Selection Static Values\n </label>\n {/* <SolidTextarea\n value={selectionStaticValues}\n placeholder=\"male:Male\"\n onChange={(e) => {\n const data = e.target.value\n .split(\"\\n\")\n .filter((line) => line.trim() !== \"\");\n\n setSelectionStaticValues(e.target.value);\n formik.setFieldValue(\n \"selectionStaticValues\",\n data\n );\n }}\n rows={5}\n cols={30}\n /> */}\n {formik.values.selectionStaticValues.map((enumValue: string, index: number) => (\n <SelectionStaticValues\n key={index}\n enumValue={enumValue}\n onUpdate={(updatedString: any) => updateEnumValues(index, updatedString)}\n onDelete={() => deleteEnumValue(index)}\n onAdd={addEnumValue}\n />\n ))\n }\n {isFormFieldValid(\n formik,\n \"selectionStaticValues\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.selectionStaticValues?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"computedFieldValueType\") && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"computedFieldValueType\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Computed Field Value Type\n </label>\n <SolidAutocomplete\n value={selectedComputedFieldValueType}\n suggestions={filteredComputedFieldValueTypes}\n completeMethod={searchComputedFieldValueType}\n field=\"label\"\n dropdown\n className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(formik, \"computedFieldValueType\"),\n })}\n onChange={(e) => {\n setSelectedComputedFieldValueType(e.value);\n formik.setFieldValue(\"computedFieldValueType\", e.value.value);\n }}\n />\n\n {/* <Dropdown\n id=\"mediaTypes\"\n name=\"mediaTypes\"\n value={formik.values.mediaTypes}\n options={fieldDefaultMetaData.data.mediaTypes}\n onChange={(e) =>\n formik.setFieldValue(\"mediaTypes\", e.value)\n }\n placeholder=\"Select a Data Source\"\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"mediaTypes\"\n ),\n })}\n /> */}\n {isFormFieldValid(formik, \"computedFieldValueType\") && (\n <p className={styles.fieldError}>{formik?.errors?.computedFieldValueType?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\n \"computedFieldValueProvider\"\n ) && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"computedFieldValueProvider\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Computed Field Provider\n </label>\n <div className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(\n formik,\n \"computedFieldValueProvider\"\n ),\n })}>\n <SolidAutocomplete\n value={computedFieldValueProviderField.selectedItem}\n suggestions={computedFieldValueProviderField.filteredItems}\n completeMethod={computedFieldValueProviderField.searchItems}\n onChange={computedFieldValueProviderField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {isFormFieldValid(\n formik,\n \"computedFieldValueProvider\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.computedFieldValueProvider?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\n \"computedFieldTriggerConfig\"\n ) && (\n <div className=\"field col-12 flex-flex-column gap-2 mt-2\">\n {fieldMetaData?.computedFieldTriggerConfig === null\n &&\n <div className=\"mb-3\">\n <SolidMessage severity=\"error\" text={`You seem to be using an old configuration of ComputedFieldProvider. Please change your current computed field provider i.e ${fieldMetaData?.computedFieldValueProvider} to implement IEntityComputedFieldProvider before continuing.`} />\n </div>\n }\n <div className=\"flex align-items-center gap-2\">\n <label\n htmlFor=\"computedFieldTriggerConfig\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Computed Field Trigger Config\n </label>\n <div>\n <SolidButton\n icon=\"si si-plus\"\n size=\"small\"\n onClick={handleAdd}\n type=\"button\"\n className=\"ml-2\"\n />\n </div>\n </div>\n {\n formik.values.computedFieldTriggerConfig.map((row: any, index: number) => (\n <SelectComputedFieldTriggerValues\n key={index}\n index={index}\n row={row}\n onChange={handleChange}\n onDelete={handleDelete}\n isLastRow={index === formik.values.computedFieldTriggerConfig.length - 1}\n disableDelete={formik.values.computedFieldTriggerConfig.length === 1}\n formik={formik}\n isFormFieldValid={isFormFieldValid}\n searchModuleName={searchModuleName}\n searchModelName={computedFieldSearchHandlers[index]}\n modelMetaData={modelMetaData}\n errors={formik.errors.computedFieldTriggerConfig?.[index]}\n />\n ))}\n {typeof formik.errors.computedFieldTriggerConfig === 'string' && (\n <p className={styles.fieldError}>{formik.errors.computedFieldTriggerConfig}</p>\n )}\n </div>\n )}\n {/* {currentFields.includes(\"externalIdProvider\") && (\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label\n htmlFor=\"externalIdProvider\"\n className=\"form-field-label\"\n >\n External Id Provider\n </label>\n <SolidAutocomplete\n key=\"externalIdProvider\"\n value={formik.values.externalIdProvider}\n suggestions={[]}\n />\n \n\n {isFormFieldValid(\n formik,\n \"externalIdProvider\"\n ) && (\n <SolidMessage\n severity=\"error\"\n text={formik?.errors?.externalIdProvider?.toString()}\n />\n )}\n </div>\n </div>\n )} */}\n\n {currentFields.includes(\"selectionDynamicProviderCtxt\") && (\n <div className=\"field col-12 flex-flex-column gap-2 mt-4\">\n <label htmlFor=\"selectionDynamicProviderCtxt\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Selection Dynamic Provider Context\n </label>\n <SolidCodeEditor\n value={formik.values.selectionDynamicProviderCtxt ?? \"\"}\n onChange={(value) => {\n formik.setFieldValue(\"selectionDynamicProviderCtxt\", value ?? \"\");\n }}\n language=\"json\"\n height=\"300px\"\n />\n <div className=\" form-field-label mt-2\">{markdownText}</div>\n\n {isFormFieldValid(\n formik,\n \"selectionDynamicProviderCtxt\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.selectionDynamicProviderCtxt?.toString()}</p>\n )}\n </div>\n )}\n\n {currentFields.includes(\"computedFieldValueProviderCtxt\") && (\n <div className=\"field col-12 flex-flex-column gap-2 mt-4\">\n <label htmlFor=\"computedFieldValueProviderCtxt\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Computed Field Value Provider Context\n </label>\n <SolidCodeEditor\n value={formik.values.computedFieldValueProviderCtxt ?? \"\"}\n onChange={(value) => {\n formik.setFieldValue(\"computedFieldValueProviderCtxt\", value ?? \"\");\n }}\n language=\"json\"\n height=\"300px\"\n />\n <div className=\"form-field-label mt-4\">{markdownText}</div>\n\n {isFormFieldValid(\n formik,\n \"computedFieldValueProviderCtxt\"\n ) && (\n <p className={styles.fieldError}>{formik?.errors?.computedFieldValueProviderCtxt?.toString()}</p>\n )}\n </div>\n )}\n\n {/* {currentFields.includes(\"externalIdProviderCtxt\") && (\n <div className=\"md:col-12 sm:col-12\">\n\n <div className=\"formgrid grid\">\n {markdownText &&\n <div className=\"md:col-12 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"name\" className=\"form-field-label\">\n Markdown\n </label>\n <MarkdownViewer data={markdownText}></MarkdownViewer>\n </div>\n </div>\n }\n <div className=\"md:col-12 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"name\" className=\"form-field-label\">\n External Id Provider Context\n </label>\n <SolidCodeEditor\n value={formik.values.externalIdProviderCtxt ?? \"\"}\n onChange={(value) => {\n formik.setFieldValue(\"externalIdProviderCtxt\", value ?? \"\");\n }}\n language=\"json\"\n height=\"300px\"\n />\n {isFormFieldValid(\n formik,\n \"externalIdProviderCtxt\"\n ) && (\n <SolidMessage\n severity=\"error\"\n text={formik?.errors?.externalIdProviderCtxt?.toString()}\n />\n )}\n </div>\n </div>\n\n </div>\n </div>\n )} */}\n\n </div>\n )}\n {showValidationSection && (\n <>\n <p className=\"form-wrapper-heading\">Validations</p>\n <div className=\"formgrid grid\">\n {(showRegexFields && selectedTypeValue === \"password\") &&\n <>\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"regexPattern\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Password Policy\n </label>\n <SolidSelect\n value={selectedPasswordPolicy}\n options={passwordPolicyOptions}\n optionLabel=\"label\"\n optionValue=\"value\"\n onChange={({ value }) => {\n setSelectedPasswordPolicy(value);\n if (value !== \"custom\") {\n formik.setFieldValue(\"regexPattern\", value);\n }\n }}\n placeholder=\"Select a Password Policy\"\n className=\"w-full\"\n />\n\n </div>\n </>\n }\n {showRegexFields && (\n <>\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label\n htmlFor=\"regexPattern\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Regex Pattern\n </label>\n <SolidInput\n type=\"text\"\n id=\"regexPattern\"\n name=\"regexPattern\"\n onChange={formik.handleChange}\n value={formik.values.regexPattern}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"regexPattern\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"regexPattern\") && (\n <p className={styles.fieldError}>{formik?.errors?.regexPattern?.toString()}</p>\n )}\n </div>\n {showRegexFields && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2 mb-3 md:mb-3\">\n <label\n htmlFor=\"regexPatternNotMatchingErrorMsg\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Regex Pattern Not Matching Error Msg\n </label>\n <SolidInput\n type=\"text\"\n id=\"regexPatternNotMatchingErrorMsg\"\n name=\"regexPatternNotMatchingErrorMsg\"\n onChange={formik.handleChange}\n value={formik.values.regexPatternNotMatchingErrorMsg}\n className={classNames(styles.fieldInput, {\n \"p-invalid\": isFormFieldValid(\n formik,\n \"regexPatternNotMatchingErrorMsg\"\n ),\n })}\n />\n {isFormFieldValid(formik, \"regexPatternNotMatchingErrorMsg\") && (\n <p className={styles.fieldError}>{formik?.errors?.regexPatternNotMatchingErrorMsg?.toString()}</p>\n )}\n </div>\n )}\n </>\n\n )}\n {(showMinFields || showMaxFields) &&\n <>\n {showMinFields && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label htmlFor=\"min\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Min {(selectedTypeValue !== \"int\" && selectedTypeValue !== \"decimal\") && `(Characters Allowed)`}\n\n </label>\n {/* <SolidInput\n type=\"text\"\n id=\"min\"\n name=\"min\"\n onChange={formik.handleChange}\n value={formik.values.min}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"min\"),\n })}\n /> */}\n {/* <RenderMinValueInput></RenderMinValueInput> */}\n\n <div className={styles.fieldNumberWrapper}>\n <SolidNumberInput\n id=\"min\"\n name=\"min\"\n step=\"0.00001\"\n value={formik.values.min}\n onChange={(event) => formik.setFieldValue(\"min\", event.value)}\n className={classNames({\n \"p-invalid\": isFormFieldValid(\n formik,\n \"min\"\n ),\n })}\n disabled={fieldMetaData?.id}\n />\n </div>\n {isFormFieldValid(formik, \"min\") && (\n <p className={styles.fieldError}>{formik?.errors?.min?.toString()}</p>\n )}\n </div>\n )}\n {showMaxFields && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label htmlFor=\"max\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Max {(selectedTypeValue !== \"int\" &&\n selectedTypeValue !== \"decimal\") && `(Characters allowed)`}\n </label>\n {/* <SolidInput\n type=\"text\"\n id=\"max\"\n name=\"max\"\n onChange={formik.handleChange}\n value={formik.values.max}\n className={classNames(\"\", {\n \"p-invalid\": isFormFieldValid(formik, \"max\"),\n })}\n /> */}\n\n <div className={styles.fieldNumberWrapper}>\n <SolidNumberInput\n id=\"max\"\n name=\"max\"\n step=\"0.00001\"\n value={formik.values.max}\n onChange={(event) => formik.setFieldValue(\"max\", event.value)}\n className={classNames({\n \"p-invalid\": isFormFieldValid(\n formik,\n \"max\"\n ),\n })}\n disabled={fieldMetaData?.id}\n />\n </div>\n\n\n {isFormFieldValid(formik, \"max\") && (\n <p className={styles.fieldError}>{formik?.errors?.max?.toString()}</p>\n )}\n </div>\n )}\n </>\n }\n {showOrmOptions && (\n <div className=\"field col-12 md:col-6 flex-flex-column gap-2 mt-2\">\n <label htmlFor=\"ormType\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Type\n </label>\n\n <SolidRadioGroup\n name=\"ormType\"\n value={selectedOrmType}\n onChange={(value) => {\n formik.setFieldValue(\"ormType\", value);\n setSelectedOrmType(value);\n }}\n options={(ormTypeOptions || []).map((ormType: any) => ({\n value: ormType.label,\n label: (\n <span className={classNames(\"ml-2\", \"form-field-label\")}>\n {ormType.label}\n <br />\n <span className=\"fieldSubTitle mt-0\">{`(${ormType.description})`}</span>\n </span>\n ),\n }))}\n className=\"ormTypeflex\"\n itemClassName=\"mr-3 align-items-center\"\n />\n\n {isFormFieldValid(formik, \"ormType\") && (\n <p className={styles.fieldError}>{formik?.errors?.ormType?.toString()}</p>\n )}\n </div>\n )}\n </div>\n </>\n )}\n\n {(formik.values.relationType !== \"many-to-many\" && formik.values.relationType !== \"one-to-many\") && <p className=\"form-wrapper-heading\">Settings</p>}\n <div className=\"formgrid grid mt-1 md:mt-0\">\n {currentFields.includes(\"required\") && (formik.values.relationType !== \"many-to-many\" && formik.values.relationType !== \"one-to-many\") && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <div className=\"flex align-items-center\">\n <SolidCheckbox\n id=\"required\"\n name=\"required\"\n onChange={(event) => {\n if (!formik.values.isPrimaryKey && !formik.values.unique) {\n formik.setFieldValue(\"required\", event.currentTarget.checked);\n }\n }}\n checked={formik.values.required}\n disabled={formik.values.isPrimaryKey || formik.values.unique}\n />\n <label htmlFor=\"required\" className={classNames(\"form-field-label\", styles.fieldLabel, \"ml-2\")}>\n Required {formik.values.isPrimaryKey && \"(Auto-enabled for Primary Key)\"}\n {!formik.values.isPrimaryKey && formik.values.unique && \"(Auto-enabled for Unique)\"}\n </label>\n </div>\n <p className=\"text-xs mt-2\">You won't be able to create an entry if this field is empty</p>\n\n {isFormFieldValid(formik, \"required\") && (\n <p className={styles.fieldError}>{formik?.errors?.required?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"unique\") && selectedTypeValue !== 'relation' && (\n <div className=\"field col-6 flex-flex-column gap-2\">\n <div className=\"flex align-items-center\">\n <SolidCheckbox\n id=\"unique\"\n name=\"unique\"\n onChange={(event) => {\n // Prevent unchecking if isPrimaryKey is true\n if (!formik.values.isPrimaryKey) {\n const nextValue = event.currentTarget.checked;\n formik.setFieldValue(\"unique\", nextValue);\n formik.setFieldValue(\"isUserKey\", false);\n // Auto-enable required when unique is checked\n if (nextValue) {\n formik.setFieldValue(\"required\", true);\n } else {\n formik.setFieldValue(\"required\", false);\n }\n }\n }}\n checked={formik.values.unique}\n disabled={formik.values.isPrimaryKey}\n />\n <label htmlFor=\"unique\" className={classNames(\"form-field-label\", styles.fieldLabel, \"ml-2\")}>\n Unique {formik.values.isPrimaryKey && \"(Auto-enabled for Primary Key)\"}\n </label>\n </div>\n <p className=\"text-xs mt-2\">You won't be able to create an entry if there is an existing entry with identical content</p>\n\n {isFormFieldValid(formik, \"unique\") && (\n <p className={styles.fieldError}>{formik?.errors?.unique?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"index\") && selectedTypeValue !== 'relation' && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <div className=\"flex align-items-center\">\n <SolidCheckbox\n id=\"index\"\n name=\"index\"\n onChange={(event) => {\n formik.setFieldValue(\"index\", event.currentTarget.checked);\n }}\n checked={formik.values.index}\n />\n <label htmlFor=\"index\" className={classNames(\"form-field-label\", styles.fieldLabel, \"ml-2\")}>\n Index\n </label>\n </div>\n {isFormFieldValid(formik, \"index\") && (\n <p className={styles.fieldError}>{formik?.errors?.index?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"private\") && selectedTypeValue !== 'relation' && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <div className=\"flex align-items-center\">\n <SolidCheckbox\n id=\"private\"\n name=\"private\"\n onChange={(event) => {\n formik.setFieldValue(\"private\", event.currentTarget.checked);\n }}\n checked={formik.values.private}\n />\n <label htmlFor=\"private\" className={classNames(\"form-field-label\", styles.fieldLabel, \"ml-2\")}>\n Private\n </label>\n </div>\n <p className=\"text-xs mt-2\">This field will not show up in the API response</p>\n\n\n {isFormFieldValid(formik, \"private\") && (\n <p className={styles.fieldError}>{formik?.errors?.private?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"encrypt\") && selectedTypeValue !== 'relation' && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <div className=\"flex align-items-center gap-2\">\n <SolidCheckbox\n id=\"encrypt\"\n name=\"encrypt\"\n onChange={(event) => {\n formik.setFieldValue(\"encrypt\", event.currentTarget.checked);\n setEncryptState(event.currentTarget.checked);\n }}\n checked={formik.values.encrypt}\n />\n <label htmlFor=\"encrypt\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Encrypt\n </label>\n </div>\n {isFormFieldValid(formik, \"encrypt\") && (\n <p className={styles.fieldError}>{formik?.errors?.encrypt?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"isMultiSelect\") && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <div className=\"flex align-items-center\">\n <SolidCheckbox\n id=\"isMultiSelect\"\n name=\"isMultiSelect\"\n onChange={(event) => {\n formik.setFieldValue(\"isMultiSelect\", event.currentTarget.checked);\n }}\n checked={formik.values.isMultiSelect}\n />\n <label htmlFor=\"isMultiSelect\" className={classNames(\"form-field-label\", styles.fieldLabel, \"ml-2\")}>\n Is MultiSelect\n </label>\n </div>\n {isFormFieldValid(formik, \"isMultiSelect\") && (\n <p className={styles.fieldError}>{formik?.errors?.isMultiSelect?.toString()}</p>\n )}\n </div>\n )}\n {/* {currentFields.includes(\"isSystem\") && (\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field\">\n <div className=\"flex align-items-center\">\n <SolidCheckbox\n name=\"isSystem\"\n onChange={(event) => {\n formik.setFieldValue(\"isSystem\", event.currentTarget.checked);\n }}\n checked={formik.values.isSystem}\n />\n <label htmlFor=\"ingredient1\" className=\"form-field-label\">\n isSystem\n </label>\n </div>\n {isFormFieldValid(formik, \"isSystem\") && (\n <SolidMessage\n severity=\"error\"\n text={formik?.errors?.isSystem?.toString()}\n />\n )}\n </div>\n </div>\n )} */}\n {currentFields.includes(\"enableAuditTracking\") && formik.values.relationType !== \"one-to-many\" && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <div className=\"flex align-items-center gap-2\">\n <SolidCheckbox\n id=\"enableAuditTracking\"\n name=\"enableAuditTracking\"\n onChange={(event) => {\n formik.setFieldValue(\"enableAuditTracking\", event.currentTarget.checked);\n }}\n checked={formik.values.enableAuditTracking}\n />\n <label htmlFor=\"enableAuditTracking\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Enable Audit Tracking\n </label>\n </div>\n <p className=\"fieldSubTitle\">By selecting this option, you are setting audit trail for this field.</p>\n\n {isFormFieldValid(formik, \"enableAuditTracking\") && (\n <p className={styles.fieldError}>{formik?.errors?.enableAuditTracking?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"isUserKey\") && formik.values.unique && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <div className=\"flex align-items-center gap-2\">\n <SolidCheckbox\n id=\"isUserKey\"\n name=\"isUserKey\"\n onChange={(event) => {\n formik.setFieldValue(\"isUserKey\", event.currentTarget.checked);\n }}\n checked={formik.values.isUserKey}\n />\n <label htmlFor=\"isUserKey\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Is Userkey\n </label>\n </div>\n <p className=\"fieldSubTitle\">By selecting this option, you are setting this field as the model's user key. Any existing user key configuration will be overwritten</p>\n\n {isFormFieldValid(formik, \"isUserKey\") && (\n <p className={styles.fieldError}>{formik?.errors?.isUserKey?.toString()}</p>\n )}\n </div>\n )}\n {currentFields.includes(\"isPrimaryKey\") && (modelMetaData?.isLegacyTable || modelMetaData?.isLegacyTableWithId) && (\n <div className=\"field col-6 flex-flex-column gap-2 mt-2\">\n <div className=\"flex align-items-center gap-2\">\n <SolidCheckbox\n id=\"isPrimaryKey\"\n name=\"isPrimaryKey\"\n onChange={(event) => {\n const checked = event.currentTarget.checked;\n formik.setFieldValue(\"isPrimaryKey\", checked);\n // Auto-set required and unique when isPrimaryKey is checked\n if (checked) {\n formik.setFieldValue(\"required\", true);\n formik.setFieldValue(\"unique\", true);\n }\n }}\n checked={formik.values.isPrimaryKey}\n />\n <label htmlFor=\"isPrimaryKey\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Is Primary Key\n </label>\n </div>\n <p className=\"fieldSubTitle\">By selecting this option, you are setting this field as the primary key for this legacy table.</p>\n\n {isFormFieldValid(formik, \"isPrimaryKey\") && (\n <p className={styles.fieldError}>{formik?.errors?.isPrimaryKey?.toString()}</p>\n )}\n </div>\n )}\n </div>\n\n\n {formik.values.encrypt === true && (\n <div className=\"formgrid grid mt-2\">\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label\n htmlFor=\"encryptionType\"\n className={classNames(\"form-field-label\", styles.fieldLabel)}\n >\n Encryption Type\n </label>\n {/* <SolidAutocomplete\n value={selectedEncryptionType}\n suggestions={filteredSelectionEncryptionType}\n invalid={isFormFieldValid(\n formik,\n \"encryptionType\"\n )}\n completeMethod={searchSelectionEncryptionType}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n setSelectedEncryptionType(e.value);\n formik.setFieldValue(\"encryptionType\", e.value.value);\n }}\n /> */}\n\n <div className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(formik, \"encryptionType\"),\n })}>\n <SolidAutocomplete\n value={encryptionTypeField.selectedItem}\n suggestions={encryptionTypeField.filteredItems}\n completeMethod={encryptionTypeField.searchItems}\n onChange={encryptionTypeField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {isFormFieldValid(formik, \"encryptionType\") && (\n <p className={styles.fieldError}>{formik?.errors?.encryptionType?.toString()}</p>\n )}\n </div>\n </div>\n <div className=\"md:col-6 sm:col-12\">\n <div className=\"field col-6 flex-flex-column gap-2\">\n <label htmlFor=\"decryptWhen\" className={classNames(\"form-field-label\", styles.fieldLabel)}>\n Decrypt When\n </label>\n {/* <SolidAutocomplete\n value={selectedDecryptWhen}\n suggestions={filteredSelectionDecryptWhen}\n invalid={isFormFieldValid(formik, \"decryptWhen\")}\n completeMethod={searchSelectionDecryptWhen}\n virtualScrollerOptions={{ itemSize: 38 }}\n field=\"label\"\n className=\"small-input\"\n dropdown\n onChange={(e) => {\n setSelectedeDecryptWhen(e.value);\n formik.setFieldValue(\"decryptWhen\", e.value.value);\n }}\n /> */}\n\n <div className={classNames(\"solid-standard-autocomplete\", {\n [styles.fieldInvalidControl]: isFormFieldValid(formik, \"decryptWhen\"),\n })}>\n <SolidAutocomplete\n value={decryptWhenField.selectedItem}\n suggestions={decryptWhenField.filteredItems}\n completeMethod={decryptWhenField.searchItems}\n onChange={decryptWhenField.handleChange}\n dropdown\n field=\"label\"\n className=\"w-full\"\n />\n </div>\n {isFormFieldValid(formik, \"decryptWhen\") && (\n <p className={styles.fieldError}>{formik?.errors?.decryptWhen?.toString()}</p>\n )}\n </div>\n </div>\n </div>\n )}\n </TabPanel>\n </TabView>\n <div className=\"flex gap-3 mt-3\">\n <div>\n <SolidButton label=\"Finish\" size=\"small\" onClick={() => showError()} type=\"submit\" />\n </div>\n <div>\n <SolidButton label=\"Cancel\" size=\"small\" severity=\"secondary\" type=\"reset\" onClick={() => setVisiblePopup(false)} outlined />\n </div>\n </div>\n </div>\n {/* <div className=\"ml-4\">\n <SolidButton\n label=\"Save\"\n onClick={() => showError(formik.validateForm)}\n type=\"submit\"\n />\n </div> */}\n </div>\n </div>\n }\n\n </form>\n </div >\n <SolidDialog\n open={isBackPopupVisible}\n onOpenChange={(next) => {\n if (!next) {\n setIsBackPopupVisible(false);\n }\n }}\n dismissible={false}\n header=\"Unsaved Changes\"\n headerClassName=\"solid-field-confirm-header\"\n modal\n className=\"solid-confirm-dialog solid-field-confirm-dialog\"\n footer={\n <div className=\"solid-field-confirm-actions\">\n <SolidButton\n label=\"Yes\"\n icon=\"si si-check\"\n size=\"small\"\n type=\"reset\"\n severity=\"danger\"\n autoFocus\n onClick={() => {\n resetFormStateForTypeSelection();\n setIsBackPopupVisible(false);\n setShowTypeFilter(true);\n }}\n />\n <SolidButton label=\"No\" icon=\"si si-times\" size=\"small\" onClick={() => setIsBackPopupVisible(false)} />\n </div>\n }\n >\n <SolidDialogBody className=\"solid-field-confirm-dialog-body\">\n <p className=\"solid-field-confirm-message\">\n You have unsaved changes. Are you sure you want to go back?\n </p>\n </SolidDialogBody>\n </SolidDialog>\n </div >\n );\n};\n\n\nexport default FieldMetaDataForm;\n"]}
|