@solidxai/core-ui 0.1.12-beta.5 → 0.1.12-beta.7

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 (475) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +5 -2
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +6 -2
  5. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  6. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  7. package/dist/components/auth/SolidOTPVerify.js +67 -0
  8. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  9. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  10. package/dist/components/common/AuthBanner.d.ts +3 -0
  11. package/dist/components/common/AuthBanner.d.ts.map +1 -0
  12. package/dist/components/common/AuthBanner.js +15 -0
  13. package/dist/components/common/AuthBanner.js.map +1 -0
  14. package/dist/components/common/AuthBanner.tsx +41 -0
  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/core/card/CardGrid.d.ts +1 -1
  26. package/dist/components/core/card/CardGrid.d.ts.map +1 -1
  27. package/dist/components/core/card/CardGrid.js +2 -2
  28. package/dist/components/core/card/CardGrid.js.map +1 -1
  29. package/dist/components/core/card/CardGrid.tsx +4 -0
  30. package/dist/components/core/card/CardItem.d.ts +2 -0
  31. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  32. package/dist/components/core/card/CardItem.js +7 -2
  33. package/dist/components/core/card/CardItem.js.map +1 -1
  34. package/dist/components/core/card/CardItem.tsx +30 -8
  35. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  36. package/dist/components/core/card/SolidCardView.js +87 -21
  37. package/dist/components/core/card/SolidCardView.js.map +1 -1
  38. package/dist/components/core/card/SolidCardView.tsx +96 -40
  39. package/dist/components/core/card/SolidCardViewConfigure.d.ts +1 -1
  40. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  41. package/dist/components/core/card/SolidCardViewConfigure.js +9 -7
  42. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  43. package/dist/components/core/card/SolidCardViewConfigure.tsx +14 -1
  44. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  45. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  46. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  47. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  48. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  49. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +2 -0
  50. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +1 -0
  51. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +16 -0
  52. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +1 -0
  53. package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +29 -0
  54. package/dist/components/core/common/SolidGlobalSearchElement.js +1 -1
  55. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  56. package/dist/components/core/common/SolidGlobalSearchElement.tsx +1 -1
  57. package/dist/components/core/dashboard/DashboardFilter.d.ts +13 -0
  58. package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -0
  59. package/dist/components/core/dashboard/DashboardFilter.js +299 -0
  60. package/dist/components/core/dashboard/DashboardFilter.js.map +1 -0
  61. package/dist/components/core/dashboard/DashboardFilter.tsx +348 -0
  62. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +3 -0
  63. package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +1 -0
  64. package/dist/components/core/dashboard/PrimeDataTableWrapper.js +21 -0
  65. package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -0
  66. package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +40 -0
  67. package/dist/components/core/dashboard/SolidDashboard.d.ts +28 -0
  68. package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -0
  69. package/dist/components/core/dashboard/SolidDashboard.js +183 -0
  70. package/dist/components/core/dashboard/SolidDashboard.js.map +1 -0
  71. package/dist/components/core/dashboard/SolidDashboard.module.css +83 -0
  72. package/dist/components/core/dashboard/SolidDashboard.tsx +263 -0
  73. package/dist/components/core/dashboard/SolidDashboardBody.d.ts +24 -0
  74. package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -0
  75. package/dist/components/core/dashboard/SolidDashboardBody.js +162 -0
  76. package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -0
  77. package/dist/components/core/dashboard/SolidDashboardBody.tsx +168 -0
  78. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +2 -0
  79. package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +1 -0
  80. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +11 -0
  81. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -0
  82. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +28 -0
  83. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +3 -0
  84. package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +1 -0
  85. package/dist/components/core/dashboard/SolidDashboardHeader.js +6 -0
  86. package/dist/components/core/dashboard/SolidDashboardHeader.js.map +1 -0
  87. package/dist/components/core/dashboard/SolidDashboardHeader.tsx +10 -0
  88. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +2 -0
  89. package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -0
  90. package/dist/components/core/dashboard/SolidDashboardLoading.js +10 -0
  91. package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -0
  92. package/dist/components/core/dashboard/SolidDashboardLoading.tsx +61 -0
  93. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +3 -0
  94. package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +1 -0
  95. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +12 -0
  96. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -0
  97. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +32 -0
  98. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +2 -0
  99. package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -0
  100. package/dist/components/core/dashboard/SolidDashboardRenderError.js +11 -0
  101. package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -0
  102. package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +28 -0
  103. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +19 -0
  104. package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -0
  105. package/dist/components/core/dashboard/SolidDashboardVariable.js +171 -0
  106. package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -0
  107. package/dist/components/core/dashboard/SolidDashboardVariable.tsx +259 -0
  108. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +9 -0
  109. package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -0
  110. package/dist/components/core/dashboard/SolidQuestionRenderer.js +42 -0
  111. package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -0
  112. package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +99 -0
  113. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +9 -0
  114. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +1 -0
  115. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +35 -0
  116. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +1 -0
  117. package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +48 -0
  118. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +7 -0
  119. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -0
  120. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +22 -0
  121. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -0
  122. package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +51 -0
  123. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +2 -0
  124. package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +1 -0
  125. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +4 -0
  126. package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +1 -0
  127. package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +25 -0
  128. package/dist/components/core/dashboard/dashboard-utils.d.ts +2 -0
  129. package/dist/components/core/dashboard/dashboard-utils.d.ts.map +1 -0
  130. package/dist/components/core/dashboard/dashboard-utils.js +38 -0
  131. package/dist/components/core/dashboard/dashboard-utils.js.map +1 -0
  132. package/dist/components/core/dashboard/dashboard-utils.ts +39 -0
  133. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +10 -0
  134. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +1 -0
  135. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +16 -0
  136. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +1 -0
  137. package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +19 -0
  138. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +8 -0
  139. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +1 -0
  140. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +64 -0
  141. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +1 -0
  142. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +30 -0
  143. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +8 -0
  144. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +1 -0
  145. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +62 -0
  146. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +1 -0
  147. package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +29 -0
  148. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +4 -0
  149. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +1 -0
  150. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +23 -0
  151. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -0
  152. package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +36 -0
  153. package/dist/components/core/form/SolidFormView.js +1 -1
  154. package/dist/components/core/form/SolidFormView.js.map +1 -1
  155. package/dist/components/core/form/SolidFormView.tsx +1 -1
  156. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.d.ts.map +1 -1
  157. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js +11 -1
  158. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.js.map +1 -1
  159. package/dist/components/core/form/fields/relations/RolesGroupedByModuleWidget.tsx +26 -19
  160. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  161. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +13 -5
  162. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  163. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +16 -9
  164. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
  165. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
  166. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
  167. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
  168. package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
  169. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
  170. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
  171. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
  172. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
  173. package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
  174. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  175. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  176. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  177. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  178. package/dist/components/core/kanban/KanbanBoard.tsx +3 -1
  179. package/dist/components/core/kanban/KanbanCard.d.ts +2 -0
  180. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  181. package/dist/components/core/kanban/KanbanCard.js +10 -5
  182. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  183. package/dist/components/core/kanban/KanbanCard.tsx +28 -12
  184. package/dist/components/core/kanban/KanbanColumn.d.ts +3 -1
  185. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  186. package/dist/components/core/kanban/KanbanColumn.js +2 -2
  187. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  188. package/dist/components/core/kanban/KanbanColumn.tsx +4 -2
  189. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  190. package/dist/components/core/kanban/SolidKanbanView.js +154 -25
  191. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  192. package/dist/components/core/kanban/SolidKanbanView.tsx +129 -16
  193. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
  194. package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
  195. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +13 -10
  196. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  197. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +18 -3
  198. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +12 -0
  199. package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +1 -0
  200. package/dist/components/core/kanban/SolidKanbanViewFields.js +145 -0
  201. package/dist/components/core/kanban/SolidKanbanViewFields.js.map +1 -0
  202. package/dist/components/core/kanban/SolidKanbanViewFields.tsx +164 -0
  203. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +2 -0
  204. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -0
  205. package/dist/components/core/kanban/SolidManyToOneFilterElement.js +87 -0
  206. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -0
  207. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
  208. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +2 -0
  209. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +1 -0
  210. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +73 -0
  211. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +1 -0
  212. package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
  213. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +2 -0
  214. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +1 -0
  215. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +20 -0
  216. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +1 -0
  217. package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
  218. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +12 -0
  219. package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +1 -0
  220. package/dist/components/core/kanban/SolidVarInputsFilterElement.js +81 -0
  221. package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +1 -0
  222. package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
  223. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +4 -0
  224. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +1 -0
  225. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +7 -0
  226. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +1 -0
  227. package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
  228. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +4 -0
  229. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +1 -0
  230. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +8 -0
  231. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -0
  232. package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +16 -0
  233. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +4 -0
  234. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +1 -0
  235. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +21 -0
  236. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +1 -0
  237. package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
  238. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +4 -0
  239. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +1 -0
  240. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +8 -0
  241. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -0
  242. package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
  243. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +4 -0
  244. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +1 -0
  245. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +8 -0
  246. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -0
  247. package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
  248. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +4 -0
  249. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +1 -0
  250. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +7 -0
  251. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +1 -0
  252. package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
  253. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +4 -0
  254. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +1 -0
  255. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +8 -0
  256. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -0
  257. package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
  258. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +4 -0
  259. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +1 -0
  260. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +7 -0
  261. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +1 -0
  262. package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
  263. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +4 -0
  264. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +1 -0
  265. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +8 -0
  266. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -0
  267. package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
  268. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +4 -0
  269. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +1 -0
  270. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +16 -0
  271. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -0
  272. package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +20 -0
  273. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +4 -0
  274. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +1 -0
  275. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +7 -0
  276. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +1 -0
  277. package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
  278. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +4 -0
  279. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -0
  280. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +56 -0
  281. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -0
  282. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +140 -0
  283. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +4 -0
  284. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -0
  285. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +42 -0
  286. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -0
  287. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +164 -0
  288. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +4 -0
  289. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +1 -0
  290. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +11 -0
  291. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +1 -0
  292. package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
  293. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +4 -0
  294. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +1 -0
  295. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +7 -0
  296. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +1 -0
  297. package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
  298. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +4 -0
  299. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +1 -0
  300. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +8 -0
  301. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -0
  302. package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +14 -0
  303. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +4 -0
  304. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +1 -0
  305. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +8 -0
  306. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -0
  307. package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
  308. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +4 -0
  309. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -0
  310. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +37 -0
  311. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -0
  312. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +121 -0
  313. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +4 -0
  314. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +1 -0
  315. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +8 -0
  316. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -0
  317. package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
  318. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +4 -0
  319. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +1 -0
  320. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +8 -0
  321. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +1 -0
  322. package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
  323. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +4 -0
  324. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +1 -0
  325. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +7 -0
  326. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -0
  327. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
  328. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  329. package/dist/components/core/list/SolidDataTable.js +1 -1
  330. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  331. package/dist/components/core/list/SolidDataTable.tsx +1 -0
  332. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  333. package/dist/components/core/list/SolidListView.js +6 -1
  334. package/dist/components/core/list/SolidListView.js.map +1 -1
  335. package/dist/components/core/list/SolidListView.tsx +6 -1
  336. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +2 -0
  337. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -0
  338. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +39 -0
  339. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -0
  340. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +40 -0
  341. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +12 -0
  342. package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +1 -0
  343. package/dist/components/core/list/SolidVarInputsFilterElement.js +81 -0
  344. package/dist/components/core/list/SolidVarInputsFilterElement.js.map +1 -0
  345. package/dist/components/core/list/SolidVarInputsFilterElement.tsx +184 -0
  346. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
  347. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
  348. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
  349. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
  350. package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
  351. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
  352. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
  353. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
  354. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
  355. package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
  356. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
  357. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
  358. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
  359. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
  360. package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
  361. package/dist/components/core/model/FieldMetaDataForm.d.ts +1 -1
  362. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  363. package/dist/components/core/model/FieldMetaDataForm.js +119 -102
  364. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  365. package/dist/components/core/model/FieldMetaDataForm.tsx +82 -39
  366. package/dist/components/core/model/FieldSelector.d.ts +5 -1
  367. package/dist/components/core/model/FieldSelector.d.ts.map +1 -1
  368. package/dist/components/core/model/FieldSelector.js +25 -6
  369. package/dist/components/core/model/FieldSelector.js.map +1 -1
  370. package/dist/components/core/model/FieldSelector.tsx +50 -5
  371. package/dist/components/core/tree/SolidTreeTable.d.ts +2 -1
  372. package/dist/components/core/tree/SolidTreeTable.d.ts.map +1 -1
  373. package/dist/components/core/tree/SolidTreeTable.js +2 -2
  374. package/dist/components/core/tree/SolidTreeTable.js.map +1 -1
  375. package/dist/components/core/tree/SolidTreeTable.tsx +3 -1
  376. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  377. package/dist/components/core/tree/SolidTreeView.js +38 -15
  378. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  379. package/dist/components/core/tree/SolidTreeView.tsx +48 -23
  380. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  381. package/dist/components/core/users/CreateUser.js +45 -32
  382. package/dist/components/core/users/CreateUser.js.map +1 -1
  383. package/dist/components/core/users/CreateUser.tsx +15 -4
  384. package/dist/components/layout/DashboardHeader.d.ts +3 -0
  385. package/dist/components/layout/DashboardHeader.d.ts.map +1 -0
  386. package/dist/components/layout/DashboardHeader.js +20 -0
  387. package/dist/components/layout/DashboardHeader.js.map +1 -0
  388. package/dist/components/layout/DashboardHeader.tsx +94 -0
  389. package/dist/components/shad-cn-ui/SolidSelect.d.ts +2 -1
  390. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +1 -1
  391. package/dist/components/shad-cn-ui/SolidSelect.js +12 -4
  392. package/dist/components/shad-cn-ui/SolidSelect.js.map +1 -1
  393. package/dist/components/shad-cn-ui/SolidSelect.tsx +13 -1
  394. package/dist/helpers/# no such endpoints exist, need to calle +3 -0
  395. package/dist/helpers/ToastContainer.d.ts +4 -0
  396. package/dist/helpers/ToastContainer.d.ts.map +1 -0
  397. package/dist/helpers/ToastContainer.js +49 -0
  398. package/dist/helpers/ToastContainer.js.map +1 -0
  399. package/dist/helpers/ToastContainer.tsx +94 -0
  400. package/dist/helpers/showToast.d.ts +5 -0
  401. package/dist/helpers/showToast.d.ts.map +1 -0
  402. package/dist/helpers/showToast.js +17 -0
  403. package/dist/helpers/showToast.js.map +1 -0
  404. package/dist/helpers/showToast.ts +13 -0
  405. package/dist/helpers/studioSandbox.d.ts +31 -0
  406. package/dist/helpers/studioSandbox.d.ts.map +1 -0
  407. package/dist/helpers/studioSandbox.js +104 -0
  408. package/dist/helpers/studioSandbox.js.map +1 -0
  409. package/dist/helpers/studioSandbox.ts +117 -0
  410. package/dist/nextAuth/authProviders.d.ts +4 -0
  411. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  412. package/dist/nextAuth/authProviders.js +198 -0
  413. package/dist/nextAuth/authProviders.js.map +1 -0
  414. package/dist/nextAuth/authProviders.tsx +232 -0
  415. package/dist/nextAuth/handleLogout.d.ts +2 -0
  416. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  417. package/dist/nextAuth/handleLogout.js +36 -0
  418. package/dist/nextAuth/handleLogout.js.map +1 -0
  419. package/dist/nextAuth/handleLogout.tsx +39 -0
  420. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  421. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  422. package/dist/nextAuth/refreshAccessToken.js +24 -0
  423. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  424. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  425. package/dist/redux/api/dashboardApi.d.ts +23 -0
  426. package/dist/redux/api/dashboardApi.d.ts.map +1 -0
  427. package/dist/redux/api/dashboardApi.js +35 -0
  428. package/dist/redux/api/dashboardApi.js.map +1 -0
  429. package/dist/redux/api/dashboardApi.ts +56 -0
  430. package/dist/redux/api/dashboardLayoutApi.d.ts +24 -0
  431. package/dist/redux/api/dashboardLayoutApi.d.ts.map +1 -0
  432. package/dist/redux/api/dashboardLayoutApi.js +34 -0
  433. package/dist/redux/api/dashboardLayoutApi.js.map +1 -0
  434. package/dist/redux/api/dashboardLayoutApi.ts +55 -0
  435. package/dist/redux/api/dashboardQuestionApi.d.ts +5 -0
  436. package/dist/redux/api/dashboardQuestionApi.d.ts.map +1 -0
  437. package/dist/redux/api/dashboardQuestionApi.js +18 -0
  438. package/dist/redux/api/dashboardQuestionApi.js.map +1 -0
  439. package/dist/redux/api/dashboardQuestionApi.ts +17 -0
  440. package/dist/redux/api/datasourceIntrospectionApi.d.ts +1 -0
  441. package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
  442. package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
  443. package/dist/redux/api/datasourceIntrospectionApi.ts +1 -0
  444. package/dist/redux/features/settingsSlice.d.ts +20 -0
  445. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  446. package/dist/redux/features/settingsSlice.js +39 -0
  447. package/dist/redux/features/settingsSlice.js.map +1 -0
  448. package/dist/redux/features/settingsSlice.ts +60 -0
  449. package/dist/redux/store/defaultStoreConfig.d.ts +5 -5
  450. package/dist/resources/images/Footerbg.png +0 -0
  451. package/dist/resources/images/LoginBanner.png +0 -0
  452. package/dist/resources/images/dashboard/Ellipse 1.svg +10 -0
  453. package/dist/resources/images/dashboard/Rectangle 17.svg +10 -0
  454. package/dist/resources/images/dashboard/Rectangle 25.svg +11 -0
  455. package/dist/resources/images/dashboard/image 5.svg +9 -0
  456. package/dist/resources/images/loginhero.png +0 -0
  457. package/dist/resources/images/logo.png +0 -0
  458. package/dist/resources/images/radix-logo-white.png +0 -0
  459. package/dist/resources/images/radix-logo.png +0 -0
  460. package/dist/resources/images/signupBanner.png +0 -0
  461. package/dist/resources/shadcn-base.css +16 -70
  462. package/dist/resources/solid-custom.css +55 -0
  463. package/dist/resources/solid-responsive.css +4 -4
  464. package/dist/resources/solid-tailwind-generated.css +1 -1
  465. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +12 -0
  466. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
  467. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +160 -59
  468. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
  469. package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +293 -41
  470. package/package.json +1 -1
  471. package/dist/helpers/modulePackageResumeState.d.ts +0 -6
  472. package/dist/helpers/modulePackageResumeState.d.ts.map +0 -1
  473. package/dist/helpers/modulePackageResumeState.js +0 -46
  474. package/dist/helpers/modulePackageResumeState.js.map +0 -1
  475. package/dist/helpers/modulePackageResumeState.ts +0 -57
@@ -1 +1 @@
1
- {"version":3,"file":"SolidTreeTable.js","sourceRoot":"","sources":["../../../../src/components/core/tree/SolidTreeTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\nimport { ArrowDownWideNarrow, ArrowUpDown, ArrowUpWideNarrow, ChevronRight, Minus } from \"lucide-react\";\n\nexport type SolidTreeNode = {\n key?: string | number;\n data?: any;\n children?: SolidTreeNode[];\n leaf?: boolean;\n [key: string]: any;\n};\n\nexport type SolidTreeSelectionKey = {\n checked?: boolean;\n partialChecked?: boolean;\n [key: string]: any;\n};\n\nexport type SolidTreeSelectionKeys = Record<string, SolidTreeSelectionKey>;\n\ntype HeaderRenderer = React.ReactNode | (() => React.ReactNode);\ntype BodyRenderer = (node: SolidTreeNode, options?: { depth: number; rowIndex: number }) => React.ReactNode;\n\nexport type SolidTreeColumnProps = {\n field?: string;\n header?: HeaderRenderer;\n body?: BodyRenderer;\n sortable?: boolean;\n headerStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n className?: string;\n headerClassName?: string;\n bodyClassName?: string;\n align?: \"left\" | \"center\" | \"right\";\n alignHeader?: \"left\" | \"center\" | \"right\";\n expander?: boolean | ((node: SolidTreeNode) => boolean);\n frozen?: boolean;\n alignFrozen?: \"left\" | \"right\";\n [key: string]: any;\n};\n\ntype SolidTreeTableProps = {\n value?: SolidTreeNode[];\n children: React.ReactNode;\n loading?: boolean;\n expandedKeys?: Record<string, boolean>;\n onToggle?: (event: { value: Record<string, boolean> }) => void;\n onExpand?: (event: { node: SolidTreeNode }) => void;\n tableClassName?: string;\n tableStyle?: React.CSSProperties;\n emptyMessage?: React.ReactNode;\n selectionMode?: \"checkbox\" | null;\n selectionKeys?: SolidTreeSelectionKeys;\n onSelectionChange?: (event: {\n value: SolidTreeSelectionKeys;\n originalEvent: React.MouseEvent<HTMLInputElement>;\n }) => void;\n sortField?: string;\n sortOrder?: 1 | -1 | 0;\n removableSort?: boolean;\n onSort?: (event: { sortField?: string; sortOrder?: 1 | -1 | 0 }) => void;\n onRowClick?: (event: { node: SolidTreeNode; originalEvent: React.MouseEvent<HTMLTableRowElement> }) => void;\n};\n\ntype FlattenedTreeRow = {\n node: SolidTreeNode;\n depth: number;\n};\n\nfunction cx(...parts: Array<string | false | null | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nfunction renderHeaderNode(header?: HeaderRenderer) {\n if (typeof header === \"function\") return header();\n return header ?? null;\n}\n\nexport function SolidTreeColumn(_props: SolidTreeColumnProps) {\n return null;\n}\n\nexport const Column = SolidTreeColumn;\n\nfunction normalizeColumns(children: React.ReactNode): React.ReactElement<SolidTreeColumnProps>[] {\n return React.Children.toArray(children).filter((child): child is React.ReactElement<SolidTreeColumnProps> => {\n return React.isValidElement(child);\n });\n}\n\nfunction resolveSortIcon(active: boolean, order: 1 | -1 | 0): React.ReactNode {\n if (!active || order === 0) return <ArrowUpDown size={14} aria-hidden=\"true\" />;\n return order === 1\n ? <ArrowUpWideNarrow size={14} aria-hidden=\"true\" />\n : <ArrowDownWideNarrow size={14} aria-hidden=\"true\" />;\n}\n\nfunction nextSortOrder(active: boolean, order: 1 | -1 | 0, removableSort = true): 1 | -1 | 0 {\n if (!active || order === 0) return 1;\n if (order === 1) return -1;\n return removableSort ? 0 : 1;\n}\n\nfunction flattenVisibleNodes(\n nodes: SolidTreeNode[],\n expandedKeys: Record<string, boolean>,\n depth = 0\n): FlattenedTreeRow[] {\n return (nodes || []).flatMap((node) => {\n const key = String(node.key ?? \"\");\n const rows: FlattenedTreeRow[] = [{ node, depth }];\n if (expandedKeys[key] && node.children?.length) {\n rows.push(...flattenVisibleNodes(node.children, expandedKeys, depth + 1));\n }\n return rows;\n });\n}\n\nfunction updateSubtreeSelection(\n node: SolidTreeNode,\n selected: boolean,\n selection: SolidTreeSelectionKeys\n) {\n const key = String(node.key ?? \"\");\n if (!key) return;\n\n if (selected) {\n selection[key] = {\n ...selection[key],\n checked: true,\n partialChecked: false,\n };\n } else {\n delete selection[key];\n }\n\n node.children?.forEach((child) => updateSubtreeSelection(child, selected, selection));\n}\n\nfunction reconcileSelection(nodes: SolidTreeNode[], selection: SolidTreeSelectionKeys) {\n const next: SolidTreeSelectionKeys = {};\n\n const visit = (node: SolidTreeNode): { checked: boolean; partialChecked: boolean } => {\n const key = String(node.key ?? \"\");\n const existing = selection[key] || {};\n const childStates = (node.children || []).map(visit);\n\n let checked = Boolean(existing.checked);\n let partialChecked = Boolean(existing.partialChecked);\n\n if (childStates.length > 0) {\n const allChecked = childStates.every((state) => state.checked);\n const anySelected = childStates.some((state) => state.checked || state.partialChecked);\n\n checked = allChecked;\n partialChecked = !allChecked && anySelected;\n }\n\n if (checked || partialChecked) {\n next[key] = {\n ...existing,\n checked,\n partialChecked,\n };\n }\n\n return { checked, partialChecked };\n };\n\n nodes.forEach(visit);\n return next;\n}\n\nfunction normalizeTextAlign(value?: \"left\" | \"center\" | \"right\") {\n if (!value) return undefined;\n return value;\n}\n\nfunction parseWidthValue(value: unknown): number | null {\n if (typeof value === \"number\") return value;\n if (typeof value !== \"string\") return null;\n\n const trimmed = value.trim();\n if (trimmed.endsWith(\"px\")) {\n const parsed = Number.parseFloat(trimmed.replace(\"px\", \"\"));\n return Number.isFinite(parsed) ? parsed : null;\n }\n if (trimmed.endsWith(\"rem\")) {\n const parsed = Number.parseFloat(trimmed.replace(\"rem\", \"\"));\n return Number.isFinite(parsed) ? parsed * 16 : null;\n }\n\n const parsed = Number.parseFloat(trimmed);\n return Number.isFinite(parsed) ? parsed : null;\n}\n\nexport function SolidTreeTable({\n value = [],\n children,\n expandedKeys = {},\n onToggle,\n onExpand,\n tableClassName,\n tableStyle,\n emptyMessage,\n selectionMode,\n selectionKeys = {},\n onSelectionChange,\n sortField,\n sortOrder = 0,\n removableSort = true,\n onSort,\n onRowClick,\n}: SolidTreeTableProps) {\n const columns = useMemo(() => normalizeColumns(children), [children]);\n const visibleRows = useMemo(() => flattenVisibleNodes(value, expandedKeys), [value, expandedKeys]);\n const selectionWidth = selectionMode === \"checkbox\" ? 48 : 0;\n\n const frozenColumnMeta = useMemo(() => {\n const getColumnWidth = (props: SolidTreeColumnProps) =>\n parseWidthValue(props.style?.width)\n ?? parseWidthValue(props.style?.minWidth)\n ?? parseWidthValue(props.headerStyle?.width)\n ?? parseWidthValue(props.headerStyle?.minWidth)\n ?? 160;\n\n const leftOffsets = new Map<number, number>();\n const rightOffsets = new Map<number, number>();\n\n let leftOffset = selectionWidth;\n columns.forEach((column, index) => {\n const props = column.props;\n if (props.frozen && (props.alignFrozen ?? \"left\") === \"left\") {\n leftOffsets.set(index, leftOffset);\n leftOffset += getColumnWidth(props);\n }\n });\n\n let rightOffset = 0;\n for (let index = columns.length - 1; index >= 0; index -= 1) {\n const props = columns[index].props;\n if (props.frozen && props.alignFrozen === \"right\") {\n rightOffsets.set(index, rightOffset);\n rightOffset += getColumnWidth(props);\n }\n }\n\n return { leftOffsets, rightOffsets };\n }, [columns, selectionWidth]);\n\n const selectionColSpan = selectionMode === \"checkbox\" ? 1 : 0;\n\n const selectedLeafRows = useMemo(() => {\n return visibleRows.filter(({ node }) => Boolean(selectionKeys[String(node.key ?? \"\")]?.checked));\n }, [visibleRows, selectionKeys]);\n\n const allVisibleSelected =\n selectionMode === \"checkbox\" &&\n visibleRows.length > 0 &&\n selectedLeafRows.length === visibleRows.length;\n\n const getStickyStyles = (\n kind: \"selection\" | \"column\",\n index: number | null,\n position: \"header\" | \"body\"\n ): React.CSSProperties => {\n if (kind === \"selection\") {\n return {\n position: \"sticky\",\n left: 0,\n zIndex: position === \"header\" ? 7 : 5,\n };\n }\n\n if (index === null) return {};\n\n const leftOffset = frozenColumnMeta.leftOffsets.get(index);\n if (leftOffset !== undefined) {\n return {\n position: \"sticky\",\n left: leftOffset,\n zIndex: position === \"header\" ? 6 : 4,\n };\n }\n\n const rightOffset = frozenColumnMeta.rightOffsets.get(index);\n if (rightOffset !== undefined) {\n return {\n position: \"sticky\",\n right: rightOffset,\n zIndex: position === \"header\" ? 6 : 4,\n };\n }\n\n return {};\n };\n\n return (\n <div className=\"solid-tree-table-root\">\n <div className=\"solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background\">\n <div className=\"relative min-h-full\">\n <table className={cx(\"w-full text-sm border-collapse\", tableClassName)} style={tableStyle}>\n <thead className=\"solid-data-table-head \">\n <tr>\n {selectionMode === \"checkbox\" ? (\n <th\n className=\"solid-data-table-th solid-data-table-selection-col solid-tree-sticky-cell solid-tree-sticky-cell-left\"\n style={getStickyStyles(\"selection\", null, \"header\")}\n >\n <input\n type=\"checkbox\"\n checked={Boolean(allVisibleSelected)}\n onChange={(event) => {\n const next = { ...selectionKeys };\n visibleRows.forEach(({ node }) => {\n updateSubtreeSelection(node, event.currentTarget.checked, next);\n });\n const reconciled = reconcileSelection(value, next);\n onSelectionChange?.({\n value: reconciled,\n originalEvent: event as unknown as React.MouseEvent<HTMLInputElement>,\n });\n }}\n aria-label=\"Select visible rows\"\n />\n </th>\n ) : null}\n {columns.map((column, index) => {\n const props = column.props;\n const isSortable = Boolean(props.sortable && props.field);\n const isActiveSort = isSortable && sortField === props.field;\n const iconNode = resolveSortIcon(Boolean(isActiveSort), sortOrder);\n\n return (\n <th\n key={`tree-header-${index}`}\n className={cx(\n \"solid-data-table-th text-left text-foreground whitespace-nowrap\",\n props.frozen && (props.alignFrozen ?? \"left\") === \"left\" && \"solid-tree-sticky-cell solid-tree-sticky-cell-left\",\n props.frozen && props.alignFrozen === \"right\" && \"solid-tree-sticky-cell solid-tree-sticky-cell-right\",\n props.headerClassName\n )}\n style={{\n ...props.style,\n ...props.headerStyle,\n textAlign: normalizeTextAlign(props.alignHeader ?? props.align),\n ...getStickyStyles(\"column\", index, \"header\"),\n }}\n >\n <button\n type=\"button\"\n className={cx(\"solid-table-header-button\", isSortable ? \"is-sortable\" : undefined)}\n onClick={() => {\n if (!isSortable) return;\n const nextOrder = nextSortOrder(Boolean(isActiveSort), sortOrder, removableSort);\n onSort?.({\n sortField: nextOrder === 0 ? undefined : props.field,\n sortOrder: nextOrder,\n });\n }}\n >\n {renderHeaderNode(props.header)}\n {isSortable ? iconNode : null}\n </button>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {visibleRows.length === 0 ? (\n <tr>\n <td\n className=\"px-3 py-10 text-center text-muted-foreground\"\n colSpan={Math.max(columns.length + selectionColSpan, 1)}\n >\n {emptyMessage || \"No records found\"}\n </td>\n </tr>\n ) : (\n visibleRows.map(({ node, depth }, rowIndex) => {\n const key = String(node.key ?? rowIndex);\n const isSelected = Boolean(selectionKeys[key]?.checked);\n\n return (\n <tr\n key={key}\n className={cx(\"solid-data-table-row solid-tree-table-row\", isSelected && \"is-selected\")}\n onClick={(event) => {\n const target = event.target as HTMLElement;\n if (target.closest(\"button,a,input,label,[data-no-row-click='true']\")) return;\n onRowClick?.({ node, originalEvent: event });\n }}\n >\n {selectionMode === \"checkbox\" ? (\n <td\n className=\"solid-data-table-td solid-data-table-selection-col solid-tree-sticky-cell solid-tree-sticky-cell-left\"\n style={getStickyStyles(\"selection\", null, \"body\")}\n >\n <input\n type=\"checkbox\"\n checked={isSelected}\n ref={(element) => {\n if (element) {\n element.indeterminate = Boolean(selectionKeys[key]?.partialChecked);\n }\n }}\n onChange={(event) => {\n const next = { ...selectionKeys };\n updateSubtreeSelection(node, event.currentTarget.checked, next);\n const reconciled = reconcileSelection(value, next);\n onSelectionChange?.({\n value: reconciled,\n originalEvent: event as unknown as React.MouseEvent<HTMLInputElement>,\n });\n }}\n onClick={(event) => event.stopPropagation()}\n aria-label=\"Select row\"\n />\n </td>\n ) : null}\n {columns.map((column, columnIndex) => {\n const props = column.props;\n const canExpand =\n typeof props.expander === \"function\"\n ? props.expander(node)\n : Boolean(props.expander);\n const isExpanded = Boolean(expandedKeys[key]);\n const hasChildren = Boolean(node.children?.length);\n const showExpander = canExpand;\n const expanderDisabled = node.leaf === true;\n\n const content = props.body\n ? props.body(node, { depth, rowIndex })\n : props.field\n ? node?.data?.[props.field]\n : null;\n\n const isExpanderColumn = showExpander && columnIndex === 0;\n\n return (\n <td\n key={`tree-cell-${key}-${columnIndex}`}\n className={cx(\n \"solid-data-table-td align-top text-foreground\",\n props.frozen && (props.alignFrozen ?? \"left\") === \"left\" && \"solid-tree-sticky-cell solid-tree-sticky-cell-left\",\n props.frozen && props.alignFrozen === \"right\" && \"solid-tree-sticky-cell solid-tree-sticky-cell-right\",\n props.className,\n props.bodyClassName\n )}\n style={{\n ...props.style,\n textAlign: normalizeTextAlign(props.align),\n ...getStickyStyles(\"column\", columnIndex, \"body\"),\n }}\n >\n {isExpanderColumn ? (\n <div className=\"solid-tree-cell\">\n <div\n className=\"solid-tree-cell-indent\"\n style={{ width: `${depth * 1.25}rem` }}\n aria-hidden=\"true\"\n />\n <button\n type=\"button\"\n className=\"solid-tree-expander\"\n disabled={expanderDisabled}\n onClick={(event) => {\n event.stopPropagation();\n if (expanderDisabled) return;\n\n const nextExpanded = { ...expandedKeys };\n if (nextExpanded[key]) {\n delete nextExpanded[key];\n } else {\n nextExpanded[key] = true;\n }\n onToggle?.({ value: nextExpanded });\n if (!isExpanded) {\n onExpand?.({ node });\n }\n }}\n aria-label={isExpanded ? \"Collapse row\" : \"Expand row\"}\n >\n {expanderDisabled ? (\n <Minus size={14} aria-hidden=\"true\" />\n ) : (\n <ChevronRight\n size={14}\n aria-hidden=\"true\"\n className={cx(\"solid-tree-expander-icon\", isExpanded && \"is-expanded\")}\n />\n )}\n </button>\n <div className=\"solid-tree-cell-content\">{content}</div>\n </div>\n ) : (\n content\n )}\n </td>\n );\n })}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"SolidTreeTable.js","sourceRoot":"","sources":["../../../../src/components/core/tree/SolidTreeTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useMemo } from \"react\";\nimport { ArrowDownWideNarrow, ArrowUpDown, ArrowUpWideNarrow, ChevronRight, Minus } from \"lucide-react\";\n\nexport type SolidTreeNode = {\n key?: string | number;\n data?: any;\n children?: SolidTreeNode[];\n leaf?: boolean;\n [key: string]: any;\n};\n\nexport type SolidTreeSelectionKey = {\n checked?: boolean;\n partialChecked?: boolean;\n [key: string]: any;\n};\n\nexport type SolidTreeSelectionKeys = Record<string, SolidTreeSelectionKey>;\n\ntype HeaderRenderer = React.ReactNode | (() => React.ReactNode);\ntype BodyRenderer = (node: SolidTreeNode, options?: { depth: number; rowIndex: number }) => React.ReactNode;\n\nexport type SolidTreeColumnProps = {\n field?: string;\n header?: HeaderRenderer;\n body?: BodyRenderer;\n sortable?: boolean;\n headerStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n className?: string;\n headerClassName?: string;\n bodyClassName?: string;\n align?: \"left\" | \"center\" | \"right\";\n alignHeader?: \"left\" | \"center\" | \"right\";\n expander?: boolean | ((node: SolidTreeNode) => boolean);\n frozen?: boolean;\n alignFrozen?: \"left\" | \"right\";\n [key: string]: any;\n};\n\ntype SolidTreeTableProps = {\n value?: SolidTreeNode[];\n children: React.ReactNode;\n loading?: boolean;\n expandedKeys?: Record<string, boolean>;\n onToggle?: (event: { value: Record<string, boolean> }) => void;\n onExpand?: (event: { node: SolidTreeNode }) => void;\n tableClassName?: string;\n tableStyle?: React.CSSProperties;\n emptyMessage?: React.ReactNode;\n selectionMode?: \"checkbox\" | null;\n selectionKeys?: SolidTreeSelectionKeys;\n onSelectionChange?: (event: {\n value: SolidTreeSelectionKeys;\n originalEvent: React.MouseEvent<HTMLInputElement>;\n }) => void;\n sortField?: string;\n sortOrder?: 1 | -1 | 0;\n removableSort?: boolean;\n onSort?: (event: { sortField?: string; sortOrder?: 1 | -1 | 0 }) => void;\n onRowClick?: (event: { node: SolidTreeNode; originalEvent: React.MouseEvent<HTMLTableRowElement> }) => void;\n rowClassName?: (node: SolidTreeNode) => string | undefined;\n};\n\ntype FlattenedTreeRow = {\n node: SolidTreeNode;\n depth: number;\n};\n\nfunction cx(...parts: Array<string | false | null | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nfunction renderHeaderNode(header?: HeaderRenderer) {\n if (typeof header === \"function\") return header();\n return header ?? null;\n}\n\nexport function SolidTreeColumn(_props: SolidTreeColumnProps) {\n return null;\n}\n\nexport const Column = SolidTreeColumn;\n\nfunction normalizeColumns(children: React.ReactNode): React.ReactElement<SolidTreeColumnProps>[] {\n return React.Children.toArray(children).filter((child): child is React.ReactElement<SolidTreeColumnProps> => {\n return React.isValidElement(child);\n });\n}\n\nfunction resolveSortIcon(active: boolean, order: 1 | -1 | 0): React.ReactNode {\n if (!active || order === 0) return <ArrowUpDown size={14} aria-hidden=\"true\" />;\n return order === 1\n ? <ArrowUpWideNarrow size={14} aria-hidden=\"true\" />\n : <ArrowDownWideNarrow size={14} aria-hidden=\"true\" />;\n}\n\nfunction nextSortOrder(active: boolean, order: 1 | -1 | 0, removableSort = true): 1 | -1 | 0 {\n if (!active || order === 0) return 1;\n if (order === 1) return -1;\n return removableSort ? 0 : 1;\n}\n\nfunction flattenVisibleNodes(\n nodes: SolidTreeNode[],\n expandedKeys: Record<string, boolean>,\n depth = 0\n): FlattenedTreeRow[] {\n return (nodes || []).flatMap((node) => {\n const key = String(node.key ?? \"\");\n const rows: FlattenedTreeRow[] = [{ node, depth }];\n if (expandedKeys[key] && node.children?.length) {\n rows.push(...flattenVisibleNodes(node.children, expandedKeys, depth + 1));\n }\n return rows;\n });\n}\n\nfunction updateSubtreeSelection(\n node: SolidTreeNode,\n selected: boolean,\n selection: SolidTreeSelectionKeys\n) {\n const key = String(node.key ?? \"\");\n if (!key) return;\n\n if (selected) {\n selection[key] = {\n ...selection[key],\n checked: true,\n partialChecked: false,\n };\n } else {\n delete selection[key];\n }\n\n node.children?.forEach((child) => updateSubtreeSelection(child, selected, selection));\n}\n\nfunction reconcileSelection(nodes: SolidTreeNode[], selection: SolidTreeSelectionKeys) {\n const next: SolidTreeSelectionKeys = {};\n\n const visit = (node: SolidTreeNode): { checked: boolean; partialChecked: boolean } => {\n const key = String(node.key ?? \"\");\n const existing = selection[key] || {};\n const childStates = (node.children || []).map(visit);\n\n let checked = Boolean(existing.checked);\n let partialChecked = Boolean(existing.partialChecked);\n\n if (childStates.length > 0) {\n const allChecked = childStates.every((state) => state.checked);\n const anySelected = childStates.some((state) => state.checked || state.partialChecked);\n\n checked = allChecked;\n partialChecked = !allChecked && anySelected;\n }\n\n if (checked || partialChecked) {\n next[key] = {\n ...existing,\n checked,\n partialChecked,\n };\n }\n\n return { checked, partialChecked };\n };\n\n nodes.forEach(visit);\n return next;\n}\n\nfunction normalizeTextAlign(value?: \"left\" | \"center\" | \"right\") {\n if (!value) return undefined;\n return value;\n}\n\nfunction parseWidthValue(value: unknown): number | null {\n if (typeof value === \"number\") return value;\n if (typeof value !== \"string\") return null;\n\n const trimmed = value.trim();\n if (trimmed.endsWith(\"px\")) {\n const parsed = Number.parseFloat(trimmed.replace(\"px\", \"\"));\n return Number.isFinite(parsed) ? parsed : null;\n }\n if (trimmed.endsWith(\"rem\")) {\n const parsed = Number.parseFloat(trimmed.replace(\"rem\", \"\"));\n return Number.isFinite(parsed) ? parsed * 16 : null;\n }\n\n const parsed = Number.parseFloat(trimmed);\n return Number.isFinite(parsed) ? parsed : null;\n}\n\nexport function SolidTreeTable({\n value = [],\n children,\n expandedKeys = {},\n onToggle,\n onExpand,\n tableClassName,\n tableStyle,\n emptyMessage,\n selectionMode,\n selectionKeys = {},\n onSelectionChange,\n sortField,\n sortOrder = 0,\n removableSort = true,\n onSort,\n onRowClick,\n rowClassName,\n}: SolidTreeTableProps) {\n const columns = useMemo(() => normalizeColumns(children), [children]);\n const visibleRows = useMemo(() => flattenVisibleNodes(value, expandedKeys), [value, expandedKeys]);\n const selectionWidth = selectionMode === \"checkbox\" ? 48 : 0;\n\n const frozenColumnMeta = useMemo(() => {\n const getColumnWidth = (props: SolidTreeColumnProps) =>\n parseWidthValue(props.style?.width)\n ?? parseWidthValue(props.style?.minWidth)\n ?? parseWidthValue(props.headerStyle?.width)\n ?? parseWidthValue(props.headerStyle?.minWidth)\n ?? 160;\n\n const leftOffsets = new Map<number, number>();\n const rightOffsets = new Map<number, number>();\n\n let leftOffset = selectionWidth;\n columns.forEach((column, index) => {\n const props = column.props;\n if (props.frozen && (props.alignFrozen ?? \"left\") === \"left\") {\n leftOffsets.set(index, leftOffset);\n leftOffset += getColumnWidth(props);\n }\n });\n\n let rightOffset = 0;\n for (let index = columns.length - 1; index >= 0; index -= 1) {\n const props = columns[index].props;\n if (props.frozen && props.alignFrozen === \"right\") {\n rightOffsets.set(index, rightOffset);\n rightOffset += getColumnWidth(props);\n }\n }\n\n return { leftOffsets, rightOffsets };\n }, [columns, selectionWidth]);\n\n const selectionColSpan = selectionMode === \"checkbox\" ? 1 : 0;\n\n const selectedLeafRows = useMemo(() => {\n return visibleRows.filter(({ node }) => Boolean(selectionKeys[String(node.key ?? \"\")]?.checked));\n }, [visibleRows, selectionKeys]);\n\n const allVisibleSelected =\n selectionMode === \"checkbox\" &&\n visibleRows.length > 0 &&\n selectedLeafRows.length === visibleRows.length;\n\n const getStickyStyles = (\n kind: \"selection\" | \"column\",\n index: number | null,\n position: \"header\" | \"body\"\n ): React.CSSProperties => {\n if (kind === \"selection\") {\n return {\n position: \"sticky\",\n left: 0,\n zIndex: position === \"header\" ? 7 : 5,\n };\n }\n\n if (index === null) return {};\n\n const leftOffset = frozenColumnMeta.leftOffsets.get(index);\n if (leftOffset !== undefined) {\n return {\n position: \"sticky\",\n left: leftOffset,\n zIndex: position === \"header\" ? 6 : 4,\n };\n }\n\n const rightOffset = frozenColumnMeta.rightOffsets.get(index);\n if (rightOffset !== undefined) {\n return {\n position: \"sticky\",\n right: rightOffset,\n zIndex: position === \"header\" ? 6 : 4,\n };\n }\n\n return {};\n };\n\n return (\n <div className=\"solid-tree-table-root\">\n <div className=\"solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background\">\n <div className=\"relative min-h-full\">\n <table className={cx(\"w-full text-sm border-collapse\", tableClassName)} style={tableStyle}>\n <thead className=\"solid-data-table-head \">\n <tr>\n {selectionMode === \"checkbox\" ? (\n <th\n className=\"solid-data-table-th solid-data-table-selection-col solid-tree-sticky-cell solid-tree-sticky-cell-left\"\n style={getStickyStyles(\"selection\", null, \"header\")}\n >\n <input\n type=\"checkbox\"\n checked={Boolean(allVisibleSelected)}\n onChange={(event) => {\n const next = { ...selectionKeys };\n visibleRows.forEach(({ node }) => {\n updateSubtreeSelection(node, event.currentTarget.checked, next);\n });\n const reconciled = reconcileSelection(value, next);\n onSelectionChange?.({\n value: reconciled,\n originalEvent: event as unknown as React.MouseEvent<HTMLInputElement>,\n });\n }}\n aria-label=\"Select visible rows\"\n />\n </th>\n ) : null}\n {columns.map((column, index) => {\n const props = column.props;\n const isSortable = Boolean(props.sortable && props.field);\n const isActiveSort = isSortable && sortField === props.field;\n const iconNode = resolveSortIcon(Boolean(isActiveSort), sortOrder);\n\n return (\n <th\n key={`tree-header-${index}`}\n className={cx(\n \"solid-data-table-th text-left text-foreground whitespace-nowrap\",\n props.frozen && (props.alignFrozen ?? \"left\") === \"left\" && \"solid-tree-sticky-cell solid-tree-sticky-cell-left\",\n props.frozen && props.alignFrozen === \"right\" && \"solid-tree-sticky-cell solid-tree-sticky-cell-right\",\n props.headerClassName\n )}\n style={{\n ...props.style,\n ...props.headerStyle,\n textAlign: normalizeTextAlign(props.alignHeader ?? props.align),\n ...getStickyStyles(\"column\", index, \"header\"),\n }}\n >\n <button\n type=\"button\"\n className={cx(\"solid-table-header-button\", isSortable ? \"is-sortable\" : undefined)}\n onClick={() => {\n if (!isSortable) return;\n const nextOrder = nextSortOrder(Boolean(isActiveSort), sortOrder, removableSort);\n onSort?.({\n sortField: nextOrder === 0 ? undefined : props.field,\n sortOrder: nextOrder,\n });\n }}\n >\n {renderHeaderNode(props.header)}\n {isSortable ? iconNode : null}\n </button>\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {visibleRows.length === 0 ? (\n <tr>\n <td\n className=\"px-3 py-10 text-center text-muted-foreground\"\n colSpan={Math.max(columns.length + selectionColSpan, 1)}\n >\n {emptyMessage || \"No records found\"}\n </td>\n </tr>\n ) : (\n visibleRows.map(({ node, depth }, rowIndex) => {\n const key = String(node.key ?? rowIndex);\n const isSelected = Boolean(selectionKeys[key]?.checked);\n\n return (\n <tr\n key={key}\n className={cx(\"solid-data-table-row solid-tree-table-row\", isSelected && \"is-selected\", rowClassName?.(node))}\n onClick={(event) => {\n const target = event.target as HTMLElement;\n if (target.closest(\"button,a,input,label,[data-no-row-click='true']\")) return;\n onRowClick?.({ node, originalEvent: event });\n }}\n >\n {selectionMode === \"checkbox\" ? (\n <td\n className=\"solid-data-table-td solid-data-table-selection-col solid-tree-sticky-cell solid-tree-sticky-cell-left\"\n style={getStickyStyles(\"selection\", null, \"body\")}\n >\n <input\n type=\"checkbox\"\n checked={isSelected}\n ref={(element) => {\n if (element) {\n element.indeterminate = Boolean(selectionKeys[key]?.partialChecked);\n }\n }}\n onChange={(event) => {\n const next = { ...selectionKeys };\n updateSubtreeSelection(node, event.currentTarget.checked, next);\n const reconciled = reconcileSelection(value, next);\n onSelectionChange?.({\n value: reconciled,\n originalEvent: event as unknown as React.MouseEvent<HTMLInputElement>,\n });\n }}\n onClick={(event) => event.stopPropagation()}\n aria-label=\"Select row\"\n />\n </td>\n ) : null}\n {columns.map((column, columnIndex) => {\n const props = column.props;\n const canExpand =\n typeof props.expander === \"function\"\n ? props.expander(node)\n : Boolean(props.expander);\n const isExpanded = Boolean(expandedKeys[key]);\n const hasChildren = Boolean(node.children?.length);\n const showExpander = canExpand;\n const expanderDisabled = node.leaf === true;\n\n const content = props.body\n ? props.body(node, { depth, rowIndex })\n : props.field\n ? node?.data?.[props.field]\n : null;\n\n const isExpanderColumn = showExpander && columnIndex === 0;\n\n return (\n <td\n key={`tree-cell-${key}-${columnIndex}`}\n className={cx(\n \"solid-data-table-td align-top text-foreground\",\n props.frozen && (props.alignFrozen ?? \"left\") === \"left\" && \"solid-tree-sticky-cell solid-tree-sticky-cell-left\",\n props.frozen && props.alignFrozen === \"right\" && \"solid-tree-sticky-cell solid-tree-sticky-cell-right\",\n props.className,\n props.bodyClassName\n )}\n style={{\n ...props.style,\n textAlign: normalizeTextAlign(props.align),\n ...getStickyStyles(\"column\", columnIndex, \"body\"),\n }}\n >\n {isExpanderColumn ? (\n <div className=\"solid-tree-cell\">\n <div\n className=\"solid-tree-cell-indent\"\n style={{ width: `${depth * 1.25}rem` }}\n aria-hidden=\"true\"\n />\n <button\n type=\"button\"\n className=\"solid-tree-expander\"\n disabled={expanderDisabled}\n onClick={(event) => {\n event.stopPropagation();\n if (expanderDisabled) return;\n\n const nextExpanded = { ...expandedKeys };\n if (nextExpanded[key]) {\n delete nextExpanded[key];\n } else {\n nextExpanded[key] = true;\n }\n onToggle?.({ value: nextExpanded });\n if (!isExpanded) {\n onExpand?.({ node });\n }\n }}\n aria-label={isExpanded ? \"Collapse row\" : \"Expand row\"}\n >\n {expanderDisabled ? (\n <Minus size={14} aria-hidden=\"true\" />\n ) : (\n <ChevronRight\n size={14}\n aria-hidden=\"true\"\n className={cx(\"solid-tree-expander-icon\", isExpanded && \"is-expanded\")}\n />\n )}\n </button>\n <div className=\"solid-tree-cell-content\">{content}</div>\n </div>\n ) : (\n content\n )}\n </td>\n );\n })}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -59,6 +59,7 @@ type SolidTreeTableProps = {
59
59
  removableSort?: boolean;
60
60
  onSort?: (event: { sortField?: string; sortOrder?: 1 | -1 | 0 }) => void;
61
61
  onRowClick?: (event: { node: SolidTreeNode; originalEvent: React.MouseEvent<HTMLTableRowElement> }) => void;
62
+ rowClassName?: (node: SolidTreeNode) => string | undefined;
62
63
  };
63
64
 
64
65
  type FlattenedTreeRow = {
@@ -210,6 +211,7 @@ export function SolidTreeTable({
210
211
  removableSort = true,
211
212
  onSort,
212
213
  onRowClick,
214
+ rowClassName,
213
215
  }: SolidTreeTableProps) {
214
216
  const columns = useMemo(() => normalizeColumns(children), [children]);
215
217
  const visibleRows = useMemo(() => flattenVisibleNodes(value, expandedKeys), [value, expandedKeys]);
@@ -384,7 +386,7 @@ export function SolidTreeTable({
384
386
  return (
385
387
  <tr
386
388
  key={key}
387
- className={cx("solid-data-table-row solid-tree-table-row", isSelected && "is-selected")}
389
+ className={cx("solid-data-table-row solid-tree-table-row", isSelected && "is-selected", rowClassName?.(node))}
388
390
  onClick={(event) => {
389
391
  const target = event.target as HTMLElement;
390
392
  if (target.closest("button,a,input,label,[data-no-row-click='true']")) return;
@@ -1 +1 @@
1
- {"version":3,"file":"SolidTreeView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/tree/SolidTreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAqCf,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,uBAAuB,CAAC,EAAE,GAAG,CAAC;QAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC;QACvB,sBAAsB,CAAC,EAAE,GAAG,CAAC;QAC7B,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC,KAAK,IAAI,CAAC;IACX,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC;QACb,gBAAgB,EAAE,GAAG,CAAC;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AA0CF,eAAO,MAAM,aAAa,iGAo4DxB,CAAC"}
1
+ {"version":3,"file":"SolidTreeView.d.ts","sourceRoot":"","sources":["../../../../src/components/core/tree/SolidTreeView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAqCf,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,CAAC,MAAM,EAAE;QACpB,uBAAuB,CAAC,EAAE,GAAG,CAAC;QAC9B,gBAAgB,CAAC,EAAE,GAAG,CAAC;QACvB,sBAAsB,CAAC,EAAE,GAAG,CAAC;QAC7B,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC,KAAK,IAAI,CAAC;IACX,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;IACpE,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,GAAG,CAAC;QACb,gBAAgB,EAAE,GAAG,CAAC;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AA0CF,eAAO,MAAM,aAAa,iGA65DxB,CAAC"}
@@ -56,7 +56,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
56
56
  };
57
57
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
58
58
  import React, { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState, } from "react";
59
- import { ChevronLeft, ChevronRight, EllipsisVertical, Pencil, Plus, RefreshCw, Search, Trash2 } from "lucide-react";
59
+ import { ChevronLeft, ChevronRight, EllipsisVertical, Pencil, Plus, RefreshCw, RotateCcw, Search, Trash2 } from "lucide-react";
60
60
  import { showToast } from "../../../redux/features/toastSlice";
61
61
  import { useDispatch, useSelector } from "react-redux";
62
62
  import { showNavbar, toggleNavbar } from "../../../redux/features/navbarSlice";
@@ -82,7 +82,7 @@ import { useRouter } from "../../../hooks/useRouter";
82
82
  import { normalizeSolidListTreeKanbanActionPath } from "../../../helpers/routePaths";
83
83
  import { usePathname } from "../../../hooks/usePathname";
84
84
  import { useHandleListCustomButtonClick } from "../../../components/common/useHandleListCustomButtonClick";
85
- import { SolidButton, SolidDialog, SolidDialogBody, SolidDialogDescription, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuSeparator, SolidDropdownMenuTrigger, SolidIcon } from "../../shad-cn-ui";
85
+ import { SolidButton, SolidDialog, SolidDialogBody, SolidDialogDescription, SolidDialogFooter, SolidDialogHeader, SolidDialogSeparator, SolidDialogTitle, SolidDropdownMenu, SolidDropdownMenuContent, SolidDropdownMenuItem, SolidDropdownMenuSeparator, SolidDropdownMenuTrigger, SolidIcon, SolidSelect } from "../../shad-cn-ui";
86
86
  import { SolidHeaderRequestStatus } from "../../common/SolidHeaderRequestStatus";
87
87
  import { storeCurrentModelViewContext } from "../../../helpers/modelViewPersistence";
88
88
  import { Column as SolidTreeColumn, SolidTreeTable } from "./SolidTreeTable";
@@ -290,6 +290,9 @@ export var SolidTreeView = forwardRef(function (params, ref) {
290
290
  setToPopulateMedia(queryObject.populateMedia || []);
291
291
  setSortField(queryObject.sortField || "");
292
292
  setSortOrder(queryObject.sortOrder || 0);
293
+ setShowArchived(queryObject.showArchived === true ||
294
+ queryObject.showArchived === "true" ||
295
+ queryObject.showSoftDeleted === "inclusive");
293
296
  var savedLimit = queryObject.limit;
294
297
  if (savedLimit && currentOptions.includes(savedLimit)) {
295
298
  setGlobalLimit(savedLimit);
@@ -324,6 +327,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
324
327
  setToPopulate(nextPopulate);
325
328
  setToPopulateMedia(nextPopulateMedia);
326
329
  setGlobalLimit(resolveDefaultPageSize(currentOptions));
330
+ setShowArchived(false);
327
331
  }
328
332
  }, [solidTreeViewLayout, solidTreeViewMetaData]);
329
333
  useEffect(function () {
@@ -501,6 +505,12 @@ export var SolidTreeView = forwardRef(function (params, ref) {
501
505
  .map(function (rule) { return "".concat(rule.fieldName, ":").concat(rule.operator); });
502
506
  return derivedAggregates.length > 0 ? derivedAggregates : ["id:count"];
503
507
  };
508
+ var applyArchivedQueryState = function (queryData) {
509
+ if (showArchived) {
510
+ queryData.showSoftDeleted = "inclusive";
511
+ }
512
+ return queryData;
513
+ };
504
514
  var extractGroupCount = function (groupMeta) {
505
515
  if ((groupMeta === null || groupMeta === void 0 ? void 0 : groupMeta.id_count) !== undefined)
506
516
  return groupMeta.id_count;
@@ -585,6 +595,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
585
595
  mergedFilters = mergeFiltersWithImplicit(implicitFilters);
586
596
  if (mergedFilters)
587
597
  queryData.filters = mergedFilters;
598
+ applyArchivedQueryState(queryData);
588
599
  dynamicHeader = (_c = (_b = (_a = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _a === void 0 ? void 0 : _a.solidView) === null || _b === void 0 ? void 0 : _b.layout) === null || _c === void 0 ? void 0 : _c.onBeforeTreeDataLoad;
589
600
  dynamicExtensionFunction = null;
590
601
  event = {
@@ -648,6 +659,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
648
659
  mergedFilters = mergeFiltersWithImplicit(implicitFilters);
649
660
  if (mergedFilters)
650
661
  queryData.filters = mergedFilters;
662
+ applyArchivedQueryState(queryData);
651
663
  dynamicHeader = (_c = (_b = (_a = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _a === void 0 ? void 0 : _a.solidView) === null || _b === void 0 ? void 0 : _b.layout) === null || _c === void 0 ? void 0 : _c.onBeforeTreeDataLoad;
652
664
  dynamicExtensionFunction = null;
653
665
  event = {
@@ -796,6 +808,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
796
808
  populateMedia: toPopulateMedia,
797
809
  sortField: sortField,
798
810
  sortOrder: sortOrder,
811
+ showArchived: showArchived,
799
812
  custom_filter_predicate: latestFilterPredicatesRef.current.custom_filter_predicate || null,
800
813
  search_predicate: latestFilterPredicatesRef.current.search_predicate || null,
801
814
  saved_filter_predicate: latestFilterPredicatesRef.current.saved_filter_predicate || null,
@@ -803,6 +816,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
803
816
  grouping_rules: latestFilterPredicatesRef.current.grouping_rules || null,
804
817
  aggregation_rules: latestFilterPredicatesRef.current.aggregation_rules || null,
805
818
  };
819
+ applyArchivedQueryState(queryData);
806
820
  setFilterObjectToLocalStorage(queryData);
807
821
  }
808
822
  return [3 /*break*/, 5];
@@ -826,7 +840,7 @@ export var SolidTreeView = forwardRef(function (params, ref) {
826
840
  loadRootGroups(0);
827
841
  }
828
842
  // eslint-disable-next-line react-hooks/exhaustive-deps
829
- }, [solidTreeViewMetaData, params.modelName, activeGroupingRules, aggregationRules, filters, sortField, sortOrder, globalLimit]);
843
+ }, [solidTreeViewMetaData, params.modelName, activeGroupingRules, aggregationRules, filters, sortField, sortOrder, globalLimit, showArchived]);
830
844
  // ─── Expand handler ───────────────────────────────────────────────────────
831
845
  var loadNodeChildren = function (node, offset) { return __awaiter(void 0, void 0, void 0, function () {
832
846
  var meta, nodeKey, limit, nextRuleIndex, children_1, total, response, response, error_2;
@@ -1032,8 +1046,10 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1032
1046
  });
1033
1047
  };
1034
1048
  walk(treeNodes);
1035
- setSelectedRecords(checkedRecords);
1036
- setSelectedRecoverRecords(checkedRecords);
1049
+ var activeRecords = checkedRecords.filter(function (record) { return record.deletedAt === null; });
1050
+ var deletedRecords = checkedRecords.filter(function (record) { return record.deletedAt !== null; });
1051
+ setSelectedRecords(activeRecords);
1052
+ setSelectedRecoverRecords(deletedRecords);
1037
1053
  }, [treeNodes, selectedNodeKeys]);
1038
1054
  // ─── Filter handler ───────────────────────────────────────────────────────
1039
1055
  var handleApplyCustomFilter = function (nextFilterPredicates, persistFilter) {
@@ -1182,9 +1198,10 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1182
1198
  var rootHasNext = hasNext("root");
1183
1199
  var start = total === 0 ? 0 : offset + 1;
1184
1200
  var end = total === 0 ? 0 : Math.min(offset + limit, total);
1185
- return (_jsxs("div", { className: "w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background", children: [_jsxs("div", { className: "solid-paginator-meta flex items-center gap-2 sm:ml-auto", children: [_jsx("span", { className: "solid-paginator-label", children: "Rows" }), _jsx("select", { value: limit, onChange: function (event) {
1186
- setGlobalLimit(Number(event.target.value));
1187
- }, className: "solid-paginator-select", children: pageSizeOptions.map(function (option) { return (_jsx("option", { value: option, children: option }, option)); }) }), _jsxs("span", { className: "solid-paginator-report", children: [start, " - ", end, " of ", total] })] }), _jsxs("div", { className: "solid-paginator-actions flex items-center gap-2", children: [_jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { void handleRootPageChange("prev"); }, disabled: !rootHasPrev || treeLoading, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { void handleRootPageChange("next"); }, disabled: !rootHasNext || treeLoading, children: "Next" })] })] }));
1201
+ var report = "".concat(start, " - ").concat(end, " of ").concat(total);
1202
+ return (_jsxs("div", { className: "w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background", children: [_jsxs("div", { className: "solid-paginator-meta flex items-center gap-2 sm:ml-auto", children: [_jsx("span", { className: "solid-paginator-label", children: "Rows" }), _jsx(SolidSelect, { value: limit, className: "solid-paginator-select", options: pageSizeOptions.map(function (option) { return ({ label: String(option), value: option }); }), native: false, onChange: function (event) {
1203
+ setGlobalLimit(Number(event.value));
1204
+ } }), _jsx("span", { className: "solid-paginator-report", children: report })] }), _jsxs("div", { className: "solid-paginator-actions flex items-center gap-2", children: [_jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { void handleRootPageChange("prev"); }, disabled: !rootHasPrev || treeLoading, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { void handleRootPageChange("next"); }, disabled: !rootHasNext || treeLoading, children: "Next" })] })] }));
1188
1205
  };
1189
1206
  var openGroupingBuilder = function () {
1190
1207
  var _a, _b;
@@ -1212,20 +1229,22 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1212
1229
  setSortField(nextSortField);
1213
1230
  setSortOrder(nextSortOrder);
1214
1231
  },
1215
- setShowArchived: function () { },
1232
+ setShowArchived: function (value) {
1233
+ setShowArchived(value);
1234
+ },
1216
1235
  getState: function () { return ({
1217
1236
  first: getPagination("root").offset,
1218
1237
  rows: getPagination("root").limit,
1219
1238
  sortField: sortField,
1220
1239
  sortOrder: sortOrder,
1221
- showArchived: false,
1240
+ showArchived: showArchived,
1222
1241
  filters: filters,
1223
1242
  filterPredicates: filterPredicates,
1224
1243
  listData: treeNodes,
1225
1244
  totalRecords: getPagination("root").total,
1226
1245
  loading: treeLoading,
1227
1246
  }); },
1228
- }); }, [filters, filterPredicates, params.customFilter, treeLoading, treeNodes, paginationMap]);
1247
+ }); }, [filters, filterPredicates, paginationMap, showArchived, sortField, sortOrder, treeLoading, treeNodes]);
1229
1248
  var handleCustomButtonClick = useHandleListCustomButtonClick();
1230
1249
  var _40 = useState(), selectedSolidViewData = _40[0], setSelectedSolidViewData = _40[1];
1231
1250
  var _41 = useState(false), deleteEntity = _41[0], setDeleteEntity = _41[1];
@@ -1236,7 +1255,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1236
1255
  var canEditRow = function (rowData, inContextMenu) {
1237
1256
  var _a, _b, _c;
1238
1257
  if (inContextMenu === void 0) { inContextMenu = false; }
1239
- return actionsAllowed.includes(permissionExpression(params.modelName, "update")) &&
1258
+ return !(rowData === null || rowData === void 0 ? void 0 : rowData.deletedAt) &&
1259
+ actionsAllowed.includes(permissionExpression(params.modelName, "update")) &&
1240
1260
  ((_a = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _a === void 0 ? void 0 : _a.edit) !== false &&
1241
1261
  (!inContextMenu || ((_b = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _b === void 0 ? void 0 : _b.showDefaultEditButton) !== false) &&
1242
1262
  (!inContextMenu || ((_c = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _c === void 0 ? void 0 : _c.showRowEditInContextMenu) !== false) &&
@@ -1245,7 +1265,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1245
1265
  var canDeleteRow = function (rowData, inContextMenu) {
1246
1266
  var _a, _b, _c, _d;
1247
1267
  if (inContextMenu === void 0) { inContextMenu = false; }
1248
- return actionsAllowed.includes(permissionExpression(params.modelName, "delete")) &&
1268
+ return !(rowData === null || rowData === void 0 ? void 0 : rowData.deletedAt) &&
1269
+ actionsAllowed.includes(permissionExpression(params.modelName, "delete")) &&
1249
1270
  ((_a = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _a === void 0 ? void 0 : _a.delete) !== false &&
1250
1271
  (!inContextMenu
1251
1272
  ? params.embeded ||
@@ -1350,9 +1371,9 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1350
1371
  return (_jsxs("div", { className: "page-parent-wrapper solid-list-page-wrapper solid-tree-page-wrapper flex h-full min-h-0 overflow-hidden", children: [_jsx("div", { className: "solid-list-content h-full flex flex-col flex-grow-1", children: _jsxs("div", { className: "solid-list-surface solid-tree-surface flex flex-col flex-1 min-h-0", children: [_jsxs("div", { className: "page-header solid-list-toolbar solid-tree-toolbar flex-col lg:flex-row", children: [_jsxs("div", { className: "flex justify-between w-full", children: [_jsxs("div", { className: "flex gap-4 items-center w-full solid-list-toolbar-left", children: [_jsxs("div", { className: "flex items-center gap-2", children: [params.embeded !== true && (_jsx("div", { className: "apps-icon block md:hidden cursor-pointer", onClick: toggleBothSidebars, children: _jsx(SolidIcon, { name: "si-th-large" }) })), _jsx("p", { className: "m-0 view-title solid-text-wrapper", children: treeViewTitle })] }), ((_h = (_g = (_f = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _f === void 0 ? void 0 : _f.solidView) === null || _g === void 0 ? void 0 : _g.layout) === null || _h === void 0 ? void 0 : _h.attrs.enableGlobalSearch) === true && (_jsx("div", { className: "hidden lg:flex", children: _jsx(SolidGlobalSearchElement, { viewType: "tree", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidTreeViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsxs("div", { className: "flex items-center solid-header-buttons-wrapper solid-list-toolbar-actions", children: [headerRequestStatusLabel ? _jsx(SolidHeaderRequestStatus, { label: headerRequestStatusLabel }) : null, ((_l = (_k = (_j = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _j === void 0 ? void 0 : _j.solidView) === null || _k === void 0 ? void 0 : _k.layout) === null || _l === void 0 ? void 0 : _l.attrs.enableGlobalSearch) === true && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", leftIcon: _jsx(Search, { size: 14 }), className: "solid-icon-button", onClick: function () { return setShowGlobalSearchElement(!showGlobalSearchElement); } }) })), actionsAllowed.includes("".concat(permissionExpression(params.modelName, "create"))) &&
1351
1372
  ((_p = (_o = (_m = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _m === void 0 ? void 0 : _m.solidView) === null || _o === void 0 ? void 0 : _o.layout) === null || _p === void 0 ? void 0 : _p.attrs.create) !== false && (_jsx(SolidCreateButton, { createButtonUrl: createButtonUrl, createActionQueryParams: createActionQueryParams, responsiveIconOnly: true })), actionsAllowed.includes("".concat(permissionExpression(params.modelName, "delete"))) &&
1352
1373
  ((_s = (_r = (_q = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _q === void 0 ? void 0 : _q.solidView) === null || _r === void 0 ? void 0 : _r.layout) === null || _s === void 0 ? void 0 : _s.attrs.delete) !== false &&
1353
- selectedRecords.length > 0 && (_jsx(SolidButton, { type: "button", label: "Delete", size: "sm", onClick: function () { return setDeleteRecordsDialogVisible(true); }, className: "small-button", severity: "danger" })), _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", leftIcon: _jsx(RefreshCw, { size: 14 }), className: "solid-icon-button", onClick: function () { void loadRootGroups(getPagination("root").offset); } }), showArchived && (_jsx(SolidButton, { type: "button", label: "Recover", size: "sm", variant: "outline", leftIcon: _jsx(RefreshCw, { size: 14 }), className: "hidden lg:flex solid-icon-button ", onClick: function () { return setRecoverDialogVisible(true); } })), params.embeded === false &&
1374
+ selectedRecords.length > 0 && (_jsx(SolidButton, { type: "button", label: "Delete", size: "sm", onClick: function () { return setDeleteRecordsDialogVisible(true); }, className: "small-button", severity: "danger" })), _jsx(SolidButton, { type: "button", size: "sm", variant: "outline", leftIcon: _jsx(RefreshCw, { size: 14 }), className: "solid-icon-button", onClick: function () { void loadRootGroups(getPagination("root").offset); } }), showArchived && selectedRecoverRecords.length > 0 && (_jsx(SolidButton, { type: "button", size: "sm", variant: "secondary", className: "hidden lg:flex", onClick: function () { return setRecoverDialogVisible(true); }, leftIcon: _jsx(RotateCcw, { size: 14 }), children: "Recover" })), params.embeded === false &&
1354
1375
  ((_t = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _t === void 0 ? void 0 : _t.configureView) !== false && (_jsx(SolidListViewConfigure, { listViewMetaData: solidTreeViewMetaData, solidListViewLayout: solidTreeViewLayout, setShowArchived: setShowArchived, showArchived: showArchived, viewData: solidTreeViewMetaData, sizeOptions: sizeOptions, setSize: setSize, size: size, viewModes: viewModes, params: params, actionsAllowed: actionsAllowed, selectedRecords: selectedRecords, setDialogVisible: setDeleteRecordsDialogVisible, setShowSaveFilterPopup: setShowSaveFilterPopup, filters: filters, handleFetchUpdatedRecords: handleFetchUpdatedRecords, setRecoverDialogVisible: setRecoverDialogVisible }))] })] }), ((_w = (_v = (_u = solidTreeViewMetaData === null || solidTreeViewMetaData === void 0 ? void 0 : solidTreeViewMetaData.data) === null || _u === void 0 ? void 0 : _u.solidView) === null || _v === void 0 ? void 0 : _v.layout) === null || _w === void 0 ? void 0 : _w.attrs.enableGlobalSearch) === true &&
1355
- showGlobalSearchElement && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "tree", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidTreeViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsx("div", { className: "solid-datatable-wrapper solid-list-table-area solid-tree-table-area flex-1 min-h-0 overflow-hidden", children: activeGroupingRules.length === 0 ? (_jsx("div", { className: "solid-empty-listview-placeholder-container solid-tree-empty-state", children: _jsxs("div", { className: "solid-empty-listview-placeholder-panel", children: [_jsxs("div", { className: "solid-empty-listview-header", children: [_jsx("div", { className: "solid-empty-listview-header-title", children: treeViewTitle || "Tree View" }), _jsx("div", { className: "solid-empty-listview-header-subtitle", children: "Build a grouping structure to explore your data in hierarchical levels." })] }), _jsxs("div", { className: "solid-empty-listview-body", children: [_jsx("div", { className: "solid-empty-listview-title", children: "No grouping rules applied" }), _jsx("div", { className: "solid-empty-listview-actions", children: _jsx(SolidButton, { type: "button", variant: "primary", size: "small", leftIcon: _jsx(Plus, { size: 14 }), onClick: openGroupingBuilder, children: "Create Groups" }) }), _jsx("div", { className: "solid-empty-listview-description", children: "Start by adding grouping rules and optional aggregations for this tree view." })] })] }) })) : (_jsxs(SolidTreeTable, { value: treeNodes, loading: treeLoading, expandedKeys: expandedKeys, onToggle: function (event) { return setExpandedKeys(event.value); }, onExpand: handleNodeExpand, tableStyle: { minWidth: "max-content" }, tableClassName: "solid-data-table", selectionMode: "checkbox", selectionKeys: selectedNodeKeys, sortField: sortField, sortOrder: sortOrder, removableSort: true, onSort: function (e) {
1376
+ showGlobalSearchElement && (_jsx("div", { className: "flex lg:hidden", children: _jsx(SolidGlobalSearchElement, { viewType: "tree", showSaveFilterPopup: showSaveFilterPopup, setShowSaveFilterPopup: setShowSaveFilterPopup, ref: solidGlobalSearchElementRef, viewData: solidTreeViewMetaData, handleApplyCustomFilter: handleApplyCustomFilter }) }))] }), _jsx("div", { className: "solid-datatable-wrapper solid-list-table-area solid-tree-table-area flex-1 min-h-0 overflow-hidden", children: activeGroupingRules.length === 0 ? (_jsx("div", { className: "solid-empty-listview-placeholder-container solid-tree-empty-state", children: _jsxs("div", { className: "solid-empty-listview-placeholder-panel", children: [_jsxs("div", { className: "solid-empty-listview-header", children: [_jsx("div", { className: "solid-empty-listview-header-title", children: treeViewTitle || "Tree View" }), _jsx("div", { className: "solid-empty-listview-header-subtitle", children: "Build a grouping structure to explore your data in hierarchical levels." })] }), _jsxs("div", { className: "solid-empty-listview-body", children: [_jsx("div", { className: "solid-empty-listview-title", children: "No grouping rules applied" }), _jsx("div", { className: "solid-empty-listview-actions", children: _jsx(SolidButton, { type: "button", variant: "primary", size: "small", leftIcon: _jsx(Plus, { size: 14 }), onClick: openGroupingBuilder, children: "Create Groups" }) }), _jsx("div", { className: "solid-empty-listview-description", children: "Start by adding grouping rules and optional aggregations for this tree view." })] })] }) })) : (_jsxs(SolidTreeTable, { value: treeNodes, loading: treeLoading, expandedKeys: expandedKeys, onToggle: function (event) { return setExpandedKeys(event.value); }, onExpand: handleNodeExpand, tableStyle: { minWidth: "max-content" }, tableClassName: "solid-data-table", rowClassName: function (node) { var _a; return ((_a = node === null || node === void 0 ? void 0 : node.data) === null || _a === void 0 ? void 0 : _a.deletedAt) ? "greyed-out-row" : ""; }, selectionMode: "checkbox", selectionKeys: selectedNodeKeys, sortField: sortField, sortOrder: sortOrder, removableSort: true, onSort: function (e) {
1356
1377
  setSortField(e.sortField || "");
1357
1378
  setSortOrder(e.sortOrder || 0);
1358
1379
  }, onRowClick: function (e) {
@@ -1362,6 +1383,8 @@ export var SolidTreeView = forwardRef(function (params, ref) {
1362
1383
  var rowData = e.node.data;
1363
1384
  if (((_a = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _a === void 0 ? void 0 : _a.disableRowClick) === true)
1364
1385
  return;
1386
+ if (rowData === null || rowData === void 0 ? void 0 : rowData.deletedAt)
1387
+ return;
1365
1388
  var hasFindPermission = actionsAllowed.includes(permissionExpression(params.modelName, 'findOne'));
1366
1389
  var hasUpdatePermission = actionsAllowed.includes(permissionExpression(params.modelName, 'update')) &&
1367
1390
  ((_b = solidTreeViewLayout === null || solidTreeViewLayout === void 0 ? void 0 : solidTreeViewLayout.attrs) === null || _b === void 0 ? void 0 : _b.edit) !== false;