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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (871) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/auth/handleLogout.d.ts +1 -1
  3. package/dist/adapters/auth/handleLogout.d.ts.map +1 -1
  4. package/dist/adapters/auth/handleLogout.js +20 -32
  5. package/dist/adapters/auth/handleLogout.js.map +1 -1
  6. package/dist/adapters/auth/handleLogout.ts +7 -14
  7. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  8. package/dist/components/auth/AuthLayout.js +23 -19
  9. package/dist/components/auth/AuthLayout.js.map +1 -1
  10. package/dist/components/auth/AuthLayout.tsx +62 -52
  11. package/dist/components/auth/ForgotPasswordThankYou.js +1 -1
  12. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  13. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -2
  14. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.d.ts +2 -0
  15. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.d.ts.map +1 -0
  16. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.js +112 -0
  17. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.js.map +1 -0
  18. package/dist/components/auth/MicrosoftActiveDirectoryAuthChecking.tsx +78 -0
  19. package/dist/components/auth/SolidChangeForcePassword.js +2 -2
  20. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  21. package/dist/components/auth/SolidChangeForcePassword.tsx +13 -13
  22. package/dist/components/auth/SolidForgotPassword.js +1 -1
  23. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  24. package/dist/components/auth/SolidForgotPassword.tsx +3 -3
  25. package/dist/components/auth/SolidInitialLoginOtp.js +1 -1
  26. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  27. package/dist/components/auth/SolidInitialLoginOtp.tsx +2 -2
  28. package/dist/components/auth/SolidInitiateRegisterOtp.js +1 -1
  29. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  30. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +2 -2
  31. package/dist/components/auth/SolidLogin.js +4 -4
  32. package/dist/components/auth/SolidLogin.js.map +1 -1
  33. package/dist/components/auth/SolidLogin.tsx +13 -13
  34. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  35. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  36. package/dist/components/auth/SolidOTPVerify.js +67 -0
  37. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  38. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  39. package/dist/components/auth/SolidRegister.js +6 -6
  40. package/dist/components/auth/SolidRegister.js.map +1 -1
  41. package/dist/components/auth/SolidRegister.tsx +15 -15
  42. package/dist/components/auth/SolidResetPassword.js +2 -2
  43. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  44. package/dist/components/auth/SolidResetPassword.tsx +8 -8
  45. package/dist/components/common/AuthBanner.js.map +1 -1
  46. package/dist/components/common/BackButton.js +1 -1
  47. package/dist/components/common/BackButton.js.map +1 -1
  48. package/dist/components/common/BackButton.tsx +1 -1
  49. package/dist/components/common/CancelButton.js +2 -2
  50. package/dist/components/common/CancelButton.js.map +1 -1
  51. package/dist/components/common/CancelButton.tsx +3 -3
  52. package/dist/components/common/GeneralSettings.js +18 -18
  53. package/dist/components/common/GeneralSettings.js.map +1 -1
  54. package/dist/components/common/GeneralSettings.tsx +137 -137
  55. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  56. package/dist/components/common/SettingsComponent.js +4 -1
  57. package/dist/components/common/SettingsComponent.js.map +1 -1
  58. package/dist/components/common/SettingsComponent.module.css +95 -2
  59. package/dist/components/common/SettingsComponent.tsx +4 -1
  60. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  61. package/dist/components/common/SocialMediaLogin.js +1 -1
  62. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  63. package/dist/components/common/SocialMediaLogin.tsx +4 -0
  64. package/dist/components/common/SolidExport.d.ts +1 -1
  65. package/dist/components/common/SolidExport.d.ts.map +1 -1
  66. package/dist/components/common/SolidExport.js +11 -4
  67. package/dist/components/common/SolidExport.js.map +1 -1
  68. package/dist/components/common/SolidExport.tsx +12 -2
  69. package/dist/components/common/SolidFaviconProvider.d.ts +3 -0
  70. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -0
  71. package/dist/components/common/SolidFaviconProvider.js +102 -0
  72. package/dist/components/common/SolidFaviconProvider.js.map +1 -0
  73. package/dist/components/common/SolidFaviconProvider.tsx +55 -0
  74. package/dist/components/common/SolidFormHeader.js +1 -1
  75. package/dist/components/common/SolidFormHeader.js.map +1 -1
  76. package/dist/components/common/SolidFormHeader.tsx +1 -1
  77. package/dist/components/common/SolidModuleHome.js +2 -2
  78. package/dist/components/common/SolidModuleHome.js.map +1 -1
  79. package/dist/components/common/SolidModuleHome.tsx +7 -7
  80. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js +3 -3
  81. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.js.map +1 -1
  82. package/dist/components/common/SolidSettings/LlmSettings/AiModelConfigTab.tsx +6 -6
  83. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js +1 -1
  84. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.js.map +1 -1
  85. package/dist/components/common/SolidSettings/LlmSettings/AnthropicProviderComponent.tsx +4 -4
  86. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js +1 -1
  87. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.js.map +1 -1
  88. package/dist/components/common/SolidSettings/LlmSettings/OpenAiProviderComponent.tsx +4 -4
  89. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js +1 -1
  90. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.js.map +1 -1
  91. package/dist/components/common/SolidSettings/SettingDropzoneActivePlaceholder.tsx +1 -1
  92. package/dist/components/core/card/SolidCardView.js +1 -1
  93. package/dist/components/core/card/SolidCardView.js.map +1 -1
  94. package/dist/components/core/card/SolidCardView.tsx +6 -6
  95. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  96. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  97. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  98. package/dist/components/core/card/SolidCardViewConfigure.tsx +5 -1
  99. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  100. package/dist/components/core/chatter/SolidChatter.js +29 -16
  101. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  102. package/dist/components/core/chatter/SolidChatter.tsx +28 -14
  103. package/dist/components/core/chatter/SolidChatterAuditMessage.js +1 -1
  104. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  105. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +2 -2
  106. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  107. package/dist/components/core/chatter/SolidChatterHeader.js +2 -2
  108. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  109. package/dist/components/core/chatter/SolidChatterHeader.tsx +10 -6
  110. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +1 -0
  111. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  112. package/dist/components/core/chatter/SolidChatterMessageBox.js +151 -12
  113. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  114. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +256 -15
  115. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  116. package/dist/components/core/chatter/SolidMessageComposer.js +3 -2
  117. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  118. package/dist/components/core/chatter/SolidMessageComposer.tsx +11 -9
  119. package/dist/components/core/chatter/chatter.module.css +1 -1
  120. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  121. package/dist/components/core/common/FilterComponent.js +5 -3
  122. package/dist/components/core/common/FilterComponent.js.map +1 -1
  123. package/dist/components/core/common/FilterComponent.tsx +6 -2
  124. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  125. package/dist/components/core/common/GroupingComponent.js +2 -2
  126. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  127. package/dist/components/core/common/GroupingComponent.tsx +2 -0
  128. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  129. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  130. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  131. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  132. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  133. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  134. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +1 -10
  135. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  136. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +1 -8
  137. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  138. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +6 -11
  139. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  140. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +5 -31
  141. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  142. package/dist/components/core/common/SolidCreateButton.js +16 -1
  143. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  144. package/dist/components/core/common/SolidCreateButton.tsx +18 -1
  145. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +61 -1
  146. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  147. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +3 -1
  148. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  149. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +4 -2
  150. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.d.ts.map +1 -1
  151. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js +19 -1
  152. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.js.map +1 -1
  153. package/dist/components/core/common/SolidGenericImport/SolidImportInstructions.tsx +16 -3
  154. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  155. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +168 -26
  156. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  157. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +174 -10
  158. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  159. package/dist/components/core/common/SolidGlobalSearchElement.js +180 -90
  160. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  161. package/dist/components/core/common/SolidGlobalSearchElement.tsx +167 -49
  162. package/dist/components/core/common/SolidLayoutViews.js +2 -2
  163. package/dist/components/core/common/SolidLayoutViews.js.map +1 -1
  164. package/dist/components/core/common/SolidLayoutViews.tsx +4 -4
  165. package/dist/components/core/common/SolidListViewOptions.js +1 -1
  166. package/dist/components/core/common/SolidListViewOptions.js.map +1 -1
  167. package/dist/components/core/common/SolidListViewOptions.tsx +1 -1
  168. package/dist/components/core/common/SolidPasswordHelperText.js +2 -2
  169. package/dist/components/core/common/SolidPasswordHelperText.js.map +1 -1
  170. package/dist/components/core/common/SolidPasswordHelperText.tsx +4 -4
  171. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  172. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  173. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  174. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +0 -1
  175. package/dist/components/core/common/SolidSearchBox.js +1 -1
  176. package/dist/components/core/common/SolidSearchBox.js.map +1 -1
  177. package/dist/components/core/common/SolidSearchBox.tsx +1 -1
  178. package/dist/components/core/common/SolidXAiIframe.js +1 -1
  179. package/dist/components/core/common/SolidXAiIframe.js.map +1 -1
  180. package/dist/components/core/common/SolidXAiIframe.tsx +1 -1
  181. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts +4 -0
  182. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts.map +1 -0
  183. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js +79 -0
  184. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js.map +1 -0
  185. package/dist/components/core/dashboard/mappers/echartsOptionMapper.ts +81 -0
  186. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts +3 -0
  187. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts.map +1 -0
  188. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js +17 -0
  189. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js.map +1 -0
  190. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.tsx +6 -0
  191. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts +3 -0
  192. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts.map +1 -0
  193. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js +41 -0
  194. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js.map +1 -0
  195. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.tsx +56 -0
  196. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts +3 -0
  197. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts.map +1 -0
  198. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js +14 -0
  199. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js.map +1 -0
  200. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.tsx +19 -0
  201. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts +3 -0
  202. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts.map +1 -0
  203. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js +17 -0
  204. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js.map +1 -0
  205. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.tsx +6 -0
  206. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts +3 -0
  207. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts.map +1 -0
  208. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js +17 -0
  209. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js.map +1 -0
  210. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.tsx +6 -0
  211. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts +3 -0
  212. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts.map +1 -0
  213. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js +12 -0
  214. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js.map +1 -0
  215. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.tsx +39 -0
  216. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts +3 -0
  217. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts.map +1 -0
  218. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js +7 -0
  219. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js.map +1 -0
  220. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.tsx +9 -0
  221. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts +3 -0
  222. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts.map +1 -0
  223. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js +203 -0
  224. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js.map +1 -0
  225. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.tsx +251 -0
  226. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js +1 -1
  227. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.js.map +1 -1
  228. package/dist/components/core/extension/solid-core/listOfValues/form/SolidLovTypeChangeFormEditWidget.tsx +2 -2
  229. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +16 -0
  230. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -0
  231. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +31 -0
  232. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -0
  233. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +43 -0
  234. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts +3 -0
  235. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts.map +1 -0
  236. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js +141 -0
  237. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js.map +1 -0
  238. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.tsx +205 -0
  239. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts +4 -0
  240. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts.map +1 -0
  241. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js +112 -0
  242. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js.map +1 -0
  243. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.tsx +146 -0
  244. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts +11 -0
  245. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts.map +1 -0
  246. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js +22 -0
  247. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js.map +1 -0
  248. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.tsx +36 -0
  249. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts +3 -0
  250. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts.map +1 -0
  251. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js +133 -0
  252. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js.map +1 -0
  253. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.ts +76 -0
  254. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +2 -2
  255. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  256. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +5 -5
  257. package/dist/components/core/field/FieldListViewData.js +2 -2
  258. package/dist/components/core/field/FieldListViewData.js.map +1 -1
  259. package/dist/components/core/field/FieldListViewData.tsx +5 -5
  260. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  261. package/dist/components/core/filter/fields/SolidBooleanField.js +2 -2
  262. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  263. package/dist/components/core/filter/fields/SolidBooleanField.tsx +5 -13
  264. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  265. package/dist/components/core/filter/fields/SolidDateField.js +2 -2
  266. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  267. package/dist/components/core/filter/fields/SolidDateField.tsx +4 -3
  268. package/dist/components/core/filter/fields/SolidDatetimeField.d.ts.map +1 -1
  269. package/dist/components/core/filter/fields/SolidDatetimeField.js +2 -2
  270. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  271. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +5 -4
  272. package/dist/components/core/filter/fields/SolidExternalIdField.d.ts.map +1 -1
  273. package/dist/components/core/filter/fields/SolidExternalIdField.js +2 -2
  274. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  275. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +4 -3
  276. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  277. package/dist/components/core/filter/fields/SolidIdField.js +2 -2
  278. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  279. package/dist/components/core/filter/fields/SolidIdField.tsx +3 -2
  280. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  281. package/dist/components/core/filter/fields/SolidIntField.js +2 -2
  282. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  283. package/dist/components/core/filter/fields/SolidIntField.tsx +4 -3
  284. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  285. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +2 -2
  286. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  287. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +4 -3
  288. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  289. package/dist/components/core/filter/fields/SolidMediaSingleField.js +2 -2
  290. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  291. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +4 -3
  292. package/dist/components/core/filter/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  293. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +2 -2
  294. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  295. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +5 -4
  296. package/dist/components/core/filter/fields/SolidSelectionStaticField.d.ts.map +1 -1
  297. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +2 -2
  298. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  299. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +5 -4
  300. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  301. package/dist/components/core/filter/fields/SolidShortTextField.js +2 -2
  302. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  303. package/dist/components/core/filter/fields/SolidShortTextField.tsx +4 -3
  304. package/dist/components/core/filter/fields/SolidTimeField.d.ts.map +1 -1
  305. package/dist/components/core/filter/fields/SolidTimeField.js +2 -2
  306. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  307. package/dist/components/core/filter/fields/SolidTimeField.tsx +5 -4
  308. package/dist/components/core/filter/fields/SolidUuidField.d.ts.map +1 -1
  309. package/dist/components/core/filter/fields/SolidUuidField.js +2 -2
  310. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  311. package/dist/components/core/filter/fields/SolidUuidField.tsx +5 -4
  312. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  313. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +2 -2
  314. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  315. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +5 -4
  316. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  317. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +2 -2
  318. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  319. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +5 -4
  320. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  321. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +2 -2
  322. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  323. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +5 -4
  324. package/dist/components/core/form/SolidFormActionHeader.js +8 -8
  325. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  326. package/dist/components/core/form/SolidFormActionHeader.tsx +13 -13
  327. package/dist/components/core/form/SolidFormFieldRender.js +1 -1
  328. package/dist/components/core/form/SolidFormFieldRender.js.map +1 -1
  329. package/dist/components/core/form/SolidFormFieldRender.tsx +1 -1
  330. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  331. package/dist/components/core/form/SolidFormFooter.js +14 -7
  332. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  333. package/dist/components/core/form/SolidFormFooter.tsx +16 -7
  334. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  335. package/dist/components/core/form/SolidFormView.js +207 -68
  336. package/dist/components/core/form/SolidFormView.js.map +1 -1
  337. package/dist/components/core/form/SolidFormView.tsx +197 -45
  338. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  339. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +16 -3
  340. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  341. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +25 -16
  342. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  343. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +19 -5
  344. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  345. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +25 -9
  346. package/dist/components/core/form/SolidFormViewShimmerLoading.js +1 -1
  347. package/dist/components/core/form/SolidFormViewShimmerLoading.js.map +1 -1
  348. package/dist/components/core/form/SolidFormViewShimmerLoading.tsx +46 -46
  349. package/dist/components/core/form/field-quality-check-fixes.md +201 -0
  350. package/dist/components/core/form/fields/SolidBooleanField.js +3 -3
  351. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  352. package/dist/components/core/form/fields/SolidBooleanField.tsx +3 -3
  353. package/dist/components/core/form/fields/SolidComputedField.js +1 -1
  354. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -1
  355. package/dist/components/core/form/fields/SolidComputedField.tsx +1 -1
  356. package/dist/components/core/form/fields/SolidDateField.js +2 -2
  357. package/dist/components/core/form/fields/SolidDateField.js.map +1 -1
  358. package/dist/components/core/form/fields/SolidDateField.tsx +2 -2
  359. package/dist/components/core/form/fields/SolidDateTimeField.js +2 -2
  360. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  361. package/dist/components/core/form/fields/SolidDateTimeField.tsx +2 -2
  362. package/dist/components/core/form/fields/SolidDecimalField.js +1 -1
  363. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  364. package/dist/components/core/form/fields/SolidDecimalField.tsx +1 -1
  365. package/dist/components/core/form/fields/SolidEmailField.js +1 -1
  366. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  367. package/dist/components/core/form/fields/SolidEmailField.tsx +1 -1
  368. package/dist/components/core/form/fields/SolidIntegerField.js +3 -3
  369. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  370. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -3
  371. package/dist/components/core/form/fields/SolidJsonField.js +3 -3
  372. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  373. package/dist/components/core/form/fields/SolidJsonField.tsx +3 -3
  374. package/dist/components/core/form/fields/SolidLongTextField.d.ts +0 -1
  375. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  376. package/dist/components/core/form/fields/SolidLongTextField.js +6 -58
  377. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  378. package/dist/components/core/form/fields/SolidLongTextField.tsx +12 -107
  379. package/dist/components/core/form/fields/SolidMediaMultipleField.js +11 -11
  380. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  381. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +28 -28
  382. package/dist/components/core/form/fields/SolidMediaSingleField.js +5 -5
  383. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  384. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +9 -9
  385. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  386. package/dist/components/core/form/fields/SolidPasswordField.js +12 -6
  387. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  388. package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -6
  389. package/dist/components/core/form/fields/SolidRichTextField.js +2 -2
  390. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  391. package/dist/components/core/form/fields/SolidRichTextField.tsx +2 -2
  392. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +2 -2
  393. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  394. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +2 -2
  395. package/dist/components/core/form/fields/SolidSelectionStaticField.js +1 -1
  396. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  397. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +1 -1
  398. package/dist/components/core/form/fields/SolidShortTextField.js +1 -1
  399. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  400. package/dist/components/core/form/fields/SolidShortTextField.tsx +1 -1
  401. package/dist/components/core/form/fields/SolidTimeField.js +2 -2
  402. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  403. package/dist/components/core/form/fields/SolidTimeField.tsx +2 -2
  404. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +8 -0
  405. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -0
  406. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +123 -0
  407. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -0
  408. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +140 -0
  409. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  410. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +20 -18
  411. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  412. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +47 -37
  413. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  414. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +18 -18
  415. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  416. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +17 -13
  417. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  418. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +19 -17
  419. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  420. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +28 -27
  421. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +1 -1
  422. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  423. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +1 -1
  424. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js +1 -1
  425. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.js.map +1 -1
  426. package/dist/components/core/form/fields/widgets/SolidAiInteractionMessageFieldFormWidget.tsx +1 -1
  427. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js +1 -1
  428. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.js.map +1 -1
  429. package/dist/components/core/form/fields/widgets/SolidAiInteractionMetadataFieldFormWidget.tsx +1 -1
  430. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +5 -5
  431. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  432. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +17 -17
  433. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js +1 -1
  434. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.js.map +1 -1
  435. package/dist/components/core/form/fields/widgets/SolidRelationFieldAvatarFormWidget.tsx +1 -1
  436. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js +1 -1
  437. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.js.map +1 -1
  438. package/dist/components/core/form/fields/widgets/SolidShortTextFieldAvatarWidget.tsx +1 -1
  439. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  440. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  441. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  442. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  443. package/dist/components/core/kanban/KanbanBoard.tsx +2 -1
  444. package/dist/components/core/kanban/KanbanCard.d.ts +1 -0
  445. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  446. package/dist/components/core/kanban/KanbanCard.js +15 -4
  447. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  448. package/dist/components/core/kanban/KanbanCard.tsx +27 -4
  449. package/dist/components/core/kanban/KanbanColumn.d.ts +2 -1
  450. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  451. package/dist/components/core/kanban/KanbanColumn.js +4 -4
  452. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  453. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  454. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  455. package/dist/components/core/kanban/SolidKanbanView.js +44 -39
  456. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  457. package/dist/components/core/kanban/SolidKanbanView.tsx +22 -10
  458. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  459. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  460. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  461. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +5 -1
  462. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  463. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  464. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +2 -1
  465. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  466. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  467. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  468. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +10 -21
  469. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  470. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  471. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  472. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +10 -18
  473. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  474. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +6 -3
  475. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  476. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +24 -30
  477. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  478. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  479. package/dist/components/core/list/ListViewRowActionPopup.js +1 -1
  480. package/dist/components/core/list/ListViewRowActionPopup.js.map +1 -1
  481. package/dist/components/core/list/ListViewRowActionPopup.tsx +1 -2
  482. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +1 -1
  483. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  484. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +3 -3
  485. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  486. package/dist/components/core/list/SolidDataTable.js +3 -2
  487. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  488. package/dist/components/core/list/SolidDataTable.tsx +9 -10
  489. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  490. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -0
  491. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  492. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -0
  493. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  494. package/dist/components/core/list/SolidListView.js +123 -100
  495. package/dist/components/core/list/SolidListView.js.map +1 -1
  496. package/dist/components/core/list/SolidListView.tsx +70 -41
  497. package/dist/components/core/list/SolidListViewColumn.d.ts +3 -1
  498. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  499. package/dist/components/core/list/SolidListViewColumn.js +27 -2
  500. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  501. package/dist/components/core/list/SolidListViewColumn.tsx +16 -3
  502. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  503. package/dist/components/core/list/SolidListViewConfigure.js +11 -10
  504. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  505. package/dist/components/core/list/SolidListViewConfigure.tsx +9 -3
  506. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  507. package/dist/components/core/list/SolidListViewHeaderButton.js +13 -3
  508. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  509. package/dist/components/core/list/SolidListViewHeaderButton.tsx +16 -7
  510. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  511. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +19 -7
  512. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  513. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +19 -6
  514. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  515. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +14 -5
  516. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  517. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +17 -6
  518. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -1
  519. package/dist/components/core/list/SolidListViewRowActionsMenu.js +7 -1
  520. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  521. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +5 -1
  522. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  523. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  524. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +7 -6
  525. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  526. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +10 -9
  527. package/dist/components/core/list/SolidListingHeader.js +1 -1
  528. package/dist/components/core/list/SolidListingHeader.js.map +1 -1
  529. package/dist/components/core/list/SolidListingHeader.tsx +4 -4
  530. package/dist/components/core/list/SolidTableRowCell.js +1 -1
  531. package/dist/components/core/list/SolidTableRowCell.js.map +1 -1
  532. package/dist/components/core/list/SolidTableRowCell.tsx +1 -1
  533. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  534. package/dist/components/core/list/columns/SolidBooleanColumn.js +4 -6
  535. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  536. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -3
  537. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  538. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +8 -7
  539. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  540. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +11 -10
  541. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  542. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +6 -5
  543. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  544. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +6 -5
  545. package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
  546. package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
  547. package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
  548. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  549. package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
  550. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
  551. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  552. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +9 -4
  553. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  554. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +14 -4
  555. package/dist/components/core/list/field-quality-check-fixes.md +178 -0
  556. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js +1 -1
  557. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.js.map +1 -1
  558. package/dist/components/core/list/widgets/SolidManyToManyRelationAvatarListWidget.tsx +1 -1
  559. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +1 -1
  560. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -1
  561. package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +1 -2
  562. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts +3 -0
  563. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts.map +1 -0
  564. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js +39 -0
  565. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js.map +1 -0
  566. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.tsx +50 -0
  567. package/dist/components/core/locales/SolidLocale.js +3 -3
  568. package/dist/components/core/locales/SolidLocale.js.map +1 -1
  569. package/dist/components/core/locales/SolidLocale.tsx +7 -7
  570. package/dist/components/core/locales/solid-locale.css +5 -4
  571. package/dist/components/core/model/CreateModel.css +48 -0
  572. package/dist/components/core/model/CreateModel.d.ts +1 -0
  573. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  574. package/dist/components/core/model/CreateModel.js +80 -128
  575. package/dist/components/core/model/CreateModel.js.map +1 -1
  576. package/dist/components/core/model/CreateModel.tsx +102 -226
  577. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  578. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  579. package/dist/components/core/model/FieldMetaData.js +7 -23
  580. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  581. package/dist/components/core/model/FieldMetaData.tsx +17 -50
  582. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  583. package/dist/components/core/model/FieldMetaDataForm.js +198 -224
  584. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  585. package/dist/components/core/model/FieldMetaDataForm.tsx +75 -302
  586. package/dist/components/core/model/ModelListViewData.js +4 -4
  587. package/dist/components/core/model/ModelListViewData.js.map +1 -1
  588. package/dist/components/core/model/ModelListViewData.tsx +7 -7
  589. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  590. package/dist/components/core/model/ModelMetaData.js +13 -25
  591. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  592. package/dist/components/core/model/ModelMetaData.tsx +18 -79
  593. package/dist/components/core/module/CreateModule.css +44 -0
  594. package/dist/components/core/module/CreateModule.d.ts +1 -0
  595. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  596. package/dist/components/core/module/CreateModule.js +40 -57
  597. package/dist/components/core/module/CreateModule.js.map +1 -1
  598. package/dist/components/core/module/CreateModule.tsx +246 -264
  599. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  600. package/dist/components/core/module/ModuleListViewData.js +48 -8
  601. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  602. package/dist/components/core/module/ModuleListViewData.tsx +65 -7
  603. package/dist/components/core/module/ModuleMetadataExplorer.css +638 -0
  604. package/dist/components/core/module/ModuleMetadataExplorer.d.ts +15 -0
  605. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -0
  606. package/dist/components/core/module/ModuleMetadataExplorer.js +666 -0
  607. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -0
  608. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1000 -0
  609. package/dist/components/core/module/ModulePackageDialog.css +540 -0
  610. package/dist/components/core/module/ModulePackageDialog.d.ts +16 -0
  611. package/dist/components/core/module/ModulePackageDialog.d.ts.map +1 -0
  612. package/dist/components/core/module/ModulePackageDialog.js +625 -0
  613. package/dist/components/core/module/ModulePackageDialog.js.map +1 -0
  614. package/dist/components/core/module/ModulePackageDialog.tsx +906 -0
  615. package/dist/components/core/solid-ai/SolidAiChat.module.css +2 -2
  616. package/dist/components/core/tree/SolidTreeTable.js +1 -1
  617. package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
  618. package/dist/components/core/tree/SolidTreeTable.tsx +1 -1
  619. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  620. package/dist/components/core/tree/SolidTreeView.js +4 -4
  621. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  622. package/dist/components/core/tree/SolidTreeView.tsx +16 -12
  623. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  624. package/dist/components/core/users/CreateUser.js +51 -27
  625. package/dist/components/core/users/CreateUser.js.map +1 -1
  626. package/dist/components/core/users/CreateUser.tsx +47 -68
  627. package/dist/components/core/users/CreateUserRole.js +2 -2
  628. package/dist/components/core/users/CreateUserRole.js.map +1 -1
  629. package/dist/components/core/users/CreateUserRole.tsx +9 -9
  630. package/dist/components/core/users/UserListView.js +4 -4
  631. package/dist/components/core/users/UserListView.js.map +1 -1
  632. package/dist/components/core/users/UserListView.tsx +6 -6
  633. package/dist/components/layout/AdminHeaderActions.d.ts +8 -0
  634. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -0
  635. package/dist/components/layout/AdminHeaderActions.js +77 -0
  636. package/dist/components/layout/AdminHeaderActions.js.map +1 -0
  637. package/dist/components/layout/AdminHeaderActions.tsx +155 -0
  638. package/dist/components/layout/AdminSidebar.js +1 -1
  639. package/dist/components/layout/AdminSidebar.js.map +1 -1
  640. package/dist/components/layout/AdminSidebar.tsx +1 -1
  641. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  642. package/dist/components/layout/AdminTopHeader.js +14 -5
  643. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  644. package/dist/components/layout/AdminTopHeader.tsx +35 -28
  645. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  646. package/dist/components/layout/AppSidebar.js +2 -1
  647. package/dist/components/layout/AppSidebar.js.map +1 -1
  648. package/dist/components/layout/AppSidebar.tsx +2 -0
  649. package/dist/components/layout/CustomPagination.js +0 -1
  650. package/dist/components/layout/CustomPagination.js.map +1 -1
  651. package/dist/components/layout/CustomPagination.tsx +0 -1
  652. package/dist/components/layout/FilterMenu.js +1 -1
  653. package/dist/components/layout/FilterMenu.js.map +1 -1
  654. package/dist/components/layout/FilterMenu.tsx +4 -4
  655. package/dist/components/layout/Footer.js +1 -1
  656. package/dist/components/layout/Footer.js.map +1 -1
  657. package/dist/components/layout/Footer.tsx +1 -1
  658. package/dist/components/layout/GlobalSearch.js +1 -1
  659. package/dist/components/layout/GlobalSearch.js.map +1 -1
  660. package/dist/components/layout/GlobalSearch.tsx +1 -1
  661. package/dist/components/layout/ListingHeader.js +3 -3
  662. package/dist/components/layout/ListingHeader.js.map +1 -1
  663. package/dist/components/layout/ListingHeader.tsx +4 -4
  664. package/dist/components/layout/Loader.js +1 -1
  665. package/dist/components/layout/Loader.js.map +1 -1
  666. package/dist/components/layout/Loader.tsx +1 -1
  667. package/dist/components/layout/UserSidebar.js +1 -1
  668. package/dist/components/layout/UserSidebar.js.map +1 -1
  669. package/dist/components/layout/UserSidebar.tsx +1 -1
  670. package/dist/components/layout/navbar-one.js +2 -2
  671. package/dist/components/layout/navbar-one.js.map +1 -1
  672. package/dist/components/layout/navbar-one.tsx +8 -8
  673. package/dist/components/layout/navbar-two-menu.js +2 -2
  674. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  675. package/dist/components/layout/navbar-two-menu.tsx +7 -7
  676. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  677. package/dist/components/layout/user-profile-menu.js +57 -33
  678. package/dist/components/layout/user-profile-menu.js.map +1 -1
  679. package/dist/components/layout/user-profile-menu.tsx +11 -59
  680. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +2 -1
  681. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  682. package/dist/components/shad-cn-ui/SolidAutocomplete.js +60 -6
  683. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  684. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +81 -22
  685. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  686. package/dist/components/shad-cn-ui/SolidButton.js +10 -2
  687. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  688. package/dist/components/shad-cn-ui/SolidButton.tsx +10 -2
  689. package/dist/components/shad-cn-ui/SolidCodeEditor.d.ts.map +1 -1
  690. package/dist/components/shad-cn-ui/SolidCodeEditor.js +3 -1
  691. package/dist/components/shad-cn-ui/SolidCodeEditor.js.map +1 -1
  692. package/dist/components/shad-cn-ui/SolidCodeEditor.tsx +3 -0
  693. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  694. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  695. package/dist/components/shad-cn-ui/SolidDatePicker.js +2 -2
  696. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  697. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +4 -0
  698. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  699. package/dist/components/shad-cn-ui/SolidDialog.js +38 -4
  700. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  701. package/dist/components/shad-cn-ui/SolidDialog.tsx +47 -3
  702. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -1
  703. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  704. package/dist/components/shad-cn-ui/SolidIcon.js +1 -0
  705. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  706. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -0
  707. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -1
  708. package/dist/components/shad-cn-ui/SolidPasswordInput.js +1 -1
  709. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -1
  710. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +1 -0
  711. package/dist/components/shad-cn-ui/SolidPopover.d.ts +1 -0
  712. package/dist/components/shad-cn-ui/SolidPopover.d.ts.map +1 -1
  713. package/dist/components/shad-cn-ui/SolidPopover.js +124 -5
  714. package/dist/components/shad-cn-ui/SolidPopover.js.map +1 -1
  715. package/dist/components/shad-cn-ui/SolidPopover.tsx +173 -10
  716. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  717. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  718. package/dist/components/shad-cn-ui/SolidSelect.js +51 -1
  719. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  720. package/dist/components/shad-cn-ui/SolidSelect.tsx +95 -0
  721. package/dist/constants/error-messages.d.ts +13 -0
  722. package/dist/constants/error-messages.d.ts.map +1 -1
  723. package/dist/constants/error-messages.js +17 -0
  724. package/dist/constants/error-messages.js.map +1 -1
  725. package/dist/constants/error-messages.ts +15 -0
  726. package/dist/helpers/buttonEnvironment.d.ts +5 -0
  727. package/dist/helpers/buttonEnvironment.d.ts.map +1 -0
  728. package/dist/helpers/buttonEnvironment.js +30 -0
  729. package/dist/helpers/buttonEnvironment.js.map +1 -0
  730. package/dist/helpers/buttonEnvironment.ts +35 -0
  731. package/dist/helpers/buttonPresentation.d.ts +24 -0
  732. package/dist/helpers/buttonPresentation.d.ts.map +1 -0
  733. package/dist/helpers/buttonPresentation.js +28 -0
  734. package/dist/helpers/buttonPresentation.js.map +1 -0
  735. package/dist/helpers/buttonPresentation.ts +53 -0
  736. package/dist/helpers/fileTypeIcon.d.ts +12 -0
  737. package/dist/helpers/fileTypeIcon.d.ts.map +1 -0
  738. package/dist/helpers/fileTypeIcon.js +37 -0
  739. package/dist/helpers/fileTypeIcon.js.map +1 -0
  740. package/dist/helpers/fileTypeIcon.tsx +65 -0
  741. package/dist/helpers/registry.d.ts.map +1 -1
  742. package/dist/helpers/registry.js +28 -10
  743. package/dist/helpers/registry.js.map +1 -1
  744. package/dist/helpers/registry.ts +31 -13
  745. package/dist/helpers/waitForBackendAvailability.d.ts +7 -0
  746. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -0
  747. package/dist/helpers/waitForBackendAvailability.js +86 -0
  748. package/dist/helpers/waitForBackendAvailability.js.map +1 -0
  749. package/dist/helpers/waitForBackendAvailability.ts +37 -0
  750. package/dist/index.d.ts +8 -9
  751. package/dist/index.d.ts.map +1 -1
  752. package/dist/index.js +6 -8
  753. package/dist/index.js.map +1 -1
  754. package/dist/index.ts +32 -13
  755. package/dist/nextAuth/authProviders.d.ts +4 -0
  756. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  757. package/dist/nextAuth/authProviders.js +198 -0
  758. package/dist/nextAuth/authProviders.js.map +1 -0
  759. package/dist/nextAuth/authProviders.tsx +232 -0
  760. package/dist/nextAuth/handleLogout.d.ts +2 -0
  761. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  762. package/dist/nextAuth/handleLogout.js +36 -0
  763. package/dist/nextAuth/handleLogout.js.map +1 -0
  764. package/dist/nextAuth/handleLogout.tsx +39 -0
  765. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  766. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  767. package/dist/nextAuth/refreshAccessToken.js +24 -0
  768. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  769. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  770. package/dist/redux/api/dashboardRuntimeApi.d.ts +34 -0
  771. package/dist/redux/api/dashboardRuntimeApi.d.ts.map +1 -0
  772. package/dist/redux/api/dashboardRuntimeApi.js +79 -0
  773. package/dist/redux/api/dashboardRuntimeApi.js.map +1 -0
  774. package/dist/redux/api/dashboardRuntimeApi.ts +75 -0
  775. package/dist/redux/api/moduleApi.d.ts +26 -1
  776. package/dist/redux/api/moduleApi.d.ts.map +1 -1
  777. package/dist/redux/api/moduleApi.js +237 -1
  778. package/dist/redux/api/moduleApi.js.map +1 -1
  779. package/dist/redux/api/moduleApi.ts +181 -1
  780. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  781. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  782. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  783. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  784. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  785. package/dist/redux/features/settingsSlice.d.ts +20 -0
  786. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  787. package/dist/redux/features/settingsSlice.js +39 -0
  788. package/dist/redux/features/settingsSlice.js.map +1 -0
  789. package/dist/redux/features/settingsSlice.ts +60 -0
  790. package/dist/redux/store/defaultStoreConfig.d.ts +57 -9
  791. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  792. package/dist/redux/store/defaultStoreConfig.js +2 -6
  793. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  794. package/dist/redux/store/defaultStoreConfig.ts +2 -6
  795. package/dist/redux/store/solidEntityApiPool.d.ts +1 -0
  796. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  797. package/dist/redux/store/solidEntityApiPool.js +4 -0
  798. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  799. package/dist/redux/store/solidEntityApiPool.ts +4 -0
  800. package/dist/resources/globals.css +195 -20
  801. package/dist/resources/shadcn-base.css +392 -175
  802. package/dist/resources/solid-custom.css +6565 -0
  803. package/dist/resources/solid-primereact.css +14 -12
  804. package/dist/resources/solid-responsive.css +259 -51
  805. package/dist/resources/solid-tailwind-generated.css +1 -0
  806. package/dist/resources/solid-tailwind.css +3 -0
  807. package/dist/routes/AppEventListener.d.ts.map +1 -1
  808. package/dist/routes/AppEventListener.js +58 -8
  809. package/dist/routes/AppEventListener.js.map +1 -1
  810. package/dist/routes/AppEventListener.tsx +69 -8
  811. package/dist/routes/pages/admin/core/DashboardPage.d.ts +1 -0
  812. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  813. package/dist/routes/pages/admin/core/DashboardPage.js +860 -5
  814. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  815. package/dist/routes/pages/admin/core/DashboardPage.module.css +219 -0
  816. package/dist/routes/pages/admin/core/DashboardPage.tsx +1025 -7
  817. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts +2 -0
  818. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.d.ts.map +1 -0
  819. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js +6 -0
  820. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.js.map +1 -0
  821. package/dist/routes/pages/auth/InitiateMicrosoftActiveDirectoryOauthPage.tsx +5 -0
  822. package/dist/routes/pages/auth/SsoPage.js +1 -1
  823. package/dist/routes/pages/auth/SsoPage.js.map +1 -1
  824. package/dist/routes/pages/auth/SsoPage.tsx +1 -1
  825. package/dist/routes/solidRoutes.d.ts.map +1 -1
  826. package/dist/routes/solidRoutes.js +2 -2
  827. package/dist/routes/solidRoutes.js.map +1 -1
  828. package/dist/routes/solidRoutes.tsx +2 -2
  829. package/dist/routes/types.d.ts +1 -1
  830. package/dist/routes/types.d.ts.map +1 -1
  831. package/dist/routes/types.js.map +1 -1
  832. package/dist/routes/types.ts +1 -1
  833. package/dist/styles.d.ts +2 -1
  834. package/dist/styles.d.ts.map +1 -1
  835. package/dist/styles.js +2 -1
  836. package/dist/styles.js.map +1 -1
  837. package/dist/styles.ts +2 -1
  838. package/dist/types/dashboard.d.ts +16 -0
  839. package/dist/types/dashboard.d.ts.map +1 -0
  840. package/dist/types/dashboard.js +2 -0
  841. package/dist/types/dashboard.js.map +1 -0
  842. package/dist/types/dashboard.ts +23 -0
  843. package/dist/types/extension-registry.d.ts +1 -0
  844. package/dist/types/extension-registry.d.ts.map +1 -1
  845. package/dist/types/extension-registry.js +1 -0
  846. package/dist/types/extension-registry.js.map +1 -1
  847. package/dist/types/extension-registry.ts +1 -0
  848. package/dist/types/index.d.ts +3 -0
  849. package/dist/types/jsoneditor.d.ts +4 -0
  850. package/dist/types/solid-core.d.ts +1 -0
  851. package/package.json +9 -3
  852. package/dist/components/core/list/SolidDataTablePagination.d.ts +0 -15
  853. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +0 -1
  854. package/dist/components/core/list/SolidDataTablePagination.js +0 -22
  855. package/dist/components/core/list/SolidDataTablePagination.js.map +0 -1
  856. package/dist/components/core/list/SolidDataTablePagination.tsx +0 -71
  857. package/dist/components/solid-ui/SolidButton.d.ts +0 -14
  858. package/dist/components/solid-ui/SolidButton.d.ts.map +0 -1
  859. package/dist/components/solid-ui/SolidButton.js +0 -36
  860. package/dist/components/solid-ui/SolidButton.js.map +0 -1
  861. package/dist/components/solid-ui/SolidButton.tsx +0 -54
  862. package/dist/components/solid-ui/SolidTabs.d.ts +0 -18
  863. package/dist/components/solid-ui/SolidTabs.d.ts.map +0 -1
  864. package/dist/components/solid-ui/SolidTabs.js +0 -22
  865. package/dist/components/solid-ui/SolidTabs.js.map +0 -1
  866. package/dist/components/solid-ui/SolidTabs.tsx +0 -73
  867. package/dist/components/solid-ui/index.d.ts +0 -3
  868. package/dist/components/solid-ui/index.d.ts.map +0 -1
  869. package/dist/components/solid-ui/index.js +0 -3
  870. package/dist/components/solid-ui/index.js.map +0 -1
  871. package/dist/components/solid-ui/index.ts +0 -2
@@ -303,6 +303,9 @@ export function SettingsComponent() {
303
303
  response = _b.sent();
304
304
  if ((response === null || response === void 0 ? void 0 : response.statusCode) === 200) {
305
305
  dispatch(showToast({ severity: "success", summary: "Updated", detail: "Settings updated" }));
306
+ if (typeof window !== "undefined") {
307
+ window.dispatchEvent(new CustomEvent("solid:settings-updated"));
308
+ }
306
309
  }
307
310
  else {
308
311
  dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));
@@ -346,6 +349,6 @@ export function SettingsComponent() {
346
349
  })()) : null) : null] }))] }, setting.key));
347
350
  }) })] }) }, group.key)); })) : (_jsx("div", { className: styles.emptyState, children: "No settings match the current filter." })) })),
348
351
  }); });
349
- return (_jsxs("div", { className: styles.page, children: [_jsxs("div", { className: "page-header secondary-border-bottom", children: [_jsxs("div", { className: styles.headerIntro, children: [_jsx("div", { className: "form-wrapper-title", children: "Settings" }), _jsx("div", { className: styles.subtitle, children: "Manage platform configuration across modules from a single workspace." }), _jsxs("div", { className: styles.summaryChips, children: [_jsxs("span", { className: styles.summaryChip, children: [moduleEntries.length, " module", moduleEntries.length === 1 ? "" : "s"] }), _jsxs("span", { className: styles.summaryChip, children: [totalSettingsCount, " setting", totalSettingsCount === 1 ? "" : "s"] }), _jsxs("button", { type: "button", className: "".concat(styles.summaryChip, " ").concat(styles.summaryChipButton, " ").concat(filterMode === "editable" ? styles.summaryChipActive : ""), "aria-pressed": filterMode === "editable", onClick: function () { return setFilterMode(function (current) { return (current === "editable" ? "all" : "editable"); }); }, children: [editableSettingsCount, " editable"] })] })] }), _jsxs("div", { className: styles.headerSearch, children: [_jsxs("div", { className: styles.searchIcon, children: [_jsx(Search, { size: 16 }), _jsx(SolidInput, { className: styles.searchInput, value: searchTerm, placeholder: "Search settings, groups, or modules", onChange: function (event) { return setSearchTerm(event.target.value); } })] }), searchTerm ? (_jsxs("span", { className: styles.resultsMeta, children: [filteredSettings.length, " result", filteredSettings.length === 1 ? "" : "s"] })) : null] }), _jsxs("div", { className: styles.toolbarActions, children: [_jsxs("div", { className: styles.legend, children: [_jsx("button", { type: "button", className: "".concat(styles.readonlyFilterButton, " ").concat(filterMode === "read-only" ? styles.readonlyFilterButtonActive : ""), "aria-pressed": filterMode === "read-only", "aria-label": filterMode === "read-only" ? "Disable read-only filter" : "Enable read-only filter", onClick: function () { return setFilterMode(function (current) { return (current === "read-only" ? "all" : "read-only"); }); }, children: _jsx(SolidTag, { tone: "warn", children: "Read only" }) }), _jsx("span", { className: filterMode === "read-only" ? styles.legendLabelActive : undefined, children: filterMode === "read-only" ? "Read-only filter active" : "System-managed value" }), _jsxs(SolidTooltip, { children: [_jsx(SolidTooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", className: styles.legendButton, "aria-label": "Read-only legend details", children: "i" }) }), _jsx(SolidTooltipContent, { children: "Read-only settings are visible here for context, but can only be changed through environment or backend configuration." })] })] }), _jsx(SolidButton, { size: "sm", type: "button", loading: false, onClick: handleSave, disabled: !hasChanges, children: "Save" })] })] }), _jsx("div", { className: styles.workspace, children: moduleTabs.length ? (_jsx(SolidTabGroup, { tabs: moduleTabs, value: activeModule, onValueChange: setActiveModule, className: styles.tabGroup, listClassName: styles.tabList, panelClassName: styles.tabPanel, orientation: "vertical" })) : (_jsx("div", { className: styles.emptyState, children: "No settings are available." })) })] }));
352
+ return (_jsxs("div", { className: styles.page, children: [_jsxs("div", { className: "page-header secondary-border-bottom ".concat(styles.pageHeader), children: [_jsxs("div", { className: styles.headerIntro, children: [_jsx("div", { className: "form-wrapper-title", children: "Settings" }), _jsx("div", { className: styles.subtitle, children: "Manage platform configuration across modules from a single workspace." }), _jsxs("div", { className: styles.summaryChips, children: [_jsxs("span", { className: styles.summaryChip, children: [moduleEntries.length, " module", moduleEntries.length === 1 ? "" : "s"] }), _jsxs("span", { className: styles.summaryChip, children: [totalSettingsCount, " setting", totalSettingsCount === 1 ? "" : "s"] }), _jsxs("button", { type: "button", className: "".concat(styles.summaryChip, " ").concat(styles.summaryChipButton, " ").concat(filterMode === "editable" ? styles.summaryChipActive : ""), "aria-pressed": filterMode === "editable", onClick: function () { return setFilterMode(function (current) { return (current === "editable" ? "all" : "editable"); }); }, children: [editableSettingsCount, " editable"] })] })] }), _jsxs("div", { className: styles.headerSearch, children: [_jsxs("div", { className: styles.searchIcon, children: [_jsx(Search, { size: 16 }), _jsx(SolidInput, { className: styles.searchInput, value: searchTerm, placeholder: "Search settings, groups, or modules", onChange: function (event) { return setSearchTerm(event.target.value); } })] }), searchTerm ? (_jsxs("span", { className: styles.resultsMeta, children: [filteredSettings.length, " result", filteredSettings.length === 1 ? "" : "s"] })) : null] }), _jsxs("div", { className: styles.toolbarActions, children: [_jsxs("div", { className: styles.legend, children: [_jsx("button", { type: "button", className: "".concat(styles.readonlyFilterButton, " ").concat(filterMode === "read-only" ? styles.readonlyFilterButtonActive : ""), "aria-pressed": filterMode === "read-only", "aria-label": filterMode === "read-only" ? "Disable read-only filter" : "Enable read-only filter", onClick: function () { return setFilterMode(function (current) { return (current === "read-only" ? "all" : "read-only"); }); }, children: _jsx(SolidTag, { tone: "warn", children: "Read only" }) }), _jsx("span", { className: filterMode === "read-only" ? styles.legendLabelActive : undefined, children: filterMode === "read-only" ? "Read-only filter active" : "System-managed value" }), _jsxs(SolidTooltip, { children: [_jsx(SolidTooltipTrigger, { asChild: true, children: _jsx("button", { type: "button", className: styles.legendButton, "aria-label": "Read-only legend details", children: "i" }) }), _jsx(SolidTooltipContent, { children: "Read-only settings are visible here for context, but can only be changed through environment or backend configuration." })] })] }), _jsx(SolidButton, { size: "sm", type: "button", loading: false, onClick: handleSave, disabled: !hasChanges, children: "Save" })] })] }), _jsx("div", { className: styles.workspace, children: moduleTabs.length ? (_jsx(SolidTabGroup, { tabs: moduleTabs, value: activeModule, onValueChange: setActiveModule, className: styles.tabGroup, listClassName: styles.tabList, panelClassName: styles.tabPanel, orientation: "vertical" })) : (_jsx("div", { className: styles.emptyState, children: "No settings are available." })) })] }));
350
353
  }
351
354
  //# sourceMappingURL=SettingsComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsComponent.js","sourceRoot":"","sources":["../../../src/components/common/SettingsComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useMemo, useState, type ComponentType } from \"react\";\nimport { Search } from \"lucide-react\";\nimport { useDispatch } from \"react-redux\";\nimport { env } from \"../../adapters/env\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { getExtensionComponent } from \"../../helpers/registry\";\nimport {\n extractSettingsList,\n getSettingOptionLabel,\n getSettingsMap,\n humanizeSettingToken,\n type AdminSettingDefinition,\n} from \"../../helpers/settingsPayload\";\nimport type { SolidSettingsWidgetProps } from \"../../types/solid-core\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport {\n useBulkUpdateSolidSettingsMutation,\n useGetSolidSettingsQuery,\n} from \"../../redux/api/solidSettingsApi\";\nimport {\n SolidButton,\n SolidDatePicker,\n SolidInput,\n SolidSelect,\n SolidSwitch,\n SolidTabGroup,\n SolidTag,\n SolidTextarea,\n SolidTooltip,\n SolidTooltipContent,\n SolidTooltipTrigger,\n} from \"../shad-cn-ui\";\nimport { SettingDropzoneActivePlaceholder } from \"./SolidSettings/SettingDropzoneActivePlaceholder\";\nimport { SettingsImageRemoveButton } from \"./SolidSettings/SettingsImageRemoveButton\";\nimport { SolidUploadedImage } from \"./SolidSettings/SolidUploadedImage\";\nimport styles from \"./SettingsComponent.module.css\";\n\ntype SettingsFormValue = string | number | boolean | null | File;\ntype SettingsFilterMode = \"all\" | \"read-only\" | \"editable\";\n\nfunction normalizeAssetUrl(src?: string | null) {\n if (!src) return \"\";\n const isBlobOrAbsolute = src.startsWith(\"blob:\") || src.startsWith(\"http\");\n if (isBlobOrAbsolute || src.startsWith(\"/\")) return src;\n return `${env(\"API_URL\")}/${src}`;\n}\n\nfunction toModuleInitials(moduleName: string) {\n return moduleName\n .split(/[-_\\s]+/)\n .filter(Boolean)\n .map((token) => token[0]?.toUpperCase())\n .join(\"\")\n .slice(0, 2);\n}\n\nfunction serializeValue(value: unknown) {\n if (value === null || value === undefined) return \"\";\n if (typeof value === \"string\") return value;\n return JSON.stringify(value);\n}\n\nfunction areValuesEqual(left: unknown, right: unknown) {\n if (left instanceof File || right instanceof File) return false;\n return serializeValue(left) === serializeValue(right);\n}\n\nfunction formatReadonlyValue(setting: AdminSettingDefinition, value: unknown) {\n if (value === null || value === undefined || value === \"\") {\n return \"Not set\";\n }\n\n if (setting.controlType === \"boolean\") {\n return value ? \"Enabled\" : \"Disabled\";\n }\n\n if (setting.controlType === \"selectionStatic\") {\n return getSettingOptionLabel(setting, value);\n }\n\n if (setting.controlType === \"mediaSingle\") {\n return String(value);\n }\n\n if (typeof value === \"object\") {\n return JSON.stringify(value, null, 2);\n }\n\n return String(value);\n}\n\nfunction getSettingsWidgetName(setting: AdminSettingDefinition) {\n return setting.settingsWidget || \"\";\n}\n\nfunction getCustomWidgetErrorText(setting: AdminSettingDefinition, widgetName: string, settingsWidget: ComponentType<any> | null) {\n if (setting.controlType !== \"custom\") return null;\n if (!widgetName) {\n return `controlType is \"custom\" for setting \"${setting.key}\" but no settingsWidget is specified.`;\n }\n if (!settingsWidget) {\n return `Widget \"${widgetName}\" is not registered for setting \"${setting.key}\".`;\n }\n return null;\n}\n\nexport function SettingsComponent() {\n const dispatch = useDispatch();\n const { data: settingsResponse, refetch } = useGetSolidSettingsQuery(undefined);\n const [bulkUpdateSolidSettings] = useBulkUpdateSolidSettingsMutation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [filterMode, setFilterMode] = useState<SettingsFilterMode>(\"all\");\n const [activeModule, setActiveModule] = useState(\"\");\n const [formValues, setFormValues] = useState<Record<string, SettingsFormValue>>({});\n const [filePreviews, setFilePreviews] = useState<Record<string, string>>({});\n\n const settingsList = useMemo(\n () => extractSettingsList(settingsResponse).filter((setting) => setting.level !== \"internal-user\"),\n [settingsResponse],\n );\n const settingsMap = useMemo(() => getSettingsMap(settingsResponse), [settingsResponse]);\n const totalSettingsCount = settingsList.length;\n const editableSettingsCount = useMemo(\n () => settingsList.filter((setting) => setting.editable).length,\n [settingsList],\n );\n\n useEffect(() => {\n if (!settingsList.length) return;\n const nextValues = Object.fromEntries(\n settingsList.map((setting) => [setting.key, settingsMap[setting.key] ?? setting.value ?? null]),\n );\n setFormValues(nextValues);\n }, [settingsList, settingsMap]);\n\n const filteredSettings = useMemo(() => {\n const scopedSettings = settingsList.filter((setting) => {\n if (filterMode === \"read-only\") return !setting.editable;\n if (filterMode === \"editable\") return setting.editable;\n return true;\n });\n const query = searchTerm.trim().toLowerCase();\n if (!query) return scopedSettings;\n\n return scopedSettings.filter((setting) => {\n const haystack = [\n setting.moduleName,\n setting.group,\n setting.key,\n setting.label,\n setting.description,\n setting.options?.map((option) => `${option.label} ${option.value}`).join(\" \"),\n ]\n .filter(Boolean)\n .join(\" \")\n .toLowerCase();\n\n return haystack.includes(query);\n });\n }, [filterMode, searchTerm, settingsList]);\n\n const moduleEntries = useMemo(() => {\n const grouped = new Map<string, AdminSettingDefinition[]>();\n filteredSettings.forEach((setting) => {\n const current = grouped.get(setting.moduleName) ?? [];\n current.push(setting);\n grouped.set(setting.moduleName, current);\n });\n\n return Array.from(grouped.entries()).map(([moduleName, moduleSettings]) => ({\n moduleName,\n label: humanizeSettingToken(moduleName),\n badge: toModuleInitials(moduleName) || \"S\",\n settings: moduleSettings,\n }));\n }, [filteredSettings]);\n\n useEffect(() => {\n if (!moduleEntries.length) {\n setActiveModule(\"\");\n return;\n }\n\n if (!moduleEntries.some((entry) => entry.moduleName === activeModule)) {\n setActiveModule(moduleEntries[0].moduleName);\n }\n }, [activeModule, moduleEntries]);\n\n const hasChanges = useMemo(\n () =>\n settingsList.some(\n (setting) =>\n setting.editable &&\n !areValuesEqual(formValues[setting.key], settingsMap[setting.key] ?? setting.value ?? null),\n ),\n [formValues, settingsList, settingsMap],\n );\n\n const groupedModuleSettings = useMemo(() => {\n const currentModule = moduleEntries.find((entry) => entry.moduleName === activeModule);\n if (!currentModule) return [];\n\n const grouped = new Map<string, AdminSettingDefinition[]>();\n currentModule.settings.forEach((setting) => {\n const groupKey = setting.group || \"general\";\n const current = grouped.get(groupKey) ?? [];\n current.push(setting);\n grouped.set(groupKey, current);\n });\n\n return Array.from(grouped.entries()).map(([groupKey, groupSettings]) => ({\n key: groupKey,\n label: humanizeSettingToken(groupKey),\n settings: groupSettings.sort((left, right) => {\n const leftSort = left.sortOrder ?? Number.MAX_SAFE_INTEGER;\n const rightSort = right.sortOrder ?? Number.MAX_SAFE_INTEGER;\n if (leftSort !== rightSort) return leftSort - rightSort;\n return (left.label ?? left.key).localeCompare(right.label ?? right.key);\n }),\n }));\n }, [activeModule, moduleEntries]);\n\n const updateValue = (key: string, value: SettingsFormValue) => {\n setFormValues((current) => ({ ...current, [key]: value }));\n };\n\n const updateFileValue = (key: string, file: File | null) => {\n if (!file) {\n if (filePreviews[key]) {\n URL.revokeObjectURL(filePreviews[key]);\n }\n setFilePreviews((current) => {\n const next = { ...current };\n delete next[key];\n return next;\n });\n updateValue(key, null);\n return;\n }\n\n if (file.size > 2 * 1024 * 1024) {\n dispatch(showToast({ severity: \"error\", summary: \"File too large\", detail: \"Maximum file size is 2MB\" }));\n return;\n }\n\n if (filePreviews[key]) {\n URL.revokeObjectURL(filePreviews[key]);\n }\n\n const preview = URL.createObjectURL(file);\n setFilePreviews((current) => ({ ...current, [key]: preview }));\n updateValue(key, file);\n };\n\n useEffect(\n () => () => {\n Object.values(filePreviews).forEach((preview) => URL.revokeObjectURL(preview));\n },\n [filePreviews],\n );\n\n const handleSave = async () => {\n try {\n const updatedSettingsArray: Array<{ key: string; value: string; type: string }> = [];\n const formData = new FormData();\n\n settingsList.forEach((setting) => {\n if (!setting.editable) return;\n\n const nextValue = formValues[setting.key];\n const currentValue = settingsMap[setting.key] ?? setting.value ?? null;\n\n if (nextValue instanceof File) {\n formData.append(setting.key, nextValue);\n updatedSettingsArray.push({ key: setting.key, value: \"\", type: \"system\" });\n return;\n }\n\n if (!areValuesEqual(nextValue, currentValue)) {\n updatedSettingsArray.push({\n key: setting.key,\n value: serializeValue(nextValue),\n type: \"system\",\n });\n }\n });\n\n if (!updatedSettingsArray.length) {\n dispatch(showToast({ severity: \"success\", summary: \"No Changes\", detail: \"No settings were updated\" }));\n return;\n }\n\n formData.append(\"settings\", JSON.stringify(updatedSettingsArray));\n const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();\n\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: \"Updated\", detail: \"Settings updated\" }));\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n\n await refetch();\n setFilePreviews({});\n } catch (error: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: error?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n };\n\n const moduleTabs = moduleEntries.map((entry) => ({\n value: entry.moduleName,\n label: (\n <span className={styles.moduleTab}>\n <span className={styles.moduleTabBadge}>{entry.badge}</span>\n <span className={styles.moduleTabText}>\n <span className={styles.moduleTabLabel}>{entry.label}</span>\n <span className={styles.moduleTabMeta}>{entry.settings.length} settings</span>\n </span>\n </span>\n ),\n content: (\n <div>\n {groupedModuleSettings.length ? (\n groupedModuleSettings.map((group) => (\n <section key={group.key} className={styles.groupSection}>\n <div className={styles.groupCard}>\n <div className={styles.groupHeader}>\n <div>\n <h3 className={styles.groupTitle}>{group.label}</h3>\n <div className={styles.groupMeta}>{group.settings.length} item{group.settings.length === 1 ? \"\" : \"s\"}</div>\n </div>\n </div>\n <div className={styles.groupBody}>\n {group.settings.map((setting) => {\n const value = formValues[setting.key];\n const settingsWidgetName = getSettingsWidgetName(setting);\n const SettingsWidget = settingsWidgetName ? getExtensionComponent(settingsWidgetName) : null;\n const customWidgetErrorText = getCustomWidgetErrorText(setting, settingsWidgetName, SettingsWidget);\n const settingsWidgetProps: SolidSettingsWidgetProps = {\n setting,\n value,\n settingsMap,\n formValues,\n editable: Boolean(setting.editable),\n updateValue,\n updateFileValue,\n };\n return (\n <div key={setting.key} className={styles.settingRow}>\n <div className={styles.settingLabelWrap}>\n <div className={styles.settingLabelLine}>\n <p className={styles.settingLabel}>{setting.label || humanizeSettingToken(setting.key)}</p>\n {!setting.editable ? (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <span>\n <SolidTag tone=\"warn\">Read only</SolidTag>\n </span>\n </SolidTooltipTrigger>\n <SolidTooltipContent>\n This value comes from system configuration and cannot be changed from the admin UI.\n </SolidTooltipContent>\n </SolidTooltip>\n ) : null}\n </div>\n {setting.description ? <p className={styles.settingDescription}>{setting.description}</p> : null}\n </div>\n\n {!setting.editable ? (\n setting.controlType === \"custom\" ? (\n customWidgetErrorText ? (\n <div className={styles.readonlyValue}>\n <span className={styles.customWidgetError}>{customWidgetErrorText}</span>\n </div>\n ) : SettingsWidget ? (\n (() => {\n const ResolvedSettingsWidget = SettingsWidget as ComponentType<any>;\n return <ResolvedSettingsWidget {...settingsWidgetProps} />;\n })()\n ) : null\n ) : setting.controlType === \"mediaSingle\" && value ? (\n <div className={styles.mediaPreview}>\n <SolidUploadedImage src={normalizeAssetUrl(String(value))} />\n </div>\n ) : (\n <div className={styles.readonlyValue}>\n <span className={value === null || value === undefined || value === \"\" ? styles.emptyValue : undefined}>\n {formatReadonlyValue(setting, value)}\n </span>\n </div>\n )\n ) : (\n <div className={`${styles.controlStack} ${setting.controlType === \"custom\" ? styles.customControlStack : \"\"}`}>\n {setting.controlType === \"boolean\" ? (\n <div className={styles.boolRow}>\n <SolidSwitch checked={Boolean(value)} onChange={(checked) => updateValue(setting.key, checked)} />\n <span className={styles.boolText}>{value ? \"Enabled\" : \"Disabled\"}</span>\n </div>\n ) : null}\n\n {setting.controlType === \"shortText\" ? (\n <SolidInput\n type=\"text\"\n value={value == null ? \"\" : String(value)}\n placeholder={setting.placeholder || setting.label}\n onChange={(event: any) => updateValue(setting.key, event.target.value)}\n />\n ) : null}\n\n {setting.controlType === \"longText\" ? (\n <SolidTextarea\n rows={4}\n value={value == null ? \"\" : typeof value === \"string\" ? value : JSON.stringify(value, null, 2)}\n placeholder={setting.placeholder || setting.label}\n onChange={(event: any) => updateValue(setting.key, event.target.value)}\n />\n ) : null}\n\n {setting.controlType === \"numeric\" ? (\n <SolidInput\n type=\"number\"\n value={value == null ? \"\" : String(value)}\n placeholder={setting.placeholder || setting.label}\n onChange={(event: any) => updateValue(setting.key, event.target.value === \"\" ? null : Number(event.target.value))}\n />\n ) : null}\n\n {setting.controlType === \"selectionStatic\" ? (\n <SolidSelect\n value={value}\n options={setting.options || []}\n placeholder={setting.placeholder || \"Select\"}\n onChange={(event) => updateValue(setting.key, event.value)}\n />\n ) : null}\n\n {setting.controlType === \"date\" || setting.controlType === \"datetime\" ? (\n <SolidDatePicker\n selected={value ? new Date(String(value)) : null}\n showTimeSelect={setting.controlType === \"datetime\"}\n dateFormat={setting.controlType === \"datetime\" ? \"yyyy-MM-dd HH:mm:ss\" : \"yyyy-MM-dd\"}\n onChange={(date: Date | null) => updateValue(setting.key, date instanceof Date ? date.toISOString() : null)}\n />\n ) : null}\n\n {setting.controlType === \"mediaSingle\" ? (\n <div className={styles.mediaField}>\n <div className={styles.mediaComposer}>\n <label className={styles.mediaDropzone}>\n <input\n className={styles.mediaInput}\n type=\"file\"\n accept=\".png,.jpg,.jpeg,.svg,.webp\"\n onChange={(event) => updateFileValue(setting.key, event.target.files?.[0] ?? null)}\n />\n <SettingDropzoneActivePlaceholder note=\"PNG, JPG, JPEG, SVG, WEBP | Max size: 2 MB\" />\n </label>\n {(filePreviews[setting.key] || value) ? (\n <div className={styles.mediaPreview}>\n <SolidUploadedImage src={filePreviews[setting.key] || normalizeAssetUrl(String(value))} />\n </div>\n ) : (\n <div className={styles.mediaEmptyState}>Preview appears here after upload</div>\n )}\n </div>\n {(filePreviews[setting.key] || value) ? (\n <SettingsImageRemoveButton onClick={() => updateFileValue(setting.key, null)} />\n ) : null}\n </div>\n ) : null}\n\n {setting.controlType === \"custom\" ? (\n customWidgetErrorText ? (\n <div className={styles.readonlyValue}>\n <span className={styles.customWidgetError}>{customWidgetErrorText}</span>\n </div>\n ) : SettingsWidget ? (\n (() => {\n const ResolvedSettingsWidget = SettingsWidget as ComponentType<any>;\n return <ResolvedSettingsWidget {...settingsWidgetProps} />;\n })()\n ) : null\n ) : null}\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n </section>\n ))\n ) : (\n <div className={styles.emptyState}>No settings match the current filter.</div>\n )}\n </div>\n ),\n }));\n\n return (\n <div className={styles.page}>\n <div className=\"page-header secondary-border-bottom\">\n <div className={styles.headerIntro}>\n <div className=\"form-wrapper-title\">Settings</div>\n <div className={styles.subtitle}>Manage platform configuration across modules from a single workspace.</div>\n <div className={styles.summaryChips}>\n <span className={styles.summaryChip}>{moduleEntries.length} module{moduleEntries.length === 1 ? \"\" : \"s\"}</span>\n <span className={styles.summaryChip}>{totalSettingsCount} setting{totalSettingsCount === 1 ? \"\" : \"s\"}</span>\n <button\n type=\"button\"\n className={`${styles.summaryChip} ${styles.summaryChipButton} ${filterMode === \"editable\" ? styles.summaryChipActive : \"\"}`}\n aria-pressed={filterMode === \"editable\"}\n onClick={() => setFilterMode((current) => (current === \"editable\" ? \"all\" : \"editable\"))}\n >\n {editableSettingsCount} editable\n </button>\n </div>\n </div>\n <div className={styles.headerSearch}>\n <div className={styles.searchIcon}>\n <Search size={16} />\n <SolidInput\n className={styles.searchInput}\n value={searchTerm}\n placeholder=\"Search settings, groups, or modules\"\n onChange={(event: any) => setSearchTerm(event.target.value)}\n />\n </div>\n {searchTerm ? (\n <span className={styles.resultsMeta}>\n {filteredSettings.length} result{filteredSettings.length === 1 ? \"\" : \"s\"}\n </span>\n ) : null}\n </div>\n <div className={styles.toolbarActions}>\n <div className={styles.legend}>\n <button\n type=\"button\"\n className={`${styles.readonlyFilterButton} ${filterMode === \"read-only\" ? styles.readonlyFilterButtonActive : \"\"}`}\n aria-pressed={filterMode === \"read-only\"}\n aria-label={filterMode === \"read-only\" ? \"Disable read-only filter\" : \"Enable read-only filter\"}\n onClick={() => setFilterMode((current) => (current === \"read-only\" ? \"all\" : \"read-only\"))}\n >\n <SolidTag tone=\"warn\">Read only</SolidTag>\n </button>\n <span className={filterMode === \"read-only\" ? styles.legendLabelActive : undefined}>\n {filterMode === \"read-only\" ? \"Read-only filter active\" : \"System-managed value\"}\n </span>\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <button type=\"button\" className={styles.legendButton} aria-label=\"Read-only legend details\">\n i\n </button>\n </SolidTooltipTrigger>\n <SolidTooltipContent>\n Read-only settings are visible here for context, but can only be changed through environment or backend configuration.\n </SolidTooltipContent>\n </SolidTooltip>\n </div>\n <SolidButton size=\"sm\" type=\"button\" loading={false} onClick={handleSave} disabled={!hasChanges}>\n Save\n </SolidButton>\n </div>\n </div>\n\n <div className={styles.workspace}>\n {moduleTabs.length ? (\n <SolidTabGroup\n tabs={moduleTabs}\n value={activeModule}\n onValueChange={setActiveModule}\n className={styles.tabGroup}\n listClassName={styles.tabList}\n panelClassName={styles.tabPanel}\n orientation=\"vertical\"\n />\n ) : (\n <div className={styles.emptyState}>No settings are available.</div>\n )}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SettingsComponent.js","sourceRoot":"","sources":["../../../src/components/common/SettingsComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,oBAAoB,GAErB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EACL,kCAAkC,EAClC,wBAAwB,GACzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,MAAM,MAAM,gCAAgC,CAAC;AAKpD,SAAS,iBAAiB,CAAC,GAAmB;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,gBAAgB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACxD,OAAO,UAAG,GAAG,CAAC,SAAS,CAAC,cAAI,GAAG,CAAE,CAAC;AACpC,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,OAAO,UAAU;SACd,KAAK,CAAC,SAAS,CAAC;SAChB,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,UAAC,KAAK,YAAK,OAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAA,EAAA,CAAC;SACvC,IAAI,CAAC,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,IAAa,EAAE,KAAc;IACnD,IAAI,IAAI,YAAY,IAAI,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC;IAChE,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA+B,EAAE,KAAc;IAC1E,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE;QACzD,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;QACrC,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;KACvC;IAED,IAAI,OAAO,CAAC,WAAW,KAAK,iBAAiB,EAAE;QAC7C,OAAO,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KAC9C;IAED,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,EAAE;QACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;KACtB;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KACvC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA+B;IAC5D,OAAO,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,wBAAwB,CAAC,OAA+B,EAAE,UAAkB,EAAE,cAAyC;IAC9H,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,kDAAwC,OAAO,CAAC,GAAG,2CAAuC,CAAC;KACnG;IACD,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,mBAAW,UAAU,gDAAoC,OAAO,CAAC,GAAG,QAAI,CAAC;KACjF;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB;IAAjC,iBA8dC;IA7dC,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IACzB,IAAA,KAAsC,wBAAwB,CAAC,SAAS,CAAC,EAAjE,gBAAgB,UAAA,EAAE,OAAO,aAAwC,CAAC;IACzE,IAAA,uBAAuB,GAAI,kCAAkC,EAAE,GAAxC,CAAyC;IACjE,IAAA,KAA8B,QAAQ,CAAC,EAAE,CAAC,EAAzC,UAAU,QAAA,EAAE,aAAa,QAAgB,CAAC;IAC3C,IAAA,KAA8B,QAAQ,CAAqB,KAAK,CAAC,EAAhE,UAAU,QAAA,EAAE,aAAa,QAAuC,CAAC;IAClE,IAAA,KAAkC,QAAQ,CAAC,EAAE,CAAC,EAA7C,YAAY,QAAA,EAAE,eAAe,QAAgB,CAAC;IAC/C,IAAA,KAA8B,QAAQ,CAAoC,EAAE,CAAC,EAA5E,UAAU,QAAA,EAAE,aAAa,QAAmD,CAAC;IAC9E,IAAA,KAAkC,QAAQ,CAAyB,EAAE,CAAC,EAArE,YAAY,QAAA,EAAE,eAAe,QAAwC,CAAC;IAE7E,IAAM,YAAY,GAAG,OAAO,CAC1B,cAAM,OAAA,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,KAAK,KAAK,eAAe,EAAjC,CAAiC,CAAC,EAA5F,CAA4F,EAClG,CAAC,gBAAgB,CAAC,CACnB,CAAC;IACF,IAAM,WAAW,GAAG,OAAO,CAAC,cAAM,OAAA,cAAc,CAAC,gBAAgB,CAAC,EAAhC,CAAgC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACxF,IAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,CAAC;IAC/C,IAAM,qBAAqB,GAAG,OAAO,CACnC,cAAM,OAAA,YAAY,CAAC,MAAM,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,QAAQ,EAAhB,CAAgB,CAAC,CAAC,MAAM,EAAzD,CAAyD,EAC/D,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,CAAC,YAAY,CAAC,MAAM;YAAE,OAAO;QACjC,IAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,YAAY,CAAC,GAAG,CAAC,UAAC,OAAO,gBAAK,OAAA,CAAC,OAAO,CAAC,GAAG,EAAE,MAAA,MAAA,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAI,OAAO,CAAC,KAAK,mCAAI,IAAI,CAAC,CAAA,EAAA,CAAC,CAChG,CAAC;QACF,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAEhC,IAAM,gBAAgB,GAAG,OAAO,CAAC;QAC/B,IAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,OAAO;YACjD,IAAI,UAAU,KAAK,WAAW;gBAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzD,IAAI,UAAU,KAAK,UAAU;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK;YAAE,OAAO,cAAc,CAAC;QAElC,OAAO,cAAc,CAAC,MAAM,CAAC,UAAC,OAAO;;YACnC,IAAM,QAAQ,GAAG;gBACf,OAAO,CAAC,UAAU;gBAClB,OAAO,CAAC,KAAK;gBACb,OAAO,CAAC,GAAG;gBACX,OAAO,CAAC,KAAK;gBACb,OAAO,CAAC,WAAW;gBACnB,MAAA,OAAO,CAAC,OAAO,0CAAE,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,UAAG,MAAM,CAAC,KAAK,cAAI,MAAM,CAAC,KAAK,CAAE,EAAjC,CAAiC,EAAE,IAAI,CAAC,GAAG,CAAC;aAC9E;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC;iBACT,WAAW,EAAE,CAAC;YAEjB,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3C,IAAM,aAAa,GAAG,OAAO,CAAC;QAC5B,IAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;QAC5D,gBAAgB,CAAC,OAAO,CAAC,UAAC,OAAO;;YAC/B,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,EAA4B;gBAA3B,UAAU,QAAA,EAAE,cAAc,QAAA;YAAM,OAAA,CAAC;gBAC1E,UAAU,YAAA;gBACV,KAAK,EAAE,oBAAoB,CAAC,UAAU,CAAC;gBACvC,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,GAAG;gBAC1C,QAAQ,EAAE,cAAc;aACzB,CAAC;QALyE,CAKzE,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,SAAS,CAAC;QACR,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACzB,eAAe,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO;SACR;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,KAAK,YAAY,EAAjC,CAAiC,CAAC,EAAE;YACrE,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;SAC9C;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAElC,IAAM,UAAU,GAAG,OAAO,CACxB;QACE,OAAA,YAAY,CAAC,IAAI,CACf,UAAC,OAAO;;YACN,OAAA,OAAO,CAAC,QAAQ;gBAChB,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAA,MAAA,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAI,OAAO,CAAC,KAAK,mCAAI,IAAI,CAAC,CAAA;SAAA,CAC9F;IAJD,CAIC,EACH,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CACxC,CAAC;IAEF,IAAM,qBAAqB,GAAG,OAAO,CAAC;QACpC,IAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,KAAK,YAAY,EAAjC,CAAiC,CAAC,CAAC;QACvF,IAAI,CAAC,aAAa;YAAE,OAAO,EAAE,CAAC;QAE9B,IAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;QAC5D,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO;;YACrC,IAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;YAC5C,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,EAAyB;gBAAxB,QAAQ,QAAA,EAAE,aAAa,QAAA;YAAM,OAAA,CAAC;gBACvE,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC;gBACrC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,KAAK;;oBACvC,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,MAAM,CAAC,gBAAgB,CAAC;oBAC3D,IAAM,SAAS,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,MAAM,CAAC,gBAAgB,CAAC;oBAC7D,IAAI,QAAQ,KAAK,SAAS;wBAAE,OAAO,QAAQ,GAAG,SAAS,CAAC;oBACxD,OAAO,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,MAAA,KAAK,CAAC,KAAK,mCAAI,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1E,CAAC,CAAC;aACH,CAAC;QATsE,CAStE,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAElC,IAAM,WAAW,GAAG,UAAC,GAAW,EAAE,KAAwB;QACxD,aAAa,CAAC,UAAC,OAAO;;YAAK,OAAA,uBAAM,OAAO,gBAAG,GAAG,IAAG,KAAK,OAAG;QAA9B,CAA8B,CAAC,CAAC;IAC7D,CAAC,CAAC;IAEF,IAAM,eAAe,GAAG,UAAC,GAAW,EAAE,IAAiB;QACrD,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;gBACrB,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;aACxC;YACD,eAAe,CAAC,UAAC,OAAO;gBACtB,IAAM,IAAI,gBAAQ,OAAO,CAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE;YAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAC1G,OAAO;SACR;QAED,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;YACrB,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;SACxC;QAED,IAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,eAAe,CAAC,UAAC,OAAO;;YAAK,OAAA,uBAAM,OAAO,gBAAG,GAAG,IAAG,OAAO,OAAG;QAAhC,CAAgC,CAAC,CAAC;QAC/D,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,SAAS,CACP,cAAM,OAAA;QACJ,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,UAAC,OAAO,IAAK,OAAA,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,EAA5B,CAA4B,CAAC,CAAC;IACjF,CAAC,EAFK,CAEL,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,IAAM,UAAU,GAAG;;;;;;;oBAET,yBAA4E,EAAE,CAAC;oBAC/E,aAAW,IAAI,QAAQ,EAAE,CAAC;oBAEhC,YAAY,CAAC,OAAO,CAAC,UAAC,OAAO;;wBAC3B,IAAI,CAAC,OAAO,CAAC,QAAQ;4BAAE,OAAO;wBAE9B,IAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC1C,IAAM,YAAY,GAAG,MAAA,MAAA,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,mCAAI,OAAO,CAAC,KAAK,mCAAI,IAAI,CAAC;wBAEvE,IAAI,SAAS,YAAY,IAAI,EAAE;4BAC7B,UAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;4BACxC,sBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;4BAC3E,OAAO;yBACR;wBAED,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;4BAC5C,sBAAoB,CAAC,IAAI,CAAC;gCACxB,GAAG,EAAE,OAAO,CAAC,GAAG;gCAChB,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC;gCAChC,IAAI,EAAE,QAAQ;6BACf,CAAC,CAAC;yBACJ;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,sBAAoB,CAAC,MAAM,EAAE;wBAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;wBACxG,sBAAO;qBACR;oBAED,UAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAoB,CAAC,CAAC,CAAC;oBACjD,qBAAM,uBAAuB,CAAC,EAAE,IAAI,EAAE,UAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAA;;oBAArE,QAAQ,GAAG,SAA0D;oBAE3E,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,MAAK,GAAG,EAAE;wBAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;wBAC7F,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;4BACjC,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC;yBACjE;qBACF;yBAAM;wBACL,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;qBACpH;oBAED,qBAAM,OAAO,EAAE,EAAA;;oBAAf,SAAe,CAAC;oBAChB,eAAe,CAAC,EAAE,CAAC,CAAC;;;;oBAEpB,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA,MAAA,OAAK,aAAL,OAAK,uBAAL,OAAK,CAAE,IAAI,0CAAE,OAAO,KAAI,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;;;;;SAE9I,CAAC;IAEF,IAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC;QAC/C,KAAK,EAAE,KAAK,CAAC,UAAU;QACvB,KAAK,EAAE,CACL,gBAAM,SAAS,EAAE,MAAM,CAAC,SAAS,aAC/B,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,KAAK,CAAC,KAAK,GAAQ,EAC5D,gBAAM,SAAS,EAAE,MAAM,CAAC,aAAa,aACnC,eAAM,SAAS,EAAE,MAAM,CAAC,cAAc,YAAG,KAAK,CAAC,KAAK,GAAQ,EAC5D,gBAAM,SAAS,EAAE,MAAM,CAAC,aAAa,aAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,iBAAiB,IACzE,IACF,CACR;QACD,OAAO,EAAE,CACP,wBACG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAC9B,qBAAqB,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,CACnC,kBAAyB,SAAS,EAAE,MAAM,CAAC,YAAY,YACrD,eAAK,SAAS,EAAE,MAAM,CAAC,SAAS,aAC9B,cAAK,SAAS,EAAE,MAAM,CAAC,WAAW,YAChC,0BACE,aAAI,SAAS,EAAE,MAAM,CAAC,UAAU,YAAG,KAAK,CAAC,KAAK,GAAM,EACpD,eAAK,SAAS,EAAE,MAAM,CAAC,SAAS,aAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,WAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAO,IACxG,GACF,EACN,cAAK,SAAS,EAAE,MAAM,CAAC,SAAS,YAC7B,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,OAAO;gCAC1B,IAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gCACtC,IAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;gCAC1D,IAAM,cAAc,GAAG,kBAAkB,CAAC,CAAC,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gCAC7F,IAAM,qBAAqB,GAAG,wBAAwB,CAAC,OAAO,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;gCACpG,IAAM,mBAAmB,GAA6B;oCACpD,OAAO,SAAA;oCACP,KAAK,OAAA;oCACL,WAAW,aAAA;oCACX,UAAU,YAAA;oCACV,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;oCACnC,WAAW,aAAA;oCACX,eAAe,iBAAA;iCAChB,CAAC;gCACF,OAAO,CACL,eAAuB,SAAS,EAAE,MAAM,CAAC,UAAU,aACjD,eAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,aACrC,eAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,aACrC,YAAG,SAAS,EAAE,MAAM,CAAC,YAAY,YAAG,OAAO,CAAC,KAAK,IAAI,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAK,EAC1F,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CACnB,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,yBACE,KAAC,QAAQ,IAAC,IAAI,EAAC,MAAM,0BAAqB,GACrC,GACa,EACtB,KAAC,mBAAmB,sGAEE,IACT,CAChB,CAAC,CAAC,CAAC,IAAI,IACJ,EACL,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,YAAG,SAAS,EAAE,MAAM,CAAC,kBAAkB,YAAG,OAAO,CAAC,WAAW,GAAK,CAAC,CAAC,CAAC,IAAI,IAC5F,EAEL,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CACnB,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CACjC,qBAAqB,CAAC,CAAC,CAAC,CACtB,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,YAClC,eAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,YAAG,qBAAqB,GAAQ,GACrE,CACP,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CACnB,CAAC;4CACC,IAAM,sBAAsB,GAAG,cAAoC,CAAC;4CACpE,OAAO,KAAC,sBAAsB,eAAK,mBAAmB,EAAI,CAAC;wCAC7D,CAAC,CAAC,EAAE,CACL,CAAC,CAAC,CAAC,IAAI,CACT,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,CACnD,cAAK,SAAS,EAAE,MAAM,CAAC,YAAY,YACjC,KAAC,kBAAkB,IAAC,GAAG,EAAE,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,GACzD,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,YAClC,eAAM,SAAS,EAAE,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,YACnG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,GAC/B,GACH,CACP,CACF,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAE,UAAG,MAAM,CAAC,YAAY,cAAI,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAE,aAC1G,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CACnC,eAAK,SAAS,EAAE,MAAM,CAAC,OAAO,aAC5B,KAAC,WAAW,IAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,UAAC,OAAO,IAAK,OAAA,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,EAAjC,CAAiC,GAAI,EAClG,eAAM,SAAS,EAAE,MAAM,CAAC,QAAQ,YAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAQ,IACrE,CACP,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,CACrC,KAAC,UAAU,IACT,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EACjD,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAA5C,CAA4C,GACtE,CACH,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,CACpC,KAAC,aAAa,IACZ,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAC9F,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EACjD,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAA5C,CAA4C,GACtE,CACH,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CACnC,KAAC,UAAU,IACT,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,EACjD,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAvF,CAAuF,GACjH,CACH,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,CAAC,WAAW,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAC3C,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,EAC9B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ,EAC5C,QAAQ,EAAE,UAAC,KAAK,IAAK,OAAA,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,EAArC,CAAqC,GAC1D,CACH,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,CAAC,WAAW,KAAK,MAAM,IAAI,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,CACtE,KAAC,eAAe,IACd,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAChD,cAAc,EAAE,OAAO,CAAC,WAAW,KAAK,UAAU,EAClD,UAAU,EAAE,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,EACrF,QAAQ,EAAE,UAAC,IAAiB,IAAK,OAAA,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAA1E,CAA0E,GAC3G,CACH,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,CACvC,eAAK,SAAS,EAAE,MAAM,CAAC,UAAU,aAC/B,eAAK,SAAS,EAAE,MAAM,CAAC,aAAa,aAClC,iBAAO,SAAS,EAAE,MAAM,CAAC,aAAa,aACpC,gBACE,SAAS,EAAE,MAAM,CAAC,UAAU,EAC5B,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,4BAA4B,EACnC,QAAQ,EAAE,UAAC,KAAK,gBAAK,OAAA,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,MAAA,MAAA,KAAK,CAAC,MAAM,CAAC,KAAK,0CAAG,CAAC,CAAC,mCAAI,IAAI,CAAC,CAAA,EAAA,GAClF,EACF,KAAC,gCAAgC,IAAC,IAAI,EAAC,4CAA4C,GAAG,IAChF,EACP,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CACtC,cAAK,SAAS,EAAE,MAAM,CAAC,YAAY,YACjC,KAAC,kBAAkB,IAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,GACtF,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,MAAM,CAAC,eAAe,kDAAyC,CAChF,IACG,EACL,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CACtC,KAAC,yBAAyB,IAAC,OAAO,EAAE,cAAM,OAAA,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAlC,CAAkC,GAAI,CACjF,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC,CAAC,CAAC,IAAI,EAEP,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAClC,qBAAqB,CAAC,CAAC,CAAC,CACtB,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,YAClC,eAAM,SAAS,EAAE,MAAM,CAAC,iBAAiB,YAAG,qBAAqB,GAAQ,GACrE,CACP,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CACnB,CAAC;oDACC,IAAM,sBAAsB,GAAG,cAAoC,CAAC;oDACpE,OAAO,KAAC,sBAAsB,eAAK,mBAAmB,EAAI,CAAC;gDAC7D,CAAC,CAAC,EAAE,CACL,CAAC,CAAC,CAAC,IAAI,CACT,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,KAxIO,OAAO,CAAC,GAAG,CAyIf,CACP,CAAC;4BACJ,CAAC,CAAC,GACE,IACF,IArKM,KAAK,CAAC,GAAG,CAsKb,CACX,EAxKoC,CAwKpC,CAAC,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,MAAM,CAAC,UAAU,sDAA6C,CAC/E,GACG,CACP;KACF,CAAC,EA5L8C,CA4L9C,CAAC,CAAC;IAEJ,OAAO,CACL,eAAK,SAAS,EAAE,MAAM,CAAC,IAAI,aACzB,eAAK,SAAS,EAAE,8CAAuC,MAAM,CAAC,UAAU,CAAE,aACxE,eAAK,SAAS,EAAE,MAAM,CAAC,WAAW,aAChC,cAAK,SAAS,EAAC,oBAAoB,yBAAe,EAClD,cAAK,SAAS,EAAE,MAAM,CAAC,QAAQ,sFAA6E,EAC5G,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,gBAAM,SAAS,EAAE,MAAM,CAAC,WAAW,aAAG,aAAa,CAAC,MAAM,aAAS,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAQ,EAChH,gBAAM,SAAS,EAAE,MAAM,CAAC,WAAW,aAAG,kBAAkB,cAAU,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAQ,EAC7G,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAG,MAAM,CAAC,WAAW,cAAI,MAAM,CAAC,iBAAiB,cAAI,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAE,kBAC7G,UAAU,KAAK,UAAU,EACvC,OAAO,EAAE,cAAM,OAAA,aAAa,CAAC,UAAC,OAAO,IAAK,OAAA,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,EAA7C,CAA6C,CAAC,EAAzE,CAAyE,aAEvF,qBAAqB,iBACf,IACL,IACF,EACN,eAAK,SAAS,EAAE,MAAM,CAAC,YAAY,aACjC,eAAK,SAAS,EAAE,MAAM,CAAC,UAAU,aAC/B,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,EACpB,KAAC,UAAU,IACT,SAAS,EAAE,MAAM,CAAC,WAAW,EAC7B,KAAK,EAAE,UAAU,EACjB,WAAW,EAAC,qCAAqC,EACjD,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAjC,CAAiC,GAC3D,IACE,EACL,UAAU,CAAC,CAAC,CAAC,CACZ,gBAAM,SAAS,EAAE,MAAM,CAAC,WAAW,aAChC,gBAAgB,CAAC,MAAM,aAAS,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IACpE,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,EACN,eAAK,SAAS,EAAE,MAAM,CAAC,cAAc,aACnC,eAAK,SAAS,EAAE,MAAM,CAAC,MAAM,aAC3B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,UAAG,MAAM,CAAC,oBAAoB,cAAI,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAE,kBACpG,UAAU,KAAK,WAAW,gBAC5B,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,yBAAyB,EAC/F,OAAO,EAAE,cAAM,OAAA,aAAa,CAAC,UAAC,OAAO,IAAK,OAAA,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,EAA/C,CAA+C,CAAC,EAA3E,CAA2E,YAE1F,KAAC,QAAQ,IAAC,IAAI,EAAC,MAAM,0BAAqB,GACnC,EACT,eAAM,SAAS,EAAE,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,YAC/E,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,sBAAsB,GAC3E,EACP,MAAC,YAAY,eACX,KAAC,mBAAmB,IAAC,OAAO,kBAC1B,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,YAAY,gBAAa,0BAA0B,kBAElF,GACW,EACtB,KAAC,mBAAmB,yIAEE,IACT,IACX,EACN,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,UAAU,qBAEjF,IACV,IACF,EAEN,cAAK,SAAS,EAAE,MAAM,CAAC,SAAS,YAC7B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CACnB,KAAC,aAAa,IACZ,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,eAAe,EAC9B,SAAS,EAAE,MAAM,CAAC,QAAQ,EAC1B,aAAa,EAAE,MAAM,CAAC,OAAO,EAC7B,cAAc,EAAE,MAAM,CAAC,QAAQ,EAC/B,WAAW,EAAC,UAAU,GACtB,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,MAAM,CAAC,UAAU,2CAAkC,CACpE,GACG,IACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["import { useEffect, useMemo, useState, type ComponentType } from \"react\";\nimport { Search } from \"lucide-react\";\nimport { useDispatch } from \"react-redux\";\nimport { env } from \"../../adapters/env\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { getExtensionComponent } from \"../../helpers/registry\";\nimport {\n extractSettingsList,\n getSettingOptionLabel,\n getSettingsMap,\n humanizeSettingToken,\n type AdminSettingDefinition,\n} from \"../../helpers/settingsPayload\";\nimport type { SolidSettingsWidgetProps } from \"../../types/solid-core\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport {\n useBulkUpdateSolidSettingsMutation,\n useGetSolidSettingsQuery,\n} from \"../../redux/api/solidSettingsApi\";\nimport {\n SolidButton,\n SolidDatePicker,\n SolidInput,\n SolidSelect,\n SolidSwitch,\n SolidTabGroup,\n SolidTag,\n SolidTextarea,\n SolidTooltip,\n SolidTooltipContent,\n SolidTooltipTrigger,\n} from \"../shad-cn-ui\";\nimport { SettingDropzoneActivePlaceholder } from \"./SolidSettings/SettingDropzoneActivePlaceholder\";\nimport { SettingsImageRemoveButton } from \"./SolidSettings/SettingsImageRemoveButton\";\nimport { SolidUploadedImage } from \"./SolidSettings/SolidUploadedImage\";\nimport styles from \"./SettingsComponent.module.css\";\n\ntype SettingsFormValue = string | number | boolean | null | File;\ntype SettingsFilterMode = \"all\" | \"read-only\" | \"editable\";\n\nfunction normalizeAssetUrl(src?: string | null) {\n if (!src) return \"\";\n const isBlobOrAbsolute = src.startsWith(\"blob:\") || src.startsWith(\"http\");\n if (isBlobOrAbsolute || src.startsWith(\"/\")) return src;\n return `${env(\"API_URL\")}/${src}`;\n}\n\nfunction toModuleInitials(moduleName: string) {\n return moduleName\n .split(/[-_\\s]+/)\n .filter(Boolean)\n .map((token) => token[0]?.toUpperCase())\n .join(\"\")\n .slice(0, 2);\n}\n\nfunction serializeValue(value: unknown) {\n if (value === null || value === undefined) return \"\";\n if (typeof value === \"string\") return value;\n return JSON.stringify(value);\n}\n\nfunction areValuesEqual(left: unknown, right: unknown) {\n if (left instanceof File || right instanceof File) return false;\n return serializeValue(left) === serializeValue(right);\n}\n\nfunction formatReadonlyValue(setting: AdminSettingDefinition, value: unknown) {\n if (value === null || value === undefined || value === \"\") {\n return \"Not set\";\n }\n\n if (setting.controlType === \"boolean\") {\n return value ? \"Enabled\" : \"Disabled\";\n }\n\n if (setting.controlType === \"selectionStatic\") {\n return getSettingOptionLabel(setting, value);\n }\n\n if (setting.controlType === \"mediaSingle\") {\n return String(value);\n }\n\n if (typeof value === \"object\") {\n return JSON.stringify(value, null, 2);\n }\n\n return String(value);\n}\n\nfunction getSettingsWidgetName(setting: AdminSettingDefinition) {\n return setting.settingsWidget || \"\";\n}\n\nfunction getCustomWidgetErrorText(setting: AdminSettingDefinition, widgetName: string, settingsWidget: ComponentType<any> | null) {\n if (setting.controlType !== \"custom\") return null;\n if (!widgetName) {\n return `controlType is \"custom\" for setting \"${setting.key}\" but no settingsWidget is specified.`;\n }\n if (!settingsWidget) {\n return `Widget \"${widgetName}\" is not registered for setting \"${setting.key}\".`;\n }\n return null;\n}\n\nexport function SettingsComponent() {\n const dispatch = useDispatch();\n const { data: settingsResponse, refetch } = useGetSolidSettingsQuery(undefined);\n const [bulkUpdateSolidSettings] = useBulkUpdateSolidSettingsMutation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [filterMode, setFilterMode] = useState<SettingsFilterMode>(\"all\");\n const [activeModule, setActiveModule] = useState(\"\");\n const [formValues, setFormValues] = useState<Record<string, SettingsFormValue>>({});\n const [filePreviews, setFilePreviews] = useState<Record<string, string>>({});\n\n const settingsList = useMemo(\n () => extractSettingsList(settingsResponse).filter((setting) => setting.level !== \"internal-user\"),\n [settingsResponse],\n );\n const settingsMap = useMemo(() => getSettingsMap(settingsResponse), [settingsResponse]);\n const totalSettingsCount = settingsList.length;\n const editableSettingsCount = useMemo(\n () => settingsList.filter((setting) => setting.editable).length,\n [settingsList],\n );\n\n useEffect(() => {\n if (!settingsList.length) return;\n const nextValues = Object.fromEntries(\n settingsList.map((setting) => [setting.key, settingsMap[setting.key] ?? setting.value ?? null]),\n );\n setFormValues(nextValues);\n }, [settingsList, settingsMap]);\n\n const filteredSettings = useMemo(() => {\n const scopedSettings = settingsList.filter((setting) => {\n if (filterMode === \"read-only\") return !setting.editable;\n if (filterMode === \"editable\") return setting.editable;\n return true;\n });\n const query = searchTerm.trim().toLowerCase();\n if (!query) return scopedSettings;\n\n return scopedSettings.filter((setting) => {\n const haystack = [\n setting.moduleName,\n setting.group,\n setting.key,\n setting.label,\n setting.description,\n setting.options?.map((option) => `${option.label} ${option.value}`).join(\" \"),\n ]\n .filter(Boolean)\n .join(\" \")\n .toLowerCase();\n\n return haystack.includes(query);\n });\n }, [filterMode, searchTerm, settingsList]);\n\n const moduleEntries = useMemo(() => {\n const grouped = new Map<string, AdminSettingDefinition[]>();\n filteredSettings.forEach((setting) => {\n const current = grouped.get(setting.moduleName) ?? [];\n current.push(setting);\n grouped.set(setting.moduleName, current);\n });\n\n return Array.from(grouped.entries()).map(([moduleName, moduleSettings]) => ({\n moduleName,\n label: humanizeSettingToken(moduleName),\n badge: toModuleInitials(moduleName) || \"S\",\n settings: moduleSettings,\n }));\n }, [filteredSettings]);\n\n useEffect(() => {\n if (!moduleEntries.length) {\n setActiveModule(\"\");\n return;\n }\n\n if (!moduleEntries.some((entry) => entry.moduleName === activeModule)) {\n setActiveModule(moduleEntries[0].moduleName);\n }\n }, [activeModule, moduleEntries]);\n\n const hasChanges = useMemo(\n () =>\n settingsList.some(\n (setting) =>\n setting.editable &&\n !areValuesEqual(formValues[setting.key], settingsMap[setting.key] ?? setting.value ?? null),\n ),\n [formValues, settingsList, settingsMap],\n );\n\n const groupedModuleSettings = useMemo(() => {\n const currentModule = moduleEntries.find((entry) => entry.moduleName === activeModule);\n if (!currentModule) return [];\n\n const grouped = new Map<string, AdminSettingDefinition[]>();\n currentModule.settings.forEach((setting) => {\n const groupKey = setting.group || \"general\";\n const current = grouped.get(groupKey) ?? [];\n current.push(setting);\n grouped.set(groupKey, current);\n });\n\n return Array.from(grouped.entries()).map(([groupKey, groupSettings]) => ({\n key: groupKey,\n label: humanizeSettingToken(groupKey),\n settings: groupSettings.sort((left, right) => {\n const leftSort = left.sortOrder ?? Number.MAX_SAFE_INTEGER;\n const rightSort = right.sortOrder ?? Number.MAX_SAFE_INTEGER;\n if (leftSort !== rightSort) return leftSort - rightSort;\n return (left.label ?? left.key).localeCompare(right.label ?? right.key);\n }),\n }));\n }, [activeModule, moduleEntries]);\n\n const updateValue = (key: string, value: SettingsFormValue) => {\n setFormValues((current) => ({ ...current, [key]: value }));\n };\n\n const updateFileValue = (key: string, file: File | null) => {\n if (!file) {\n if (filePreviews[key]) {\n URL.revokeObjectURL(filePreviews[key]);\n }\n setFilePreviews((current) => {\n const next = { ...current };\n delete next[key];\n return next;\n });\n updateValue(key, null);\n return;\n }\n\n if (file.size > 2 * 1024 * 1024) {\n dispatch(showToast({ severity: \"error\", summary: \"File too large\", detail: \"Maximum file size is 2MB\" }));\n return;\n }\n\n if (filePreviews[key]) {\n URL.revokeObjectURL(filePreviews[key]);\n }\n\n const preview = URL.createObjectURL(file);\n setFilePreviews((current) => ({ ...current, [key]: preview }));\n updateValue(key, file);\n };\n\n useEffect(\n () => () => {\n Object.values(filePreviews).forEach((preview) => URL.revokeObjectURL(preview));\n },\n [filePreviews],\n );\n\n const handleSave = async () => {\n try {\n const updatedSettingsArray: Array<{ key: string; value: string; type: string }> = [];\n const formData = new FormData();\n\n settingsList.forEach((setting) => {\n if (!setting.editable) return;\n\n const nextValue = formValues[setting.key];\n const currentValue = settingsMap[setting.key] ?? setting.value ?? null;\n\n if (nextValue instanceof File) {\n formData.append(setting.key, nextValue);\n updatedSettingsArray.push({ key: setting.key, value: \"\", type: \"system\" });\n return;\n }\n\n if (!areValuesEqual(nextValue, currentValue)) {\n updatedSettingsArray.push({\n key: setting.key,\n value: serializeValue(nextValue),\n type: \"system\",\n });\n }\n });\n\n if (!updatedSettingsArray.length) {\n dispatch(showToast({ severity: \"success\", summary: \"No Changes\", detail: \"No settings were updated\" }));\n return;\n }\n\n formData.append(\"settings\", JSON.stringify(updatedSettingsArray));\n const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();\n\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: \"Updated\", detail: \"Settings updated\" }));\n if (typeof window !== \"undefined\") {\n window.dispatchEvent(new CustomEvent(\"solid:settings-updated\"));\n }\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n\n await refetch();\n setFilePreviews({});\n } catch (error: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: error?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n };\n\n const moduleTabs = moduleEntries.map((entry) => ({\n value: entry.moduleName,\n label: (\n <span className={styles.moduleTab}>\n <span className={styles.moduleTabBadge}>{entry.badge}</span>\n <span className={styles.moduleTabText}>\n <span className={styles.moduleTabLabel}>{entry.label}</span>\n <span className={styles.moduleTabMeta}>{entry.settings.length} settings</span>\n </span>\n </span>\n ),\n content: (\n <div>\n {groupedModuleSettings.length ? (\n groupedModuleSettings.map((group) => (\n <section key={group.key} className={styles.groupSection}>\n <div className={styles.groupCard}>\n <div className={styles.groupHeader}>\n <div>\n <h3 className={styles.groupTitle}>{group.label}</h3>\n <div className={styles.groupMeta}>{group.settings.length} item{group.settings.length === 1 ? \"\" : \"s\"}</div>\n </div>\n </div>\n <div className={styles.groupBody}>\n {group.settings.map((setting) => {\n const value = formValues[setting.key];\n const settingsWidgetName = getSettingsWidgetName(setting);\n const SettingsWidget = settingsWidgetName ? getExtensionComponent(settingsWidgetName) : null;\n const customWidgetErrorText = getCustomWidgetErrorText(setting, settingsWidgetName, SettingsWidget);\n const settingsWidgetProps: SolidSettingsWidgetProps = {\n setting,\n value,\n settingsMap,\n formValues,\n editable: Boolean(setting.editable),\n updateValue,\n updateFileValue,\n };\n return (\n <div key={setting.key} className={styles.settingRow}>\n <div className={styles.settingLabelWrap}>\n <div className={styles.settingLabelLine}>\n <p className={styles.settingLabel}>{setting.label || humanizeSettingToken(setting.key)}</p>\n {!setting.editable ? (\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <span>\n <SolidTag tone=\"warn\">Read only</SolidTag>\n </span>\n </SolidTooltipTrigger>\n <SolidTooltipContent>\n This value comes from system configuration and cannot be changed from the admin UI.\n </SolidTooltipContent>\n </SolidTooltip>\n ) : null}\n </div>\n {setting.description ? <p className={styles.settingDescription}>{setting.description}</p> : null}\n </div>\n\n {!setting.editable ? (\n setting.controlType === \"custom\" ? (\n customWidgetErrorText ? (\n <div className={styles.readonlyValue}>\n <span className={styles.customWidgetError}>{customWidgetErrorText}</span>\n </div>\n ) : SettingsWidget ? (\n (() => {\n const ResolvedSettingsWidget = SettingsWidget as ComponentType<any>;\n return <ResolvedSettingsWidget {...settingsWidgetProps} />;\n })()\n ) : null\n ) : setting.controlType === \"mediaSingle\" && value ? (\n <div className={styles.mediaPreview}>\n <SolidUploadedImage src={normalizeAssetUrl(String(value))} />\n </div>\n ) : (\n <div className={styles.readonlyValue}>\n <span className={value === null || value === undefined || value === \"\" ? styles.emptyValue : undefined}>\n {formatReadonlyValue(setting, value)}\n </span>\n </div>\n )\n ) : (\n <div className={`${styles.controlStack} ${setting.controlType === \"custom\" ? styles.customControlStack : \"\"}`}>\n {setting.controlType === \"boolean\" ? (\n <div className={styles.boolRow}>\n <SolidSwitch checked={Boolean(value)} onChange={(checked) => updateValue(setting.key, checked)} />\n <span className={styles.boolText}>{value ? \"Enabled\" : \"Disabled\"}</span>\n </div>\n ) : null}\n\n {setting.controlType === \"shortText\" ? (\n <SolidInput\n type=\"text\"\n value={value == null ? \"\" : String(value)}\n placeholder={setting.placeholder || setting.label}\n onChange={(event: any) => updateValue(setting.key, event.target.value)}\n />\n ) : null}\n\n {setting.controlType === \"longText\" ? (\n <SolidTextarea\n rows={4}\n value={value == null ? \"\" : typeof value === \"string\" ? value : JSON.stringify(value, null, 2)}\n placeholder={setting.placeholder || setting.label}\n onChange={(event: any) => updateValue(setting.key, event.target.value)}\n />\n ) : null}\n\n {setting.controlType === \"numeric\" ? (\n <SolidInput\n type=\"number\"\n value={value == null ? \"\" : String(value)}\n placeholder={setting.placeholder || setting.label}\n onChange={(event: any) => updateValue(setting.key, event.target.value === \"\" ? null : Number(event.target.value))}\n />\n ) : null}\n\n {setting.controlType === \"selectionStatic\" ? (\n <SolidSelect\n value={value}\n options={setting.options || []}\n placeholder={setting.placeholder || \"Select\"}\n onChange={(event) => updateValue(setting.key, event.value)}\n />\n ) : null}\n\n {setting.controlType === \"date\" || setting.controlType === \"datetime\" ? (\n <SolidDatePicker\n selected={value ? new Date(String(value)) : null}\n showTimeSelect={setting.controlType === \"datetime\"}\n dateFormat={setting.controlType === \"datetime\" ? \"yyyy-MM-dd HH:mm:ss\" : \"yyyy-MM-dd\"}\n onChange={(date: Date | null) => updateValue(setting.key, date instanceof Date ? date.toISOString() : null)}\n />\n ) : null}\n\n {setting.controlType === \"mediaSingle\" ? (\n <div className={styles.mediaField}>\n <div className={styles.mediaComposer}>\n <label className={styles.mediaDropzone}>\n <input\n className={styles.mediaInput}\n type=\"file\"\n accept=\".png,.jpg,.jpeg,.svg,.webp\"\n onChange={(event) => updateFileValue(setting.key, event.target.files?.[0] ?? null)}\n />\n <SettingDropzoneActivePlaceholder note=\"PNG, JPG, JPEG, SVG, WEBP | Max size: 2 MB\" />\n </label>\n {(filePreviews[setting.key] || value) ? (\n <div className={styles.mediaPreview}>\n <SolidUploadedImage src={filePreviews[setting.key] || normalizeAssetUrl(String(value))} />\n </div>\n ) : (\n <div className={styles.mediaEmptyState}>Preview appears here after upload</div>\n )}\n </div>\n {(filePreviews[setting.key] || value) ? (\n <SettingsImageRemoveButton onClick={() => updateFileValue(setting.key, null)} />\n ) : null}\n </div>\n ) : null}\n\n {setting.controlType === \"custom\" ? (\n customWidgetErrorText ? (\n <div className={styles.readonlyValue}>\n <span className={styles.customWidgetError}>{customWidgetErrorText}</span>\n </div>\n ) : SettingsWidget ? (\n (() => {\n const ResolvedSettingsWidget = SettingsWidget as ComponentType<any>;\n return <ResolvedSettingsWidget {...settingsWidgetProps} />;\n })()\n ) : null\n ) : null}\n </div>\n )}\n </div>\n );\n })}\n </div>\n </div>\n </section>\n ))\n ) : (\n <div className={styles.emptyState}>No settings match the current filter.</div>\n )}\n </div>\n ),\n }));\n\n return (\n <div className={styles.page}>\n <div className={`page-header secondary-border-bottom ${styles.pageHeader}`}>\n <div className={styles.headerIntro}>\n <div className=\"form-wrapper-title\">Settings</div>\n <div className={styles.subtitle}>Manage platform configuration across modules from a single workspace.</div>\n <div className={styles.summaryChips}>\n <span className={styles.summaryChip}>{moduleEntries.length} module{moduleEntries.length === 1 ? \"\" : \"s\"}</span>\n <span className={styles.summaryChip}>{totalSettingsCount} setting{totalSettingsCount === 1 ? \"\" : \"s\"}</span>\n <button\n type=\"button\"\n className={`${styles.summaryChip} ${styles.summaryChipButton} ${filterMode === \"editable\" ? styles.summaryChipActive : \"\"}`}\n aria-pressed={filterMode === \"editable\"}\n onClick={() => setFilterMode((current) => (current === \"editable\" ? \"all\" : \"editable\"))}\n >\n {editableSettingsCount} editable\n </button>\n </div>\n </div>\n <div className={styles.headerSearch}>\n <div className={styles.searchIcon}>\n <Search size={16} />\n <SolidInput\n className={styles.searchInput}\n value={searchTerm}\n placeholder=\"Search settings, groups, or modules\"\n onChange={(event: any) => setSearchTerm(event.target.value)}\n />\n </div>\n {searchTerm ? (\n <span className={styles.resultsMeta}>\n {filteredSettings.length} result{filteredSettings.length === 1 ? \"\" : \"s\"}\n </span>\n ) : null}\n </div>\n <div className={styles.toolbarActions}>\n <div className={styles.legend}>\n <button\n type=\"button\"\n className={`${styles.readonlyFilterButton} ${filterMode === \"read-only\" ? styles.readonlyFilterButtonActive : \"\"}`}\n aria-pressed={filterMode === \"read-only\"}\n aria-label={filterMode === \"read-only\" ? \"Disable read-only filter\" : \"Enable read-only filter\"}\n onClick={() => setFilterMode((current) => (current === \"read-only\" ? \"all\" : \"read-only\"))}\n >\n <SolidTag tone=\"warn\">Read only</SolidTag>\n </button>\n <span className={filterMode === \"read-only\" ? styles.legendLabelActive : undefined}>\n {filterMode === \"read-only\" ? \"Read-only filter active\" : \"System-managed value\"}\n </span>\n <SolidTooltip>\n <SolidTooltipTrigger asChild>\n <button type=\"button\" className={styles.legendButton} aria-label=\"Read-only legend details\">\n i\n </button>\n </SolidTooltipTrigger>\n <SolidTooltipContent>\n Read-only settings are visible here for context, but can only be changed through environment or backend configuration.\n </SolidTooltipContent>\n </SolidTooltip>\n </div>\n <SolidButton size=\"sm\" type=\"button\" loading={false} onClick={handleSave} disabled={!hasChanges}>\n Save\n </SolidButton>\n </div>\n </div>\n\n <div className={styles.workspace}>\n {moduleTabs.length ? (\n <SolidTabGroup\n tabs={moduleTabs}\n value={activeModule}\n onValueChange={setActiveModule}\n className={styles.tabGroup}\n listClassName={styles.tabList}\n panelClassName={styles.tabPanel}\n orientation=\"vertical\"\n />\n ) : (\n <div className={styles.emptyState}>No settings are available.</div>\n )}\n </div>\n </div>\n );\n}\n"]}
@@ -2,6 +2,19 @@
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: 0.6rem;
5
+ height: calc(100dvh - 46px);
6
+ }
7
+
8
+ .pageHeader {
9
+ flex-shrink: 0;
10
+ position: sticky;
11
+ top: 0;
12
+ z-index: 20;
13
+ background: var(--background);
14
+ display: grid;
15
+ grid-template-columns: minmax(0, 1fr) minmax(17rem, 28rem) auto;
16
+ align-items: end;
17
+ gap: 0.9rem 1rem;
5
18
  }
6
19
 
7
20
  .headerIntro {
@@ -16,8 +29,8 @@
16
29
  align-items: center;
17
30
  gap: 0.75rem;
18
31
  flex: 1 1 22rem;
19
- justify-content: center;
20
- min-width: min(100%, 24rem);
32
+ justify-content: flex-start;
33
+ min-width: 0;
21
34
  }
22
35
 
23
36
  .subtitle {
@@ -125,6 +138,7 @@
125
138
  gap: 0.65rem;
126
139
  flex-wrap: wrap;
127
140
  justify-content: flex-end;
141
+ min-width: 0;
128
142
  }
129
143
 
130
144
  .searchIcon {
@@ -150,12 +164,16 @@
150
164
  border-radius: 1.25rem;
151
165
  overflow: hidden;
152
166
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
167
+ flex: 1 1 0;
168
+ min-height: 0;
153
169
  }
154
170
 
155
171
  .tabGroup {
156
172
  display: grid;
157
173
  grid-template-columns: minmax(210px, 236px) minmax(0, 1fr);
158
174
  gap: 0;
175
+ height: 100%;
176
+ min-height: 0;
159
177
  }
160
178
 
161
179
  .tabList {
@@ -168,10 +186,16 @@
168
186
  linear-gradient(180deg, color-mix(in srgb, var(--primary-color, #4f46e5) 10%, transparent), transparent 42%),
169
187
  color-mix(in srgb, var(--surface-ground, #f8fafc) 90%, #ffffff 10%);
170
188
  border-right: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
189
+ overflow-y: auto;
190
+ min-height: 0;
191
+ width: 100% !important;
192
+ max-width: 100%;
171
193
  }
172
194
 
173
195
  .tabPanel {
174
196
  padding: 0.85rem 0.95rem 1rem;
197
+ overflow-y: auto;
198
+ min-height: 0;
175
199
  }
176
200
 
177
201
  .moduleTab {
@@ -392,6 +416,11 @@
392
416
  }
393
417
 
394
418
  @media (max-width: 960px) {
419
+ .pageHeader {
420
+ grid-template-columns: 1fr;
421
+ align-items: stretch;
422
+ }
423
+
395
424
  .tabGroup {
396
425
  grid-template-columns: 1fr;
397
426
  }
@@ -401,12 +430,23 @@
401
430
  min-width: 100%;
402
431
  }
403
432
 
433
+ .toolbarActions {
434
+ justify-content: space-between;
435
+ }
436
+
404
437
  .tabList {
438
+ flex-direction: row;
439
+ align-items: stretch;
405
440
  border-right: none;
406
441
  border-bottom: 1px solid color-mix(in srgb, var(--border) 86%, transparent);
442
+ overflow-y: hidden;
407
443
  overflow-x: auto;
408
444
  }
409
445
 
446
+ .moduleTab {
447
+ min-width: 12rem;
448
+ }
449
+
410
450
  .settingRow {
411
451
  grid-template-columns: 1fr;
412
452
  }
@@ -419,3 +459,56 @@
419
459
  width: 100%;
420
460
  }
421
461
  }
462
+
463
+ @media (max-width: 640px) {
464
+ .page {
465
+ height: auto;
466
+ min-height: calc(100dvh - 46px);
467
+ }
468
+
469
+ .pageHeader {
470
+ gap: 0.75rem;
471
+ }
472
+
473
+ .subtitle {
474
+ max-width: none;
475
+ line-height: 1.45;
476
+ }
477
+
478
+ .searchIcon {
479
+ width: 100%;
480
+ }
481
+
482
+ .toolbarActions {
483
+ justify-content: flex-start;
484
+ }
485
+
486
+ .legend {
487
+ flex-wrap: wrap;
488
+ }
489
+
490
+ .tabList {
491
+ padding: 0.7rem;
492
+ }
493
+
494
+ .tabPanel {
495
+ padding: 0.75rem;
496
+ }
497
+
498
+ .moduleTab {
499
+ min-width: 10.5rem;
500
+ }
501
+
502
+ .groupHeader {
503
+ align-items: flex-start;
504
+ flex-direction: column;
505
+ }
506
+
507
+ .groupBody {
508
+ padding-inline: 0.75rem;
509
+ }
510
+
511
+ .readonlyValue {
512
+ min-height: 2.3rem;
513
+ }
514
+ }
@@ -295,6 +295,9 @@ export function SettingsComponent() {
295
295
 
296
296
  if (response?.statusCode === 200) {
297
297
  dispatch(showToast({ severity: "success", summary: "Updated", detail: "Settings updated" }));
298
+ if (typeof window !== "undefined") {
299
+ window.dispatchEvent(new CustomEvent("solid:settings-updated"));
300
+ }
298
301
  } else {
299
302
  dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));
300
303
  }
@@ -498,7 +501,7 @@ export function SettingsComponent() {
498
501
 
499
502
  return (
500
503
  <div className={styles.page}>
501
- <div className="page-header secondary-border-bottom">
504
+ <div className={`page-header secondary-border-bottom ${styles.pageHeader}`}>
502
505
  <div className={styles.headerIntro}>
503
506
  <div className="form-wrapper-title">Settings</div>
504
507
  <div className={styles.subtitle}>Manage platform configuration across modules from a single workspace.</div>
@@ -1 +1 @@
1
- {"version":3,"file":"SocialMediaLogin.d.ts","sourceRoot":"","sources":["../../../src/components/common/SocialMediaLogin.tsx"],"names":[],"mappings":"AAIA,KAAK,qBAAqB,GAAG;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,wEAK1B,qBAAqB,4CAiHvB,CAAC"}
1
+ {"version":3,"file":"SocialMediaLogin.d.ts","sourceRoot":"","sources":["../../../src/components/common/SocialMediaLogin.tsx"],"names":[],"mappings":"AAIA,KAAK,qBAAqB,GAAG;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,wEAK1B,qBAAqB,4CAqHvB,CAAC"}
@@ -9,6 +9,6 @@ export var SocialMediaLogin = function (_a) {
9
9
  var facebookApiConnectRedirectUrl = "".concat(env("NEXT_PUBLIC_BACKEND_API_URL"), "/api/iam/facebook/connect");
10
10
  var appleApiConnectRedirectUrl = "".concat(env("NEXT_PUBLIC_BACKEND_API_URL"), "/api/iam/apple/connect");
11
11
  var microsoftApiConnectRedirectUrl = "".concat(env("NEXT_PUBLIC_BACKEND_API_URL"), "/api/iam/microsoft/connect");
12
- return (_jsx("div", { className: "mt-4", children: _jsxs("div", { className: "solid-auth-social-grid", children: [appleEnabled && (_jsx(SolidButton, { type: "button", variant: "outline", className: "solid-auth-social-btn", onClick: function () { return router.push(appleApiConnectRedirectUrl); }, "aria-label": "Login with Apple", children: _jsx("svg", { viewBox: "0 0 24 24", width: "18", height: "18", fill: "currentColor", "aria-hidden": "true", children: _jsx("path", { d: "M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701" }) }) })), googleEnabled && (_jsx(SolidButton, { type: "button", variant: "outline", className: "solid-auth-social-btn", onClick: function () { return router.push(googleApiConnectRedirectUrl); }, "aria-label": "Login with Google", children: _jsxs("svg", { viewBox: "0 0 24 24", width: "18", height: "18", fill: "none", "aria-hidden": "true", children: [_jsx("path", { d: "M21.8 12.23c0-.74-.07-1.45-.2-2.13H12v4.03h5.5a4.7 4.7 0 0 1-2.04 3.08v2.55h3.3c1.93-1.78 3.04-4.4 3.04-7.53z", fill: "#4285F4" }), _jsx("path", { d: "M12 22c2.75 0 5.05-.91 6.73-2.47l-3.3-2.55c-.92.62-2.1.99-3.43.99-2.64 0-4.88-1.78-5.68-4.18H2.9v2.63A10 10 0 0 0 12 22z", fill: "#34A853" }), _jsx("path", { d: "M6.32 13.79a6 6 0 0 1 0-3.58V7.58H2.9a10 10 0 0 0 0 8.84l3.42-2.63z", fill: "#FBBC05" }), _jsx("path", { d: "M12 6.02c1.49 0 2.82.51 3.87 1.5l2.9-2.9C17.04 2.98 14.74 2 12 2A10 10 0 0 0 2.9 7.58l3.42 2.63c.8-2.4 3.04-4.19 5.68-4.19z", fill: "#EA4335" })] }) })), facebookEnabled && (_jsx(SolidButton, { type: "button", variant: "outline", className: "solid-auth-social-btn", onClick: function () { return router.push(facebookApiConnectRedirectUrl); }, "aria-label": "Login with Meta", children: _jsx("svg", { viewBox: "0 0 24 24", width: "18", height: "18", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M5.4 15.6c0-3.14 1.62-7.09 3.76-7.09 1.43 0 2.56 1.72 2.84 2.25.28-.53 1.41-2.25 2.84-2.25 2.14 0 3.76 3.95 3.76 7.09 0 1.79-.63 2.89-1.82 2.89-2.12 0-3.75-3.02-4.78-4.82-1.03 1.8-2.66 4.82-4.78 4.82-1.19 0-1.82-1.1-1.82-2.89z", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round" }) }) })), microsoftEnabled && (_jsx(SolidButton, { type: "button", variant: "outline", className: "solid-auth-social-btn", onClick: function () { return router.push(microsoftApiConnectRedirectUrl); }, "aria-label": "Login with Microsoft", children: _jsx("svg", { viewBox: "0 0 24 24", width: "18", height: "18", "aria-hidden": "true", children: _jsxs("g", { transform: "translate(2, 2)", children: [_jsx("rect", { width: "9", height: "9", x: "0", y: "0", fill: "#f25022" }), _jsx("rect", { width: "9", height: "9", x: "11", y: "0", fill: "#7fba00" }), _jsx("rect", { width: "9", height: "9", x: "0", y: "11", fill: "#00a4ef" }), _jsx("rect", { width: "9", height: "9", x: "11", y: "11", fill: "#ffb900" })] }) }) }))] }) }));
12
+ return (_jsx("div", { className: "mt-4", children: _jsxs("div", { className: "solid-auth-social-grid", children: [appleEnabled && (_jsx(SolidButton, { type: "button", variant: "outline", className: "solid-auth-social-btn", tabIndex: -1, onClick: function () { return router.push(appleApiConnectRedirectUrl); }, "aria-label": "Login with Apple", children: _jsx("svg", { viewBox: "0 0 24 24", width: "18", height: "18", fill: "currentColor", "aria-hidden": "true", children: _jsx("path", { d: "M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701" }) }) })), googleEnabled && (_jsx(SolidButton, { type: "button", variant: "outline", className: "solid-auth-social-btn", tabIndex: -1, onClick: function () { return router.push(googleApiConnectRedirectUrl); }, "aria-label": "Login with Google", children: _jsxs("svg", { viewBox: "0 0 24 24", width: "18", height: "18", fill: "none", "aria-hidden": "true", children: [_jsx("path", { d: "M21.8 12.23c0-.74-.07-1.45-.2-2.13H12v4.03h5.5a4.7 4.7 0 0 1-2.04 3.08v2.55h3.3c1.93-1.78 3.04-4.4 3.04-7.53z", fill: "#4285F4" }), _jsx("path", { d: "M12 22c2.75 0 5.05-.91 6.73-2.47l-3.3-2.55c-.92.62-2.1.99-3.43.99-2.64 0-4.88-1.78-5.68-4.18H2.9v2.63A10 10 0 0 0 12 22z", fill: "#34A853" }), _jsx("path", { d: "M6.32 13.79a6 6 0 0 1 0-3.58V7.58H2.9a10 10 0 0 0 0 8.84l3.42-2.63z", fill: "#FBBC05" }), _jsx("path", { d: "M12 6.02c1.49 0 2.82.51 3.87 1.5l2.9-2.9C17.04 2.98 14.74 2 12 2A10 10 0 0 0 2.9 7.58l3.42 2.63c.8-2.4 3.04-4.19 5.68-4.19z", fill: "#EA4335" })] }) })), facebookEnabled && (_jsx(SolidButton, { type: "button", variant: "outline", className: "solid-auth-social-btn", tabIndex: -1, onClick: function () { return router.push(facebookApiConnectRedirectUrl); }, "aria-label": "Login with Meta", children: _jsx("svg", { viewBox: "0 0 24 24", width: "18", height: "18", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M5.4 15.6c0-3.14 1.62-7.09 3.76-7.09 1.43 0 2.56 1.72 2.84 2.25.28-.53 1.41-2.25 2.84-2.25 2.14 0 3.76 3.95 3.76 7.09 0 1.79-.63 2.89-1.82 2.89-2.12 0-3.75-3.02-4.78-4.82-1.03 1.8-2.66 4.82-4.78 4.82-1.19 0-1.82-1.1-1.82-2.89z", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round" }) }) })), microsoftEnabled && (_jsx(SolidButton, { type: "button", variant: "outline", className: "solid-auth-social-btn", tabIndex: -1, onClick: function () { return router.push(microsoftApiConnectRedirectUrl); }, "aria-label": "Login with Microsoft", children: _jsx("svg", { viewBox: "0 0 24 24", width: "18", height: "18", "aria-hidden": "true", children: _jsxs("g", { transform: "translate(2, 2)", children: [_jsx("rect", { width: "9", height: "9", x: "0", y: "0", fill: "#f25022" }), _jsx("rect", { width: "9", height: "9", x: "11", y: "0", fill: "#7fba00" }), _jsx("rect", { width: "9", height: "9", x: "0", y: "11", fill: "#00a4ef" }), _jsx("rect", { width: "9", height: "9", x: "11", y: "11", fill: "#ffb900" })] }) }) }))] }) }));
13
13
  };
14
14
  //# sourceMappingURL=SocialMediaLogin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocialMediaLogin.js","sourceRoot":"","sources":["../../../src/components/common/SocialMediaLogin.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useRouter } from \"../../hooks/useRouter\";\nimport { env } from \"../../adapters/env\";\nimport { SolidButton } from \"../shad-cn-ui\";\n\ntype SocialMediaLoginProps = {\n googleEnabled?: boolean;\n facebookEnabled?: boolean;\n appleEnabled?: boolean;\n microsoftEnabled?: boolean;\n};\n\nexport const SocialMediaLogin = ({\n googleEnabled = false,\n facebookEnabled = false,\n appleEnabled = false,\n microsoftEnabled = false,\n}: SocialMediaLoginProps) => {\n const router = useRouter();\n\n const googleApiConnectRedirectUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api/iam/google/connect`;\n const facebookApiConnectRedirectUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api/iam/facebook/connect`;\n const appleApiConnectRedirectUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api/iam/apple/connect`;\n const microsoftApiConnectRedirectUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api/iam/microsoft/connect`;\n\n return (\n <div className=\"mt-4\">\n <div className=\"solid-auth-social-grid\">\n {appleEnabled && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n className=\"solid-auth-social-btn\"\n onClick={() => router.push(appleApiConnectRedirectUrl)}\n aria-label=\"Login with Apple\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n width=\"18\"\n height=\"18\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path d=\"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701\" />\n </svg>\n </SolidButton>\n )}\n\n {googleEnabled && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n className=\"solid-auth-social-btn\"\n onClick={() => router.push(googleApiConnectRedirectUrl)}\n aria-label=\"Login with Google\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n width=\"18\"\n height=\"18\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M21.8 12.23c0-.74-.07-1.45-.2-2.13H12v4.03h5.5a4.7 4.7 0 0 1-2.04 3.08v2.55h3.3c1.93-1.78 3.04-4.4 3.04-7.53z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M12 22c2.75 0 5.05-.91 6.73-2.47l-3.3-2.55c-.92.62-2.1.99-3.43.99-2.64 0-4.88-1.78-5.68-4.18H2.9v2.63A10 10 0 0 0 12 22z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M6.32 13.79a6 6 0 0 1 0-3.58V7.58H2.9a10 10 0 0 0 0 8.84l3.42-2.63z\"\n fill=\"#FBBC05\"\n />\n <path\n d=\"M12 6.02c1.49 0 2.82.51 3.87 1.5l2.9-2.9C17.04 2.98 14.74 2 12 2A10 10 0 0 0 2.9 7.58l3.42 2.63c.8-2.4 3.04-4.19 5.68-4.19z\"\n fill=\"#EA4335\"\n />\n </svg>\n </SolidButton>\n )}\n\n {facebookEnabled && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n className=\"solid-auth-social-btn\"\n onClick={() => router.push(facebookApiConnectRedirectUrl)}\n aria-label=\"Login with Meta\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n width=\"18\"\n height=\"18\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M5.4 15.6c0-3.14 1.62-7.09 3.76-7.09 1.43 0 2.56 1.72 2.84 2.25.28-.53 1.41-2.25 2.84-2.25 2.14 0 3.76 3.95 3.76 7.09 0 1.79-.63 2.89-1.82 2.89-2.12 0-3.75-3.02-4.78-4.82-1.03 1.8-2.66 4.82-4.78 4.82-1.19 0-1.82-1.1-1.82-2.89z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </SolidButton>\n )}\n\n {microsoftEnabled && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n className=\"solid-auth-social-btn\"\n onClick={() => router.push(microsoftApiConnectRedirectUrl)}\n aria-label=\"Login with Microsoft\"\n >\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" aria-hidden=\"true\">\n <g transform=\"translate(2, 2)\">\n <rect width=\"9\" height=\"9\" x=\"0\" y=\"0\" fill=\"#f25022\" />\n <rect width=\"9\" height=\"9\" x=\"11\" y=\"0\" fill=\"#7fba00\" />\n <rect width=\"9\" height=\"9\" x=\"0\" y=\"11\" fill=\"#00a4ef\" />\n <rect width=\"9\" height=\"9\" x=\"11\" y=\"11\" fill=\"#ffb900\" />\n </g>\n </svg>\n </SolidButton>\n )}\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SocialMediaLogin.js","sourceRoot":"","sources":["../../../src/components/common/SocialMediaLogin.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useRouter } from \"../../hooks/useRouter\";\nimport { env } from \"../../adapters/env\";\nimport { SolidButton } from \"../shad-cn-ui\";\n\ntype SocialMediaLoginProps = {\n googleEnabled?: boolean;\n facebookEnabled?: boolean;\n appleEnabled?: boolean;\n microsoftEnabled?: boolean;\n};\n\nexport const SocialMediaLogin = ({\n googleEnabled = false,\n facebookEnabled = false,\n appleEnabled = false,\n microsoftEnabled = false,\n}: SocialMediaLoginProps) => {\n const router = useRouter();\n\n const googleApiConnectRedirectUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api/iam/google/connect`;\n const facebookApiConnectRedirectUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api/iam/facebook/connect`;\n const appleApiConnectRedirectUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api/iam/apple/connect`;\n const microsoftApiConnectRedirectUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api/iam/microsoft/connect`;\n\n return (\n <div className=\"mt-4\">\n <div className=\"solid-auth-social-grid\">\n {appleEnabled && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n className=\"solid-auth-social-btn\"\n tabIndex={-1}\n onClick={() => router.push(appleApiConnectRedirectUrl)}\n aria-label=\"Login with Apple\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n width=\"18\"\n height=\"18\"\n fill=\"currentColor\"\n aria-hidden=\"true\"\n >\n <path d=\"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701\" />\n </svg>\n </SolidButton>\n )}\n\n {googleEnabled && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n className=\"solid-auth-social-btn\"\n tabIndex={-1}\n onClick={() => router.push(googleApiConnectRedirectUrl)}\n aria-label=\"Login with Google\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n width=\"18\"\n height=\"18\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M21.8 12.23c0-.74-.07-1.45-.2-2.13H12v4.03h5.5a4.7 4.7 0 0 1-2.04 3.08v2.55h3.3c1.93-1.78 3.04-4.4 3.04-7.53z\"\n fill=\"#4285F4\"\n />\n <path\n d=\"M12 22c2.75 0 5.05-.91 6.73-2.47l-3.3-2.55c-.92.62-2.1.99-3.43.99-2.64 0-4.88-1.78-5.68-4.18H2.9v2.63A10 10 0 0 0 12 22z\"\n fill=\"#34A853\"\n />\n <path\n d=\"M6.32 13.79a6 6 0 0 1 0-3.58V7.58H2.9a10 10 0 0 0 0 8.84l3.42-2.63z\"\n fill=\"#FBBC05\"\n />\n <path\n d=\"M12 6.02c1.49 0 2.82.51 3.87 1.5l2.9-2.9C17.04 2.98 14.74 2 12 2A10 10 0 0 0 2.9 7.58l3.42 2.63c.8-2.4 3.04-4.19 5.68-4.19z\"\n fill=\"#EA4335\"\n />\n </svg>\n </SolidButton>\n )}\n\n {facebookEnabled && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n className=\"solid-auth-social-btn\"\n tabIndex={-1}\n onClick={() => router.push(facebookApiConnectRedirectUrl)}\n aria-label=\"Login with Meta\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n width=\"18\"\n height=\"18\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M5.4 15.6c0-3.14 1.62-7.09 3.76-7.09 1.43 0 2.56 1.72 2.84 2.25.28-.53 1.41-2.25 2.84-2.25 2.14 0 3.76 3.95 3.76 7.09 0 1.79-.63 2.89-1.82 2.89-2.12 0-3.75-3.02-4.78-4.82-1.03 1.8-2.66 4.82-4.78 4.82-1.19 0-1.82-1.1-1.82-2.89z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.8\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </SolidButton>\n )}\n\n {microsoftEnabled && (\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n className=\"solid-auth-social-btn\"\n tabIndex={-1}\n onClick={() => router.push(microsoftApiConnectRedirectUrl)}\n aria-label=\"Login with Microsoft\"\n >\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" aria-hidden=\"true\">\n <g transform=\"translate(2, 2)\">\n <rect width=\"9\" height=\"9\" x=\"0\" y=\"0\" fill=\"#f25022\" />\n <rect width=\"9\" height=\"9\" x=\"11\" y=\"0\" fill=\"#7fba00\" />\n <rect width=\"9\" height=\"9\" x=\"0\" y=\"11\" fill=\"#00a4ef\" />\n <rect width=\"9\" height=\"9\" x=\"11\" y=\"11\" fill=\"#ffb900\" />\n </g>\n </svg>\n </SolidButton>\n )}\n </div>\n </div>\n );\n};\n"]}
@@ -30,6 +30,7 @@ export const SocialMediaLogin = ({
30
30
  type="button"
31
31
  variant="outline"
32
32
  className="solid-auth-social-btn"
33
+ tabIndex={-1}
33
34
  onClick={() => router.push(appleApiConnectRedirectUrl)}
34
35
  aria-label="Login with Apple"
35
36
  >
@@ -50,6 +51,7 @@ export const SocialMediaLogin = ({
50
51
  type="button"
51
52
  variant="outline"
52
53
  className="solid-auth-social-btn"
54
+ tabIndex={-1}
53
55
  onClick={() => router.push(googleApiConnectRedirectUrl)}
54
56
  aria-label="Login with Google"
55
57
  >
@@ -85,6 +87,7 @@ export const SocialMediaLogin = ({
85
87
  type="button"
86
88
  variant="outline"
87
89
  className="solid-auth-social-btn"
90
+ tabIndex={-1}
88
91
  onClick={() => router.push(facebookApiConnectRedirectUrl)}
89
92
  aria-label="Login with Meta"
90
93
  >
@@ -111,6 +114,7 @@ export const SocialMediaLogin = ({
111
114
  type="button"
112
115
  variant="outline"
113
116
  className="solid-auth-social-btn"
117
+ tabIndex={-1}
114
118
  onClick={() => router.push(microsoftApiConnectRedirectUrl)}
115
119
  aria-label="Login with Microsoft"
116
120
  >
@@ -1,3 +1,3 @@
1
1
  import "./solid-export.css";
2
- export declare const SolidExport: ({ listViewMetaData, filters }: any) => import("react/jsx-runtime").JSX.Element | null;
2
+ export declare const SolidExport: ({ listViewMetaData, filters, onExportComplete }: any) => import("react/jsx-runtime").JSX.Element | null;
3
3
  //# sourceMappingURL=SolidExport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidExport.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidExport.tsx"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,CAAC;AAgF5B,eAAO,MAAM,WAAW,kCAAmC,GAAG,mDAia7D,CAAC"}
1
+ {"version":3,"file":"SolidExport.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidExport.tsx"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,CAAC;AAgF5B,eAAO,MAAM,WAAW,oDAAqD,GAAG,mDA2a/E,CAAC"}