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

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 (577) hide show
  1. package/dist/adapters/auth/handleLogout.d.ts +1 -1
  2. package/dist/adapters/auth/handleLogout.d.ts.map +1 -1
  3. package/dist/adapters/auth/handleLogout.js +20 -32
  4. package/dist/adapters/auth/handleLogout.js.map +1 -1
  5. package/dist/adapters/auth/handleLogout.ts +7 -14
  6. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  7. package/dist/components/auth/AuthLayout.js +2 -1
  8. package/dist/components/auth/AuthLayout.js.map +1 -1
  9. package/dist/components/auth/AuthLayout.tsx +2 -0
  10. package/dist/components/auth/ForgotPasswordThankYou.js +1 -1
  11. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  12. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -2
  13. package/dist/components/auth/SolidForgotPassword.js +1 -1
  14. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  15. package/dist/components/auth/SolidForgotPassword.tsx +2 -2
  16. package/dist/components/auth/SolidInitialLoginOtp.js +8 -8
  17. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  18. package/dist/components/auth/SolidInitialLoginOtp.tsx +1 -1
  19. package/dist/components/auth/SolidInitiateRegisterOtp.js +8 -8
  20. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  21. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +1 -1
  22. package/dist/components/auth/SolidLogin.js +9 -10
  23. package/dist/components/auth/SolidLogin.js.map +1 -1
  24. package/dist/components/auth/SolidLogin.tsx +3 -3
  25. package/dist/components/auth/SolidRegister.js +10 -10
  26. package/dist/components/auth/SolidRegister.js.map +1 -1
  27. package/dist/components/auth/SolidRegister.tsx +3 -3
  28. package/dist/components/common/GeneralSettings.js +1 -1
  29. package/dist/components/common/GeneralSettings.js.map +1 -1
  30. package/dist/components/common/GeneralSettings.tsx +1 -1
  31. package/dist/components/common/SettingsComponent.d.ts.map +1 -1
  32. package/dist/components/common/SettingsComponent.js +4 -1
  33. package/dist/components/common/SettingsComponent.js.map +1 -1
  34. package/dist/components/common/SettingsComponent.module.css +95 -2
  35. package/dist/components/common/SettingsComponent.tsx +4 -1
  36. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  37. package/dist/components/common/SocialMediaLogin.js +2 -2
  38. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  39. package/dist/components/common/SocialMediaLogin.tsx +8 -4
  40. package/dist/components/common/SolidExport.d.ts.map +1 -1
  41. package/dist/components/common/SolidExport.js +1 -1
  42. package/dist/components/common/SolidExport.js.map +1 -1
  43. package/dist/components/common/SolidExport.tsx +2 -0
  44. package/dist/components/common/SolidFaviconProvider.d.ts +3 -0
  45. package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -0
  46. package/dist/components/common/SolidFaviconProvider.js +102 -0
  47. package/dist/components/common/SolidFaviconProvider.js.map +1 -0
  48. package/dist/components/common/SolidFaviconProvider.tsx +55 -0
  49. package/dist/components/core/card/SolidCardView.js +1 -1
  50. package/dist/components/core/card/SolidCardView.js.map +1 -1
  51. package/dist/components/core/card/SolidCardView.tsx +1 -1
  52. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  53. package/dist/components/core/chatter/SolidChatter.js +24 -11
  54. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  55. package/dist/components/core/chatter/SolidChatter.tsx +20 -6
  56. package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
  57. package/dist/components/core/chatter/SolidChatterHeader.js +1 -1
  58. package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
  59. package/dist/components/core/chatter/SolidChatterHeader.tsx +4 -0
  60. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +1 -0
  61. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  62. package/dist/components/core/chatter/SolidChatterMessageBox.js +150 -11
  63. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  64. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +252 -11
  65. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  66. package/dist/components/core/chatter/SolidMessageComposer.js +3 -2
  67. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  68. package/dist/components/core/chatter/SolidMessageComposer.tsx +4 -2
  69. package/dist/components/core/chatter/chatter.module.css +1 -1
  70. package/dist/components/core/common/FilterComponent.d.ts.map +1 -1
  71. package/dist/components/core/common/FilterComponent.js +5 -3
  72. package/dist/components/core/common/FilterComponent.js.map +1 -1
  73. package/dist/components/core/common/FilterComponent.tsx +6 -2
  74. package/dist/components/core/common/GroupingComponent.d.ts.map +1 -1
  75. package/dist/components/core/common/GroupingComponent.js +2 -2
  76. package/dist/components/core/common/GroupingComponent.js.map +1 -1
  77. package/dist/components/core/common/GroupingComponent.tsx +2 -0
  78. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  79. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +1 -10
  80. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  81. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +1 -8
  82. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  83. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +6 -11
  84. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  85. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +5 -31
  86. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +1 -1
  87. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  88. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +2 -0
  89. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  90. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +2 -0
  91. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  92. package/dist/components/core/common/SolidGlobalSearchElement.js +137 -57
  93. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  94. package/dist/components/core/common/SolidGlobalSearchElement.tsx +92 -11
  95. package/dist/components/core/common/SolidSaveCustomFilterForm.d.ts.map +1 -1
  96. package/dist/components/core/common/SolidSaveCustomFilterForm.js +1 -1
  97. package/dist/components/core/common/SolidSaveCustomFilterForm.js.map +1 -1
  98. package/dist/components/core/common/SolidSaveCustomFilterForm.tsx +0 -1
  99. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts +4 -0
  100. package/dist/components/core/dashboard/mappers/echartsOptionMapper.d.ts.map +1 -0
  101. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js +79 -0
  102. package/dist/components/core/dashboard/mappers/echartsOptionMapper.js.map +1 -0
  103. package/dist/components/core/dashboard/mappers/echartsOptionMapper.ts +81 -0
  104. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts +3 -0
  105. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.d.ts.map +1 -0
  106. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js +17 -0
  107. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.js.map +1 -0
  108. package/dist/components/core/dashboard/widgets/DefaultDashboardBarChartWidget.tsx +6 -0
  109. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts +3 -0
  110. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.d.ts.map +1 -0
  111. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js +41 -0
  112. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.js.map +1 -0
  113. package/dist/components/core/dashboard/widgets/DefaultDashboardChartWidget.tsx +56 -0
  114. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts +3 -0
  115. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.d.ts.map +1 -0
  116. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js +14 -0
  117. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.js.map +1 -0
  118. package/dist/components/core/dashboard/widgets/DefaultDashboardKpiWidget.tsx +19 -0
  119. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts +3 -0
  120. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.d.ts.map +1 -0
  121. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js +17 -0
  122. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.js.map +1 -0
  123. package/dist/components/core/dashboard/widgets/DefaultDashboardLineChartWidget.tsx +6 -0
  124. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts +3 -0
  125. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.d.ts.map +1 -0
  126. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js +17 -0
  127. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.js.map +1 -0
  128. package/dist/components/core/dashboard/widgets/DefaultDashboardPieChartWidget.tsx +6 -0
  129. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts +3 -0
  130. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.d.ts.map +1 -0
  131. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js +12 -0
  132. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.js.map +1 -0
  133. package/dist/components/core/dashboard/widgets/DefaultDashboardTableWidget.tsx +39 -0
  134. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts +3 -0
  135. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.d.ts.map +1 -0
  136. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js +7 -0
  137. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.js.map +1 -0
  138. package/dist/components/core/dashboard/widgets/DefaultDashboardUnknownWidget.tsx +9 -0
  139. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts +3 -0
  140. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.d.ts.map +1 -0
  141. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js +203 -0
  142. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.js.map +1 -0
  143. package/dist/components/core/dashboard/widgets/QueueSlaHeatmapWidget.tsx +251 -0
  144. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +16 -0
  145. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -0
  146. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +31 -0
  147. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -0
  148. package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +43 -0
  149. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts +3 -0
  150. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.d.ts.map +1 -0
  151. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js +141 -0
  152. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.js.map +1 -0
  153. package/dist/components/core/extension/solid-core/moduleMetadata/list/ClearModulePackageRuntimeHeaderAction.tsx +205 -0
  154. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts +4 -0
  155. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.d.ts.map +1 -0
  156. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js +112 -0
  157. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.js.map +1 -0
  158. package/dist/components/core/extension/solid-core/moduleMetadata/list/ExportModulePackageRowAction.tsx +146 -0
  159. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts +11 -0
  160. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.d.ts.map +1 -0
  161. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js +22 -0
  162. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.js.map +1 -0
  163. package/dist/components/core/extension/solid-core/moduleMetadata/list/ModuleImportListHeaderAction.tsx +36 -0
  164. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts +3 -0
  165. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.d.ts.map +1 -0
  166. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js +133 -0
  167. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.js.map +1 -0
  168. package/dist/components/core/extension/solid-core/moduleMetadata/list/moduleMetadataListOnLoad.ts +76 -0
  169. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +1 -1
  170. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  171. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +1 -1
  172. package/dist/components/core/filter/fields/SolidBooleanField.d.ts.map +1 -1
  173. package/dist/components/core/filter/fields/SolidBooleanField.js +1 -1
  174. package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
  175. package/dist/components/core/filter/fields/SolidBooleanField.tsx +3 -2
  176. package/dist/components/core/filter/fields/SolidDateField.d.ts.map +1 -1
  177. package/dist/components/core/filter/fields/SolidDateField.js +1 -1
  178. package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
  179. package/dist/components/core/filter/fields/SolidDateField.tsx +2 -1
  180. package/dist/components/core/filter/fields/SolidDatetimeField.d.ts.map +1 -1
  181. package/dist/components/core/filter/fields/SolidDatetimeField.js +1 -1
  182. package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
  183. package/dist/components/core/filter/fields/SolidDatetimeField.tsx +3 -2
  184. package/dist/components/core/filter/fields/SolidExternalIdField.d.ts.map +1 -1
  185. package/dist/components/core/filter/fields/SolidExternalIdField.js +1 -1
  186. package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
  187. package/dist/components/core/filter/fields/SolidExternalIdField.tsx +2 -1
  188. package/dist/components/core/filter/fields/SolidIdField.d.ts.map +1 -1
  189. package/dist/components/core/filter/fields/SolidIdField.js +1 -1
  190. package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
  191. package/dist/components/core/filter/fields/SolidIdField.tsx +1 -0
  192. package/dist/components/core/filter/fields/SolidIntField.d.ts.map +1 -1
  193. package/dist/components/core/filter/fields/SolidIntField.js +1 -1
  194. package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
  195. package/dist/components/core/filter/fields/SolidIntField.tsx +2 -1
  196. package/dist/components/core/filter/fields/SolidMediaMultipleField.d.ts.map +1 -1
  197. package/dist/components/core/filter/fields/SolidMediaMultipleField.js +1 -1
  198. package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
  199. package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +2 -1
  200. package/dist/components/core/filter/fields/SolidMediaSingleField.d.ts.map +1 -1
  201. package/dist/components/core/filter/fields/SolidMediaSingleField.js +1 -1
  202. package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
  203. package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +2 -1
  204. package/dist/components/core/filter/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  205. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +1 -1
  206. package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
  207. package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +3 -2
  208. package/dist/components/core/filter/fields/SolidSelectionStaticField.d.ts.map +1 -1
  209. package/dist/components/core/filter/fields/SolidSelectionStaticField.js +1 -1
  210. package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
  211. package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +3 -2
  212. package/dist/components/core/filter/fields/SolidShortTextField.d.ts.map +1 -1
  213. package/dist/components/core/filter/fields/SolidShortTextField.js +1 -1
  214. package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
  215. package/dist/components/core/filter/fields/SolidShortTextField.tsx +2 -1
  216. package/dist/components/core/filter/fields/SolidTimeField.d.ts.map +1 -1
  217. package/dist/components/core/filter/fields/SolidTimeField.js +1 -1
  218. package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
  219. package/dist/components/core/filter/fields/SolidTimeField.tsx +3 -2
  220. package/dist/components/core/filter/fields/SolidUuidField.d.ts.map +1 -1
  221. package/dist/components/core/filter/fields/SolidUuidField.js +1 -1
  222. package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
  223. package/dist/components/core/filter/fields/SolidUuidField.tsx +2 -1
  224. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  225. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +1 -1
  226. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  227. package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +3 -2
  228. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  229. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +1 -1
  230. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  231. package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +3 -2
  232. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  233. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +1 -1
  234. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  235. package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +3 -2
  236. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  237. package/dist/components/core/form/SolidFormActionHeader.js +1 -0
  238. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  239. package/dist/components/core/form/SolidFormActionHeader.tsx +2 -1
  240. package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
  241. package/dist/components/core/form/SolidFormFooter.js +16 -9
  242. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  243. package/dist/components/core/form/SolidFormFooter.tsx +16 -8
  244. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  245. package/dist/components/core/form/SolidFormView.js +12 -7
  246. package/dist/components/core/form/SolidFormView.js.map +1 -1
  247. package/dist/components/core/form/SolidFormView.tsx +11 -5
  248. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.d.ts.map +1 -1
  249. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js +12 -3
  250. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.js.map +1 -1
  251. package/dist/components/core/form/SolidFormViewContextMenuHeaderButton.tsx +21 -16
  252. package/dist/components/core/form/SolidFormViewNormalHeaderButton.d.ts.map +1 -1
  253. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js +15 -5
  254. package/dist/components/core/form/SolidFormViewNormalHeaderButton.js.map +1 -1
  255. package/dist/components/core/form/SolidFormViewNormalHeaderButton.tsx +21 -9
  256. package/dist/components/core/form/field-quality-check-fixes.md +201 -0
  257. package/dist/components/core/form/fields/SolidBooleanField.d.ts.map +1 -1
  258. package/dist/components/core/form/fields/SolidBooleanField.js +10 -1
  259. package/dist/components/core/form/fields/SolidBooleanField.js.map +1 -1
  260. package/dist/components/core/form/fields/SolidBooleanField.tsx +13 -1
  261. package/dist/components/core/form/fields/SolidDecimalField.d.ts.map +1 -1
  262. package/dist/components/core/form/fields/SolidDecimalField.js +7 -1
  263. package/dist/components/core/form/fields/SolidDecimalField.js.map +1 -1
  264. package/dist/components/core/form/fields/SolidDecimalField.tsx +10 -1
  265. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  266. package/dist/components/core/form/fields/SolidIntegerField.js +14 -2
  267. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  268. package/dist/components/core/form/fields/SolidIntegerField.tsx +20 -2
  269. package/dist/components/core/form/fields/SolidJsonField.d.ts.map +1 -1
  270. package/dist/components/core/form/fields/SolidJsonField.js +9 -1
  271. package/dist/components/core/form/fields/SolidJsonField.js.map +1 -1
  272. package/dist/components/core/form/fields/SolidJsonField.tsx +12 -1
  273. package/dist/components/core/form/fields/SolidLongTextField.d.ts +0 -1
  274. package/dist/components/core/form/fields/SolidLongTextField.d.ts.map +1 -1
  275. package/dist/components/core/form/fields/SolidLongTextField.js +16 -48
  276. package/dist/components/core/form/fields/SolidLongTextField.js.map +1 -1
  277. package/dist/components/core/form/fields/SolidLongTextField.tsx +22 -88
  278. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  279. package/dist/components/core/form/fields/SolidMediaMultipleField.js +15 -2
  280. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  281. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +20 -4
  282. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  283. package/dist/components/core/form/fields/SolidMediaSingleField.js +21 -3
  284. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  285. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +30 -3
  286. package/dist/components/core/form/fields/SolidPasswordField.d.ts.map +1 -1
  287. package/dist/components/core/form/fields/SolidPasswordField.js +2 -1
  288. package/dist/components/core/form/fields/SolidPasswordField.js.map +1 -1
  289. package/dist/components/core/form/fields/SolidPasswordField.tsx +13 -1
  290. package/dist/components/core/form/fields/SolidRichTextField.d.ts.map +1 -1
  291. package/dist/components/core/form/fields/SolidRichTextField.js +9 -1
  292. package/dist/components/core/form/fields/SolidRichTextField.js.map +1 -1
  293. package/dist/components/core/form/fields/SolidRichTextField.tsx +12 -1
  294. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts +12 -0
  295. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -0
  296. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +168 -0
  297. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -0
  298. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +241 -0
  299. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  300. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +17 -15
  301. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  302. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +10 -2
  303. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  304. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +14 -14
  305. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  306. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +19 -9
  307. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.d.ts.map +1 -1
  308. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js +9 -7
  309. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.js.map +1 -1
  310. package/dist/components/core/form/fields/relations/SolidRelationOneToManyField.tsx +8 -2
  311. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +1 -1
  312. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  313. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +1 -1
  314. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.d.ts.map +1 -1
  315. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js +14 -3
  316. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.js.map +1 -1
  317. package/dist/components/core/form/fields/widgets/SolidIconEditWidget.tsx +20 -3
  318. package/dist/components/core/kanban/SolidKanbanView.js +1 -1
  319. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  320. package/dist/components/core/kanban/SolidKanbanView.tsx +1 -1
  321. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  322. package/dist/components/core/list/SolidDataTable.js +2 -1
  323. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  324. package/dist/components/core/list/SolidDataTable.tsx +8 -9
  325. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  326. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -0
  327. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  328. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +2 -0
  329. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  330. package/dist/components/core/list/SolidListView.js +180 -101
  331. package/dist/components/core/list/SolidListView.js.map +1 -1
  332. package/dist/components/core/list/SolidListView.tsx +119 -33
  333. package/dist/components/core/list/SolidListViewColumn.d.ts +3 -1
  334. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  335. package/dist/components/core/list/SolidListViewColumn.js +27 -2
  336. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  337. package/dist/components/core/list/SolidListViewColumn.tsx +16 -3
  338. package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
  339. package/dist/components/core/list/SolidListViewConfigure.js +11 -10
  340. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  341. package/dist/components/core/list/SolidListViewConfigure.tsx +4 -2
  342. package/dist/components/core/list/SolidListViewHeaderButton.d.ts.map +1 -1
  343. package/dist/components/core/list/SolidListViewHeaderButton.js +9 -3
  344. package/dist/components/core/list/SolidListViewHeaderButton.js.map +1 -1
  345. package/dist/components/core/list/SolidListViewHeaderButton.tsx +12 -7
  346. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.d.ts.map +1 -1
  347. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js +19 -7
  348. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.js.map +1 -1
  349. package/dist/components/core/list/SolidListViewHeaderContextMenuButton.tsx +19 -6
  350. package/dist/components/core/list/SolidListViewRowActionMenuItem.d.ts.map +1 -1
  351. package/dist/components/core/list/SolidListViewRowActionMenuItem.js +14 -5
  352. package/dist/components/core/list/SolidListViewRowActionMenuItem.js.map +1 -1
  353. package/dist/components/core/list/SolidListViewRowActionMenuItem.tsx +17 -6
  354. package/dist/components/core/list/SolidListViewRowActionsMenu.d.ts.map +1 -1
  355. package/dist/components/core/list/SolidListViewRowActionsMenu.js +7 -1
  356. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  357. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +5 -1
  358. package/dist/components/core/list/columns/SolidBooleanColumn.d.ts.map +1 -1
  359. package/dist/components/core/list/columns/SolidBooleanColumn.js +4 -6
  360. package/dist/components/core/list/columns/SolidBooleanColumn.js.map +1 -1
  361. package/dist/components/core/list/columns/SolidBooleanColumn.tsx +1 -3
  362. package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
  363. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +4 -3
  364. package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
  365. package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +4 -3
  366. package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
  367. package/dist/components/core/list/columns/SolidMediaSingleColumn.js +3 -2
  368. package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
  369. package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +3 -2
  370. package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
  371. package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
  372. package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
  373. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  374. package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
  375. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
  376. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  377. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +9 -4
  378. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  379. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +14 -4
  380. package/dist/components/core/list/field-quality-check-fixes.md +178 -0
  381. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts +3 -0
  382. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.d.ts.map +1 -0
  383. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js +39 -0
  384. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.js.map +1 -0
  385. package/dist/components/core/list/widgets/SolidUserBlockedStatusListWidget.tsx +50 -0
  386. package/dist/components/core/model/CreateModel.css +48 -0
  387. package/dist/components/core/model/CreateModel.d.ts +1 -0
  388. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  389. package/dist/components/core/model/CreateModel.js +80 -128
  390. package/dist/components/core/model/CreateModel.js.map +1 -1
  391. package/dist/components/core/model/CreateModel.tsx +102 -226
  392. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  393. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  394. package/dist/components/core/model/FieldMetaData.js +6 -22
  395. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  396. package/dist/components/core/model/FieldMetaData.tsx +16 -49
  397. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  398. package/dist/components/core/model/FieldMetaDataForm.js +196 -222
  399. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  400. package/dist/components/core/model/FieldMetaDataForm.tsx +1 -73
  401. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  402. package/dist/components/core/model/ModelMetaData.js +12 -24
  403. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  404. package/dist/components/core/model/ModelMetaData.tsx +15 -21
  405. package/dist/components/core/module/CreateModule.css +44 -0
  406. package/dist/components/core/module/CreateModule.d.ts +1 -0
  407. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  408. package/dist/components/core/module/CreateModule.js +40 -43
  409. package/dist/components/core/module/CreateModule.js.map +1 -1
  410. package/dist/components/core/module/CreateModule.tsx +243 -247
  411. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  412. package/dist/components/core/module/ModuleListViewData.js +47 -7
  413. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  414. package/dist/components/core/module/ModuleListViewData.tsx +58 -0
  415. package/dist/components/core/module/ModuleMetadataExplorer.css +638 -0
  416. package/dist/components/core/module/ModuleMetadataExplorer.d.ts +15 -0
  417. package/dist/components/core/module/ModuleMetadataExplorer.d.ts.map +1 -0
  418. package/dist/components/core/module/ModuleMetadataExplorer.js +666 -0
  419. package/dist/components/core/module/ModuleMetadataExplorer.js.map +1 -0
  420. package/dist/components/core/module/ModuleMetadataExplorer.tsx +1000 -0
  421. package/dist/components/core/module/ModulePackageDialog.css +540 -0
  422. package/dist/components/core/module/ModulePackageDialog.d.ts +16 -0
  423. package/dist/components/core/module/ModulePackageDialog.d.ts.map +1 -0
  424. package/dist/components/core/module/ModulePackageDialog.js +625 -0
  425. package/dist/components/core/module/ModulePackageDialog.js.map +1 -0
  426. package/dist/components/core/module/ModulePackageDialog.tsx +906 -0
  427. package/dist/components/core/tree/SolidTreeView.js +2 -2
  428. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  429. package/dist/components/core/tree/SolidTreeView.tsx +3 -3
  430. package/dist/components/core/users/CreateUser.css +27 -2
  431. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  432. package/dist/components/core/users/CreateUser.js +52 -24
  433. package/dist/components/core/users/CreateUser.js.map +1 -1
  434. package/dist/components/core/users/CreateUser.tsx +47 -34
  435. package/dist/components/layout/AdminHeaderActions.d.ts +7 -0
  436. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -0
  437. package/dist/components/layout/AdminHeaderActions.js +77 -0
  438. package/dist/components/layout/AdminHeaderActions.js.map +1 -0
  439. package/dist/components/layout/AdminHeaderActions.tsx +155 -0
  440. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  441. package/dist/components/layout/AdminTopHeader.js +8 -17
  442. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  443. package/dist/components/layout/AdminTopHeader.tsx +9 -64
  444. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  445. package/dist/components/layout/AppSidebar.js +2 -1
  446. package/dist/components/layout/AppSidebar.js.map +1 -1
  447. package/dist/components/layout/AppSidebar.tsx +2 -0
  448. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  449. package/dist/components/layout/user-profile-menu.js +57 -33
  450. package/dist/components/layout/user-profile-menu.js.map +1 -1
  451. package/dist/components/layout/user-profile-menu.tsx +11 -59
  452. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +2 -1
  453. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  454. package/dist/components/shad-cn-ui/SolidAutocomplete.js +60 -6
  455. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  456. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +81 -22
  457. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +1 -1
  458. package/dist/components/shad-cn-ui/SolidButton.js +10 -2
  459. package/dist/components/shad-cn-ui/SolidButton.js.map +1 -1
  460. package/dist/components/shad-cn-ui/SolidButton.tsx +10 -2
  461. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts +1 -1
  462. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  463. package/dist/components/shad-cn-ui/SolidDatePicker.js +2 -2
  464. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  465. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +4 -0
  466. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  467. package/dist/components/shad-cn-ui/SolidDialog.js +38 -4
  468. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  469. package/dist/components/shad-cn-ui/SolidDialog.tsx +47 -3
  470. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -1
  471. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  472. package/dist/components/shad-cn-ui/SolidIcon.js +1 -0
  473. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  474. package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -0
  475. package/dist/components/shad-cn-ui/SolidPasswordInput.d.ts.map +1 -1
  476. package/dist/components/shad-cn-ui/SolidPasswordInput.js +1 -1
  477. package/dist/components/shad-cn-ui/SolidPasswordInput.js.map +1 -1
  478. package/dist/components/shad-cn-ui/SolidPasswordInput.tsx +1 -0
  479. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  480. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  481. package/dist/components/shad-cn-ui/SolidSelect.js +51 -1
  482. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  483. package/dist/components/shad-cn-ui/SolidSelect.tsx +95 -0
  484. package/dist/helpers/buttonEnvironment.d.ts +5 -0
  485. package/dist/helpers/buttonEnvironment.d.ts.map +1 -0
  486. package/dist/helpers/buttonEnvironment.js +30 -0
  487. package/dist/helpers/buttonEnvironment.js.map +1 -0
  488. package/dist/helpers/buttonEnvironment.ts +35 -0
  489. package/dist/helpers/buttonPresentation.d.ts +24 -0
  490. package/dist/helpers/buttonPresentation.d.ts.map +1 -0
  491. package/dist/helpers/buttonPresentation.js +28 -0
  492. package/dist/helpers/buttonPresentation.js.map +1 -0
  493. package/dist/helpers/buttonPresentation.ts +53 -0
  494. package/dist/helpers/fileTypeIcon.d.ts +12 -0
  495. package/dist/helpers/fileTypeIcon.d.ts.map +1 -0
  496. package/dist/helpers/fileTypeIcon.js +37 -0
  497. package/dist/helpers/fileTypeIcon.js.map +1 -0
  498. package/dist/helpers/fileTypeIcon.tsx +65 -0
  499. package/dist/helpers/registry.d.ts.map +1 -1
  500. package/dist/helpers/registry.js +28 -10
  501. package/dist/helpers/registry.js.map +1 -1
  502. package/dist/helpers/registry.ts +31 -13
  503. package/dist/helpers/waitForBackendAvailability.d.ts +7 -0
  504. package/dist/helpers/waitForBackendAvailability.d.ts.map +1 -0
  505. package/dist/helpers/waitForBackendAvailability.js +86 -0
  506. package/dist/helpers/waitForBackendAvailability.js.map +1 -0
  507. package/dist/helpers/waitForBackendAvailability.ts +37 -0
  508. package/dist/index.d.ts +10 -9
  509. package/dist/index.d.ts.map +1 -1
  510. package/dist/index.js +7 -8
  511. package/dist/index.js.map +1 -1
  512. package/dist/index.ts +34 -13
  513. package/dist/redux/api/dashboardRuntimeApi.d.ts +34 -0
  514. package/dist/redux/api/dashboardRuntimeApi.d.ts.map +1 -0
  515. package/dist/redux/api/dashboardRuntimeApi.js +79 -0
  516. package/dist/redux/api/dashboardRuntimeApi.js.map +1 -0
  517. package/dist/redux/api/dashboardRuntimeApi.ts +75 -0
  518. package/dist/redux/api/moduleApi.d.ts +26 -1
  519. package/dist/redux/api/moduleApi.d.ts.map +1 -1
  520. package/dist/redux/api/moduleApi.js +237 -1
  521. package/dist/redux/api/moduleApi.js.map +1 -1
  522. package/dist/redux/api/moduleApi.ts +181 -1
  523. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  524. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  525. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  526. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  527. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  528. package/dist/redux/store/defaultStoreConfig.d.ts +57 -9
  529. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  530. package/dist/redux/store/defaultStoreConfig.js +2 -6
  531. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  532. package/dist/redux/store/defaultStoreConfig.ts +2 -6
  533. package/dist/redux/store/solidEntityApiPool.d.ts +1 -0
  534. package/dist/redux/store/solidEntityApiPool.d.ts.map +1 -1
  535. package/dist/redux/store/solidEntityApiPool.js +4 -0
  536. package/dist/redux/store/solidEntityApiPool.js.map +1 -1
  537. package/dist/redux/store/solidEntityApiPool.ts +4 -0
  538. package/dist/resources/globals.css +163 -19
  539. package/dist/resources/shadcn-base.css +408 -183
  540. package/dist/resources/solid-responsive.css +235 -50
  541. package/dist/routes/AppEventListener.d.ts.map +1 -1
  542. package/dist/routes/AppEventListener.js +58 -8
  543. package/dist/routes/AppEventListener.js.map +1 -1
  544. package/dist/routes/AppEventListener.tsx +69 -8
  545. package/dist/routes/SolidRouteMetadataBoundary.d.ts +5 -0
  546. package/dist/routes/SolidRouteMetadataBoundary.d.ts.map +1 -0
  547. package/dist/routes/SolidRouteMetadataBoundary.js +72 -0
  548. package/dist/routes/SolidRouteMetadataBoundary.js.map +1 -0
  549. package/dist/routes/SolidRouteMetadataBoundary.tsx +77 -0
  550. package/dist/routes/pages/admin/core/DashboardPage.d.ts +1 -0
  551. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  552. package/dist/routes/pages/admin/core/DashboardPage.js +860 -5
  553. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  554. package/dist/routes/pages/admin/core/DashboardPage.module.css +219 -0
  555. package/dist/routes/pages/admin/core/DashboardPage.tsx +1025 -7
  556. package/dist/routes/solidRoutes.d.ts.map +1 -1
  557. package/dist/routes/solidRoutes.js +48 -27
  558. package/dist/routes/solidRoutes.js.map +1 -1
  559. package/dist/routes/solidRoutes.tsx +48 -27
  560. package/dist/routes/types.d.ts +8 -1
  561. package/dist/routes/types.d.ts.map +1 -1
  562. package/dist/routes/types.js.map +1 -1
  563. package/dist/routes/types.ts +9 -1
  564. package/dist/types/dashboard.d.ts +16 -0
  565. package/dist/types/dashboard.d.ts.map +1 -0
  566. package/dist/types/dashboard.js +2 -0
  567. package/dist/types/dashboard.js.map +1 -0
  568. package/dist/types/dashboard.ts +23 -0
  569. package/dist/types/extension-registry.d.ts +1 -0
  570. package/dist/types/extension-registry.d.ts.map +1 -1
  571. package/dist/types/extension-registry.js +1 -0
  572. package/dist/types/extension-registry.js.map +1 -1
  573. package/dist/types/extension-registry.ts +1 -0
  574. package/dist/types/index.d.ts +3 -0
  575. package/dist/types/jsoneditor.d.ts +4 -0
  576. package/dist/types/solid-core.d.ts +1 -0
  577. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FilterComponent.js","sourceRoot":"","sources":["../../../../src/components/core/common/FilterComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React, { useState } from 'react';\nimport { SolidFilterFields } from '../filter/SolidFilterFields';\nimport { FolderPlus, Plus, Trash2 } from 'lucide-react';\nimport { SolidButton } from '../../shad-cn-ui/SolidButton';\nimport { SolidAutocomplete } from '../../shad-cn-ui/SolidAutocomplete';\nimport { SolidInput } from '../../shad-cn-ui/SolidInput';\nimport { SolidSelect } from '../../shad-cn-ui/SolidSelect';\nimport { FilterMatchMode, type FilterMatchModeValue } from '../filter/filterMatchMode';\n\nexport enum FilterRuleType {\n RULE = 'rule',\n RULE_GROUP = 'rule_group'\n}\n\nexport enum FilterOperator {\n AND = 'and',\n OR = 'or'\n}\n\nexport interface FilterRule {\n id: number;\n type: FilterRuleType;\n matchOperator?: FilterOperator;\n fieldName?: string | null;\n matchMode?: FilterMatchModeValue | null;\n value?: any;\n parentRule: number | null;\n children?: FilterRule[];\n}\n\nexport interface Field {\n name: string;\n type: 'string' | 'number' | 'date';\n}\n\n// const fields: Field[] = [\n// { name: 'name', type: 'string' },\n// { name: 'dob', type: 'date' },\n// { name: 'lastName', type: 'string' },\n// { name: 'amount', type: 'number' }\n// ];\n\nconst operatorOptions = {\n // string: [FilterMatchMode.CONTAINS, FilterMatchMode.EQUALS],\n // date: [FilterMatchMode.EQUALS, FilterMatchMode.GREATER_THAN, FilterMatchMode.LESS_THAN],\n // number: [FilterMatchMode.GREATER_THAN, FilterMatchMode.LESS_THAN],\n id: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n int: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n bigint: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n float: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n decimal: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n shortText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n longText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n richText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n boolean: [FilterMatchMode.EQUALS],\n date: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN,],\n datetime: [FilterMatchMode.EQUALS],\n time: [FilterMatchMode.EQUALS],\n relation: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n mediaSingle: [],\n mediaMultiple: [],\n selectionStatic: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n selectionDynamic: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n computed: [],\n externalId: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n uuid: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n\n};\n\nconst getRandomInt = (min, max) => {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\n// Component to render a single filter rule\nconst FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAddGroup, onDelete, level }) => {\n // const applicableOperators = rule.fieldName ? operatorOptions[fields.find(f => f.name === rule.fieldName)?.value.type].map(e => { return { name: e } }) : [];\n // const applicableInputField = rule.fieldName ? fields.find(f => f.name === rule.fieldName)?.type : \"\";\n\n const [fieldName, setFieldName] = useState({ name: rule.fieldName });\n const [matchMode, setMatchMode] = useState({ name: rule.matchMode });\n\n const [filteredFields, setFilteredFields] = useState<any[]>([]);\n\n const searchFields = (event: any) => {\n const query = event.query.toLowerCase();\n const filtered = !query\n ? fields\n : fields.filter((item: any) =>\n item.name.toLowerCase().startsWith(query)\n );\n setFilteredFields(filtered);\n };\n return (\n <div className='solid-filter-rule-row'>\n <div className='solid-filter-rule-main'>\n <div className='solid-filter-rule-field'>\n <div className='solid-filter-control-wrap'>\n <SolidAutocomplete\n value={fieldName.name}\n suggestions={filteredFields}\n completeMethod={searchFields}\n field=\"name\"\n dropdown\n forceSelection // only values from list\n placeholder=\"Select Field\"\n className=\"w-full solid-filter-auto-complete-field solid-filter-compact-control\"\n onChange={(e) => {\n setFieldName({ name: e.value }); // e.value will be an object or null\n if (e.value && typeof e.value === \"object\" && e.value.value) {\n onChange(rule.id, 'fieldName', e.value.value); // send value to parent\n } else {\n onChange(rule.id, 'fieldName', '');\n }\n }}\n />\n </div>\n </div>\n <div className='solid-filter-rule-value'>\n <div className='solid-filter-control-wrap'>\n {rule.fieldName ?\n <SolidFilterFields viewData={viewData} fieldMetadata={viewData.data.solidFieldsMetadata[rule.fieldName]} onChange={onChange} index={rule.id} rule={rule}></SolidFilterFields>\n : <div className='solid-filter-empty-pair'>\n <SolidInput\n disabled\n value={rule.value || ''}\n placeholder=\"Operator\"\n className='w-full solid-filter-compact-control'\n />\n <SolidInput\n disabled\n value={rule.value || ''}\n placeholder=\"Value\"\n className='w-full solid-filter-compact-control'\n />\n </div>\n }\n </div>\n </div>\n </div>\n <div className='solid-filter-rule-actions'>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddRule(rule.parentRule)} className='solid-filter-action-btn solid-filter-action-icon-btn'>\n <Plus size={14} />\n </SolidButton>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddGroup(rule.id)} className='solid-filter-action-btn solid-filter-action-icon-btn'>\n <FolderPlus size={14} />\n </SolidButton>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onDelete(rule.id)} className='solid-filter-action-btn solid-filter-action-icon-btn is-danger'>\n <Trash2 size={14} />\n </SolidButton>\n </div>\n\n {rule.children && rule.children.map(nestedRule => (\n <div className='nested-custom-filter' key={nestedRule.id}>\n {nestedRule.type === FilterRuleType.RULE\n ? <FilterRuleComponent key={nestedRule.id} viewData={viewData} fields={fields} rule={nestedRule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n : <FilterGroupComponent key={nestedRule.id} viewData={viewData} fields={fields} group={nestedRule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n }\n </div>\n ))}\n </div>\n );\n};\n\n// Component to render a group of filter rules\nconst FilterGroupComponent = ({ viewData, fields, group, onChange, onAddRule, onAddGroup, onDelete, level }) => {\n return (\n <div className='primary-filter-fieldset solid-filter-group-shell'>\n <div className=\"solid-filter-group-operator-wrap\">\n <SolidSelect\n value={group.matchOperator}\n options={[\n { label: \"OR\", value: FilterOperator.OR },\n { label: \"AND\", value: FilterOperator.AND },\n ]}\n placeholder=\"Operator\"\n className=\"solid-filter-group-operator-select\"\n onChange={(event) => onChange(group.id, 'matchOperator', event.value)}\n />\n </div>\n {group.children && group.children.map(rule => (\n rule.type === FilterRuleType.RULE\n ? <FilterRuleComponent key={rule.id} viewData={viewData} fields={fields} rule={rule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n : <FilterGroupComponent key={rule.id} viewData={viewData} fields={fields} group={rule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n ))}\n {/* Add Condition Button to add parent rule */}\n {level === 0 &&\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddRule(group.id)} className='px-0 mt-2 solid-filter-add-condition-btn'>\n <Plus size={14} />\n Add Condition\n </SolidButton>\n }\n </div>\n );\n};\n\n// Main Filter component\nconst FilterComponent = ({ viewData, fields, filterRules, setFilterRules, transformFilterRules, closeDialog }) => {\n // const initialState: FilterRule[] = [\n // {\n // id: 1,\n // type: FilterRuleType.RULE_GROUP,\n // matchOperator: FilterOperator.OR,\n // parentRule: null,\n // children: [\n // {\n // id: Date.now() + getRandomInt(1, 500),\n // type: FilterRuleType.RULE,\n // fieldName: null,\n // matchMode: null,\n // value: null,\n // parentRule: 1,\n // children: []\n // }\n // ]\n // }\n // ];\n\n // const [filterRules, setFilterRules] = useState<FilterRule[]>(initialState);\n const [printedState, setPrintedState] = useState<string>('');\n\n const addChild = (rules, parentId, newChild) => {\n return rules.map(rule => {\n if (rule.id === parentId) {\n return {\n ...rule,\n children: [...(rule.children || []), newChild]\n };\n } else if (rule.children) {\n return {\n ...rule,\n children: addChild(rule.children, parentId, newChild)\n };\n }\n return rule;\n });\n };\n\n const handleChange = (id, key, value) => {\n const updateRuleRecursively = (rules) => {\n return rules.map(rule => {\n if (rule.id === id) {\n return { ...rule, [key]: value };\n } else if (rule.children) {\n return {\n ...rule,\n children: updateRuleRecursively(rule.children)\n };\n }\n return rule;\n });\n };\n setFilterRules(prev => updateRuleRecursively(prev));\n };\n\n const handleAddRule = (parentGroupId) => {\n const newRule: FilterRule = {\n id: Date.now(),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: parentGroupId,\n children: []\n };\n setFilterRules(prev => addChild(prev, parentGroupId, newRule));\n };\n\n const handleAddGroup = (parentRuleId) => {\n const newGroupId = Date.now();\n const newGroup: FilterRule = {\n id: newGroupId,\n type: FilterRuleType.RULE_GROUP,\n matchOperator: FilterOperator.AND,\n parentRule: parentRuleId,\n children: [\n {\n id: Date.now() + getRandomInt(1, 500),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: newGroupId,\n children: []\n },\n {\n id: Date.now() + getRandomInt(1, 500),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: newGroupId,\n children: []\n }\n ]\n };\n setFilterRules(prev => addChild(prev, parentRuleId, newGroup));\n };\n\n // const handleDeleteRule = (id) => {\n // const deleteRecursively = (rules, id) => {\n // return rules.filter(rule => rule.id !== id).map(rule => {\n // if (rule.children) {\n // return {\n // ...rule,\n // children: deleteRecursively(rule.children, id)\n // };\n // }\n // return rule;\n // });\n // };\n // setFilterRules(prev => deleteRecursively(prev, id));\n // };\n\n\n const removeEmptyGroups = (rule) => {\n if (rule.type === \"rule_group\" && rule.children.length === 0) {\n return null;\n }\n\n rule.children = rule.children\n .map(removeEmptyGroups) // Recursively process children\n .filter(child => child !== null); // Remove null values\n\n return rule;\n };\n\n\n const handleDeleteRule = (id) => {\n if (filterRules[0].children.length === 1 && filterRules[0].children[0].id === id) {\n return\n }\n const deleteRecursively = (rules, id, isRoot = false) => {\n const mappedData = rules\n .map(rule => {\n if (rule.id === id) {\n return null; // Remove the target rule\n }\n\n if (rule.children) {\n const updatedChildren = deleteRecursively(rule.children, id);\n\n // If this rule had children and now has none, keep it but set children to []\n if (rule.children.length > 0 && updatedChildren.length === 0) {\n return { ...rule, children: [] };\n }\n\n return { ...rule, children: updatedChildren };\n }\n\n return rule;\n })\n .filter(rule => rule !== null); // Remove null values\n\n return mappedData\n };\n\n setFilterRules(prevRules => [removeEmptyGroups(deleteRecursively(prevRules, id, true)[0])]);\n };\n\n\n\n\n\n // const handlePrintState = () => {\n // // setPrintedState(JSON.stringify(filterRules, null, 2)); // Pretty format the state\n // transformFilterRules(filterRules)\n // };\n\n\n\n\n return (\n <div className='solid-filter-builder'>\n {filterRules.map(rule => (\n <FilterGroupComponent\n key={rule.id}\n viewData={viewData}\n fields={fields}\n group={rule}\n onChange={handleChange}\n onAddRule={handleAddRule}\n onAddGroup={handleAddGroup}\n onDelete={handleDeleteRule}\n level={0} // Top-level group\n />\n ))}\n <div className='solid-filter-builder-actions'>\n <SolidButton variant=\"primary\" size=\"sm\" onClick={() => transformFilterRules(filterRules)} type=\"submit\" className=\"solid-filter-submit-btn\">Apply</SolidButton>\n <SolidButton type='button' variant=\"outline\" size='sm' onClick={closeDialog} className=\"solid-filter-cancel-btn\">Cancel</SolidButton>\n {/* \n <br></br>\n <textarea value={printedState} readOnly rows={20} cols={100} style={{ marginTop: '20px' }} /> */}\n </div>\n </div>\n );\n};\n\nexport default FilterComponent;\n"]}
1
+ {"version":3,"file":"FilterComponent.js","sourceRoot":"","sources":["../../../../src/components/core/common/FilterComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport React, { useState } from 'react';\nimport { SolidFilterFields } from '../filter/SolidFilterFields';\nimport { FolderPlus, Plus, Trash2 } from 'lucide-react';\nimport { SolidButton } from '../../shad-cn-ui/SolidButton';\nimport { SolidAutocomplete } from '../../shad-cn-ui/SolidAutocomplete';\nimport { SolidInput } from '../../shad-cn-ui/SolidInput';\nimport { SolidSelect } from '../../shad-cn-ui/SolidSelect';\nimport { FilterMatchMode, type FilterMatchModeValue } from '../filter/filterMatchMode';\n\nexport enum FilterRuleType {\n RULE = 'rule',\n RULE_GROUP = 'rule_group'\n}\n\nexport enum FilterOperator {\n AND = 'and',\n OR = 'or'\n}\n\nexport interface FilterRule {\n id: number;\n type: FilterRuleType;\n matchOperator?: FilterOperator;\n fieldName?: string | null;\n matchMode?: FilterMatchModeValue | null;\n value?: any;\n parentRule: number | null;\n children?: FilterRule[];\n}\n\nexport interface Field {\n name: string;\n type: 'string' | 'number' | 'date';\n}\n\n// const fields: Field[] = [\n// { name: 'name', type: 'string' },\n// { name: 'dob', type: 'date' },\n// { name: 'lastName', type: 'string' },\n// { name: 'amount', type: 'number' }\n// ];\n\nconst operatorOptions = {\n // string: [FilterMatchMode.CONTAINS, FilterMatchMode.EQUALS],\n // date: [FilterMatchMode.EQUALS, FilterMatchMode.GREATER_THAN, FilterMatchMode.LESS_THAN],\n // number: [FilterMatchMode.GREATER_THAN, FilterMatchMode.LESS_THAN],\n id: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n int: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n bigint: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n float: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n decimal: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN],\n shortText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n longText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n richText: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n boolean: [FilterMatchMode.EQUALS],\n date: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO, FilterMatchMode.IN, FilterMatchMode.NOT_IN, FilterMatchMode.BETWEEN,],\n datetime: [FilterMatchMode.EQUALS],\n time: [FilterMatchMode.EQUALS],\n relation: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n mediaSingle: [],\n mediaMultiple: [],\n selectionStatic: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n selectionDynamic: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n computed: [],\n externalId: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n uuid: [FilterMatchMode.IN, FilterMatchMode.NOT_IN],\n\n};\n\nconst getRandomInt = (min, max) => {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\n// Component to render a single filter rule\nconst FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAddGroup, onDelete, level }) => {\n // const applicableOperators = rule.fieldName ? operatorOptions[fields.find(f => f.name === rule.fieldName)?.value.type].map(e => { return { name: e } }) : [];\n // const applicableInputField = rule.fieldName ? fields.find(f => f.name === rule.fieldName)?.type : \"\";\n\n const [fieldName, setFieldName] = useState({ name: rule.fieldName });\n const [matchMode, setMatchMode] = useState({ name: rule.matchMode });\n\n const [filteredFields, setFilteredFields] = useState<any[]>([]);\n\n const searchFields = (event: any) => {\n const query = event.query.toLowerCase();\n const filtered = !query\n ? fields\n : fields.filter((item: any) =>\n item.name.toLowerCase().startsWith(query)\n );\n setFilteredFields(filtered);\n };\n return (\n <div className='solid-filter-rule-row'>\n <div className='solid-filter-rule-main'>\n <div className='solid-filter-rule-field'>\n <div className='solid-filter-control-wrap'>\n <SolidAutocomplete\n value={fieldName.name}\n suggestions={filteredFields}\n completeMethod={searchFields}\n field=\"name\"\n dropdown\n portal\n forceSelection // only values from list\n placeholder=\"Select Field\"\n className=\"w-full solid-filter-auto-complete-field solid-filter-compact-control\"\n onChange={(e) => {\n setFieldName({ name: e.value }); // e.value will be an object or null\n if (e.value && typeof e.value === \"object\" && e.value.value) {\n onChange(rule.id, 'fieldName', e.value.value); // send value to parent\n } else {\n onChange(rule.id, 'fieldName', '');\n onChange(rule.id, 'matchMode', null);\n onChange(rule.id, 'value', '');\n }\n }}\n />\n </div>\n </div>\n <div className='solid-filter-rule-value'>\n <div className='solid-filter-control-wrap'>\n {rule.fieldName ?\n <SolidFilterFields viewData={viewData} fieldMetadata={viewData.data.solidFieldsMetadata[rule.fieldName]} onChange={onChange} index={rule.id} rule={rule}></SolidFilterFields>\n : <div className='solid-filter-empty-pair'>\n <SolidInput\n disabled\n value=\"\"\n placeholder=\"Operator\"\n className='w-full solid-filter-compact-control'\n />\n <SolidInput\n disabled\n value=\"\"\n placeholder=\"Value\"\n className='w-full solid-filter-compact-control'\n />\n </div>\n }\n </div>\n </div>\n </div>\n <div className='solid-filter-rule-actions'>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddRule(rule.parentRule)} className='solid-filter-action-btn solid-filter-action-icon-btn'>\n <Plus size={14} />\n </SolidButton>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddGroup(rule.id)} className='solid-filter-action-btn solid-filter-action-icon-btn'>\n <FolderPlus size={14} />\n </SolidButton>\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onDelete(rule.id)} className='solid-filter-action-btn solid-filter-action-icon-btn is-danger'>\n <Trash2 size={14} />\n </SolidButton>\n </div>\n\n {rule.children && rule.children.map(nestedRule => (\n <div className='nested-custom-filter' key={nestedRule.id}>\n {nestedRule.type === FilterRuleType.RULE\n ? <FilterRuleComponent key={nestedRule.id} viewData={viewData} fields={fields} rule={nestedRule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n : <FilterGroupComponent key={nestedRule.id} viewData={viewData} fields={fields} group={nestedRule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n }\n </div>\n ))}\n </div>\n );\n};\n\n// Component to render a group of filter rules\nconst FilterGroupComponent = ({ viewData, fields, group, onChange, onAddRule, onAddGroup, onDelete, level }) => {\n return (\n <div className='primary-filter-fieldset solid-filter-group-shell'>\n <div className=\"solid-filter-group-operator-wrap\">\n <SolidSelect\n value={group.matchOperator}\n options={[\n { label: \"OR\", value: FilterOperator.OR },\n { label: \"AND\", value: FilterOperator.AND },\n ]}\n native={false}\n placeholder=\"Operator\"\n className=\"solid-filter-group-operator-select\"\n onChange={(event) => onChange(group.id, 'matchOperator', event.value)}\n />\n </div>\n {group.children && group.children.map(rule => (\n rule.type === FilterRuleType.RULE\n ? <FilterRuleComponent key={rule.id} viewData={viewData} fields={fields} rule={rule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n : <FilterGroupComponent key={rule.id} viewData={viewData} fields={fields} group={rule} onChange={onChange} onAddRule={onAddRule} onAddGroup={onAddGroup} onDelete={onDelete} level={level + 1} />\n ))}\n {/* Add Condition Button to add parent rule */}\n {level === 0 &&\n <SolidButton variant=\"ghost\" size='sm' onClick={() => onAddRule(group.id)} className='px-0 mt-2 solid-filter-add-condition-btn'>\n <Plus size={14} />\n Add Condition\n </SolidButton>\n }\n </div>\n );\n};\n\n// Main Filter component\nconst FilterComponent = ({ viewData, fields, filterRules, setFilterRules, transformFilterRules, closeDialog }) => {\n // const initialState: FilterRule[] = [\n // {\n // id: 1,\n // type: FilterRuleType.RULE_GROUP,\n // matchOperator: FilterOperator.OR,\n // parentRule: null,\n // children: [\n // {\n // id: Date.now() + getRandomInt(1, 500),\n // type: FilterRuleType.RULE,\n // fieldName: null,\n // matchMode: null,\n // value: null,\n // parentRule: 1,\n // children: []\n // }\n // ]\n // }\n // ];\n\n // const [filterRules, setFilterRules] = useState<FilterRule[]>(initialState);\n const [printedState, setPrintedState] = useState<string>('');\n\n const addChild = (rules, parentId, newChild) => {\n return rules.map(rule => {\n if (rule.id === parentId) {\n return {\n ...rule,\n children: [...(rule.children || []), newChild]\n };\n } else if (rule.children) {\n return {\n ...rule,\n children: addChild(rule.children, parentId, newChild)\n };\n }\n return rule;\n });\n };\n\n const handleChange = (id, key, value) => {\n const updateRuleRecursively = (rules) => {\n return rules.map(rule => {\n if (rule.id === id) {\n return { ...rule, [key]: value };\n } else if (rule.children) {\n return {\n ...rule,\n children: updateRuleRecursively(rule.children)\n };\n }\n return rule;\n });\n };\n setFilterRules(prev => updateRuleRecursively(prev));\n };\n\n const handleAddRule = (parentGroupId) => {\n const newRule: FilterRule = {\n id: Date.now(),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: parentGroupId,\n children: []\n };\n setFilterRules(prev => addChild(prev, parentGroupId, newRule));\n };\n\n const handleAddGroup = (parentRuleId) => {\n const newGroupId = Date.now();\n const newGroup: FilterRule = {\n id: newGroupId,\n type: FilterRuleType.RULE_GROUP,\n matchOperator: FilterOperator.AND,\n parentRule: parentRuleId,\n children: [\n {\n id: Date.now() + getRandomInt(1, 500),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: newGroupId,\n children: []\n },\n {\n id: Date.now() + getRandomInt(1, 500),\n type: FilterRuleType.RULE,\n fieldName: null,\n matchMode: null,\n value: null,\n parentRule: newGroupId,\n children: []\n }\n ]\n };\n setFilterRules(prev => addChild(prev, parentRuleId, newGroup));\n };\n\n // const handleDeleteRule = (id) => {\n // const deleteRecursively = (rules, id) => {\n // return rules.filter(rule => rule.id !== id).map(rule => {\n // if (rule.children) {\n // return {\n // ...rule,\n // children: deleteRecursively(rule.children, id)\n // };\n // }\n // return rule;\n // });\n // };\n // setFilterRules(prev => deleteRecursively(prev, id));\n // };\n\n\n const removeEmptyGroups = (rule) => {\n if (rule.type === \"rule_group\" && rule.children.length === 0) {\n return null;\n }\n\n rule.children = rule.children\n .map(removeEmptyGroups) // Recursively process children\n .filter(child => child !== null); // Remove null values\n\n return rule;\n };\n\n\n const handleDeleteRule = (id) => {\n if (filterRules[0].children.length === 1 && filterRules[0].children[0].id === id) {\n return\n }\n const deleteRecursively = (rules, id, isRoot = false) => {\n const mappedData = rules\n .map(rule => {\n if (rule.id === id) {\n return null; // Remove the target rule\n }\n\n if (rule.children) {\n const updatedChildren = deleteRecursively(rule.children, id);\n\n // If this rule had children and now has none, keep it but set children to []\n if (rule.children.length > 0 && updatedChildren.length === 0) {\n return { ...rule, children: [] };\n }\n\n return { ...rule, children: updatedChildren };\n }\n\n return rule;\n })\n .filter(rule => rule !== null); // Remove null values\n\n return mappedData\n };\n\n setFilterRules(prevRules => [removeEmptyGroups(deleteRecursively(prevRules, id, true)[0])]);\n };\n\n\n\n\n\n // const handlePrintState = () => {\n // // setPrintedState(JSON.stringify(filterRules, null, 2)); // Pretty format the state\n // transformFilterRules(filterRules)\n // };\n\n\n\n\n return (\n <div className='solid-filter-builder'>\n {filterRules.map(rule => (\n <FilterGroupComponent\n key={rule.id}\n viewData={viewData}\n fields={fields}\n group={rule}\n onChange={handleChange}\n onAddRule={handleAddRule}\n onAddGroup={handleAddGroup}\n onDelete={handleDeleteRule}\n level={0} // Top-level group\n />\n ))}\n <div className='solid-filter-builder-actions'>\n <SolidButton variant=\"primary\" size=\"sm\" onClick={() => transformFilterRules(filterRules)} type=\"submit\" className=\"solid-filter-submit-btn\">Apply</SolidButton>\n <SolidButton type='button' variant=\"outline\" size='sm' onClick={closeDialog} className=\"solid-filter-cancel-btn\">Cancel</SolidButton>\n {/* \n <br></br>\n <textarea value={printedState} readOnly rows={20} cols={100} style={{ marginTop: '20px' }} /> */}\n </div>\n </div>\n );\n};\n\nexport default FilterComponent;\n"]}
@@ -102,6 +102,7 @@ const FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAd
102
102
  completeMethod={searchFields}
103
103
  field="name"
104
104
  dropdown
105
+ portal
105
106
  forceSelection // only values from list
106
107
  placeholder="Select Field"
107
108
  className="w-full solid-filter-auto-complete-field solid-filter-compact-control"
@@ -111,6 +112,8 @@ const FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAd
111
112
  onChange(rule.id, 'fieldName', e.value.value); // send value to parent
112
113
  } else {
113
114
  onChange(rule.id, 'fieldName', '');
115
+ onChange(rule.id, 'matchMode', null);
116
+ onChange(rule.id, 'value', '');
114
117
  }
115
118
  }}
116
119
  />
@@ -123,13 +126,13 @@ const FilterRuleComponent = ({ viewData, fields, rule, onChange, onAddRule, onAd
123
126
  : <div className='solid-filter-empty-pair'>
124
127
  <SolidInput
125
128
  disabled
126
- value={rule.value || ''}
129
+ value=""
127
130
  placeholder="Operator"
128
131
  className='w-full solid-filter-compact-control'
129
132
  />
130
133
  <SolidInput
131
134
  disabled
132
- value={rule.value || ''}
135
+ value=""
133
136
  placeholder="Value"
134
137
  className='w-full solid-filter-compact-control'
135
138
  />
@@ -173,6 +176,7 @@ const FilterGroupComponent = ({ viewData, fields, group, onChange, onAddRule, on
173
176
  { label: "OR", value: FilterOperator.OR },
174
177
  { label: "AND", value: FilterOperator.AND },
175
178
  ]}
179
+ native={false}
176
180
  placeholder="Operator"
177
181
  className="solid-filter-group-operator-select"
178
182
  onChange={(event) => onChange(group.id, 'matchOperator', event.value)}
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/GroupingComponent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAmD5D,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC;IAE9B;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,KAAK,GACL,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC1C;AAED,QAAA,MAAM,iBAAiB;cASR,GAAG;YAAU,cAAc,EAAE;mBAAiB,YAAY,EAAE;sBAAoB,GAAG;sBAAoB,eAAe,EAAE;yBAAuB,GAAG;mBAAiB,GAAG;iBAAe,GAAG;6CA4PtM,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"GroupingComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/GroupingComponent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAmD5D,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,QAAQ,EAAE,mBAAmB,CAAC;IAE9B;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,KAAK,GACL,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IAEX;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;;OAGG;IACH,YAAY,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC1C;AAED,QAAA,MAAM,iBAAiB;cASR,GAAG;YAAU,cAAc,EAAE;mBAAiB,YAAY,EAAE;sBAAoB,GAAG;sBAAoB,eAAe,EAAE;yBAAuB,GAAG;mBAAiB,GAAG;iBAAe,GAAG;6CA8PtM,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -147,7 +147,7 @@ var GroupingComponent = function (_a) {
147
147
  if (!fieldMeta)
148
148
  return null;
149
149
  var isDate = ["date", "datetime"].includes(fieldMeta.type);
150
- return (_jsxs("div", { className: "solid-grouping-rule-row", children: [_jsx("div", { className: "solid-grouping-order-badge", children: index + 1 }), _jsxs("div", { className: "solid-grouping-rule-main", children: [_jsxs("div", { className: "solid-grouping-rule-title-row", children: [_jsx("div", { className: "solid-grouping-rule-title", children: fieldMeta.displayName }), _jsx("div", { className: "solid-grouping-rule-caption", children: index === 0 ? "Top-level grouping" : "Then group within level ".concat(index) })] }), isDate ? (_jsxs("div", { className: "solid-grouping-rule-controls", children: [_jsx("span", { className: "solid-grouping-inline-label", children: "Group by" }), _jsx(SolidSelect, { value: rule.dateGrouping || "YYYY-MM-DD", options: groupedDateFlatOptions, optionLabel: "label", optionValue: "value", placeholder: "Format", className: "solid-grouping-row-select", onChange: function (e) { return updateGroup(rule.id, "dateGrouping", e.value); } })] })) : (_jsx("div", { className: "solid-grouping-rule-summary", children: "Groups by exact value of this field." }))] }), _jsx("button", { type: "button", className: "solid-grouping-row-remove", onClick: function () { return removeGroup(rule.id); }, children: _jsx(SolidIcon, { name: "si-times" }) })] }, rule.id));
150
+ return (_jsxs("div", { className: "solid-grouping-rule-row", children: [_jsx("div", { className: "solid-grouping-order-badge", children: index + 1 }), _jsxs("div", { className: "solid-grouping-rule-main", children: [_jsxs("div", { className: "solid-grouping-rule-title-row", children: [_jsx("div", { className: "solid-grouping-rule-title", children: fieldMeta.displayName }), _jsx("div", { className: "solid-grouping-rule-caption", children: index === 0 ? "Top-level grouping" : "Then group within level ".concat(index) })] }), isDate ? (_jsxs("div", { className: "solid-grouping-rule-controls", children: [_jsx("span", { className: "solid-grouping-inline-label", children: "Group by" }), _jsx(SolidSelect, { value: rule.dateGrouping || "YYYY-MM-DD", options: groupedDateFlatOptions, optionLabel: "label", optionValue: "value", placeholder: "Format", className: "solid-grouping-row-select", onChange: function (e) { return updateGroup(rule.id, "dateGrouping", e.value); }, native: false })] })) : (_jsx("div", { className: "solid-grouping-rule-summary", children: "Groups by exact value of this field." }))] }), _jsx("button", { type: "button", className: "solid-grouping-row-remove", onClick: function () { return removeGroup(rule.id); }, children: _jsx(SolidIcon, { name: "si-times" }) })] }, rule.id));
151
151
  })] })] }), _jsxs("section", { className: "solid-grouping-section-card", children: [_jsx("div", { className: "solid-grouping-section-head", children: _jsxs("div", { children: [_jsx("p", { className: "m-0 solid-filter-section-title", children: "Aggregations" }), _jsx("p", { className: "m-0 solid-grouping-section-copy", children: "Add rollups to show counts or numeric summaries for each group." })] }) }), _jsx("div", { className: "solid-grouping-search-row", children: _jsx(SolidAutocomplete, { value: aggSearchValue, suggestions: filteredAggregationFields, completeMethod: searchAggregationFields, field: "displayName", placeholder: "Search field to aggregate", className: "w-full solid-filter-compact-control", dropdown: true, onChange: function (e) { return setAggSearchValue(e.value); }, onSelect: function (e) {
152
152
  if (typeof e.value === "object" && e.value.fieldName) {
153
153
  setAggregationRules(function (prev) { return __spreadArray(__spreadArray([], prev, true), [
@@ -159,7 +159,7 @@ var GroupingComponent = function (_a) {
159
159
  var fieldMeta = fields.find(function (f) { return f.fieldName === rule.fieldName; });
160
160
  if (!fieldMeta)
161
161
  return null;
162
- return (_jsxs("div", { className: "solid-aggregation-row", children: [_jsxs("div", { className: "solid-aggregation-row-main", children: [_jsx("div", { className: "solid-aggregation-row-title", children: fieldMeta.displayName }), _jsx("div", { className: "solid-aggregation-row-caption", children: rule.locked ? "Default aggregation" : "Applied to each group" })] }), _jsxs("div", { className: "solid-aggregation-row-controls", children: [_jsx("span", { className: "solid-grouping-inline-label", children: "Operation" }), _jsx(SolidSelect, { value: rule.operator, options: aggregateOperators, disabled: rule.locked, placeholder: "Op", className: "solid-grouping-row-select solid-aggregation-row-select", onChange: function (e) { return updateAggregation(rule.id, "operator", e.value); } })] }), !rule.locked ? (_jsx("button", { type: "button", className: "solid-grouping-row-remove solid-aggregation-row-remove", onClick: function () { return removeAggregation(rule.id); }, children: _jsx(SolidIcon, { name: "si-times" }) })) : (_jsx("span", { className: "solid-aggregation-row-remove-spacer", "aria-hidden": "true" }))] }, rule.id));
162
+ return (_jsxs("div", { className: "solid-aggregation-row", children: [_jsxs("div", { className: "solid-aggregation-row-main", children: [_jsx("div", { className: "solid-aggregation-row-title", children: fieldMeta.displayName }), _jsx("div", { className: "solid-aggregation-row-caption", children: rule.locked ? "Default aggregation" : "Applied to each group" })] }), _jsxs("div", { className: "solid-aggregation-row-controls", children: [_jsx("span", { className: "solid-grouping-inline-label", children: "Operation" }), _jsx(SolidSelect, { value: rule.operator, options: aggregateOperators, disabled: rule.locked, placeholder: "Op", className: "solid-grouping-row-select solid-aggregation-row-select", onChange: function (e) { return updateAggregation(rule.id, "operator", e.value); }, native: false })] }), !rule.locked ? (_jsx("button", { type: "button", className: "solid-grouping-row-remove solid-aggregation-row-remove", onClick: function () { return removeAggregation(rule.id); }, children: _jsx(SolidIcon, { name: "si-times" }) })) : (_jsx("span", { className: "solid-aggregation-row-remove-spacer", "aria-hidden": "true" }))] }, rule.id));
163
163
  })] })] }), _jsxs("div", { className: "solid-grouping-footer", children: [_jsxs(SolidButton, { size: "sm", variant: "outline", onClick: closeDialog, children: [_jsx(SolidIcon, { name: "si-times" }), "Cancel"] }), _jsxs(SolidButton, { size: "sm", variant: "primary", onClick: function () { return applyGrouping(groupingRules, aggregationRules); }, children: [_jsx(SolidIcon, { name: "si-check" }), "Apply"] })] })] }));
164
164
  };
165
165
  export default GroupingComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingComponent.js","sourceRoot":"","sources":["../../../../src/components/core/common/GroupingComponent.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,IAAM,kBAAkB,GAAG;IACzB;QACE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE;YACL,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;SACxC;KACF;IACD;QACE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE;YACL,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;YACtC,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE;SACpD;KACF;IACD;QACE,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE;SACzD;KACF;CACF,CAAC;AACF,IAAM,kBAAkB,GAAG;IACzB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;CAC/B,CAAC;AAEF,IAAM,iBAAiB,GAAG;IACxB,WAAW;IACX,iBAAiB;IACjB,kBAAkB;IAClB,UAAU;IACV,KAAK;IACL,OAAO;IACP,SAAS;IACT,MAAM;IACN,UAAU;IACV,UAAU;CACX,CAAC;AAEF,IAAM,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AA6DtC,IAAM,iBAAiB,GAAG,UAAC,EAS8K;QARvM,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,gBAAgB,sBAAA,EAChB,gBAAgB,sBAAA,EAChB,mBAAmB,yBAAA,EACnB,aAAa,mBAAA,EACb,WAAW,iBAAA;IAIL,IAAA,KAA0C,KAAK,CAAC,QAAQ,CAAM,IAAI,CAAC,EAAlE,gBAAgB,QAAA,EAAE,mBAAmB,QAA6B,CAAC;IACpE,IAAA,KAAsC,KAAK,CAAC,QAAQ,CAAM,IAAI,CAAC,EAA9D,cAAc,QAAA,EAAE,iBAAiB,QAA6B,CAAC;IAEhE,IAAA,KAAsD,KAAK,CAAC,QAAQ,CAAmB,EAAE,CAAC,EAAzF,sBAAsB,QAAA,EAAE,yBAAyB,QAAwC,CAAC;IAEjG,IAAM,oBAAoB,GAAG,UAAC,KAAU;QACtC,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACxC,IAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,SAAS,EAAX,CAAW,CAAC,CAAC;QAE3D,IAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,UAAC,KAAK;YAC5C,OAAA,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;QAA5F,CAA4F,CAC7F,CAAC;QAEF,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC,CAAC;IAEI,IAAA,KAA4D,KAAK,CAAC,QAAQ,CAAmB,EAAE,CAAC,EAA/F,yBAAyB,QAAA,EAAE,4BAA4B,QAAwC,CAAC;IAEvG,IAAM,uBAAuB,GAAG,UAAC,KAAU;QACzC,IAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAExC,IAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,KAAK;YAC1C,OAAA,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAA/C,CAA+C,CAChD,CAAC;QACF,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,kCAAkC;IAClC,0BAA0B;IAC1B,kCAAkC;IAClC,IAAM,eAAe,GAAqB,OAAO,CAAC;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAA,CAAC;YACpB,OAAA,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAAlC,CAAkC,CACnC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAM,aAAa,GAAqB,OAAO,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,UAAC,CAAM;YAC1B,OAAA,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7B,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,sBAAsB,KAAK,KAAK,CAAC;gBAC7D,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,sBAAsB,KAAK,OAAO,CAAC;QAF/D,CAE+D,CAChE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAM,WAAW,GAAG,UAAC,EAAO;QAC1B,gBAAgB,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,MAAM,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,EAAX,CAAW,CAAC,EAApC,CAAoC,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAC,EAAO,EAAE,GAAQ,EAAE,KAAU;QAChD,gBAAgB,CAAC,UAAC,IAAS;YACzB,OAAA,IAAI,CAAC,GAAG,CAAC,UAAC,CAAM;;gBAAK,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAM,CAAC,gBAAG,GAAG,IAAG,KAAK,OAAG,CAAC,CAAC,CAAC;YAAxC,CAAwC,CAAC;QAA9D,CAA8D,CAC/D,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,iBAAiB,GAAG,UAAC,EAAO;QAChC,mBAAmB,CAAC,UAAC,IAAS;YAC5B,OAAA,IAAI,CAAC,MAAM,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,EAAvB,CAAuB,CAAC;QAAhD,CAAgD,CACjD,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,iBAAiB,GAAG,UAAC,EAAO,EAAE,GAAQ,EAAE,KAAU;QACtD,mBAAmB,CAAC,UAAC,IAAS;YAC5B,OAAA,IAAI,CAAC,GAAG,CAAC,UAAC,CAAM;;gBAAK,OAAA,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAM,CAAC,gBAAG,GAAG,IAAG,KAAK,OAAG,CAAC,CAAC,CAAC;YAAxC,CAAwC,CAAC;QAA9D,CAA8D,CAC/D,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,sBAAsB,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAC,KAAK;QAC9D,OAAA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC;YACzB,KAAK,EAAE,UAAG,KAAK,CAAC,KAAK,eAAK,IAAI,CAAC,KAAK,CAAE;YACtC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,EAHwB,CAGxB,CAAC;IAHH,CAGG,CACJ,CAAC;IAEF,IAAM,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,SAAS,EAAd,CAAc,CAAC,CAAC;IAC5E,IAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,SAAS,EAAd,CAAc,CAAC,CAAC;IAElF,OAAO,CACL,eAAK,SAAS,EAAC,wBAAwB,aACrC,mBAAS,SAAS,EAAC,6BAA6B,aAC9C,cAAK,SAAS,EAAC,6BAA6B,YAC1C,0BACE,YAAG,SAAS,EAAC,gCAAgC,+BAAmB,EAChE,YAAG,SAAS,EAAC,iCAAiC,yGAE1C,IACA,GACF,EAEN,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAC,iBAAiB,IAChB,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,sBAAsB,EACnC,cAAc,EAAE,oBAAoB,EACpC,KAAK,EAAC,aAAa,EACnB,WAAW,EAAC,0BAA0B,EACtC,SAAS,EAAC,qCAAqC,EAC/C,QAAQ,QACR,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,mBAAmB,CAAC,CAAC,CAAC,KAAK,CAAC,EAA5B,CAA4B,EAC7C,QAAQ,EAAE,UAAC,CAAC;gCACV,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE;oCACpD,IAAM,QAAM,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oCAC3D,gBAAgB,CAAC,UAAC,IAAS,IAAK,uCAC3B,IAAI;wCACP,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,QAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE;+CAF9D,CAG/B,CAAC,CAAC;iCACJ;gCACD,mBAAmB,CAAC,IAAI,CAAC,CAAC;4BAC5B,CAAC,GACD,GACE,EAEN,eAAK,SAAS,EAAC,qBAAqB,aACjC,oBAAoB,CAAC,MAAM,KAAK,CAAC,IAAI,CACpC,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,EAClB,4DAA2C,IACvC,CACP,EACA,oBAAoB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;gCACpC,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;gCACrE,IAAI,CAAC,SAAS;oCAAE,OAAO,IAAI,CAAC;gCAE5B,IAAM,MAAM,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gCAE7D,OAAO,CACL,eAAmB,SAAS,EAAC,yBAAyB,aACpD,cAAK,SAAS,EAAC,4BAA4B,YAAE,KAAK,GAAG,CAAC,GAAO,EAC7D,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAK,SAAS,EAAC,+BAA+B,aAC5C,cAAK,SAAS,EAAC,2BAA2B,YAAE,SAAS,CAAC,WAAW,GAAO,EACxE,cAAK,SAAS,EAAC,6BAA6B,YACzC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,kCAA2B,KAAK,CAAE,GACpE,IACF,EACL,MAAM,CAAC,CAAC,CAAC,CACR,eAAK,SAAS,EAAC,8BAA8B,aAC3C,eAAM,SAAS,EAAC,6BAA6B,yBAAgB,EAC7D,KAAC,WAAW,IACV,KAAK,EAAE,IAAI,CAAC,YAAY,IAAI,YAAY,EACxC,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,QAAQ,EACpB,SAAS,EAAC,2BAA2B,EACrC,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,EAA7C,CAA6C,GAC9D,IACE,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,6BAA6B,qDAA2C,CACxF,IACG,EACN,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,cAAM,OAAA,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAApB,CAAoB,YAC7F,KAAC,SAAS,IAAC,IAAI,EAAC,UAAU,GAAG,GACtB,KA5BD,IAAI,CAAC,EAAE,CA6BX,CACP,CAAC;4BACJ,CAAC,CAAC,IACE,IACE,EAEV,mBAAS,SAAS,EAAC,6BAA6B,aAC9C,cAAK,SAAS,EAAC,6BAA6B,YAC1C,0BACE,YAAG,SAAS,EAAC,gCAAgC,6BAAiB,EAC9D,YAAG,SAAS,EAAC,iCAAiC,gFAE1C,IACA,GACF,EAEN,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAC,iBAAiB,IAChB,KAAK,EAAE,cAAc,EACrB,WAAW,EAAE,yBAAyB,EACtC,cAAc,EAAE,uBAAuB,EACvC,KAAK,EAAC,aAAa,EACnB,WAAW,EAAC,2BAA2B,EACvC,SAAS,EAAC,qCAAqC,EAC/C,QAAQ,QACR,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,EAA1B,CAA0B,EAC3C,QAAQ,EAAE,UAAC,CAAC;gCACV,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE;oCACpD,mBAAmB,CAAC,UAAC,IAAS,IAAK,uCAC9B,IAAI;wCACP,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE;+CAFlC,CAGlC,CAAC,CAAC;iCACJ;gCACD,iBAAiB,CAAC,IAAI,CAAC,CAAC;4BAC1B,CAAC,GACD,GACE,EAEN,eAAK,SAAS,EAAC,iDAAiD,aAC7D,uBAAuB,CAAC,MAAM,KAAK,CAAC,IAAI,CACvC,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,EAClB,0DAAyC,IACrC,CACP,EACA,uBAAuB,CAAC,GAAG,CAAC,UAAC,IAAI;gCAChC,IAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAA9B,CAA8B,CAAC,CAAC;gCACrE,IAAI,CAAC,SAAS;oCAAE,OAAO,IAAI,CAAC;gCAE5B,OAAO,CACL,eAAmB,SAAS,EAAC,uBAAuB,aAClD,eAAK,SAAS,EAAC,4BAA4B,aACzC,cAAK,SAAS,EAAC,6BAA6B,YAAE,SAAS,CAAC,WAAW,GAAO,EAC1E,cAAK,SAAS,EAAC,+BAA+B,YAC3C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uBAAuB,GAC1D,IACF,EAEN,eAAK,SAAS,EAAC,gCAAgC,aAC7C,eAAM,SAAS,EAAC,6BAA6B,0BAAiB,EAC9D,KAAC,WAAW,IACV,KAAK,EAAE,IAAI,CAAC,QAAQ,EACpB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,IAAI,CAAC,MAAM,EACrB,WAAW,EAAC,IAAI,EAChB,SAAS,EAAC,wDAAwD,EAClE,QAAQ,EAAE,UAAC,CAAC,IAAK,OAAA,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,EAA/C,CAA+C,GAChE,IACE,EACL,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACd,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wDAAwD,EAAC,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAA1B,CAA0B,YAChI,KAAC,SAAS,IAAC,IAAI,EAAC,UAAU,GAAG,GACtB,CACV,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,qCAAqC,iBAAa,MAAM,GAAG,CAC5E,KAzBO,IAAI,CAAC,EAAE,CA0BX,CACP,CAAC;4BACJ,CAAC,CAAC,IACE,IACE,EAGV,eAAK,SAAS,EAAC,uBAAuB,aACpC,MAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,WAAW,aAC3D,KAAC,SAAS,IAAC,IAAI,EAAC,UAAU,GAAG,cAEjB,EACd,MAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,cAAM,OAAA,aAAa,CAAC,aAAa,EAAE,gBAAgB,CAAC,EAA9C,CAA8C,aACpG,KAAC,SAAS,IAAC,IAAI,EAAC,UAAU,GAAG,aAEjB,IACV,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import React, { useMemo } from \"react\";\nimport { GroupableField } from \"./SolidGlobalSearchElement\";\nimport { SolidAutocomplete } from \"../../shad-cn-ui/SolidAutocomplete\";\nimport { SolidSelect } from \"../../shad-cn-ui/SolidSelect\";\nimport { SolidButton } from \"../../shad-cn-ui/SolidButton\";\nimport { SolidIcon } from \"../../shad-cn-ui/SolidIcon\";\nimport { Plus } from \"lucide-react\";\n\nconst groupedDateOptions = [\n {\n label: \"Year\",\n items: [\n { label: \"Year (YYYY)\", value: \"YYYY\" }\n ]\n },\n {\n label: \"Month\",\n items: [\n { label: \"Month (MMM)\", value: \"MMM\" },\n { label: \"Year-Month (YYYY-MM)\", value: \"YYYY-MM\" }\n ]\n },\n {\n label: \"Day\",\n items: [\n { label: \"Full Date (YYYY-MM-DD)\", value: \"YYYY-MM-DD\" }\n ]\n }\n];\nconst aggregateOperators = [\n { label: \"Count\", value: \"count\" },\n { label: \"Sum\", value: \"sum\" },\n { label: \"Avg\", value: \"avg\" },\n { label: \"Min\", value: \"min\" },\n { label: \"Max\", value: \"max\" }\n];\n\nconst allowedGroupTypes = [\n \"shortText\",\n \"selectionStatic\",\n \"selectionDynamic\",\n \"computed\",\n \"int\",\n \"float\",\n \"boolean\",\n \"date\",\n \"datetime\",\n \"relation\"\n];\n\nconst numericTypes = [\"int\", \"float\"];\n\nexport type AggregationOperator =\n | \"count\"\n | \"sum\"\n | \"avg\"\n | \"min\"\n | \"max\";\n\nexport interface AggregationRule {\n id: number;\n\n /**\n * Aggregate operator\n */\n operator: AggregationOperator;\n\n /**\n * Field on which aggregation applies\n * Example:\n * \"id\"\n * \"amount\"\n * \"price\"\n */\n fieldName: string | null;\n\n /**\n * If true:\n * - Cannot be edited\n * - Cannot be removed\n * Used for default: count-of-id\n */\n locked?: boolean;\n}\n\nexport type DateGroupingFormat =\n | \"YYYY\"\n | \"MMM\"\n | \"YYYY-MM\"\n | \"YYYY-MM-DD\";\n\nexport interface GroupingRule {\n id: number;\n\n /**\n * Actual field selected by user.\n * Example:\n * \"state\"\n * \"city\"\n * \"createdAt\"\n * \"author.name\" // many-to-one resolved key\n */\n fieldName: string | null;\n\n /**\n * Only used when field type is date or datetime.\n * Null for non-date fields.\n */\n dateGrouping?: DateGroupingFormat | null;\n}\n\nconst GroupingComponent = ({\n viewData,\n fields,\n groupingRules,\n setGroupingRules,\n aggregationRules,\n setAggregationRules,\n applyGrouping,\n closeDialog\n}: { viewData: any, fields: GroupableField[], groupingRules: GroupingRule[], setGroupingRules: any, aggregationRules: AggregationRule[], setAggregationRules: any, applyGrouping: any, closeDialog: any }) => {\n\n\n const [groupSearchValue, setGroupSearchValue] = React.useState<any>(null);\n const [aggSearchValue, setAggSearchValue] = React.useState<any>(null);\n\n const [filteredGroupingFields, setFilteredGroupingFields] = React.useState<GroupableField[]>([]);\n\n const searchGroupingFields = (event: any) => {\n const query = event.query.toLowerCase();\n const selectedFields = groupingRules.map(r => r.fieldName);\n\n const filtered = groupableFields.filter((field) =>\n field.displayName.toLowerCase().includes(query) && !selectedFields.includes(field.fieldName)\n );\n\n setFilteredGroupingFields(filtered);\n };\n\n const [filteredAggregationFields, setFilteredAggregationFields] = React.useState<GroupableField[]>([]);\n\n const searchAggregationFields = (event: any) => {\n const query = event.query.toLowerCase();\n\n const filtered = numericFields.filter((field) =>\n field.displayName.toLowerCase().includes(query)\n );\n setFilteredAggregationFields(query ? filtered : numericFields);\n };\n\n // -------------------------------\n // FILTER GROUPABLE FIELDS\n // -------------------------------\n const groupableFields: GroupableField[] = useMemo(() => {\n return fields.filter(f =>\n allowedGroupTypes.includes(f.type)\n );\n }, [fields]);\n\n const numericFields: GroupableField[] = useMemo(() => {\n return fields.filter((f: any) =>\n numericTypes.includes(f.type) ||\n (f.type === \"computed\" && f.computedFieldValueType === \"int\") ||\n (f.type === \"computed\" && f.computedFieldValueType === \"float\")\n );\n }, [fields]);\n\n const removeGroup = (id: any) => {\n setGroupingRules((prev: any) => prev.filter((r: any) => r.id !== id));\n };\n\n const updateGroup = (id: any, key: any, value: any) => {\n setGroupingRules((prev: any) =>\n prev.map((r: any) => r.id === id ? { ...r, [key]: value } : r)\n );\n };\n\n const removeAggregation = (id: any) => {\n setAggregationRules((prev: any) =>\n prev.filter((a: any) => a.id !== id || a.locked)\n );\n };\n\n const updateAggregation = (id: any, key: any, value: any) => {\n setAggregationRules((prev: any) =>\n prev.map((a: any) => a.id === id ? { ...a, [key]: value } : a)\n );\n };\n\n const groupedDateFlatOptions = groupedDateOptions.flatMap((group) =>\n group.items.map((item) => ({\n label: `${group.label}: ${item.label}`,\n value: item.value,\n }))\n );\n\n const visibleGroupingRules = groupingRules.filter((rule) => rule.fieldName);\n const visibleAggregationRules = aggregationRules.filter((rule) => rule.fieldName);\n\n return (\n <div className=\"solid-grouping-builder\">\n <section className=\"solid-grouping-section-card\">\n <div className=\"solid-grouping-section-head\">\n <div>\n <p className=\"m-0 solid-filter-section-title\">Grouping Rules</p>\n <p className=\"m-0 solid-grouping-section-copy\">\n Add fields in the order you want the tree to grow. The first rule becomes the top level.\n </p>\n </div>\n </div>\n\n <div className=\"solid-grouping-search-row\">\n <SolidAutocomplete\n value={groupSearchValue}\n suggestions={filteredGroupingFields}\n completeMethod={searchGroupingFields}\n field=\"displayName\"\n placeholder=\"Search field to group by\"\n className=\"w-full solid-filter-compact-control\"\n dropdown\n onChange={(e) => setGroupSearchValue(e.value)}\n onSelect={(e) => {\n if (typeof e.value === \"object\" && e.value.fieldName) {\n const isDate = [\"date\", \"datetime\"].includes(e.value.type);\n setGroupingRules((prev: any) => [\n ...prev,\n { id: Date.now(), fieldName: e.value.fieldName, dateGrouping: isDate ? \"YYYY-MM-DD\" : null }\n ]);\n }\n setGroupSearchValue(null);\n }}\n />\n </div>\n\n <div className=\"solid-grouping-list\">\n {visibleGroupingRules.length === 0 && (\n <div className=\"solid-grouping-empty-panel\">\n <Plus size={14} />\n <span>No grouping rules applied yet.</span>\n </div>\n )}\n {visibleGroupingRules.map((rule, index) => {\n const fieldMeta = fields.find((f) => f.fieldName === rule.fieldName);\n if (!fieldMeta) return null;\n\n const isDate = [\"date\", \"datetime\"].includes(fieldMeta.type);\n\n return (\n <div key={rule.id} className=\"solid-grouping-rule-row\">\n <div className=\"solid-grouping-order-badge\">{index + 1}</div>\n <div className=\"solid-grouping-rule-main\">\n <div className=\"solid-grouping-rule-title-row\">\n <div className=\"solid-grouping-rule-title\">{fieldMeta.displayName}</div>\n <div className=\"solid-grouping-rule-caption\">\n {index === 0 ? \"Top-level grouping\" : `Then group within level ${index}`}\n </div>\n </div>\n {isDate ? (\n <div className=\"solid-grouping-rule-controls\">\n <span className=\"solid-grouping-inline-label\">Group by</span>\n <SolidSelect\n value={rule.dateGrouping || \"YYYY-MM-DD\"}\n options={groupedDateFlatOptions}\n optionLabel=\"label\"\n optionValue=\"value\"\n placeholder=\"Format\"\n className=\"solid-grouping-row-select\"\n onChange={(e) => updateGroup(rule.id, \"dateGrouping\", e.value)}\n />\n </div>\n ) : (\n <div className=\"solid-grouping-rule-summary\">Groups by exact value of this field.</div>\n )}\n </div>\n <button type=\"button\" className=\"solid-grouping-row-remove\" onClick={() => removeGroup(rule.id)}>\n <SolidIcon name=\"si-times\" />\n </button>\n </div>\n );\n })}\n </div>\n </section>\n\n <section className=\"solid-grouping-section-card\">\n <div className=\"solid-grouping-section-head\">\n <div>\n <p className=\"m-0 solid-filter-section-title\">Aggregations</p>\n <p className=\"m-0 solid-grouping-section-copy\">\n Add rollups to show counts or numeric summaries for each group.\n </p>\n </div>\n </div>\n\n <div className=\"solid-grouping-search-row\">\n <SolidAutocomplete\n value={aggSearchValue}\n suggestions={filteredAggregationFields}\n completeMethod={searchAggregationFields}\n field=\"displayName\"\n placeholder=\"Search field to aggregate\"\n className=\"w-full solid-filter-compact-control\"\n dropdown\n onChange={(e) => setAggSearchValue(e.value)}\n onSelect={(e) => {\n if (typeof e.value === \"object\" && e.value.fieldName) {\n setAggregationRules((prev: any) => [\n ...prev,\n { id: Date.now(), operator: \"count\", fieldName: e.value.fieldName }\n ]);\n }\n setAggSearchValue(null);\n }}\n />\n </div>\n\n <div className=\"solid-grouping-list solid-grouping-list-compact\">\n {visibleAggregationRules.length === 0 && (\n <div className=\"solid-grouping-empty-panel\">\n <Plus size={14} />\n <span>No aggregations applied yet.</span>\n </div>\n )}\n {visibleAggregationRules.map((rule) => {\n const fieldMeta = fields.find((f) => f.fieldName === rule.fieldName);\n if (!fieldMeta) return null;\n\n return (\n <div key={rule.id} className=\"solid-aggregation-row\">\n <div className=\"solid-aggregation-row-main\">\n <div className=\"solid-aggregation-row-title\">{fieldMeta.displayName}</div>\n <div className=\"solid-aggregation-row-caption\">\n {rule.locked ? \"Default aggregation\" : \"Applied to each group\"}\n </div>\n </div>\n\n <div className=\"solid-aggregation-row-controls\">\n <span className=\"solid-grouping-inline-label\">Operation</span>\n <SolidSelect\n value={rule.operator}\n options={aggregateOperators}\n disabled={rule.locked}\n placeholder=\"Op\"\n className=\"solid-grouping-row-select solid-aggregation-row-select\"\n onChange={(e) => updateAggregation(rule.id, \"operator\", e.value)}\n />\n </div>\n {!rule.locked ? (\n <button type=\"button\" className=\"solid-grouping-row-remove solid-aggregation-row-remove\" onClick={() => removeAggregation(rule.id)}>\n <SolidIcon name=\"si-times\" />\n </button>\n ) : (\n <span className=\"solid-aggregation-row-remove-spacer\" aria-hidden=\"true\" />\n )}\n </div>\n );\n })}\n </div>\n </section>\n\n {/* FOOTER */}\n <div className=\"solid-grouping-footer\">\n <SolidButton size=\"sm\" variant=\"outline\" onClick={closeDialog}>\n <SolidIcon name=\"si-times\" />\n Cancel\n </SolidButton>\n <SolidButton size=\"sm\" variant=\"primary\" onClick={() => applyGrouping(groupingRules, aggregationRules)}>\n <SolidIcon name=\"si-check\" />\n Apply\n </SolidButton>\n </div>\n </div>\n );\n};\n\nexport default GroupingComponent;\n"]}
1
+ {"version":3,"file":"GroupingComponent.js","sourceRoot":"","sources":["../../../../src/components/core/common/GroupingComponent.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\nimport { GroupableField } from \"./SolidGlobalSearchElement\";\nimport { SolidAutocomplete } from \"../../shad-cn-ui/SolidAutocomplete\";\nimport { SolidSelect } from \"../../shad-cn-ui/SolidSelect\";\nimport { SolidButton } from \"../../shad-cn-ui/SolidButton\";\nimport { SolidIcon } from \"../../shad-cn-ui/SolidIcon\";\nimport { Plus } from \"lucide-react\";\n\nconst groupedDateOptions = [\n {\n label: \"Year\",\n items: [\n { label: \"Year (YYYY)\", value: \"YYYY\" }\n ]\n },\n {\n label: \"Month\",\n items: [\n { label: \"Month (MMM)\", value: \"MMM\" },\n { label: \"Year-Month (YYYY-MM)\", value: \"YYYY-MM\" }\n ]\n },\n {\n label: \"Day\",\n items: [\n { label: \"Full Date (YYYY-MM-DD)\", value: \"YYYY-MM-DD\" }\n ]\n }\n];\nconst aggregateOperators = [\n { label: \"Count\", value: \"count\" },\n { label: \"Sum\", value: \"sum\" },\n { label: \"Avg\", value: \"avg\" },\n { label: \"Min\", value: \"min\" },\n { label: \"Max\", value: \"max\" }\n];\n\nconst allowedGroupTypes = [\n \"shortText\",\n \"selectionStatic\",\n \"selectionDynamic\",\n \"computed\",\n \"int\",\n \"float\",\n \"boolean\",\n \"date\",\n \"datetime\",\n \"relation\"\n];\n\nconst numericTypes = [\"int\", \"float\"];\n\nexport type AggregationOperator =\n | \"count\"\n | \"sum\"\n | \"avg\"\n | \"min\"\n | \"max\";\n\nexport interface AggregationRule {\n id: number;\n\n /**\n * Aggregate operator\n */\n operator: AggregationOperator;\n\n /**\n * Field on which aggregation applies\n * Example:\n * \"id\"\n * \"amount\"\n * \"price\"\n */\n fieldName: string | null;\n\n /**\n * If true:\n * - Cannot be edited\n * - Cannot be removed\n * Used for default: count-of-id\n */\n locked?: boolean;\n}\n\nexport type DateGroupingFormat =\n | \"YYYY\"\n | \"MMM\"\n | \"YYYY-MM\"\n | \"YYYY-MM-DD\";\n\nexport interface GroupingRule {\n id: number;\n\n /**\n * Actual field selected by user.\n * Example:\n * \"state\"\n * \"city\"\n * \"createdAt\"\n * \"author.name\" // many-to-one resolved key\n */\n fieldName: string | null;\n\n /**\n * Only used when field type is date or datetime.\n * Null for non-date fields.\n */\n dateGrouping?: DateGroupingFormat | null;\n}\n\nconst GroupingComponent = ({\n viewData,\n fields,\n groupingRules,\n setGroupingRules,\n aggregationRules,\n setAggregationRules,\n applyGrouping,\n closeDialog\n}: { viewData: any, fields: GroupableField[], groupingRules: GroupingRule[], setGroupingRules: any, aggregationRules: AggregationRule[], setAggregationRules: any, applyGrouping: any, closeDialog: any }) => {\n\n\n const [groupSearchValue, setGroupSearchValue] = React.useState<any>(null);\n const [aggSearchValue, setAggSearchValue] = React.useState<any>(null);\n\n const [filteredGroupingFields, setFilteredGroupingFields] = React.useState<GroupableField[]>([]);\n\n const searchGroupingFields = (event: any) => {\n const query = event.query.toLowerCase();\n const selectedFields = groupingRules.map(r => r.fieldName);\n\n const filtered = groupableFields.filter((field) =>\n field.displayName.toLowerCase().includes(query) && !selectedFields.includes(field.fieldName)\n );\n\n setFilteredGroupingFields(filtered);\n };\n\n const [filteredAggregationFields, setFilteredAggregationFields] = React.useState<GroupableField[]>([]);\n\n const searchAggregationFields = (event: any) => {\n const query = event.query.toLowerCase();\n\n const filtered = numericFields.filter((field) =>\n field.displayName.toLowerCase().includes(query)\n );\n setFilteredAggregationFields(query ? filtered : numericFields);\n };\n\n // -------------------------------\n // FILTER GROUPABLE FIELDS\n // -------------------------------\n const groupableFields: GroupableField[] = useMemo(() => {\n return fields.filter(f =>\n allowedGroupTypes.includes(f.type)\n );\n }, [fields]);\n\n const numericFields: GroupableField[] = useMemo(() => {\n return fields.filter((f: any) =>\n numericTypes.includes(f.type) ||\n (f.type === \"computed\" && f.computedFieldValueType === \"int\") ||\n (f.type === \"computed\" && f.computedFieldValueType === \"float\")\n );\n }, [fields]);\n\n const removeGroup = (id: any) => {\n setGroupingRules((prev: any) => prev.filter((r: any) => r.id !== id));\n };\n\n const updateGroup = (id: any, key: any, value: any) => {\n setGroupingRules((prev: any) =>\n prev.map((r: any) => r.id === id ? { ...r, [key]: value } : r)\n );\n };\n\n const removeAggregation = (id: any) => {\n setAggregationRules((prev: any) =>\n prev.filter((a: any) => a.id !== id || a.locked)\n );\n };\n\n const updateAggregation = (id: any, key: any, value: any) => {\n setAggregationRules((prev: any) =>\n prev.map((a: any) => a.id === id ? { ...a, [key]: value } : a)\n );\n };\n\n const groupedDateFlatOptions = groupedDateOptions.flatMap((group) =>\n group.items.map((item) => ({\n label: `${group.label}: ${item.label}`,\n value: item.value,\n }))\n );\n\n const visibleGroupingRules = groupingRules.filter((rule) => rule.fieldName);\n const visibleAggregationRules = aggregationRules.filter((rule) => rule.fieldName);\n\n return (\n <div className=\"solid-grouping-builder\">\n <section className=\"solid-grouping-section-card\">\n <div className=\"solid-grouping-section-head\">\n <div>\n <p className=\"m-0 solid-filter-section-title\">Grouping Rules</p>\n <p className=\"m-0 solid-grouping-section-copy\">\n Add fields in the order you want the tree to grow. The first rule becomes the top level.\n </p>\n </div>\n </div>\n\n <div className=\"solid-grouping-search-row\">\n <SolidAutocomplete\n value={groupSearchValue}\n suggestions={filteredGroupingFields}\n completeMethod={searchGroupingFields}\n field=\"displayName\"\n placeholder=\"Search field to group by\"\n className=\"w-full solid-filter-compact-control\"\n dropdown\n onChange={(e) => setGroupSearchValue(e.value)}\n onSelect={(e) => {\n if (typeof e.value === \"object\" && e.value.fieldName) {\n const isDate = [\"date\", \"datetime\"].includes(e.value.type);\n setGroupingRules((prev: any) => [\n ...prev,\n { id: Date.now(), fieldName: e.value.fieldName, dateGrouping: isDate ? \"YYYY-MM-DD\" : null }\n ]);\n }\n setGroupSearchValue(null);\n }}\n />\n </div>\n\n <div className=\"solid-grouping-list\">\n {visibleGroupingRules.length === 0 && (\n <div className=\"solid-grouping-empty-panel\">\n <Plus size={14} />\n <span>No grouping rules applied yet.</span>\n </div>\n )}\n {visibleGroupingRules.map((rule, index) => {\n const fieldMeta = fields.find((f) => f.fieldName === rule.fieldName);\n if (!fieldMeta) return null;\n\n const isDate = [\"date\", \"datetime\"].includes(fieldMeta.type);\n\n return (\n <div key={rule.id} className=\"solid-grouping-rule-row\">\n <div className=\"solid-grouping-order-badge\">{index + 1}</div>\n <div className=\"solid-grouping-rule-main\">\n <div className=\"solid-grouping-rule-title-row\">\n <div className=\"solid-grouping-rule-title\">{fieldMeta.displayName}</div>\n <div className=\"solid-grouping-rule-caption\">\n {index === 0 ? \"Top-level grouping\" : `Then group within level ${index}`}\n </div>\n </div>\n {isDate ? (\n <div className=\"solid-grouping-rule-controls\">\n <span className=\"solid-grouping-inline-label\">Group by</span>\n <SolidSelect\n value={rule.dateGrouping || \"YYYY-MM-DD\"}\n options={groupedDateFlatOptions}\n optionLabel=\"label\"\n optionValue=\"value\"\n placeholder=\"Format\"\n className=\"solid-grouping-row-select\"\n onChange={(e) => updateGroup(rule.id, \"dateGrouping\", e.value)}\n native={false}\n />\n </div>\n ) : (\n <div className=\"solid-grouping-rule-summary\">Groups by exact value of this field.</div>\n )}\n </div>\n <button type=\"button\" className=\"solid-grouping-row-remove\" onClick={() => removeGroup(rule.id)}>\n <SolidIcon name=\"si-times\" />\n </button>\n </div>\n );\n })}\n </div>\n </section>\n\n <section className=\"solid-grouping-section-card\">\n <div className=\"solid-grouping-section-head\">\n <div>\n <p className=\"m-0 solid-filter-section-title\">Aggregations</p>\n <p className=\"m-0 solid-grouping-section-copy\">\n Add rollups to show counts or numeric summaries for each group.\n </p>\n </div>\n </div>\n\n <div className=\"solid-grouping-search-row\">\n <SolidAutocomplete\n value={aggSearchValue}\n suggestions={filteredAggregationFields}\n completeMethod={searchAggregationFields}\n field=\"displayName\"\n placeholder=\"Search field to aggregate\"\n className=\"w-full solid-filter-compact-control\"\n dropdown\n onChange={(e) => setAggSearchValue(e.value)}\n onSelect={(e) => {\n if (typeof e.value === \"object\" && e.value.fieldName) {\n setAggregationRules((prev: any) => [\n ...prev,\n { id: Date.now(), operator: \"count\", fieldName: e.value.fieldName }\n ]);\n }\n setAggSearchValue(null);\n }}\n />\n </div>\n\n <div className=\"solid-grouping-list solid-grouping-list-compact\">\n {visibleAggregationRules.length === 0 && (\n <div className=\"solid-grouping-empty-panel\">\n <Plus size={14} />\n <span>No aggregations applied yet.</span>\n </div>\n )}\n {visibleAggregationRules.map((rule) => {\n const fieldMeta = fields.find((f) => f.fieldName === rule.fieldName);\n if (!fieldMeta) return null;\n\n return (\n <div key={rule.id} className=\"solid-aggregation-row\">\n <div className=\"solid-aggregation-row-main\">\n <div className=\"solid-aggregation-row-title\">{fieldMeta.displayName}</div>\n <div className=\"solid-aggregation-row-caption\">\n {rule.locked ? \"Default aggregation\" : \"Applied to each group\"}\n </div>\n </div>\n\n <div className=\"solid-aggregation-row-controls\">\n <span className=\"solid-grouping-inline-label\">Operation</span>\n <SolidSelect\n value={rule.operator}\n options={aggregateOperators}\n disabled={rule.locked}\n placeholder=\"Op\"\n className=\"solid-grouping-row-select solid-aggregation-row-select\"\n onChange={(e) => updateAggregation(rule.id, \"operator\", e.value)}\n native={false}\n />\n </div>\n {!rule.locked ? (\n <button type=\"button\" className=\"solid-grouping-row-remove solid-aggregation-row-remove\" onClick={() => removeAggregation(rule.id)}>\n <SolidIcon name=\"si-times\" />\n </button>\n ) : (\n <span className=\"solid-aggregation-row-remove-spacer\" aria-hidden=\"true\" />\n )}\n </div>\n );\n })}\n </div>\n </section>\n\n {/* FOOTER */}\n <div className=\"solid-grouping-footer\">\n <SolidButton size=\"sm\" variant=\"outline\" onClick={closeDialog}>\n <SolidIcon name=\"si-times\" />\n Cancel\n </SolidButton>\n <SolidButton size=\"sm\" variant=\"primary\" onClick={() => applyGrouping(groupingRules, aggregationRules)}>\n <SolidIcon name=\"si-check\" />\n Apply\n </SolidButton>\n </div>\n </div>\n );\n};\n\nexport default GroupingComponent;\n"]}
@@ -266,6 +266,7 @@ const GroupingComponent = ({
266
266
  placeholder="Format"
267
267
  className="solid-grouping-row-select"
268
268
  onChange={(e) => updateGroup(rule.id, "dateGrouping", e.value)}
269
+ native={false}
269
270
  />
270
271
  </div>
271
272
  ) : (
@@ -342,6 +343,7 @@ const GroupingComponent = ({
342
343
  placeholder="Op"
343
344
  className="solid-grouping-row-select solid-aggregation-row-select"
344
345
  onChange={(e) => updateAggregation(rule.id, "operator", e.value)}
346
+ native={false}
345
347
  />
346
348
  </div>
347
349
  {!rule.locked ? (
@@ -1 +1 @@
1
- {"version":3,"file":"SolidChangePassword.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"AAqFA,eAAO,MAAM,mBAAmB,0BAA2B,GAAG,4CAkK7D,CAAC"}
1
+ {"version":3,"file":"SolidChangePassword.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"AAqFA,eAAO,MAAM,mBAAmB,0BAA2B,GAAG,4CA2J7D,CAAC"}
@@ -151,16 +151,7 @@ export var SolidChangePassword = function (_a) {
151
151
  }
152
152
  notify("success", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);
153
153
  resetForm();
154
- handleLogout({
155
- toast: {
156
- current: {
157
- show: function (_a) {
158
- var severity = _a.severity, summary = _a.summary, detail = _a.detail, sticky = _a.sticky, life = _a.life;
159
- return notify(severity || "info", summary || "", detail || "", { sticky: sticky, life: life });
160
- },
161
- },
162
- },
163
- });
154
+ handleLogout();
164
155
  return [3 /*break*/, 3];
165
156
  case 2:
166
157
  err_1 = _h.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ChangeEventHandler, FocusEventHandler, useMemo, useState } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { env } from \"../../../../adapters/env\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { useChangePasswordMutation } from \"../../../../redux/api/authApi\";\nimport { SolidPasswordHelperText } from \"../SolidPasswordHelperText\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\n\ntype ToastState = {\n id: number;\n severity: \"success\" | \"error\" | \"info\" | \"warn\";\n summary: string;\n detail: string;\n sticky?: boolean;\n life?: number;\n} | null;\n\nconst ToastMessage = ({ toast, onClose }: { toast: ToastState; onClose: () => void }) => {\n if (!toast) return null;\n const severityClass =\n toast.severity === \"error\"\n ? styles.toastError\n : toast.severity === \"success\"\n ? styles.toastSuccess\n : toast.severity === \"warn\"\n ? styles.toastWarn\n : styles.toastInfo;\n\n return (\n <div className={`${styles.toast} ${severityClass}`} role=\"status\" aria-live=\"polite\">\n <div>\n <div className={styles.toastTitle}>{toast.summary}</div>\n <div className={styles.toastBody}>{toast.detail}</div>\n </div>\n <button type=\"button\" className={styles.toastClose} onClick={onClose} aria-label=\"Close notification\">\n ×\n </button>\n </div>\n );\n};\n\nconst PasswordInput = ({\n id,\n name,\n value,\n onChange,\n onBlur,\n placeholder,\n}: {\n id: string;\n name: string;\n value: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n onBlur: FocusEventHandler<HTMLInputElement>;\n placeholder?: string;\n}) => {\n const [visible, setVisible] = useState(false);\n return (\n <div className={styles.passwordWrap}>\n <input\n id={id}\n name={name}\n type={visible ? \"text\" : \"password\"}\n className={styles.input}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n placeholder={placeholder}\n />\n <button\n type=\"button\"\n className={styles.passwordToggle}\n onClick={() => setVisible((prev) => !prev)}\n aria-label={visible ? \"Hide password\" : \"Show password\"}\n >\n {visible ? \"Hide\" : \"Show\"}\n </button>\n </div>\n );\n};\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const [toast, setToast] = useState<ToastState>(null);\n const [changePassword] = useChangePasswordMutation();\n const session: any = useSession();\n\n const notify = (\n severity: \"success\" | \"error\" | \"info\" | \"warn\",\n summary: string,\n detail: string,\n opts?: { sticky?: boolean; life?: number }\n ) => {\n setToast({\n id: Date.now(),\n severity,\n summary,\n detail,\n sticky: opts?.sticky,\n life: opts?.life ?? 3000,\n });\n };\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) return new RegExp(backendRegex);\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage || ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"))\n : Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"email\")).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email\")),\n currentPassword: Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Current password\")),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string().oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Confirm password\")),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"User ID\")),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n notify(\"error\", ERROR_MESSAGES.ERROR, response.error);\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n });\n return;\n }\n\n notify(\"success\", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);\n resetForm();\n handleLogout({\n toast: {\n current: {\n show: ({ severity, summary, detail, sticky, life }: any) =>\n notify(severity || \"info\", summary || \"\", detail || \"\", { sticky, life }),\n },\n },\n });\n } catch (err: any) {\n notify(\"error\", err?.data?.message || ERROR_MESSAGES.ERROR, err?.data?.data?.message || err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const fieldError = (field: string) => {\n if (!formik.touched[field as keyof typeof formik.touched]) return null;\n const error = formik.errors[field as keyof typeof formik.errors];\n return typeof error === \"string\" ? error : null;\n };\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n <ToastMessage toast={toast} onClose={() => setToast(null)} />\n\n <div className={styles.accountScroll}>\n <div className={styles.formStack}>\n <div className={styles.field}>\n <label htmlFor=\"currentPassword\">Current Password</label>\n <PasswordInput\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"currentPassword\") ? <p className={styles.errorText}>{fieldError(\"currentPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"newPassword\">New Password</label>\n <PasswordInput\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"newPassword\") ? <p className={styles.errorText}>{fieldError(\"newPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"confirmPassword\">Confirm New Password</label>\n <PasswordInput\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"confirmPassword\") ? <p className={styles.errorText}>{fieldError(\"confirmPassword\")}</p> : null}\n </div>\n </div>\n\n <div className={styles.passwordHintWrap}>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Change Password\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ChangeEventHandler, FocusEventHandler, useMemo, useState } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { env } from \"../../../../adapters/env\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { useChangePasswordMutation } from \"../../../../redux/api/authApi\";\nimport { SolidPasswordHelperText } from \"../SolidPasswordHelperText\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\n\ntype ToastState = {\n id: number;\n severity: \"success\" | \"error\" | \"info\" | \"warn\";\n summary: string;\n detail: string;\n sticky?: boolean;\n life?: number;\n} | null;\n\nconst ToastMessage = ({ toast, onClose }: { toast: ToastState; onClose: () => void }) => {\n if (!toast) return null;\n const severityClass =\n toast.severity === \"error\"\n ? styles.toastError\n : toast.severity === \"success\"\n ? styles.toastSuccess\n : toast.severity === \"warn\"\n ? styles.toastWarn\n : styles.toastInfo;\n\n return (\n <div className={`${styles.toast} ${severityClass}`} role=\"status\" aria-live=\"polite\">\n <div>\n <div className={styles.toastTitle}>{toast.summary}</div>\n <div className={styles.toastBody}>{toast.detail}</div>\n </div>\n <button type=\"button\" className={styles.toastClose} onClick={onClose} aria-label=\"Close notification\">\n ×\n </button>\n </div>\n );\n};\n\nconst PasswordInput = ({\n id,\n name,\n value,\n onChange,\n onBlur,\n placeholder,\n}: {\n id: string;\n name: string;\n value: string;\n onChange: ChangeEventHandler<HTMLInputElement>;\n onBlur: FocusEventHandler<HTMLInputElement>;\n placeholder?: string;\n}) => {\n const [visible, setVisible] = useState(false);\n return (\n <div className={styles.passwordWrap}>\n <input\n id={id}\n name={name}\n type={visible ? \"text\" : \"password\"}\n className={styles.input}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n placeholder={placeholder}\n />\n <button\n type=\"button\"\n className={styles.passwordToggle}\n onClick={() => setVisible((prev) => !prev)}\n aria-label={visible ? \"Hide password\" : \"Show password\"}\n >\n {visible ? \"Hide\" : \"Show\"}\n </button>\n </div>\n );\n};\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const [toast, setToast] = useState<ToastState>(null);\n const [changePassword] = useChangePasswordMutation();\n const session: any = useSession();\n\n const notify = (\n severity: \"success\" | \"error\" | \"info\" | \"warn\",\n summary: string,\n detail: string,\n opts?: { sticky?: boolean; life?: number }\n ) => {\n setToast({\n id: Date.now(),\n severity,\n summary,\n detail,\n sticky: opts?.sticky,\n life: opts?.life ?? 3000,\n });\n };\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) return new RegExp(backendRegex);\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage || ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"))\n : Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"New password\"));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"email\")).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email\")),\n currentPassword: Yup.string().min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6)).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Current password\")),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string().oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH).required(ERROR_MESSAGES.FIELD_REUQIRED(\"Confirm password\")),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT(\"User ID\")),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n notify(\"error\", ERROR_MESSAGES.ERROR, response.error);\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n });\n return;\n }\n\n notify(\"success\", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);\n resetForm();\n handleLogout();\n } catch (err: any) {\n notify(\"error\", err?.data?.message || ERROR_MESSAGES.ERROR, err?.data?.data?.message || err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const fieldError = (field: string) => {\n if (!formik.touched[field as keyof typeof formik.touched]) return null;\n const error = formik.errors[field as keyof typeof formik.errors];\n return typeof error === \"string\" ? error : null;\n };\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n <ToastMessage toast={toast} onClose={() => setToast(null)} />\n\n <div className={styles.accountScroll}>\n <div className={styles.formStack}>\n <div className={styles.field}>\n <label htmlFor=\"currentPassword\">Current Password</label>\n <PasswordInput\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"currentPassword\") ? <p className={styles.errorText}>{fieldError(\"currentPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"newPassword\">New Password</label>\n <PasswordInput\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"newPassword\") ? <p className={styles.errorText}>{fieldError(\"newPassword\")}</p> : null}\n </div>\n\n <div className={styles.field}>\n <label htmlFor=\"confirmPassword\">Confirm New Password</label>\n <PasswordInput\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {fieldError(\"confirmPassword\") ? <p className={styles.errorText}>{fieldError(\"confirmPassword\")}</p> : null}\n </div>\n </div>\n\n <div className={styles.passwordHintWrap}>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Change Password\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
@@ -170,14 +170,7 @@ export const SolidChangePassword = ({ solidSettingsData }: any) => {
170
170
 
171
171
  notify("success", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);
172
172
  resetForm();
173
- handleLogout({
174
- toast: {
175
- current: {
176
- show: ({ severity, summary, detail, sticky, life }: any) =>
177
- notify(severity || "info", summary || "", detail || "", { sticky, life }),
178
- },
179
- },
180
- });
173
+ handleLogout();
181
174
  } catch (err: any) {
182
175
  notify("error", err?.data?.message || ERROR_MESSAGES.ERROR, err?.data?.data?.message || err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG);
183
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolidNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,kBAAkB,+CAgG9B,CAAC"}
1
+ {"version":3,"file":"SolidNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,+CA2E9B,CAAC"}
@@ -35,24 +35,26 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
38
- import { useEffect, useState } from "react";
38
+ import { useEffect } from "react";
39
+ import { useDispatch } from "react-redux";
39
40
  import { useFormik } from "formik";
40
41
  import { ERROR_MESSAGES } from "../../../../constants/error-messages";
41
42
  import { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from "../../../../redux/api/solidSettingsApi";
43
+ import { showToast } from "../../../../redux/features/toastSlice";
42
44
  import { SolidButton } from "../../../shad-cn-ui/SolidButton";
43
45
  import styles from "./SolidAccountSettings.module.css";
44
46
  import { getSettingsMap } from "../../../../helpers/settingsPayload";
45
47
  export var SolidNotifications = function () {
46
48
  var _a, _b;
49
+ var dispatch = useDispatch();
47
50
  var _c = useGetSolidSettingsQuery(undefined), solidSettingsData = _c.data, refetch = _c.refetch;
48
51
  var settingsMap = getSettingsMap(solidSettingsData);
49
52
  var bulkUpdateSolidSettings = useBulkUpdateSolidUserSettingsMutation()[0];
50
- var _d = useState(null), toast = _d[0], setToast = _d[1];
51
53
  useEffect(function () {
52
54
  refetch();
53
55
  }, [refetch]);
54
56
  var notify = function (severity, summary, detail) {
55
- setToast({ id: Date.now(), severity: severity, summary: summary, detail: detail });
57
+ dispatch(showToast({ severity: severity, summary: summary, detail: detail }));
56
58
  };
57
59
  var formik = useFormik({
58
60
  initialValues: {
@@ -99,13 +101,6 @@ export var SolidNotifications = function () {
99
101
  });
100
102
  }); },
101
103
  });
102
- var severityClass = (toast === null || toast === void 0 ? void 0 : toast.severity) === "error"
103
- ? styles.toastError
104
- : (toast === null || toast === void 0 ? void 0 : toast.severity) === "success"
105
- ? styles.toastSuccess
106
- : (toast === null || toast === void 0 ? void 0 : toast.severity) === "warn"
107
- ? styles.toastWarn
108
- : styles.toastInfo;
109
- return (_jsxs("form", { onSubmit: formik.handleSubmit, className: styles.accountForm, children: [toast ? (_jsxs("div", { className: "".concat(styles.toast, " ").concat(severityClass), role: "status", "aria-live": "polite", children: [_jsxs("div", { children: [_jsx("div", { className: styles.toastTitle, children: toast.summary }), _jsx("div", { className: styles.toastBody, children: toast.detail })] }), _jsx("button", { type: "button", className: styles.toastClose, onClick: function () { return setToast(null); }, "aria-label": "Close notification", children: "\u00D7" })] })) : null, _jsx("div", { className: styles.accountScroll, children: _jsxs("div", { className: styles.switchRow, children: [_jsxs("div", { children: [_jsx("label", { className: styles.sectionTitle, children: "Enable Notification" }), _jsx("div", { className: styles.versionCaption, children: "Decide whether you want to be notified of new messages or updates." })] }), _jsxs("label", { className: styles.switch, "aria-label": "Enable notification", children: [_jsx("input", { type: "checkbox", checked: Boolean(formik.values.enableNotification), onChange: function (event) { return formik.setFieldValue("enableNotification", event.target.checked); } }), _jsx("span", { className: styles.switchTrack })] })] }) }), _jsx("div", { className: styles.footerActions, children: _jsx(SolidButton, { type: "submit", size: "sm", loading: formik.isSubmitting, children: "Save" }) })] }));
104
+ return (_jsxs("form", { onSubmit: formik.handleSubmit, className: styles.accountForm, children: [_jsx("div", { className: styles.accountScroll, children: _jsxs("div", { className: styles.switchRow, children: [_jsxs("div", { children: [_jsx("label", { className: styles.sectionTitle, children: "Enable Notification" }), _jsx("div", { className: styles.versionCaption, children: "Decide whether you want to be notified of new messages or updates." })] }), _jsxs("label", { className: styles.switch, "aria-label": "Enable notification", children: [_jsx("input", { type: "checkbox", checked: Boolean(formik.values.enableNotification), onChange: function (event) { return formik.setFieldValue("enableNotification", event.target.checked); } }), _jsx("span", { className: styles.switchTrack })] })] }) }), _jsx("div", { className: styles.footerActions, children: _jsx(SolidButton, { type: "submit", size: "sm", loading: formik.isSubmitting, children: "Save" }) })] }));
110
105
  };
111
106
  //# sourceMappingURL=SolidNotifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidNotifications.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useFormik } from \"formik\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from \"../../../../redux/api/solidSettingsApi\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\nimport { getSettingsMap } from \"../../../../helpers/settingsPayload\";\n\ntype ToastState = {\n id: number;\n severity: \"success\" | \"error\" | \"info\" | \"warn\";\n summary: string;\n detail: string;\n} | null;\n\nexport const SolidNotifications = () => {\n const { data: solidSettingsData, refetch } = useGetSolidSettingsQuery(undefined);\n const settingsMap = getSettingsMap(solidSettingsData);\n const [bulkUpdateSolidSettings] = useBulkUpdateSolidUserSettingsMutation();\n const [toast, setToast] = useState<ToastState>(null);\n\n useEffect(() => {\n refetch();\n }, [refetch]);\n\n const notify = (severity: \"success\" | \"error\" | \"info\" | \"warn\", summary: string, detail: string) => {\n setToast({ id: Date.now(), severity, summary, detail });\n };\n\n const formik = useFormik({\n initialValues: {\n enableNotification: settingsMap?.enableNotification ?? settingsMap?.enabledNotification ?? true,\n },\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n const updatedSettingsArray: Array<{ key: string; value: string | boolean; type: string }> = [];\n const currentSettings = settingsMap || {};\n Object.entries(values).forEach(([key, value]) => {\n if ((currentSettings[key] ?? \"\") !== (value ?? \"\")) {\n updatedSettingsArray.push({ key, value, type: \"user\" });\n }\n });\n\n if (!updatedSettingsArray.length) {\n notify(\"info\", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_SETTING_UPDATE);\n return;\n }\n\n const formData = new FormData();\n formData.append(\"settings\", JSON.stringify(updatedSettingsArray));\n const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();\n\n if (response.statusCode === 200) {\n notify(\"success\", ERROR_MESSAGES.UPDATED, ERROR_MESSAGES.SETTING_UPDATED);\n } else {\n notify(\"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n } catch {\n notify(\"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const severityClass =\n toast?.severity === \"error\"\n ? styles.toastError\n : toast?.severity === \"success\"\n ? styles.toastSuccess\n : toast?.severity === \"warn\"\n ? styles.toastWarn\n : styles.toastInfo;\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n {toast ? (\n <div className={`${styles.toast} ${severityClass}`} role=\"status\" aria-live=\"polite\">\n <div>\n <div className={styles.toastTitle}>{toast.summary}</div>\n <div className={styles.toastBody}>{toast.detail}</div>\n </div>\n <button type=\"button\" className={styles.toastClose} onClick={() => setToast(null)} aria-label=\"Close notification\">\n ×\n </button>\n </div>\n ) : null}\n\n <div className={styles.accountScroll}>\n <div className={styles.switchRow}>\n <div>\n <label className={styles.sectionTitle}>Enable Notification</label>\n <div className={styles.versionCaption}>Decide whether you want to be notified of new messages or updates.</div>\n </div>\n <label className={styles.switch} aria-label=\"Enable notification\">\n <input\n type=\"checkbox\"\n checked={Boolean(formik.values.enableNotification)}\n onChange={(event) => formik.setFieldValue(\"enableNotification\", event.target.checked)}\n />\n <span className={styles.switchTrack} />\n </label>\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Save\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidNotifications.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,sCAAsC,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAC1H,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,MAAM,CAAC,IAAM,kBAAkB,GAAG;;IAChC,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IACzB,IAAA,KAAuC,wBAAwB,CAAC,SAAS,CAAC,EAAlE,iBAAiB,UAAA,EAAE,OAAO,aAAwC,CAAC;IACjF,IAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC/C,IAAA,uBAAuB,GAAI,sCAAsC,EAAE,GAA5C,CAA6C;IAE3E,SAAS,CAAC;QACR,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAM,MAAM,GAAG,UAAC,QAA+C,EAAE,OAAe,EAAE,MAAc;QAC9F,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,IAAM,MAAM,GAAG,SAAS,CAAC;QACvB,aAAa,EAAE;YACb,kBAAkB,EAAE,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,kBAAkB,mCAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,mBAAmB,mCAAI,IAAI;SAChG;QACD,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,UAAO,MAAM;;;;;;wBAEb,yBAAsF,EAAE,CAAC;wBACzF,oBAAkB,WAAW,IAAI,EAAE,CAAC;wBAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;;gCAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4BACzC,IAAI,CAAC,MAAA,iBAAe,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,EAAE;gCAClD,sBAAoB,CAAC,IAAI,CAAC,EAAE,GAAG,KAAA,EAAE,KAAK,OAAA,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;6BACzD;wBACH,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,sBAAoB,CAAC,MAAM,EAAE;4BAChC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;4BAC3E,sBAAO;yBACR;wBAEK,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAChC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,sBAAoB,CAAC,CAAC,CAAC;wBACjD,qBAAM,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAA;;wBAArE,QAAQ,GAAG,SAA0D;wBAE3E,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;4BAC/B,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;yBAC3E;6BAAM;4BACL,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;yBACxE;;;;wBAED,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;;;;;aAE1E;KACF,CAAC,CAAC;IAEH,OAAO,CACL,gBAAM,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,aAChE,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,YAClC,eAAK,SAAS,EAAE,MAAM,CAAC,SAAS,aAC9B,0BACE,gBAAO,SAAS,EAAE,MAAM,CAAC,YAAY,oCAA6B,EAClE,cAAK,SAAS,EAAE,MAAM,CAAC,cAAc,mFAA0E,IAC3G,EACN,iBAAO,SAAS,EAAE,MAAM,CAAC,MAAM,gBAAa,qBAAqB,aAC/D,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAClD,QAAQ,EAAE,UAAC,KAAK,IAAK,OAAA,MAAM,CAAC,aAAa,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAhE,CAAgE,GACrF,EACF,eAAM,SAAS,EAAE,MAAM,CAAC,WAAW,GAAI,IACjC,IACJ,GACF,EAEN,cAAK,SAAS,EAAE,MAAM,CAAC,aAAa,YAClC,KAAC,WAAW,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,MAAM,CAAC,YAAY,qBAEnD,GACV,IACD,CACR,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { useEffect } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useFormik } from \"formik\";\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from \"../../../../redux/api/solidSettingsApi\";\nimport { showToast } from \"../../../../redux/features/toastSlice\";\nimport { SolidButton } from \"../../../shad-cn-ui/SolidButton\";\nimport styles from \"./SolidAccountSettings.module.css\";\nimport { getSettingsMap } from \"../../../../helpers/settingsPayload\";\n\nexport const SolidNotifications = () => {\n const dispatch = useDispatch();\n const { data: solidSettingsData, refetch } = useGetSolidSettingsQuery(undefined);\n const settingsMap = getSettingsMap(solidSettingsData);\n const [bulkUpdateSolidSettings] = useBulkUpdateSolidUserSettingsMutation();\n\n useEffect(() => {\n refetch();\n }, [refetch]);\n\n const notify = (severity: \"success\" | \"error\" | \"info\" | \"warn\", summary: string, detail: string) => {\n dispatch(showToast({ severity, summary, detail }));\n };\n\n const formik = useFormik({\n initialValues: {\n enableNotification: settingsMap?.enableNotification ?? settingsMap?.enabledNotification ?? true,\n },\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n const updatedSettingsArray: Array<{ key: string; value: string | boolean; type: string }> = [];\n const currentSettings = settingsMap || {};\n Object.entries(values).forEach(([key, value]) => {\n if ((currentSettings[key] ?? \"\") !== (value ?? \"\")) {\n updatedSettingsArray.push({ key, value, type: \"user\" });\n }\n });\n\n if (!updatedSettingsArray.length) {\n notify(\"info\", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_SETTING_UPDATE);\n return;\n }\n\n const formData = new FormData();\n formData.append(\"settings\", JSON.stringify(updatedSettingsArray));\n const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();\n\n if (response.statusCode === 200) {\n notify(\"success\", ERROR_MESSAGES.UPDATED, ERROR_MESSAGES.SETTING_UPDATED);\n } else {\n notify(\"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n } catch {\n notify(\"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n return (\n <form onSubmit={formik.handleSubmit} className={styles.accountForm}>\n <div className={styles.accountScroll}>\n <div className={styles.switchRow}>\n <div>\n <label className={styles.sectionTitle}>Enable Notification</label>\n <div className={styles.versionCaption}>Decide whether you want to be notified of new messages or updates.</div>\n </div>\n <label className={styles.switch} aria-label=\"Enable notification\">\n <input\n type=\"checkbox\"\n checked={Boolean(formik.values.enableNotification)}\n onChange={(event) => formik.setFieldValue(\"enableNotification\", event.target.checked)}\n />\n <span className={styles.switchTrack} />\n </label>\n </div>\n </div>\n\n <div className={styles.footerActions}>\n <SolidButton type=\"submit\" size=\"sm\" loading={formik.isSubmitting}>\n Save\n </SolidButton>\n </div>\n </form>\n );\n};\n"]}