@solidxai/core-ui 0.1.14-beta.6 → 0.1.14-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (537) hide show
  1. package/dist/components/auth/AuthLayout.js +1 -1
  2. package/dist/components/auth/AuthLayout.js.map +1 -1
  3. package/dist/components/auth/AuthLayout.tsx +2 -2
  4. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  5. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  6. package/dist/components/auth/SolidOTPVerify.js +67 -0
  7. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  8. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  9. package/dist/components/common/AuthBanner.d.ts +3 -0
  10. package/dist/components/common/AuthBanner.d.ts.map +1 -0
  11. package/dist/components/common/AuthBanner.js +15 -0
  12. package/dist/components/common/AuthBanner.js.map +1 -0
  13. package/dist/components/common/AuthBanner.tsx +41 -0
  14. package/dist/components/common/SettingsComponent.module.css +4 -1
  15. package/dist/components/common/SingleSelectAutoCompleteField.d.ts +2 -0
  16. package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -0
  17. package/dist/components/common/SingleSelectAutoCompleteField.js +92 -0
  18. package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -0
  19. package/dist/components/common/SingleSelectAutoCompleteField.tsx +73 -0
  20. package/dist/components/common/SolidExportStepper.d.ts +12 -0
  21. package/dist/components/common/SolidExportStepper.d.ts.map +1 -0
  22. package/dist/components/common/SolidExportStepper.js +30 -0
  23. package/dist/components/common/SolidExportStepper.js.map +1 -0
  24. package/dist/components/common/SolidExportStepper.tsx +135 -0
  25. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  26. package/dist/components/common/SolidFormStepper.js +7 -6
  27. package/dist/components/common/SolidFormStepper.js.map +1 -1
  28. package/dist/components/common/SolidFormStepper.tsx +7 -1
  29. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  30. package/dist/components/common/SolidThemeProvider.js +127 -11
  31. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  32. package/dist/components/common/SolidThemeProvider.tsx +104 -22
  33. package/dist/components/core/card/CardGrid.d.ts +1 -1
  34. package/dist/components/core/card/CardGrid.d.ts.map +1 -1
  35. package/dist/components/core/card/CardGrid.js +2 -2
  36. package/dist/components/core/card/CardGrid.js.map +1 -1
  37. package/dist/components/core/card/CardGrid.tsx +4 -0
  38. package/dist/components/core/card/CardItem.d.ts +2 -0
  39. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  40. package/dist/components/core/card/CardItem.js +4 -3
  41. package/dist/components/core/card/CardItem.js.map +1 -1
  42. package/dist/components/core/card/CardItem.tsx +15 -0
  43. package/dist/components/core/card/SolidCardView.d.ts +28 -1
  44. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  45. package/dist/components/core/card/SolidCardView.js +99 -44
  46. package/dist/components/core/card/SolidCardView.js.map +1 -1
  47. package/dist/components/core/card/SolidCardView.tsx +124 -7
  48. package/dist/components/core/card/SolidCardViewConfigure.d.ts +1 -1
  49. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  50. package/dist/components/core/card/SolidCardViewConfigure.js +15 -6
  51. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  52. package/dist/components/core/card/SolidCardViewConfigure.tsx +34 -0
  53. package/dist/components/core/card/cardViewRegistry.d.ts +7 -0
  54. package/dist/components/core/card/cardViewRegistry.d.ts.map +1 -0
  55. package/dist/components/core/card/cardViewRegistry.js +17 -0
  56. package/dist/components/core/card/cardViewRegistry.js.map +1 -0
  57. package/dist/components/core/card/cardViewRegistry.ts +23 -0
  58. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  59. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  60. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  61. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  62. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  63. package/dist/components/core/common/PDFViewer.d.ts +9 -5
  64. package/dist/components/core/common/PDFViewer.d.ts.map +1 -1
  65. package/dist/components/core/common/PDFViewer.js +10 -102
  66. package/dist/components/core/common/PDFViewer.js.map +1 -1
  67. package/dist/components/core/common/PDFViewer.tsx +29 -88
  68. package/dist/components/core/common/SolidCollectionRowActionMenuItems.d.ts +12 -0
  69. package/dist/components/core/common/SolidCollectionRowActionMenuItems.d.ts.map +1 -0
  70. package/dist/components/core/common/SolidCollectionRowActionMenuItems.js +50 -0
  71. package/dist/components/core/common/SolidCollectionRowActionMenuItems.js.map +1 -0
  72. package/dist/components/core/common/SolidCollectionRowActionMenuItems.tsx +91 -0
  73. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  74. package/dist/components/core/common/SolidCreateButton.js +2 -2
  75. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  76. package/dist/components/core/common/SolidCreateButton.tsx +22 -2
  77. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +2 -0
  78. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +1 -0
  79. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +16 -0
  80. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +1 -0
  81. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +29 -0
  82. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  83. package/dist/components/core/common/SolidGlobalSearchElement.js +137 -134
  84. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  85. package/dist/components/core/common/SolidGlobalSearchElement.tsx +127 -119
  86. package/dist/components/core/dashboard/DashboardFilter.d.ts +13 -0
  87. package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -0
  88. package/dist/components/core/dashboard/DashboardFilter.js +299 -0
  89. package/dist/components/core/dashboard/DashboardFilter.js.map +1 -0
  90. package/dist/components/core/dashboard/DashboardFilter.tsx +348 -0
  91. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +3 -0
  92. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +1 -0
  93. package/dist/components/core/dashboard/PrimeDataTableWrapper.js +21 -0
  94. package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -0
  95. package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +40 -0
  96. package/dist/components/core/dashboard/SolidDashboard.d.ts +28 -0
  97. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -0
  98. package/dist/components/core/dashboard/SolidDashboard.js +183 -0
  99. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -0
  100. package/dist/components/core/dashboard/SolidDashboard.module.css +83 -0
  101. package/dist/components/core/dashboard/SolidDashboard.tsx +263 -0
  102. package/dist/components/core/dashboard/SolidDashboardBody.d.ts +24 -0
  103. package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -0
  104. package/dist/components/core/dashboard/SolidDashboardBody.js +162 -0
  105. package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -0
  106. package/dist/components/core/dashboard/SolidDashboardBody.tsx +168 -0
  107. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +2 -0
  108. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +1 -0
  109. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +11 -0
  110. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -0
  111. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +28 -0
  112. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +3 -0
  113. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +1 -0
  114. package/dist/components/core/dashboard/SolidDashboardHeader.js +6 -0
  115. package/dist/components/core/dashboard/SolidDashboardHeader.js.map +1 -0
  116. package/dist/components/core/dashboard/SolidDashboardHeader.tsx +10 -0
  117. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +2 -0
  118. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -0
  119. package/dist/components/core/dashboard/SolidDashboardLoading.js +10 -0
  120. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -0
  121. package/dist/components/core/dashboard/SolidDashboardLoading.tsx +61 -0
  122. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +3 -0
  123. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +1 -0
  124. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +12 -0
  125. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -0
  126. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +32 -0
  127. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +2 -0
  128. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -0
  129. package/dist/components/core/dashboard/SolidDashboardRenderError.js +11 -0
  130. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -0
  131. package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +28 -0
  132. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +19 -0
  133. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -0
  134. package/dist/components/core/dashboard/SolidDashboardVariable.js +171 -0
  135. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -0
  136. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +259 -0
  137. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +9 -0
  138. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -0
  139. package/dist/components/core/dashboard/SolidQuestionRenderer.js +42 -0
  140. package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -0
  141. package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +99 -0
  142. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +9 -0
  143. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +1 -0
  144. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +35 -0
  145. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +1 -0
  146. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +48 -0
  147. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +7 -0
  148. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -0
  149. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +22 -0
  150. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -0
  151. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +51 -0
  152. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +2 -0
  153. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +1 -0
  154. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +4 -0
  155. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +1 -0
  156. package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +25 -0
  157. package/dist/components/core/dashboard/dashboard-utils.d.ts +2 -0
  158. package/dist/components/core/dashboard/dashboard-utils.d.ts.map +1 -0
  159. package/dist/components/core/dashboard/dashboard-utils.js +38 -0
  160. package/dist/components/core/dashboard/dashboard-utils.js.map +1 -0
  161. package/dist/components/core/dashboard/dashboard-utils.ts +39 -0
  162. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +10 -0
  163. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +1 -0
  164. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +16 -0
  165. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +1 -0
  166. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +19 -0
  167. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +8 -0
  168. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +1 -0
  169. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +64 -0
  170. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +1 -0
  171. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +30 -0
  172. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +8 -0
  173. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +1 -0
  174. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +62 -0
  175. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +1 -0
  176. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +29 -0
  177. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +4 -0
  178. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +1 -0
  179. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +23 -0
  180. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -0
  181. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +36 -0
  182. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  183. package/dist/components/core/form/SolidFormActionHeader.js +21 -21
  184. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  185. package/dist/components/core/form/SolidFormActionHeader.tsx +62 -53
  186. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  187. package/dist/components/core/form/SolidFormView.js +5 -2
  188. package/dist/components/core/form/SolidFormView.js.map +1 -1
  189. package/dist/components/core/form/SolidFormView.tsx +7 -2
  190. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
  191. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
  192. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
  193. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
  194. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
  195. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
  196. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
  197. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
  198. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
  199. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
  200. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  201. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  202. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  203. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  204. package/dist/components/core/kanban/KanbanBoard.tsx +3 -1
  205. package/dist/components/core/kanban/KanbanCard.d.ts +2 -0
  206. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  207. package/dist/components/core/kanban/KanbanCard.js +4 -2
  208. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  209. package/dist/components/core/kanban/KanbanCard.tsx +14 -1
  210. package/dist/components/core/kanban/KanbanColumn.d.ts +3 -1
  211. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  212. package/dist/components/core/kanban/KanbanColumn.js +2 -2
  213. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  214. package/dist/components/core/kanban/KanbanColumn.tsx +4 -2
  215. package/dist/components/core/kanban/SolidKanbanView.d.ts +25 -1
  216. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  217. package/dist/components/core/kanban/SolidKanbanView.js +89 -50
  218. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  219. package/dist/components/core/kanban/SolidKanbanView.tsx +82 -9
  220. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +12 -0
  221. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +1 -0
  222. package/dist/components/core/kanban/SolidKanbanViewFields.js +145 -0
  223. package/dist/components/core/kanban/SolidKanbanViewFields.js.map +1 -0
  224. package/dist/components/core/kanban/SolidKanbanViewFields.tsx +164 -0
  225. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +2 -0
  226. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -0
  227. package/dist/components/core/kanban/SolidManyToOneFilterElement.js +87 -0
  228. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -0
  229. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
  230. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +2 -0
  231. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +1 -0
  232. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +73 -0
  233. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +1 -0
  234. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
  235. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +2 -0
  236. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +1 -0
  237. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +20 -0
  238. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +1 -0
  239. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
  240. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +12 -0
  241. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +1 -0
  242. package/dist/components/core/kanban/SolidVarInputsFilterElement.js +81 -0
  243. package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +1 -0
  244. package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
  245. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +4 -0
  246. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +1 -0
  247. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +7 -0
  248. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +1 -0
  249. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
  250. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +4 -0
  251. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +1 -0
  252. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +8 -0
  253. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -0
  254. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +16 -0
  255. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +4 -0
  256. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +1 -0
  257. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +21 -0
  258. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +1 -0
  259. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
  260. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +4 -0
  261. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +1 -0
  262. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +8 -0
  263. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -0
  264. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
  265. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +4 -0
  266. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +1 -0
  267. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +8 -0
  268. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -0
  269. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
  270. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +4 -0
  271. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +1 -0
  272. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +7 -0
  273. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +1 -0
  274. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
  275. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +4 -0
  276. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +1 -0
  277. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +8 -0
  278. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -0
  279. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
  280. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +4 -0
  281. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +1 -0
  282. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +7 -0
  283. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +1 -0
  284. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
  285. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +4 -0
  286. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +1 -0
  287. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +8 -0
  288. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -0
  289. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
  290. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +4 -0
  291. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +1 -0
  292. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +16 -0
  293. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -0
  294. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +20 -0
  295. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +4 -0
  296. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +1 -0
  297. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +7 -0
  298. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +1 -0
  299. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
  300. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +4 -0
  301. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -0
  302. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +56 -0
  303. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -0
  304. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +140 -0
  305. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +4 -0
  306. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -0
  307. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +42 -0
  308. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -0
  309. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +164 -0
  310. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +4 -0
  311. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +1 -0
  312. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +11 -0
  313. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +1 -0
  314. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
  315. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +4 -0
  316. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +1 -0
  317. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +7 -0
  318. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +1 -0
  319. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
  320. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +4 -0
  321. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +1 -0
  322. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +8 -0
  323. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -0
  324. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +14 -0
  325. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +4 -0
  326. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +1 -0
  327. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +8 -0
  328. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -0
  329. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
  330. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +4 -0
  331. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -0
  332. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +37 -0
  333. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -0
  334. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +121 -0
  335. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +4 -0
  336. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +1 -0
  337. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +8 -0
  338. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -0
  339. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
  340. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +4 -0
  341. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +1 -0
  342. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +8 -0
  343. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +1 -0
  344. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
  345. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +4 -0
  346. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +1 -0
  347. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +7 -0
  348. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -0
  349. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
  350. package/dist/components/core/kanban/kanbanViewRegistry.d.ts +7 -0
  351. package/dist/components/core/kanban/kanbanViewRegistry.d.ts.map +1 -0
  352. package/dist/components/core/kanban/kanbanViewRegistry.js +17 -0
  353. package/dist/components/core/kanban/kanbanViewRegistry.js.map +1 -0
  354. package/dist/components/core/kanban/kanbanViewRegistry.ts +23 -0
  355. package/dist/components/core/list/PLAN.md +1 -1
  356. package/dist/components/core/list/SolidListView.d.ts +11 -0
  357. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  358. package/dist/components/core/list/SolidListView.js +8 -3
  359. package/dist/components/core/list/SolidListView.js.map +1 -1
  360. package/dist/components/core/list/SolidListView.tsx +82 -43
  361. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  362. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  363. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  364. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +2 -0
  365. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -0
  366. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +39 -0
  367. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -0
  368. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +40 -0
  369. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +12 -0
  370. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +1 -0
  371. package/dist/components/core/list/SolidVarInputsFilterElement.js +81 -0
  372. package/dist/components/core/list/SolidVarInputsFilterElement.js.map +1 -0
  373. package/dist/components/core/list/SolidVarInputsFilterElement.tsx +184 -0
  374. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
  375. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
  376. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
  377. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
  378. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
  379. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
  380. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
  381. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
  382. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
  383. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
  384. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
  385. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
  386. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
  387. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
  388. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
  389. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  390. package/dist/components/core/model/CreateModel.js +2 -1
  391. package/dist/components/core/model/CreateModel.js.map +1 -1
  392. package/dist/components/core/model/CreateModel.tsx +2 -0
  393. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  394. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  395. package/dist/components/core/model/FieldMetaData.js +8 -8
  396. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  397. package/dist/components/core/model/FieldMetaData.tsx +2 -2
  398. package/dist/components/core/model/FieldMetaDataForm.css +119 -0
  399. package/dist/components/core/model/FieldMetaDataForm.js +1 -1
  400. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  401. package/dist/components/core/model/FieldMetaDataForm.tsx +1 -1
  402. package/dist/components/core/module/ModuleMetadataExplorer.css +64 -0
  403. package/dist/components/core/module/ModulePackageDialog.css +117 -12
  404. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  405. package/dist/components/core/tree/SolidTreeView.js +6 -3
  406. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  407. package/dist/components/core/tree/SolidTreeView.tsx +35 -13
  408. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
  409. package/dist/components/layout/AdminHeaderActions.js +15 -10
  410. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  411. package/dist/components/layout/AdminHeaderActions.tsx +15 -8
  412. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  413. package/dist/components/layout/AdminTopHeader.js +1 -18
  414. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  415. package/dist/components/layout/AdminTopHeader.tsx +3 -21
  416. package/dist/components/layout/DashboardHeader.d.ts +3 -0
  417. package/dist/components/layout/DashboardHeader.d.ts.map +1 -0
  418. package/dist/components/layout/DashboardHeader.js +20 -0
  419. package/dist/components/layout/DashboardHeader.js.map +1 -0
  420. package/dist/components/layout/DashboardHeader.tsx +94 -0
  421. package/dist/helpers/# no such endpoints exist, need to calle +3 -0
  422. package/dist/helpers/ToastContainer.d.ts +4 -0
  423. package/dist/helpers/ToastContainer.d.ts.map +1 -0
  424. package/dist/helpers/ToastContainer.js +49 -0
  425. package/dist/helpers/ToastContainer.js.map +1 -0
  426. package/dist/helpers/ToastContainer.tsx +94 -0
  427. package/dist/helpers/resolveActiveUserId.d.ts +13 -0
  428. package/dist/helpers/resolveActiveUserId.d.ts.map +1 -0
  429. package/dist/helpers/resolveActiveUserId.js +86 -0
  430. package/dist/helpers/resolveActiveUserId.js.map +1 -0
  431. package/dist/helpers/resolveActiveUserId.ts +90 -0
  432. package/dist/helpers/showToast.d.ts +5 -0
  433. package/dist/helpers/showToast.d.ts.map +1 -0
  434. package/dist/helpers/showToast.js +17 -0
  435. package/dist/helpers/showToast.js.map +1 -0
  436. package/dist/helpers/showToast.ts +13 -0
  437. package/dist/helpers/studioSandbox.d.ts +31 -0
  438. package/dist/helpers/studioSandbox.d.ts.map +1 -0
  439. package/dist/helpers/studioSandbox.js +104 -0
  440. package/dist/helpers/studioSandbox.js.map +1 -0
  441. package/dist/helpers/studioSandbox.ts +117 -0
  442. package/dist/index.d.ts +5 -0
  443. package/dist/index.d.ts.map +1 -1
  444. package/dist/index.js +3 -0
  445. package/dist/index.js.map +1 -1
  446. package/dist/index.ts +5 -0
  447. package/dist/nextAuth/authProviders.d.ts +4 -0
  448. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  449. package/dist/nextAuth/authProviders.js +198 -0
  450. package/dist/nextAuth/authProviders.js.map +1 -0
  451. package/dist/nextAuth/authProviders.tsx +232 -0
  452. package/dist/nextAuth/handleLogout.d.ts +2 -0
  453. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  454. package/dist/nextAuth/handleLogout.js +36 -0
  455. package/dist/nextAuth/handleLogout.js.map +1 -0
  456. package/dist/nextAuth/handleLogout.tsx +39 -0
  457. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  458. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  459. package/dist/nextAuth/refreshAccessToken.js +24 -0
  460. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  461. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  462. package/dist/redux/api/dashboardApi.d.ts +23 -0
  463. package/dist/redux/api/dashboardApi.d.ts.map +1 -0
  464. package/dist/redux/api/dashboardApi.js +35 -0
  465. package/dist/redux/api/dashboardApi.js.map +1 -0
  466. package/dist/redux/api/dashboardApi.ts +56 -0
  467. package/dist/redux/api/dashboardLayoutApi.d.ts +24 -0
  468. package/dist/redux/api/dashboardLayoutApi.d.ts.map +1 -0
  469. package/dist/redux/api/dashboardLayoutApi.js +34 -0
  470. package/dist/redux/api/dashboardLayoutApi.js.map +1 -0
  471. package/dist/redux/api/dashboardLayoutApi.ts +55 -0
  472. package/dist/redux/api/dashboardQuestionApi.d.ts +5 -0
  473. package/dist/redux/api/dashboardQuestionApi.d.ts.map +1 -0
  474. package/dist/redux/api/dashboardQuestionApi.js +18 -0
  475. package/dist/redux/api/dashboardQuestionApi.js.map +1 -0
  476. package/dist/redux/api/dashboardQuestionApi.ts +17 -0
  477. package/dist/redux/features/settingsSlice.d.ts +20 -0
  478. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  479. package/dist/redux/features/settingsSlice.js +39 -0
  480. package/dist/redux/features/settingsSlice.js.map +1 -0
  481. package/dist/redux/features/settingsSlice.ts +60 -0
  482. package/dist/resources/globals.css +15 -0
  483. package/dist/resources/images/Footerbg.png +0 -0
  484. package/dist/resources/images/LoginBanner.png +0 -0
  485. package/dist/resources/images/dashboard/Ellipse 1.svg +10 -0
  486. package/dist/resources/images/dashboard/Rectangle 17.svg +10 -0
  487. package/dist/resources/images/dashboard/Rectangle 25.svg +11 -0
  488. package/dist/resources/images/dashboard/image 5.svg +9 -0
  489. package/dist/resources/images/loginhero.png +0 -0
  490. package/dist/resources/images/logo.png +0 -0
  491. package/dist/resources/images/radix-logo-white.png +0 -0
  492. package/dist/resources/images/radix-logo.png +0 -0
  493. package/dist/resources/images/signupBanner.png +0 -0
  494. package/dist/resources/shadcn-base.css +16 -70
  495. package/dist/resources/solid-custom.css +11 -0
  496. package/dist/resources/solid-tailwind-generated.css +1 -1
  497. package/dist/resources/themes/solid-dark-enterprise/theme-variables.css +28 -0
  498. package/dist/resources/themes/solid-dark-enterprise/theme.css +926 -0
  499. package/dist/resources/themes/solid-dark-modern/theme-variables.css +27 -0
  500. package/dist/resources/themes/solid-dark-modern/theme.css +600 -0
  501. package/dist/resources/themes/solid-light-enterprise/theme-variables.css +28 -0
  502. package/dist/resources/themes/solid-light-enterprise/theme.css +930 -0
  503. package/dist/resources/themes/solid-light-modern/theme-variables.css +31 -0
  504. package/dist/resources/themes/solid-light-modern/theme.css +1041 -0
  505. package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
  506. package/dist/routes/pages/admin/core/CardPage.js +15 -2
  507. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  508. package/dist/routes/pages/admin/core/CardPage.tsx +17 -2
  509. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  510. package/dist/routes/pages/admin/core/DashboardPage.js +31 -3
  511. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  512. package/dist/routes/pages/admin/core/DashboardPage.tsx +39 -11
  513. package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
  514. package/dist/routes/pages/admin/core/KanbanPage.js +15 -2
  515. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  516. package/dist/routes/pages/admin/core/KanbanPage.tsx +17 -2
  517. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  518. package/dist/routes/pages/admin/core/ListPage.js +5 -13
  519. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  520. package/dist/routes/pages/admin/core/ListPage.tsx +5 -15
  521. package/dist/theme/theme-registry.d.ts +6 -0
  522. package/dist/theme/theme-registry.d.ts.map +1 -0
  523. package/dist/theme/theme-registry.js +65 -0
  524. package/dist/theme/theme-registry.js.map +1 -0
  525. package/dist/theme/theme-registry.ts +78 -0
  526. package/dist/types/solid-core.d.ts +8 -0
  527. package/package.json +1 -1
  528. package/dist/components/core/list/SolidCustomListColumn.d.ts +0 -8
  529. package/dist/components/core/list/SolidCustomListColumn.d.ts.map +0 -1
  530. package/dist/components/core/list/SolidCustomListColumn.js +0 -47
  531. package/dist/components/core/list/SolidCustomListColumn.js.map +0 -1
  532. package/dist/components/core/list/SolidCustomListColumn.tsx +0 -57
  533. package/dist/helpers/modulePackageResumeState.d.ts +0 -6
  534. package/dist/helpers/modulePackageResumeState.d.ts.map +0 -1
  535. package/dist/helpers/modulePackageResumeState.js +0 -46
  536. package/dist/helpers/modulePackageResumeState.js.map +0 -1
  537. package/dist/helpers/modulePackageResumeState.ts +0 -57
@@ -21,6 +21,7 @@ import { AggregationRule, GroupingRule } from "../common/GroupingComponent";
21
21
  import { SolidListViewColumn } from "../list/SolidListViewColumn";
22
22
  import { hasAnyRole } from "../../../helpers/rolesHelper";
23
23
  import { useSession } from "../../../hooks/useSession";
24
+ import { resolveActiveUserId, resolveSavedFilterVariables } from "../../../helpers/resolveActiveUserId";
24
25
  import { useLazyCheckIfPermissionExistsQuery } from "../../../redux/api/userApi";
25
26
  import { SolidListViewConfigure } from "../list/SolidListViewConfigure";
26
27
  import CompactImage from '../../../resources/images/layout/images/compact.png';
@@ -1067,6 +1068,7 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1067
1068
  custom_filter_predicate: latestFilterPredicatesRef.current.custom_filter_predicate || null,
1068
1069
  search_predicate: latestFilterPredicatesRef.current.search_predicate || null,
1069
1070
  saved_filter_predicate: latestFilterPredicatesRef.current.saved_filter_predicate || null,
1071
+ saved_filter_variables: latestFilterPredicatesRef.current.saved_filter_variables || {},
1070
1072
  predefined_search_predicate: latestFilterPredicatesRef.current.predefined_search_predicate || null,
1071
1073
  grouping_rules: latestFilterPredicatesRef.current.grouping_rules || null,
1072
1074
  aggregation_rules: latestFilterPredicatesRef.current.aggregation_rules || null,
@@ -1275,7 +1277,14 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1275
1277
 
1276
1278
  if (nextFilterPredicates?.custom_filter_predicate) queryfilter.$and.push(nextFilterPredicates.custom_filter_predicate);
1277
1279
  if (nextFilterPredicates?.search_predicate) queryfilter.$and.push(nextFilterPredicates.search_predicate);
1278
- if (nextFilterPredicates?.saved_filter_predicate) queryfilter.$and.push(nextFilterPredicates.saved_filter_predicate);
1280
+ if (nextFilterPredicates?.saved_filter_predicate) queryfilter.$and.push(
1281
+ nextFilterPredicates.resolved_saved_filter_predicate ||
1282
+ resolveSavedFilterVariables(
1283
+ nextFilterPredicates.saved_filter_predicate,
1284
+ user?.id,
1285
+ nextFilterPredicates.saved_filter_variables || {}
1286
+ ).value
1287
+ );
1279
1288
  if (nextFilterPredicates?.predefined_search_predicate) queryfilter.$and.push(nextFilterPredicates.predefined_search_predicate);
1280
1289
 
1281
1290
  latestFiltersRef.current = queryfilter;
@@ -1897,17 +1906,30 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1897
1906
  </div>
1898
1907
 
1899
1908
  {solidTreeViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true && (
1900
- <div className={`${showGlobalSearchElement ? "flex" : "hidden lg:flex"} mt-3 lg:mt-0 w-full lg:flex lg:min-w-0`}>
1901
- <SolidGlobalSearchElement
1902
- viewType="tree"
1903
- showSaveFilterPopup={showSaveFilterPopup}
1904
- setShowSaveFilterPopup={setShowSaveFilterPopup}
1905
- ref={solidGlobalSearchElementRef}
1906
- viewData={solidTreeViewMetaData}
1907
- handleApplyCustomFilter={handleApplyCustomFilter}
1908
- filterPredicates={filterPredicates}
1909
- />
1910
- </div>
1909
+ <>
1910
+ <div className="max-[576px]:hidden sm:hidden lg:flex w-full mt-3 lg:mt-0 lg:min-w-0">
1911
+ <SolidGlobalSearchElement
1912
+ viewType="tree"
1913
+ showSaveFilterPopup={showSaveFilterPopup}
1914
+ setShowSaveFilterPopup={setShowSaveFilterPopup}
1915
+ ref={solidGlobalSearchElementRef}
1916
+ viewData={solidTreeViewMetaData}
1917
+ handleApplyCustomFilter={handleApplyCustomFilter}
1918
+ filterPredicates={filterPredicates}
1919
+ />
1920
+ </div>
1921
+ <div className={`${showGlobalSearchElement ? "lg:flex" : "hidden"} lg:hidden mt-3 lg:mt-0 w-full lg:min-w-0`}>
1922
+ <SolidGlobalSearchElement
1923
+ viewType="tree"
1924
+ showSaveFilterPopup={showSaveFilterPopup}
1925
+ setShowSaveFilterPopup={setShowSaveFilterPopup}
1926
+ ref={solidGlobalSearchElementRef}
1927
+ viewData={solidTreeViewMetaData}
1928
+ handleApplyCustomFilter={handleApplyCustomFilter}
1929
+ filterPredicates={filterPredicates}
1930
+ />
1931
+ </div>
1932
+ </>
1911
1933
  )}
1912
1934
  </div>
1913
1935
 
@@ -1915,7 +1937,7 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1915
1937
  {headerRequestStatusLabel ? <SolidHeaderRequestStatus label={headerRequestStatusLabel} /> : null}
1916
1938
 
1917
1939
  {solidTreeViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true && (
1918
- <div className="flex lg:hidden">
1940
+ <div className="solid-list-search-toggle">
1919
1941
  <SolidButton
1920
1942
  type="button"
1921
1943
  size="sm"
@@ -1 +1 @@
1
- {"version":3,"file":"AdminHeaderActions.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AdminHeaderActions.tsx"],"names":[],"mappings":"AAWA,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAUF,eAAO,MAAM,iBAAiB,+CAK7B,CAAC;AAYF,eAAO,MAAM,kBAAkB,2BAAiC,uBAAuB,mDAmHtF,CAAC"}
1
+ {"version":3,"file":"AdminHeaderActions.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AdminHeaderActions.tsx"],"names":[],"mappings":"AAaA,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAUF,eAAO,MAAM,iBAAiB,+CAK7B,CAAC;AAYF,eAAO,MAAM,kBAAkB,2BAAiC,uBAAuB,mDAwHtF,CAAC"}
@@ -8,7 +8,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
8
8
  return to.concat(ar || Array.prototype.slice.call(from));
9
9
  };
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- import { useContext } from "react";
11
+ import { useContext, useMemo } from "react";
12
12
  import { useDispatch, useSelector } from "react-redux";
13
13
  // import { usePathname } from "../../hooks/usePathname";
14
14
  import { useRouter } from "../../hooks/useRouter";
@@ -18,6 +18,8 @@ import { hasAnyRole } from "../../helpers/rolesHelper";
18
18
  import { enterStudioMode } from "../../redux/features/solidStudioSlice";
19
19
  import { LayoutContext } from "./context/layoutcontext";
20
20
  import { BackendReconnectIndicator } from "../common/BackendReconnectIndicator";
21
+ import { useGetSolidSettingsQuery } from "../../redux/api/solidSettingsApi";
22
+ import { getSettingsMap } from "../../helpers/settingsPayload";
21
23
  export var StudioSparkleIcon = function () { return (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", "aria-hidden": "true", children: [_jsx("path", { d: "M7 1v2M7 11v2M1 7h2M11 7h2M2.93 2.93l1.41 1.41M9.66 9.66l1.41 1.41M2.93 11.07l1.41-1.41M9.66 4.34l1.41-1.41", stroke: "currentColor", strokeWidth: "1.4", strokeLinecap: "round" }), _jsx("circle", { cx: "7", cy: "7", r: "2", stroke: "currentColor", strokeWidth: "1.4" })] })); };
22
24
  var ThemeToggleIcon = function () { return (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: [_jsx("path", { d: "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 3l0 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 9l4.65 -4.65", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 14.3l7.37 -7.37", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12 19.6l8.85 -8.85", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] })); };
23
25
  export var AdminHeaderActions = function (_a) {
@@ -27,10 +29,13 @@ export var AdminHeaderActions = function (_a) {
27
29
  var dispatch = useDispatch();
28
30
  var session = useSession().data;
29
31
  var _c = useContext(LayoutContext), toggleThemeMode = _c.toggleThemeMode, themeMode = _c.themeMode;
32
+ var solidSettingsData = useGetSolidSettingsQuery(undefined).data;
30
33
  var user = session === null || session === void 0 ? void 0 : session.user;
31
34
  var isAdmin = hasAnyRole(user === null || user === void 0 ? void 0 : user.roles, ["Admin"]);
32
35
  var isStudioMode = useSelector(function (state) { var _a, _b; return (_b = (_a = state.solidStudio) === null || _a === void 0 ? void 0 : _a.isStudioMode) !== null && _b !== void 0 ? _b : false; });
33
36
  var isDev = env("VITE_SOLIDX_ENV") === "dev";
37
+ var settingsMap = useMemo(function () { return getSettingsMap(solidSettingsData); }, [solidSettingsData]);
38
+ var showThemeToggle = (settingsMap === null || settingsMap === void 0 ? void 0 : settingsMap.showThemeToggle) === true || (settingsMap === null || settingsMap === void 0 ? void 0 : settingsMap.showThemeToggle) === "true";
34
39
  // const showBack = /\/admin\/core\/[^/]+\/[^/]+\/form\/[^/]+/.test(pathname);
35
40
  var actions = __spreadArray(__spreadArray([], (isAdmin && isDev && !isStudioMode
36
41
  ? [{
@@ -43,15 +48,15 @@ export var AdminHeaderActions = function (_a) {
43
48
  title: "Enter SolidX Studio",
44
49
  icon: _jsx(StudioSparkleIcon, {}),
45
50
  }]
46
- : []), true), [
47
- {
48
- key: "theme",
49
- label: themeMode === "dark" ? "Light Mode" : "Dark Mode",
50
- onClick: toggleThemeMode,
51
- title: "Toggle theme",
52
- icon: _jsx(ThemeToggleIcon, {}),
53
- },
54
- ], false);
51
+ : []), true), (showThemeToggle
52
+ ? [{
53
+ key: "theme",
54
+ label: themeMode === "dark" ? "Light Mode" : "Dark Mode",
55
+ onClick: toggleThemeMode,
56
+ title: "Toggle theme",
57
+ icon: _jsx(ThemeToggleIcon, {}),
58
+ }]
59
+ : []), true);
55
60
  if (!actions.length) {
56
61
  return null;
57
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AdminHeaderActions.js","sourceRoot":"","sources":["../../../src/components/layout/AdminHeaderActions.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode, useContext } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n// import { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useSession } from \"../../hooks/useSession\";\nimport { env } from \"../../adapters/env\";\nimport { hasAnyRole } from \"../../helpers/rolesHelper\";\nimport { enterStudioMode } from \"../../redux/features/solidStudioSlice\";\nimport { LayoutContext } from \"./context/layoutcontext\";\nimport { BackendReconnectIndicator } from \"../common/BackendReconnectIndicator\";\n\ntype AdminHeaderActionsProps = {\n variant: \"header\" | \"sidebar\";\n className?: string;\n};\n\ntype AdminAction = {\n key: string;\n label: string;\n onClick: () => void;\n title: string;\n icon?: ReactNode;\n};\n\nexport const StudioSparkleIcon = () => (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M7 1v2M7 11v2M1 7h2M11 7h2M2.93 2.93l1.41 1.41M9.66 9.66l1.41 1.41M2.93 11.07l1.41-1.41M9.66 4.34l1.41-1.41\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeLinecap=\"round\" />\n <circle cx=\"7\" cy=\"7\" r=\"2\" stroke=\"currentColor\" strokeWidth=\"1.4\" />\n </svg>\n);\n\nconst ThemeToggleIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 3l0 18\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 9l4.65 -4.65\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 14.3l7.37 -7.37\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 19.6l8.85 -8.85\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n);\n\nexport const AdminHeaderActions = ({ variant, className = \"\" }: AdminHeaderActionsProps) => {\n // const pathname = usePathname();\n const router = useRouter();\n const dispatch = useDispatch();\n const { data: session } = useSession();\n const { toggleThemeMode, themeMode } = useContext(LayoutContext);\n const user = session?.user;\n const isAdmin = hasAnyRole(user?.roles, [\"Admin\"]);\n const isStudioMode = useSelector((state: any) => state.solidStudio?.isStudioMode ?? false);\n const isDev = env(\"VITE_SOLIDX_ENV\") === \"dev\";\n // const showBack = /\\/admin\\/core\\/[^/]+\\/[^/]+\\/form\\/[^/]+/.test(pathname);\n\n const actions: AdminAction[] = [\n ...(isAdmin && isDev && !isStudioMode\n ? [{\n key: \"studio\",\n label: \"Studio\",\n onClick: () => {\n dispatch(enterStudioMode());\n router.push(\"/studio\");\n },\n title: \"Enter SolidX Studio\",\n icon: <StudioSparkleIcon />,\n }]\n : []),\n {\n key: \"theme\",\n label: themeMode === \"dark\" ? \"Light Mode\" : \"Dark Mode\",\n onClick: toggleThemeMode,\n title: \"Toggle theme\",\n icon: <ThemeToggleIcon />,\n },\n // ...(showBack\n // ? [{\n // key: \"back\",\n // label: \"Back\",\n // onClick: () => router.back(),\n // title: \"Go back\",\n // }]\n // : []),\n ];\n\n if (!actions.length) {\n return null;\n }\n\n if (variant === \"sidebar\") {\n return (\n <div className={`solid-sidebar-mobile-actions md:hidden ${className}`.trim()}>\n {actions.map((action) => (\n <button\n key={action.key}\n type=\"button\"\n className=\"solid-sidebar-mobile-action\"\n onClick={action.onClick}\n title={action.title}\n aria-label={action.title}\n >\n {action.label}\n </button>\n ))}\n </div>\n );\n }\n\n return (\n <div className={`solid-admin-header-actions hidden md:flex ${className}`.trim()}>\n <BackendReconnectIndicator />\n {actions.map((action) => {\n if (action.key === \"studio\") {\n return (\n <button\n key={action.key}\n type=\"button\"\n className=\"solid-studio-trigger-btn\"\n onClick={action.onClick}\n title={action.title}\n aria-label={action.title}\n >\n {action.icon}\n <span className=\"solid-studio-trigger-label\">{action.label}</span>\n </button>\n );\n }\n\n if (action.key === \"theme\") {\n return (\n <button\n key={action.key}\n type=\"button\"\n className=\"solid-admin-theme-toggle\"\n onClick={action.onClick}\n aria-label={action.title}\n title={action.title}\n >\n {action.icon}\n <span className=\"solid-sr-only\">{action.label}</span>\n </button>\n );\n }\n\n return (\n <button\n key={action.key}\n type=\"button\"\n className=\"solid-admin-back-btn\"\n onClick={action.onClick}\n aria-label={action.title}\n >\n {action.label}\n </button>\n );\n })}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"AdminHeaderActions.js","sourceRoot":"","sources":["../../../src/components/layout/AdminHeaderActions.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ReactNode, useContext, useMemo } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n// import { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useSession } from \"../../hooks/useSession\";\nimport { env } from \"../../adapters/env\";\nimport { hasAnyRole } from \"../../helpers/rolesHelper\";\nimport { enterStudioMode } from \"../../redux/features/solidStudioSlice\";\nimport { LayoutContext } from \"./context/layoutcontext\";\nimport { BackendReconnectIndicator } from \"../common/BackendReconnectIndicator\";\nimport { useGetSolidSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { getSettingsMap } from \"../../helpers/settingsPayload\";\n\ntype AdminHeaderActionsProps = {\n variant: \"header\" | \"sidebar\";\n className?: string;\n};\n\ntype AdminAction = {\n key: string;\n label: string;\n onClick: () => void;\n title: string;\n icon?: ReactNode;\n};\n\nexport const StudioSparkleIcon = () => (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M7 1v2M7 11v2M1 7h2M11 7h2M2.93 2.93l1.41 1.41M9.66 9.66l1.41 1.41M2.93 11.07l1.41-1.41M9.66 4.34l1.41-1.41\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeLinecap=\"round\" />\n <circle cx=\"7\" cy=\"7\" r=\"2\" stroke=\"currentColor\" strokeWidth=\"1.4\" />\n </svg>\n);\n\nconst ThemeToggleIcon = () => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 3l0 18\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 9l4.65 -4.65\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 14.3l7.37 -7.37\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 19.6l8.85 -8.85\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n);\n\nexport const AdminHeaderActions = ({ variant, className = \"\" }: AdminHeaderActionsProps) => {\n // const pathname = usePathname();\n const router = useRouter();\n const dispatch = useDispatch();\n const { data: session } = useSession();\n const { toggleThemeMode, themeMode } = useContext(LayoutContext);\n const { data: solidSettingsData } = useGetSolidSettingsQuery(undefined);\n const user = session?.user;\n const isAdmin = hasAnyRole(user?.roles, [\"Admin\"]);\n const isStudioMode = useSelector((state: any) => state.solidStudio?.isStudioMode ?? false);\n const isDev = env(\"VITE_SOLIDX_ENV\") === \"dev\";\n const settingsMap = useMemo(() => getSettingsMap(solidSettingsData), [solidSettingsData]);\n const showThemeToggle = settingsMap?.showThemeToggle === true || settingsMap?.showThemeToggle === \"true\";\n // const showBack = /\\/admin\\/core\\/[^/]+\\/[^/]+\\/form\\/[^/]+/.test(pathname);\n\n const actions: AdminAction[] = [\n ...(isAdmin && isDev && !isStudioMode\n ? [{\n key: \"studio\",\n label: \"Studio\",\n onClick: () => {\n dispatch(enterStudioMode());\n router.push(\"/studio\");\n },\n title: \"Enter SolidX Studio\",\n icon: <StudioSparkleIcon />,\n }]\n : []),\n ...(showThemeToggle\n ? [{\n key: \"theme\",\n label: themeMode === \"dark\" ? \"Light Mode\" : \"Dark Mode\",\n onClick: toggleThemeMode,\n title: \"Toggle theme\",\n icon: <ThemeToggleIcon />,\n }]\n : []),\n // ...(showBack\n // ? [{\n // key: \"back\",\n // label: \"Back\",\n // onClick: () => router.back(),\n // title: \"Go back\",\n // }]\n // : []),\n ];\n\n if (!actions.length) {\n return null;\n }\n\n if (variant === \"sidebar\") {\n return (\n <div className={`solid-sidebar-mobile-actions md:hidden ${className}`.trim()}>\n {actions.map((action) => (\n <button\n key={action.key}\n type=\"button\"\n className=\"solid-sidebar-mobile-action\"\n onClick={action.onClick}\n title={action.title}\n aria-label={action.title}\n >\n {action.label}\n </button>\n ))}\n </div>\n );\n }\n\n return (\n <div className={`solid-admin-header-actions hidden md:flex ${className}`.trim()}>\n <BackendReconnectIndicator />\n {actions.map((action) => {\n if (action.key === \"studio\") {\n return (\n <button\n key={action.key}\n type=\"button\"\n className=\"solid-studio-trigger-btn\"\n onClick={action.onClick}\n title={action.title}\n aria-label={action.title}\n >\n {action.icon}\n <span className=\"solid-studio-trigger-label\">{action.label}</span>\n </button>\n );\n }\n\n if (action.key === \"theme\") {\n return (\n <button\n key={action.key}\n type=\"button\"\n className=\"solid-admin-theme-toggle\"\n onClick={action.onClick}\n aria-label={action.title}\n title={action.title}\n >\n {action.icon}\n <span className=\"solid-sr-only\">{action.label}</span>\n </button>\n );\n }\n\n return (\n <button\n key={action.key}\n type=\"button\"\n className=\"solid-admin-back-btn\"\n onClick={action.onClick}\n aria-label={action.title}\n >\n {action.label}\n </button>\n );\n })}\n </div>\n );\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { ReactNode, useContext } from "react";
1
+ import { ReactNode, useContext, useMemo } from "react";
2
2
  import { useDispatch, useSelector } from "react-redux";
3
3
  // import { usePathname } from "../../hooks/usePathname";
4
4
  import { useRouter } from "../../hooks/useRouter";
@@ -8,6 +8,8 @@ import { hasAnyRole } from "../../helpers/rolesHelper";
8
8
  import { enterStudioMode } from "../../redux/features/solidStudioSlice";
9
9
  import { LayoutContext } from "./context/layoutcontext";
10
10
  import { BackendReconnectIndicator } from "../common/BackendReconnectIndicator";
11
+ import { useGetSolidSettingsQuery } from "../../redux/api/solidSettingsApi";
12
+ import { getSettingsMap } from "../../helpers/settingsPayload";
11
13
 
12
14
  type AdminHeaderActionsProps = {
13
15
  variant: "header" | "sidebar";
@@ -45,10 +47,13 @@ export const AdminHeaderActions = ({ variant, className = "" }: AdminHeaderActio
45
47
  const dispatch = useDispatch();
46
48
  const { data: session } = useSession();
47
49
  const { toggleThemeMode, themeMode } = useContext(LayoutContext);
50
+ const { data: solidSettingsData } = useGetSolidSettingsQuery(undefined);
48
51
  const user = session?.user;
49
52
  const isAdmin = hasAnyRole(user?.roles, ["Admin"]);
50
53
  const isStudioMode = useSelector((state: any) => state.solidStudio?.isStudioMode ?? false);
51
54
  const isDev = env("VITE_SOLIDX_ENV") === "dev";
55
+ const settingsMap = useMemo(() => getSettingsMap(solidSettingsData), [solidSettingsData]);
56
+ const showThemeToggle = settingsMap?.showThemeToggle === true || settingsMap?.showThemeToggle === "true";
52
57
  // const showBack = /\/admin\/core\/[^/]+\/[^/]+\/form\/[^/]+/.test(pathname);
53
58
 
54
59
  const actions: AdminAction[] = [
@@ -64,13 +69,15 @@ export const AdminHeaderActions = ({ variant, className = "" }: AdminHeaderActio
64
69
  icon: <StudioSparkleIcon />,
65
70
  }]
66
71
  : []),
67
- {
68
- key: "theme",
69
- label: themeMode === "dark" ? "Light Mode" : "Dark Mode",
70
- onClick: toggleThemeMode,
71
- title: "Toggle theme",
72
- icon: <ThemeToggleIcon />,
73
- },
72
+ ...(showThemeToggle
73
+ ? [{
74
+ key: "theme",
75
+ label: themeMode === "dark" ? "Light Mode" : "Dark Mode",
76
+ onClick: toggleThemeMode,
77
+ title: "Toggle theme",
78
+ icon: <ThemeToggleIcon />,
79
+ }]
80
+ : []),
74
81
  // ...(showBack
75
82
  // ? [{
76
83
  // key: "back",
@@ -1 +1 @@
1
- {"version":3,"file":"AdminTopHeader.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AdminTopHeader.tsx"],"names":[],"mappings":"AAsBA,eAAO,MAAM,cAAc,+CA0L1B,CAAC"}
1
+ {"version":3,"file":"AdminTopHeader.d.ts","sourceRoot":"","sources":["../../../src/components/layout/AdminTopHeader.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,cAAc,+CA+K1B,CAAC"}
@@ -1,17 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useContext, useMemo } from "react";
2
+ import { useMemo } from "react";
3
3
  import { usePathname } from "../../hooks/usePathname";
4
4
  import { useSearchParams } from "../../hooks/useSearchParams";
5
5
  import { useRouter } from "../../hooks/useRouter";
6
6
  import { useGetSolidActionByIdQuery } from "../../redux/api/solidActionApi";
7
- import { useGetSolidSettingsQuery } from "../../redux/api/solidSettingsApi";
8
- import { LayoutContext } from "./context/layoutcontext";
9
- import { hasAnyRole } from "../../helpers/rolesHelper";
10
- import { getSettingsMap } from "../../helpers/settingsPayload";
11
- import { env } from "../../adapters/env";
12
7
  import { AdminHeaderActions } from "./AdminHeaderActions";
13
- import { useDispatch, useSelector } from "react-redux";
14
- import { useSession } from "../../hooks/useSession";
15
8
  var SIDEBAR_TOGGLE_EVENT = "solidx:sidebar-toggle";
16
9
  var toLabel = function (value) {
17
10
  return decodeURIComponent(value)
@@ -22,16 +15,6 @@ export var AdminTopHeader = function () {
22
15
  var pathname = usePathname();
23
16
  var searchParams = useSearchParams();
24
17
  var router = useRouter();
25
- var dispatch = useDispatch();
26
- var toggleThemeMode = useContext(LayoutContext).toggleThemeMode;
27
- var session = useSession().data;
28
- var solidSettingsData = useGetSolidSettingsQuery(undefined).data;
29
- var user = session === null || session === void 0 ? void 0 : session.user;
30
- var isAdmin = hasAnyRole(user === null || user === void 0 ? void 0 : user.roles, ["Admin"]);
31
- var isStudioMode = useSelector(function (state) { var _a, _b; return (_b = (_a = state.solidStudio) === null || _a === void 0 ? void 0 : _a.isStudioMode) !== null && _b !== void 0 ? _b : false; });
32
- var isDev = env("VITE_SOLIDX_ENV") === "dev";
33
- var settingsMap = useMemo(function () { return getSettingsMap(solidSettingsData); }, [solidSettingsData]);
34
- var isDarkModeEnabled = (settingsMap === null || settingsMap === void 0 ? void 0 : settingsMap.enableDarkMode) === true || (settingsMap === null || settingsMap === void 0 ? void 0 : settingsMap.enableDarkMode) === "true";
35
18
  // We treat actionId as the source of truth for breadcrumb labels.
36
19
  // If present, we resolve module/model/action via action-metadata API
37
20
  // so breadcrumbs are consistent across list/form/tree/kanban pages.
@@ -1 +1 @@
1
- {"version":3,"file":"AdminTopHeader.js","sourceRoot":"","sources":["../../../src/components/layout/AdminTopHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useContext, useMemo } from \"react\";\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useGetSolidActionByIdQuery } from \"../../redux/api/solidActionApi\";\nimport { useGetSolidSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { LayoutContext } from \"./context/layoutcontext\";\nimport { enterStudioMode } from \"../../redux/features/solidStudioSlice\";\nimport { hasAnyRole } from \"../../helpers/rolesHelper\";\nimport { getSettingsMap } from \"../../helpers/settingsPayload\";\nimport { env } from \"../../adapters/env\";\nimport { AdminHeaderActions, StudioSparkleIcon } from \"./AdminHeaderActions\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useSession } from \"../../hooks/useSession\";\n\nconst SIDEBAR_TOGGLE_EVENT = \"solidx:sidebar-toggle\";\n\nconst toLabel = (value: string) =>\n decodeURIComponent(value)\n .replace(/[-_]/g, \" \")\n .replace(/\\b\\w/g, (m) => m.toUpperCase());\n\nexport const AdminTopHeader = () => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const router = useRouter();\n const dispatch = useDispatch();\n const { toggleThemeMode } = useContext(LayoutContext);\n const { data: session } = useSession();\n const { data: solidSettingsData } = useGetSolidSettingsQuery(undefined);\n const user = session?.user;\n const isAdmin = hasAnyRole(user?.roles, [\"Admin\"]);\n const isStudioMode = useSelector((state: any) => state.solidStudio?.isStudioMode ?? false);\n const isDev = env(\"VITE_SOLIDX_ENV\") === \"dev\";\n const settingsMap = useMemo(() => getSettingsMap(solidSettingsData), [solidSettingsData]);\n const isDarkModeEnabled = settingsMap?.enableDarkMode === true || settingsMap?.enableDarkMode === \"true\";\n\n // We treat actionId as the source of truth for breadcrumb labels.\n // If present, we resolve module/model/action via action-metadata API\n // so breadcrumbs are consistent across list/form/tree/kanban pages.\n const actionId = searchParams.get(\"actionId\");\n const { data: actionResponse } = useGetSolidActionByIdQuery(actionId as string, {\n skip: !actionId,\n });\n\n const crumbs = useMemo(() => {\n // API response shapes vary by adapter layer, so normalize defensively.\n const actionData = actionResponse?.data?.data ?? actionResponse?.data ?? actionResponse;\n const moduleFromApi = actionData?.module?.displayName || actionData?.module?.name;\n const modelFromApi = actionData?.model?.displayName || actionData?.model?.name;\n const actionFromApi = actionData?.displayName || actionData?.name;\n const actionDataId = actionData?.id != null ? String(actionData.id) : null;\n const hasMatchingActionData = Boolean(actionId) && actionDataId === actionId;\n\n // Priority 1: exact business breadcrumb contract requested:\n // <module> > <model> > <action>.\n // We only trust API crumbs when they belong to the current URL's actionId.\n // This avoids stale list breadcrumbs bleeding into form routes that do not\n // carry actionId in their query string.\n if (hasMatchingActionData && (moduleFromApi || modelFromApi || actionFromApi)) {\n return [moduleFromApi, modelFromApi, actionFromApi].filter(Boolean);\n }\n\n const segments = pathname.split(\"/\").filter(Boolean);\n // Priority 2: derive from route segments when API data is unavailable.\n // This is intentionally ahead of query fallback so form pages don't\n // inherit stale list query labels after list -> form navigation.\n if (segments[0] === \"admin\" && segments[1] === \"core\") {\n const moduleName = segments[2];\n const modelName = segments[3];\n const viewName = segments[4];\n const next = [\n moduleName ? toLabel(moduleName) : null,\n modelFromApi ? decodeURIComponent(modelFromApi) : modelName ? toLabel(modelName) : null,\n viewName ? toLabel(viewName) : null,\n ].filter(Boolean) as string[];\n return next.length ? next : [\"Admin\"];\n }\n\n const menuItemName = searchParams.get(\"menuItemName\");\n const actionName = searchParams.get(\"actionName\");\n\n // Priority 3: legacy URL-query fallback for older links/pages.\n if (menuItemName || actionName) {\n return [menuItemName, actionName].filter(Boolean).map((item) => toLabel(item!));\n }\n\n return [\"Admin\"];\n }, [actionId, actionResponse, pathname, searchParams]);\n\n const showBack = /\\/admin\\/core\\/[^/]+\\/[^/]+\\/form\\/[^/]+/.test(pathname);\n\n const triggerSidebar = () => {\n window.dispatchEvent(new CustomEvent(SIDEBAR_TOGGLE_EVENT));\n };\n\n const handleBreadcrumbClick = (crumbIndex: number) => {\n // When on a form view, clicking the model name (second crumb) should navigate back to list\n // Index 1 is the model name in a breadcrumb like: Module > Model > Action\n if (crumbIndex === 1 && showBack) {\n if (typeof window !== \"undefined\") {\n // First, try to use the full stored URL (preserves all query params)\n const storedFullUrl = sessionStorage.getItem(\"fromViewUrl\");\n if (storedFullUrl) {\n router.push(storedFullUrl);\n return;\n }\n }\n \n // Fallback: construct URL from current path and stored view\n const segments = pathname.split(\"/\").filter(Boolean);\n if (segments[0] === \"admin\" && segments[1] === \"core\") {\n const moduleName = segments[2];\n const modelName = segments[3];\n const fromView = typeof window !== \"undefined\" \n ? sessionStorage.getItem(\"fromView\") || \"list\" \n : \"list\";\n router.push(`/admin/core/${moduleName}/${modelName}/${fromView}`);\n }\n }\n };\n\n return (\n <header className=\"solid-admin-header\">\n <div className=\"solid-admin-header-inner\">\n <button\n type=\"button\"\n className=\"solid-admin-sidebar-trigger\"\n onClick={triggerSidebar}\n aria-label=\"Toggle sidebar\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"1.5\" y=\"2\" width=\"13\" height=\"12\" rx=\"2\" stroke=\"currentColor\" />\n <path d=\"M5.5 2V14\" stroke=\"currentColor\" />\n <rect x=\"8\" y=\"5.25\" width=\"4.5\" height=\"5.5\" rx=\"0.9\" stroke=\"currentColor\" />\n </svg>\n </button>\n\n <div className=\"solid-admin-header-sep\" />\n\n <nav className=\"solid-admin-breadcrumbs\" aria-label=\"Breadcrumb\">\n {crumbs.map((crumb, index) => (\n <span key={`${crumb}-${index}`} className=\"solid-admin-crumb\">\n {index > 0 && <span className=\"solid-admin-crumb-sep\">›</span>}\n {index === 1 && showBack ? (\n <button\n type=\"button\"\n className=\"px-0 solid-admin-crumb-link\"\n onClick={() => handleBreadcrumbClick(index)}\n style={{ background: \"none\", border: \"none\", cursor: \"pointer\", color: \"inherit\", textDecoration: \"underline\", fontFamily: 'inherit' }}\n >\n {crumb}\n </button>\n ) : (\n <span className=\"solid-bread-crum-text-wrapper\">{crumb}</span>\n )}\n </span>\n ))}\n </nav>\n\n {/* <div className=\"solid-admin-header-actions\">\n {isAdmin && isDev && !isStudioMode && (\n <button\n type=\"button\"\n className=\"solid-studio-trigger-btn\"\n onClick={() => { dispatch(enterStudioMode()); router.push(\"/studio\"); }}\n title=\"Enter SolidX Studio\"\n aria-label=\"Enter SolidX Studio\"\n >\n <StudioSparkleIcon />\n <span className=\"solid-studio-trigger-label\">Studio</span>\n </button>\n )}\n\n {isDarkModeEnabled && (\n <button\n type=\"button\"\n className=\"solid-admin-theme-toggle\"\n onClick={toggleThemeMode}\n aria-label=\"Toggle theme\"\n title=\"Toggle theme\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 3l0 18\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 9l4.65 -4.65\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 14.3l7.37 -7.37\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 19.6l8.85 -8.85\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n <span className=\"solid-sr-only\">Toggle theme</span>\n </button>\n )}\n\n {showBack && (\n <button\n type=\"button\"\n className=\"solid-admin-back-btn\"\n onClick={() => router.back()}\n aria-label=\"Go back\"\n >\n Back\n </button>\n )}\n </div> */}\n <AdminHeaderActions variant=\"header\" />\n </div>\n </header>\n );\n};\n"]}
1
+ {"version":3,"file":"AdminTopHeader.js","sourceRoot":"","sources":["../../../src/components/layout/AdminTopHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo } from \"react\";\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useGetSolidActionByIdQuery } from \"../../redux/api/solidActionApi\";\nimport { AdminHeaderActions } from \"./AdminHeaderActions\";\n\n\nconst SIDEBAR_TOGGLE_EVENT = \"solidx:sidebar-toggle\";\n\nconst toLabel = (value: string) =>\n decodeURIComponent(value)\n .replace(/[-_]/g, \" \")\n .replace(/\\b\\w/g, (m) => m.toUpperCase());\n\nexport const AdminTopHeader = () => {\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const router = useRouter();\n // We treat actionId as the source of truth for breadcrumb labels.\n // If present, we resolve module/model/action via action-metadata API\n // so breadcrumbs are consistent across list/form/tree/kanban pages.\n const actionId = searchParams.get(\"actionId\");\n const { data: actionResponse } = useGetSolidActionByIdQuery(actionId as string, {\n skip: !actionId,\n });\n\n const crumbs = useMemo(() => {\n // API response shapes vary by adapter layer, so normalize defensively.\n const actionData = actionResponse?.data?.data ?? actionResponse?.data ?? actionResponse;\n const moduleFromApi = actionData?.module?.displayName || actionData?.module?.name;\n const modelFromApi = actionData?.model?.displayName || actionData?.model?.name;\n const actionFromApi = actionData?.displayName || actionData?.name;\n const actionDataId = actionData?.id != null ? String(actionData.id) : null;\n const hasMatchingActionData = Boolean(actionId) && actionDataId === actionId;\n\n // Priority 1: exact business breadcrumb contract requested:\n // <module> > <model> > <action>.\n // We only trust API crumbs when they belong to the current URL's actionId.\n // This avoids stale list breadcrumbs bleeding into form routes that do not\n // carry actionId in their query string.\n if (hasMatchingActionData && (moduleFromApi || modelFromApi || actionFromApi)) {\n return [moduleFromApi, modelFromApi, actionFromApi].filter(Boolean);\n }\n\n const segments = pathname.split(\"/\").filter(Boolean);\n // Priority 2: derive from route segments when API data is unavailable.\n // This is intentionally ahead of query fallback so form pages don't\n // inherit stale list query labels after list -> form navigation.\n if (segments[0] === \"admin\" && segments[1] === \"core\") {\n const moduleName = segments[2];\n const modelName = segments[3];\n const viewName = segments[4];\n const next = [\n moduleName ? toLabel(moduleName) : null,\n modelFromApi ? decodeURIComponent(modelFromApi) : modelName ? toLabel(modelName) : null,\n viewName ? toLabel(viewName) : null,\n ].filter(Boolean) as string[];\n return next.length ? next : [\"Admin\"];\n }\n\n const menuItemName = searchParams.get(\"menuItemName\");\n const actionName = searchParams.get(\"actionName\");\n\n // Priority 3: legacy URL-query fallback for older links/pages.\n if (menuItemName || actionName) {\n return [menuItemName, actionName].filter(Boolean).map((item) => toLabel(item!));\n }\n\n return [\"Admin\"];\n }, [actionId, actionResponse, pathname, searchParams]);\n\n const showBack = /\\/admin\\/core\\/[^/]+\\/[^/]+\\/form\\/[^/]+/.test(pathname);\n\n const triggerSidebar = () => {\n window.dispatchEvent(new CustomEvent(SIDEBAR_TOGGLE_EVENT));\n };\n\n const handleBreadcrumbClick = (crumbIndex: number) => {\n // When on a form view, clicking the model name (second crumb) should navigate back to list\n // Index 1 is the model name in a breadcrumb like: Module > Model > Action\n if (crumbIndex === 1 && showBack) {\n if (typeof window !== \"undefined\") {\n // First, try to use the full stored URL (preserves all query params)\n const storedFullUrl = sessionStorage.getItem(\"fromViewUrl\");\n if (storedFullUrl) {\n router.push(storedFullUrl);\n return;\n }\n }\n \n // Fallback: construct URL from current path and stored view\n const segments = pathname.split(\"/\").filter(Boolean);\n if (segments[0] === \"admin\" && segments[1] === \"core\") {\n const moduleName = segments[2];\n const modelName = segments[3];\n const fromView = typeof window !== \"undefined\" \n ? sessionStorage.getItem(\"fromView\") || \"list\" \n : \"list\";\n router.push(`/admin/core/${moduleName}/${modelName}/${fromView}`);\n }\n }\n };\n\n return (\n <header className=\"solid-admin-header\">\n <div className=\"solid-admin-header-inner\">\n <button\n type=\"button\"\n className=\"solid-admin-sidebar-trigger\"\n onClick={triggerSidebar}\n aria-label=\"Toggle sidebar\"\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"1.5\" y=\"2\" width=\"13\" height=\"12\" rx=\"2\" stroke=\"currentColor\" />\n <path d=\"M5.5 2V14\" stroke=\"currentColor\" />\n <rect x=\"8\" y=\"5.25\" width=\"4.5\" height=\"5.5\" rx=\"0.9\" stroke=\"currentColor\" />\n </svg>\n </button>\n\n <div className=\"solid-admin-header-sep\" />\n\n <nav className=\"solid-admin-breadcrumbs\" aria-label=\"Breadcrumb\">\n {crumbs.map((crumb, index) => (\n <span key={`${crumb}-${index}`} className=\"solid-admin-crumb\">\n {index > 0 && <span className=\"solid-admin-crumb-sep\">›</span>}\n {index === 1 && showBack ? (\n <button\n type=\"button\"\n className=\"px-0 solid-admin-crumb-link\"\n onClick={() => handleBreadcrumbClick(index)}\n style={{ background: \"none\", border: \"none\", cursor: \"pointer\", color: \"inherit\", textDecoration: \"underline\", fontFamily: 'inherit' }}\n >\n {crumb}\n </button>\n ) : (\n <span className=\"solid-bread-crum-text-wrapper\">{crumb}</span>\n )}\n </span>\n ))}\n </nav>\n\n {/* <div className=\"solid-admin-header-actions\">\n {isAdmin && isDev && !isStudioMode && (\n <button\n type=\"button\"\n className=\"solid-studio-trigger-btn\"\n onClick={() => { dispatch(enterStudioMode()); router.push(\"/studio\"); }}\n title=\"Enter SolidX Studio\"\n aria-label=\"Enter SolidX Studio\"\n >\n <StudioSparkleIcon />\n <span className=\"solid-studio-trigger-label\">Studio</span>\n </button>\n )}\n\n {isDarkModeEnabled && (\n <button\n type=\"button\"\n className=\"solid-admin-theme-toggle\"\n onClick={toggleThemeMode}\n aria-label=\"Toggle theme\"\n title=\"Toggle theme\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 3l0 18\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 9l4.65 -4.65\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 14.3l7.37 -7.37\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n <path d=\"M12 19.6l8.85 -8.85\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n <span className=\"solid-sr-only\">Toggle theme</span>\n </button>\n )}\n\n {showBack && (\n <button\n type=\"button\"\n className=\"solid-admin-back-btn\"\n onClick={() => router.back()}\n aria-label=\"Go back\"\n >\n Back\n </button>\n )}\n </div> */}\n <AdminHeaderActions variant=\"header\" />\n </div>\n </header>\n );\n};\n"]}
@@ -1,17 +1,10 @@
1
- import { useContext, useMemo } from "react";
1
+ import { useMemo } from "react";
2
2
  import { usePathname } from "../../hooks/usePathname";
3
3
  import { useSearchParams } from "../../hooks/useSearchParams";
4
4
  import { useRouter } from "../../hooks/useRouter";
5
5
  import { useGetSolidActionByIdQuery } from "../../redux/api/solidActionApi";
6
- import { useGetSolidSettingsQuery } from "../../redux/api/solidSettingsApi";
7
- import { LayoutContext } from "./context/layoutcontext";
8
- import { enterStudioMode } from "../../redux/features/solidStudioSlice";
9
- import { hasAnyRole } from "../../helpers/rolesHelper";
10
- import { getSettingsMap } from "../../helpers/settingsPayload";
11
- import { env } from "../../adapters/env";
12
- import { AdminHeaderActions, StudioSparkleIcon } from "./AdminHeaderActions";
13
- import { useDispatch, useSelector } from "react-redux";
14
- import { useSession } from "../../hooks/useSession";
6
+ import { AdminHeaderActions } from "./AdminHeaderActions";
7
+
15
8
 
16
9
  const SIDEBAR_TOGGLE_EVENT = "solidx:sidebar-toggle";
17
10
 
@@ -24,17 +17,6 @@ export const AdminTopHeader = () => {
24
17
  const pathname = usePathname();
25
18
  const searchParams = useSearchParams();
26
19
  const router = useRouter();
27
- const dispatch = useDispatch();
28
- const { toggleThemeMode } = useContext(LayoutContext);
29
- const { data: session } = useSession();
30
- const { data: solidSettingsData } = useGetSolidSettingsQuery(undefined);
31
- const user = session?.user;
32
- const isAdmin = hasAnyRole(user?.roles, ["Admin"]);
33
- const isStudioMode = useSelector((state: any) => state.solidStudio?.isStudioMode ?? false);
34
- const isDev = env("VITE_SOLIDX_ENV") === "dev";
35
- const settingsMap = useMemo(() => getSettingsMap(solidSettingsData), [solidSettingsData]);
36
- const isDarkModeEnabled = settingsMap?.enableDarkMode === true || settingsMap?.enableDarkMode === "true";
37
-
38
20
  // We treat actionId as the source of truth for breadcrumb labels.
39
21
  // If present, we resolve module/model/action via action-metadata API
40
22
  // so breadcrumbs are consistent across list/form/tree/kanban pages.
@@ -0,0 +1,3 @@
1
+ declare const DashboardHeader: () => import("react/jsx-runtime").JSX.Element;
2
+ export default DashboardHeader;
3
+ //# sourceMappingURL=DashboardHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardHeader.d.ts","sourceRoot":"","sources":["../../../src/components/layout/DashboardHeader.tsx"],"names":[],"mappings":"AAKA,QAAA,MAAM,eAAe,+CAuFpB,CAAA;AACD,eAAe,eAAe,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from "../shad-cn-ui";
4
+ import { SolidIcon, parseSolidIconMeta } from "../shad-cn-ui/SolidIcon";
5
+ var DashboardHeader = function () {
6
+ var _a = useState(false), menuOpen = _a[0], setMenuOpen = _a[1];
7
+ var items = [
8
+ {
9
+ label: 'Refresh',
10
+ icon: 'pi pi-refresh'
11
+ },
12
+ {
13
+ label: 'Export',
14
+ icon: 'pi pi-upload'
15
+ }
16
+ ];
17
+ return (_jsxs("div", { className: "flex justify-content-between align-items-center px-5 surface-0 border-bottom-1 surface-border relative lg:static", style: { height: "60px" }, children: [_jsxs("div", { className: "flex align-items-center", children: [_jsx(SolidButton, { label: "New", size: "sm", type: "submit", className: "small-button" }), _jsxs(SolidPopover, { open: menuOpen, onOpenChange: setMenuOpen, children: [_jsx(SolidPopoverTrigger, { asChild: true, children: _jsx(SolidButton, { type: "button", icon: "pi pi-cog", variant: "ghost", size: "sm", className: "ml-2" }) }), _jsx(SolidPopoverContent, { side: "bottom", align: "start", className: "solid-form-actions-popover", children: _jsx("div", { className: "solid-row-actions-menu", children: items.map(function (item) { return (_jsxs("button", { type: "button", className: "solid-row-action-button", onClick: function () { return setMenuOpen(false); }, children: [(function () { var m = parseSolidIconMeta(item.icon); return m ? _jsx(SolidIcon, { name: m.name, spin: m.spin, className: "solid-row-action-button-icon" }) : _jsx("i", { className: "".concat(item.icon, " solid-row-action-button-icon") }); })(), _jsx("span", { className: "solid-row-action-button-label", children: item.label })] }, item.label)); }) }) })] })] }), _jsxs("div", { className: "flex align-items-center", children: [_jsx("div", { className: "bgCircle", children: _jsxs("div", { style: { position: "relative" }, children: [_jsx(SolidIcon, { name: "si-bell" }), _jsx("span", { className: "topbar-badge" })] }) }), _jsx("div", { className: "bgCircle ml-3", children: _jsxs("div", { style: { position: "relative" }, children: [_jsx(SolidIcon, { name: "si-envelope" }), _jsx("span", { className: "topbar-badge" })] }) }), _jsxs("div", { className: "topbar-profile", children: [_jsxs("button", { className: "topbar-profile-button p-link", type: "button", children: [_jsx("img", { alt: "avatar", src: "/images/dashboard/Ellipse 1.svg" }), _jsxs("span", { className: "profile-details", children: [_jsx("span", { className: "profile-name", children: "Gene Russell" }), _jsx("span", { className: "profile-email", children: "ben95@example.com" })] }), _jsx(SolidIcon, { name: "si-angle-down" })] }), _jsx("ul", { className: "list-none p-3 m-0 border-round shadow-2 absolute surface-overlay origin-top w-full sm:w-12rem mt-2 right-0 top-auto hidden", children: _jsxs("li", { children: [_jsxs("a", { className: "p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer", children: [_jsx(SolidIcon, { name: "si-user", className: "mr-3" }), _jsx("span", { children: "Profile" })] }), _jsxs("a", { className: "p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer", children: [_jsx(SolidIcon, { name: "si-inbox", className: "mr-3" }), _jsx("span", { children: "Inbox" })] }), _jsxs("a", { className: "p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer", children: [_jsx(SolidIcon, { name: "si-cog", className: "mr-3" }), _jsx("span", { children: "Settings" })] }), _jsxs("a", { className: "p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer", children: [_jsx(SolidIcon, { name: "si-power-off", className: "mr-3" }), _jsx("span", { children: "Sign Out" })] })] }) })] })] })] }));
18
+ };
19
+ export default DashboardHeader;
20
+ //# sourceMappingURL=DashboardHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardHeader.js","sourceRoot":"","sources":["../../../src/components/layout/DashboardHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { useState } from \"react\";\nimport { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from \"../shad-cn-ui\";\nimport { SolidIcon, parseSolidIconMeta } from \"../shad-cn-ui/SolidIcon\";\n\nconst DashboardHeader = () => {\n\n const [menuOpen, setMenuOpen] = useState(false);\n const items = [\n {\n label: 'Refresh',\n icon: 'pi pi-refresh'\n },\n {\n label: 'Export',\n icon: 'pi pi-upload'\n }\n ];\n\n return (\n <div className=\"flex justify-content-between align-items-center px-5 surface-0 border-bottom-1 surface-border relative lg:static\" style={{ height: \"60px\" }}>\n <div className=\"flex align-items-center\">\n <SolidButton label=\"New\" size=\"sm\" type=\"submit\" className=\"small-button\" />\n <SolidPopover open={menuOpen} onOpenChange={setMenuOpen}>\n <SolidPopoverTrigger asChild>\n <SolidButton\n type=\"button\"\n icon=\"pi pi-cog\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"ml-2\"\n />\n </SolidPopoverTrigger>\n <SolidPopoverContent side=\"bottom\" align=\"start\" className=\"solid-form-actions-popover\">\n <div className=\"solid-row-actions-menu\">\n {items.map((item) => (\n <button key={item.label} type=\"button\" className=\"solid-row-action-button\" onClick={() => setMenuOpen(false)}>\n {(() => { const m = parseSolidIconMeta(item.icon); return m ? <SolidIcon name={m.name} spin={m.spin} className=\"solid-row-action-button-icon\" /> : <i className={`${item.icon} solid-row-action-button-icon`} />; })()}\n <span className=\"solid-row-action-button-label\">{item.label}</span>\n </button>\n ))}\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n </div>\n <div className=\"flex align-items-center\">\n <div className=\"bgCircle\">\n <div style={{ position: \"relative\" }}>\n <SolidIcon name=\"si-bell\" />\n <span className=\"topbar-badge\">\n </span>\n </div>\n </div>\n <div className=\"bgCircle ml-3\">\n <div style={{ position: \"relative\" }}>\n <SolidIcon name=\"si-envelope\" />\n <span className=\"topbar-badge\">\n </span>\n </div>\n </div>\n <div className=\"topbar-profile\">\n <button className=\"topbar-profile-button p-link\" type=\"button\">\n <img alt=\"avatar\" src=\"/images/dashboard/Ellipse 1.svg\" />\n <span className=\"profile-details\">\n <span className=\"profile-name\">Gene Russell</span>\n <span className=\"profile-email\">ben95@example.com</span>\n </span>\n <SolidIcon name=\"si-angle-down\" />\n </button>\n <ul className=\"list-none p-3 m-0 border-round shadow-2 absolute surface-overlay origin-top w-full sm:w-12rem mt-2 right-0 top-auto hidden\">\n <li>\n <a className=\"p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer\">\n <SolidIcon name=\"si-user\" className=\"mr-3\" />\n <span>Profile</span>\n </a>\n <a className=\"p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer\">\n <SolidIcon name=\"si-inbox\" className=\"mr-3\" />\n <span>Inbox</span></a>\n <a className=\"p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer\">\n <SolidIcon name=\"si-cog\" className=\"mr-3\" />\n <span>Settings</span>\n </a>\n <a className=\"p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer\">\n <SolidIcon name=\"si-power-off\" className=\"mr-3\" />\n <span>Sign Out</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n );\n}\nexport default DashboardHeader;\n"]}
@@ -0,0 +1,94 @@
1
+
2
+ import { useState } from "react";
3
+ import { SolidButton, SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from "../shad-cn-ui";
4
+ import { SolidIcon, parseSolidIconMeta } from "../shad-cn-ui/SolidIcon";
5
+
6
+ const DashboardHeader = () => {
7
+
8
+ const [menuOpen, setMenuOpen] = useState(false);
9
+ const items = [
10
+ {
11
+ label: 'Refresh',
12
+ icon: 'pi pi-refresh'
13
+ },
14
+ {
15
+ label: 'Export',
16
+ icon: 'pi pi-upload'
17
+ }
18
+ ];
19
+
20
+ return (
21
+ <div className="flex justify-content-between align-items-center px-5 surface-0 border-bottom-1 surface-border relative lg:static" style={{ height: "60px" }}>
22
+ <div className="flex align-items-center">
23
+ <SolidButton label="New" size="sm" type="submit" className="small-button" />
24
+ <SolidPopover open={menuOpen} onOpenChange={setMenuOpen}>
25
+ <SolidPopoverTrigger asChild>
26
+ <SolidButton
27
+ type="button"
28
+ icon="pi pi-cog"
29
+ variant="ghost"
30
+ size="sm"
31
+ className="ml-2"
32
+ />
33
+ </SolidPopoverTrigger>
34
+ <SolidPopoverContent side="bottom" align="start" className="solid-form-actions-popover">
35
+ <div className="solid-row-actions-menu">
36
+ {items.map((item) => (
37
+ <button key={item.label} type="button" className="solid-row-action-button" onClick={() => setMenuOpen(false)}>
38
+ {(() => { const m = parseSolidIconMeta(item.icon); return m ? <SolidIcon name={m.name} spin={m.spin} className="solid-row-action-button-icon" /> : <i className={`${item.icon} solid-row-action-button-icon`} />; })()}
39
+ <span className="solid-row-action-button-label">{item.label}</span>
40
+ </button>
41
+ ))}
42
+ </div>
43
+ </SolidPopoverContent>
44
+ </SolidPopover>
45
+ </div>
46
+ <div className="flex align-items-center">
47
+ <div className="bgCircle">
48
+ <div style={{ position: "relative" }}>
49
+ <SolidIcon name="si-bell" />
50
+ <span className="topbar-badge">
51
+ </span>
52
+ </div>
53
+ </div>
54
+ <div className="bgCircle ml-3">
55
+ <div style={{ position: "relative" }}>
56
+ <SolidIcon name="si-envelope" />
57
+ <span className="topbar-badge">
58
+ </span>
59
+ </div>
60
+ </div>
61
+ <div className="topbar-profile">
62
+ <button className="topbar-profile-button p-link" type="button">
63
+ <img alt="avatar" src="/images/dashboard/Ellipse 1.svg" />
64
+ <span className="profile-details">
65
+ <span className="profile-name">Gene Russell</span>
66
+ <span className="profile-email">ben95@example.com</span>
67
+ </span>
68
+ <SolidIcon name="si-angle-down" />
69
+ </button>
70
+ <ul className="list-none p-3 m-0 border-round shadow-2 absolute surface-overlay origin-top w-full sm:w-12rem mt-2 right-0 top-auto hidden">
71
+ <li>
72
+ <a className="p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer">
73
+ <SolidIcon name="si-user" className="mr-3" />
74
+ <span>Profile</span>
75
+ </a>
76
+ <a className="p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer">
77
+ <SolidIcon name="si-inbox" className="mr-3" />
78
+ <span>Inbox</span></a>
79
+ <a className="p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer">
80
+ <SolidIcon name="si-cog" className="mr-3" />
81
+ <span>Settings</span>
82
+ </a>
83
+ <a className="p-ripple flex p-2 border-round align-items-center hover:surface-hover transition-colors transition-duration-150 cursor-pointer">
84
+ <SolidIcon name="si-power-off" className="mr-3" />
85
+ <span>Sign Out</span>
86
+ </a>
87
+ </li>
88
+ </ul>
89
+ </div>
90
+ </div>
91
+ </div>
92
+ );
93
+ }
94
+ export default DashboardHeader;
@@ -0,0 +1,3 @@
1
+ # no such endpoints exist, need to called user get with populate api key filter
2
+ useGetSelfApiKeysQuery() → GET /iam/api-keys (self mode)
3
+ useGetUserApiKeysQuery(userId) → GET /users/:id/api-keys (admin mode)
@@ -0,0 +1,4 @@
1
+ export declare const ToastContainer: () => import("react/jsx-runtime").JSX.Element;
2
+ export declare const handleError: (errorToast: any) => void;
3
+ export declare const handleSuccess: (successMessage: any) => void;
4
+ //# sourceMappingURL=ToastContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastContainer.d.ts","sourceRoot":"","sources":["../../src/helpers/ToastContainer.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc,+CAI1B,CAAC;AAUF,eAAO,MAAM,WAAW,eAAgB,GAAG,SAqC1C,CAAC;AAEF,eAAO,MAAM,aAAa,mBAAoB,GAAG,SAwBhD,CAAC"}