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

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
@@ -1330,8 +1330,8 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1330
1330
  const end = total === 0 ? 0 : Math.min(offset + limit, total);
1331
1331
 
1332
1332
  return (
1333
- <div className="w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background">
1334
- <div className="solid-paginator-meta flex items-center gap-2 ml-auto">
1333
+ <div className="w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background">
1334
+ <div className="solid-paginator-meta flex items-center gap-2 sm:ml-auto">
1335
1335
  <span className="solid-paginator-label">Rows</span>
1336
1336
  <select
1337
1337
  value={limit}
@@ -1480,7 +1480,7 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1480
1480
  customContextMenuButtons.length > 0;
1481
1481
 
1482
1482
  return (
1483
- <div className="flex align-items-center justify-content-end gap-1" onClick={(event) => event.stopPropagation()}>
1483
+ <div className="flex items-center justify-end gap-1" onClick={(event) => event.stopPropagation()}>
1484
1484
 
1485
1485
  {/* ---------------- CUSTOM ROW BUTTONS ---------------- */}
1486
1486
  {solidTreeViewLayout?.attrs?.rowButtons &&
@@ -1570,7 +1570,11 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1570
1570
  <EllipsisVertical size={16} />
1571
1571
  </button>
1572
1572
  </SolidDropdownMenuTrigger>
1573
- <SolidDropdownMenuContent className="solid-tree-row-menu">
1573
+ <SolidDropdownMenuContent
1574
+ className="solid-tree-row-menu"
1575
+ side="left"
1576
+ align="center"
1577
+ >
1574
1578
  {canEditRow(rowData, true) ? (
1575
1579
  <SolidDropdownMenuItem onSelect={() => openRowForEdit(rowData, "edit")}>
1576
1580
  <Pencil size={14} />
@@ -1579,7 +1583,7 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1579
1583
  ) : null}
1580
1584
  {canDeleteRow(rowData, true) && !params.embeded ? (
1581
1585
  <SolidDropdownMenuItem
1582
- className="is-danger"
1586
+ className="is-danger solid-header-dropdown-item-danger"
1583
1587
  onSelect={() => {
1584
1588
  setSelectedSolidViewData(rowData);
1585
1589
  setDeleteEntity(true);
@@ -1620,13 +1624,13 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1620
1624
 
1621
1625
  return (
1622
1626
  <div className="page-parent-wrapper solid-list-page-wrapper solid-tree-page-wrapper flex h-full min-h-0 overflow-hidden">
1623
- <div className="solid-list-content h-full flex flex-column flex-grow-1">
1624
- <div className="solid-list-surface solid-tree-surface flex flex-column flex-1 min-h-0">
1627
+ <div className="solid-list-content h-full flex flex-col flex-grow-1">
1628
+ <div className="solid-list-surface solid-tree-surface flex flex-col flex-1 min-h-0">
1625
1629
  {/* ── Header ── */}
1626
- <div className="page-header solid-list-toolbar solid-tree-toolbar flex-column lg:flex-row">
1627
- <div className="flex justify-content-between w-full">
1628
- <div className="flex gap-3 align-items-center w-full solid-list-toolbar-left">
1629
- <div className="flex align-items-center gap-2">
1630
+ <div className="page-header solid-list-toolbar solid-tree-toolbar flex-col lg:flex-row">
1631
+ <div className="flex justify-between w-full">
1632
+ <div className="flex gap-4 items-center w-full solid-list-toolbar-left">
1633
+ <div className="flex items-center gap-2">
1630
1634
  {params.embeded !== true && (
1631
1635
  <div className="apps-icon block md:hidden cursor-pointer" onClick={toggleBothSidebars}>
1632
1636
  <SolidIcon name="si-th-large" />
@@ -1649,7 +1653,7 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1649
1653
  )}
1650
1654
  </div>
1651
1655
 
1652
- <div className="flex align-items-center solid-header-buttons-wrapper solid-list-toolbar-actions">
1656
+ <div className="flex items-center solid-header-buttons-wrapper solid-list-toolbar-actions">
1653
1657
  {headerRequestStatusLabel ? <SolidHeaderRequestStatus label={headerRequestStatusLabel} /> : null}
1654
1658
 
1655
1659
  {solidTreeViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true && (
@@ -1 +1 @@
1
- {"version":3,"file":"CreateUser.d.ts","sourceRoot":"","sources":["../../../../src/components/core/users/CreateUser.tsx"],"names":[],"mappings":"AAyBA,OAAO,kBAAkB,CAAC;AAY1B,QAAA,MAAM,UAAU,qBAAsB,GAAG,4CA4QxC,CAAC;AAmNF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"CreateUser.d.ts","sourceRoot":"","sources":["../../../../src/components/core/users/CreateUser.tsx"],"names":[],"mappings":"AAwBA,OAAO,kBAAkB,CAAC;AAY1B,QAAA,MAAM,UAAU,qBAAsB,GAAG,4CA6RxC,CAAC;AA8KF,eAAe,UAAU,CAAC"}
@@ -54,10 +54,10 @@ import { SolidFormHeader } from "../../../components/common/SolidFormHeader";
54
54
  import { ERROR_MESSAGES } from "../../../constants/error-messages";
55
55
  import { useRouter } from "../../../hooks/useRouter";
56
56
  import { useRegisterPrivateMutation, useUpdateUserMutation } from "../../../redux/api/authApi";
57
- import { useGetrolesQuery } from "../../../redux/api/roleApi";
58
57
  import { useDeleteUserMutation } from "../../../redux/api/userApi";
58
+ import { RolesGroupedByModuleWidget } from "../../core/form/fields/relations/RolesGroupedByModuleWidget";
59
59
  import { showToast } from "../../../redux/features/toastSlice";
60
- import { SolidButton, SolidCheckbox, SolidInput, SolidMessage, SolidPanel, SolidPasswordInput, SolidSwitch, SolidTabGroup, } from "../../shad-cn-ui";
60
+ import { SolidButton, SolidInput, SolidMessage, SolidPanel, SolidPasswordInput, SolidSwitch, SolidTabGroup, } from "../../shad-cn-ui";
61
61
  import { ApiKeysTab, GenerateApiKeyModal, RevealApiKeyModal } from "./ApiKeysTab";
62
62
  import "./CreateUser.css";
63
63
  function cx() {
@@ -73,26 +73,27 @@ var CreateUser = function (_a) {
73
73
  var dispatch = useDispatch();
74
74
  var router = useRouter();
75
75
  var _k = useState([]), selectedRoles = _k[0], setSelectedRoles = _k[1];
76
- var _l = useState("userDetails"), activeTab = _l[0], setActiveTab = _l[1];
77
- var _m = useState(null), newUserIdForApiKey = _m[0], setNewUserIdForApiKey = _m[1];
78
- var _o = useState(null), revealKey = _o[0], setRevealKey = _o[1];
79
- var _p = useRegisterPrivateMutation(), registerPrivate = _p[0], _q = _p[1], isLoading = _q.isLoading, userCreateError = _q.error;
80
- var _r = useUpdateUserMutation(), updateUser = _r[0], _s = _r[1], isUserUpdating = _s.isLoading, isUpdateUserSuccess = _s.isSuccess, userUpdateError = _s.error;
81
- var _t = useDeleteUserMutation(), deleteUser = _t[0], _u = _t[1], isUserDeleting = _u.isLoading, isDeleteUserSuccess = _u.isSuccess;
82
- var rolesData = useGetrolesQuery("").data;
76
+ var _l = useState((_b = data === null || data === void 0 ? void 0 : data.failedLoginAttempts) !== null && _b !== void 0 ? _b : 0), failedAttempts = _l[0], setFailedAttempts = _l[1];
77
+ var _m = useState("userDetails"), activeTab = _m[0], setActiveTab = _m[1];
78
+ var _o = useState(null), newUserIdForApiKey = _o[0], setNewUserIdForApiKey = _o[1];
79
+ var _p = useState(null), revealKey = _p[0], setRevealKey = _p[1];
80
+ var _q = useRegisterPrivateMutation(), registerPrivate = _q[0], _r = _q[1], isLoading = _r.isLoading, userCreateError = _r.error;
81
+ var _s = useUpdateUserMutation(), updateUser = _s[0], _t = _s[1], isUserUpdating = _t.isLoading, isUpdateUserSuccess = _t.isSuccess, userUpdateError = _t.error;
82
+ var _u = useDeleteUserMutation(), deleteUser = _u[0], _v = _u[1], isUserDeleting = _v.isLoading, isDeleteUserSuccess = _v.isSuccess;
83
83
  useEffect(function () {
84
+ var _a;
84
85
  if (data === null || data === void 0 ? void 0 : data.roles) {
85
86
  setSelectedRoles(data.roles.map(function (role) { return role.name; }));
86
87
  }
88
+ setFailedAttempts((_a = data === null || data === void 0 ? void 0 : data.failedLoginAttempts) !== null && _a !== void 0 ? _a : 0);
87
89
  }, [data]);
88
90
  var initialValues = {
89
- fullName: (_b = data === null || data === void 0 ? void 0 : data.fullName) !== null && _b !== void 0 ? _b : "",
90
- username: (_c = data === null || data === void 0 ? void 0 : data.username) !== null && _c !== void 0 ? _c : "",
91
- email: (_d = data === null || data === void 0 ? void 0 : data.email) !== null && _d !== void 0 ? _d : "",
92
- mobile: (_e = data === null || data === void 0 ? void 0 : data.mobile) !== null && _e !== void 0 ? _e : "",
91
+ fullName: (_c = data === null || data === void 0 ? void 0 : data.fullName) !== null && _c !== void 0 ? _c : "",
92
+ username: (_d = data === null || data === void 0 ? void 0 : data.username) !== null && _d !== void 0 ? _d : "",
93
+ email: (_e = data === null || data === void 0 ? void 0 : data.email) !== null && _e !== void 0 ? _e : "",
94
+ mobile: (_f = data === null || data === void 0 ? void 0 : data.mobile) !== null && _f !== void 0 ? _f : "",
93
95
  password: "",
94
96
  confirmPassword: "",
95
- failedLoginAttempts: (_f = data === null || data === void 0 ? void 0 : data.failedLoginAttempts) !== null && _f !== void 0 ? _f : 0,
96
97
  active: (_g = data === null || data === void 0 ? void 0 : data.active) !== null && _g !== void 0 ? _g : true,
97
98
  isAllowedToGenerateApiKeys: (_h = data === null || data === void 0 ? void 0 : data.isAllowedToGenerateApiKeys) !== null && _h !== void 0 ? _h : false,
98
99
  };
@@ -109,10 +110,6 @@ var CreateUser = function (_a) {
109
110
  otherwise: function (schema) { return schema.notRequired().nullable(); },
110
111
  }),
111
112
  mobile: Yup.string().nullable(),
112
- failedLoginAttempts: Yup.number()
113
- .typeError("Failed Login Attempts must be a number")
114
- .nullable()
115
- .transform(function (value, originalValue) { return (originalValue === "" ? null : value); }),
116
113
  });
117
114
  function isFetchBaseQueryErrorWithErrorResponse(error) {
118
115
  return error && typeof error === "object" && "data" in error && "message" in error.data;
@@ -134,7 +131,6 @@ var CreateUser = function (_a) {
134
131
  email: values.email,
135
132
  mobile: values.mobile,
136
133
  roles: selectedRoles,
137
- failedLoginAttempts: values.failedLoginAttempts,
138
134
  active: values.active,
139
135
  isAllowedToGenerateApiKeys: values.isAllowedToGenerateApiKeys,
140
136
  };
@@ -154,7 +150,6 @@ var CreateUser = function (_a) {
154
150
  mobile: values.mobile,
155
151
  password: values.password,
156
152
  roles: selectedRoles,
157
- failedLoginAttempts: values.failedLoginAttempts,
158
153
  isAllowedToGenerateApiKeys: values.isAllowedToGenerateApiKeys,
159
154
  }).unwrap()];
160
155
  case 2:
@@ -211,20 +206,50 @@ var CreateUser = function (_a) {
211
206
  }, [isDeleteUserSuccess, isUpdateUserSuccess, router]);
212
207
  var isEditMode = params.id !== "new";
213
208
  var isSaving = isLoading || isUserUpdating;
214
- return (_jsxs("div", { className: "solid-form-wrapper", children: [_jsx("div", { className: "solid-form-section", children: _jsxs("form", { onSubmit: formik.handleSubmit, children: [_jsxs("div", { className: "solid-form-header flex align-items-center justify-content-between gap-3 flex-wrap", children: [_jsxs("div", { className: "solid-user-form-titleblock flex align-items-center gap-3", children: [_jsx(BackButton, {}), _jsxs("div", { children: [_jsx("div", { className: "form-wrapper-title", children: isEditMode ? "Update User" : "Create User" }), _jsx("p", { className: "solid-user-form-subtitle m-0", children: isEditMode
209
+ var handleUnblockUser = function () { return __awaiter(void 0, void 0, void 0, function () {
210
+ var _a;
211
+ return __generator(this, function (_b) {
212
+ switch (_b.label) {
213
+ case 0:
214
+ if (!(data === null || data === void 0 ? void 0 : data.id))
215
+ return [2 /*return*/];
216
+ _b.label = 1;
217
+ case 1:
218
+ _b.trys.push([1, 3, , 4]);
219
+ return [4 /*yield*/, updateUser({
220
+ id: data.id,
221
+ data: { failedLoginAttempts: 0 },
222
+ }).unwrap()];
223
+ case 2:
224
+ _b.sent();
225
+ dispatch(showToast({
226
+ severity: "success",
227
+ summary: "Success",
228
+ detail: "User is unblocked.",
229
+ }));
230
+ setFailedAttempts(0);
231
+ return [3 /*break*/, 4];
232
+ case 3:
233
+ _a = _b.sent();
234
+ return [3 /*break*/, 4];
235
+ case 4: return [2 /*return*/];
236
+ }
237
+ });
238
+ }); };
239
+ return (_jsxs("div", { className: "solid-form-wrapper", children: [_jsx("div", { className: "solid-form-section", children: _jsxs("form", { onSubmit: formik.handleSubmit, children: [_jsxs("div", { className: "solid-form-header flex items-center justify-between gap-4 flex-wrap", children: [_jsxs("div", { className: "solid-user-form-titleblock flex items-center gap-4", children: [_jsx(BackButton, {}), _jsxs("div", { children: [_jsx("div", { className: "form-wrapper-title", children: isEditMode ? "Update User" : "Create User" }), _jsx("p", { className: "solid-user-form-subtitle m-0", children: isEditMode
215
240
  ? "Update account details, access roles, and security controls."
216
- : "Create a user account and assign the right access roles." })] })] }), _jsxs("div", { className: "gap-3 flex flex-wrap", children: [formik.dirty ? (_jsx(SolidButton, { size: "small", type: "submit", loading: isSaving, children: "Save" })) : null, data ? (_jsx(SolidButton, { size: "small", type: "button", variant: "destructive", loading: isUserDeleting, onClick: function () { return deleteUser(data.id); }, children: "Delete" })) : null, _jsx(CancelButton, {})] })] }), _jsx(SolidFormHeader, {}), _jsx("div", { className: "px-4 py-3 md:p-4 solid-form-content", children: isEditMode ? (_jsx(SolidTabGroup, { value: activeTab, onValueChange: setActiveTab, tabs: [
241
+ : "Create a user account and assign the right access roles." })] })] }), _jsxs("div", { className: "flex gap-4 flex-wrap", children: [isEditMode && failedAttempts > 0 ? (_jsx(SolidButton, { size: "small", type: "button", variant: "outline", loading: isUserUpdating, onClick: handleUnblockUser, children: "Unblock User" })) : null, formik.dirty ? (_jsx(SolidButton, { size: "small", type: "submit", loading: isSaving, children: "Save" })) : null, data ? (_jsx(SolidButton, { size: "small", type: "button", variant: "destructive", loading: isUserDeleting, onClick: function () { return deleteUser(data.id); }, children: "Delete" })) : null, _jsx(CancelButton, {})] })] }), _jsx(SolidFormHeader, {}), _jsx("div", { className: "px-3 py-3 md:p-4 solid-form-content", children: isEditMode ? (_jsx(SolidTabGroup, { value: activeTab, onValueChange: setActiveTab, tabs: [
217
242
  {
218
243
  value: "userDetails",
219
244
  label: "User Details",
220
- content: (_jsx(UserDetailsContent, { formik: formik, fieldError: fieldError, rolesData: rolesData, selectedRoles: selectedRoles, handleCheckboxChange: handleCheckboxChange, isEditMode: isEditMode })),
245
+ content: (_jsx(UserDetailsContent, { formik: formik, fieldError: fieldError, selectedRoles: selectedRoles, handleCheckboxChange: handleCheckboxChange, isEditMode: isEditMode })),
221
246
  },
222
247
  {
223
248
  value: "apiKeys",
224
249
  label: "API Keys",
225
250
  content: (_jsx("div", { className: "solid-user-edit-api-keys-pane", children: _jsx(ApiKeysTab, { userId: data === null || data === void 0 ? void 0 : data.id, canCreate: (_j = data === null || data === void 0 ? void 0 : data.isAllowedToGenerateApiKeys) !== null && _j !== void 0 ? _j : false }) })),
226
251
  },
227
- ] })) : (_jsx(UserDetailsContent, { formik: formik, fieldError: fieldError, rolesData: rolesData, selectedRoles: selectedRoles, handleCheckboxChange: handleCheckboxChange, isEditMode: isEditMode })) })] }) }), newUserIdForApiKey !== null && (_jsx(GenerateApiKeyModal, { open: true, userId: newUserIdForApiKey, onClose: function () {
252
+ ] })) : (_jsx(UserDetailsContent, { formik: formik, fieldError: fieldError, selectedRoles: selectedRoles, handleCheckboxChange: handleCheckboxChange, isEditMode: isEditMode })) })] }) }), newUserIdForApiKey !== null && (_jsx(GenerateApiKeyModal, { open: true, userId: newUserIdForApiKey, onClose: function () {
228
253
  setNewUserIdForApiKey(null);
229
254
  router.back();
230
255
  }, onCreated: function (apiKey, keyName) {
@@ -237,9 +262,8 @@ var CreateUser = function (_a) {
237
262
  };
238
263
  /** Extracted form body so it can be used both inside and outside the tab wrapper */
239
264
  function UserDetailsContent(_a) {
240
- var _b, _c;
241
- var formik = _a.formik, fieldError = _a.fieldError, rolesData = _a.rolesData, selectedRoles = _a.selectedRoles, handleCheckboxChange = _a.handleCheckboxChange, isEditMode = _a.isEditMode;
242
- return (_jsx("div", { className: "solid-user-details-layout", children: _jsxs("div", { className: "solid-user-details-stack", children: [_jsx(SolidPanel, { header: "Basic Info", className: "solid-column-panel", children: _jsxs("div", { className: "grid formgrid", children: [_jsxs("div", { className: "field col-12 md:col-6 flex flex-column gap-2", children: [_jsx("label", { htmlFor: "fullName", className: "form-field-label", children: "Full Name" }), _jsx(SolidInput, { type: "text", id: "fullName", name: "fullName", autoComplete: "off", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.fullName, className: cx(fieldError("fullName") && "solid-user-form-input-invalid") }), fieldError("fullName") ? _jsx(SolidMessage, { severity: "error", text: fieldError("fullName") }) : null] }), _jsxs("div", { className: "field col-12 md:col-6 flex flex-column gap-2", children: [_jsx("label", { htmlFor: "username", className: "form-field-label", children: "Username" }), _jsx(SolidInput, { type: "text", id: "username", name: "username", autoComplete: "off", disabled: Boolean(formik.values.username) && isEditMode, onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.username, className: cx(fieldError("username") && "solid-user-form-input-invalid") }), fieldError("username") ? _jsx(SolidMessage, { severity: "error", text: fieldError("username") }) : null] }), _jsxs("div", { className: "field col-12 md:col-6 flex flex-column gap-2 mt-3", children: [_jsx("label", { htmlFor: "email", className: "form-field-label", children: "Email" }), _jsx(SolidInput, { type: "email", id: "email", name: "email", autoComplete: "off", disabled: isEditMode, onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.email, className: cx(fieldError("email") && "solid-user-form-input-invalid") }), fieldError("email") ? _jsx(SolidMessage, { severity: "error", text: fieldError("email") }) : null] }), _jsxs("div", { className: "field col-12 md:col-6 flex flex-column gap-2 mt-3", children: [_jsx("label", { htmlFor: "mobile", className: "form-field-label", children: "Mobile" }), _jsx(SolidInput, { type: "text", id: "mobile", name: "mobile", autoComplete: "off", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.mobile, className: cx(fieldError("mobile") && "solid-user-form-input-invalid") }), fieldError("mobile") ? _jsx(SolidMessage, { severity: "error", text: fieldError("mobile") }) : null] }), !isEditMode ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "field col-12 md:col-6 flex flex-column gap-2 mt-3", children: [_jsx("label", { htmlFor: "password", className: "form-field-label", children: "Password" }), _jsx(SolidPasswordInput, { id: "password", name: "password", autoComplete: "off", value: formik.values.password, onChange: formik.handleChange, onBlur: formik.handleBlur, className: cx(fieldError("password") && "solid-user-form-input-invalid") }), fieldError("password") ? _jsx(SolidMessage, { severity: "error", text: fieldError("password") }) : null] }), _jsxs("div", { className: "field col-12 md:col-6 flex flex-column gap-2 mt-3", children: [_jsx("label", { htmlFor: "confirmPassword", className: "form-field-label", children: "Confirm Password" }), _jsx(SolidPasswordInput, { id: "confirmPassword", name: "confirmPassword", autoComplete: "off", value: formik.values.confirmPassword, onChange: formik.handleChange, onBlur: formik.handleBlur, className: cx(fieldError("confirmPassword") && "solid-user-form-input-invalid") }), fieldError("confirmPassword") ? (_jsx(SolidMessage, { severity: "error", text: fieldError("confirmPassword") })) : null] })] })) : (_jsxs("div", { className: "field col-12 md:col-6 flex flex-column gap-2 mt-3", children: [_jsx("label", { htmlFor: "failedLoginAttempts", className: "form-field-label", children: "Failed Login Attempts" }), _jsx(SolidInput, { type: "number", id: "failedLoginAttempts", name: "failedLoginAttempts", autoComplete: "off", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.failedLoginAttempts, className: cx(fieldError("failedLoginAttempts") && "solid-user-form-input-invalid") }), fieldError("failedLoginAttempts") ? (_jsx(SolidMessage, { severity: "error", text: fieldError("failedLoginAttempts") })) : null, _jsx("p", { className: "solid-user-section-helper", children: "Your account has been locked due to repeated unsuccessful login attempts. Please contact your system admin." })] }))] }) }), _jsx(SolidPanel, { toggleable: true, header: "Access", className: "solid-column-panel", children: _jsxs("div", { className: "formgrid grid solid-user-access-grid", children: [isEditMode ? (_jsxs("div", { className: "field col-12 solid-user-access-row", children: [_jsxs("div", { className: "solid-user-access-copy", children: [_jsx("p", { className: "form-field-label m-0", children: "Active User" }), _jsx("p", { className: "solid-user-section-helper m-0 mt-1", children: "Control whether this user account is active and allowed to sign in." })] }), _jsx(SolidSwitch, { checked: formik.values.active, onChange: function (checked) { return formik.setFieldValue("active", checked); } })] })) : null, _jsxs("div", { className: "field col-12 solid-user-access-row", children: [_jsxs("div", { className: "solid-user-access-copy", children: [_jsx("p", { className: "form-field-label m-0", children: "Allow API Key Generation" }), _jsx("p", { className: "solid-user-section-helper m-0 mt-1", children: "When enabled, this user can generate API keys for programmatic access." })] }), _jsx(SolidSwitch, { checked: formik.values.isAllowedToGenerateApiKeys, onChange: function (checked) { return formik.setFieldValue("isAllowedToGenerateApiKeys", checked); } })] })] }) }), _jsxs(SolidPanel, { toggleable: true, header: "Roles", className: "solid-column-panel", children: [_jsx("p", { className: "solid-user-section-copy", children: "Select the roles that should be assigned to this user." }), _jsx("div", { className: "solid-user-role-grid", children: (_c = (_b = rolesData === null || rolesData === void 0 ? void 0 : rolesData.data) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.map(function (role) { return (_jsx("div", { className: cx("solid-user-role-card", selectedRoles.includes(role.name) && "is-selected"), children: _jsx(SolidCheckbox, { id: role.name, checked: selectedRoles.includes(role.name), onChange: function () { return handleCheckboxChange(role.name); }, label: role.name, className: "solid-user-role-control" }) }, role.name)); }) })] })] }) }));
265
+ var formik = _a.formik, fieldError = _a.fieldError, selectedRoles = _a.selectedRoles, handleCheckboxChange = _a.handleCheckboxChange, isEditMode = _a.isEditMode;
266
+ return (_jsx("div", { className: "solid-user-details-layout", children: _jsxs("div", { className: "solid-user-details-stack", children: [_jsx(SolidPanel, { header: "Basic Info", className: "solid-column-panel", children: _jsxs("div", { className: "flex flex-wrap -mx-2 -mt-2", children: [_jsxs("div", { className: "field flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsx("label", { htmlFor: "fullName", className: "form-field-label", children: "Full Name" }), _jsx(SolidInput, { type: "text", id: "fullName", name: "fullName", autoComplete: "off", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.fullName, className: cx(fieldError("fullName") && "solid-user-form-input-invalid") }), fieldError("fullName") ? _jsx(SolidMessage, { severity: "error", text: fieldError("fullName") }) : null] }), _jsxs("div", { className: "field flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsx("label", { htmlFor: "username", className: "form-field-label", children: "Username" }), _jsx(SolidInput, { type: "text", id: "username", name: "username", autoComplete: "off", disabled: Boolean(formik.values.username) && isEditMode, onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.username, className: cx(fieldError("username") && "solid-user-form-input-invalid") }), fieldError("username") ? _jsx(SolidMessage, { severity: "error", text: fieldError("username") }) : null] }), _jsxs("div", { className: "field mt-4 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsx("label", { htmlFor: "email", className: "form-field-label", children: "Email" }), _jsx(SolidInput, { type: "email", id: "email", name: "email", autoComplete: "off", disabled: isEditMode, onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.email, className: cx(fieldError("email") && "solid-user-form-input-invalid") }), fieldError("email") ? _jsx(SolidMessage, { severity: "error", text: fieldError("email") }) : null] }), _jsxs("div", { className: "field mt-4 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsx("label", { htmlFor: "mobile", className: "form-field-label", children: "Mobile" }), _jsx(SolidInput, { type: "text", id: "mobile", name: "mobile", autoComplete: "off", onChange: formik.handleChange, onBlur: formik.handleBlur, value: formik.values.mobile, className: cx(fieldError("mobile") && "solid-user-form-input-invalid") }), fieldError("mobile") ? _jsx(SolidMessage, { severity: "error", text: fieldError("mobile") }) : null] }), !isEditMode ? (_jsxs(_Fragment, { children: [_jsxs("div", { className: "field mt-4 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsx("label", { htmlFor: "password", className: "form-field-label", children: "Password" }), _jsx(SolidPasswordInput, { id: "password", name: "password", autoComplete: "off", value: formik.values.password, onChange: formik.handleChange, onBlur: formik.handleBlur, className: cx(fieldError("password") && "solid-user-form-input-invalid") }), fieldError("password") ? _jsx(SolidMessage, { severity: "error", text: fieldError("password") }) : null] }), _jsxs("div", { className: "field mt-4 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2", children: [_jsx("label", { htmlFor: "confirmPassword", className: "form-field-label", children: "Confirm Password" }), _jsx(SolidPasswordInput, { id: "confirmPassword", name: "confirmPassword", autoComplete: "off", value: formik.values.confirmPassword, onChange: formik.handleChange, onBlur: formik.handleBlur, className: cx(fieldError("confirmPassword") && "solid-user-form-input-invalid") }), fieldError("confirmPassword") ? (_jsx(SolidMessage, { severity: "error", text: fieldError("confirmPassword") })) : null] })] })) : null] }) }), _jsx(SolidPanel, { toggleable: true, header: "Access", className: "solid-column-panel", children: _jsxs("div", { className: "flex flex-wrap -mx-2 -mt-2 solid-user-access-grid", children: [isEditMode ? (_jsxs("div", { className: "field w-full px-2 pt-2 solid-user-access-row", children: [_jsxs("div", { className: "solid-user-access-copy", children: [_jsx("p", { className: "form-field-label m-0", children: "Active User" }), _jsx("p", { className: "solid-user-section-helper m-0 mt-1", children: "Control whether this user account is active and allowed to sign in." })] }), _jsx(SolidSwitch, { checked: formik.values.active, onChange: function (checked) { return formik.setFieldValue("active", checked); } })] })) : null, _jsxs("div", { className: "field w-full px-2 pt-2 solid-user-access-row", children: [_jsxs("div", { className: "solid-user-access-copy", children: [_jsx("p", { className: "form-field-label m-0", children: "Allow API Key Generation" }), _jsx("p", { className: "solid-user-section-helper m-0 mt-1", children: "When enabled, this user can generate API keys for programmatic access." })] }), _jsx(SolidSwitch, { checked: formik.values.isAllowedToGenerateApiKeys, onChange: function (checked) { return formik.setFieldValue("isAllowedToGenerateApiKeys", checked); } })] })] }) }), _jsxs(SolidPanel, { toggleable: true, header: "Roles", className: "solid-column-panel", children: [_jsx("p", { className: "solid-user-section-copy", children: "Select the roles that should be assigned to this user." }), _jsx(RolesGroupedByModuleWidget, { selectedRoles: selectedRoles, onToggle: handleCheckboxChange })] })] }) }));
243
267
  }
244
268
  export default CreateUser;
245
269
  //# sourceMappingURL=CreateUser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateUser.js","sourceRoot":"","sources":["../../../../src/components/core/users/CreateUser.tsx"],"names":[],"mappings":"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","sourcesContent":["import { FetchBaseQueryError } from \"@reduxjs/toolkit/dist/query\";\nimport { useFormik } from \"formik\";\nimport { useEffect, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport * as Yup from \"yup\";\nimport { BackButton } from \"../../../components/common/BackButton\";\nimport { CancelButton } from \"../../../components/common/CancelButton\";\nimport { SolidFormHeader } from \"../../../components/common/SolidFormHeader\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useRegisterPrivateMutation, useUpdateUserMutation } from \"../../../redux/api/authApi\";\nimport { useGetrolesQuery } from \"../../../redux/api/roleApi\";\nimport { useDeleteUserMutation } from \"../../../redux/api/userApi\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport {\n SolidButton,\n SolidCheckbox,\n SolidInput,\n SolidMessage,\n SolidPanel,\n SolidPasswordInput,\n SolidSwitch,\n SolidTabGroup,\n} from \"../../shad-cn-ui\";\nimport { ApiKeysTab, GenerateApiKeyModal, RevealApiKeyModal } from \"./ApiKeysTab\";\nimport \"./CreateUser.css\";\n\ninterface ErrorResponseData {\n message: string;\n statusCode: number;\n error: string;\n}\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nconst CreateUser = ({ data, params }: any) => {\n const dispatch = useDispatch();\n const router = useRouter();\n const [selectedRoles, setSelectedRoles] = useState<string[]>([]);\n const [activeTab, setActiveTab] = useState(\"userDetails\");\n const [newUserIdForApiKey, setNewUserIdForApiKey] = useState<number | null>(null);\n const [revealKey, setRevealKey] = useState<{ apiKey: string; keyName: string } | null>(null);\n\n const [registerPrivate, { isLoading, error: userCreateError }] = useRegisterPrivateMutation();\n const [\n updateUser,\n {\n isLoading: isUserUpdating,\n isSuccess: isUpdateUserSuccess,\n error: userUpdateError,\n },\n ] = useUpdateUserMutation();\n\n const [deleteUser, { isLoading: isUserDeleting, isSuccess: isDeleteUserSuccess }] = useDeleteUserMutation();\n const { data: rolesData } = useGetrolesQuery(\"\");\n\n useEffect(() => {\n if (data?.roles) {\n setSelectedRoles(data.roles.map((role: any) => role.name));\n }\n }, [data]);\n\n const initialValues = {\n fullName: data?.fullName ?? \"\",\n username: data?.username ?? \"\",\n email: data?.email ?? \"\",\n mobile: data?.mobile ?? \"\",\n password: \"\",\n confirmPassword: \"\",\n failedLoginAttempts: data?.failedLoginAttempts ?? 0,\n active: data?.active ?? true,\n isAllowedToGenerateApiKeys: data?.isAllowedToGenerateApiKeys ?? false,\n };\n\n const validationSchema = Yup.object({\n fullName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Full Name\")),\n username: Yup.string().required(\"Username is required\"),\n email: Yup.string()\n .email(ERROR_MESSAGES.FIELD_INVALID(\"email address\"))\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email\")),\n password: Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).nullable(),\n confirmPassword: Yup.string().when(\"password\", {\n is: (val: any) => !!val,\n then: (schema) => schema.oneOf([Yup.ref(\"password\")], ERROR_MESSAGES.FIELD_MUST_MATCH(\"Password\")).nullable(),\n otherwise: (schema) => schema.notRequired().nullable(),\n }),\n mobile: Yup.string().nullable(),\n failedLoginAttempts: Yup.number()\n .typeError(\"Failed Login Attempts must be a number\")\n .nullable()\n .transform((value, originalValue) => (originalValue === \"\" ? null : value)),\n });\n\n function isFetchBaseQueryErrorWithErrorResponse(\n error: any\n ): error is FetchBaseQueryError & { data: ErrorResponseData } {\n return error && typeof error === \"object\" && \"data\" in error && \"message\" in error.data;\n }\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n enableReinitialize: true,\n onSubmit: async (values) => {\n if (data) {\n const userData: any = {\n fullName: values.fullName,\n username: values.username,\n email: values.email,\n mobile: values.mobile,\n roles: selectedRoles,\n failedLoginAttempts: values.failedLoginAttempts,\n active: values.active,\n isAllowedToGenerateApiKeys: values.isAllowedToGenerateApiKeys,\n };\n\n if (values.password) {\n userData.password = values.password;\n }\n\n updateUser({ id: data.id, data: userData });\n return;\n }\n\n try {\n const response = await registerPrivate({\n fullName: values.fullName,\n username: values.username,\n email: values.email,\n mobile: values.mobile,\n password: values.password,\n roles: selectedRoles,\n failedLoginAttempts: values.failedLoginAttempts,\n isAllowedToGenerateApiKeys: values.isAllowedToGenerateApiKeys,\n }).unwrap();\n\n if (values.isAllowedToGenerateApiKeys) {\n const userId = (response as any)?.data?.id ?? (response as any)?.id;\n if (userId) {\n setNewUserIdForApiKey(userId);\n return;\n }\n }\n router.back();\n } catch {\n // error shown via userCreateError effect\n }\n },\n });\n\n const fieldError = (fieldName: keyof typeof initialValues) =>\n formik.touched[fieldName] && formik.errors[fieldName] ? String(formik.errors[fieldName]) : \"\";\n\n const handleCheckboxChange = (roleName: string) => {\n const updatedRoles = selectedRoles.includes(roleName)\n ? selectedRoles.filter((name) => name !== roleName)\n : [...selectedRoles, roleName];\n\n setSelectedRoles(updatedRoles);\n formik.setFieldTouched(\"roles\", true);\n formik.setFieldValue(\"roles\", updatedRoles);\n };\n\n useEffect(() => {\n const handleError = (errorToast: any) => {\n let errorMessage: any = [ERROR_MESSAGES.ERROR_OCCURED];\n\n if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {\n errorMessage = errorToast.data.message;\n } else {\n errorMessage = [ERROR_MESSAGES.SOMETHING_WRONG];\n }\n\n const detail = Array.isArray(errorMessage) ? errorMessage.join(\", \") : errorMessage;\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail }));\n };\n\n if (userCreateError) handleError(userCreateError);\n if (userUpdateError) handleError(userUpdateError);\n }, [dispatch, userCreateError, userUpdateError]);\n\n useEffect(() => {\n if (isDeleteUserSuccess || isUpdateUserSuccess) {\n router.back();\n }\n }, [isDeleteUserSuccess, isUpdateUserSuccess, router]);\n\n const isEditMode = params.id !== \"new\";\n const isSaving = isLoading || isUserUpdating;\n\n\n return (\n <div className=\"solid-form-wrapper\">\n <div className=\"solid-form-section\">\n <form onSubmit={formik.handleSubmit}>\n <div className=\"solid-form-header flex align-items-center justify-content-between gap-3 flex-wrap\">\n <div className=\"solid-user-form-titleblock flex align-items-center gap-3\">\n <BackButton />\n <div>\n <div className=\"form-wrapper-title\">{isEditMode ? \"Update User\" : \"Create User\"}</div>\n <p className=\"solid-user-form-subtitle m-0\">\n {isEditMode\n ? \"Update account details, access roles, and security controls.\"\n : \"Create a user account and assign the right access roles.\"}\n </p>\n </div>\n </div>\n <div className=\"gap-3 flex flex-wrap\">\n {formik.dirty ? (\n <SolidButton size=\"small\" type=\"submit\" loading={isSaving}>\n Save\n </SolidButton>\n ) : null}\n {data ? (\n <SolidButton\n size=\"small\"\n type=\"button\"\n variant=\"destructive\"\n loading={isUserDeleting}\n onClick={() => deleteUser(data.id)}\n >\n Delete\n </SolidButton>\n ) : null}\n <CancelButton />\n </div>\n </div>\n\n <SolidFormHeader />\n\n <div className=\"px-4 py-3 md:p-4 solid-form-content\">\n {isEditMode ? (\n <SolidTabGroup\n value={activeTab}\n onValueChange={setActiveTab}\n tabs={[\n {\n value: \"userDetails\",\n label: \"User Details\",\n content: (\n <UserDetailsContent\n formik={formik}\n fieldError={fieldError}\n rolesData={rolesData}\n selectedRoles={selectedRoles}\n handleCheckboxChange={handleCheckboxChange}\n isEditMode={isEditMode}\n />\n ),\n },\n {\n value: \"apiKeys\",\n label: \"API Keys\",\n content: (\n <div className=\"solid-user-edit-api-keys-pane\">\n <ApiKeysTab userId={data?.id} canCreate={data?.isAllowedToGenerateApiKeys ?? false} />\n </div>\n ),\n },\n ]}\n />\n ) : (\n <UserDetailsContent\n formik={formik}\n fieldError={fieldError}\n rolesData={rolesData}\n selectedRoles={selectedRoles}\n handleCheckboxChange={handleCheckboxChange}\n isEditMode={isEditMode}\n />\n )}\n </div>\n </form>\n </div>\n\n {newUserIdForApiKey !== null && (\n <GenerateApiKeyModal\n open={true}\n userId={newUserIdForApiKey}\n onClose={() => {\n setNewUserIdForApiKey(null);\n router.back();\n }}\n onCreated={(apiKey, keyName) => {\n setNewUserIdForApiKey(null);\n setRevealKey({ apiKey, keyName });\n }}\n />\n )}\n\n {revealKey && (\n <RevealApiKeyModal\n open={true}\n apiKey={revealKey.apiKey}\n keyName={revealKey.keyName}\n onClose={() => {\n setRevealKey(null);\n router.back();\n }}\n />\n )}\n </div>\n );\n};\n\n/** Extracted form body so it can be used both inside and outside the tab wrapper */\nfunction UserDetailsContent({\n formik,\n fieldError,\n rolesData,\n selectedRoles,\n handleCheckboxChange,\n isEditMode,\n}: {\n formik: any;\n fieldError: (field: any) => string;\n rolesData: any;\n selectedRoles: string[];\n handleCheckboxChange: (roleName: string) => void;\n isEditMode: boolean;\n}) {\n return (\n <div className=\"solid-user-details-layout\">\n <div className=\"solid-user-details-stack\">\n <SolidPanel header=\"Basic Info\" className=\"solid-column-panel\">\n <div className=\"grid formgrid\">\n <div className=\"field col-12 md:col-6 flex flex-column gap-2\">\n <label htmlFor=\"fullName\" className=\"form-field-label\">\n Full Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"fullName\"\n name=\"fullName\"\n autoComplete=\"off\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.fullName}\n className={cx(fieldError(\"fullName\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"fullName\") ? <SolidMessage severity=\"error\" text={fieldError(\"fullName\")} /> : null}\n </div>\n\n <div className=\"field col-12 md:col-6 flex flex-column gap-2\">\n <label htmlFor=\"username\" className=\"form-field-label\">\n Username\n </label>\n <SolidInput\n type=\"text\"\n id=\"username\"\n name=\"username\"\n autoComplete=\"off\"\n disabled={Boolean(formik.values.username) && isEditMode}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.username}\n className={cx(fieldError(\"username\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"username\") ? <SolidMessage severity=\"error\" text={fieldError(\"username\")} /> : null}\n </div>\n\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-3\">\n <label htmlFor=\"email\" className=\"form-field-label\">\n Email\n </label>\n <SolidInput\n type=\"email\"\n id=\"email\"\n name=\"email\"\n autoComplete=\"off\"\n disabled={isEditMode}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.email}\n className={cx(fieldError(\"email\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"email\") ? <SolidMessage severity=\"error\" text={fieldError(\"email\")} /> : null}\n </div>\n\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-3\">\n <label htmlFor=\"mobile\" className=\"form-field-label\">\n Mobile\n </label>\n <SolidInput\n type=\"text\"\n id=\"mobile\"\n name=\"mobile\"\n autoComplete=\"off\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.mobile}\n className={cx(fieldError(\"mobile\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"mobile\") ? <SolidMessage severity=\"error\" text={fieldError(\"mobile\")} /> : null}\n </div>\n\n {!isEditMode ? (\n <>\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-3\">\n <label htmlFor=\"password\" className=\"form-field-label\">\n Password\n </label>\n <SolidPasswordInput\n id=\"password\"\n name=\"password\"\n autoComplete=\"off\"\n value={formik.values.password}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n className={cx(fieldError(\"password\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"password\") ? <SolidMessage severity=\"error\" text={fieldError(\"password\")} /> : null}\n </div>\n\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-3\">\n <label htmlFor=\"confirmPassword\" className=\"form-field-label\">\n Confirm Password\n </label>\n <SolidPasswordInput\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n autoComplete=\"off\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n className={cx(fieldError(\"confirmPassword\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"confirmPassword\") ? (\n <SolidMessage severity=\"error\" text={fieldError(\"confirmPassword\")} />\n ) : null}\n </div>\n </>\n ) : (\n <div className=\"field col-12 md:col-6 flex flex-column gap-2 mt-3\">\n <label htmlFor=\"failedLoginAttempts\" className=\"form-field-label\">\n Failed Login Attempts\n </label>\n <SolidInput\n type=\"number\"\n id=\"failedLoginAttempts\"\n name=\"failedLoginAttempts\"\n autoComplete=\"off\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.failedLoginAttempts}\n className={cx(fieldError(\"failedLoginAttempts\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"failedLoginAttempts\") ? (\n <SolidMessage severity=\"error\" text={fieldError(\"failedLoginAttempts\")} />\n ) : null}\n <p className=\"solid-user-section-helper\">\n Your account has been locked due to repeated unsuccessful login attempts. Please contact your\n system admin.\n </p>\n </div>\n )}\n </div>\n </SolidPanel>\n\n <SolidPanel toggleable header=\"Access\" className=\"solid-column-panel\">\n <div className=\"formgrid grid solid-user-access-grid\">\n {isEditMode ? (\n <div className=\"field col-12 solid-user-access-row\">\n <div className=\"solid-user-access-copy\">\n <p className=\"form-field-label m-0\">Active User</p>\n <p className=\"solid-user-section-helper m-0 mt-1\">\n Control whether this user account is active and allowed to sign in.\n </p>\n </div>\n <SolidSwitch\n checked={formik.values.active}\n onChange={(checked) => formik.setFieldValue(\"active\", checked)}\n />\n </div>\n ) : null}\n <div className=\"field col-12 solid-user-access-row\">\n <div className=\"solid-user-access-copy\">\n <p className=\"form-field-label m-0\">Allow API Key Generation</p>\n <p className=\"solid-user-section-helper m-0 mt-1\">\n When enabled, this user can generate API keys for programmatic access.\n </p>\n </div>\n <SolidSwitch\n checked={formik.values.isAllowedToGenerateApiKeys}\n onChange={(checked) => formik.setFieldValue(\"isAllowedToGenerateApiKeys\", checked)}\n />\n </div>\n </div>\n </SolidPanel>\n\n <SolidPanel toggleable header=\"Roles\" className=\"solid-column-panel\">\n <p className=\"solid-user-section-copy\">Select the roles that should be assigned to this user.</p>\n <div className=\"solid-user-role-grid\">\n {rolesData?.data?.records?.map((role: any) => (\n <div\n key={role.name}\n className={cx(\"solid-user-role-card\", selectedRoles.includes(role.name) && \"is-selected\")}\n >\n <SolidCheckbox\n id={role.name}\n checked={selectedRoles.includes(role.name)}\n onChange={() => handleCheckboxChange(role.name)}\n label={role.name}\n className=\"solid-user-role-control\"\n />\n </div>\n ))}\n </div>\n </SolidPanel>\n </div>\n </div>\n );\n}\n\nexport default CreateUser;\n"]}
1
+ {"version":3,"file":"CreateUser.js","sourceRoot":"","sources":["../../../../src/components/core/users/CreateUser.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,kBAAkB,CAAC;AAQ1B,SAAS,EAAE;IAAC,eAA2C;SAA3C,UAA2C,EAA3C,qBAA2C,EAA3C,IAA2C;QAA3C,0BAA2C;;IACrD,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,IAAM,UAAU,GAAG,UAAC,EAAqB;;QAAnB,IAAI,UAAA,EAAE,MAAM,YAAA;IAChC,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IACrB,IAAA,KAAoC,QAAQ,CAAW,EAAE,CAAC,EAAzD,aAAa,QAAA,EAAE,gBAAgB,QAA0B,CAAC;IAC3D,IAAA,KAAsC,QAAQ,CAAS,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,mCAAI,CAAC,CAAC,EAArF,cAAc,QAAA,EAAE,iBAAiB,QAAoD,CAAC;IACvF,IAAA,KAA4B,QAAQ,CAAC,aAAa,CAAC,EAAlD,SAAS,QAAA,EAAE,YAAY,QAA2B,CAAC;IACpD,IAAA,KAA8C,QAAQ,CAAgB,IAAI,CAAC,EAA1E,kBAAkB,QAAA,EAAE,qBAAqB,QAAiC,CAAC;IAC5E,IAAA,KAA4B,QAAQ,CAA6C,IAAI,CAAC,EAArF,SAAS,QAAA,EAAE,YAAY,QAA8D,CAAC;IAEvF,IAAA,KAA2D,0BAA0B,EAAE,EAAtF,eAAe,QAAA,EAAE,UAAqC,EAAnC,SAAS,eAAA,EAAS,eAAe,WAAkC,CAAC;IACxF,IAAA,KAOF,qBAAqB,EAAE,EANzB,UAAU,QAAA,EACV,UAIC,EAHY,cAAc,eAAA,EACd,mBAAmB,eAAA,EACvB,eAAe,WAEC,CAAC;IAEtB,IAAA,KAA8E,qBAAqB,EAAE,EAApG,UAAU,QAAA,EAAE,UAA6D,EAAhD,cAAc,eAAA,EAAa,mBAAmB,eAA6B,CAAC;IAE5G,SAAS,CAAC;;QACR,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE;YACf,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,CAAC,CAAC;SAC5D;QACD,iBAAiB,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,mCAAI,CAAC,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAM,aAAa,GAAG;QACpB,QAAQ,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,mCAAI,EAAE;QAC9B,QAAQ,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,mCAAI,EAAE;QAC9B,KAAK,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE;QACxB,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,EAAE;QAC1B,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,mCAAI,IAAI;QAC5B,0BAA0B,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,0BAA0B,mCAAI,KAAK;KACtE,CAAC;IAEF,IAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC3E,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACvD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;aAChB,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;aACpD,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACnD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC9E,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;YAC7C,EAAE,EAAE,UAAC,GAAQ,IAAK,OAAA,CAAC,CAAC,GAAG,EAAL,CAAK;YACvB,IAAI,EAAE,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,EAA3F,CAA2F;YAC7G,SAAS,EAAE,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAA/B,CAA+B;SACvD,CAAC;QACF,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAC;IAEH,SAAS,sCAAsC,CAC7C,KAAU;QAEV,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;IAC1F,CAAC;IAED,IAAM,MAAM,GAAG,SAAS,CAAC;QACvB,aAAa,eAAA;QACb,gBAAgB,kBAAA;QAChB,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,UAAO,MAAM;;;;;;wBACrB,IAAI,IAAI,EAAE;4BACF,QAAQ,GAAQ;gCACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gCACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,KAAK,EAAE,aAAa;gCACpB,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;6BAC9D,CAAC;4BAEF,IAAI,MAAM,CAAC,QAAQ,EAAE;gCACnB,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;6BACrC;4BAED,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAC5C,sBAAO;yBACR;;;;wBAGkB,qBAAM,eAAe,CAAC;gCACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gCACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gCACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,KAAK,EAAE,aAAa;gCACpB,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;6BAC9D,CAAC,CAAC,MAAM,EAAE,EAAA;;wBARL,QAAQ,GAAG,SAQN;wBAEX,IAAI,MAAM,CAAC,0BAA0B,EAAE;4BAC/B,MAAM,GAAG,MAAA,MAAC,QAAgB,aAAhB,QAAQ,uBAAR,QAAQ,CAAU,IAAI,0CAAE,EAAE,mCAAK,QAAgB,aAAhB,QAAQ,uBAAR,QAAQ,CAAU,EAAE,CAAC;4BACpE,IAAI,MAAM,EAAE;gCACV,qBAAqB,CAAC,MAAM,CAAC,CAAC;gCAC9B,sBAAO;6BACR;yBACF;wBACD,MAAM,CAAC,IAAI,EAAE,CAAC;;;;;;;;aAIjB;KACF,CAAC,CAAC;IAEH,IAAM,UAAU,GAAG,UAAC,SAAqC;QACvD,OAAA,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IAA7F,CAA6F,CAAC;IAEhG,IAAM,oBAAoB,GAAG,UAAC,QAAgB;QAC5C,IAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnD,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,QAAQ,EAAjB,CAAiB,CAAC;YACnD,CAAC,iCAAK,aAAa,UAAE,QAAQ,SAAC,CAAC;QAEjC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC/B,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,SAAS,CAAC;QACR,IAAM,WAAW,GAAG,UAAC,UAAe;YAClC,IAAI,YAAY,GAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YAEvD,IAAI,sCAAsC,CAAC,UAAU,CAAC,EAAE;gBACtD,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;aACxC;iBAAM;gBACL,YAAY,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;aACjD;YAED,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACpF,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC;QAEF,IAAI,eAAe;YAAE,WAAW,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,eAAe;YAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC;IAEjD,SAAS,CAAC;QACR,IAAI,mBAAmB,IAAI,mBAAmB,EAAE;YAC9C,MAAM,CAAC,IAAI,EAAE,CAAC;SACf;IACH,CAAC,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvD,IAAM,UAAU,GAAG,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC;IACvC,IAAM,QAAQ,GAAG,SAAS,IAAI,cAAc,CAAC;IAE7C,IAAM,iBAAiB,GAAG;;;;;oBACxB,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAA;wBAAE,sBAAO;;;;oBAGpB,qBAAM,UAAU,CAAC;4BACf,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,EAAE,mBAAmB,EAAE,CAAC,EAAE;yBACjC,CAAC,CAAC,MAAM,EAAE,EAAA;;oBAHX,SAGW,CAAC;oBACZ,QAAQ,CACN,SAAS,CAAC;wBACR,QAAQ,EAAE,SAAS;wBACnB,OAAO,EAAE,SAAS;wBAClB,MAAM,EAAE,oBAAoB;qBAC7B,CAAC,CACH,CAAC;oBACF,iBAAiB,CAAC,CAAC,CAAC,CAAC;;;;;;;;SAIxB,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,oBAAoB,aACjC,cAAK,SAAS,EAAC,oBAAoB,YACjC,gBAAM,QAAQ,EAAE,MAAM,CAAC,YAAY,aACjC,eAAK,SAAS,EAAC,qEAAqE,aAClF,eAAK,SAAS,EAAC,oDAAoD,aACjE,KAAC,UAAU,KAAG,EACd,0BACE,cAAK,SAAS,EAAC,oBAAoB,YAAE,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,GAAO,EACtF,YAAG,SAAS,EAAC,8BAA8B,YACxC,UAAU;wDACT,CAAC,CAAC,8DAA8D;wDAChE,CAAC,CAAC,0DAA0D,GAC5D,IACA,IACF,EACN,eAAK,SAAS,EAAC,sBAAsB,aAClC,UAAU,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAClC,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,6BAE/F,CACf,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,QAAQ,qBAE3C,CACf,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,WAAW,IACV,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,aAAa,EACrB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,cAAM,OAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAnB,CAAmB,uBAGtB,CACf,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,YAAY,KAAG,IACZ,IACF,EAEN,KAAC,eAAe,KAAG,EAEnB,cAAK,SAAS,EAAC,qCAAqC,YACjD,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,aAAa,IACZ,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,YAAY,EAC3B,IAAI,EAAE;oCACJ;wCACE,KAAK,EAAE,aAAa;wCACpB,KAAK,EAAE,cAAc;wCACrB,OAAO,EAAE,CACP,KAAC,kBAAkB,IACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,GACtB,CACH;qCACF;oCACD;wCACE,KAAK,EAAE,SAAS;wCAChB,KAAK,EAAE,UAAU;wCACjB,OAAO,EAAE,CACP,cAAK,SAAS,EAAC,+BAA+B,YAC5C,KAAC,UAAU,IAAC,MAAM,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,0BAA0B,mCAAI,KAAK,GAAI,GAClF,CACP;qCACF;iCACF,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,kBAAkB,IACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAE,UAAU,GACtB,CACH,GACG,IACD,GACH,EAEL,kBAAkB,KAAK,IAAI,IAAI,CAC9B,KAAC,mBAAmB,IAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE;oBACP,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC5B,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC,EACD,SAAS,EAAE,UAAC,MAAM,EAAE,OAAO;oBACzB,qBAAqB,CAAC,IAAI,CAAC,CAAC;oBAC5B,YAAY,CAAC,EAAE,MAAM,QAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC;gBACpC,CAAC,GACD,CACH,EAEA,SAAS,IAAI,CACZ,KAAC,iBAAiB,IAChB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,OAAO,EAAE;oBACP,YAAY,CAAC,IAAI,CAAC,CAAC;oBACnB,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC,GACD,CACH,IACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,oFAAoF;AACpF,SAAS,kBAAkB,CAAC,EAY3B;QAXC,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,aAAa,mBAAA,EACb,oBAAoB,0BAAA,EACpB,UAAU,gBAAA;IAQV,OAAO,CACL,cAAK,SAAS,EAAC,2BAA2B,YACxC,eAAK,SAAS,EAAC,0BAA0B,aACvC,KAAC,UAAU,IAAC,MAAM,EAAC,YAAY,EAAC,SAAS,EAAC,oBAAoB,YAC5D,eAAK,SAAS,EAAC,4BAA4B,aACzC,eAAK,SAAS,EAAC,qDAAqD,aAClE,gBAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,kBAAkB,0BAE9C,EACR,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,YAAY,EAAC,KAAK,EAClB,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC7B,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,+BAA+B,CAAC,GACxE,EACD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,IAC5F,EAEN,eAAK,SAAS,EAAC,qDAAqD,aAClE,gBAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,kBAAkB,yBAE9C,EACR,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,YAAY,EAAC,KAAK,EAClB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU,EACvD,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC7B,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,+BAA+B,CAAC,GACxE,EACD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,IAC5F,EAEN,eAAK,SAAS,EAAC,0DAA0D,aACvE,gBAAO,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,kBAAkB,sBAE3C,EACR,KAAC,UAAU,IACT,IAAI,EAAC,OAAO,EACZ,EAAE,EAAC,OAAO,EACV,IAAI,EAAC,OAAO,EACZ,YAAY,EAAC,KAAK,EAClB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAC1B,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,+BAA+B,CAAC,GACrE,EACD,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,IACtF,EAEN,eAAK,SAAS,EAAC,0DAA0D,aACvE,gBAAO,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAC,kBAAkB,uBAE5C,EACR,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,QAAQ,EACX,IAAI,EAAC,QAAQ,EACb,YAAY,EAAC,KAAK,EAClB,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAC3B,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,+BAA+B,CAAC,GACtE,EACD,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,IACxF,EAEL,CAAC,UAAU,CAAC,CAAC,CAAC,CACb,8BACE,eAAK,SAAS,EAAC,0DAA0D,aACvE,gBAAO,OAAO,EAAC,UAAU,EAAC,SAAS,EAAC,kBAAkB,yBAE9C,EACR,KAAC,kBAAkB,IACjB,EAAE,EAAC,UAAU,EACb,IAAI,EAAC,UAAU,EACf,YAAY,EAAC,KAAK,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC7B,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,+BAA+B,CAAC,GACxE,EACD,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,IAC5F,EAEN,eAAK,SAAS,EAAC,0DAA0D,aACvE,gBAAO,OAAO,EAAC,iBAAiB,EAAC,SAAS,EAAC,kBAAkB,iCAErD,EACR,KAAC,kBAAkB,IACjB,EAAE,EAAC,iBAAiB,EACpB,IAAI,EAAC,iBAAiB,EACtB,YAAY,EAAC,KAAK,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,EACpC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,+BAA+B,CAAC,GAC/E,EACD,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAC/B,KAAC,YAAY,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAI,CACvE,CAAC,CAAC,CAAC,IAAI,IACJ,IACL,CACJ,CAAC,CAAC,CAAC,IAAI,IACJ,GACK,EAEb,KAAC,UAAU,IAAC,UAAU,QAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,oBAAoB,YACnE,eAAK,SAAS,EAAC,mDAAmD,aAC/D,UAAU,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,8CAA8C,aAC3D,eAAK,SAAS,EAAC,wBAAwB,aACrC,YAAG,SAAS,EAAC,sBAAsB,4BAAgB,EACnD,YAAG,SAAS,EAAC,oCAAoC,oFAE7C,IACA,EACN,KAAC,WAAW,IACV,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAC7B,QAAQ,EAAE,UAAC,OAAO,IAAK,OAAA,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAvC,CAAuC,GAC9D,IACE,CACP,CAAC,CAAC,CAAC,IAAI,EACR,eAAK,SAAS,EAAC,8CAA8C,aAC3D,eAAK,SAAS,EAAC,wBAAwB,aACrC,YAAG,SAAS,EAAC,sBAAsB,yCAA6B,EAChE,YAAG,SAAS,EAAC,oCAAoC,uFAE7C,IACA,EACN,KAAC,WAAW,IACV,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,0BAA0B,EACjD,QAAQ,EAAE,UAAC,OAAO,IAAK,OAAA,MAAM,CAAC,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,EAA3D,CAA2D,GAClF,IACE,IACF,GACK,EAEb,MAAC,UAAU,IAAC,UAAU,QAAC,MAAM,EAAC,OAAO,EAAC,SAAS,EAAC,oBAAoB,aAClE,YAAG,SAAS,EAAC,yBAAyB,uEAA2D,EACjG,KAAC,0BAA0B,IACzB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,oBAAoB,GAC9B,IACS,IACT,GACF,CACP,CAAC;AACJ,CAAC;AAED,eAAe,UAAU,CAAC","sourcesContent":["import { FetchBaseQueryError } from \"@reduxjs/toolkit/dist/query\";\nimport { useFormik } from \"formik\";\nimport { useEffect, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport * as Yup from \"yup\";\nimport { BackButton } from \"../../../components/common/BackButton\";\nimport { CancelButton } from \"../../../components/common/CancelButton\";\nimport { SolidFormHeader } from \"../../../components/common/SolidFormHeader\";\nimport { ERROR_MESSAGES } from \"../../../constants/error-messages\";\nimport { useRouter } from \"../../../hooks/useRouter\";\nimport { useRegisterPrivateMutation, useUpdateUserMutation } from \"../../../redux/api/authApi\";\nimport { useDeleteUserMutation } from \"../../../redux/api/userApi\";\nimport { RolesGroupedByModuleWidget } from \"../../core/form/fields/relations/RolesGroupedByModuleWidget\";\nimport { showToast } from \"../../../redux/features/toastSlice\";\nimport {\n SolidButton,\n SolidInput,\n SolidMessage,\n SolidPanel,\n SolidPasswordInput,\n SolidSwitch,\n SolidTabGroup,\n} from \"../../shad-cn-ui\";\nimport { ApiKeysTab, GenerateApiKeyModal, RevealApiKeyModal } from \"./ApiKeysTab\";\nimport \"./CreateUser.css\";\n\ninterface ErrorResponseData {\n message: string;\n statusCode: number;\n error: string;\n}\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nconst CreateUser = ({ data, params }: any) => {\n const dispatch = useDispatch();\n const router = useRouter();\n const [selectedRoles, setSelectedRoles] = useState<string[]>([]);\n const [failedAttempts, setFailedAttempts] = useState<number>(data?.failedLoginAttempts ?? 0);\n const [activeTab, setActiveTab] = useState(\"userDetails\");\n const [newUserIdForApiKey, setNewUserIdForApiKey] = useState<number | null>(null);\n const [revealKey, setRevealKey] = useState<{ apiKey: string; keyName: string } | null>(null);\n\n const [registerPrivate, { isLoading, error: userCreateError }] = useRegisterPrivateMutation();\n const [\n updateUser,\n {\n isLoading: isUserUpdating,\n isSuccess: isUpdateUserSuccess,\n error: userUpdateError,\n },\n ] = useUpdateUserMutation();\n\n const [deleteUser, { isLoading: isUserDeleting, isSuccess: isDeleteUserSuccess }] = useDeleteUserMutation();\n\n useEffect(() => {\n if (data?.roles) {\n setSelectedRoles(data.roles.map((role: any) => role.name));\n }\n setFailedAttempts(data?.failedLoginAttempts ?? 0);\n }, [data]);\n\n const initialValues = {\n fullName: data?.fullName ?? \"\",\n username: data?.username ?? \"\",\n email: data?.email ?? \"\",\n mobile: data?.mobile ?? \"\",\n password: \"\",\n confirmPassword: \"\",\n active: data?.active ?? true,\n isAllowedToGenerateApiKeys: data?.isAllowedToGenerateApiKeys ?? false,\n };\n\n const validationSchema = Yup.object({\n fullName: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Full Name\")),\n username: Yup.string().required(\"Username is required\"),\n email: Yup.string()\n .email(ERROR_MESSAGES.FIELD_INVALID(\"email address\"))\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email\")),\n password: Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).nullable(),\n confirmPassword: Yup.string().when(\"password\", {\n is: (val: any) => !!val,\n then: (schema) => schema.oneOf([Yup.ref(\"password\")], ERROR_MESSAGES.FIELD_MUST_MATCH(\"Password\")).nullable(),\n otherwise: (schema) => schema.notRequired().nullable(),\n }),\n mobile: Yup.string().nullable(),\n });\n\n function isFetchBaseQueryErrorWithErrorResponse(\n error: any\n ): error is FetchBaseQueryError & { data: ErrorResponseData } {\n return error && typeof error === \"object\" && \"data\" in error && \"message\" in error.data;\n }\n\n const formik = useFormik({\n initialValues,\n validationSchema,\n enableReinitialize: true,\n onSubmit: async (values) => {\n if (data) {\n const userData: any = {\n fullName: values.fullName,\n username: values.username,\n email: values.email,\n mobile: values.mobile,\n roles: selectedRoles,\n active: values.active,\n isAllowedToGenerateApiKeys: values.isAllowedToGenerateApiKeys,\n };\n\n if (values.password) {\n userData.password = values.password;\n }\n\n updateUser({ id: data.id, data: userData });\n return;\n }\n\n try {\n const response = await registerPrivate({\n fullName: values.fullName,\n username: values.username,\n email: values.email,\n mobile: values.mobile,\n password: values.password,\n roles: selectedRoles,\n isAllowedToGenerateApiKeys: values.isAllowedToGenerateApiKeys,\n }).unwrap();\n\n if (values.isAllowedToGenerateApiKeys) {\n const userId = (response as any)?.data?.id ?? (response as any)?.id;\n if (userId) {\n setNewUserIdForApiKey(userId);\n return;\n }\n }\n router.back();\n } catch {\n // error shown via userCreateError effect\n }\n },\n });\n\n const fieldError = (fieldName: keyof typeof initialValues) =>\n formik.touched[fieldName] && formik.errors[fieldName] ? String(formik.errors[fieldName]) : \"\";\n\n const handleCheckboxChange = (roleName: string) => {\n const updatedRoles = selectedRoles.includes(roleName)\n ? selectedRoles.filter((name) => name !== roleName)\n : [...selectedRoles, roleName];\n\n setSelectedRoles(updatedRoles);\n formik.setFieldTouched(\"roles\", true);\n formik.setFieldValue(\"roles\", updatedRoles);\n };\n\n useEffect(() => {\n const handleError = (errorToast: any) => {\n let errorMessage: any = [ERROR_MESSAGES.ERROR_OCCURED];\n\n if (isFetchBaseQueryErrorWithErrorResponse(errorToast)) {\n errorMessage = errorToast.data.message;\n } else {\n errorMessage = [ERROR_MESSAGES.SOMETHING_WRONG];\n }\n\n const detail = Array.isArray(errorMessage) ? errorMessage.join(\", \") : errorMessage;\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail }));\n };\n\n if (userCreateError) handleError(userCreateError);\n if (userUpdateError) handleError(userUpdateError);\n }, [dispatch, userCreateError, userUpdateError]);\n\n useEffect(() => {\n if (isDeleteUserSuccess || isUpdateUserSuccess) {\n router.back();\n }\n }, [isDeleteUserSuccess, isUpdateUserSuccess, router]);\n\n const isEditMode = params.id !== \"new\";\n const isSaving = isLoading || isUserUpdating;\n\n const handleUnblockUser = async () => {\n if (!data?.id) return;\n\n try {\n await updateUser({\n id: data.id,\n data: { failedLoginAttempts: 0 },\n }).unwrap();\n dispatch(\n showToast({\n severity: \"success\",\n summary: \"Success\",\n detail: \"User is unblocked.\",\n })\n );\n setFailedAttempts(0);\n } catch {\n // error shown via userUpdateError effect\n }\n };\n\n return (\n <div className=\"solid-form-wrapper\">\n <div className=\"solid-form-section\">\n <form onSubmit={formik.handleSubmit}>\n <div className=\"solid-form-header flex items-center justify-between gap-4 flex-wrap\">\n <div className=\"solid-user-form-titleblock flex items-center gap-4\">\n <BackButton />\n <div>\n <div className=\"form-wrapper-title\">{isEditMode ? \"Update User\" : \"Create User\"}</div>\n <p className=\"solid-user-form-subtitle m-0\">\n {isEditMode\n ? \"Update account details, access roles, and security controls.\"\n : \"Create a user account and assign the right access roles.\"}\n </p>\n </div>\n </div>\n <div className=\"flex gap-4 flex-wrap\">\n {isEditMode && failedAttempts > 0 ? (\n <SolidButton size=\"small\" type=\"button\" variant=\"outline\" loading={isUserUpdating} onClick={handleUnblockUser}>\n Unblock User\n </SolidButton>\n ) : null}\n {formik.dirty ? (\n <SolidButton size=\"small\" type=\"submit\" loading={isSaving}>\n Save\n </SolidButton>\n ) : null}\n {data ? (\n <SolidButton\n size=\"small\"\n type=\"button\"\n variant=\"destructive\"\n loading={isUserDeleting}\n onClick={() => deleteUser(data.id)}\n >\n Delete\n </SolidButton>\n ) : null}\n <CancelButton />\n </div>\n </div>\n\n <SolidFormHeader />\n\n <div className=\"px-3 py-3 md:p-4 solid-form-content\">\n {isEditMode ? (\n <SolidTabGroup\n value={activeTab}\n onValueChange={setActiveTab}\n tabs={[\n {\n value: \"userDetails\",\n label: \"User Details\",\n content: (\n <UserDetailsContent\n formik={formik}\n fieldError={fieldError}\n selectedRoles={selectedRoles}\n handleCheckboxChange={handleCheckboxChange}\n isEditMode={isEditMode}\n />\n ),\n },\n {\n value: \"apiKeys\",\n label: \"API Keys\",\n content: (\n <div className=\"solid-user-edit-api-keys-pane\">\n <ApiKeysTab userId={data?.id} canCreate={data?.isAllowedToGenerateApiKeys ?? false} />\n </div>\n ),\n },\n ]}\n />\n ) : (\n <UserDetailsContent\n formik={formik}\n fieldError={fieldError}\n selectedRoles={selectedRoles}\n handleCheckboxChange={handleCheckboxChange}\n isEditMode={isEditMode}\n />\n )}\n </div>\n </form>\n </div>\n\n {newUserIdForApiKey !== null && (\n <GenerateApiKeyModal\n open={true}\n userId={newUserIdForApiKey}\n onClose={() => {\n setNewUserIdForApiKey(null);\n router.back();\n }}\n onCreated={(apiKey, keyName) => {\n setNewUserIdForApiKey(null);\n setRevealKey({ apiKey, keyName });\n }}\n />\n )}\n\n {revealKey && (\n <RevealApiKeyModal\n open={true}\n apiKey={revealKey.apiKey}\n keyName={revealKey.keyName}\n onClose={() => {\n setRevealKey(null);\n router.back();\n }}\n />\n )}\n </div>\n );\n};\n\n/** Extracted form body so it can be used both inside and outside the tab wrapper */\nfunction UserDetailsContent({\n formik,\n fieldError,\n selectedRoles,\n handleCheckboxChange,\n isEditMode,\n}: {\n formik: any;\n fieldError: (field: any) => string;\n selectedRoles: string[];\n handleCheckboxChange: (roleName: string) => void;\n isEditMode: boolean;\n}) {\n return (\n <div className=\"solid-user-details-layout\">\n <div className=\"solid-user-details-stack\">\n <SolidPanel header=\"Basic Info\" className=\"solid-column-panel\">\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"field flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2\">\n <label htmlFor=\"fullName\" className=\"form-field-label\">\n Full Name\n </label>\n <SolidInput\n type=\"text\"\n id=\"fullName\"\n name=\"fullName\"\n autoComplete=\"off\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.fullName}\n className={cx(fieldError(\"fullName\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"fullName\") ? <SolidMessage severity=\"error\" text={fieldError(\"fullName\")} /> : null}\n </div>\n\n <div className=\"field flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2\">\n <label htmlFor=\"username\" className=\"form-field-label\">\n Username\n </label>\n <SolidInput\n type=\"text\"\n id=\"username\"\n name=\"username\"\n autoComplete=\"off\"\n disabled={Boolean(formik.values.username) && isEditMode}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.username}\n className={cx(fieldError(\"username\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"username\") ? <SolidMessage severity=\"error\" text={fieldError(\"username\")} /> : null}\n </div>\n\n <div className=\"field mt-4 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2\">\n <label htmlFor=\"email\" className=\"form-field-label\">\n Email\n </label>\n <SolidInput\n type=\"email\"\n id=\"email\"\n name=\"email\"\n autoComplete=\"off\"\n disabled={isEditMode}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.email}\n className={cx(fieldError(\"email\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"email\") ? <SolidMessage severity=\"error\" text={fieldError(\"email\")} /> : null}\n </div>\n\n <div className=\"field mt-4 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2\">\n <label htmlFor=\"mobile\" className=\"form-field-label\">\n Mobile\n </label>\n <SolidInput\n type=\"text\"\n id=\"mobile\"\n name=\"mobile\"\n autoComplete=\"off\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.mobile}\n className={cx(fieldError(\"mobile\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"mobile\") ? <SolidMessage severity=\"error\" text={fieldError(\"mobile\")} /> : null}\n </div>\n\n {!isEditMode ? (\n <>\n <div className=\"field mt-4 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2\">\n <label htmlFor=\"password\" className=\"form-field-label\">\n Password\n </label>\n <SolidPasswordInput\n id=\"password\"\n name=\"password\"\n autoComplete=\"off\"\n value={formik.values.password}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n className={cx(fieldError(\"password\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"password\") ? <SolidMessage severity=\"error\" text={fieldError(\"password\")} /> : null}\n </div>\n\n <div className=\"field mt-4 flex w-full flex-col gap-2 px-2 pt-2 md:w-1/2\">\n <label htmlFor=\"confirmPassword\" className=\"form-field-label\">\n Confirm Password\n </label>\n <SolidPasswordInput\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n autoComplete=\"off\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n className={cx(fieldError(\"confirmPassword\") && \"solid-user-form-input-invalid\")}\n />\n {fieldError(\"confirmPassword\") ? (\n <SolidMessage severity=\"error\" text={fieldError(\"confirmPassword\")} />\n ) : null}\n </div>\n </>\n ) : null}\n </div>\n </SolidPanel>\n\n <SolidPanel toggleable header=\"Access\" className=\"solid-column-panel\">\n <div className=\"flex flex-wrap -mx-2 -mt-2 solid-user-access-grid\">\n {isEditMode ? (\n <div className=\"field w-full px-2 pt-2 solid-user-access-row\">\n <div className=\"solid-user-access-copy\">\n <p className=\"form-field-label m-0\">Active User</p>\n <p className=\"solid-user-section-helper m-0 mt-1\">\n Control whether this user account is active and allowed to sign in.\n </p>\n </div>\n <SolidSwitch\n checked={formik.values.active}\n onChange={(checked) => formik.setFieldValue(\"active\", checked)}\n />\n </div>\n ) : null}\n <div className=\"field w-full px-2 pt-2 solid-user-access-row\">\n <div className=\"solid-user-access-copy\">\n <p className=\"form-field-label m-0\">Allow API Key Generation</p>\n <p className=\"solid-user-section-helper m-0 mt-1\">\n When enabled, this user can generate API keys for programmatic access.\n </p>\n </div>\n <SolidSwitch\n checked={formik.values.isAllowedToGenerateApiKeys}\n onChange={(checked) => formik.setFieldValue(\"isAllowedToGenerateApiKeys\", checked)}\n />\n </div>\n </div>\n </SolidPanel>\n\n <SolidPanel toggleable header=\"Roles\" className=\"solid-column-panel\">\n <p className=\"solid-user-section-copy\">Select the roles that should be assigned to this user.</p>\n <RolesGroupedByModuleWidget\n selectedRoles={selectedRoles}\n onToggle={handleCheckboxChange}\n />\n </SolidPanel>\n </div>\n </div>\n );\n}\n\nexport default CreateUser;\n"]}