@solidxai/core-ui 0.1.9-beta.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) 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 +23 -19
  9. package/dist/components/auth/AuthLayout.js.map +1 -1
  10. package/dist/components/auth/AuthLayout.tsx +62 -52
  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 +2 -2
  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 +3 -3
  25. package/dist/components/auth/SolidInitialLoginOtp.js +1 -1
  26. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  27. package/dist/components/auth/SolidInitialLoginOtp.tsx +2 -2
  28. package/dist/components/auth/SolidInitiateRegisterOtp.js +1 -1
  29. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  30. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +2 -2
  31. package/dist/components/auth/SolidLogin.js +4 -4
  32. package/dist/components/auth/SolidLogin.js.map +1 -1
  33. package/dist/components/auth/SolidLogin.tsx +13 -13
  34. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  35. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  36. package/dist/components/auth/SolidOTPVerify.js +67 -0
  37. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  38. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  39. package/dist/components/auth/SolidRegister.js +6 -6
  40. package/dist/components/auth/SolidRegister.js.map +1 -1
  41. package/dist/components/auth/SolidRegister.tsx +15 -15
  42. package/dist/components/auth/SolidResetPassword.js +2 -2
  43. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  44. package/dist/components/auth/SolidResetPassword.tsx +8 -8
  45. package/dist/components/common/AuthBanner.js.map +1 -1
  46. package/dist/components/common/BackButton.js +1 -1
  47. package/dist/components/common/BackButton.js.map +1 -1
  48. package/dist/components/common/BackButton.tsx +1 -1
  49. package/dist/components/common/CancelButton.js +2 -2
  50. package/dist/components/common/CancelButton.js.map +1 -1
  51. package/dist/components/common/CancelButton.tsx +3 -3
  52. package/dist/components/common/GeneralSettings.js +18 -18
  53. package/dist/components/common/GeneralSettings.js.map +1 -1
  54. package/dist/components/common/GeneralSettings.tsx +137 -137
  55. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  56. package/dist/components/common/SettingsComponent.js +4 -1
  57. package/dist/components/common/SettingsComponent.js.map +1 -1
  58. package/dist/components/common/SettingsComponent.module.css +95 -2
  59. package/dist/components/common/SettingsComponent.tsx +4 -1
  60. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  61. package/dist/components/common/SocialMediaLogin.js +1 -1
  62. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  63. package/dist/components/common/SocialMediaLogin.tsx +4 -0
  64. package/dist/components/common/SolidExport.d.ts +1 -1
  65. package/dist/components/common/SolidExport.d.ts.map +1 -1
  66. package/dist/components/common/SolidExport.js +11 -4
  67. package/dist/components/common/SolidExport.js.map +1 -1
  68. package/dist/components/common/SolidExport.tsx +12 -2
  69. package/dist/components/common/SolidFaviconProvider.d.ts +3 -0
  70. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -0
  71. package/dist/components/common/SolidFaviconProvider.js +102 -0
  72. package/dist/components/common/SolidFaviconProvider.js.map +1 -0
  73. package/dist/components/common/SolidFaviconProvider.tsx +55 -0
  74. package/dist/components/common/SolidFormHeader.js +1 -1
  75. package/dist/components/common/SolidFormHeader.js.map +1 -1
  76. package/dist/components/common/SolidFormHeader.tsx +1 -1
  77. package/dist/components/common/SolidModuleHome.js +2 -2
  78. package/dist/components/common/SolidModuleHome.js.map +1 -1
  79. package/dist/components/common/SolidModuleHome.tsx +7 -7
  80. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +3 -3
  81. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  82. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +6 -6
  83. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +1 -1
  84. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  85. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +4 -4
  86. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +1 -1
  87. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  88. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +4 -4
  89. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +1 -1
  90. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  91. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +1 -1
  92. package/dist/components/core/card/SolidCardView.js +1 -1
  93. package/dist/components/core/card/SolidCardView.js.map +1 -1
  94. package/dist/components/core/card/SolidCardView.tsx +6 -6
  95. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  96. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  97. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  98. package/dist/components/core/card/SolidCardViewConfigure.tsx +5 -1
  99. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  100. package/dist/components/core/chatter/SolidChatter.js +29 -16
  101. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  102. package/dist/components/core/chatter/SolidChatter.tsx +28 -14
  103. package/dist/components/core/chatter/SolidChatterAuditMessage.js +1 -1
  104. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  105. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +2 -2
  106. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  107. package/dist/components/core/chatter/SolidChatterHeader.js +2 -2
  108. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  109. package/dist/components/core/chatter/SolidChatterHeader.tsx +10 -6
  110. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +1 -0
  111. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  112. package/dist/components/core/chatter/SolidChatterMessageBox.js +151 -12
  113. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  114. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +256 -15
  115. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  116. package/dist/components/core/chatter/SolidMessageComposer.js +3 -2
  117. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  118. package/dist/components/core/chatter/SolidMessageComposer.tsx +11 -9
  119. package/dist/components/core/chatter/chatter.module.css +1 -1
  120. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  121. package/dist/components/core/common/FilterComponent.js +5 -3
  122. package/dist/components/core/common/FilterComponent.js.map +1 -1
  123. package/dist/components/core/common/FilterComponent.tsx +6 -2
  124. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  125. package/dist/components/core/common/GroupingComponent.js +2 -2
  126. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  127. package/dist/components/core/common/GroupingComponent.tsx +2 -0
  128. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  129. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  130. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  131. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  132. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  133. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  134. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +1 -10
  135. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  136. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +1 -8
  137. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  138. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +6 -11
  139. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  140. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +5 -31
  141. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  142. package/dist/components/core/common/SolidCreateButton.js +16 -1
  143. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  144. package/dist/components/core/common/SolidCreateButton.tsx +18 -1
  145. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +61 -1
  146. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  147. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +3 -1
  148. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  149. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +4 -2
  150. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
  151. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +19 -1
  152. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
  153. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +16 -3
  154. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  155. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +168 -26
  156. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  157. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +174 -10
  158. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  159. package/dist/components/core/common/SolidGlobalSearchElement.js +180 -90
  160. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  161. package/dist/components/core/common/SolidGlobalSearchElement.tsx +167 -49
  162. package/dist/components/core/common/SolidLayoutViews.js +2 -2
  163. package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
  164. package/dist/components/core/common/SolidLayoutViews.tsx +4 -4
  165. package/dist/components/core/common/SolidListViewOptions.js +1 -1
  166. package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
  167. package/dist/components/core/common/SolidListViewOptions.tsx +1 -1
  168. package/dist/components/core/common/SolidPasswordHelperText.js +2 -2
  169. package/dist/components/core/common/SolidPasswordHelperText.js.map +1 -1
  170. package/dist/components/core/common/SolidPasswordHelperText.tsx +4 -4
  171. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  172. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  173. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  174. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +0 -1
  175. package/dist/components/core/common/SolidSearchBox.js +1 -1
  176. package/dist/components/core/common/SolidSearchBox.js.map +1 -1
  177. package/dist/components/core/common/SolidSearchBox.tsx +1 -1
  178. package/dist/components/core/common/SolidXAiIframe.js +1 -1
  179. package/dist/components/core/common/SolidXAiIframe.js.map +1 -1
  180. package/dist/components/core/common/SolidXAiIframe.tsx +1 -1
  181. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts +4 -0
  182. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts.map +1 -0
  183. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js +79 -0
  184. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js.map +1 -0
  185. package/dist/components/core/dashboard/mappers/echartsOptionMapper.ts +81 -0
  186. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts +3 -0
  187. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts.map +1 -0
  188. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js +17 -0
  189. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js.map +1 -0
  190. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.tsx +6 -0
  191. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts +3 -0
  192. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts.map +1 -0
  193. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js +41 -0
  194. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js.map +1 -0
  195. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.tsx +56 -0
  196. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts +3 -0
  197. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts.map +1 -0
  198. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js +14 -0
  199. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js.map +1 -0
  200. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.tsx +19 -0
  201. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts +3 -0
  202. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts.map +1 -0
  203. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js +17 -0
  204. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js.map +1 -0
  205. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.tsx +6 -0
  206. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts +3 -0
  207. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts.map +1 -0
  208. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js +17 -0
  209. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js.map +1 -0
  210. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.tsx +6 -0
  211. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts +3 -0
  212. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts.map +1 -0
  213. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js +12 -0
  214. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js.map +1 -0
  215. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.tsx +39 -0
  216. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts +3 -0
  217. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts.map +1 -0
  218. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js +7 -0
  219. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js.map +1 -0
  220. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.tsx +9 -0
  221. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts +3 -0
  222. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts.map +1 -0
  223. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js +203 -0
  224. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js.map +1 -0
  225. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.tsx +251 -0
  226. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js +1 -1
  227. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js.map +1 -1
  228. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.tsx +2 -2
  229. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +16 -0
  230. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -0
  231. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +31 -0
  232. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -0
  233. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +43 -0
  234. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts +3 -0
  235. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts.map +1 -0
  236. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js +141 -0
  237. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js.map +1 -0
  238. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.tsx +205 -0
  239. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts +4 -0
  240. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts.map +1 -0
  241. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js +112 -0
  242. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js.map +1 -0
  243. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.tsx +146 -0
  244. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts +11 -0
  245. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts.map +1 -0
  246. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js +22 -0
  247. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js.map +1 -0
  248. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.tsx +36 -0
  249. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts +3 -0
  250. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts.map +1 -0
  251. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js +133 -0
  252. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js.map +1 -0
  253. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.ts +76 -0
  254. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +2 -2
  255. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  256. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +5 -5
  257. package/dist/components/core/field/FieldListViewData.js +2 -2
  258. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  259. package/dist/components/core/field/FieldListViewData.tsx +5 -5
  260. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  261. package/dist/components/core/filter/fields/SolidBooleanField.js +2 -2
  262. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  263. package/dist/components/core/filter/fields/SolidBooleanField.tsx +5 -13
  264. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  265. package/dist/components/core/filter/fields/SolidDateField.js +2 -2
  266. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  267. package/dist/components/core/filter/fields/SolidDateField.tsx +4 -3
  268. package/dist/components/core/filter/fields/SolidDatetimeField.d.ts.map +1 -1
  269. package/dist/components/core/filter/fields/SolidDatetimeField.js +2 -2
  270. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  271. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +5 -4
  272. package/dist/components/core/filter/fields/SolidExternalIdField.d.ts.map +1 -1
  273. package/dist/components/core/filter/fields/SolidExternalIdField.js +2 -2
  274. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  275. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +4 -3
  276. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  277. package/dist/components/core/filter/fields/SolidIdField.js +2 -2
  278. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  279. package/dist/components/core/filter/fields/SolidIdField.tsx +3 -2
  280. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  281. package/dist/components/core/filter/fields/SolidIntField.js +2 -2
  282. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  283. package/dist/components/core/filter/fields/SolidIntField.tsx +4 -3
  284. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  285. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
  286. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  287. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +4 -3
  288. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  289. package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
  290. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  291. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +4 -3
  292. package/dist/components/core/filter/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  293. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +2 -2
  294. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  295. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +5 -4
  296. package/dist/components/core/filter/fields/SolidSelectionStaticField.d.ts.map +1 -1
  297. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +2 -2
  298. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  299. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +5 -4
  300. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  301. package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
  302. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  303. package/dist/components/core/filter/fields/SolidShortTextField.tsx +4 -3
  304. package/dist/components/core/filter/fields/SolidTimeField.d.ts.map +1 -1
  305. package/dist/components/core/filter/fields/SolidTimeField.js +2 -2
  306. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  307. package/dist/components/core/filter/fields/SolidTimeField.tsx +5 -4
  308. package/dist/components/core/filter/fields/SolidUuidField.d.ts.map +1 -1
  309. package/dist/components/core/filter/fields/SolidUuidField.js +2 -2
  310. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  311. package/dist/components/core/filter/fields/SolidUuidField.tsx +5 -4
  312. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  313. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +2 -2
  314. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  315. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +5 -4
  316. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  317. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +2 -2
  318. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  319. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +5 -4
  320. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  321. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +2 -2
  322. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  323. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +5 -4
  324. package/dist/components/core/form/SolidFormActionHeader.js +8 -8
  325. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  326. package/dist/components/core/form/SolidFormActionHeader.tsx +13 -13
  327. package/dist/components/core/form/SolidFormFieldRender.js +1 -1
  328. package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
  329. package/dist/components/core/form/SolidFormFieldRender.tsx +1 -1
  330. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  331. package/dist/components/core/form/SolidFormFooter.js +14 -7
  332. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  333. package/dist/components/core/form/SolidFormFooter.tsx +16 -7
  334. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  335. package/dist/components/core/form/SolidFormView.js +207 -68
  336. package/dist/components/core/form/SolidFormView.js.map +1 -1
  337. package/dist/components/core/form/SolidFormView.tsx +197 -45
  338. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  339. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +16 -3
  340. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  341. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +25 -16
  342. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  343. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +19 -5
  344. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  345. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +25 -9
  346. package/dist/components/core/form/SolidFormViewShimmerLoading.js +1 -1
  347. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  348. package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +46 -46
  349. package/dist/components/core/form/field-quality-check-fixes.md +201 -0
  350. package/dist/components/core/form/fields/SolidBooleanField.js +3 -3
  351. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  352. package/dist/components/core/form/fields/SolidBooleanField.tsx +3 -3
  353. package/dist/components/core/form/fields/SolidComputedField.js +1 -1
  354. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -1
  355. package/dist/components/core/form/fields/SolidComputedField.tsx +1 -1
  356. package/dist/components/core/form/fields/SolidDateField.js +2 -2
  357. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  358. package/dist/components/core/form/fields/SolidDateField.tsx +2 -2
  359. package/dist/components/core/form/fields/SolidDateTimeField.js +2 -2
  360. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  361. package/dist/components/core/form/fields/SolidDateTimeField.tsx +2 -2
  362. package/dist/components/core/form/fields/SolidDecimalField.js +1 -1
  363. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  364. package/dist/components/core/form/fields/SolidDecimalField.tsx +1 -1
  365. package/dist/components/core/form/fields/SolidEmailField.js +1 -1
  366. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  367. package/dist/components/core/form/fields/SolidEmailField.tsx +1 -1
  368. package/dist/components/core/form/fields/SolidIntegerField.js +3 -3
  369. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  370. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -3
  371. package/dist/components/core/form/fields/SolidJsonField.js +3 -3
  372. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  373. package/dist/components/core/form/fields/SolidJsonField.tsx +3 -3
  374. package/dist/components/core/form/fields/SolidLongTextField.d.ts +0 -1
  375. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  376. package/dist/components/core/form/fields/SolidLongTextField.js +6 -58
  377. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  378. package/dist/components/core/form/fields/SolidLongTextField.tsx +12 -107
  379. package/dist/components/core/form/fields/SolidMediaMultipleField.js +11 -11
  380. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  381. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +28 -28
  382. package/dist/components/core/form/fields/SolidMediaSingleField.js +5 -5
  383. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  384. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +9 -9
  385. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  386. package/dist/components/core/form/fields/SolidPasswordField.js +12 -6
  387. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  388. package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -6
  389. package/dist/components/core/form/fields/SolidRichTextField.js +2 -2
  390. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  391. package/dist/components/core/form/fields/SolidRichTextField.tsx +2 -2
  392. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +2 -2
  393. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  394. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +2 -2
  395. package/dist/components/core/form/fields/SolidSelectionStaticField.js +1 -1
  396. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  397. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +1 -1
  398. package/dist/components/core/form/fields/SolidShortTextField.js +1 -1
  399. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  400. package/dist/components/core/form/fields/SolidShortTextField.tsx +1 -1
  401. package/dist/components/core/form/fields/SolidTimeField.js +2 -2
  402. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  403. package/dist/components/core/form/fields/SolidTimeField.tsx +2 -2
  404. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +8 -0
  405. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -0
  406. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +123 -0
  407. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -0
  408. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +140 -0
  409. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  410. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +20 -18
  411. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  412. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +47 -37
  413. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  414. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +18 -18
  415. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  416. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +17 -13
  417. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  418. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +19 -17
  419. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  420. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +28 -27
  421. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +1 -1
  422. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  423. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +1 -1
  424. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js +1 -1
  425. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js.map +1 -1
  426. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.tsx +1 -1
  427. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +1 -1
  428. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  429. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +1 -1
  430. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +5 -5
  431. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  432. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +17 -17
  433. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js +1 -1
  434. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
  435. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +1 -1
  436. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js +1 -1
  437. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
  438. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +1 -1
  439. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  440. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  441. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  442. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  443. package/dist/components/core/kanban/KanbanBoard.tsx +2 -1
  444. package/dist/components/core/kanban/KanbanCard.d.ts +1 -0
  445. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  446. package/dist/components/core/kanban/KanbanCard.js +15 -4
  447. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  448. package/dist/components/core/kanban/KanbanCard.tsx +27 -4
  449. package/dist/components/core/kanban/KanbanColumn.d.ts +2 -1
  450. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  451. package/dist/components/core/kanban/KanbanColumn.js +4 -4
  452. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  453. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  454. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  455. package/dist/components/core/kanban/SolidKanbanView.js +44 -39
  456. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  457. package/dist/components/core/kanban/SolidKanbanView.tsx +22 -10
  458. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  459. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  460. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  461. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +5 -1
  462. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  463. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  464. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +2 -1
  465. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  466. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  467. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  468. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +10 -21
  469. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  470. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  471. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  472. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +10 -18
  473. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  474. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +6 -3
  475. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  476. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +24 -30
  477. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  478. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  479. package/dist/components/core/list/ListViewRowActionPopup.js +1 -1
  480. package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
  481. package/dist/components/core/list/ListViewRowActionPopup.tsx +1 -2
  482. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +1 -1
  483. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  484. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +3 -3
  485. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  486. package/dist/components/core/list/SolidDataTable.js +3 -2
  487. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  488. package/dist/components/core/list/SolidDataTable.tsx +9 -10
  489. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  490. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -0
  491. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  492. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -0
  493. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  494. package/dist/components/core/list/SolidListView.js +123 -100
  495. package/dist/components/core/list/SolidListView.js.map +1 -1
  496. package/dist/components/core/list/SolidListView.tsx +70 -41
  497. package/dist/components/core/list/SolidListViewColumn.d.ts +3 -1
  498. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  499. package/dist/components/core/list/SolidListViewColumn.js +27 -2
  500. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  501. package/dist/components/core/list/SolidListViewColumn.tsx +16 -3
  502. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  503. package/dist/components/core/list/SolidListViewConfigure.js +11 -10
  504. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  505. package/dist/components/core/list/SolidListViewConfigure.tsx +9 -3
  506. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  507. package/dist/components/core/list/SolidListViewHeaderButton.js +13 -3
  508. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  509. package/dist/components/core/list/SolidListViewHeaderButton.tsx +16 -7
  510. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  511. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +19 -7
  512. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  513. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +19 -6
  514. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  515. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +14 -5
  516. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  517. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +17 -6
  518. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -1
  519. package/dist/components/core/list/SolidListViewRowActionsMenu.js +7 -1
  520. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  521. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +5 -1
  522. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  523. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  524. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +7 -6
  525. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  526. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +10 -9
  527. package/dist/components/core/list/SolidListingHeader.js +1 -1
  528. package/dist/components/core/list/SolidListingHeader.js.map +1 -1
  529. package/dist/components/core/list/SolidListingHeader.tsx +4 -4
  530. package/dist/components/core/list/SolidTableRowCell.js +1 -1
  531. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  532. package/dist/components/core/list/SolidTableRowCell.tsx +1 -1
  533. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  534. package/dist/components/core/list/columns/SolidBooleanColumn.js +4 -6
  535. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  536. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -3
  537. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  538. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +8 -7
  539. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  540. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +11 -10
  541. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  542. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +6 -5
  543. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  544. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +6 -5
  545. package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
  546. package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
  547. package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
  548. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  549. package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
  550. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
  551. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  552. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +9 -4
  553. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  554. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +14 -4
  555. package/dist/components/core/list/field-quality-check-fixes.md +178 -0
  556. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js +1 -1
  557. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js.map +1 -1
  558. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.tsx +1 -1
  559. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +1 -1
  560. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
  561. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +1 -2
  562. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts +3 -0
  563. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts.map +1 -0
  564. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js +39 -0
  565. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js.map +1 -0
  566. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.tsx +50 -0
  567. package/dist/components/core/locales/SolidLocale.js +3 -3
  568. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  569. package/dist/components/core/locales/SolidLocale.tsx +7 -7
  570. package/dist/components/core/locales/solid-locale.css +5 -4
  571. package/dist/components/core/model/CreateModel.css +48 -0
  572. package/dist/components/core/model/CreateModel.d.ts +1 -0
  573. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  574. package/dist/components/core/model/CreateModel.js +80 -128
  575. package/dist/components/core/model/CreateModel.js.map +1 -1
  576. package/dist/components/core/model/CreateModel.tsx +102 -226
  577. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  578. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  579. package/dist/components/core/model/FieldMetaData.js +7 -23
  580. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  581. package/dist/components/core/model/FieldMetaData.tsx +17 -50
  582. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  583. package/dist/components/core/model/FieldMetaDataForm.js +198 -224
  584. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  585. package/dist/components/core/model/FieldMetaDataForm.tsx +75 -302
  586. package/dist/components/core/model/ModelListViewData.js +4 -4
  587. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  588. package/dist/components/core/model/ModelListViewData.tsx +7 -7
  589. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  590. package/dist/components/core/model/ModelMetaData.js +13 -25
  591. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  592. package/dist/components/core/model/ModelMetaData.tsx +18 -79
  593. package/dist/components/core/module/CreateModule.css +44 -0
  594. package/dist/components/core/module/CreateModule.d.ts +1 -0
  595. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  596. package/dist/components/core/module/CreateModule.js +40 -57
  597. package/dist/components/core/module/CreateModule.js.map +1 -1
  598. package/dist/components/core/module/CreateModule.tsx +246 -264
  599. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  600. package/dist/components/core/module/ModuleListViewData.js +48 -8
  601. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  602. package/dist/components/core/module/ModuleListViewData.tsx +65 -7
  603. package/dist/components/core/module/ModuleMetadataExplorer.css +638 -0
  604. package/dist/components/core/module/ModuleMetadataExplorer.d.ts +15 -0
  605. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -0
  606. package/dist/components/core/module/ModuleMetadataExplorer.js +666 -0
  607. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -0
  608. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1000 -0
  609. package/dist/components/core/module/ModulePackageDialog.css +540 -0
  610. package/dist/components/core/module/ModulePackageDialog.d.ts +16 -0
  611. package/dist/components/core/module/ModulePackageDialog.d.ts.map +1 -0
  612. package/dist/components/core/module/ModulePackageDialog.js +625 -0
  613. package/dist/components/core/module/ModulePackageDialog.js.map +1 -0
  614. package/dist/components/core/module/ModulePackageDialog.tsx +906 -0
  615. package/dist/components/core/solid-ai/SolidAiChat.module.css +2 -2
  616. package/dist/components/core/tree/SolidTreeTable.js +1 -1
  617. package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
  618. package/dist/components/core/tree/SolidTreeTable.tsx +1 -1
  619. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  620. package/dist/components/core/tree/SolidTreeView.js +4 -4
  621. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  622. package/dist/components/core/tree/SolidTreeView.tsx +16 -12
  623. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  624. package/dist/components/core/users/CreateUser.js +51 -27
  625. package/dist/components/core/users/CreateUser.js.map +1 -1
  626. package/dist/components/core/users/CreateUser.tsx +47 -68
  627. package/dist/components/core/users/CreateUserRole.js +2 -2
  628. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  629. package/dist/components/core/users/CreateUserRole.tsx +9 -9
  630. package/dist/components/core/users/UserListView.js +4 -4
  631. package/dist/components/core/users/UserListView.js.map +1 -1
  632. package/dist/components/core/users/UserListView.tsx +6 -6
  633. package/dist/components/layout/AdminHeaderActions.d.ts +8 -0
  634. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -0
  635. package/dist/components/layout/AdminHeaderActions.js +77 -0
  636. package/dist/components/layout/AdminHeaderActions.js.map +1 -0
  637. package/dist/components/layout/AdminHeaderActions.tsx +155 -0
  638. package/dist/components/layout/AdminSidebar.js +1 -1
  639. package/dist/components/layout/AdminSidebar.js.map +1 -1
  640. package/dist/components/layout/AdminSidebar.tsx +1 -1
  641. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  642. package/dist/components/layout/AdminTopHeader.js +14 -5
  643. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  644. package/dist/components/layout/AdminTopHeader.tsx +35 -28
  645. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  646. package/dist/components/layout/AppSidebar.js +2 -1
  647. package/dist/components/layout/AppSidebar.js.map +1 -1
  648. package/dist/components/layout/AppSidebar.tsx +2 -0
  649. package/dist/components/layout/CustomPagination.js +0 -1
  650. package/dist/components/layout/CustomPagination.js.map +1 -1
  651. package/dist/components/layout/CustomPagination.tsx +0 -1
  652. package/dist/components/layout/FilterMenu.js +1 -1
  653. package/dist/components/layout/FilterMenu.js.map +1 -1
  654. package/dist/components/layout/FilterMenu.tsx +4 -4
  655. package/dist/components/layout/Footer.js +1 -1
  656. package/dist/components/layout/Footer.js.map +1 -1
  657. package/dist/components/layout/Footer.tsx +1 -1
  658. package/dist/components/layout/GlobalSearch.js +1 -1
  659. package/dist/components/layout/GlobalSearch.js.map +1 -1
  660. package/dist/components/layout/GlobalSearch.tsx +1 -1
  661. package/dist/components/layout/ListingHeader.js +3 -3
  662. package/dist/components/layout/ListingHeader.js.map +1 -1
  663. package/dist/components/layout/ListingHeader.tsx +4 -4
  664. package/dist/components/layout/Loader.js +1 -1
  665. package/dist/components/layout/Loader.js.map +1 -1
  666. package/dist/components/layout/Loader.tsx +1 -1
  667. package/dist/components/layout/UserSidebar.js +1 -1
  668. package/dist/components/layout/UserSidebar.js.map +1 -1
  669. package/dist/components/layout/UserSidebar.tsx +1 -1
  670. package/dist/components/layout/navbar-one.js +2 -2
  671. package/dist/components/layout/navbar-one.js.map +1 -1
  672. package/dist/components/layout/navbar-one.tsx +8 -8
  673. package/dist/components/layout/navbar-two-menu.js +2 -2
  674. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  675. package/dist/components/layout/navbar-two-menu.tsx +7 -7
  676. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  677. package/dist/components/layout/user-profile-menu.js +57 -33
  678. package/dist/components/layout/user-profile-menu.js.map +1 -1
  679. package/dist/components/layout/user-profile-menu.tsx +11 -59
  680. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +2 -1
  681. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  682. package/dist/components/shad-cn-ui/SolidAutocomplete.js +60 -6
  683. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  684. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +81 -22
  685. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  686. package/dist/components/shad-cn-ui/SolidButton.js +10 -2
  687. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  688. package/dist/components/shad-cn-ui/SolidButton.tsx +10 -2
  689. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
  690. package/dist/components/shad-cn-ui/SolidCodeEditor.js +3 -1
  691. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
  692. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +3 -0
  693. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  694. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  695. package/dist/components/shad-cn-ui/SolidDatePicker.js +2 -2
  696. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  697. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +4 -0
  698. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  699. package/dist/components/shad-cn-ui/SolidDialog.js +38 -4
  700. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  701. package/dist/components/shad-cn-ui/SolidDialog.tsx +47 -3
  702. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -1
  703. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  704. package/dist/components/shad-cn-ui/SolidIcon.js +1 -0
  705. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  706. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -0
  707. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -1
  708. package/dist/components/shad-cn-ui/SolidPasswordInput.js +1 -1
  709. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -1
  710. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +1 -0
  711. package/dist/components/shad-cn-ui/SolidPopover.d.ts +1 -0
  712. package/dist/components/shad-cn-ui/SolidPopover.d.ts.map +1 -1
  713. package/dist/components/shad-cn-ui/SolidPopover.js +124 -5
  714. package/dist/components/shad-cn-ui/SolidPopover.js.map +1 -1
  715. package/dist/components/shad-cn-ui/SolidPopover.tsx +173 -10
  716. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  717. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  718. package/dist/components/shad-cn-ui/SolidSelect.js +51 -1
  719. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  720. package/dist/components/shad-cn-ui/SolidSelect.tsx +95 -0
  721. package/dist/constants/error-messages.d.ts +13 -0
  722. package/dist/constants/error-messages.d.ts.map +1 -1
  723. package/dist/constants/error-messages.js +17 -0
  724. package/dist/constants/error-messages.js.map +1 -1
  725. package/dist/constants/error-messages.ts +15 -0
  726. package/dist/helpers/buttonEnvironment.d.ts +5 -0
  727. package/dist/helpers/buttonEnvironment.d.ts.map +1 -0
  728. package/dist/helpers/buttonEnvironment.js +30 -0
  729. package/dist/helpers/buttonEnvironment.js.map +1 -0
  730. package/dist/helpers/buttonEnvironment.ts +35 -0
  731. package/dist/helpers/buttonPresentation.d.ts +24 -0
  732. package/dist/helpers/buttonPresentation.d.ts.map +1 -0
  733. package/dist/helpers/buttonPresentation.js +28 -0
  734. package/dist/helpers/buttonPresentation.js.map +1 -0
  735. package/dist/helpers/buttonPresentation.ts +53 -0
  736. package/dist/helpers/fileTypeIcon.d.ts +12 -0
  737. package/dist/helpers/fileTypeIcon.d.ts.map +1 -0
  738. package/dist/helpers/fileTypeIcon.js +37 -0
  739. package/dist/helpers/fileTypeIcon.js.map +1 -0
  740. package/dist/helpers/fileTypeIcon.tsx +65 -0
  741. package/dist/helpers/registry.d.ts.map +1 -1
  742. package/dist/helpers/registry.js +28 -10
  743. package/dist/helpers/registry.js.map +1 -1
  744. package/dist/helpers/registry.ts +31 -13
  745. package/dist/helpers/waitForBackendAvailability.d.ts +7 -0
  746. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -0
  747. package/dist/helpers/waitForBackendAvailability.js +86 -0
  748. package/dist/helpers/waitForBackendAvailability.js.map +1 -0
  749. package/dist/helpers/waitForBackendAvailability.ts +37 -0
  750. package/dist/index.d.ts +8 -9
  751. package/dist/index.d.ts.map +1 -1
  752. package/dist/index.js +6 -8
  753. package/dist/index.js.map +1 -1
  754. package/dist/index.ts +32 -13
  755. package/dist/nextAuth/authProviders.d.ts +4 -0
  756. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  757. package/dist/nextAuth/authProviders.js +198 -0
  758. package/dist/nextAuth/authProviders.js.map +1 -0
  759. package/dist/nextAuth/authProviders.tsx +232 -0
  760. package/dist/nextAuth/handleLogout.d.ts +2 -0
  761. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  762. package/dist/nextAuth/handleLogout.js +36 -0
  763. package/dist/nextAuth/handleLogout.js.map +1 -0
  764. package/dist/nextAuth/handleLogout.tsx +39 -0
  765. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  766. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  767. package/dist/nextAuth/refreshAccessToken.js +24 -0
  768. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  769. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  770. package/dist/redux/api/dashboardRuntimeApi.d.ts +34 -0
  771. package/dist/redux/api/dashboardRuntimeApi.d.ts.map +1 -0
  772. package/dist/redux/api/dashboardRuntimeApi.js +79 -0
  773. package/dist/redux/api/dashboardRuntimeApi.js.map +1 -0
  774. package/dist/redux/api/dashboardRuntimeApi.ts +75 -0
  775. package/dist/redux/api/moduleApi.d.ts +26 -1
  776. package/dist/redux/api/moduleApi.d.ts.map +1 -1
  777. package/dist/redux/api/moduleApi.js +237 -1
  778. package/dist/redux/api/moduleApi.js.map +1 -1
  779. package/dist/redux/api/moduleApi.ts +181 -1
  780. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  781. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  782. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  783. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  784. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  785. package/dist/redux/features/settingsSlice.d.ts +20 -0
  786. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  787. package/dist/redux/features/settingsSlice.js +39 -0
  788. package/dist/redux/features/settingsSlice.js.map +1 -0
  789. package/dist/redux/features/settingsSlice.ts +60 -0
  790. package/dist/redux/store/defaultStoreConfig.d.ts +57 -9
  791. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  792. package/dist/redux/store/defaultStoreConfig.js +2 -6
  793. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  794. package/dist/redux/store/defaultStoreConfig.ts +2 -6
  795. package/dist/redux/store/solidEntityApiPool.d.ts +1 -0
  796. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  797. package/dist/redux/store/solidEntityApiPool.js +4 -0
  798. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  799. package/dist/redux/store/solidEntityApiPool.ts +4 -0
  800. package/dist/resources/globals.css +195 -20
  801. package/dist/resources/shadcn-base.css +392 -175
  802. package/dist/resources/solid-custom.css +6565 -0
  803. package/dist/resources/solid-primereact.css +14 -12
  804. package/dist/resources/solid-responsive.css +259 -51
  805. package/dist/resources/solid-tailwind-generated.css +1 -0
  806. package/dist/resources/solid-tailwind.css +3 -0
  807. package/dist/routes/AppEventListener.d.ts.map +1 -1
  808. package/dist/routes/AppEventListener.js +58 -8
  809. package/dist/routes/AppEventListener.js.map +1 -1
  810. package/dist/routes/AppEventListener.tsx +69 -8
  811. package/dist/routes/pages/admin/core/DashboardPage.d.ts +1 -0
  812. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  813. package/dist/routes/pages/admin/core/DashboardPage.js +860 -5
  814. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  815. package/dist/routes/pages/admin/core/DashboardPage.module.css +219 -0
  816. package/dist/routes/pages/admin/core/DashboardPage.tsx +1025 -7
  817. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts +2 -0
  818. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts.map +1 -0
  819. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js +6 -0
  820. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js.map +1 -0
  821. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.tsx +5 -0
  822. package/dist/routes/pages/auth/SsoPage.js +1 -1
  823. package/dist/routes/pages/auth/SsoPage.js.map +1 -1
  824. package/dist/routes/pages/auth/SsoPage.tsx +1 -1
  825. package/dist/routes/solidRoutes.d.ts.map +1 -1
  826. package/dist/routes/solidRoutes.js +2 -2
  827. package/dist/routes/solidRoutes.js.map +1 -1
  828. package/dist/routes/solidRoutes.tsx +2 -2
  829. package/dist/routes/types.d.ts +1 -1
  830. package/dist/routes/types.d.ts.map +1 -1
  831. package/dist/routes/types.js.map +1 -1
  832. package/dist/routes/types.ts +1 -1
  833. package/dist/styles.d.ts +2 -1
  834. package/dist/styles.d.ts.map +1 -1
  835. package/dist/styles.js +2 -1
  836. package/dist/styles.js.map +1 -1
  837. package/dist/styles.ts +2 -1
  838. package/dist/types/dashboard.d.ts +16 -0
  839. package/dist/types/dashboard.d.ts.map +1 -0
  840. package/dist/types/dashboard.js +2 -0
  841. package/dist/types/dashboard.js.map +1 -0
  842. package/dist/types/dashboard.ts +23 -0
  843. package/dist/types/extension-registry.d.ts +1 -0
  844. package/dist/types/extension-registry.d.ts.map +1 -1
  845. package/dist/types/extension-registry.js +1 -0
  846. package/dist/types/extension-registry.js.map +1 -1
  847. package/dist/types/extension-registry.ts +1 -0
  848. package/dist/types/index.d.ts +3 -0
  849. package/dist/types/jsoneditor.d.ts +4 -0
  850. package/dist/types/solid-core.d.ts +1 -0
  851. package/package.json +9 -3
  852. package/dist/components/core/list/SolidDataTablePagination.d.ts +0 -15
  853. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +0 -1
  854. package/dist/components/core/list/SolidDataTablePagination.js +0 -22
  855. package/dist/components/core/list/SolidDataTablePagination.js.map +0 -1
  856. package/dist/components/core/list/SolidDataTablePagination.tsx +0 -71
  857. package/dist/components/solid-ui/SolidButton.d.ts +0 -14
  858. package/dist/components/solid-ui/SolidButton.d.ts.map +0 -1
  859. package/dist/components/solid-ui/SolidButton.js +0 -36
  860. package/dist/components/solid-ui/SolidButton.js.map +0 -1
  861. package/dist/components/solid-ui/SolidButton.tsx +0 -54
  862. package/dist/components/solid-ui/SolidTabs.d.ts +0 -18
  863. package/dist/components/solid-ui/SolidTabs.d.ts.map +0 -1
  864. package/dist/components/solid-ui/SolidTabs.js +0 -22
  865. package/dist/components/solid-ui/SolidTabs.js.map +0 -1
  866. package/dist/components/solid-ui/SolidTabs.tsx +0 -73
  867. package/dist/components/solid-ui/index.d.ts +0 -3
  868. package/dist/components/solid-ui/index.d.ts.map +0 -1
  869. package/dist/components/solid-ui/index.js +0 -3
  870. package/dist/components/solid-ui/index.js.map +0 -1
  871. package/dist/components/solid-ui/index.ts +0 -2
@@ -1,14 +1,1032 @@
1
- import SolidDashboard from '../../../../components/core/dashboard/SolidDashboard'
2
- import { useParams, useSearchParams } from "react-router-dom";
1
+ import { useEffect, useMemo, useRef, useState } from "react";
2
+ import { useParams } from "react-router-dom";
3
+ import { AlertTriangle, Filter, RefreshCw, Save } from "lucide-react";
4
+ import { GridStack, type GridStackNode } from "gridstack";
5
+ import "gridstack/dist/gridstack.min.css";
6
+ import { getExtensionComponent } from "../../../../helpers/registry";
7
+ import {
8
+ SolidAutocomplete,
9
+ SolidButton,
10
+ SolidDatePicker,
11
+ SolidDialog,
12
+ SolidDialogBody,
13
+ SolidDialogFooter,
14
+ SolidSelect,
15
+ SolidSpinner,
16
+ } from "../../../../components/shad-cn-ui";
17
+ import { resolveChartType } from "../../../../components/core/dashboard/mappers/echartsOptionMapper";
18
+ import {
19
+ useGetDashboardDataMutation,
20
+ useGetDashboardDefinitionQuery,
21
+ useGetDashboardLayoutQuery,
22
+ useLazyGetDashboardVariableOptionsQuery,
23
+ useSaveDashboardLayoutMutation,
24
+ } from "../../../../redux/api/dashboardRuntimeApi";
25
+ import type { DashboardGridLayoutItem, DashboardWidgetComponentProps } from "../../../../types/dashboard";
26
+ import styles from "./DashboardPage.module.css";
27
+
28
+ type Option = {
29
+ label: string;
30
+ value: string;
31
+ };
32
+
33
+ type DateRangeValue = {
34
+ start: Date | null;
35
+ end: Date | null;
36
+ preset?: string;
37
+ };
38
+
39
+ type DashboardVariableValue = string | string[] | DateRangeValue | null | undefined;
40
+
41
+ const normalizeType = (value: unknown): string => `${value ?? ""}`.toLowerCase();
42
+
43
+ const isDateRangeVariable = (variable: any): boolean => {
44
+ const type = normalizeType(variable?.type);
45
+ return type === "date" || type === "daterange" || type === "date_range";
46
+ };
47
+
48
+ const isDynamicVariable = (variable: any): boolean => {
49
+ const type = normalizeType(variable?.type);
50
+ return type === "selectiondynamic" || type === "dynamicselect" || type === "selectdynamic";
51
+ };
52
+
53
+ const isStaticVariable = (variable: any): boolean => {
54
+ const type = normalizeType(variable?.type);
55
+ return type === "selectionstatic" || type === "select" || type === "multiselect";
56
+ };
57
+
58
+ const isMultiValueVariable = (variable: any): boolean => {
59
+ const type = normalizeType(variable?.type);
60
+ return type === "multiselect" || !!variable?.multiple || !!variable?.allowMultiple || !!variable?.isMultiSelect;
61
+ };
62
+
63
+ const toOptions = (options: any[]): Option[] =>
64
+ (options ?? [])
65
+ .map((entry: any) => {
66
+ if (typeof entry === "string") {
67
+ const [value, label] = entry.split(":");
68
+ return { value, label: label ?? value };
69
+ }
70
+ return {
71
+ value: `${entry?.value ?? entry?.id ?? ""}`,
72
+ label: `${entry?.label ?? entry?.name ?? entry?.displayName ?? entry?.value ?? entry?.id ?? ""}`,
73
+ };
74
+ })
75
+ .filter((entry) => !!entry.value);
76
+
77
+ const toIso = (value: Date | null | undefined): string | null => {
78
+ if (!value || Number.isNaN(value.getTime())) return null;
79
+ return value.toISOString();
80
+ };
81
+
82
+ const extractWidgetName = (widgetData: any): string =>
83
+ widgetData?.meta?.widgetName ?? widgetData?.widgetName ?? widgetData?.id ?? "";
84
+
85
+ const sortLayoutItems = (items: DashboardGridLayoutItem[]): DashboardGridLayoutItem[] =>
86
+ [...(items ?? [])].sort((a, b) => {
87
+ const byY = (a?.y ?? 0) - (b?.y ?? 0);
88
+ if (byY !== 0) return byY;
89
+ return (a?.x ?? 0) - (b?.x ?? 0);
90
+ });
91
+
92
+ const MOBILE_DASHBOARD_BREAKPOINT = 960;
93
+ const TABLET_DASHBOARD_BREAKPOINT = 1280;
94
+
95
+ const getResponsiveDashboardColumns = (viewportWidth: number, baseColumns: number): number => {
96
+ const safeBaseColumns = Math.max(1, baseColumns || 1);
97
+ if (viewportWidth < MOBILE_DASHBOARD_BREAKPOINT) return 1;
98
+ if (viewportWidth < TABLET_DASHBOARD_BREAKPOINT) return Math.min(6, safeBaseColumns);
99
+ return safeBaseColumns;
100
+ };
101
+
102
+ const compactLayoutItemsForColumns = (items: DashboardGridLayoutItem[],sourceColumns: number,targetColumns: number): DashboardGridLayoutItem[] => {
103
+ const normalizedSourceColumns = Math.max(1, sourceColumns || 1);
104
+ const normalizedTargetColumns = Math.max(1, targetColumns || 1);
105
+
106
+ if (normalizedTargetColumns >= normalizedSourceColumns) {
107
+ return sortLayoutItems(items);
108
+ }
109
+
110
+ const sortedItems = sortLayoutItems(items);
111
+ const compactedItems: DashboardGridLayoutItem[] = [];
112
+ let cursorX = 0;
113
+ let cursorY = 0;
114
+ let rowHeight = 0;
115
+
116
+ sortedItems.forEach((item) => {
117
+ const widthRatio = normalizedSourceColumns > 0 ? (item.w ?? 1) / normalizedSourceColumns : 1;
118
+ const sourceHeight = Math.max(1, item.h ?? 1);
119
+ const nextWidth =
120
+ normalizedTargetColumns === 1
121
+ ? 1
122
+ : Math.max(
123
+ 1,
124
+ Math.min(
125
+ normalizedTargetColumns,
126
+ item.w >= normalizedSourceColumns ? normalizedTargetColumns : Math.round(widthRatio * normalizedTargetColumns)
127
+ )
128
+ );
129
+ const nextHeight = normalizedTargetColumns === 1 && sourceHeight <= 2 ? 1 : sourceHeight;
130
+
131
+ if (cursorX > 0 && cursorX + nextWidth > normalizedTargetColumns) {
132
+ cursorY += Math.max(rowHeight, 1);
133
+ cursorX = 0;
134
+ rowHeight = 0;
135
+ }
136
+
137
+ const scaledMinWidth =
138
+ item.minW !== undefined
139
+ ? Math.max(
140
+ 1,
141
+ Math.min(
142
+ nextWidth,
143
+ Math.round((Math.max(item.minW, 1) / normalizedSourceColumns) * normalizedTargetColumns) || 1
144
+ )
145
+ )
146
+ : undefined;
147
+ const scaledMinHeight =
148
+ item.minH !== undefined
149
+ ? Math.max(1, Math.min(nextHeight, Math.max(item.minH, 1)))
150
+ : undefined;
151
+
152
+ const normalizedItem: DashboardGridLayoutItem = {
153
+ ...item,
154
+ x: cursorX,
155
+ y: cursorY,
156
+ w: nextWidth,
157
+ h: nextHeight,
158
+ minW: scaledMinWidth,
159
+ minH: scaledMinHeight,
160
+ };
161
+
162
+ compactedItems.push(normalizedItem);
163
+ cursorX += nextWidth;
164
+ rowHeight = Math.max(rowHeight, nextHeight);
165
+
166
+ if (cursorX >= normalizedTargetColumns) {
167
+ cursorY += Math.max(rowHeight, 1);
168
+ cursorX = 0;
169
+ rowHeight = 0;
170
+ }
171
+ });
172
+
173
+ return compactedItems;
174
+ };
175
+
176
+ const toLayoutItems = (items: any[]): DashboardGridLayoutItem[] =>
177
+ (items ?? [])
178
+ .filter((item) => !!(item?.widgetId ?? item?.id))
179
+ .map((item) => ({
180
+ widgetId: item?.widgetId ?? item?.id,
181
+ x: Number(item?.x ?? 0),
182
+ y: Number(item?.y ?? 0),
183
+ w: Number(item?.w ?? 4),
184
+ h: Number(item?.h ?? 3),
185
+ minW: item?.minW !== undefined ? Number(item?.minW) : undefined,
186
+ minH: item?.minH !== undefined ? Number(item?.minH) : undefined,
187
+ }));
188
+
189
+ const getAllLayoutItemsFromGrid = (grid: GridStack | null): DashboardGridLayoutItem[] => {
190
+ if (!grid) return [];
191
+ const snapshot = grid.save(false, false, (node: any, widget: any) => {
192
+ if (!widget.id) {
193
+ widget.id =
194
+ node?.id ??
195
+ node?.el?.getAttribute?.("gs-id") ??
196
+ node?.el?.getAttribute?.("id") ??
197
+ "";
198
+ }
199
+ });
200
+ const widgets = Array.isArray(snapshot) ? snapshot : [];
201
+ const fromSave = toLayoutItems(
202
+ widgets.map((item: any) => ({
203
+ widgetId: item?.id ?? item?.widgetId,
204
+ x: item?.x,
205
+ y: item?.y,
206
+ w: item?.w ?? item?.width,
207
+ h: item?.h ?? item?.height,
208
+ minW: item?.minW,
209
+ minH: item?.minH,
210
+ }))
211
+ );
212
+
213
+ if (fromSave.length > 0) return fromSave;
214
+
215
+ const nodes = Array.isArray((grid as any)?.engine?.nodes) ? (grid as any).engine.nodes : [];
216
+ return toLayoutItems(
217
+ nodes.map((node: any) => ({
218
+ widgetId:
219
+ node?.id ??
220
+ node?.el?.getAttribute?.("gs-id") ??
221
+ node?.el?.getAttribute?.("id"),
222
+ x: node?.x,
223
+ y: node?.y,
224
+ w: node?.w ?? node?.width,
225
+ h: node?.h ?? node?.height,
226
+ minW: node?.minW,
227
+ minH: node?.minH,
228
+ }))
229
+ );
230
+ };
231
+
232
+ const resolveDefaultDashboardWidgetComponentName = (definition: any, runtime: any): string => {
233
+ const runtimeData = runtime?.data ?? runtime ?? {};
234
+ if (runtimeData?.value !== undefined) return "DefaultDashboardKpiWidget";
235
+ if (Array.isArray(runtimeData?.columns) && Array.isArray(runtimeData?.records)) return "DefaultDashboardTableWidget";
236
+
237
+ const chartType = resolveChartType(definition);
238
+ if (chartType === "line") return "DefaultDashboardLineChartWidget";
239
+ if (chartType === "bar") return "DefaultDashboardBarChartWidget";
240
+ if (chartType === "pie") return "DefaultDashboardPieChartWidget";
241
+ return "DefaultDashboardUnknownWidget";
242
+ };
243
+
244
+ const getPreferredWidgetComponentName = (definition: any, runtime: any): string => {
245
+ const explicit =
246
+ definition?.componentName ??
247
+ definition?.widgetComponentName ??
248
+ definition?.renderer?.componentName ??
249
+ definition?.ui?.componentName;
250
+ return explicit || resolveDefaultDashboardWidgetComponentName(definition, runtime);
251
+ };
252
+
253
+ const notifyDashboardChartsToResize = () => {
254
+ if (typeof window === "undefined") return;
255
+ window.requestAnimationFrame(() => {
256
+ window.dispatchEvent(new Event("resize"));
257
+ });
258
+ };
259
+
260
+ const resolvePresetRange = (preset: string | undefined): DateRangeValue => {
261
+ if (!preset) return { start: null, end: null };
262
+ const now = new Date();
263
+ const end = new Date(now);
264
+
265
+ if (preset === "today") {
266
+ const start = new Date(now);
267
+ start.setHours(0, 0, 0, 0);
268
+ return { start, end };
269
+ }
270
+
271
+ if (preset === "last_24_hours") {
272
+ const start = new Date(now);
273
+ start.setHours(start.getHours() - 24);
274
+ return { start, end };
275
+ }
276
+
277
+ if (preset === "last_7_days") {
278
+ const start = new Date(now);
279
+ start.setDate(start.getDate() - 7);
280
+ return { start, end };
281
+ }
282
+
283
+ if (preset === "last_30_days") {
284
+ const start = new Date(now);
285
+ start.setDate(start.getDate() - 30);
286
+ return { start, end };
287
+ }
288
+
289
+ return { start: null, end: null };
290
+ };
291
+
292
+ const parseDateValue = (value: any): Date | null => {
293
+ if (!value) return null;
294
+ const date = new Date(value);
295
+ return Number.isNaN(date.getTime()) ? null : date;
296
+ };
297
+
298
+ const getDatePresetOptions = (variable: any): Option[] => {
299
+ const metadataPresets = variable?.presetValues ?? variable?.presets ?? variable?.datePresets;
300
+ const builtIns: Option[] = [
301
+ { value: "today", label: "Today" },
302
+ { value: "last_24_hours", label: "Last 24 Hours" },
303
+ { value: "last_7_days", label: "Last 7 Days" },
304
+ { value: "last_30_days", label: "Last 30 Days" },
305
+ ];
306
+
307
+ const source = Array.isArray(metadataPresets) && metadataPresets.length ? metadataPresets : builtIns;
308
+ const normalized = source
309
+ .map((entry: any) => {
310
+ if (typeof entry === "string") {
311
+ const [value, label] = entry.split(":");
312
+ const cleaned = `${value ?? ""}`.trim();
313
+ if (!cleaned) return null;
314
+ return { value: cleaned, label: `${label ?? cleaned}` };
315
+ }
316
+ const value = `${entry?.value ?? entry?.id ?? ""}`.trim();
317
+ if (!value) return null;
318
+ const label = `${entry?.label ?? entry?.displayName ?? value}`;
319
+ return { value, label };
320
+ })
321
+ .filter(Boolean) as Option[];
322
+
323
+ if (!normalized.find((entry) => entry.value === "custom")) {
324
+ normalized.push({ value: "custom", label: "Custom" });
325
+ }
326
+ return normalized;
327
+ };
328
+
329
+ const buildDefaultFilterValues = (variables: any[]): Record<string, DashboardVariableValue> => {
330
+ const defaults: Record<string, DashboardVariableValue> = {};
331
+
332
+ variables.forEach((variable: any) => {
333
+ const name = variable?.name;
334
+ if (!name) return;
335
+
336
+ if (isDateRangeVariable(variable)) {
337
+ const presetRange = resolvePresetRange(variable?.defaultValue?.preset ?? variable?.defaultValuePreset);
338
+ const start = parseDateValue(variable?.defaultValue?.start ?? variable?.defaultValue?.from) ?? presetRange.start;
339
+ const end = parseDateValue(variable?.defaultValue?.end ?? variable?.defaultValue?.to) ?? presetRange.end;
340
+ const preset =
341
+ `${variable?.defaultValue?.preset ?? variable?.defaultValuePreset ?? ""}`.trim() ||
342
+ (start || end ? "custom" : "custom");
343
+ defaults[name] = { start, end, preset };
344
+ return;
345
+ }
346
+
347
+ if (isMultiValueVariable(variable)) {
348
+ const base = variable?.defaultValue;
349
+ defaults[name] = Array.isArray(base) ? base.map((entry: any) => `${entry}`) : [];
350
+ return;
351
+ }
352
+
353
+ if (variable?.defaultValue !== undefined && variable?.defaultValue !== null) {
354
+ defaults[name] = `${variable.defaultValue}`;
355
+ return;
356
+ }
357
+
358
+ defaults[name] = "";
359
+ });
360
+
361
+ return defaults;
362
+ };
363
+
364
+ const buildClearedFilterValues = (variables: any[]): Record<string, DashboardVariableValue> => {
365
+ const cleared: Record<string, DashboardVariableValue> = {};
366
+
367
+ variables.forEach((variable: any) => {
368
+ const name = variable?.name;
369
+ if (!name) return;
370
+
371
+ if (isDateRangeVariable(variable)) {
372
+ cleared[name] = { start: null, end: null, preset: "custom" };
373
+ return;
374
+ }
375
+
376
+ if (isMultiValueVariable(variable)) {
377
+ cleared[name] = [];
378
+ return;
379
+ }
380
+
381
+ cleared[name] = "";
382
+ });
383
+
384
+ return cleared;
385
+ };
386
+
387
+ const isFilterValueApplied = (variable: any, value: DashboardVariableValue): boolean => {
388
+ if (isDateRangeVariable(variable)) {
389
+ const range = value as DateRangeValue | undefined;
390
+ return !!range?.start || !!range?.end;
391
+ }
392
+
393
+ if (isMultiValueVariable(variable)) {
394
+ return Array.isArray(value) && value.length > 0;
395
+ }
396
+
397
+ return value !== undefined && value !== null && `${value}`.trim() !== "";
398
+ };
399
+
400
+ const isSameFilterValue = (variable: any, left: DashboardVariableValue, right: DashboardVariableValue): boolean => {
401
+ if (isDateRangeVariable(variable)) {
402
+ const leftRange = (left as DateRangeValue | undefined) ?? { start: null, end: null };
403
+ const rightRange = (right as DateRangeValue | undefined) ?? { start: null, end: null };
404
+ return toIso(leftRange.start) === toIso(rightRange.start) && toIso(leftRange.end) === toIso(rightRange.end);
405
+ }
406
+
407
+ if (isMultiValueVariable(variable)) {
408
+ const leftArr = Array.isArray(left) ? left.map((v) => `${v}`).sort() : [];
409
+ const rightArr = Array.isArray(right) ? right.map((v) => `${v}`).sort() : [];
410
+ if (leftArr.length !== rightArr.length) return false;
411
+ return leftArr.every((value, index) => value === rightArr[index]);
412
+ }
413
+
414
+ return `${left ?? ""}` === `${right ?? ""}`;
415
+ };
416
+
417
+ const getDashboardTitle = (definition: any, fallback: string) =>
418
+ definition?.displayName ?? definition?.title ?? definition?.name ?? fallback;
419
+
420
+ const getWidgetTitle = (widget: any, fallback: string) =>
421
+ widget?.displayName ?? widget?.title ?? widget?.name ?? fallback;
422
+
423
+ const isUnauthorizedWidgetRuntime = (runtime: any): boolean =>
424
+ !!(runtime?.meta?.unauthorized || runtime?.uiHints?.state === "unauthorized");
3
425
 
4
426
  export function DashboardPage() {
5
- const params = useParams();
427
+ const params = useParams();
428
+ const moduleName = params.moduleName ?? "";
429
+ const dashboardName = params.dashboardName ?? "";
430
+ const gridRef = useRef<HTMLDivElement | null>(null);
431
+ const gridInstanceRef = useRef<GridStack | null>(null);
432
+
433
+ const { data: definition, isLoading: definitionLoading } = useGetDashboardDefinitionQuery(
434
+ { moduleName, dashboardName },
435
+ { skip: !moduleName || !dashboardName }
436
+ );
437
+
438
+ const { data: layoutData } = useGetDashboardLayoutQuery(
439
+ { moduleName, dashboardName },
440
+ { skip: !moduleName || !dashboardName }
441
+ );
442
+
443
+ const [getDashboardData, { data: dashboardData, isLoading: dataLoading, error: dataError }] = useGetDashboardDataMutation();
444
+ const [saveDashboardLayout, { isLoading: saveLayoutLoading }] = useSaveDashboardLayoutMutation();
445
+ const [getVariableOptions] = useLazyGetDashboardVariableOptionsQuery();
446
+
447
+ const [appliedVariableValues, setAppliedVariableValues] = useState<Record<string, DashboardVariableValue>>({});
448
+ const [filterDraftValues, setFilterDraftValues] = useState<Record<string, DashboardVariableValue>>({});
449
+ const [dynamicOptions, setDynamicOptions] = useState<Record<string, Option[]>>({});
450
+ const [draftLayoutItems, setDraftLayoutItems] = useState<DashboardGridLayoutItem[] | null>(null);
451
+ const [isFilterDialogOpen, setIsFilterDialogOpen] = useState(false);
452
+ const [viewportWidth, setViewportWidth] = useState<number>(() =>
453
+ typeof window === "undefined" ? TABLET_DASHBOARD_BREAKPOINT : window.innerWidth
454
+ );
455
+ const bootstrappedRef = useRef(false);
456
+
457
+ const variables = useMemo(() => (Array.isArray(definition?.variables) ? definition.variables : []), [definition]);
458
+ const definitionWidgets = useMemo(() => (Array.isArray(definition?.widgets) ? definition.widgets : []), [definition]);
459
+ const effectiveLayoutItems = useMemo(() => toLayoutItems(layoutData?.effectiveLayout?.items ?? []), [layoutData]);
460
+ const gridColumns = Number(layoutData?.effectiveLayout?.columns ?? 12) || 12;
461
+ const activeGridColumns = useMemo(
462
+ () => getResponsiveDashboardColumns(viewportWidth, gridColumns),
463
+ [gridColumns, viewportWidth]
464
+ );
465
+ const isCompactLayout = activeGridColumns !== gridColumns;
466
+
467
+ const defaultFilterValues = useMemo(() => buildDefaultFilterValues(variables), [variables]);
468
+
469
+ useEffect(() => {
470
+ const handleViewportResize = () => {
471
+ setViewportWidth(window.innerWidth);
472
+ };
473
+
474
+ handleViewportResize();
475
+ window.addEventListener("resize", handleViewportResize);
476
+ return () => window.removeEventListener("resize", handleViewportResize);
477
+ }, []);
478
+
479
+ useEffect(() => {
480
+ if (!definition || bootstrappedRef.current) return;
481
+ setAppliedVariableValues(defaultFilterValues);
482
+ setFilterDraftValues(defaultFilterValues);
483
+ bootstrappedRef.current = true;
484
+ }, [definition, defaultFilterValues]);
485
+
486
+ useEffect(() => {
487
+ if (!isFilterDialogOpen) return;
488
+ setFilterDraftValues(appliedVariableValues);
489
+ }, [appliedVariableValues, isFilterDialogOpen]);
490
+
491
+ useEffect(() => {
492
+ if (!moduleName || !dashboardName || variables.length === 0) return;
493
+ const dynamicVariables = variables.filter((variable: any) => isDynamicVariable(variable));
494
+ dynamicVariables.forEach((variable: any) => {
495
+ const variableName = variable?.name;
496
+ if (!variableName) return;
497
+ void getVariableOptions({ moduleName, dashboardName, variableName, limit: 100 })
498
+ .unwrap()
499
+ .then((response) => {
500
+ setDynamicOptions((prev) => ({ ...prev, [variableName]: toOptions(Array.isArray(response) ? response : []) }));
501
+ })
502
+ .catch(() => {
503
+ setDynamicOptions((prev) => ({ ...prev, [variableName]: [] }));
504
+ });
505
+ });
506
+ }, [dashboardName, getVariableOptions, moduleName, variables]);
507
+
508
+ const handleDynamicOptionsSearch = async (variableName: string, query: string) => {
509
+ if (!moduleName || !dashboardName || !variableName) return;
510
+ try {
511
+ const response = await getVariableOptions({ moduleName, dashboardName, variableName, query, limit: 100 }).unwrap();
512
+ setDynamicOptions((prev) => ({ ...prev, [variableName]: toOptions(Array.isArray(response) ? response : []) }));
513
+ } catch {
514
+ setDynamicOptions((prev) => ({ ...prev, [variableName]: [] }));
515
+ }
516
+ };
517
+
518
+ useEffect(() => {
519
+ if (!bootstrappedRef.current || !moduleName || !dashboardName) return;
520
+ void handleRefresh(appliedVariableValues);
521
+ // eslint-disable-next-line react-hooks/exhaustive-deps
522
+ }, [moduleName, dashboardName, bootstrappedRef.current]);
523
+
524
+ const widgetDefinitionMap = useMemo(() => {
525
+ const map = new Map<string, any>();
526
+ definitionWidgets.forEach((widget: any) => {
527
+ if (widget?.id) map.set(widget.id, widget);
528
+ if (widget?.name) map.set(widget.name, widget);
529
+ });
530
+ return map;
531
+ }, [definitionWidgets]);
532
+
533
+ const widgetDataMap = useMemo(() => {
534
+ const map = new Map<string, any>();
535
+ const rows = Array.isArray(dashboardData?.widgets) ? dashboardData.widgets : [];
536
+ rows.forEach((row: any) => {
537
+ const name = extractWidgetName(row);
538
+ if (name) map.set(name, row);
539
+ });
540
+ return map;
541
+ }, [dashboardData]);
542
+
543
+ const orderedWidgets = useMemo(() => {
544
+ const layoutItems = sortLayoutItems(effectiveLayoutItems);
545
+ if (!layoutItems.length) return definitionWidgets;
546
+
547
+ const seen = new Set<string>();
548
+ const arranged: any[] = [];
549
+ layoutItems.forEach((item: DashboardGridLayoutItem) => {
550
+ const key = item?.widgetId;
551
+ const definitionWidget = widgetDefinitionMap.get(key);
552
+ if (!definitionWidget || seen.has(key)) return;
553
+ arranged.push(definitionWidget);
554
+ seen.add(key);
555
+ });
556
+
557
+ definitionWidgets.forEach((widget: any) => {
558
+ const key = widget?.id ?? widget?.name;
559
+ if (!key || seen.has(key)) return;
560
+ arranged.push(widget);
561
+ });
562
+
563
+ return arranged;
564
+ }, [definitionWidgets, effectiveLayoutItems, widgetDefinitionMap]);
565
+
566
+ const widgetLayoutMap = useMemo(() => {
567
+ const map = new Map<string, DashboardGridLayoutItem>();
568
+ effectiveLayoutItems.forEach((item) => map.set(item.widgetId, item));
569
+ return map;
570
+ }, [effectiveLayoutItems]);
571
+
572
+ const baseLayoutItems = useMemo(() => {
573
+ if (effectiveLayoutItems.length) return effectiveLayoutItems;
574
+ return orderedWidgets.map((widget: any, index: number) => ({
575
+ widgetId: widget?.id ?? widget?.name ?? `widget-${index}`,
576
+ x: 0,
577
+ y: index * 3,
578
+ w: 4,
579
+ h: 3,
580
+ }));
581
+ }, [effectiveLayoutItems, orderedWidgets]);
582
+
583
+ const renderedLayoutItems = useMemo(
584
+ () =>
585
+ compactLayoutItemsForColumns(
586
+ baseLayoutItems,
587
+ gridColumns,
588
+ activeGridColumns
589
+ ),
590
+ [activeGridColumns, baseLayoutItems, gridColumns]
591
+ );
592
+
593
+ const renderedWidgetLayoutMap = useMemo(() => {
594
+ const map = new Map<string, DashboardGridLayoutItem>();
595
+ renderedLayoutItems.forEach((item) => map.set(item.widgetId, item));
596
+ return map;
597
+ }, [renderedLayoutItems]);
598
+
599
+ const appliedFilterCount = useMemo(() => {
600
+ return variables.reduce((count: number, variable: any) => {
601
+ const name = variable?.name;
602
+ if (!name) return count;
603
+ const value = appliedVariableValues[name];
604
+ const defaultValue = defaultFilterValues[name];
605
+ if (!isFilterValueApplied(variable, value)) return count;
606
+ return isSameFilterValue(variable, value, defaultValue) ? count : count + 1;
607
+ }, 0);
608
+ }, [appliedVariableValues, defaultFilterValues, variables]);
609
+
610
+ useEffect(() => {
611
+ if (!gridRef.current || orderedWidgets.length === 0) return;
612
+
613
+ if (gridInstanceRef.current) {
614
+ gridInstanceRef.current.destroy(false);
615
+ gridInstanceRef.current = null;
616
+ }
617
+
618
+ const initialLayout: DashboardGridLayoutItem[] = renderedLayoutItems.length ? renderedLayoutItems : baseLayoutItems;
619
+
620
+ const gridWidgets = initialLayout.map((item: DashboardGridLayoutItem) => ({
621
+ id: item.widgetId,
622
+ x: item.x,
623
+ y: item.y,
624
+ w: item.w,
625
+ h: item.h,
626
+ minW: item.minW,
627
+ minH: item.minH,
628
+ }));
629
+
630
+ const instance = GridStack.init(
631
+ {
632
+ column: activeGridColumns,
633
+ cellHeight: activeGridColumns === 1 ? 90 : 92,
634
+ margin: activeGridColumns === 1 ? 10 : 8,
635
+ float: true,
636
+ disableDrag: isCompactLayout,
637
+ disableResize: isCompactLayout,
638
+ },
639
+ gridRef.current
640
+ );
641
+
642
+ // React renders the DOM; make sure Gridstack converts every item node to a widget,
643
+ // then explicitly apply layout from API to avoid attribute-parsing or timing issues.
644
+ instance.batchUpdate();
645
+ const domItems = Array.from(gridRef.current.querySelectorAll(".grid-stack-item")) as HTMLElement[];
646
+ domItems.forEach((itemEl) => {
647
+ if (!(itemEl as any).gridstackNode) {
648
+ instance.makeWidget(itemEl as any);
649
+ }
650
+ });
651
+ instance.column(activeGridColumns, "none");
652
+ instance.load(gridWidgets as any, false);
653
+ instance.batchUpdate(false);
654
+ notifyDashboardChartsToResize();
655
+ window.setTimeout(notifyDashboardChartsToResize, 60);
656
+
657
+ instance.on("change", (_event: Event, _items: GridStackNode[]) => {
658
+ const normalized = getAllLayoutItemsFromGrid(instance);
659
+ setDraftLayoutItems(normalized);
660
+ notifyDashboardChartsToResize();
661
+ });
662
+ instance.on("resizestop", () => notifyDashboardChartsToResize());
663
+ instance.on("dragstop", () => notifyDashboardChartsToResize());
664
+
665
+ gridInstanceRef.current = instance;
666
+ return () => {
667
+ instance.destroy(false);
668
+ if (gridInstanceRef.current === instance) gridInstanceRef.current = null;
669
+ };
670
+ }, [activeGridColumns, baseLayoutItems, isCompactLayout, orderedWidgets, renderedLayoutItems]);
671
+
672
+ const handleDraftVariableChange = (variableName: string, value: DashboardVariableValue) => {
673
+ setFilterDraftValues((prev) => ({ ...prev, [variableName]: value }));
674
+ };
675
+
676
+ const buildPayloadVariables = (values: Record<string, DashboardVariableValue>): Record<string, any> => {
677
+ const payload: Record<string, any> = {};
678
+ variables.forEach((variable: any) => {
679
+ const name = variable?.name;
680
+ if (!name) return;
681
+ const value = values[name];
682
+
683
+ if (isDateRangeVariable(variable)) {
684
+ const range = value as DateRangeValue | undefined;
685
+ const from = toIso(range?.start ?? null);
686
+ const to = toIso(range?.end ?? null);
687
+ if (!from && !to) return;
688
+ payload[name] = { from, to };
689
+ return;
690
+ }
691
+
692
+ if (isMultiValueVariable(variable)) {
693
+ const list = Array.isArray(value) ? value.filter(Boolean) : [];
694
+ if (!list.length) return;
695
+ payload[name] = list;
696
+ return;
697
+ }
698
+
699
+ if (value === undefined || value === null || value === "") return;
700
+ payload[name] = value;
701
+ });
702
+ return payload;
703
+ };
704
+
705
+ async function handleRefresh(values = appliedVariableValues) {
706
+ if (!moduleName || !dashboardName) return;
707
+ await getDashboardData({
708
+ moduleName,
709
+ dashboardName,
710
+ variables: buildPayloadVariables(values),
711
+ }).unwrap();
712
+ }
713
+
714
+ async function handleApplyFilters() {
715
+ const nextValues = { ...filterDraftValues };
716
+ setAppliedVariableValues(nextValues);
717
+ setIsFilterDialogOpen(false);
718
+ await handleRefresh(nextValues);
719
+ }
720
+
721
+ async function handleClearFilters() {
722
+ const clearedValues = buildClearedFilterValues(variables);
723
+ setFilterDraftValues(clearedValues);
724
+ setAppliedVariableValues(clearedValues);
725
+ setIsFilterDialogOpen(false);
726
+ await handleRefresh(clearedValues);
727
+ }
728
+
729
+ async function handleSaveLayout() {
730
+ if (!moduleName || !dashboardName) return;
731
+ if (isCompactLayout) return;
732
+ const liveGridLayout = getAllLayoutItemsFromGrid(gridInstanceRef.current);
733
+ const baseLayout = effectiveLayoutItems.length ? effectiveLayoutItems : [];
734
+ const items = liveGridLayout.length
735
+ ? liveGridLayout
736
+ : draftLayoutItems && draftLayoutItems.length
737
+ ? draftLayoutItems
738
+ : baseLayout;
739
+
740
+ await saveDashboardLayout({
741
+ moduleName,
742
+ dashboardName,
743
+ layout: {
744
+ engine: "gridstack",
745
+ columns: gridColumns,
746
+ items,
747
+ },
748
+ }).unwrap();
749
+
750
+ setDraftLayoutItems(null);
751
+ }
752
+
753
+ const renderVariable = (variable: any) => {
754
+ const variableName = variable?.name;
755
+ if (!variableName) return null;
756
+
757
+ const value = filterDraftValues[variableName];
758
+ const label = variable?.displayName ?? variable?.label ?? variableName;
759
+
760
+ if (isDateRangeVariable(variable)) {
761
+ const range = (value as DateRangeValue | undefined) ?? { start: null, end: null };
762
+ const presetOptions = getDatePresetOptions(variable);
763
+ const preset = range?.preset && presetOptions.some((entry) => entry.value === range.preset) ? range.preset : "custom";
764
+ return (
765
+ <div key={variableName} className={styles.filterField}>
766
+ <label className={styles.filterLabel}>{label}</label>
767
+ <SolidSelect
768
+ value={preset}
769
+ options={presetOptions}
770
+ optionLabel="label"
771
+ optionValue="value"
772
+ placeholder={`Select ${label} preset`}
773
+ onChange={(event) => {
774
+ const selectedPreset = `${event?.value ?? "custom"}`;
775
+ if (selectedPreset === "custom") {
776
+ handleDraftVariableChange(variableName, {
777
+ start: range.start ?? null,
778
+ end: range.end ?? null,
779
+ preset: "custom",
780
+ });
781
+ return;
782
+ }
783
+ const nextRange = resolvePresetRange(selectedPreset);
784
+ handleDraftVariableChange(variableName, {
785
+ start: nextRange.start ?? null,
786
+ end: nextRange.end ?? null,
787
+ preset: selectedPreset,
788
+ });
789
+ }}
790
+ />
791
+ {preset === "custom" ? (
792
+ <div className={styles.dateRange}>
793
+ <SolidDatePicker
794
+ selected={range.start ?? null}
795
+ inputClassName="w-full"
796
+ onChange={(next: Date | null) =>
797
+ handleDraftVariableChange(variableName, {
798
+ start: next ?? null,
799
+ end: range.end ?? null,
800
+ preset: "custom",
801
+ })
802
+ }
803
+ placeholderText="Start date"
804
+ dateFormat="yyyy-MM-dd"
805
+ />
806
+ <SolidDatePicker
807
+ selected={range.end ?? null}
808
+ inputClassName="w-full"
809
+ onChange={(next: Date | null) =>
810
+ handleDraftVariableChange(variableName, {
811
+ start: range.start ?? null,
812
+ end: next ?? null,
813
+ preset: "custom",
814
+ })
815
+ }
816
+ placeholderText="End date"
817
+ dateFormat="yyyy-MM-dd"
818
+ />
819
+ </div>
820
+ ) : null}
821
+ </div>
822
+ );
823
+ }
824
+
825
+ if (isMultiValueVariable(variable)) {
826
+ const baseOptions = isDynamicVariable(variable)
827
+ ? (dynamicOptions[variableName] ?? [])
828
+ : toOptions(variable?.selectionStaticValues ?? variable?.options ?? []);
829
+ const selectedValues = Array.isArray(value) ? value : [];
830
+ return (
831
+ <div key={variableName} className={styles.filterField}>
832
+ <label className={styles.filterLabel}>{label}</label>
833
+ <SolidAutocomplete
834
+ multiple
835
+ dropdown
836
+ field="label"
837
+ className="w-full"
838
+ inputClassName="w-full"
839
+ value={baseOptions.filter((option) => selectedValues.includes(option.value))}
840
+ suggestions={baseOptions}
841
+ completeMethod={() => Promise.resolve()}
842
+ placeholder={`Select ${label}`}
843
+ onChange={(event: { value: any }) => {
844
+ const selected = Array.isArray(event?.value)
845
+ ? event.value
846
+ .map((entry: any) => `${entry?.value ?? entry?.id ?? entry ?? ""}`)
847
+ .filter((entry: string) => !!entry)
848
+ : [];
849
+ handleDraftVariableChange(variableName, selected);
850
+ }}
851
+ />
852
+ </div>
853
+ );
854
+ }
855
+
856
+ if (isDynamicVariable(variable)) {
857
+ const options = dynamicOptions[variableName] ?? [];
858
+ const selectedValue = typeof value === "string" ? value : "";
859
+ const selectedOption = options.find((entry) => `${entry.value}` === selectedValue) ?? null;
860
+
861
+ return (
862
+ <div key={variableName} className={styles.filterField}>
863
+ <label className={styles.filterLabel}>{label}</label>
864
+ <SolidAutocomplete
865
+ dropdown
866
+ field="label"
867
+ className="w-full"
868
+ inputClassName="w-full"
869
+ value={selectedOption}
870
+ suggestions={options}
871
+ completeMethod={({ query }) => handleDynamicOptionsSearch(variableName, query)}
872
+ placeholder={`Select ${label}`}
873
+ onChange={(event: { value: any }) => {
874
+ const selected = event?.value;
875
+ const nextValue = selected?.value ?? selected?.id ?? "";
876
+ handleDraftVariableChange(variableName, nextValue ? `${nextValue}` : "");
877
+ }}
878
+ />
879
+ </div>
880
+ );
881
+ }
882
+
883
+ const options = isDynamicVariable(variable)
884
+ ? (dynamicOptions[variableName] ?? [])
885
+ : isStaticVariable(variable)
886
+ ? toOptions(variable?.selectionStaticValues ?? variable?.options ?? [])
887
+ : [];
6
888
 
7
- const dashboardName = params.dashboardName;
8
- const moduleName = params.moduleName as string;
9
889
  return (
10
- <div>
11
- <SolidDashboard moduleName={moduleName} dashboardName={dashboardName} />
890
+ <div key={variableName} className={styles.filterField}>
891
+ <label className={styles.filterLabel}>{label}</label>
892
+ <SolidSelect
893
+ value={typeof value === "string" ? value : ""}
894
+ options={options}
895
+ optionLabel="label"
896
+ optionValue="value"
897
+ placeholder={`Select ${label}`}
898
+ onChange={(event) => handleDraftVariableChange(variableName, event.value ? `${event.value}` : "")}
899
+ />
900
+ </div>
901
+ );
902
+ };
903
+
904
+ const renderWidgetBody = (widgetDefinition: any, runtime: any) => {
905
+ if (isUnauthorizedWidgetRuntime(runtime)) {
906
+ return (
907
+ <div className={styles.widgetUnauthorizedState}>
908
+ <AlertTriangle size={18} className={styles.widgetUnauthorizedIcon} />
909
+ <span className={styles.widgetUnauthorizedText}>
910
+ {runtime?.uiHints?.message ?? "Unauthorized"}
911
+ </span>
12
912
  </div>
913
+ );
914
+ }
915
+
916
+ const componentName = getPreferredWidgetComponentName(widgetDefinition, runtime);
917
+ const ExtensionWidget = getExtensionComponent(componentName);
918
+ if (!ExtensionWidget) {
919
+ const UnknownWidget = getExtensionComponent("DefaultDashboardUnknownWidget");
920
+ if (!UnknownWidget) return <pre>{JSON.stringify(runtime?.data ?? runtime ?? {}, null, 2)}</pre>;
921
+ return <UnknownWidget definition={widgetDefinition} runtime={runtime} variables={appliedVariableValues} />;
922
+ }
923
+ return (
924
+ <ExtensionWidget
925
+ {...({ definition: widgetDefinition, runtime, variables: appliedVariableValues } satisfies DashboardWidgetComponentProps)}
926
+ />
927
+ );
928
+ };
929
+
930
+ if (definitionLoading) {
931
+ return (
932
+ <div className={styles.page}>
933
+ <SolidSpinner />
934
+ </div>
13
935
  );
936
+ }
937
+
938
+ return (
939
+ <div className={styles.page}>
940
+ <div className={styles.header}>
941
+ <div className={styles.titleBlock}>
942
+ <h1 className={styles.title}>{getDashboardTitle(definition, dashboardName)}</h1>
943
+ <p className={styles.subtitle}>{definition?.description ?? `${moduleName} / ${dashboardName}`}</p>
944
+ </div>
945
+
946
+ <div className={styles.headerActions}>
947
+ <div className={styles.filterButtonWrap}>
948
+ <SolidButton
949
+ className={styles.iconButton}
950
+ leftIcon={<Filter size={16} />}
951
+ onClick={() => setIsFilterDialogOpen(true)}
952
+ tooltip="Filters"
953
+ aria-label="Filters"
954
+ />
955
+ {appliedFilterCount > 0 ? <span className={styles.filterCountBadge}>{appliedFilterCount}</span> : null}
956
+ </div>
957
+
958
+ <SolidButton
959
+ className={styles.iconButton}
960
+ leftIcon={<RefreshCw size={16} />}
961
+ onClick={() => void handleRefresh()}
962
+ disabled={dataLoading}
963
+ tooltip="Refresh"
964
+ aria-label="Refresh"
965
+ />
966
+
967
+ <SolidButton
968
+ className={styles.iconButton}
969
+ leftIcon={<Save size={16} />}
970
+ onClick={() => void handleSaveLayout()}
971
+ disabled={saveLayoutLoading || isCompactLayout}
972
+ tooltip="Save Layout"
973
+ aria-label="Save Layout"
974
+ />
975
+ </div>
976
+ </div>
977
+
978
+ <SolidDialog
979
+ open={isFilterDialogOpen}
980
+ onOpenChange={setIsFilterDialogOpen}
981
+ header="Dashboard Filters"
982
+ contentClassName={styles.filterDialogContent}
983
+ >
984
+ <SolidDialogBody>
985
+ <div className={styles.filterModalColumn}>{variables.map(renderVariable)}</div>
986
+ </SolidDialogBody>
987
+ <SolidDialogFooter className={styles.filterModalActions}>
988
+ <SolidButton variant="outline" onClick={() => void handleClearFilters()}>
989
+ Clear
990
+ </SolidButton>
991
+ <SolidButton onClick={() => void handleApplyFilters()}>
992
+ Apply
993
+ </SolidButton>
994
+ </SolidDialogFooter>
995
+ </SolidDialog>
996
+
997
+ {dataError ? <p className={styles.error}>Failed to load dashboard data.</p> : null}
998
+
999
+ <div
1000
+ ref={gridRef}
1001
+ className={`grid-stack ${styles.gridStack} ${isCompactLayout ? styles.gridStackCompact : ""}`}
1002
+ >
1003
+ {orderedWidgets.map((widget: any) => {
1004
+ const widgetName = widget?.id ?? widget?.name;
1005
+ const runtime = widgetDataMap.get(widgetName);
1006
+ const slot = renderedWidgetLayoutMap.get(widgetName) ?? widgetLayoutMap.get(widgetName);
1007
+
1008
+ return (
1009
+ <div
1010
+ key={widgetName}
1011
+ className="grid-stack-item"
1012
+ gs-id={widgetName}
1013
+ gs-x={slot?.x ?? 0}
1014
+ gs-y={slot?.y ?? 0}
1015
+ gs-w={slot?.w ?? 4}
1016
+ gs-h={slot?.h ?? 3}
1017
+ gs-min-w={slot?.minW ?? 2}
1018
+ gs-min-h={slot?.minH ?? 2}
1019
+ >
1020
+ <div className={`grid-stack-item-content ${styles.widgetCard}`}>
1021
+ <h3 className={styles.widgetTitle}>{getWidgetTitle(widget, widgetName)}</h3>
1022
+ <div className={styles.widgetBody}>
1023
+ {runtime ? renderWidgetBody(widget, runtime) : <p className={styles.muted}>No data</p>}
1024
+ </div>
1025
+ </div>
1026
+ </div>
1027
+ );
1028
+ })}
1029
+ </div>
1030
+ </div>
1031
+ );
14
1032
  }