@solidxai/core-ui 0.1.9-beta.2 → 0.1.9-beta.21

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.
Files changed (813) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/auth/handleLogout.d.ts +1 -1
  3. package/dist/adapters/auth/handleLogout.d.ts.map +1 -1
  4. package/dist/adapters/auth/handleLogout.js +20 -32
  5. package/dist/adapters/auth/handleLogout.js.map +1 -1
  6. package/dist/adapters/auth/handleLogout.ts +7 -14
  7. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  8. package/dist/components/auth/AuthLayout.js +24 -19
  9. package/dist/components/auth/AuthLayout.js.map +1 -1
  10. package/dist/components/auth/AuthLayout.tsx +63 -51
  11. package/dist/components/auth/ForgotPasswordThankYou.js +1 -1
  12. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  13. package/dist/components/auth/ForgotPasswordThankYou.tsx +4 -4
  14. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.d.ts +2 -0
  15. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.d.ts.map +1 -0
  16. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.js +112 -0
  17. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.js.map +1 -0
  18. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.tsx +78 -0
  19. package/dist/components/auth/SolidChangeForcePassword.js +2 -2
  20. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  21. package/dist/components/auth/SolidChangeForcePassword.tsx +13 -13
  22. package/dist/components/auth/SolidForgotPassword.js +1 -1
  23. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  24. package/dist/components/auth/SolidForgotPassword.tsx +5 -5
  25. package/dist/components/auth/SolidInitialLoginOtp.js +9 -9
  26. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  27. package/dist/components/auth/SolidInitialLoginOtp.tsx +3 -3
  28. package/dist/components/auth/SolidInitiateRegisterOtp.js +9 -9
  29. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  30. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +3 -3
  31. package/dist/components/auth/SolidLogin.js +11 -12
  32. package/dist/components/auth/SolidLogin.js.map +1 -1
  33. package/dist/components/auth/SolidLogin.tsx +14 -14
  34. package/dist/components/auth/SolidRegister.js +15 -15
  35. package/dist/components/auth/SolidRegister.js.map +1 -1
  36. package/dist/components/auth/SolidRegister.tsx +17 -17
  37. package/dist/components/auth/SolidResetPassword.js +2 -2
  38. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  39. package/dist/components/auth/SolidResetPassword.tsx +8 -8
  40. package/dist/components/common/BackButton.js +1 -1
  41. package/dist/components/common/BackButton.js.map +1 -1
  42. package/dist/components/common/BackButton.tsx +1 -1
  43. package/dist/components/common/CancelButton.js +2 -2
  44. package/dist/components/common/CancelButton.js.map +1 -1
  45. package/dist/components/common/CancelButton.tsx +3 -3
  46. package/dist/components/common/GeneralSettings.js +18 -18
  47. package/dist/components/common/GeneralSettings.js.map +1 -1
  48. package/dist/components/common/GeneralSettings.tsx +137 -137
  49. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  50. package/dist/components/common/SettingsComponent.js +4 -1
  51. package/dist/components/common/SettingsComponent.js.map +1 -1
  52. package/dist/components/common/SettingsComponent.module.css +95 -2
  53. package/dist/components/common/SettingsComponent.tsx +4 -1
  54. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  55. package/dist/components/common/SocialMediaLogin.js +2 -2
  56. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  57. package/dist/components/common/SocialMediaLogin.tsx +8 -4
  58. package/dist/components/common/SolidExport.d.ts +1 -1
  59. package/dist/components/common/SolidExport.d.ts.map +1 -1
  60. package/dist/components/common/SolidExport.js +11 -4
  61. package/dist/components/common/SolidExport.js.map +1 -1
  62. package/dist/components/common/SolidExport.tsx +12 -2
  63. package/dist/components/common/SolidFaviconProvider.d.ts +3 -0
  64. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -0
  65. package/dist/components/common/SolidFaviconProvider.js +102 -0
  66. package/dist/components/common/SolidFaviconProvider.js.map +1 -0
  67. package/dist/components/common/SolidFaviconProvider.tsx +55 -0
  68. package/dist/components/common/SolidFormHeader.js +1 -1
  69. package/dist/components/common/SolidFormHeader.js.map +1 -1
  70. package/dist/components/common/SolidFormHeader.tsx +1 -1
  71. package/dist/components/common/SolidModuleHome.js +2 -2
  72. package/dist/components/common/SolidModuleHome.js.map +1 -1
  73. package/dist/components/common/SolidModuleHome.tsx +7 -7
  74. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +3 -3
  75. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  76. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +6 -6
  77. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +1 -1
  78. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  79. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +4 -4
  80. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +1 -1
  81. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  82. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +4 -4
  83. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +1 -1
  84. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  85. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +1 -1
  86. package/dist/components/core/card/SolidCardView.js +1 -1
  87. package/dist/components/core/card/SolidCardView.js.map +1 -1
  88. package/dist/components/core/card/SolidCardView.tsx +6 -6
  89. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  90. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  91. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  92. package/dist/components/core/card/SolidCardViewConfigure.tsx +5 -1
  93. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  94. package/dist/components/core/chatter/SolidChatter.js +29 -16
  95. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  96. package/dist/components/core/chatter/SolidChatter.tsx +28 -14
  97. package/dist/components/core/chatter/SolidChatterAuditMessage.js +1 -1
  98. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  99. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +2 -2
  100. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  101. package/dist/components/core/chatter/SolidChatterHeader.js +2 -2
  102. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  103. package/dist/components/core/chatter/SolidChatterHeader.tsx +10 -6
  104. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +1 -0
  105. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  106. package/dist/components/core/chatter/SolidChatterMessageBox.js +151 -12
  107. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  108. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +256 -15
  109. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  110. package/dist/components/core/chatter/SolidMessageComposer.js +3 -2
  111. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  112. package/dist/components/core/chatter/SolidMessageComposer.tsx +11 -9
  113. package/dist/components/core/chatter/chatter.module.css +1 -1
  114. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  115. package/dist/components/core/common/FilterComponent.js +5 -3
  116. package/dist/components/core/common/FilterComponent.js.map +1 -1
  117. package/dist/components/core/common/FilterComponent.tsx +6 -2
  118. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  119. package/dist/components/core/common/GroupingComponent.js +2 -2
  120. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  121. package/dist/components/core/common/GroupingComponent.tsx +2 -0
  122. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  123. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +1 -10
  124. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  125. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +1 -8
  126. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  127. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +6 -11
  128. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  129. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +5 -31
  130. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  131. package/dist/components/core/common/SolidCreateButton.js +16 -1
  132. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  133. package/dist/components/core/common/SolidCreateButton.tsx +18 -1
  134. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +61 -1
  135. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  136. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +3 -1
  137. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  138. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +4 -2
  139. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
  140. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +19 -1
  141. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
  142. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +16 -3
  143. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  144. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +168 -26
  145. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  146. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +174 -10
  147. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  148. package/dist/components/core/common/SolidGlobalSearchElement.js +180 -90
  149. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  150. package/dist/components/core/common/SolidGlobalSearchElement.tsx +167 -49
  151. package/dist/components/core/common/SolidLayoutViews.js +2 -2
  152. package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
  153. package/dist/components/core/common/SolidLayoutViews.tsx +4 -4
  154. package/dist/components/core/common/SolidListViewOptions.js +1 -1
  155. package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
  156. package/dist/components/core/common/SolidListViewOptions.tsx +1 -1
  157. package/dist/components/core/common/SolidPasswordHelperText.js +2 -2
  158. package/dist/components/core/common/SolidPasswordHelperText.js.map +1 -1
  159. package/dist/components/core/common/SolidPasswordHelperText.tsx +4 -4
  160. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  161. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  162. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  163. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +0 -1
  164. package/dist/components/core/common/SolidSearchBox.js +1 -1
  165. package/dist/components/core/common/SolidSearchBox.js.map +1 -1
  166. package/dist/components/core/common/SolidSearchBox.tsx +1 -1
  167. package/dist/components/core/common/SolidXAiIframe.js +1 -1
  168. package/dist/components/core/common/SolidXAiIframe.js.map +1 -1
  169. package/dist/components/core/common/SolidXAiIframe.tsx +1 -1
  170. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts +4 -0
  171. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts.map +1 -0
  172. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js +79 -0
  173. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js.map +1 -0
  174. package/dist/components/core/dashboard/mappers/echartsOptionMapper.ts +81 -0
  175. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts +3 -0
  176. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts.map +1 -0
  177. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js +17 -0
  178. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js.map +1 -0
  179. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.tsx +6 -0
  180. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts +3 -0
  181. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts.map +1 -0
  182. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js +41 -0
  183. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js.map +1 -0
  184. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.tsx +56 -0
  185. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts +3 -0
  186. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts.map +1 -0
  187. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js +14 -0
  188. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js.map +1 -0
  189. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.tsx +19 -0
  190. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts +3 -0
  191. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts.map +1 -0
  192. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js +17 -0
  193. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js.map +1 -0
  194. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.tsx +6 -0
  195. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts +3 -0
  196. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts.map +1 -0
  197. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js +17 -0
  198. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js.map +1 -0
  199. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.tsx +6 -0
  200. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts +3 -0
  201. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts.map +1 -0
  202. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js +12 -0
  203. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js.map +1 -0
  204. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.tsx +39 -0
  205. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts +3 -0
  206. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts.map +1 -0
  207. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js +7 -0
  208. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js.map +1 -0
  209. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.tsx +9 -0
  210. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts +3 -0
  211. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts.map +1 -0
  212. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js +203 -0
  213. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js.map +1 -0
  214. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.tsx +251 -0
  215. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js +1 -1
  216. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js.map +1 -1
  217. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.tsx +2 -2
  218. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +16 -0
  219. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -0
  220. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +31 -0
  221. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -0
  222. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +43 -0
  223. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts +3 -0
  224. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts.map +1 -0
  225. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js +141 -0
  226. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js.map +1 -0
  227. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.tsx +205 -0
  228. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts +4 -0
  229. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts.map +1 -0
  230. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js +112 -0
  231. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js.map +1 -0
  232. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.tsx +146 -0
  233. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts +11 -0
  234. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts.map +1 -0
  235. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js +22 -0
  236. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js.map +1 -0
  237. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.tsx +36 -0
  238. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts +3 -0
  239. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts.map +1 -0
  240. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js +133 -0
  241. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js.map +1 -0
  242. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.ts +76 -0
  243. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +2 -2
  244. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  245. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +5 -5
  246. package/dist/components/core/field/FieldListViewData.js +2 -2
  247. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  248. package/dist/components/core/field/FieldListViewData.tsx +5 -5
  249. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  250. package/dist/components/core/filter/fields/SolidBooleanField.js +2 -2
  251. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  252. package/dist/components/core/filter/fields/SolidBooleanField.tsx +5 -13
  253. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  254. package/dist/components/core/filter/fields/SolidDateField.js +2 -2
  255. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  256. package/dist/components/core/filter/fields/SolidDateField.tsx +4 -3
  257. package/dist/components/core/filter/fields/SolidDatetimeField.d.ts.map +1 -1
  258. package/dist/components/core/filter/fields/SolidDatetimeField.js +2 -2
  259. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  260. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +5 -4
  261. package/dist/components/core/filter/fields/SolidExternalIdField.d.ts.map +1 -1
  262. package/dist/components/core/filter/fields/SolidExternalIdField.js +2 -2
  263. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  264. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +4 -3
  265. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  266. package/dist/components/core/filter/fields/SolidIdField.js +2 -2
  267. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  268. package/dist/components/core/filter/fields/SolidIdField.tsx +3 -2
  269. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  270. package/dist/components/core/filter/fields/SolidIntField.js +2 -2
  271. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  272. package/dist/components/core/filter/fields/SolidIntField.tsx +4 -3
  273. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  274. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
  275. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  276. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +4 -3
  277. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  278. package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
  279. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  280. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +4 -3
  281. package/dist/components/core/filter/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  282. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +2 -2
  283. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  284. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +5 -4
  285. package/dist/components/core/filter/fields/SolidSelectionStaticField.d.ts.map +1 -1
  286. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +2 -2
  287. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  288. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +5 -4
  289. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  290. package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
  291. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  292. package/dist/components/core/filter/fields/SolidShortTextField.tsx +4 -3
  293. package/dist/components/core/filter/fields/SolidTimeField.d.ts.map +1 -1
  294. package/dist/components/core/filter/fields/SolidTimeField.js +2 -2
  295. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  296. package/dist/components/core/filter/fields/SolidTimeField.tsx +5 -4
  297. package/dist/components/core/filter/fields/SolidUuidField.d.ts.map +1 -1
  298. package/dist/components/core/filter/fields/SolidUuidField.js +2 -2
  299. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  300. package/dist/components/core/filter/fields/SolidUuidField.tsx +5 -4
  301. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  302. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +2 -2
  303. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  304. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +5 -4
  305. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  306. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +2 -2
  307. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  308. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +5 -4
  309. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  310. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +2 -2
  311. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  312. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +5 -4
  313. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  314. package/dist/components/core/form/SolidFormActionHeader.js +9 -8
  315. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  316. package/dist/components/core/form/SolidFormActionHeader.tsx +15 -14
  317. package/dist/components/core/form/SolidFormFieldRender.js +1 -1
  318. package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
  319. package/dist/components/core/form/SolidFormFieldRender.tsx +1 -1
  320. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  321. package/dist/components/core/form/SolidFormFooter.js +25 -11
  322. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  323. package/dist/components/core/form/SolidFormFooter.tsx +29 -12
  324. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  325. package/dist/components/core/form/SolidFormView.js +210 -70
  326. package/dist/components/core/form/SolidFormView.js.map +1 -1
  327. package/dist/components/core/form/SolidFormView.tsx +199 -46
  328. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  329. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +16 -3
  330. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  331. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +25 -16
  332. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  333. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +19 -5
  334. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  335. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +25 -9
  336. package/dist/components/core/form/SolidFormViewShimmerLoading.js +1 -1
  337. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  338. package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +46 -46
  339. package/dist/components/core/form/field-quality-check-fixes.md +201 -0
  340. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  341. package/dist/components/core/form/fields/SolidBooleanField.js +13 -4
  342. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  343. package/dist/components/core/form/fields/SolidBooleanField.tsx +16 -4
  344. package/dist/components/core/form/fields/SolidComputedField.js +1 -1
  345. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -1
  346. package/dist/components/core/form/fields/SolidComputedField.tsx +1 -1
  347. package/dist/components/core/form/fields/SolidDateField.js +2 -2
  348. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  349. package/dist/components/core/form/fields/SolidDateField.tsx +2 -2
  350. package/dist/components/core/form/fields/SolidDateTimeField.js +2 -2
  351. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  352. package/dist/components/core/form/fields/SolidDateTimeField.tsx +2 -2
  353. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  354. package/dist/components/core/form/fields/SolidDecimalField.js +8 -2
  355. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  356. package/dist/components/core/form/fields/SolidDecimalField.tsx +11 -2
  357. package/dist/components/core/form/fields/SolidEmailField.js +1 -1
  358. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  359. package/dist/components/core/form/fields/SolidEmailField.tsx +1 -1
  360. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  361. package/dist/components/core/form/fields/SolidIntegerField.js +17 -5
  362. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  363. package/dist/components/core/form/fields/SolidIntegerField.tsx +23 -5
  364. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  365. package/dist/components/core/form/fields/SolidJsonField.js +12 -4
  366. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  367. package/dist/components/core/form/fields/SolidJsonField.tsx +15 -4
  368. package/dist/components/core/form/fields/SolidLongTextField.d.ts +0 -1
  369. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  370. package/dist/components/core/form/fields/SolidLongTextField.js +22 -54
  371. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  372. package/dist/components/core/form/fields/SolidLongTextField.tsx +34 -100
  373. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  374. package/dist/components/core/form/fields/SolidMediaMultipleField.js +26 -13
  375. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  376. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +48 -32
  377. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  378. package/dist/components/core/form/fields/SolidMediaSingleField.js +26 -8
  379. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  380. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +39 -12
  381. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  382. package/dist/components/core/form/fields/SolidPasswordField.js +14 -7
  383. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  384. package/dist/components/core/form/fields/SolidPasswordField.tsx +26 -7
  385. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  386. package/dist/components/core/form/fields/SolidRichTextField.js +11 -3
  387. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  388. package/dist/components/core/form/fields/SolidRichTextField.tsx +14 -3
  389. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +2 -2
  390. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  391. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +2 -2
  392. package/dist/components/core/form/fields/SolidSelectionStaticField.js +1 -1
  393. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  394. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +1 -1
  395. package/dist/components/core/form/fields/SolidShortTextField.js +1 -1
  396. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  397. package/dist/components/core/form/fields/SolidShortTextField.tsx +1 -1
  398. package/dist/components/core/form/fields/SolidTimeField.js +2 -2
  399. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  400. package/dist/components/core/form/fields/SolidTimeField.tsx +2 -2
  401. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +8 -0
  402. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -0
  403. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +123 -0
  404. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -0
  405. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +140 -0
  406. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  407. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +20 -18
  408. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  409. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +47 -37
  410. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  411. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +20 -20
  412. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  413. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +25 -15
  414. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  415. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +19 -17
  416. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  417. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +28 -27
  418. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +1 -1
  419. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  420. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +1 -1
  421. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js +1 -1
  422. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js.map +1 -1
  423. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.tsx +1 -1
  424. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +1 -1
  425. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  426. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +1 -1
  427. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  428. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +19 -8
  429. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  430. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +37 -20
  431. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js +1 -1
  432. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
  433. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +1 -1
  434. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js +1 -1
  435. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
  436. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +1 -1
  437. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  438. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  439. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  440. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  441. package/dist/components/core/kanban/KanbanBoard.tsx +2 -1
  442. package/dist/components/core/kanban/KanbanCard.d.ts +1 -0
  443. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  444. package/dist/components/core/kanban/KanbanCard.js +15 -4
  445. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  446. package/dist/components/core/kanban/KanbanCard.tsx +27 -4
  447. package/dist/components/core/kanban/KanbanColumn.d.ts +2 -1
  448. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  449. package/dist/components/core/kanban/KanbanColumn.js +4 -4
  450. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  451. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  452. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  453. package/dist/components/core/kanban/SolidKanbanView.js +44 -39
  454. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  455. package/dist/components/core/kanban/SolidKanbanView.tsx +22 -10
  456. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  457. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  458. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  459. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +5 -1
  460. package/dist/components/core/list/ListViewRowActionPopup.js +1 -1
  461. package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
  462. package/dist/components/core/list/ListViewRowActionPopup.tsx +1 -2
  463. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +1 -1
  464. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  465. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +3 -3
  466. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  467. package/dist/components/core/list/SolidDataTable.js +3 -2
  468. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  469. package/dist/components/core/list/SolidDataTable.tsx +9 -10
  470. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  471. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -0
  472. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  473. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -0
  474. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  475. package/dist/components/core/list/SolidListView.js +189 -102
  476. package/dist/components/core/list/SolidListView.js.map +1 -1
  477. package/dist/components/core/list/SolidListView.tsx +137 -43
  478. package/dist/components/core/list/SolidListViewColumn.d.ts +3 -1
  479. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  480. package/dist/components/core/list/SolidListViewColumn.js +27 -2
  481. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  482. package/dist/components/core/list/SolidListViewColumn.tsx +16 -3
  483. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  484. package/dist/components/core/list/SolidListViewConfigure.js +11 -10
  485. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  486. package/dist/components/core/list/SolidListViewConfigure.tsx +9 -3
  487. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  488. package/dist/components/core/list/SolidListViewHeaderButton.js +13 -3
  489. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  490. package/dist/components/core/list/SolidListViewHeaderButton.tsx +16 -7
  491. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  492. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +19 -7
  493. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  494. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +19 -6
  495. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  496. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +14 -5
  497. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  498. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +17 -6
  499. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -1
  500. package/dist/components/core/list/SolidListViewRowActionsMenu.js +7 -1
  501. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  502. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +5 -1
  503. package/dist/components/core/list/SolidListingHeader.js +1 -1
  504. package/dist/components/core/list/SolidListingHeader.js.map +1 -1
  505. package/dist/components/core/list/SolidListingHeader.tsx +4 -4
  506. package/dist/components/core/list/SolidTableRowCell.js +1 -1
  507. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  508. package/dist/components/core/list/SolidTableRowCell.tsx +1 -1
  509. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  510. package/dist/components/core/list/columns/SolidBooleanColumn.js +4 -6
  511. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  512. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -3
  513. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  514. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +8 -7
  515. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  516. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +11 -10
  517. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  518. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +6 -5
  519. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  520. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +6 -5
  521. package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
  522. package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
  523. package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
  524. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  525. package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
  526. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
  527. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  528. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +9 -4
  529. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  530. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +14 -4
  531. package/dist/components/core/list/field-quality-check-fixes.md +178 -0
  532. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js +1 -1
  533. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js.map +1 -1
  534. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.tsx +1 -1
  535. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +1 -1
  536. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
  537. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +1 -2
  538. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts +3 -0
  539. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts.map +1 -0
  540. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js +39 -0
  541. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js.map +1 -0
  542. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.tsx +50 -0
  543. package/dist/components/core/locales/SolidLocale.js +3 -3
  544. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  545. package/dist/components/core/locales/SolidLocale.tsx +7 -7
  546. package/dist/components/core/locales/solid-locale.css +5 -4
  547. package/dist/components/core/model/CreateModel.css +48 -0
  548. package/dist/components/core/model/CreateModel.d.ts +1 -0
  549. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  550. package/dist/components/core/model/CreateModel.js +80 -128
  551. package/dist/components/core/model/CreateModel.js.map +1 -1
  552. package/dist/components/core/model/CreateModel.tsx +102 -226
  553. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  554. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  555. package/dist/components/core/model/FieldMetaData.js +7 -23
  556. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  557. package/dist/components/core/model/FieldMetaData.tsx +17 -50
  558. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  559. package/dist/components/core/model/FieldMetaDataForm.js +198 -224
  560. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  561. package/dist/components/core/model/FieldMetaDataForm.tsx +75 -302
  562. package/dist/components/core/model/ModelListViewData.js +4 -4
  563. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  564. package/dist/components/core/model/ModelListViewData.tsx +7 -7
  565. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  566. package/dist/components/core/model/ModelMetaData.js +13 -25
  567. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  568. package/dist/components/core/model/ModelMetaData.tsx +18 -79
  569. package/dist/components/core/module/CreateModule.css +44 -0
  570. package/dist/components/core/module/CreateModule.d.ts +1 -0
  571. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  572. package/dist/components/core/module/CreateModule.js +40 -57
  573. package/dist/components/core/module/CreateModule.js.map +1 -1
  574. package/dist/components/core/module/CreateModule.tsx +246 -264
  575. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  576. package/dist/components/core/module/ModuleListViewData.js +48 -8
  577. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  578. package/dist/components/core/module/ModuleListViewData.tsx +65 -7
  579. package/dist/components/core/module/ModuleMetadataExplorer.css +638 -0
  580. package/dist/components/core/module/ModuleMetadataExplorer.d.ts +15 -0
  581. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -0
  582. package/dist/components/core/module/ModuleMetadataExplorer.js +666 -0
  583. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -0
  584. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1000 -0
  585. package/dist/components/core/module/ModulePackageDialog.css +540 -0
  586. package/dist/components/core/module/ModulePackageDialog.d.ts +16 -0
  587. package/dist/components/core/module/ModulePackageDialog.d.ts.map +1 -0
  588. package/dist/components/core/module/ModulePackageDialog.js +625 -0
  589. package/dist/components/core/module/ModulePackageDialog.js.map +1 -0
  590. package/dist/components/core/module/ModulePackageDialog.tsx +906 -0
  591. package/dist/components/core/solid-ai/SolidAiChat.module.css +2 -2
  592. package/dist/components/core/tree/SolidTreeTable.js +1 -1
  593. package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
  594. package/dist/components/core/tree/SolidTreeTable.tsx +1 -1
  595. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  596. package/dist/components/core/tree/SolidTreeView.js +4 -4
  597. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  598. package/dist/components/core/tree/SolidTreeView.tsx +16 -12
  599. package/dist/components/core/users/CreateUser.css +27 -2
  600. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  601. package/dist/components/core/users/CreateUser.js +58 -32
  602. package/dist/components/core/users/CreateUser.js.map +1 -1
  603. package/dist/components/core/users/CreateUser.tsx +63 -68
  604. package/dist/components/core/users/CreateUserRole.js +2 -2
  605. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  606. package/dist/components/core/users/CreateUserRole.tsx +9 -9
  607. package/dist/components/core/users/UserListView.js +4 -4
  608. package/dist/components/core/users/UserListView.js.map +1 -1
  609. package/dist/components/core/users/UserListView.tsx +6 -6
  610. package/dist/components/layout/AdminHeaderActions.d.ts +8 -0
  611. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -0
  612. package/dist/components/layout/AdminHeaderActions.js +77 -0
  613. package/dist/components/layout/AdminHeaderActions.js.map +1 -0
  614. package/dist/components/layout/AdminHeaderActions.tsx +155 -0
  615. package/dist/components/layout/AdminSidebar.js +1 -1
  616. package/dist/components/layout/AdminSidebar.js.map +1 -1
  617. package/dist/components/layout/AdminSidebar.tsx +1 -1
  618. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  619. package/dist/components/layout/AdminTopHeader.js +14 -5
  620. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  621. package/dist/components/layout/AdminTopHeader.tsx +35 -28
  622. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  623. package/dist/components/layout/AppSidebar.js +2 -1
  624. package/dist/components/layout/AppSidebar.js.map +1 -1
  625. package/dist/components/layout/AppSidebar.tsx +2 -0
  626. package/dist/components/layout/CustomPagination.js +0 -1
  627. package/dist/components/layout/CustomPagination.js.map +1 -1
  628. package/dist/components/layout/CustomPagination.tsx +0 -1
  629. package/dist/components/layout/FilterMenu.js +1 -1
  630. package/dist/components/layout/FilterMenu.js.map +1 -1
  631. package/dist/components/layout/FilterMenu.tsx +4 -4
  632. package/dist/components/layout/Footer.js +1 -1
  633. package/dist/components/layout/Footer.js.map +1 -1
  634. package/dist/components/layout/Footer.tsx +1 -1
  635. package/dist/components/layout/GlobalSearch.js +1 -1
  636. package/dist/components/layout/GlobalSearch.js.map +1 -1
  637. package/dist/components/layout/GlobalSearch.tsx +1 -1
  638. package/dist/components/layout/ListingHeader.js +3 -3
  639. package/dist/components/layout/ListingHeader.js.map +1 -1
  640. package/dist/components/layout/ListingHeader.tsx +4 -4
  641. package/dist/components/layout/Loader.js +1 -1
  642. package/dist/components/layout/Loader.js.map +1 -1
  643. package/dist/components/layout/Loader.tsx +1 -1
  644. package/dist/components/layout/UserSidebar.js +1 -1
  645. package/dist/components/layout/UserSidebar.js.map +1 -1
  646. package/dist/components/layout/UserSidebar.tsx +1 -1
  647. package/dist/components/layout/navbar-one.js +2 -2
  648. package/dist/components/layout/navbar-one.js.map +1 -1
  649. package/dist/components/layout/navbar-one.tsx +8 -8
  650. package/dist/components/layout/navbar-two-menu.js +2 -2
  651. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  652. package/dist/components/layout/navbar-two-menu.tsx +7 -7
  653. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  654. package/dist/components/layout/user-profile-menu.js +57 -33
  655. package/dist/components/layout/user-profile-menu.js.map +1 -1
  656. package/dist/components/layout/user-profile-menu.tsx +11 -59
  657. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +2 -1
  658. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  659. package/dist/components/shad-cn-ui/SolidAutocomplete.js +60 -6
  660. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  661. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +81 -22
  662. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  663. package/dist/components/shad-cn-ui/SolidButton.js +10 -2
  664. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  665. package/dist/components/shad-cn-ui/SolidButton.tsx +10 -2
  666. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
  667. package/dist/components/shad-cn-ui/SolidCodeEditor.js +3 -1
  668. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
  669. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +3 -0
  670. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  671. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  672. package/dist/components/shad-cn-ui/SolidDatePicker.js +2 -2
  673. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  674. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +4 -0
  675. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  676. package/dist/components/shad-cn-ui/SolidDialog.js +38 -4
  677. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  678. package/dist/components/shad-cn-ui/SolidDialog.tsx +47 -3
  679. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -1
  680. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  681. package/dist/components/shad-cn-ui/SolidIcon.js +1 -0
  682. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  683. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -0
  684. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -1
  685. package/dist/components/shad-cn-ui/SolidPasswordInput.js +1 -1
  686. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -1
  687. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +1 -0
  688. package/dist/components/shad-cn-ui/SolidPopover.d.ts +1 -0
  689. package/dist/components/shad-cn-ui/SolidPopover.d.ts.map +1 -1
  690. package/dist/components/shad-cn-ui/SolidPopover.js +124 -5
  691. package/dist/components/shad-cn-ui/SolidPopover.js.map +1 -1
  692. package/dist/components/shad-cn-ui/SolidPopover.tsx +173 -10
  693. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  694. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  695. package/dist/components/shad-cn-ui/SolidSelect.js +51 -1
  696. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  697. package/dist/components/shad-cn-ui/SolidSelect.tsx +95 -0
  698. package/dist/constants/error-messages.d.ts +13 -0
  699. package/dist/constants/error-messages.d.ts.map +1 -1
  700. package/dist/constants/error-messages.js +17 -0
  701. package/dist/constants/error-messages.js.map +1 -1
  702. package/dist/constants/error-messages.ts +15 -0
  703. package/dist/helpers/buttonEnvironment.d.ts +5 -0
  704. package/dist/helpers/buttonEnvironment.d.ts.map +1 -0
  705. package/dist/helpers/buttonEnvironment.js +30 -0
  706. package/dist/helpers/buttonEnvironment.js.map +1 -0
  707. package/dist/helpers/buttonEnvironment.ts +35 -0
  708. package/dist/helpers/buttonPresentation.d.ts +24 -0
  709. package/dist/helpers/buttonPresentation.d.ts.map +1 -0
  710. package/dist/helpers/buttonPresentation.js +28 -0
  711. package/dist/helpers/buttonPresentation.js.map +1 -0
  712. package/dist/helpers/buttonPresentation.ts +53 -0
  713. package/dist/helpers/fileTypeIcon.d.ts +12 -0
  714. package/dist/helpers/fileTypeIcon.d.ts.map +1 -0
  715. package/dist/helpers/fileTypeIcon.js +37 -0
  716. package/dist/helpers/fileTypeIcon.js.map +1 -0
  717. package/dist/helpers/fileTypeIcon.tsx +65 -0
  718. package/dist/helpers/registry.d.ts.map +1 -1
  719. package/dist/helpers/registry.js +28 -10
  720. package/dist/helpers/registry.js.map +1 -1
  721. package/dist/helpers/registry.ts +31 -13
  722. package/dist/helpers/waitForBackendAvailability.d.ts +7 -0
  723. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -0
  724. package/dist/helpers/waitForBackendAvailability.js +86 -0
  725. package/dist/helpers/waitForBackendAvailability.js.map +1 -0
  726. package/dist/helpers/waitForBackendAvailability.ts +37 -0
  727. package/dist/index.d.ts +10 -9
  728. package/dist/index.d.ts.map +1 -1
  729. package/dist/index.js +7 -8
  730. package/dist/index.js.map +1 -1
  731. package/dist/index.ts +34 -13
  732. package/dist/redux/api/dashboardRuntimeApi.d.ts +34 -0
  733. package/dist/redux/api/dashboardRuntimeApi.d.ts.map +1 -0
  734. package/dist/redux/api/dashboardRuntimeApi.js +79 -0
  735. package/dist/redux/api/dashboardRuntimeApi.js.map +1 -0
  736. package/dist/redux/api/dashboardRuntimeApi.ts +75 -0
  737. package/dist/redux/api/moduleApi.d.ts +26 -1
  738. package/dist/redux/api/moduleApi.d.ts.map +1 -1
  739. package/dist/redux/api/moduleApi.js +237 -1
  740. package/dist/redux/api/moduleApi.js.map +1 -1
  741. package/dist/redux/api/moduleApi.ts +181 -1
  742. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  743. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  744. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  745. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  746. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  747. package/dist/redux/store/defaultStoreConfig.d.ts +57 -9
  748. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  749. package/dist/redux/store/defaultStoreConfig.js +2 -6
  750. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  751. package/dist/redux/store/defaultStoreConfig.ts +2 -6
  752. package/dist/redux/store/solidEntityApiPool.d.ts +1 -0
  753. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  754. package/dist/redux/store/solidEntityApiPool.js +4 -0
  755. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  756. package/dist/redux/store/solidEntityApiPool.ts +4 -0
  757. package/dist/resources/globals.css +195 -20
  758. package/dist/resources/shadcn-base.css +408 -183
  759. package/dist/resources/solid-custom.css +6565 -0
  760. package/dist/resources/solid-primereact.css +14 -12
  761. package/dist/resources/solid-responsive.css +259 -51
  762. package/dist/resources/solid-tailwind-generated.css +1 -0
  763. package/dist/resources/solid-tailwind.css +3 -0
  764. package/dist/routes/AppEventListener.d.ts.map +1 -1
  765. package/dist/routes/AppEventListener.js +58 -8
  766. package/dist/routes/AppEventListener.js.map +1 -1
  767. package/dist/routes/AppEventListener.tsx +69 -8
  768. package/dist/routes/SolidRouteMetadataBoundary.d.ts +5 -0
  769. package/dist/routes/SolidRouteMetadataBoundary.d.ts.map +1 -0
  770. package/dist/routes/SolidRouteMetadataBoundary.js +72 -0
  771. package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -0
  772. package/dist/routes/SolidRouteMetadataBoundary.tsx +77 -0
  773. package/dist/routes/pages/admin/core/DashboardPage.d.ts +1 -0
  774. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  775. package/dist/routes/pages/admin/core/DashboardPage.js +860 -5
  776. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  777. package/dist/routes/pages/admin/core/DashboardPage.module.css +219 -0
  778. package/dist/routes/pages/admin/core/DashboardPage.tsx +1025 -7
  779. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts +2 -0
  780. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts.map +1 -0
  781. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js +6 -0
  782. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js.map +1 -0
  783. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.tsx +5 -0
  784. package/dist/routes/pages/auth/SsoPage.js +1 -1
  785. package/dist/routes/pages/auth/SsoPage.js.map +1 -1
  786. package/dist/routes/pages/auth/SsoPage.tsx +1 -1
  787. package/dist/routes/solidRoutes.d.ts.map +1 -1
  788. package/dist/routes/solidRoutes.js +48 -27
  789. package/dist/routes/solidRoutes.js.map +1 -1
  790. package/dist/routes/solidRoutes.tsx +48 -27
  791. package/dist/routes/types.d.ts +8 -1
  792. package/dist/routes/types.d.ts.map +1 -1
  793. package/dist/routes/types.js.map +1 -1
  794. package/dist/routes/types.ts +9 -1
  795. package/dist/styles.d.ts +2 -1
  796. package/dist/styles.d.ts.map +1 -1
  797. package/dist/styles.js +2 -1
  798. package/dist/styles.js.map +1 -1
  799. package/dist/styles.ts +2 -1
  800. package/dist/types/dashboard.d.ts +16 -0
  801. package/dist/types/dashboard.d.ts.map +1 -0
  802. package/dist/types/dashboard.js +2 -0
  803. package/dist/types/dashboard.js.map +1 -0
  804. package/dist/types/dashboard.ts +23 -0
  805. package/dist/types/extension-registry.d.ts +1 -0
  806. package/dist/types/extension-registry.d.ts.map +1 -1
  807. package/dist/types/extension-registry.js +1 -0
  808. package/dist/types/extension-registry.js.map +1 -1
  809. package/dist/types/extension-registry.ts +1 -0
  810. package/dist/types/index.d.ts +3 -0
  811. package/dist/types/jsoneditor.d.ts +4 -0
  812. package/dist/types/solid-core.d.ts +1 -0
  813. package/package.json +9 -3
@@ -79,7 +79,7 @@ export class SolidPasswordField implements ISolidField {
79
79
  }
80
80
  //check password and confirm password match if password have value
81
81
  schema = schema.test('passwords-match', ERROR_MESSAGES.FIELD_MUST_MATCH(fieldLabel), function (value) {
82
- const { path, parent } = this;
82
+ const { parent, createError } = this;
83
83
  const confirmValue = parent[confirmFieldName];
84
84
 
85
85
  // Edit mode / untouched → SKIP
@@ -88,7 +88,14 @@ export class SolidPasswordField implements ISolidField {
88
88
  }
89
89
  // Only one filled → ERROR
90
90
  if (value || confirmValue) {
91
- return value === confirmValue;
91
+ if (value !== confirmValue) {
92
+ return createError({
93
+ path: confirmFieldName,
94
+ message: ERROR_MESSAGES.FIELD_MUST_MATCH(fieldLabel),
95
+ });
96
+ }
97
+
98
+ return true;
92
99
  }
93
100
  return true; // If password is empty, don't validate match
94
101
  });
@@ -99,7 +106,7 @@ export class SolidPasswordField implements ISolidField {
99
106
  const fieldMetadata = this.fieldContext.fieldMetadata;
100
107
  const fieldLayoutInfo = this.fieldContext.field;
101
108
  const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
102
- const className = fieldLayoutInfo.attrs?.className || 'field col-12';
109
+ const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';
103
110
  let viewWidget = fieldLayoutInfo.attrs.viewWidget;
104
111
  let editWidget = fieldLayoutInfo.attrs.editWidget;
105
112
  let createWidget = fieldLayoutInfo?.attrs?.createWidget;
@@ -170,7 +177,7 @@ export const DefaultPasswordFormViewWidget = ({ formik, fieldContext }: SolidFor
170
177
  {showFieldLabel !== false && (
171
178
  <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>
172
179
  )}
173
- <div className="flex align-items-center gap-3">
180
+ <div className="flex items-center gap-4">
174
181
  <p className={styles.fieldViewValue}>
175
182
  {isText ? formik.values[fieldLayoutInfo.attrs.name] : "••••••••"}
176
183
  </p>
@@ -240,7 +247,19 @@ export const DefaultPasswordFormCreateWidget = ({ formik, fieldContext }: SolidF
240
247
  name={`${fieldLayoutInfo.attrs.name}Confirm`}
241
248
  value={formik.values[`${fieldLayoutInfo.attrs.name}Confirm`] || ''}
242
249
  onChange={(e) => {
243
- formik.setFieldValue(`${fieldLayoutInfo.attrs.name}Confirm`, e.target.value);
250
+ const confirmFieldName = `${fieldLayoutInfo.attrs.name}Confirm`;
251
+ fieldContext.onChange(
252
+ {
253
+ ...e,
254
+ target: {
255
+ ...e.target,
256
+ name: confirmFieldName,
257
+ value: e.target.value,
258
+ type: "text",
259
+ },
260
+ } as any,
261
+ "onFieldChange"
262
+ );
244
263
  }}
245
264
  onBlur={(e) => {
246
265
  formik.setFieldTouched(`${fieldLayoutInfo.attrs.name}Confirm`, true);
@@ -251,7 +270,7 @@ export const DefaultPasswordFormCreateWidget = ({ formik, fieldContext }: SolidF
251
270
  autoComplete="new-password"
252
271
  className="w-full"
253
272
  />
254
- {isFormFieldValid(formik, `${fieldLayoutInfo.attrs.name}Confirm`) && (
273
+ {((formik.touched[`${fieldLayoutInfo.attrs.name}Confirm`] || formik.submitCount > 0) && formik.errors[`${fieldLayoutInfo.attrs.name}Confirm`]) && (
255
274
  <p className={styles.fieldError}>{formik?.errors[`${fieldLayoutInfo.attrs.name}Confirm`]?.toString()}</p>
256
275
  )}
257
276
  </div>
@@ -350,7 +369,7 @@ export const DefaultPasswordFormEditWidget = ({ formik, fieldContext }: SolidFor
350
369
  <SolidDialogClose />
351
370
  </SolidDialogHeader>
352
371
  <SolidDialogBody>
353
- <form onSubmit={modalFormik.handleSubmit} className="p-fluid">
372
+ <form onSubmit={modalFormik.handleSubmit} className="solid-fluid">
354
373
  <div className={styles.fieldWrapper}>
355
374
  <label htmlFor={fieldName} className={`${styles.fieldLabel} form-field-label`}>New {fieldLabel}</label>
356
375
  <SolidPasswordInput
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRichTextField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidRichTextField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAKzE,qBAAa,kBAAmB,YAAW,WAAW;IAElD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAOnD,YAAY,IAAI,GAAG;IAInB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IA6B9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAoC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAYjE;AAID,eAAO,MAAM,6BAA6B,6BAA8B,yBAAyB,4CAyChG,CAAA;AAED,eAAO,MAAM,6BAA6B,6BAA8B,yBAAyB,4CAiBhG,CAAA"}
1
+ {"version":3,"file":"SolidRichTextField.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidRichTextField.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAKzE,qBAAa,kBAAmB,YAAW,WAAW;IAElD,OAAO,CAAC,YAAY,CAAkB;gBAE1B,YAAY,EAAE,eAAe;IAIzC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAOnD,YAAY,IAAI,GAAG;IAInB,gBAAgB,IAAI,GAAG,CAAC,MAAM;IA6B9B,MAAM,CAAC,MAAM,EAAE,YAAY;IAoC3B,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;CAYjE;AAID,eAAO,MAAM,6BAA6B,6BAA8B,yBAAyB,4CAoDhG,CAAA;AAED,eAAO,MAAM,6BAA6B,6BAA8B,yBAAyB,4CAiBhG,CAAA"}
@@ -86,7 +86,7 @@ var SolidRichTextField = /** @class */ (function () {
86
86
  var fieldMetadata = this.fieldContext.fieldMetadata;
87
87
  var fieldLayoutInfo = this.fieldContext.field;
88
88
  var isFormFieldValid = function (formik, fieldName) { return formik.touched[fieldName] && formik.errors[fieldName]; };
89
- var className = ((_a = fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.className) || 'field col-12';
89
+ var className = ((_a = fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.className) || 'field w-full px-2 pt-2';
90
90
  var viewWidget = fieldLayoutInfo.attrs.viewWidget;
91
91
  var editWidget = fieldLayoutInfo.attrs.editWidget;
92
92
  if (!editWidget) {
@@ -123,7 +123,7 @@ export var DefaultRichTextFormEditWidget = function (_a) {
123
123
  var formik = _a.formik, fieldContext = _a.fieldContext;
124
124
  var fieldMetadata = fieldContext.fieldMetadata;
125
125
  var fieldLayoutInfo = fieldContext.field;
126
- var className = ((_b = fieldLayoutInfo.attrs) === null || _b === void 0 ? void 0 : _b.className) || 'field col-12';
126
+ var className = ((_b = fieldLayoutInfo.attrs) === null || _b === void 0 ? void 0 : _b.className) || 'field w-full px-2 pt-2';
127
127
  var fieldLabel = (_c = fieldLayoutInfo.attrs.label) !== null && _c !== void 0 ? _c : fieldMetadata.displayName;
128
128
  var fieldDescription = (_d = fieldLayoutInfo.attrs.description) !== null && _d !== void 0 ? _d : fieldMetadata.description;
129
129
  var solidFormViewMetaData = fieldContext.solidFormViewMetaData;
@@ -135,7 +135,15 @@ export var DefaultRichTextFormEditWidget = function (_a) {
135
135
  var formDisabled = (_k = (_j = (_h = solidFormViewMetaData.data.solidView) === null || _h === void 0 ? void 0 : _h.layout) === null || _j === void 0 ? void 0 : _j.attrs) === null || _k === void 0 ? void 0 : _k.disabled;
136
136
  var formReadonly = (_o = (_m = (_l = solidFormViewMetaData.data.solidView) === null || _l === void 0 ? void 0 : _l.layout) === null || _m === void 0 ? void 0 : _m.attrs) === null || _o === void 0 ? void 0 : _o.readonly;
137
137
  return (_jsxs("div", { className: "".concat(styles.fieldWrapper, " relative"), children: [showFieldLabel != false &&
138
- _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidRichTextEditor, { readOnly: formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled, id: fieldLayoutInfo.attrs.name, value: formik.values[fieldLayoutInfo.attrs.name] || "", onChange: function (value) { return formik.setFieldValue(fieldLayoutInfo.attrs.name, value !== null && value !== void 0 ? value : ""); }, className: "solid-custom-editor", style: { minHeight: 180 } }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: (_p = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _p === void 0 ? void 0 : _p.toString() }))] }));
138
+ _jsxs("label", { htmlFor: fieldLayoutInfo.attrs.name, className: "".concat(styles.fieldLabel, " form-field-label"), children: [fieldLabel, fieldMetadata.required && _jsx("span", { className: "text-red-500", children: " *" }), _jsx(SolidFieldTooltip, { fieldContext: fieldContext })] }), _jsx(SolidRichTextEditor, { readOnly: formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled, id: fieldLayoutInfo.attrs.name, value: formik.values[fieldLayoutInfo.attrs.name] || "", onChange: function (value) {
139
+ fieldContext.onChange({
140
+ target: {
141
+ name: fieldLayoutInfo.attrs.name,
142
+ value: value !== null && value !== void 0 ? value : "",
143
+ type: "text",
144
+ },
145
+ }, "onFieldChange");
146
+ }, className: "solid-custom-editor", style: { minHeight: 180 } }), isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (_jsx("p", { className: styles.fieldError, children: (_p = formik === null || formik === void 0 ? void 0 : formik.errors[fieldLayoutInfo.attrs.name]) === null || _p === void 0 ? void 0 : _p.toString() }))] }));
139
147
  };
140
148
  export var DefaultRichTextFormViewWidget = function (_a) {
141
149
  var _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidRichTextField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidRichTextField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport React from \"react\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { SolidRichTextEditor } from \"../../../shad-cn-ui/SolidRichTextEditor\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\n\nexport class SolidRichTextField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n return this.fieldContext.data[this.fieldContext.field.attrs.name];\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel,fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel,fieldMetadata.max));\n }\n // 3. regular expression\n if (fieldMetadata.regexPattern) {\n const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? `${fieldLabel} has invalid data.`\n schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);\n }\n\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultRichTextFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultRichTextFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\nexport const DefaultRichTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n\n return (\n <div className={`${styles.fieldWrapper} relative`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidRichTextEditor\n readOnly={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n id={fieldLayoutInfo.attrs.name}\n value={formik.values[fieldLayoutInfo.attrs.name] || \"\"}\n onChange={(value) => formik.setFieldValue(fieldLayoutInfo.attrs.name, value ?? \"\")}\n className=\"solid-custom-editor\"\n style={{ minHeight: 180 }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const DefaultRichTextFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel != false &&\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n }\n <div\n className=\"solid-custom-editor solid-custom-editor-view\"\n id={fieldLabel}\n dangerouslySetInnerHTML={{ __html: formik.values[fieldLayoutInfo.attrs.name] || \"\" }}\n />\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidRichTextField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidRichTextField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport React from \"react\";\nimport { SolidMessage } from \"../../../shad-cn-ui/SolidMessage\";\nimport { SolidRichTextEditor } from \"../../../shad-cn-ui/SolidRichTextEditor\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\n\nexport class SolidRichTextField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n if (value !== undefined && value !== null) {\n formData.append(fieldLayoutInfo.attrs.name, value);\n }\n }\n\n initialValue(): any {\n return this.fieldContext.data[this.fieldContext.field.attrs.name];\n }\n\n validationSchema(): Yup.Schema {\n let schema: Yup.StringSchema<string | null | undefined> = Yup.string();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n if (fieldMetadata.required) {\n schema = schema.required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = schema.nullable(); // Allow null when not required\n }\n // 2. length (min/max)\n if (fieldMetadata.min && fieldMetadata.min > 0) {\n schema = schema.min(fieldMetadata.min, ERROR_MESSAGES.FIELD_MINIMUM_CHARACTER(fieldLabel,fieldMetadata.min));\n }\n if (fieldMetadata.max && fieldMetadata.max > 0) {\n schema = schema.max(fieldMetadata.max, ERROR_MESSAGES.FIELD_MAXIMUM_CHARACTER(fieldLabel,fieldMetadata.max));\n }\n // 3. regular expression\n if (fieldMetadata.regexPattern) {\n const regexPatternNotMatchingErrorMsg = fieldMetadata.regexPatternNotMatchingErrorMsg ?? `${fieldLabel} has invalid data.`\n schema = schema.matches(fieldMetadata.regexPattern, regexPatternNotMatchingErrorMsg);\n }\n\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultRichTextFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultRichTextFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\nexport const DefaultRichTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n\n return (\n <div className={`${styles.fieldWrapper} relative`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidRichTextEditor\n readOnly={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n id={fieldLayoutInfo.attrs.name}\n value={formik.values[fieldLayoutInfo.attrs.name] || \"\"}\n onChange={(value) => {\n fieldContext.onChange(\n {\n target: {\n name: fieldLayoutInfo.attrs.name,\n value: value ?? \"\",\n type: \"text\",\n },\n } as any,\n \"onFieldChange\"\n );\n }}\n className=\"solid-custom-editor\"\n style={{ minHeight: 180 }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>{formik?.errors[fieldLayoutInfo.attrs.name]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const DefaultRichTextFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel != false &&\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n }\n <div\n className=\"solid-custom-editor solid-custom-editor-view\"\n id={fieldLabel}\n dangerouslySetInnerHTML={{ __html: formik.values[fieldLayoutInfo.attrs.name] || \"\" }}\n />\n </div>\n );\n}\n"]}
@@ -62,7 +62,7 @@ export class SolidRichTextField implements ISolidField {
62
62
  const fieldMetadata = this.fieldContext.fieldMetadata;
63
63
  const fieldLayoutInfo = this.fieldContext.field;
64
64
  const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
65
- const className = fieldLayoutInfo.attrs?.className || 'field col-12';
65
+ const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';
66
66
 
67
67
 
68
68
  let viewWidget = fieldLayoutInfo.attrs.viewWidget;
@@ -113,7 +113,7 @@ export class SolidRichTextField implements ISolidField {
113
113
  export const DefaultRichTextFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {
114
114
  const fieldMetadata = fieldContext.fieldMetadata;
115
115
  const fieldLayoutInfo = fieldContext.field;
116
- const className = fieldLayoutInfo.attrs?.className || 'field col-12';
116
+ const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';
117
117
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
118
118
  const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
119
119
  const solidFormViewMetaData = fieldContext.solidFormViewMetaData;
@@ -142,7 +142,18 @@ export const DefaultRichTextFormEditWidget = ({ formik, fieldContext }: SolidFor
142
142
  readOnly={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}
143
143
  id={fieldLayoutInfo.attrs.name}
144
144
  value={formik.values[fieldLayoutInfo.attrs.name] || ""}
145
- onChange={(value) => formik.setFieldValue(fieldLayoutInfo.attrs.name, value ?? "")}
145
+ onChange={(value) => {
146
+ fieldContext.onChange(
147
+ {
148
+ target: {
149
+ name: fieldLayoutInfo.attrs.name,
150
+ value: value ?? "",
151
+ type: "text",
152
+ },
153
+ } as any,
154
+ "onFieldChange"
155
+ );
156
+ }}
146
157
  className="solid-custom-editor"
147
158
  style={{ minHeight: 180 }}
148
159
  />
@@ -212,7 +212,7 @@ var SolidSelectionDynamicField = /** @class */ (function () {
212
212
  var _a;
213
213
  var fieldMetadata = this.fieldContext.fieldMetadata;
214
214
  var fieldLayoutInfo = this.fieldContext.field;
215
- var className = ((_a = fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.className) || 'field col-12';
215
+ var className = ((_a = fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.className) || 'field w-full px-2 pt-2';
216
216
  // const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
217
217
  var isFormFieldValid = function (formik, fieldName) { return formik.errors[fieldName]; };
218
218
  var viewWidget = fieldLayoutInfo.attrs.viewWidget;
@@ -251,7 +251,7 @@ export var DefaultSelectionDynamicFormEditWidget = function (_a) {
251
251
  var formik = _a.formik, fieldContext = _a.fieldContext;
252
252
  var fieldMetadata = fieldContext.fieldMetadata;
253
253
  var fieldLayoutInfo = fieldContext.field;
254
- var className = ((_b = fieldLayoutInfo.attrs) === null || _b === void 0 ? void 0 : _b.className) || 'field col-12';
254
+ var className = ((_b = fieldLayoutInfo.attrs) === null || _b === void 0 ? void 0 : _b.className) || 'field w-full px-2 pt-2';
255
255
  var fieldLabel = (_c = fieldLayoutInfo.attrs.label) !== null && _c !== void 0 ? _c : fieldMetadata.displayName;
256
256
  var fieldDescription = (_d = fieldLayoutInfo.attrs.description) !== null && _d !== void 0 ? _d : fieldMetadata.description;
257
257
  var solidFormViewMetaData = fieldContext.solidFormViewMetaData;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidSelectionDynamicField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionDynamicField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useLazyGetSelectionDynamicValuesQuery } from \"../../../../redux/api/fieldApi\";\nimport { SolidAutocomplete } from \"../../../shad-cn-ui/SolidAutocomplete\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport qs from \"qs\";\nimport { useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { formikValuestoQueryString } from \"../../../../helpers/helpers\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\n\nexport class SolidSelectionDynamicField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n initialValue(): any {\n // TODO: Use the field metadata to re-create the object in the valid format \n // {label: '', value: ''}\n const fieldLayoutInfo = this.fieldContext.field;\n const optionValue = this.fieldContext.data[fieldLayoutInfo.attrs.name];\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // isMultiSelect: fieldMetaData ? fieldMetaData?.isMultiSelect : false,\n\n // return { label: optionValue || '', value: optionValue || '' };\n const stripBracketsAndQuotes = (str: string) =>\n str.replace(/^\\[?\"?/, '').replace(/\"?\\]?$/, '').trim();\n\n const cleanValue = (val: any) => {\n if (typeof val === 'string') {\n const cleaned = stripBracketsAndQuotes(val);\n return { label: cleaned, value: cleaned };\n } else if (val && typeof val === 'object') {\n const label = stripBracketsAndQuotes(String(val.label ?? val));\n const value = stripBracketsAndQuotes(String(val.value ?? val));\n return { label, value };\n } else {\n const strVal = stripBracketsAndQuotes(String(val));\n return { label: strVal, value: strVal };\n }\n };\n\n if (optionValue === '' || optionValue === null || optionValue === undefined || (Array.isArray(optionValue) && optionValue.length === 0)) {\n return null;\n }\n\n if (isMultiSelect) {\n if (Array.isArray(optionValue)) {\n return optionValue.map(cleanValue);\n } else if (typeof optionValue === 'string') {\n try {\n const parsed = JSON.parse(optionValue); // try to parse as JSON array\n if (Array.isArray(parsed)) {\n return parsed.map(cleanValue);\n }\n } catch {\n // fallback to comma-split only if not valid JSON\n const splitValues = optionValue.split(',').map(v => v.trim()).filter(Boolean);\n return splitValues.map(cleanValue);\n }\n }\n return [];\n } else {\n return cleanValue(optionValue || '');\n }\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n const stripQuotes = (str: string) => str.replace(/^\"+|\"+$/g, '').replace(/^'+|'+$/g, '');\n\n if (value) {\n if (isMultiSelect) {\n const selectedValues = value.map((v: any) => {\n const cleanedValue = stripQuotes(v.value); // still fine\n return cleanedValue;\n });\n const jsonString = JSON.stringify(selectedValues); // ✅ Proper JSON array\n formData.append(fieldLayoutInfo.attrs.name, jsonString);\n } else {\n const cleanedValue = stripQuotes(value.value);\n formData.append(fieldLayoutInfo.attrs.name, cleanedValue);\n }\n }\n // if (value) {\n // formData.append(fieldLayoutInfo.attrs.name, value.value);\n // }\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.object();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n // if (fieldMetadata.required) {\n // schema = schema.required(`${fieldLabel} is required.`);\n // }\n\n // return schema;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n\n const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;\n \n if (isMultiSelect) {\n if (!isRequired) {\n return Yup.array()\n .of(Yup.object().shape({ label: Yup.string(), value: Yup.string() }))\n .nullable();\n }\n\n return Yup.array()\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .of(Yup.object().shape({ label: Yup.string(), value: Yup.string() }));\n }\n\n if (!isRequired) {\n return Yup.object().shape({\n label: Yup.string(),\n value: Yup.string(),\n }).nullable();\n }\n\n return Yup.object().shape({\n label: Yup.string(),\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel)),\n });\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n\n // const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultSelectionDynamicFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultSelectionDynamicFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\n\nexport const DefaultSelectionDynamicFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const whereClause = fieldLayoutInfo.attrs.whereClause;\n\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n // selection dynamic specific code. \n const [triggerGetSelectionDynamicValues] = useLazyGetSelectionDynamicValuesQuery();\n const [selectionDynamicItems, setSelectionDynamicItems] = useState([]);\n const isFormFieldValid = (formik: any, fieldName: string) =>\n (formik.touched[fieldName] || formik.submitCount > 0) && !!formik.errors[fieldName];\n\n const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;\n\n const selectionDynamicSearch = async (event: AutoCompleteCompleteEvent) => {\n try {\n // const query = event.query ?? \"\";\n const queryData = {\n offset: 0,\n limit: 10,\n query: event.query,\n fieldId: fieldMetadata.id,\n formValues: formikValuestoQueryString(formik.values),\n };\n if (whereClause) {\n queryData.query = whereClause;\n }\n let sdQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n // encoder: (str, defaultEncoder, charset, type) => {\n // if (type === 'key' || type === 'value') {\n // if (str === queryData.query) return str;\n // }\n // return defaultEncoder(str);\n // }\n });\n // TODO: do error handling here, possible errors like modelname is incorrect etc...\n const sdResponse = await triggerGetSelectionDynamicValues(sdQs).unwrap();\n const items = Array.isArray(sdResponse?.data) ? sdResponse.data : [];\n\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n // const sdData = sdResponse.data.data;\n\n // @ts-ignore\n setSelectionDynamicItems([...items]);\n } catch (err) {\n setSelectionDynamicItems([]);\n }\n }\n\n\n return (\n <div className={`${styles.fieldWrapper} ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalid : \"\"}`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {isRequired && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidAutocomplete\n multiple={isMultiSelect}\n field=\"label\"\n className={`solid-standard-autocomplete ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalidControl : \"\"}`}\n value={formik.values[fieldLayoutInfo.attrs.name] || (isMultiSelect ? [] : null)}\n dropdown\n suggestions={selectionDynamicItems}\n completeMethod={(e) => selectionDynamicSearch(e)}\n emptyMessage=\"No records found\"\n onChange={({ value }) => {\n if (formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled) return;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n // console.log(`SolidSelectionDynamicField > SolidAutocomplete > onChange`, syntheticEvent);\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n // onSelect={({ value }) => {\n // const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n // console.log(`SolidSelectionDynamicField > SolidAutocomplete > onSelect`, syntheticEvent);\n // fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n // }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>\n {typeof formik.errors[fieldLayoutInfo?.attrs?.name] === 'object'\n ? formik.errors[fieldLayoutInfo?.attrs?.name]?.value?.toString()\n : formik.errors[fieldLayoutInfo?.attrs?.name]?.toString()}\n </p>\n )}\n </div>\n );\n}\n\n\nexport const DefaultSelectionDynamicFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const toLabel = (val: any) => {\n if (!val) return '';\n if (typeof val === 'string' || typeof val === 'number') return String(val);\n if (typeof val === 'object') return val.label ?? val.value ?? '';\n return '';\n };\n\n let values: string[] = [];\n if (isMultiSelect) {\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n if (Array.isArray(parsed)) {\n values = parsed.map(toLabel);\n }\n } catch {\n values = value.split(',').map(v => v.trim()).map(toLabel);\n }\n } else if (Array.isArray(value)) {\n values = value.map(toLabel);\n }\n }\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>\n {isMultiSelect\n ? (values.length > 0 ? values.join(', ') : 'No selection')\n : (() => {\n const single = toLabel(value);\n return single ? single : 'No selection';\n })()}\n </p>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidSelectionDynamicField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionDynamicField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useLazyGetSelectionDynamicValuesQuery } from \"../../../../redux/api/fieldApi\";\nimport { SolidAutocomplete } from \"../../../shad-cn-ui/SolidAutocomplete\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport qs from \"qs\";\nimport { useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { formikValuestoQueryString } from \"../../../../helpers/helpers\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport styles from \"./solidFields.module.css\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\n\nexport class SolidSelectionDynamicField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n initialValue(): any {\n // TODO: Use the field metadata to re-create the object in the valid format \n // {label: '', value: ''}\n const fieldLayoutInfo = this.fieldContext.field;\n const optionValue = this.fieldContext.data[fieldLayoutInfo.attrs.name];\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // isMultiSelect: fieldMetaData ? fieldMetaData?.isMultiSelect : false,\n\n // return { label: optionValue || '', value: optionValue || '' };\n const stripBracketsAndQuotes = (str: string) =>\n str.replace(/^\\[?\"?/, '').replace(/\"?\\]?$/, '').trim();\n\n const cleanValue = (val: any) => {\n if (typeof val === 'string') {\n const cleaned = stripBracketsAndQuotes(val);\n return { label: cleaned, value: cleaned };\n } else if (val && typeof val === 'object') {\n const label = stripBracketsAndQuotes(String(val.label ?? val));\n const value = stripBracketsAndQuotes(String(val.value ?? val));\n return { label, value };\n } else {\n const strVal = stripBracketsAndQuotes(String(val));\n return { label: strVal, value: strVal };\n }\n };\n\n if (optionValue === '' || optionValue === null || optionValue === undefined || (Array.isArray(optionValue) && optionValue.length === 0)) {\n return null;\n }\n\n if (isMultiSelect) {\n if (Array.isArray(optionValue)) {\n return optionValue.map(cleanValue);\n } else if (typeof optionValue === 'string') {\n try {\n const parsed = JSON.parse(optionValue); // try to parse as JSON array\n if (Array.isArray(parsed)) {\n return parsed.map(cleanValue);\n }\n } catch {\n // fallback to comma-split only if not valid JSON\n const splitValues = optionValue.split(',').map(v => v.trim()).filter(Boolean);\n return splitValues.map(cleanValue);\n }\n }\n return [];\n } else {\n return cleanValue(optionValue || '');\n }\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n const stripQuotes = (str: string) => str.replace(/^\"+|\"+$/g, '').replace(/^'+|'+$/g, '');\n\n if (value) {\n if (isMultiSelect) {\n const selectedValues = value.map((v: any) => {\n const cleanedValue = stripQuotes(v.value); // still fine\n return cleanedValue;\n });\n const jsonString = JSON.stringify(selectedValues); // ✅ Proper JSON array\n formData.append(fieldLayoutInfo.attrs.name, jsonString);\n } else {\n const cleanedValue = stripQuotes(value.value);\n formData.append(fieldLayoutInfo.attrs.name, cleanedValue);\n }\n }\n // if (value) {\n // formData.append(fieldLayoutInfo.attrs.name, value.value);\n // }\n }\n\n validationSchema(): Yup.Schema {\n let schema = Yup.object();\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n\n // 1. required \n // if (fieldMetadata.required) {\n // schema = schema.required(`${fieldLabel} is required.`);\n // }\n\n // return schema;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n\n const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;\n \n if (isMultiSelect) {\n if (!isRequired) {\n return Yup.array()\n .of(Yup.object().shape({ label: Yup.string(), value: Yup.string() }))\n .nullable();\n }\n\n return Yup.array()\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .of(Yup.object().shape({ label: Yup.string(), value: Yup.string() }));\n }\n\n if (!isRequired) {\n return Yup.object().shape({\n label: Yup.string(),\n value: Yup.string(),\n }).nullable();\n }\n\n return Yup.object().shape({\n label: Yup.string(),\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel)),\n });\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n\n // const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultSelectionDynamicFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultSelectionDynamicFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n}\n\n\n\n\nexport const DefaultSelectionDynamicFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const whereClause = fieldLayoutInfo.attrs.whereClause;\n\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n // selection dynamic specific code. \n const [triggerGetSelectionDynamicValues] = useLazyGetSelectionDynamicValuesQuery();\n const [selectionDynamicItems, setSelectionDynamicItems] = useState([]);\n const isFormFieldValid = (formik: any, fieldName: string) =>\n (formik.touched[fieldName] || formik.submitCount > 0) && !!formik.errors[fieldName];\n\n const isRequired = fieldLayoutInfo.attrs?.required ?? fieldMetadata.required;\n\n const selectionDynamicSearch = async (event: AutoCompleteCompleteEvent) => {\n try {\n // const query = event.query ?? \"\";\n const queryData = {\n offset: 0,\n limit: 10,\n query: event.query,\n fieldId: fieldMetadata.id,\n formValues: formikValuestoQueryString(formik.values),\n };\n if (whereClause) {\n queryData.query = whereClause;\n }\n let sdQs = qs.stringify(queryData, {\n encodeValuesOnly: true,\n // encoder: (str, defaultEncoder, charset, type) => {\n // if (type === 'key' || type === 'value') {\n // if (str === queryData.query) return str;\n // }\n // return defaultEncoder(str);\n // }\n });\n // TODO: do error handling here, possible errors like modelname is incorrect etc...\n const sdResponse = await triggerGetSelectionDynamicValues(sdQs).unwrap();\n const items = Array.isArray(sdResponse?.data) ? sdResponse.data : [];\n\n // TODO: if no data found then can we show no matching \"entities\", where entities can be replaced with the model plural name,\n // const sdData = sdResponse.data.data;\n\n // @ts-ignore\n setSelectionDynamicItems([...items]);\n } catch (err) {\n setSelectionDynamicItems([]);\n }\n }\n\n\n return (\n <div className={`${styles.fieldWrapper} ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalid : \"\"}`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {isRequired && <span className=\"text-red-500\"> *</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidAutocomplete\n multiple={isMultiSelect}\n field=\"label\"\n className={`solid-standard-autocomplete ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalidControl : \"\"}`}\n value={formik.values[fieldLayoutInfo.attrs.name] || (isMultiSelect ? [] : null)}\n dropdown\n suggestions={selectionDynamicItems}\n completeMethod={(e) => selectionDynamicSearch(e)}\n emptyMessage=\"No records found\"\n onChange={({ value }) => {\n if (formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled) return;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n // console.log(`SolidSelectionDynamicField > SolidAutocomplete > onChange`, syntheticEvent);\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n // onSelect={({ value }) => {\n // const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n // console.log(`SolidSelectionDynamicField > SolidAutocomplete > onSelect`, syntheticEvent);\n // fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n // }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>\n {typeof formik.errors[fieldLayoutInfo?.attrs?.name] === 'object'\n ? formik.errors[fieldLayoutInfo?.attrs?.name]?.value?.toString()\n : formik.errors[fieldLayoutInfo?.attrs?.name]?.toString()}\n </p>\n )}\n </div>\n );\n}\n\n\nexport const DefaultSelectionDynamicFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const toLabel = (val: any) => {\n if (!val) return '';\n if (typeof val === 'string' || typeof val === 'number') return String(val);\n if (typeof val === 'object') return val.label ?? val.value ?? '';\n return '';\n };\n\n let values: string[] = [];\n if (isMultiSelect) {\n if (typeof value === 'string') {\n try {\n const parsed = JSON.parse(value);\n if (Array.isArray(parsed)) {\n values = parsed.map(toLabel);\n }\n } catch {\n values = value.split(',').map(v => v.trim()).map(toLabel);\n }\n } else if (Array.isArray(value)) {\n values = value.map(toLabel);\n }\n }\n\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>\n {isMultiSelect\n ? (values.length > 0 ? values.join(', ') : 'No selection')\n : (() => {\n const single = toLabel(value);\n return single ? single : 'No selection';\n })()}\n </p>\n </div>\n );\n}\n"]}
@@ -146,7 +146,7 @@ export class SolidSelectionDynamicField implements ISolidField {
146
146
  render(formik: FormikObject) {
147
147
  const fieldMetadata = this.fieldContext.fieldMetadata;
148
148
  const fieldLayoutInfo = this.fieldContext.field;
149
- const className = fieldLayoutInfo.attrs?.className || 'field col-12';
149
+ const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';
150
150
 
151
151
  // const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];
152
152
  const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];
@@ -198,7 +198,7 @@ export class SolidSelectionDynamicField implements ISolidField {
198
198
  export const DefaultSelectionDynamicFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {
199
199
  const fieldMetadata = fieldContext.fieldMetadata;
200
200
  const fieldLayoutInfo = fieldContext.field;
201
- const className = fieldLayoutInfo.attrs?.className || 'field col-12';
201
+ const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';
202
202
  const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;
203
203
  const fieldDescription = fieldLayoutInfo.attrs.description ?? fieldMetadata.description;
204
204
  const solidFormViewMetaData = fieldContext.solidFormViewMetaData;
@@ -164,7 +164,7 @@ var SolidSelectionStaticField = /** @class */ (function () {
164
164
  var _a;
165
165
  var fieldMetadata = this.fieldContext.fieldMetadata;
166
166
  var fieldLayoutInfo = this.fieldContext.field;
167
- var className = ((_a = fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.className) || 'field col-12';
167
+ var className = ((_a = fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.className) || 'field w-full px-2 pt-2';
168
168
  var isFormFieldValid = function (formik, fieldName) { return formik.errors[fieldName]; };
169
169
  var viewWidget = fieldLayoutInfo.attrs.viewWidget;
170
170
  var editWidget = fieldLayoutInfo.attrs.editWidget;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidSelectionStaticField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionStaticField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidAutocomplete } from \"../../../shad-cn-ui/SolidAutocomplete\";\nimport { SolidRadioGroup } from \"../../../shad-cn-ui/SolidRadioGroup\";\nimport { SolidSegmentedControl } from \"../../../shad-cn-ui/SolidSegmentedControl\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport styles from './solidFields.module.css';\nimport { useMemo, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\nexport class SolidSelectionStaticField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n if (isMultiSelect && Array.isArray(value)) {\n formData.append(fieldLayoutInfo.attrs.name, JSON.stringify(value.map(v => v.value)));\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value.value);\n }\n // if (value) {\n // formData.append(fieldLayoutInfo.attrs.name, value.value);\n // }\n }\n\n initialValue(): any {\n // Get field name and metadata\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldDefaultValue = fieldMetadata?.defaultValue;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // Get existing value from form data\n const existingValue = this.fieldContext.data[fieldName];\n\n // Function to get display value based on selectionStaticValues\n // const getDisplayValue = (value: string | null): string | null => {\n // if (!value) return null;\n // for (const item of fieldMetadata.selectionStaticValues) {\n // const [lhs, rhs] = item.split(':');\n // if (lhs === value) {\n // return rhs;\n // }\n // }\n // return null;\n // };\n\n // Function to get display value based on selectionStaticValues\n const getDisplayValue = (value: string): string => {\n const match = fieldMetadata.selectionStaticValues.find((item: string) => item.startsWith(value + ':'));\n return match ? match.split(':')[1] : value;\n };\n\n // Determine the final value to use (existing value or default value)\n const finalValue = existingValue ?? fieldDefaultValue ?? '';\n\n if (finalValue === '' || finalValue === null || finalValue === undefined || (Array.isArray(finalValue) && finalValue.length === 0)) {\n return null;\n }\n\n if (isMultiSelect) {\n let values: string[] = [];\n\n if (Array.isArray(finalValue)) {\n values = finalValue;\n } else {\n try {\n const parsed = JSON.parse(finalValue);\n if (Array.isArray(parsed)) values = parsed;\n } catch { }\n }\n\n return values.map(val => ({\n label: getDisplayValue(val),\n value: val\n }));\n }\n\n // Get display value for the final value\n // const displayValue = getDisplayValue(finalValue);\n\n return { label: getDisplayValue(finalValue), value: finalValue };\n }\n\n\n validationSchema(): Yup.Schema {\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n // let schema = Yup.object({\n // value: Yup.string().required(`${fieldLabel} is required.`)\n // });\n let schema: Yup.Schema;\n\n if (isMultiSelect) {\n // For multi-select, create array schema\n if (fieldMetadata.required) {\n schema = Yup.array()\n .of(Yup.object({\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n }))\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = Yup.array()\n .of(Yup.object({\n value: Yup.string()\n }))\n .nullable(); // Allow null/undefined for non-required fields\n }\n } else {\n // For single select, create object schema\n if (fieldMetadata.required) {\n schema = Yup.object({\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n }).required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = Yup.object({\n value: Yup.string()\n }).nullable(); // Allow null/undefined for non-required fields\n }\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field col-12';\n const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultSelectionStaticAutocompleteFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultSelectionStaticFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n}\n\nexport const DefaultSelectionStaticAutocompleteFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const [selectionStaticItems, setSelectionStaticItems] = useState([]);\n const selectionStaticSearch = (event: AutoCompleteCompleteEvent) => {\n const selectionStaticData = fieldMetadata.selectionStaticValues.map((i: string) => {\n return {\n label: i.split(\":\")[1],\n value: i.split(\":\")[0]\n }\n });\n const suggestionData = selectionStaticData.filter((t: any) => t.value.toLowerCase().startsWith(event.query.toLowerCase()));\n setSelectionStaticItems(suggestionData)\n }\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <div className={`${styles.fieldWrapper} ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalid : \"\"}`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidAutocomplete\n multiple={isMultiSelect}\n dropdown\n field=\"label\"\n className={`solid-standard-autocomplete ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalidControl : \"\"}`}\n value={formik.values[fieldLayoutInfo.attrs.name] || (isMultiSelect ? [] : null)}\n suggestions={selectionStaticItems}\n completeMethod={(e) => selectionStaticSearch(e)}\n onChange={({ value }) => {\n if (formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled) return;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n // onSelect={({ value }) => {\n // const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n // fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n // }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>\n {typeof formik.errors[fieldLayoutInfo?.attrs?.name] === 'object'\n ? (formik.errors[fieldLayoutInfo?.attrs?.name] as any)?.value?.toString()\n : formik.errors[fieldLayoutInfo?.attrs?.name]?.toString()}\n </p>\n )}\n </div>\n );\n}\n\nexport const SolidSelectionStaticRadioFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // Convert selectionStaticValues to usable radio options\n const radioOptions = fieldMetadata.selectionStaticValues.map((i: string) => {\n const [value, label] = i.split(\":\");\n return { label, value };\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.errors[fieldName];\n\n if (isMultiSelect) {\n return (\n <p className={styles.fieldError}>This render mode is not supported for multi select.</p>\n );\n }\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n <SolidRadioGroup\n name={fieldName}\n options={radioOptions}\n value={formik.values[fieldName]?.value ?? formik.values[fieldName]}\n disabled={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n onChange={(nextValue) => {\n const selectedOption = radioOptions.find((opt: any) => opt.value === nextValue);\n if (selectedOption) {\n formik.setFieldValue(fieldName, selectedOption);\n const syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, \"radio\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }\n }}\n />\n {isFormFieldValid(formik, fieldName) && (\n <p className={styles.fieldError}>{formik?.errors[fieldName]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const SolidSelectionStaticSelectButtonFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.errors[fieldName];\n\n if (isMultiSelect) {\n return (\n <p className={styles.fieldError}>This render mode is not supported for multi select.</p>\n );\n }\n\n const options = fieldMetadata.selectionStaticValues.map((i: string) => {\n const [value, label] = i.split(\":\");\n return { label, value };\n });\n\n const currentValue = formik.values[fieldName];\n const buttonValue =\n typeof currentValue === \"object\" ? currentValue.value : currentValue || null;\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n </label>\n )}\n <SolidSegmentedControl\n options={options}\n value={buttonValue}\n disabled={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n onChange={(nextValue) => {\n const selectedOption = options.find((opt: any) => opt.value === nextValue);\n if (selectedOption) {\n formik.setFieldValue(fieldName, selectedOption);\n const syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, \"button\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }\n }}\n />\n {isFormFieldValid(formik, fieldName) && (\n <p className={styles.fieldError}>{formik.errors[fieldName]?.toString()}</p>\n )}\n </div>\n );\n};\n\n\nexport const DefaultSelectionStaticFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>\n {isMultiSelect\n ? Array.isArray(value)\n ? value.map((v: any) => v?.label).filter(Boolean).join(', ')\n : ''\n : value?.label || ''}\n </p>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidSelectionStaticField.js","sourceRoot":"","sources":["../../../../../src/components/core/form/fields/SolidSelectionStaticField.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SolidAutocomplete } from \"../../../shad-cn-ui/SolidAutocomplete\";\nimport { SolidRadioGroup } from \"../../../shad-cn-ui/SolidRadioGroup\";\nimport { SolidSegmentedControl } from \"../../../shad-cn-ui/SolidSegmentedControl\";\nimport { buildSyntheticChangeEvent } from \"./fieldEventUtils\";\nimport styles from './solidFields.module.css';\nimport { useMemo, useState } from \"react\";\nimport * as Yup from 'yup';\nimport { FormikObject, ISolidField, SolidFieldProps } from \"./ISolidField\";\nimport { getExtensionComponent } from \"../../../../helpers/registry\";\nimport { SolidFormFieldWidgetProps } from \"../../../../types/solid-core\";\nimport { SolidFieldTooltip } from \"../../../../components/common/SolidFieldTooltip\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\n\ntype AutoCompleteCompleteEvent = { query: string };\n\nexport class SolidSelectionStaticField implements ISolidField {\n\n private fieldContext: SolidFieldProps;\n\n constructor(fieldContext: SolidFieldProps) {\n this.fieldContext = fieldContext;\n }\n\n updateFormData(value: any, formData: FormData): any {\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n if (isMultiSelect && Array.isArray(value)) {\n formData.append(fieldLayoutInfo.attrs.name, JSON.stringify(value.map(v => v.value)));\n } else if (value) {\n formData.append(fieldLayoutInfo.attrs.name, value.value);\n }\n // if (value) {\n // formData.append(fieldLayoutInfo.attrs.name, value.value);\n // }\n }\n\n initialValue(): any {\n // Get field name and metadata\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldName = fieldLayoutInfo.attrs.name;\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldDefaultValue = fieldMetadata?.defaultValue;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // Get existing value from form data\n const existingValue = this.fieldContext.data[fieldName];\n\n // Function to get display value based on selectionStaticValues\n // const getDisplayValue = (value: string | null): string | null => {\n // if (!value) return null;\n // for (const item of fieldMetadata.selectionStaticValues) {\n // const [lhs, rhs] = item.split(':');\n // if (lhs === value) {\n // return rhs;\n // }\n // }\n // return null;\n // };\n\n // Function to get display value based on selectionStaticValues\n const getDisplayValue = (value: string): string => {\n const match = fieldMetadata.selectionStaticValues.find((item: string) => item.startsWith(value + ':'));\n return match ? match.split(':')[1] : value;\n };\n\n // Determine the final value to use (existing value or default value)\n const finalValue = existingValue ?? fieldDefaultValue ?? '';\n\n if (finalValue === '' || finalValue === null || finalValue === undefined || (Array.isArray(finalValue) && finalValue.length === 0)) {\n return null;\n }\n\n if (isMultiSelect) {\n let values: string[] = [];\n\n if (Array.isArray(finalValue)) {\n values = finalValue;\n } else {\n try {\n const parsed = JSON.parse(finalValue);\n if (Array.isArray(parsed)) values = parsed;\n } catch { }\n }\n\n return values.map(val => ({\n label: getDisplayValue(val),\n value: val\n }));\n }\n\n // Get display value for the final value\n // const displayValue = getDisplayValue(finalValue);\n\n return { label: getDisplayValue(finalValue), value: finalValue };\n }\n\n\n validationSchema(): Yup.Schema {\n\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n // let schema = Yup.object({\n // value: Yup.string().required(`${fieldLabel} is required.`)\n // });\n let schema: Yup.Schema;\n\n if (isMultiSelect) {\n // For multi-select, create array schema\n if (fieldMetadata.required) {\n schema = Yup.array()\n .of(Yup.object({\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n }))\n .min(1, ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n .required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = Yup.array()\n .of(Yup.object({\n value: Yup.string()\n }))\n .nullable(); // Allow null/undefined for non-required fields\n }\n } else {\n // For single select, create object schema\n if (fieldMetadata.required) {\n schema = Yup.object({\n value: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel))\n }).required(ERROR_MESSAGES.FIELD_REUQIRED(fieldLabel));\n } else {\n schema = Yup.object({\n value: Yup.string()\n }).nullable(); // Allow null/undefined for non-required fields\n }\n }\n return schema;\n }\n\n render(formik: FormikObject) {\n const fieldMetadata = this.fieldContext.fieldMetadata;\n const fieldLayoutInfo = this.fieldContext.field;\n const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';\n const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];\n\n let viewWidget = fieldLayoutInfo.attrs.viewWidget;\n let editWidget = fieldLayoutInfo.attrs.editWidget;\n if (!editWidget) {\n editWidget = 'DefaultSelectionStaticAutocompleteFormEditWidget';\n }\n if (!viewWidget) {\n viewWidget = 'DefaultSelectionStaticFormViewWidget';\n }\n const viewMode: string = this.fieldContext.viewMode;\n\n return (\n <>\n <div className={className}>\n {viewMode === \"view\" &&\n this.renderExtensionRenderMode(viewWidget, formik)\n }\n {viewMode === \"edit\" &&\n <>\n {editWidget &&\n this.renderExtensionRenderMode(editWidget, formik)\n }\n </>\n }\n </div>\n </>\n );\n }\n\n renderExtensionRenderMode(widget: string, formik: FormikObject) {\n let DynamicWidget = getExtensionComponent(widget);\n const widgetProps: SolidFormFieldWidgetProps = {\n formik: formik,\n fieldContext: this.fieldContext,\n }\n return (\n <>\n {DynamicWidget && <DynamicWidget {...widgetProps} />}\n </>\n )\n }\n\n}\n\nexport const DefaultSelectionStaticAutocompleteFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const solidFormViewMetaData = fieldContext.solidFormViewMetaData;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n\n const formDisabled = solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const [selectionStaticItems, setSelectionStaticItems] = useState([]);\n const selectionStaticSearch = (event: AutoCompleteCompleteEvent) => {\n const selectionStaticData = fieldMetadata.selectionStaticValues.map((i: string) => {\n return {\n label: i.split(\":\")[1],\n value: i.split(\":\")[0]\n }\n });\n const suggestionData = selectionStaticData.filter((t: any) => t.value.toLowerCase().startsWith(event.query.toLowerCase()));\n setSelectionStaticItems(suggestionData)\n }\n const isFormFieldValid = (formik: any, fieldName: string) => formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <div className={`${styles.fieldWrapper} ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalid : \"\"}`}>\n {showFieldLabel != false &&\n <label htmlFor={fieldLayoutInfo.attrs.name} className={`${styles.fieldLabel} form-field-label`}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n }\n <SolidAutocomplete\n multiple={isMultiSelect}\n dropdown\n field=\"label\"\n className={`solid-standard-autocomplete ${isFormFieldValid(formik, fieldLayoutInfo.attrs.name) ? styles.fieldInvalidControl : \"\"}`}\n value={formik.values[fieldLayoutInfo.attrs.name] || (isMultiSelect ? [] : null)}\n suggestions={selectionStaticItems}\n completeMethod={(e) => selectionStaticSearch(e)}\n onChange={({ value }) => {\n if (formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled) return;\n const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }}\n // onSelect={({ value }) => {\n // const syntheticEvent = buildSyntheticChangeEvent(fieldLayoutInfo.attrs.name, value, \"text\");\n // fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n // }}\n />\n {isFormFieldValid(formik, fieldLayoutInfo.attrs.name) && (\n <p className={styles.fieldError}>\n {typeof formik.errors[fieldLayoutInfo?.attrs?.name] === 'object'\n ? (formik.errors[fieldLayoutInfo?.attrs?.name] as any)?.value?.toString()\n : formik.errors[fieldLayoutInfo?.attrs?.name]?.toString()}\n </p>\n )}\n </div>\n );\n}\n\nexport const SolidSelectionStaticRadioFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n // Convert selectionStaticValues to usable radio options\n const radioOptions = fieldMetadata.selectionStaticValues.map((i: string) => {\n const [value, label] = i.split(\":\");\n return { label, value };\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.errors[fieldName];\n\n if (isMultiSelect) {\n return (\n <p className={styles.fieldError}>This render mode is not supported for multi select.</p>\n );\n }\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n <SolidFieldTooltip fieldContext={fieldContext} />\n </label>\n )}\n <SolidRadioGroup\n name={fieldName}\n options={radioOptions}\n value={formik.values[fieldName]?.value ?? formik.values[fieldName]}\n disabled={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n onChange={(nextValue) => {\n const selectedOption = radioOptions.find((opt: any) => opt.value === nextValue);\n if (selectedOption) {\n formik.setFieldValue(fieldName, selectedOption);\n const syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, \"radio\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }\n }}\n />\n {isFormFieldValid(formik, fieldName) && (\n <p className={styles.fieldError}>{formik?.errors[fieldName]?.toString()}</p>\n )}\n </div>\n );\n}\n\nexport const SolidSelectionStaticSelectButtonFormEditWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n const readOnlyPermission = fieldContext.readOnly;\n\n const fieldDisabled = fieldLayoutInfo.attrs?.disabled;\n const fieldReadonly = fieldLayoutInfo.attrs?.readonly;\n const formDisabled = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.disabled;\n const formReadonly = fieldContext.solidFormViewMetaData.data.solidView?.layout?.attrs?.readonly;\n\n const fieldName = fieldLayoutInfo.attrs.name;\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.errors[fieldName];\n\n if (isMultiSelect) {\n return (\n <p className={styles.fieldError}>This render mode is not supported for multi select.</p>\n );\n }\n\n const options = fieldMetadata.selectionStaticValues.map((i: string) => {\n const [value, label] = i.split(\":\");\n return { label, value };\n });\n\n const currentValue = formik.values[fieldName];\n const buttonValue =\n typeof currentValue === \"object\" ? currentValue.value : currentValue || null;\n\n return (\n <div className={styles.fieldWrapper}>\n {showFieldLabel !== false && (\n <label htmlFor={fieldName} className={styles.fieldLabel}>\n {fieldLabel}\n {fieldMetadata.required && <span className=\"text-red-500\">*</span>}\n </label>\n )}\n <SolidSegmentedControl\n options={options}\n value={buttonValue}\n disabled={formReadonly || fieldReadonly || readOnlyPermission || formDisabled || fieldDisabled}\n onChange={(nextValue) => {\n const selectedOption = options.find((opt: any) => opt.value === nextValue);\n if (selectedOption) {\n formik.setFieldValue(fieldName, selectedOption);\n const syntheticEvent = buildSyntheticChangeEvent(fieldName, selectedOption, \"button\");\n fieldContext.onChange(syntheticEvent, \"onFieldChange\");\n }\n }}\n />\n {isFormFieldValid(formik, fieldName) && (\n <p className={styles.fieldError}>{formik.errors[fieldName]?.toString()}</p>\n )}\n </div>\n );\n};\n\n\nexport const DefaultSelectionStaticFormViewWidget = ({ formik, fieldContext }: SolidFormFieldWidgetProps) => {\n\n const fieldMetadata = fieldContext.fieldMetadata;\n const fieldLayoutInfo = fieldContext.field;\n const fieldLabel = fieldLayoutInfo.attrs.label ?? fieldMetadata.displayName;\n const value = formik.values[fieldLayoutInfo.attrs.name];\n const isMultiSelect = fieldLayoutInfo.attrs.multiSelect ?? fieldMetadata?.isMultiSelect;\n const showFieldLabel = fieldLayoutInfo?.attrs?.showLabel;\n return (\n <div className={styles.fieldViewWrapper}>\n {showFieldLabel !== false && (\n <p className={`${styles.fieldViewLabel} form-field-label`}>{fieldLabel}</p>\n )}\n <p className={styles.fieldViewValue}>\n {isMultiSelect\n ? Array.isArray(value)\n ? value.map((v: any) => v?.label).filter(Boolean).join(', ')\n : ''\n : value?.label || ''}\n </p>\n </div>\n );\n}\n"]}
@@ -142,7 +142,7 @@ export class SolidSelectionStaticField implements ISolidField {
142
142
  render(formik: FormikObject) {
143
143
  const fieldMetadata = this.fieldContext.fieldMetadata;
144
144
  const fieldLayoutInfo = this.fieldContext.field;
145
- const className = fieldLayoutInfo.attrs?.className || 'field col-12';
145
+ const className = fieldLayoutInfo.attrs?.className || 'field w-full px-2 pt-2';
146
146
  const isFormFieldValid = (formik: any, fieldName: string) => formik.errors[fieldName];
147
147
 
148
148
  let viewWidget = fieldLayoutInfo.attrs.viewWidget;
@@ -162,7 +162,7 @@ var SolidShortTextField = /** @class */ (function () {
162
162
  var fieldMetadata = this.fieldContext.fieldMetadata;
163
163
  var fieldLayoutInfo = this.fieldContext.field;
164
164
  var solidFormViewMetaData = this.fieldContext.solidFormViewMetaData;
165
- var className = ((_a = fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.className) || 'field col-12';
165
+ var className = ((_a = fieldLayoutInfo.attrs) === null || _a === void 0 ? void 0 : _a.className) || 'field w-full px-2 pt-2';
166
166
  var isFormFieldValid = function (formik, fieldName) { return formik.touched[fieldName] && formik.errors[fieldName]; };
167
167
  var viewWidget = fieldLayoutInfo.attrs.viewWidget;
168
168
  var editWidget = fieldLayoutInfo.attrs.editWidget;