@solidxai/core-ui 0.1.5-beta.10 → 0.1.5-beta.12

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 (306) hide show
  1. package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
  2. package/dist/components/auth/GoogleAuthChecking.js +10 -10
  3. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  4. package/dist/components/auth/GoogleAuthChecking.tsx +8 -9
  5. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  6. package/dist/components/auth/SolidChangeForcePassword.js +9 -10
  7. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  8. package/dist/components/auth/SolidChangeForcePassword.tsx +6 -9
  9. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  10. package/dist/components/auth/SolidForgotPassword.js +8 -8
  11. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  12. package/dist/components/auth/SolidForgotPassword.tsx +6 -8
  13. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  14. package/dist/components/auth/SolidInitialLoginOtp.js +57 -57
  15. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  16. package/dist/components/auth/SolidInitialLoginOtp.tsx +10 -11
  17. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  18. package/dist/components/auth/SolidInitiateRegisterOtp.js +57 -57
  19. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  20. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +10 -11
  21. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  22. package/dist/components/auth/SolidLogin.js +12 -12
  23. package/dist/components/auth/SolidLogin.js.map +1 -1
  24. package/dist/components/auth/SolidLogin.tsx +11 -16
  25. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  26. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  27. package/dist/components/auth/SolidOTPVerify.js +67 -0
  28. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  29. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  30. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  31. package/dist/components/auth/SolidRegister.js +19 -19
  32. package/dist/components/auth/SolidRegister.js.map +1 -1
  33. package/dist/components/auth/SolidRegister.tsx +18 -23
  34. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  35. package/dist/components/auth/SolidResetPassword.js +15 -15
  36. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  37. package/dist/components/auth/SolidResetPassword.tsx +7 -8
  38. package/dist/components/common/AuthBanner.js.map +1 -1
  39. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  40. package/dist/components/common/GeneralSettings.js +87 -120
  41. package/dist/components/common/GeneralSettings.js.map +1 -1
  42. package/dist/components/common/GeneralSettings.tsx +12 -42
  43. package/dist/components/common/GlobalToast.d.ts +2 -0
  44. package/dist/components/common/GlobalToast.d.ts.map +1 -0
  45. package/dist/components/common/GlobalToast.js +25 -0
  46. package/dist/components/common/GlobalToast.js.map +1 -0
  47. package/dist/components/common/GlobalToast.tsx +25 -0
  48. package/dist/components/common/SolidExport.d.ts.map +1 -1
  49. package/dist/components/common/SolidExport.js +19 -31
  50. package/dist/components/common/SolidExport.js.map +1 -1
  51. package/dist/components/common/SolidExport.tsx +7 -19
  52. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  53. package/dist/components/common/SolidFormStepper.js +41 -41
  54. package/dist/components/common/SolidFormStepper.js.map +1 -1
  55. package/dist/components/common/SolidFormStepper.tsx +5 -6
  56. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  57. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  58. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  59. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  60. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  61. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  62. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +9 -9
  63. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  64. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +8 -9
  65. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  66. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +8 -8
  67. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  68. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +7 -9
  69. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  70. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +11 -11
  71. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  72. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +10 -11
  73. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  74. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +9 -9
  75. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  76. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +8 -9
  77. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  78. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +7 -7
  79. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  80. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +6 -7
  81. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  82. package/dist/components/core/common/SolidGlobalSearchElement.js +78 -21
  83. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  84. package/dist/components/core/common/SolidGlobalSearchElement.tsx +65 -10
  85. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  86. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +6 -8
  87. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  88. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +5 -9
  89. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  90. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +9 -11
  91. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  92. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +5 -10
  93. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
  94. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +5 -6
  95. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
  96. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +5 -8
  97. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  98. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +10 -12
  99. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  100. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +6 -11
  101. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  102. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +11 -6
  103. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  104. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +13 -1
  105. package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
  106. package/dist/components/core/form/SolidFormUserViewLayout.js +7 -8
  107. package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
  108. package/dist/components/core/form/SolidFormUserViewLayout.tsx +5 -7
  109. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  110. package/dist/components/core/form/SolidFormView.js +12 -21
  111. package/dist/components/core/form/SolidFormView.js.map +1 -1
  112. package/dist/components/core/form/SolidFormView.tsx +11 -33
  113. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  114. package/dist/components/core/form/fields/SolidMediaSingleField.js +22 -15
  115. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  116. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +14 -2
  117. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  118. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +37 -26
  119. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  120. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +38 -5
  121. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  122. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +11 -11
  123. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  124. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +9 -11
  125. package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
  126. package/dist/components/core/kanban/KanbanUserViewLayout.js +7 -8
  127. package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
  128. package/dist/components/core/kanban/KanbanUserViewLayout.tsx +4 -6
  129. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  130. package/dist/components/core/kanban/SolidKanbanView.js +5 -7
  131. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  132. package/dist/components/core/kanban/SolidKanbanView.tsx +4 -9
  133. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  134. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +13 -13
  135. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  136. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +5 -6
  137. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  138. package/dist/components/core/list/SolidListView.js +20 -67
  139. package/dist/components/core/list/SolidListView.js.map +1 -1
  140. package/dist/components/core/list/SolidListView.tsx +9 -76
  141. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  142. package/dist/components/core/model/CreateModel.js +15 -25
  143. package/dist/components/core/model/CreateModel.js.map +1 -1
  144. package/dist/components/core/model/CreateModel.tsx +12 -32
  145. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  146. package/dist/components/core/model/FieldMetaData.js +6 -17
  147. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  148. package/dist/components/core/model/FieldMetaData.tsx +5 -26
  149. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  150. package/dist/components/core/model/ModelMetaData.js +48 -55
  151. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  152. package/dist/components/core/model/ModelMetaData.tsx +4 -22
  153. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  154. package/dist/components/core/module/CreateModule.js +42 -44
  155. package/dist/components/core/module/CreateModule.js.map +1 -1
  156. package/dist/components/core/module/CreateModule.tsx +13 -27
  157. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  158. package/dist/components/core/module/ModuleListViewData.js +11 -7
  159. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  160. package/dist/components/core/module/ModuleListViewData.tsx +10 -8
  161. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  162. package/dist/components/core/tree/SolidTreeView.js +32 -69
  163. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  164. package/dist/components/core/tree/SolidTreeView.tsx +8 -47
  165. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  166. package/dist/components/core/users/CreateUser.js +24 -37
  167. package/dist/components/core/users/CreateUser.js.map +1 -1
  168. package/dist/components/core/users/CreateUser.tsx +8 -46
  169. package/dist/components/core/users/UserListView.d.ts.map +1 -1
  170. package/dist/components/core/users/UserListView.js +9 -16
  171. package/dist/components/core/users/UserListView.js.map +1 -1
  172. package/dist/components/core/users/UserListView.tsx +5 -21
  173. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  174. package/dist/components/layout/AdminLayout.js +4 -2
  175. package/dist/components/layout/AdminLayout.js.map +1 -1
  176. package/dist/components/layout/AdminLayout.tsx +4 -2
  177. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  178. package/dist/components/layout/AppSidebar.js +1 -2
  179. package/dist/components/layout/AppSidebar.js.map +1 -1
  180. package/dist/components/layout/AppSidebar.tsx +0 -2
  181. package/dist/components/layout/Layout.d.ts.map +1 -1
  182. package/dist/components/layout/Layout.js +2 -1
  183. package/dist/components/layout/Layout.js.map +1 -1
  184. package/dist/components/layout/Layout.tsx +2 -0
  185. package/dist/components/layout/navbar-one.d.ts.map +1 -1
  186. package/dist/components/layout/navbar-one.js +1 -2
  187. package/dist/components/layout/navbar-one.js.map +1 -1
  188. package/dist/components/layout/navbar-one.tsx +0 -2
  189. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  190. package/dist/components/layout/navbar-two-menu.js +50 -24
  191. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  192. package/dist/components/layout/navbar-two-menu.tsx +48 -30
  193. package/dist/index.d.ts +4 -0
  194. package/dist/index.d.ts.map +1 -1
  195. package/dist/index.js +3 -0
  196. package/dist/index.js.map +1 -1
  197. package/dist/index.ts +4 -0
  198. package/dist/nextAuth/authProviders.d.ts +4 -0
  199. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  200. package/dist/nextAuth/authProviders.js +198 -0
  201. package/dist/nextAuth/authProviders.js.map +1 -0
  202. package/dist/nextAuth/authProviders.tsx +232 -0
  203. package/dist/nextAuth/handleLogout.d.ts +2 -0
  204. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  205. package/dist/nextAuth/handleLogout.js +36 -0
  206. package/dist/nextAuth/handleLogout.js.map +1 -0
  207. package/dist/nextAuth/handleLogout.tsx +39 -0
  208. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  209. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  210. package/dist/nextAuth/refreshAccessToken.js +24 -0
  211. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  212. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  213. package/dist/redux/features/settingsSlice.d.ts +20 -0
  214. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  215. package/dist/redux/features/settingsSlice.js +39 -0
  216. package/dist/redux/features/settingsSlice.js.map +1 -0
  217. package/dist/redux/features/settingsSlice.ts +60 -0
  218. package/dist/redux/features/toastSlice.d.ts +15 -0
  219. package/dist/redux/features/toastSlice.d.ts.map +1 -0
  220. package/dist/redux/features/toastSlice.js +20 -0
  221. package/dist/redux/features/toastSlice.js.map +1 -0
  222. package/dist/redux/features/toastSlice.ts +35 -0
  223. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  224. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  225. package/dist/redux/store/defaultStoreConfig.js +2 -1
  226. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  227. package/dist/redux/store/defaultStoreConfig.ts +2 -0
  228. package/package.json +1 -1
  229. package/dist/components/auth/AuthTabs.d.ts +0 -14
  230. package/dist/components/auth/AuthTabs.d.ts.map +0 -1
  231. package/dist/components/auth/AuthTabs.js +0 -19
  232. package/dist/components/auth/AuthTabs.js.map +0 -1
  233. package/dist/components/auth/AuthTabs.tsx +0 -38
  234. package/dist/components/common/SolidErrorStatePage.d.ts +0 -12
  235. package/dist/components/common/SolidErrorStatePage.d.ts.map +0 -1
  236. package/dist/components/common/SolidErrorStatePage.js +0 -16
  237. package/dist/components/common/SolidErrorStatePage.js.map +0 -1
  238. package/dist/components/common/SolidErrorStatePage.tsx +0 -55
  239. package/dist/components/core/list/PLAN.md +0 -92
  240. package/dist/components/core/list/SolidDataTable.d.ts +0 -58
  241. package/dist/components/core/list/SolidDataTable.d.ts.map +0 -1
  242. package/dist/components/core/list/SolidDataTable.js +0 -141
  243. package/dist/components/core/list/SolidDataTable.js.map +0 -1
  244. package/dist/components/core/list/SolidDataTable.tsx +0 -314
  245. package/dist/components/core/list/SolidDataTablePagination.d.ts +0 -15
  246. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +0 -1
  247. package/dist/components/core/list/SolidDataTablePagination.js +0 -22
  248. package/dist/components/core/list/SolidDataTablePagination.js.map +0 -1
  249. package/dist/components/core/list/SolidDataTablePagination.tsx +0 -71
  250. package/dist/components/layout/AdminTopHeader.d.ts +0 -2
  251. package/dist/components/layout/AdminTopHeader.d.ts.map +0 -1
  252. package/dist/components/layout/AdminTopHeader.js +0 -68
  253. package/dist/components/layout/AdminTopHeader.js.map +0 -1
  254. package/dist/components/layout/AdminTopHeader.tsx +0 -135
  255. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +0 -24
  256. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +0 -1
  257. package/dist/components/shad-cn-ui/SolidAutocomplete.js +0 -224
  258. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +0 -1
  259. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +0 -339
  260. package/dist/components/shad-cn-ui/SolidButton.d.ts +0 -14
  261. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +0 -1
  262. package/dist/components/shad-cn-ui/SolidButton.js +0 -36
  263. package/dist/components/shad-cn-ui/SolidButton.js.map +0 -1
  264. package/dist/components/shad-cn-ui/SolidButton.tsx +0 -54
  265. package/dist/components/shad-cn-ui/SolidInput.d.ts +0 -5
  266. package/dist/components/shad-cn-ui/SolidInput.d.ts.map +0 -1
  267. package/dist/components/shad-cn-ui/SolidInput.js +0 -35
  268. package/dist/components/shad-cn-ui/SolidInput.js.map +0 -1
  269. package/dist/components/shad-cn-ui/SolidInput.tsx +0 -12
  270. package/dist/components/shad-cn-ui/SolidNumberInput.d.ts +0 -10
  271. package/dist/components/shad-cn-ui/SolidNumberInput.d.ts.map +0 -1
  272. package/dist/components/shad-cn-ui/SolidNumberInput.js +0 -33
  273. package/dist/components/shad-cn-ui/SolidNumberInput.js.map +0 -1
  274. package/dist/components/shad-cn-ui/SolidNumberInput.tsx +0 -24
  275. package/dist/components/shad-cn-ui/SolidSelect.d.ts +0 -16
  276. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +0 -1
  277. package/dist/components/shad-cn-ui/SolidSelect.js +0 -26
  278. package/dist/components/shad-cn-ui/SolidSelect.js.map +0 -1
  279. package/dist/components/shad-cn-ui/SolidSelect.tsx +0 -65
  280. package/dist/components/shad-cn-ui/SolidTabs.d.ts +0 -18
  281. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +0 -1
  282. package/dist/components/shad-cn-ui/SolidTabs.js +0 -22
  283. package/dist/components/shad-cn-ui/SolidTabs.js.map +0 -1
  284. package/dist/components/shad-cn-ui/SolidTabs.tsx +0 -73
  285. package/dist/components/shad-cn-ui/index.d.ts +0 -7
  286. package/dist/components/shad-cn-ui/index.d.ts.map +0 -1
  287. package/dist/components/shad-cn-ui/index.js +0 -7
  288. package/dist/components/shad-cn-ui/index.js.map +0 -1
  289. package/dist/components/shad-cn-ui/index.ts +0 -6
  290. package/dist/components/solid-ui/SolidButton.d.ts +0 -14
  291. package/dist/components/solid-ui/SolidButton.d.ts.map +0 -1
  292. package/dist/components/solid-ui/SolidButton.js +0 -36
  293. package/dist/components/solid-ui/SolidButton.js.map +0 -1
  294. package/dist/components/solid-ui/SolidButton.tsx +0 -54
  295. package/dist/components/solid-ui/SolidTabs.d.ts +0 -18
  296. package/dist/components/solid-ui/SolidTabs.d.ts.map +0 -1
  297. package/dist/components/solid-ui/SolidTabs.js +0 -22
  298. package/dist/components/solid-ui/SolidTabs.js.map +0 -1
  299. package/dist/components/solid-ui/SolidTabs.tsx +0 -73
  300. package/dist/components/solid-ui/index.d.ts +0 -3
  301. package/dist/components/solid-ui/index.d.ts.map +0 -1
  302. package/dist/components/solid-ui/index.js +0 -3
  303. package/dist/components/solid-ui/index.js.map +0 -1
  304. package/dist/components/solid-ui/index.ts +0 -2
  305. package/dist/resources/images/errors/error-astronaut-404.png +0 -0
  306. package/dist/resources/shadcn-base.css +0 -3200
@@ -4,6 +4,7 @@ import {
4
4
  navbarReducer,
5
5
  popupReducer,
6
6
  themeReducer,
7
+ toastReducer,
7
8
  userReducer
8
9
  } from "../../index";
9
10
  import {
@@ -61,4 +62,5 @@ export const solidReducers = {
61
62
  popup: popupReducer,
62
63
  navbarState: navbarReducer,
63
64
  dataViewState: dataViewReducer,
65
+ toast: toastReducer,
64
66
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidxai/core-ui",
3
- "version": "0.1.5-beta.10",
3
+ "version": "0.1.5-beta.12",
4
4
  "scripts": {
5
5
  "prebuild": "npm run copy-resources && npm run copy-styles",
6
6
  "build": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
@@ -1,14 +0,0 @@
1
- import React from "react";
2
- type Tab = {
3
- key: string;
4
- label: string;
5
- content: React.ReactNode;
6
- };
7
- type AuthTabsProps = {
8
- tabs: Tab[];
9
- activeIndex: number;
10
- onChange: (index: number) => void;
11
- };
12
- export declare const AuthTabs: ({ tabs, activeIndex, onChange }: AuthTabsProps) => import("react/jsx-runtime").JSX.Element | null;
13
- export {};
14
- //# sourceMappingURL=AuthTabs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthTabs.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,GAAG,GAAG;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,QAAQ,oCAAqC,aAAa,mDAsBtE,CAAC"}
@@ -1,19 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { SolidTabGroup } from "../shad-cn-ui";
3
- export var AuthTabs = function (_a) {
4
- var _b;
5
- var tabs = _a.tabs, activeIndex = _a.activeIndex, onChange = _a.onChange;
6
- if (!tabs.length)
7
- return null;
8
- var activeValue = ((_b = tabs[activeIndex]) === null || _b === void 0 ? void 0 : _b.key) || tabs[0].key;
9
- return (_jsx(SolidTabGroup, { className: "solid-auth-tabs", listClassName: "solid-auth-tabs-list", panelClassName: "solid-auth-tabs-panel", tabs: tabs.map(function (tab) { return ({
10
- value: tab.key,
11
- label: tab.label,
12
- content: tab.content,
13
- }); }), value: activeValue, onValueChange: function (value) {
14
- var nextIndex = tabs.findIndex(function (tab) { return tab.key === value; });
15
- if (nextIndex >= 0)
16
- onChange(nextIndex);
17
- } }));
18
- };
19
- //# sourceMappingURL=AuthTabs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthTabs.js","sourceRoot":"","sources":["../../../src/components/auth/AuthTabs.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAc9C,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,EAA8C;;QAA5C,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;IACpD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAM,WAAW,GAAG,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,0CAAE,GAAG,KAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE1D,OAAO,CACL,KAAC,aAAa,IACZ,SAAS,EAAC,iBAAiB,EAC3B,aAAa,EAAC,sBAAsB,EACpC,cAAc,EAAC,uBAAuB,EACtC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;YACvB,KAAK,EAAE,GAAG,CAAC,GAAG;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,EAJsB,CAItB,CAAC,EACH,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,UAAC,KAAK;YACnB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,GAAG,KAAK,KAAK,EAAjB,CAAiB,CAAC,CAAC;YAC7D,IAAI,SAAS,IAAI,CAAC;gBAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { SolidTabGroup } from \"../shad-cn-ui\";\n\ntype Tab = {\n key: string;\n label: string;\n content: React.ReactNode;\n};\n\ntype AuthTabsProps = {\n tabs: Tab[];\n activeIndex: number;\n onChange: (index: number) => void;\n};\n\nexport const AuthTabs = ({ tabs, activeIndex, onChange }: AuthTabsProps) => {\n if (!tabs.length) return null;\n\n const activeValue = tabs[activeIndex]?.key || tabs[0].key;\n\n return (\n <SolidTabGroup\n className=\"solid-auth-tabs\"\n listClassName=\"solid-auth-tabs-list\"\n panelClassName=\"solid-auth-tabs-panel\"\n tabs={tabs.map((tab) => ({\n value: tab.key,\n label: tab.label,\n content: tab.content,\n }))}\n value={activeValue}\n onValueChange={(value) => {\n const nextIndex = tabs.findIndex((tab) => tab.key === value);\n if (nextIndex >= 0) onChange(nextIndex);\n }}\n />\n );\n};\n"]}
@@ -1,38 +0,0 @@
1
- import React from "react";
2
- import { SolidTabGroup } from "../shad-cn-ui";
3
-
4
- type Tab = {
5
- key: string;
6
- label: string;
7
- content: React.ReactNode;
8
- };
9
-
10
- type AuthTabsProps = {
11
- tabs: Tab[];
12
- activeIndex: number;
13
- onChange: (index: number) => void;
14
- };
15
-
16
- export const AuthTabs = ({ tabs, activeIndex, onChange }: AuthTabsProps) => {
17
- if (!tabs.length) return null;
18
-
19
- const activeValue = tabs[activeIndex]?.key || tabs[0].key;
20
-
21
- return (
22
- <SolidTabGroup
23
- className="solid-auth-tabs"
24
- listClassName="solid-auth-tabs-list"
25
- panelClassName="solid-auth-tabs-panel"
26
- tabs={tabs.map((tab) => ({
27
- value: tab.key,
28
- label: tab.label,
29
- content: tab.content,
30
- }))}
31
- value={activeValue}
32
- onValueChange={(value) => {
33
- const nextIndex = tabs.findIndex((tab) => tab.key === value);
34
- if (nextIndex >= 0) onChange(nextIndex);
35
- }}
36
- />
37
- );
38
- };
@@ -1,12 +0,0 @@
1
- type SolidErrorStatePageProps = {
2
- eyebrow?: string;
3
- statusCode?: string;
4
- title: string;
5
- description: string;
6
- actionLabel: string;
7
- actionHref?: string;
8
- onAction?: () => void;
9
- };
10
- export declare const SolidErrorStatePage: ({ eyebrow, statusCode, title, description, actionLabel, actionHref, onAction, }: SolidErrorStatePageProps) => import("react/jsx-runtime").JSX.Element;
11
- export {};
12
- //# sourceMappingURL=SolidErrorStatePage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolidErrorStatePage.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidErrorStatePage.tsx"],"names":[],"mappings":"AAEA,KAAK,wBAAwB,GAAG;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,oFAQ7B,wBAAwB,4CAkC1B,CAAC"}
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { SolidButton } from "../shad-cn-ui/SolidButton";
3
- export var SolidErrorStatePage = function (_a) {
4
- var _b = _a.eyebrow, eyebrow = _b === void 0 ? "Whoops!" : _b, statusCode = _a.statusCode, title = _a.title, description = _a.description, actionLabel = _a.actionLabel, actionHref = _a.actionHref, onAction = _a.onAction;
5
- var handleAction = function () {
6
- if (onAction) {
7
- onAction();
8
- return;
9
- }
10
- if (actionHref) {
11
- window.location.href = actionHref;
12
- }
13
- };
14
- return (_jsxs("div", { className: "solid-error-page", children: [_jsx("section", { className: "solid-error-page__content", children: _jsxs("div", { className: "solid-error-page__copy", children: [_jsx("p", { className: "solid-error-page__eyebrow", children: eyebrow }), _jsx("h1", { className: "solid-error-page__title", children: title }), _jsx("p", { className: "solid-error-page__description", children: description }), _jsx(SolidButton, { size: "lg", className: "solid-error-page__cta", onClick: handleAction, children: actionLabel })] }) }), _jsx("section", { className: "solid-error-page__visual", "aria-hidden": "true", children: _jsx("div", { className: "solid-error-page__visual-card", children: statusCode ? _jsx("span", { className: "solid-error-page__code", children: statusCode }) : null }) })] }));
15
- };
16
- //# sourceMappingURL=SolidErrorStatePage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolidErrorStatePage.js","sourceRoot":"","sources":["../../../src/components/common/SolidErrorStatePage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAYxD,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAQT;QAPzB,eAAmB,EAAnB,OAAO,mBAAG,SAAS,KAAA,EACnB,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,QAAQ,cAAA;IAER,IAAM,YAAY,GAAG;QACnB,IAAI,QAAQ,EAAE;YACZ,QAAQ,EAAE,CAAC;YACX,OAAO;SACR;QACD,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;SACnC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,aAC/B,kBAAS,SAAS,EAAC,2BAA2B,YAC5C,eAAK,SAAS,EAAC,wBAAwB,aACrC,YAAG,SAAS,EAAC,2BAA2B,YAAE,OAAO,GAAK,EACtD,aAAI,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAM,EACpD,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,EAC9D,KAAC,WAAW,IACV,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,YAAY,YAEpB,WAAW,GACA,IACV,GACE,EACV,kBAAS,SAAS,EAAC,0BAA0B,iBAAa,MAAM,YAC9D,cAAK,SAAS,EAAC,+BAA+B,YAC3C,UAAU,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,wBAAwB,YAAE,UAAU,GAAQ,CAAC,CAAC,CAAC,IAAI,GAC7E,GACE,IACN,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { SolidButton } from \"../shad-cn-ui/SolidButton\";\n\ntype SolidErrorStatePageProps = {\n eyebrow?: string;\n statusCode?: string;\n title: string;\n description: string;\n actionLabel: string;\n actionHref?: string;\n onAction?: () => void;\n};\n\nexport const SolidErrorStatePage = ({\n eyebrow = \"Whoops!\",\n statusCode,\n title,\n description,\n actionLabel,\n actionHref,\n onAction,\n}: SolidErrorStatePageProps) => {\n const handleAction = () => {\n if (onAction) {\n onAction();\n return;\n }\n if (actionHref) {\n window.location.href = actionHref;\n }\n };\n\n return (\n <div className=\"solid-error-page\">\n <section className=\"solid-error-page__content\">\n <div className=\"solid-error-page__copy\">\n <p className=\"solid-error-page__eyebrow\">{eyebrow}</p>\n <h1 className=\"solid-error-page__title\">{title}</h1>\n <p className=\"solid-error-page__description\">{description}</p>\n <SolidButton\n size=\"lg\"\n className=\"solid-error-page__cta\"\n onClick={handleAction}\n >\n {actionLabel}\n </SolidButton>\n </div>\n </section>\n <section className=\"solid-error-page__visual\" aria-hidden=\"true\">\n <div className=\"solid-error-page__visual-card\">\n {statusCode ? <span className=\"solid-error-page__code\">{statusCode}</span> : null}\n </div>\n </section>\n </div>\n );\n};\n"]}
@@ -1,55 +0,0 @@
1
- import { SolidButton } from "../shad-cn-ui/SolidButton";
2
-
3
- type SolidErrorStatePageProps = {
4
- eyebrow?: string;
5
- statusCode?: string;
6
- title: string;
7
- description: string;
8
- actionLabel: string;
9
- actionHref?: string;
10
- onAction?: () => void;
11
- };
12
-
13
- export const SolidErrorStatePage = ({
14
- eyebrow = "Whoops!",
15
- statusCode,
16
- title,
17
- description,
18
- actionLabel,
19
- actionHref,
20
- onAction,
21
- }: SolidErrorStatePageProps) => {
22
- const handleAction = () => {
23
- if (onAction) {
24
- onAction();
25
- return;
26
- }
27
- if (actionHref) {
28
- window.location.href = actionHref;
29
- }
30
- };
31
-
32
- return (
33
- <div className="solid-error-page">
34
- <section className="solid-error-page__content">
35
- <div className="solid-error-page__copy">
36
- <p className="solid-error-page__eyebrow">{eyebrow}</p>
37
- <h1 className="solid-error-page__title">{title}</h1>
38
- <p className="solid-error-page__description">{description}</p>
39
- <SolidButton
40
- size="lg"
41
- className="solid-error-page__cta"
42
- onClick={handleAction}
43
- >
44
- {actionLabel}
45
- </SolidButton>
46
- </div>
47
- </section>
48
- <section className="solid-error-page__visual" aria-hidden="true">
49
- <div className="solid-error-page__visual-card">
50
- {statusCode ? <span className="solid-error-page__code">{statusCode}</span> : null}
51
- </div>
52
- </section>
53
- </div>
54
- );
55
- };
@@ -1,92 +0,0 @@
1
- # List View Rewrite Plan (Shadcn + Single Sort)
2
-
3
- ## Goal
4
- - [ ] Rebuild list view UX on shadcn primitives while preserving current behavior.
5
- - [ ] Remove PrimeReact dependencies from list flow.
6
- - [ ] Replace multi-sort with single-sort everywhere (UI, state, query, imperative API).
7
-
8
- ## Scope
9
- - [ ] `SolidListView.tsx`
10
- - [ ] `SolidListViewColumn.tsx` + `columns/*`
11
- - [ ] `SolidListViewConfigure.tsx`
12
- - [ ] `SolidColumnSelector/SolidListColumnSelector.tsx`
13
- - [ ] `core/common/SolidGlobalSearchElement.tsx`
14
- - [ ] `core/common/FilterComponent.tsx`
15
- - [ ] `core/common/SolidGenericImport/*`
16
- - [ ] `components/common/SolidExport.tsx`
17
-
18
- ## Phase 1: Architecture Baseline
19
- - [ ] Define target component map (shadcn): table, dropdown-menu, dialog, popover, tabs, select, checkbox, input, pagination.
20
- - [ ] Freeze current contract of `SolidListViewHandle` and decide required signature changes for single-sort.
21
- - [ ] Add migration notes for preserved extension points:
22
- - [ ] `onListLoad`
23
- - [ ] `onBeforeListDataLoad`
24
- - [ ] custom header/row buttons
25
-
26
- ## Phase 2: Sorting (Drop Multi-sort)
27
- - [x] Replace `multiSortMeta` state with single sort state (`sortField`, `sortOrder`).
28
- - [x] Update DataTable/table trigger logic to emit one active sort only.
29
- - [x] Update `setQueryString()` to serialize exactly one sort expression.
30
- - [x] Update localStorage restore/persist shape to single-sort.
31
- - [x] Update `SolidListViewHandle.setSort(...)` to single-sort API.
32
- - [x] Remove/cleanup all code paths referencing `event.multiSortMeta`.
33
-
34
- ## Phase 3: Core Table + Pagination
35
- - [x] Implement shadcn table container and row rendering.
36
- - [x] Recreate selectable rows (active + deleted split behavior).
37
- - [x] Recreate paginator with:
38
- - [x] rows per page
39
- - [x] current page report
40
- - [x] next/prev controls
41
- - [x] Preserve row click routing and session back-navigation markers.
42
- - [ ] Preserve archived/recover flows.
43
-
44
- ## Phase 4: Filters + Search
45
- - [ ] Keep predicate model unchanged (`custom_filter_predicate`, `search_predicate`, `saved_filter_predicate`, `predefined_search_predicate`, grouping/aggregation).
46
- - [ ] Migrate `SolidGlobalSearchElement` dialogs/popovers to shadcn.
47
- - [ ] Migrate `FilterComponent` rule builder UI to shadcn controls.
48
- - [ ] Preserve saved filter URL behavior (`savedQuery`) and local cache behavior.
49
- - [ ] Confirm relation filter hydration still works.
50
-
51
- ## Phase 5: Configure Menu + Column Selector
52
- - [ ] Replace cog overlay/context menu with shadcn dropdown/popover.
53
- - [ ] Rebuild "Customize Layout" panel in shadcn.
54
- - [ ] Keep drag-reorder + checkbox visibility behavior in `SolidListColumnSelector`.
55
- - [ ] Remove page reload after layout save; refetch/re-render list metadata instead.
56
- - [ ] Fix permission guard checks in configure actions (`actionsAllowed.includes(...)`).
57
-
58
- ## Phase 6: Import / Export
59
- - [ ] Migrate `SolidExport` dialog and controls to shadcn.
60
- - [ ] Preserve template CRUD and filtered export path.
61
- - [ ] Migrate `SolidGenericImport` stepper/dialog flow to shadcn.
62
- - [ ] Preserve upload, mapping, sync import, and failed-record download behavior.
63
-
64
- ## Phase 7: Column Renderers
65
- - [ ] Keep `SolidListViewColumn` type dispatch pattern.
66
- - [ ] Migrate per-column cell UI to shadcn styling where applicable.
67
- - [ ] Preserve widgets loaded via extension registry.
68
- - [ ] Verify relation columns (many-to-one, one-to-many, many-to-many) behavior parity.
69
-
70
- ## Phase 8: Cleanup
71
- - [ ] Remove unused PrimeReact imports/styles from list modules.
72
- - [ ] Delete obsolete list-specific filter components if fully replaced.
73
- - [ ] Consolidate duplicated filter helpers between `core/list` and `core/filter` if safe.
74
-
75
- ## Validation Checklist
76
- - [ ] List metadata fetch works for list pages and embedded mode.
77
- - [ ] API query contains correct: `offset`, `limit`, `filters`, `populate`, `populateMedia`, `sort`, `locale`.
78
- - [ ] Single sort works from UI and imperative API.
79
- - [ ] Pagination state persists/restores correctly.
80
- - [ ] Global search + custom filters + saved filters + predefined searches work together.
81
- - [ ] Grouping/aggregation predicates are preserved in query payload.
82
- - [ ] Column selector save updates layout reliably.
83
- - [ ] Import and export end-to-end succeed.
84
- - [ ] Row actions (default + custom) still honor permissions/roles.
85
-
86
- ## Suggested Execution Order
87
- - [ ] 1) Sorting refactor first (single-sort data model).
88
- - [ ] 2) Table shell + pagination.
89
- - [ ] 3) Configure menu + column selector.
90
- - [ ] 4) Global search/filter builder.
91
- - [ ] 5) Import/export.
92
- - [ ] 6) Column renderer pass + cleanup.
@@ -1,58 +0,0 @@
1
- import React from "react";
2
- export type DataTableStateEvent = {
3
- sortField?: string;
4
- sortOrder?: 1 | -1 | 0;
5
- };
6
- type HeaderRenderer = React.ReactNode | (() => React.ReactNode);
7
- type BodyRenderer = (rowData: any) => React.ReactNode;
8
- export type SolidColumnProps = {
9
- field?: string;
10
- header?: HeaderRenderer;
11
- body?: BodyRenderer;
12
- sortable?: boolean;
13
- selectionMode?: "multiple" | "single" | null;
14
- headerStyle?: React.CSSProperties;
15
- style?: React.CSSProperties;
16
- className?: string;
17
- headerClassName?: string;
18
- frozen?: boolean;
19
- alignFrozen?: "left" | "right";
20
- [key: string]: any;
21
- };
22
- export declare function Column(_props: SolidColumnProps): null;
23
- type SolidDataTableProps = {
24
- value: any[];
25
- children: React.ReactNode;
26
- size?: "small" | "normal" | "large";
27
- viewportHeight?: string;
28
- dataKey?: string;
29
- emptyMessage?: React.ReactNode;
30
- rows?: number;
31
- first?: number;
32
- totalRecords?: number;
33
- rowsPerPageOptions?: number[];
34
- onPage?: (event: {
35
- first: number;
36
- rows: number;
37
- }) => void;
38
- onSort?: (event: DataTableStateEvent) => void;
39
- sortField?: string;
40
- sortOrder?: 1 | -1 | 0;
41
- removableSort?: boolean;
42
- selection?: any[];
43
- selectionMode?: "checkbox" | null;
44
- onSelectionChange?: (event: {
45
- value: any[];
46
- }) => void;
47
- onRowClick?: (event: {
48
- data: any;
49
- }) => void;
50
- rowClassName?: (rowData: any) => string;
51
- tableClassName?: string;
52
- paginatorClassName?: string;
53
- currentPageReportTemplate?: string;
54
- [key: string]: any;
55
- };
56
- export declare function SolidDataTable({ value, children, size, viewportHeight, dataKey, emptyMessage, rows, first, totalRecords, rowsPerPageOptions, onPage, onSort, sortField, sortOrder, removableSort, selection, selectionMode, onSelectionChange, onRowClick, rowClassName, tableClassName, paginatorClassName, currentPageReportTemplate, }: SolidDataTableProps): import("react/jsx-runtime").JSX.Element;
57
- export {};
58
- //# sourceMappingURL=SolidDataTable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolidDataTable.d.ts","sourceRoot":"","sources":["../../../../src/components/core/list/SolidDataTable.tsx"],"names":[],"mappings":"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"}
@@ -1,141 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
- if (ar || !(i in from)) {
15
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
- ar[i] = from[i];
17
- }
18
- }
19
- return to.concat(ar || Array.prototype.slice.call(from));
20
- };
21
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
- import React from "react";
23
- export function Column(_props) {
24
- return null;
25
- }
26
- var cx = function () {
27
- var parts = [];
28
- for (var _i = 0; _i < arguments.length; _i++) {
29
- parts[_i] = arguments[_i];
30
- }
31
- return parts.filter(Boolean).join(" ");
32
- };
33
- function renderHeaderNode(header) {
34
- if (typeof header === "function")
35
- return header();
36
- return header !== null && header !== void 0 ? header : null;
37
- }
38
- function normalizeColumns(children) {
39
- return React.Children.toArray(children).filter(function (child) {
40
- return React.isValidElement(child);
41
- });
42
- }
43
- function resolveSortIcon(active, order) {
44
- if (!active || order === 0)
45
- return "pi pi-sort-alt";
46
- return order === 1 ? "pi pi-sort-amount-up-alt" : "pi pi-sort-amount-down";
47
- }
48
- function nextSortOrder(active, order, removableSort) {
49
- if (removableSort === void 0) { removableSort = true; }
50
- if (!active || order === 0)
51
- return 1;
52
- if (order === 1)
53
- return -1;
54
- return removableSort ? 0 : 1;
55
- }
56
- export function SolidDataTable(_a) {
57
- var value = _a.value, children = _a.children, _b = _a.size, size = _b === void 0 ? "normal" : _b, viewportHeight = _a.viewportHeight, _c = _a.dataKey, dataKey = _c === void 0 ? "id" : _c, emptyMessage = _a.emptyMessage, _d = _a.rows, rows = _d === void 0 ? 25 : _d, _e = _a.first, first = _e === void 0 ? 0 : _e, _f = _a.totalRecords, totalRecords = _f === void 0 ? 0 : _f, _g = _a.rowsPerPageOptions, rowsPerPageOptions = _g === void 0 ? [10, 25, 50, 100] : _g, onPage = _a.onPage, onSort = _a.onSort, sortField = _a.sortField, _h = _a.sortOrder, sortOrder = _h === void 0 ? 0 : _h, _j = _a.removableSort, removableSort = _j === void 0 ? true : _j, _k = _a.selection, selection = _k === void 0 ? [] : _k, selectionMode = _a.selectionMode, onSelectionChange = _a.onSelectionChange, onRowClick = _a.onRowClick, rowClassName = _a.rowClassName, tableClassName = _a.tableClassName, paginatorClassName = _a.paginatorClassName, _l = _a.currentPageReportTemplate, currentPageReportTemplate = _l === void 0 ? "{first} - {last} of {totalRecords}" : _l;
58
- var columns = normalizeColumns(children);
59
- var pageRows = value !== null && value !== void 0 ? value : [];
60
- var selectedKeys = new Set((selection || []).map(function (row) { return String(row === null || row === void 0 ? void 0 : row[dataKey]); }));
61
- var allSelected = pageRows.length > 0 && pageRows.every(function (row) { return selectedKeys.has(String(row === null || row === void 0 ? void 0 : row[dataKey])); });
62
- var start = totalRecords === 0 ? 0 : first + 1;
63
- var end = Math.min(first + rows, totalRecords);
64
- var currentPage = rows > 0 ? Math.floor(first / rows) + 1 : 1;
65
- var totalPages = rows > 0 ? Math.max(1, Math.ceil(totalRecords / rows)) : 1;
66
- var report = currentPageReportTemplate
67
- .replace("{first}", String(start))
68
- .replace("{last}", String(end))
69
- .replace("{totalRecords}", String(totalRecords));
70
- var emitSelection = function (nextSelection) {
71
- onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange({ value: nextSelection });
72
- };
73
- var toggleSelectAll = function (checked) {
74
- if (!checked) {
75
- var pageKeys_1 = new Set(pageRows.map(function (row) { return String(row === null || row === void 0 ? void 0 : row[dataKey]); }));
76
- emitSelection((selection || []).filter(function (row) { return !pageKeys_1.has(String(row === null || row === void 0 ? void 0 : row[dataKey])); }));
77
- return;
78
- }
79
- var merged = __spreadArray([], (selection || []), true);
80
- var mergedKeys = new Set(merged.map(function (row) { return String(row === null || row === void 0 ? void 0 : row[dataKey]); }));
81
- pageRows.forEach(function (row) {
82
- var key = String(row === null || row === void 0 ? void 0 : row[dataKey]);
83
- if (!mergedKeys.has(key))
84
- merged.push(row);
85
- });
86
- emitSelection(merged);
87
- };
88
- var toggleRowSelection = function (rowData, checked) {
89
- var key = String(rowData === null || rowData === void 0 ? void 0 : rowData[dataKey]);
90
- if (!checked) {
91
- emitSelection((selection || []).filter(function (row) { return String(row === null || row === void 0 ? void 0 : row[dataKey]) !== key; }));
92
- return;
93
- }
94
- emitSelection(__spreadArray(__spreadArray([], (selection || []), true), [rowData], false));
95
- };
96
- var densityClass = size === "small"
97
- ? "solid-table-density-compact"
98
- : size === "large"
99
- ? "solid-table-density-comfortable"
100
- : "solid-table-density-cozy";
101
- return (_jsxs("div", { className: cx("solid-data-table-root w-full min-h-0", densityClass), style: {
102
- height: viewportHeight || "100%",
103
- maxHeight: viewportHeight || "100%",
104
- }, children: [_jsx("div", { className: "solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background", children: _jsxs("table", { className: cx("w-full text-sm border-collapse", tableClassName), children: [_jsx("thead", { className: "solid-data-table-head sticky top-0 z-2", children: _jsx("tr", { children: columns.map(function (column, index) {
105
- var props = column.props;
106
- var isSelectionColumn = props.selectionMode === "multiple";
107
- var isSortable = Boolean(props.sortable && props.field && !isSelectionColumn);
108
- var isActiveSort = isSortable && sortField === props.field;
109
- var iconClass = resolveSortIcon(Boolean(isActiveSort), sortOrder);
110
- return (_jsx("th", { className: cx("solid-data-table-th text-left text-foreground whitespace-nowrap", isSelectionColumn ? "solid-data-table-selection-col" : undefined, props.headerClassName), style: __assign(__assign({}, props.style), props.headerStyle), children: isSelectionColumn ? (_jsx("input", { type: "checkbox", checked: allSelected, onChange: function (e) { return toggleSelectAll(e.currentTarget.checked); }, "aria-label": "Select all rows" })) : (_jsxs("button", { type: "button", className: cx("solid-table-header-button", isSortable ? "is-sortable" : undefined), onClick: function () {
111
- if (!isSortable)
112
- return;
113
- var nextOrder = nextSortOrder(Boolean(isActiveSort), sortOrder, removableSort);
114
- onSort === null || onSort === void 0 ? void 0 : onSort({
115
- sortField: nextOrder === 0 ? undefined : props.field,
116
- sortOrder: nextOrder,
117
- });
118
- }, children: [renderHeaderNode(props.header), isSortable ? _jsx("i", { className: iconClass, "aria-hidden": "true" }) : null] })) }, "header-".concat(index)));
119
- }) }) }), _jsx("tbody", { children: pageRows.length === 0 ? (_jsx("tr", { children: _jsx("td", { className: "px-3 py-6 text-center text-muted-foreground", colSpan: Math.max(columns.length, 1), children: emptyMessage || "No records found" }) })) : (pageRows.map(function (rowData) {
120
- var key = String(rowData === null || rowData === void 0 ? void 0 : rowData[dataKey]);
121
- var rowSelected = selectedKeys.has(key);
122
- return (_jsx("tr", { className: cx("solid-data-table-row", rowClassName === null || rowClassName === void 0 ? void 0 : rowClassName(rowData)), onClick: function (event) {
123
- var target = event.target;
124
- if (target.closest("button,a,input,label,[data-no-row-click='true']"))
125
- return;
126
- onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick({ data: rowData });
127
- }, children: columns.map(function (column, index) {
128
- var props = column.props;
129
- var isSelectionColumn = props.selectionMode === "multiple";
130
- var content = isSelectionColumn
131
- ? (_jsx("input", { type: "checkbox", checked: rowSelected, onChange: function (e) { return toggleRowSelection(rowData, e.currentTarget.checked); }, onClick: function (e) { return e.stopPropagation(); }, "aria-label": "Select row" }))
132
- : props.body
133
- ? props.body(rowData)
134
- : props.field
135
- ? rowData === null || rowData === void 0 ? void 0 : rowData[props.field]
136
- : null;
137
- return (_jsx("td", { className: cx("solid-data-table-td align-top text-foreground", isSelectionColumn ? "solid-data-table-selection-col" : undefined, props.className), style: props.style, children: content }, "cell-".concat(key, "-").concat(index)));
138
- }) }, key));
139
- })) })] }) }), typeof onPage === "function" ? (_jsxs("div", { className: cx("w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background", paginatorClassName), children: [_jsxs("div", { className: "solid-paginator-meta flex items-center gap-2 ml-auto", children: [_jsx("span", { className: "solid-paginator-label", children: "Rows" }), _jsx("select", { value: rows, onChange: function (e) { return onPage({ first: 0, rows: Number(e.target.value) }); }, className: "solid-paginator-select", children: rowsPerPageOptions.map(function (option) { return (_jsx("option", { value: option, children: option }, option)); }) }), _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 () { return onPage({ first: Math.max(0, first - rows), rows: rows }); }, disabled: currentPage <= 1, children: "Previous" }), _jsx("button", { type: "button", className: "solid-paginator-btn", onClick: function () { return onPage({ first: Math.min((totalPages - 1) * rows, first + rows), rows: rows }); }, disabled: currentPage >= totalPages, children: "Next" })] })] })) : null] }));
140
- }
141
- //# sourceMappingURL=SolidDataTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolidDataTable.js","sourceRoot":"","sources":["../../../../src/components/core/list/SolidDataTable.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\n\nexport type DataTableStateEvent = {\n sortField?: string;\n sortOrder?: 1 | -1 | 0;\n};\n\ntype HeaderRenderer = React.ReactNode | (() => React.ReactNode);\ntype BodyRenderer = (rowData: any) => React.ReactNode;\n\nexport type SolidColumnProps = {\n field?: string;\n header?: HeaderRenderer;\n body?: BodyRenderer;\n sortable?: boolean;\n selectionMode?: \"multiple\" | \"single\" | null;\n headerStyle?: React.CSSProperties;\n style?: React.CSSProperties;\n className?: string;\n headerClassName?: string;\n frozen?: boolean;\n alignFrozen?: \"left\" | \"right\";\n [key: string]: any;\n};\n\nexport function Column(_props: SolidColumnProps) {\n return null;\n}\n\ntype SolidDataTableProps = {\n value: any[];\n children: React.ReactNode;\n size?: \"small\" | \"normal\" | \"large\";\n viewportHeight?: string;\n dataKey?: string;\n emptyMessage?: React.ReactNode;\n rows?: number;\n first?: number;\n totalRecords?: number;\n rowsPerPageOptions?: number[];\n onPage?: (event: { first: number; rows: number }) => void;\n onSort?: (event: DataTableStateEvent) => void;\n sortField?: string;\n sortOrder?: 1 | -1 | 0;\n removableSort?: boolean;\n selection?: any[];\n selectionMode?: \"checkbox\" | null;\n onSelectionChange?: (event: { value: any[] }) => void;\n onRowClick?: (event: { data: any }) => void;\n rowClassName?: (rowData: any) => string;\n tableClassName?: string;\n paginatorClassName?: string;\n currentPageReportTemplate?: string;\n [key: string]: any;\n};\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nfunction renderHeaderNode(header?: HeaderRenderer) {\n if (typeof header === \"function\") return header();\n return header ?? null;\n}\n\nfunction normalizeColumns(children: React.ReactNode): React.ReactElement<SolidColumnProps>[] {\n return React.Children.toArray(children).filter((child): child is React.ReactElement<SolidColumnProps> => {\n return React.isValidElement(child);\n });\n}\n\nfunction resolveSortIcon(active: boolean, order: 1 | -1 | 0): string {\n if (!active || order === 0) return \"pi pi-sort-alt\";\n return order === 1 ? \"pi pi-sort-amount-up-alt\" : \"pi pi-sort-amount-down\";\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\nexport function SolidDataTable({\n value,\n children,\n size = \"normal\",\n viewportHeight,\n dataKey = \"id\",\n emptyMessage,\n rows = 25,\n first = 0,\n totalRecords = 0,\n rowsPerPageOptions = [10, 25, 50, 100],\n onPage,\n onSort,\n sortField,\n sortOrder = 0,\n removableSort = true,\n selection = [],\n selectionMode,\n onSelectionChange,\n onRowClick,\n rowClassName,\n tableClassName,\n paginatorClassName,\n currentPageReportTemplate = \"{first} - {last} of {totalRecords}\",\n}: SolidDataTableProps) {\n const columns = normalizeColumns(children);\n const pageRows = value ?? [];\n\n const selectedKeys = new Set((selection || []).map((row: any) => String(row?.[dataKey])));\n const allSelected = pageRows.length > 0 && pageRows.every((row: any) => selectedKeys.has(String(row?.[dataKey])));\n\n const start = totalRecords === 0 ? 0 : first + 1;\n const end = Math.min(first + rows, totalRecords);\n const currentPage = rows > 0 ? Math.floor(first / rows) + 1 : 1;\n const totalPages = rows > 0 ? Math.max(1, Math.ceil(totalRecords / rows)) : 1;\n\n const report = currentPageReportTemplate\n .replace(\"{first}\", String(start))\n .replace(\"{last}\", String(end))\n .replace(\"{totalRecords}\", String(totalRecords));\n\n const emitSelection = (nextSelection: any[]) => {\n onSelectionChange?.({ value: nextSelection });\n };\n\n const toggleSelectAll = (checked: boolean) => {\n if (!checked) {\n const pageKeys = new Set(pageRows.map((row: any) => String(row?.[dataKey])));\n emitSelection((selection || []).filter((row: any) => !pageKeys.has(String(row?.[dataKey]))));\n return;\n }\n const merged = [...(selection || [])];\n const mergedKeys = new Set(merged.map((row: any) => String(row?.[dataKey])));\n pageRows.forEach((row: any) => {\n const key = String(row?.[dataKey]);\n if (!mergedKeys.has(key)) merged.push(row);\n });\n emitSelection(merged);\n };\n\n const toggleRowSelection = (rowData: any, checked: boolean) => {\n const key = String(rowData?.[dataKey]);\n if (!checked) {\n emitSelection((selection || []).filter((row: any) => String(row?.[dataKey]) !== key));\n return;\n }\n emitSelection([...(selection || []), rowData]);\n };\n\n const densityClass =\n size === \"small\"\n ? \"solid-table-density-compact\"\n : size === \"large\"\n ? \"solid-table-density-comfortable\"\n : \"solid-table-density-cozy\";\n\n return (\n <div\n className={cx(\"solid-data-table-root w-full min-h-0\", densityClass)}\n style={{\n height: viewportHeight || \"100%\",\n maxHeight: viewportHeight || \"100%\",\n }}\n >\n <div className=\"solid-data-table-viewport min-h-0 rounded-md border border-border/60 bg-background\">\n <table className={cx(\"w-full text-sm border-collapse\", tableClassName)}>\n <thead className=\"solid-data-table-head sticky top-0 z-2\">\n <tr>\n {columns.map((column, index) => {\n const props = column.props;\n const isSelectionColumn = props.selectionMode === \"multiple\";\n const isSortable = Boolean(props.sortable && props.field && !isSelectionColumn);\n const isActiveSort = isSortable && sortField === props.field;\n const iconClass = resolveSortIcon(Boolean(isActiveSort), sortOrder);\n return (\n <th\n key={`header-${index}`}\n className={cx(\n \"solid-data-table-th text-left text-foreground whitespace-nowrap\",\n isSelectionColumn ? \"solid-data-table-selection-col\" : undefined,\n props.headerClassName\n )}\n style={{ ...props.style, ...props.headerStyle }}\n >\n {isSelectionColumn ? (\n <input\n type=\"checkbox\"\n checked={allSelected}\n onChange={(e) => toggleSelectAll(e.currentTarget.checked)}\n aria-label=\"Select all rows\"\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 ? <i className={iconClass} aria-hidden=\"true\" /> : null}\n </button>\n )}\n </th>\n );\n })}\n </tr>\n </thead>\n <tbody>\n {pageRows.length === 0 ? (\n <tr>\n <td className=\"px-3 py-6 text-center text-muted-foreground\" colSpan={Math.max(columns.length, 1)}>\n {emptyMessage || \"No records found\"}\n </td>\n </tr>\n ) : (\n pageRows.map((rowData: any) => {\n const key = String(rowData?.[dataKey]);\n const rowSelected = selectedKeys.has(key);\n return (\n <tr\n key={key}\n className={cx(\"solid-data-table-row\", rowClassName?.(rowData))}\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?.({ data: rowData });\n }}\n >\n {columns.map((column, index) => {\n const props = column.props;\n const isSelectionColumn = props.selectionMode === \"multiple\";\n const content = isSelectionColumn\n ? (\n <input\n type=\"checkbox\"\n checked={rowSelected}\n onChange={(e) => toggleRowSelection(rowData, e.currentTarget.checked)}\n onClick={(e) => e.stopPropagation()}\n aria-label=\"Select row\"\n />\n )\n : props.body\n ? props.body(rowData)\n : props.field\n ? rowData?.[props.field]\n : null;\n return (\n <td\n key={`cell-${key}-${index}`}\n className={cx(\n \"solid-data-table-td align-top text-foreground\",\n isSelectionColumn ? \"solid-data-table-selection-col\" : undefined,\n props.className\n )}\n style={props.style}\n >\n {content}\n </td>\n );\n })}\n </tr>\n );\n })\n )}\n </tbody>\n </table>\n </div>\n\n {typeof onPage === \"function\" ? (\n <div\n className={cx(\"w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-3 py-1.5 bg-background\", paginatorClassName)}\n >\n <div className=\"solid-paginator-meta flex items-center gap-2 ml-auto\">\n <span className=\"solid-paginator-label\">Rows</span>\n <select\n value={rows}\n onChange={(e) => onPage({ first: 0, rows: Number(e.target.value) })}\n className=\"solid-paginator-select\"\n >\n {rowsPerPageOptions.map((option) => (\n <option key={option} value={option}>{option}</option>\n ))}\n </select>\n <span className=\"solid-paginator-report\">{report}</span>\n </div>\n <div className=\"solid-paginator-actions flex items-center gap-2\">\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={() => onPage({ first: Math.max(0, first - rows), rows })}\n disabled={currentPage <= 1}\n >\n Previous\n </button>\n <button\n type=\"button\"\n className=\"solid-paginator-btn\"\n onClick={() => onPage({ first: Math.min((totalPages - 1) * rows, first + rows), rows })}\n disabled={currentPage >= totalPages}\n >\n Next\n </button>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n"]}