@solidxai/core-ui 0.1.8-beta.8 → 0.1.8

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 (361) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/auth/getSession.d.ts.map +1 -1
  3. package/dist/adapters/auth/getSession.js +1 -1
  4. package/dist/adapters/auth/getSession.js.map +1 -1
  5. package/dist/adapters/auth/getSession.ts +1 -0
  6. package/dist/adapters/auth/helper.d.ts.map +1 -1
  7. package/dist/adapters/auth/helper.js +1 -0
  8. package/dist/adapters/auth/helper.js.map +1 -1
  9. package/dist/adapters/auth/helper.ts +3 -1
  10. package/dist/adapters/auth/signIn.d.ts.map +1 -1
  11. package/dist/adapters/auth/signIn.js +1 -0
  12. package/dist/adapters/auth/signIn.js.map +1 -1
  13. package/dist/adapters/auth/signIn.ts +3 -1
  14. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts +1 -0
  15. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts.map +1 -1
  16. package/dist/adapters/auth/signInWithOAuthAccessCode.js +10 -9
  17. package/dist/adapters/auth/signInWithOAuthAccessCode.js.map +1 -1
  18. package/dist/adapters/auth/signInWithOAuthAccessCode.ts +6 -3
  19. package/dist/adapters/auth/signOut.d.ts.map +1 -1
  20. package/dist/adapters/auth/signOut.js +7 -1
  21. package/dist/adapters/auth/signOut.js.map +1 -1
  22. package/dist/adapters/auth/signOut.ts +7 -1
  23. package/dist/adapters/auth/types.d.ts +1 -0
  24. package/dist/adapters/auth/types.d.ts.map +1 -1
  25. package/dist/adapters/auth/types.js.map +1 -1
  26. package/dist/adapters/auth/types.ts +1 -0
  27. package/dist/components/auth/AuthLayout.d.ts +1 -1
  28. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  29. package/dist/components/auth/AuthLayout.js +92 -39
  30. package/dist/components/auth/AuthLayout.js.map +1 -1
  31. package/dist/components/auth/AuthLayout.tsx +38 -30
  32. package/dist/components/auth/AuthSettingsContext.d.ts +10 -0
  33. package/dist/components/auth/AuthSettingsContext.d.ts.map +1 -0
  34. package/dist/components/auth/AuthSettingsContext.js +49 -0
  35. package/dist/components/auth/AuthSettingsContext.js.map +1 -0
  36. package/dist/components/auth/AuthSettingsContext.tsx +19 -0
  37. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  38. package/dist/components/auth/AuthTabs.js +9 -9
  39. package/dist/components/auth/AuthTabs.js.map +1 -1
  40. package/dist/components/auth/AuthTabs.tsx +14 -15
  41. package/dist/components/auth/FacebookAuthChecking.d.ts +2 -0
  42. package/dist/components/auth/FacebookAuthChecking.d.ts.map +1 -0
  43. package/dist/components/auth/FacebookAuthChecking.js +98 -0
  44. package/dist/components/auth/FacebookAuthChecking.js.map +1 -0
  45. package/dist/components/auth/FacebookAuthChecking.tsx +59 -0
  46. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  47. package/dist/components/auth/ForgotPasswordThankYou.js +2 -6
  48. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  49. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -7
  50. package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
  51. package/dist/components/auth/GoogleAuthChecking.js +10 -16
  52. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  53. package/dist/components/auth/GoogleAuthChecking.tsx +2 -7
  54. package/dist/components/auth/MicrosoftAuthChecking.d.ts +2 -0
  55. package/dist/components/auth/MicrosoftAuthChecking.d.ts.map +1 -0
  56. package/dist/components/auth/MicrosoftAuthChecking.js +98 -0
  57. package/dist/components/auth/MicrosoftAuthChecking.js.map +1 -0
  58. package/dist/components/auth/MicrosoftAuthChecking.tsx +59 -0
  59. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  60. package/dist/components/auth/SolidForgotPassword.js +2 -6
  61. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  62. package/dist/components/auth/SolidForgotPassword.tsx +2 -7
  63. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  64. package/dist/components/auth/SolidInitialLoginOtp.js +13 -22
  65. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  66. package/dist/components/auth/SolidInitialLoginOtp.tsx +4 -12
  67. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  68. package/dist/components/auth/SolidInitiateRegisterOtp.js +27 -14
  69. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  70. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +27 -15
  71. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  72. package/dist/components/auth/SolidLogin.js +18 -23
  73. package/dist/components/auth/SolidLogin.js.map +1 -1
  74. package/dist/components/auth/SolidLogin.tsx +18 -15
  75. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  76. package/dist/components/auth/SolidRegister.js +50 -22
  77. package/dist/components/auth/SolidRegister.js.map +1 -1
  78. package/dist/components/auth/SolidRegister.tsx +101 -41
  79. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  80. package/dist/components/auth/SolidResetPassword.js +2 -6
  81. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  82. package/dist/components/auth/SolidResetPassword.tsx +2 -6
  83. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  84. package/dist/components/common/GeneralSettings.js +235 -156
  85. package/dist/components/common/GeneralSettings.js.map +1 -1
  86. package/dist/components/common/GeneralSettings.tsx +1109 -795
  87. package/dist/components/common/SettingsComponent.d.ts +2 -0
  88. package/dist/components/common/SettingsComponent.d.ts.map +1 -0
  89. package/dist/components/common/SettingsComponent.js +351 -0
  90. package/dist/components/common/SettingsComponent.js.map +1 -0
  91. package/dist/components/common/SettingsComponent.module.css +421 -0
  92. package/dist/components/common/SettingsComponent.tsx +582 -0
  93. package/dist/components/common/SocialMediaLogin.d.ts +8 -1
  94. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  95. package/dist/components/common/SocialMediaLogin.js +6 -13
  96. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  97. package/dist/components/common/SocialMediaLogin.tsx +120 -58
  98. package/dist/components/common/SolidExport.d.ts.map +1 -1
  99. package/dist/components/common/SolidExport.js +1 -1
  100. package/dist/components/common/SolidExport.js.map +1 -1
  101. package/dist/components/common/SolidExport.tsx +2 -1
  102. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  103. package/dist/components/common/SolidFormStepper.js +2 -1
  104. package/dist/components/common/SolidFormStepper.js.map +1 -1
  105. package/dist/components/common/SolidFormStepper.tsx +2 -1
  106. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  107. package/dist/components/common/SolidThemeProvider.js +5 -21
  108. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  109. package/dist/components/common/SolidThemeProvider.tsx +6 -24
  110. package/dist/components/common/solid-export.css +26 -0
  111. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  112. package/dist/components/core/card/SolidCardView.js +24 -25
  113. package/dist/components/core/card/SolidCardView.js.map +1 -1
  114. package/dist/components/core/card/SolidCardView.tsx +22 -27
  115. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  116. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  117. package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
  118. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  119. package/dist/components/core/chatter/SolidChatter.js +39 -9
  120. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  121. package/dist/components/core/chatter/SolidChatter.tsx +42 -7
  122. package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts.map +1 -1
  123. package/dist/components/core/chatter/SolidChatterAuditMessage.js +19 -1
  124. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  125. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +22 -1
  126. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +3 -0
  127. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  128. package/dist/components/core/chatter/SolidChatterMessageBox.js +68 -4
  129. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  130. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +45 -3
  131. package/dist/components/core/chatter/chatter.module.css +0 -3
  132. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  133. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +3 -1
  134. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  135. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +3 -1
  136. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  137. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +9 -8
  138. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  139. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +4 -2
  140. package/dist/components/core/common/SolidGlobalSearchElement.js +1 -1
  141. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  142. package/dist/components/core/common/SolidGlobalSearchElement.tsx +1 -1
  143. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts +7 -0
  144. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts.map +1 -0
  145. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js +75 -0
  146. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js.map +1 -0
  147. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.ts +45 -0
  148. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts +3 -0
  149. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts.map +1 -0
  150. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js +81 -0
  151. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js.map +1 -0
  152. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.tsx +114 -0
  153. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  154. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  155. package/dist/components/core/form/SolidFormActionHeader.js +5 -3
  156. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  157. package/dist/components/core/form/SolidFormActionHeader.tsx +27 -1
  158. package/dist/components/core/form/SolidFormLayouts.js +1 -1
  159. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  160. package/dist/components/core/form/SolidFormLayouts.tsx +1 -1
  161. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  162. package/dist/components/core/form/SolidFormView.js +141 -50
  163. package/dist/components/core/form/SolidFormView.js.map +1 -1
  164. package/dist/components/core/form/SolidFormView.tsx +123 -25
  165. package/dist/components/core/form/fields/SolidComputedField.d.ts +25 -0
  166. package/dist/components/core/form/fields/SolidComputedField.d.ts.map +1 -0
  167. package/dist/components/core/form/fields/SolidComputedField.js +128 -0
  168. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -0
  169. package/dist/components/core/form/fields/SolidComputedField.tsx +134 -0
  170. package/dist/components/core/form/fields/SolidDateTimeField.js +1 -1
  171. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  172. package/dist/components/core/form/fields/SolidDateTimeField.tsx +1 -1
  173. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  174. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +35 -24
  175. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  176. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +30 -14
  177. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  178. package/dist/components/core/form/fields/SolidSelectionStaticField.js +29 -28
  179. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  180. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +17 -12
  181. package/dist/components/core/form/fields/SolidTimeField.js +1 -1
  182. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  183. package/dist/components/core/form/fields/SolidTimeField.tsx +1 -1
  184. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  185. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +3 -3
  186. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  187. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +0 -5
  188. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts +1 -1
  189. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +1 -1
  190. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  191. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +1 -1
  192. package/dist/components/core/kanban/KanbanBoard.js +1 -1
  193. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  194. package/dist/components/core/kanban/KanbanBoard.tsx +1 -1
  195. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  196. package/dist/components/core/kanban/SolidKanbanView.js +219 -108
  197. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  198. package/dist/components/core/kanban/SolidKanbanView.tsx +218 -95
  199. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  200. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  201. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
  202. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  203. package/dist/components/core/list/SolidDataTable.js +6 -5
  204. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  205. package/dist/components/core/list/SolidDataTable.tsx +6 -5
  206. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  207. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -3
  208. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  209. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +1 -0
  210. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  211. package/dist/components/core/list/SolidListView.js +62 -73
  212. package/dist/components/core/list/SolidListView.js.map +1 -1
  213. package/dist/components/core/list/SolidListView.tsx +70 -96
  214. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  215. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  216. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  217. package/dist/components/core/list/SolidListViewRowActionsMenu.js +2 -2
  218. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  219. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +2 -2
  220. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +1 -1
  221. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  222. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +1 -1
  223. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +283 -9
  224. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -1
  225. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +35 -28
  226. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -1
  227. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +64 -62
  228. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +2 -1
  229. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  230. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +4 -4
  231. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  232. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +17 -10
  233. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -1
  234. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +2 -19
  235. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -1
  236. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +24 -43
  237. package/dist/components/core/users/CreateUser.css +114 -0
  238. package/dist/components/core/users/CreateUser.d.ts +1 -0
  239. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  240. package/dist/components/core/users/CreateUser.js +4 -3
  241. package/dist/components/core/users/CreateUser.js.map +1 -1
  242. package/dist/components/core/users/CreateUser.tsx +32 -26
  243. package/dist/components/layout/context/layoutcontext.js +2 -2
  244. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  245. package/dist/components/layout/context/layoutcontext.tsx +2 -2
  246. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  247. package/dist/components/layout/user-profile-menu.js +15 -14
  248. package/dist/components/layout/user-profile-menu.js.map +1 -1
  249. package/dist/components/layout/user-profile-menu.tsx +8 -6
  250. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  251. package/dist/components/shad-cn-ui/SolidAutocomplete.js +9 -1
  252. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  253. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +10 -1
  254. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +6 -1
  255. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -1
  256. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +3 -3
  257. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -1
  258. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +15 -3
  259. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  260. package/dist/components/shad-cn-ui/SolidDatePicker.js +1 -1
  261. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  262. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +2 -0
  263. package/dist/components/shad-cn-ui/SolidDialog.d.ts +1 -1
  264. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  265. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  266. package/dist/components/shad-cn-ui/SolidDialog.tsx +1 -1
  267. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -2
  268. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  269. package/dist/components/shad-cn-ui/SolidIcon.js +3 -4
  270. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  271. package/dist/components/shad-cn-ui/SolidIcon.tsx +12 -15
  272. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -1
  273. package/dist/components/shad-cn-ui/SolidRichTextEditor.js +9 -1
  274. package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -1
  275. package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +8 -1
  276. package/dist/components/shad-cn-ui/SolidTabs.d.ts +2 -1
  277. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  278. package/dist/components/shad-cn-ui/SolidTabs.js +4 -4
  279. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  280. package/dist/components/shad-cn-ui/SolidTabs.tsx +12 -3
  281. package/dist/helpers/hydrateRelationRules.js +1 -1
  282. package/dist/helpers/hydrateRelationRules.js.map +1 -1
  283. package/dist/helpers/hydrateRelationRules.ts +1 -1
  284. package/dist/helpers/permissions.js +2 -2
  285. package/dist/helpers/permissions.js.map +1 -1
  286. package/dist/helpers/permissions.ts +2 -2
  287. package/dist/helpers/registry.d.ts +2 -2
  288. package/dist/helpers/registry.d.ts.map +1 -1
  289. package/dist/helpers/registry.js +6 -0
  290. package/dist/helpers/registry.js.map +1 -1
  291. package/dist/helpers/registry.ts +9 -2
  292. package/dist/helpers/settingsPayload.d.ts +32 -0
  293. package/dist/helpers/settingsPayload.d.ts.map +1 -0
  294. package/dist/helpers/settingsPayload.js +72 -0
  295. package/dist/helpers/settingsPayload.js.map +1 -0
  296. package/dist/helpers/settingsPayload.ts +125 -0
  297. package/dist/index.d.ts +4 -0
  298. package/dist/index.d.ts.map +1 -1
  299. package/dist/index.js +4 -0
  300. package/dist/index.js.map +1 -1
  301. package/dist/index.ts +4 -0
  302. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  303. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  304. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  305. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  306. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  307. package/dist/redux/api/solidEntityApi.js +1 -1
  308. package/dist/redux/api/solidEntityApi.js.map +1 -1
  309. package/dist/redux/api/solidEntityApi.tsx +1 -1
  310. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  311. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  312. package/dist/resources/globals.css +112 -83
  313. package/dist/resources/shadcn-base.css +310 -391
  314. package/dist/resources/solid-responsive.css +22 -4
  315. package/dist/routes/AppEventListener.js +1 -1
  316. package/dist/routes/AppEventListener.js.map +1 -1
  317. package/dist/routes/AppEventListener.tsx +1 -1
  318. package/dist/routes/pages/admin/core/CardPage.js +1 -1
  319. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  320. package/dist/routes/pages/admin/core/CardPage.tsx +1 -1
  321. package/dist/routes/pages/admin/core/FormPage.js +1 -1
  322. package/dist/routes/pages/admin/core/FormPage.js.map +1 -1
  323. package/dist/routes/pages/admin/core/FormPage.tsx +1 -1
  324. package/dist/routes/pages/admin/core/KanbanPage.js +1 -1
  325. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  326. package/dist/routes/pages/admin/core/KanbanPage.tsx +1 -1
  327. package/dist/routes/pages/admin/core/ListPage.js +1 -1
  328. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  329. package/dist/routes/pages/admin/core/ListPage.tsx +1 -1
  330. package/dist/routes/pages/admin/core/SettingsPage.js +2 -2
  331. package/dist/routes/pages/admin/core/SettingsPage.js.map +1 -1
  332. package/dist/routes/pages/admin/core/SettingsPage.tsx +2 -2
  333. package/dist/routes/pages/admin/core/TreePage.js +1 -1
  334. package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
  335. package/dist/routes/pages/admin/core/TreePage.tsx +1 -1
  336. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts +2 -0
  337. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts.map +1 -0
  338. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js +6 -0
  339. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js.map +1 -0
  340. package/dist/routes/pages/auth/InitiateFacebookOauthPage.tsx +5 -0
  341. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts +2 -0
  342. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts.map +1 -0
  343. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js +6 -0
  344. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js.map +1 -0
  345. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.tsx +5 -0
  346. package/dist/routes/solidRoutes.d.ts.map +1 -1
  347. package/dist/routes/solidRoutes.js +5 -1
  348. package/dist/routes/solidRoutes.js.map +1 -1
  349. package/dist/routes/solidRoutes.tsx +5 -1
  350. package/dist/routes/types.d.ts +1 -1
  351. package/dist/routes/types.d.ts.map +1 -1
  352. package/dist/routes/types.js.map +1 -1
  353. package/dist/routes/types.ts +2 -0
  354. package/dist/types/extension-registry.d.ts +1 -0
  355. package/dist/types/extension-registry.d.ts.map +1 -1
  356. package/dist/types/extension-registry.js +1 -0
  357. package/dist/types/extension-registry.js.map +1 -1
  358. package/dist/types/extension-registry.ts +1 -0
  359. package/dist/types/index.d.ts +2 -0
  360. package/dist/types/solid-core.d.ts +11 -0
  361. package/package.json +1 -2
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [![npm version](https://img.shields.io/npm/v/@solidxai/core-ui)](https://www.npmjs.com/package/@solidxai/core-ui)
8
8
  [![License: BSL-1.1](https://img.shields.io/badge/License-BSL--1.1-blue.svg)](https://mariadb.com/bsl11/)
9
9
  [![Documentation](https://img.shields.io/badge/docs-solidxai.com-blue)](https://docs.solidxai.com/docs)
10
- [![Discord](https://img.shields.io/badge/discord-online-brightgreen.svg)](https://discord.gg/yh4KZf8c)
10
+ [![Discord](https://img.shields.io/badge/discord-online-brightgreen.svg)](https://discord.gg/ATQW4CEksA)
11
11
 
12
12
 
13
13
  ## Why @solidxai/core-ui?
@@ -207,7 +207,7 @@ For full configuration options — environment variables, theming, extension poi
207
207
  | Website | [solidxai.com](https://solidxai.com) |
208
208
  | Documentation | [docs.solidxai.com](https://docs.solidxai.com/docs) |
209
209
  | Backend package | [@solidxai/core](https://www.npmjs.com/package/@solidxai/core) |
210
- | Discord | [discord.gg/yh4KZf8c](https://discord.gg/yh4KZf8c) |
210
+ | Discord | [discord.gg/ATQW4CEksA](https://discord.gg/ATQW4CEksA) |
211
211
  | Support | support@solidxai.com |
212
212
 
213
213
  ---
@@ -1 +1 @@
1
- {"version":3,"file":"getSession.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/getSession.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAsCnD"}
1
+ {"version":3,"file":"getSession.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/getSession.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOvC,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAuCnD"}
@@ -80,7 +80,7 @@ export function getSession() {
80
80
  _c.sent();
81
81
  return [2 /*return*/, null];
82
82
  case 3:
83
- nextSession = __assign(__assign({}, session), { user: __assign(__assign({}, session.user), { accessToken: refreshed.accessToken, refreshToken: (_b = refreshed.refreshToken) !== null && _b !== void 0 ? _b : session.user.refreshToken, accessTokenExpires: refreshed.accessTokenExpires }), error: null });
83
+ nextSession = __assign(__assign({}, session), { user: __assign(__assign({}, session.user), { accessToken: refreshed.accessToken, refreshToken: (_b = refreshed.refreshToken) !== null && _b !== void 0 ? _b : session.user.refreshToken, accessTokenExpires: refreshed.accessTokenExpires }), error: null, refreshed: true });
84
84
  saveSession(nextSession);
85
85
  eventBus.emit(AppEvents.SessionUpdated, nextSession);
86
86
  return [2 /*return*/, nextSession];
@@ -1 +1 @@
1
- {"version":3,"file":"getSession.js","sourceRoot":"","sources":["../../../src/adapters/auth/getSession.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,2EAA2E;AAC3E,sEAAsE;AACtE,IAAI,cAAc,GAAwB,IAAI,CAAC;AAE/C,MAAM,UAAgB,UAAU;;;;;;;oBACxB,OAAO,GAAG,WAAW,EAAE,CAAC;oBAC9B,IAAI,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,CAAA;wBAAE,sBAAO,IAAI,EAAC;oBAEvC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;oBAC5C,QAAQ,GAAG,KAAM,CAAC;yBACpB,CAAA,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,GAAG,QAAQ,CAAA,EAA/C,wBAA+C;oBACjD,IAAI,CAAC,cAAc,EAAE;wBACnB,cAAc,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC;4BACvF,cAAc,GAAG,IAAI,CAAC;wBACxB,CAAC,CAAC,CAAC;qBACJ;oBAEiB,qBAAM,cAAc,EAAA;;oBAAhC,SAAS,GAAG,SAAoB;yBAGlC,CAAA,CAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,KAAK,KAAI,CAAC,CAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,WAAW,CAAA,CAAA,EAA7D,wBAA6D;oBAC/D,YAAY,EAAE,CAAC;oBACf,qBAAM,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAA;;oBAA7C,SAA6C,CAAC;oBAC9C,sBAAO,IAAI,EAAC;;oBAGR,WAAW,yBACZ,OAAO,KACV,IAAI,wBACC,OAAO,CAAC,IAAI,KACf,WAAW,EAAG,SAAiB,CAAC,WAAW,EAC3C,YAAY,EAAE,MAAC,SAAiB,CAAC,YAAY,mCAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAC1E,kBAAkB,EAAG,SAAiB,CAAC,kBAAkB,KAE3D,KAAK,EAAE,IAAI,GACZ,CAAC;oBACF,WAAW,CAAC,WAAW,CAAC,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oBACrD,sBAAO,WAAW,EAAC;wBAGrB,sBAAO,OAAO,EAAC;;;;CAChB","sourcesContent":["import { loadSession, saveSession, clearSession } from \"./storage\";\nimport { refreshAccessToken } from \"./refreshAccessToken\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport type { Session } from \"./types\";\nimport { signOut } from \"./signOut\";\n\n// NOTE: Single-flight refresh prevents a burst of concurrent requests from\n// triggering multiple refresh calls and racing to update the session.\nlet refreshPromise: Promise<any> | null = null;\n\nexport async function getSession(): Promise<Session> {\n const session = loadSession();\n if (!session?.user?.accessToken) return null;\n\n const expiresAt = session.user.accessTokenExpires;\n const bufferMs = 60_000;\n if (expiresAt && Date.now() >= expiresAt - bufferMs) {\n if (!refreshPromise) {\n refreshPromise = refreshAccessToken({ refreshToken: session.user.refreshToken }).finally(() => {\n refreshPromise = null;\n });\n }\n\n const refreshed = await refreshPromise;\n // NOTE: On refresh failure, clear storage and stop; do not persist a broken session,\n // which can otherwise cause repeated refresh attempts and redirect loops.\n if ((refreshed as any)?.error || !(refreshed as any)?.accessToken) {\n clearSession();\n await signOut({ callbackUrl: \"/auth/login\" });\n return null;\n }\n\n const nextSession: Session = {\n ...session,\n user: {\n ...session.user,\n accessToken: (refreshed as any).accessToken,\n refreshToken: (refreshed as any).refreshToken ?? session.user.refreshToken,\n accessTokenExpires: (refreshed as any).accessTokenExpires,\n },\n error: null,\n };\n saveSession(nextSession);\n eventBus.emit(AppEvents.SessionUpdated, nextSession);\n return nextSession;\n }\n\n return session;\n}\n"]}
1
+ {"version":3,"file":"getSession.js","sourceRoot":"","sources":["../../../src/adapters/auth/getSession.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,2EAA2E;AAC3E,sEAAsE;AACtE,IAAI,cAAc,GAAwB,IAAI,CAAC;AAE/C,MAAM,UAAgB,UAAU;;;;;;;oBACxB,OAAO,GAAG,WAAW,EAAE,CAAC;oBAC9B,IAAI,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,CAAA;wBAAE,sBAAO,IAAI,EAAC;oBAEvC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;oBAC5C,QAAQ,GAAG,KAAM,CAAC;yBACpB,CAAA,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,GAAG,QAAQ,CAAA,EAA/C,wBAA+C;oBACjD,IAAI,CAAC,cAAc,EAAE;wBACnB,cAAc,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC;4BACvF,cAAc,GAAG,IAAI,CAAC;wBACxB,CAAC,CAAC,CAAC;qBACJ;oBAEiB,qBAAM,cAAc,EAAA;;oBAAhC,SAAS,GAAG,SAAoB;yBAGlC,CAAA,CAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,KAAK,KAAI,CAAC,CAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,WAAW,CAAA,CAAA,EAA7D,wBAA6D;oBAC/D,YAAY,EAAE,CAAC;oBACf,qBAAM,OAAO,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAA;;oBAA7C,SAA6C,CAAC;oBAC9C,sBAAO,IAAI,EAAC;;oBAGR,WAAW,yBACZ,OAAO,KACV,IAAI,wBACC,OAAO,CAAC,IAAI,KACf,WAAW,EAAG,SAAiB,CAAC,WAAW,EAC3C,YAAY,EAAE,MAAC,SAAiB,CAAC,YAAY,mCAAI,OAAO,CAAC,IAAI,CAAC,YAAY,EAC1E,kBAAkB,EAAG,SAAiB,CAAC,kBAAkB,KAE3D,KAAK,EAAE,IAAI,EACX,SAAS,EAAE,IAAI,GAChB,CAAC;oBACF,WAAW,CAAC,WAAW,CAAC,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oBACrD,sBAAO,WAAW,EAAC;wBAGrB,sBAAO,OAAO,EAAC;;;;CAChB","sourcesContent":["import { loadSession, saveSession, clearSession } from \"./storage\";\nimport { refreshAccessToken } from \"./refreshAccessToken\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport type { Session } from \"./types\";\nimport { signOut } from \"./signOut\";\n\n// NOTE: Single-flight refresh prevents a burst of concurrent requests from\n// triggering multiple refresh calls and racing to update the session.\nlet refreshPromise: Promise<any> | null = null;\n\nexport async function getSession(): Promise<Session> {\n const session = loadSession();\n if (!session?.user?.accessToken) return null;\n\n const expiresAt = session.user.accessTokenExpires;\n const bufferMs = 60_000;\n if (expiresAt && Date.now() >= expiresAt - bufferMs) {\n if (!refreshPromise) {\n refreshPromise = refreshAccessToken({ refreshToken: session.user.refreshToken }).finally(() => {\n refreshPromise = null;\n });\n }\n\n const refreshed = await refreshPromise;\n // NOTE: On refresh failure, clear storage and stop; do not persist a broken session,\n // which can otherwise cause repeated refresh attempts and redirect loops.\n if ((refreshed as any)?.error || !(refreshed as any)?.accessToken) {\n clearSession();\n await signOut({ callbackUrl: \"/auth/login\" });\n return null;\n }\n\n const nextSession: Session = {\n ...session,\n user: {\n ...session.user,\n accessToken: (refreshed as any).accessToken,\n refreshToken: (refreshed as any).refreshToken ?? session.user.refreshToken,\n accessTokenExpires: (refreshed as any).accessTokenExpires,\n },\n error: null,\n refreshed: true,\n };\n saveSession(nextSession);\n eventBus.emit(AppEvents.SessionUpdated, nextSession);\n return nextSession;\n }\n\n return session;\n}\n"]}
@@ -39,6 +39,7 @@ export async function getSession(): Promise<Session> {
39
39
  accessTokenExpires: (refreshed as any).accessTokenExpires,
40
40
  },
41
41
  error: null,
42
+ refreshed: true,
42
43
  };
43
44
  saveSession(nextSession);
44
45
  eventBus.emit(AppEvents.SessionUpdated, nextSession);
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/helper.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,WAAW,EAAC,MAAM,EAAG,YAAY,EAAE,MAAM,EAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAC,GAAG,GAAG,UAAU,CAiC/G"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/helper.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG;IACd,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,WAAW,EAAC,MAAM,EAAG,YAAY,EAAE,MAAM,EAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAC,GAAG,GAAG,UAAU,CAkC/G"}
@@ -24,6 +24,7 @@ export function handleAuthSuccess(accessToken, refreshToken, user, status) {
24
24
  var session = {
25
25
  user: __assign(__assign({}, user), { accessToken: accessToken, refreshToken: refreshToken, accessTokenExpires: accessTokenExpires }),
26
26
  error: null,
27
+ refreshed: false,
27
28
  };
28
29
  saveSession(session);
29
30
  eventBus.emit(AppEvents.SessionUpdated, session);
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/adapters/auth/helper.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAS7D,MAAM,UAAU,iBAAiB,CAAC,WAAkB,EAAG,YAAoB,EAAG,IAAS,EAAE,MAAU;IAE/F,yDAAyD;IACzD,2DAA2D;IAC3D,iDAAiD;IAEjD,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE;QAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAC,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;KAC9F;IAED,IAAM,OAAO,GAAG,SAAS,CAAmB,WAAW,CAAC,CAAC;IACzD,IAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAExE,IAAM,OAAO,GAAG;QACZ,IAAI,wBACG,IAAI,KACP,WAAW,aAAA,EACX,YAAY,cAAA,EACZ,kBAAkB,oBAAA,GACrB;QACD,KAAK,EAAE,IAAI;KACd,CAAC;IAEF,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAEjD,OAAO;QACH,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,IAAI;KACZ,CAAC;AAEN,CAAC","sourcesContent":["import { jwtDecode } from \"jwt-decode\";\nimport { saveSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\n\ntype AuthResult = {\n ok: boolean;\n error: string | null;\n status: number;\n url: string | null;\n};\n\nexport function handleAuthSuccess(accessToken:string , refreshToken: string , user: any ,status:any): AuthResult{\n\n // const accessToken = response?.data?.data?.accessToken;\n // const refreshToken = response?.data?.data?.refreshToken;\n // const user = response?.data?.data?.user || {};\n\n if (!accessToken || !refreshToken) {\n return { ok: false, error: \"Missing tokens in response\", status:status || 500, url: null };\n }\n\n const decoded = jwtDecode<{ exp?: number }>(accessToken);\n const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;\n\n const session = {\n user: {\n ...user,\n accessToken,\n refreshToken,\n accessTokenExpires,\n },\n error: null,\n };\n\n saveSession(session);\n eventBus.emit(AppEvents.SessionUpdated, session);\n\n return {\n ok: true,\n error: null,\n status: status,\n url: null,\n };\n\n}"]}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/adapters/auth/helper.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAU7D,MAAM,UAAU,iBAAiB,CAAC,WAAkB,EAAG,YAAoB,EAAG,IAAS,EAAE,MAAU;IAE/F,yDAAyD;IACzD,2DAA2D;IAC3D,iDAAiD;IAEjD,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE;QAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,MAAM,EAAC,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;KAC9F;IAED,IAAM,OAAO,GAAG,SAAS,CAAmB,WAAW,CAAC,CAAC;IACzD,IAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAExE,IAAM,OAAO,GAAY;QACrB,IAAI,wBACG,IAAI,KACP,WAAW,aAAA,EACX,YAAY,cAAA,EACZ,kBAAkB,oBAAA,GACrB;QACD,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,KAAK;KACnB,CAAC;IAEF,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAEjD,OAAO;QACH,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,IAAI;KACZ,CAAC;AAEN,CAAC","sourcesContent":["import { jwtDecode } from \"jwt-decode\";\nimport { saveSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport { Session } from \"./types\";\n\ntype AuthResult = {\n ok: boolean;\n error: string | null;\n status: number;\n url: string | null;\n};\n\nexport function handleAuthSuccess(accessToken:string , refreshToken: string , user: any ,status:any): AuthResult{\n\n // const accessToken = response?.data?.data?.accessToken;\n // const refreshToken = response?.data?.data?.refreshToken;\n // const user = response?.data?.data?.user || {};\n\n if (!accessToken || !refreshToken) {\n return { ok: false, error: \"Missing tokens in response\", status:status || 500, url: null };\n }\n\n const decoded = jwtDecode<{ exp?: number }>(accessToken);\n const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;\n\n const session: Session = {\n user: {\n ...user,\n accessToken,\n refreshToken,\n accessTokenExpires,\n },\n error: null,\n refreshed: false,\n };\n\n saveSession(session);\n eventBus.emit(AppEvents.SessionUpdated, session);\n\n return {\n ok: true,\n error: null,\n status: status,\n url: null,\n };\n\n}"]}
@@ -1,6 +1,7 @@
1
1
  import { jwtDecode } from "jwt-decode";
2
2
  import { saveSession } from "./storage";
3
3
  import { eventBus, AppEvents } from "../../helpers/eventBus";
4
+ import { Session } from "./types";
4
5
 
5
6
  type AuthResult = {
6
7
  ok: boolean;
@@ -22,7 +23,7 @@ export function handleAuthSuccess(accessToken:string , refreshToken: string , us
22
23
  const decoded = jwtDecode<{ exp?: number }>(accessToken);
23
24
  const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;
24
25
 
25
- const session = {
26
+ const session: Session = {
26
27
  user: {
27
28
  ...user,
28
29
  accessToken,
@@ -30,6 +31,7 @@ export function handleAuthSuccess(accessToken:string , refreshToken: string , us
30
31
  accessTokenExpires,
31
32
  },
32
33
  error: null,
34
+ refreshed: false,
33
35
  };
34
36
 
35
37
  saveSession(session);
@@ -1 +1 @@
1
- {"version":3,"file":"signIn.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/signIn.ts"],"names":[],"mappings":"AAMA,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAwDzF"}
1
+ {"version":3,"file":"signIn.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/signIn.ts"],"names":[],"mappings":"AAOA,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,wBAAsB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAyDzF"}
@@ -92,6 +92,7 @@ export function signIn(provider, options) {
92
92
  session = {
93
93
  user: __assign(__assign({}, user), { accessToken: accessToken, refreshToken: refreshToken, accessTokenExpires: accessTokenExpires }),
94
94
  error: null,
95
+ refreshed: false,
95
96
  };
96
97
  saveSession(session);
97
98
  eventBus.emit(AppEvents.SessionUpdated, session);
@@ -1 +1 @@
1
- {"version":3,"file":"signIn.js","sourceRoot":"","sources":["../../../src/adapters/auth/signIn.ts"],"names":[],"mappings":"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","sourcesContent":["import { jwtDecode } from \"jwt-decode\";\nimport { env } from \"../env\";\nimport { saveSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport { solidPost } from \"../..//http/solidHttp\";\n\ntype SignInResponse = {\n ok: boolean;\n error: string | null;\n status: number;\n url: string | null;\n};\n\nexport async function signIn(provider: string, options: any = {}): Promise<SignInResponse> {\n if (provider !== \"credentials\") {\n return { ok: false, error: `Unsupported provider: ${provider}`, status: 400, url: null };\n }\n\n const { identifier, password } = options;\n const apiUrl = env(\"API_URL\");\n\n if (!apiUrl) {\n return { ok: false, error: \"API_URL is not configured\", status: 500, url: null };\n }\n\n try {\n const response = await solidPost(\n `${apiUrl}/api/iam/authenticate`,\n {\n username: identifier,\n email: identifier.includes('@') ? identifier : null,\n password,\n },\n {\n headers: {\n accept: \"*/*\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n const accessToken = response?.data?.data?.accessToken;\n const refreshToken = response?.data?.data?.refreshToken;\n const user = response?.data?.data?.user || {};\n\n if (!accessToken || !refreshToken) {\n return { ok: false, error: \"Missing tokens in response\", status: response.status || 500, url: null };\n }\n\n const decoded = jwtDecode<{ exp?: number }>(accessToken);\n const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;\n\n const session = {\n user: {\n ...user,\n accessToken,\n refreshToken,\n accessTokenExpires,\n },\n error: null,\n };\n saveSession(session);\n eventBus.emit(AppEvents.SessionUpdated, session);\n\n return { ok: true, error: null, status: response.status || 200, url: null };\n } catch (error: any) {\n const message = error?.response?.data?.message || error?.response?.data?.data?.message || error?.message || \"Login failed\";\n return { ok: false, error: message, status: error?.response?.status || 500, url: null };\n }\n}\n"]}
1
+ {"version":3,"file":"signIn.js","sourceRoot":"","sources":["../../../src/adapters/auth/signIn.ts"],"names":[],"mappings":"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","sourcesContent":["import { jwtDecode } from \"jwt-decode\";\nimport { env } from \"../env\";\nimport { saveSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport { solidPost } from \"../..//http/solidHttp\";\nimport { Session } from \"./types\";\n\ntype SignInResponse = {\n ok: boolean;\n error: string | null;\n status: number;\n url: string | null;\n};\n\nexport async function signIn(provider: string, options: any = {}): Promise<SignInResponse> {\n if (provider !== \"credentials\") {\n return { ok: false, error: `Unsupported provider: ${provider}`, status: 400, url: null };\n }\n\n const { identifier, password } = options;\n const apiUrl = env(\"API_URL\");\n\n if (!apiUrl) {\n return { ok: false, error: \"API_URL is not configured\", status: 500, url: null };\n }\n\n try {\n const response = await solidPost(\n `${apiUrl}/api/iam/authenticate`,\n {\n username: identifier,\n email: identifier.includes('@') ? identifier : null,\n password,\n },\n {\n headers: {\n accept: \"*/*\",\n \"Content-Type\": \"application/json\",\n },\n }\n );\n\n const accessToken = response?.data?.data?.accessToken;\n const refreshToken = response?.data?.data?.refreshToken;\n const user = response?.data?.data?.user || {};\n\n if (!accessToken || !refreshToken) {\n return { ok: false, error: \"Missing tokens in response\", status: response.status || 500, url: null };\n }\n\n const decoded = jwtDecode<{ exp?: number }>(accessToken);\n const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;\n\n const session: Session = {\n user: {\n ...user,\n accessToken,\n refreshToken,\n accessTokenExpires,\n },\n error: null,\n refreshed: false,\n };\n saveSession(session);\n eventBus.emit(AppEvents.SessionUpdated, session);\n\n return { ok: true, error: null, status: response.status || 200, url: null };\n } catch (error: any) {\n const message = error?.response?.data?.message || error?.response?.data?.data?.message || error?.message || \"Login failed\";\n return { ok: false, error: message, status: error?.response?.status || 500, url: null };\n }\n}\n"]}
@@ -3,6 +3,7 @@ import { env } from "../env";
3
3
  import { saveSession } from "./storage";
4
4
  import { eventBus, AppEvents } from "../../helpers/eventBus";
5
5
  import { solidPost } from "../..//http/solidHttp";
6
+ import { Session } from "./types";
6
7
 
7
8
  type SignInResponse = {
8
9
  ok: boolean;
@@ -50,7 +51,7 @@ export async function signIn(provider: string, options: any = {}): Promise<SignI
50
51
  const decoded = jwtDecode<{ exp?: number }>(accessToken);
51
52
  const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;
52
53
 
53
- const session = {
54
+ const session: Session = {
54
55
  user: {
55
56
  ...user,
56
57
  accessToken,
@@ -58,6 +59,7 @@ export async function signIn(provider: string, options: any = {}): Promise<SignI
58
59
  accessTokenExpires,
59
60
  },
60
61
  error: null,
62
+ refreshed: false,
61
63
  };
62
64
  saveSession(session);
63
65
  eventBus.emit(AppEvents.SessionUpdated, session);
@@ -7,6 +7,7 @@ type SignInResponse = {
7
7
  type SignInWithOAuthAccessCodeOptions = {
8
8
  accessCode: string;
9
9
  userAgent?: string;
10
+ provider?: "google" | "facebook" | "microsoft";
10
11
  };
11
12
  export declare function signInWithOAuthAccessCode(options: SignInWithOAuthAccessCodeOptions): Promise<SignInResponse>;
12
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"signInWithOAuthAccessCode.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/signInWithOAuthAccessCode.ts"],"names":[],"mappings":"AAMA,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,cAAc,CAAC,CA6DlH"}
1
+ {"version":3,"file":"signInWithOAuthAccessCode.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/signInWithOAuthAccessCode.ts"],"names":[],"mappings":"AAOA,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;CAChD,CAAC;AAEF,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,cAAc,CAAC,CA8DlH"}
@@ -53,29 +53,29 @@ import { solidGet } from "../..//http/solidHttp";
53
53
  export function signInWithOAuthAccessCode(options) {
54
54
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
55
55
  return __awaiter(this, void 0, void 0, function () {
56
- var accessCode, userAgent, apiUrl, headers, response, message, accessToken, refreshToken, user, decoded, accessTokenExpires, session, error_1, message;
57
- return __generator(this, function (_t) {
58
- switch (_t.label) {
56
+ var accessCode, userAgent, _t, provider, apiUrl, headers, response, message, accessToken, refreshToken, user, decoded, accessTokenExpires, session, error_1, message;
57
+ return __generator(this, function (_u) {
58
+ switch (_u.label) {
59
59
  case 0:
60
- accessCode = options.accessCode, userAgent = options.userAgent;
60
+ accessCode = options.accessCode, userAgent = options.userAgent, _t = options.provider, provider = _t === void 0 ? "google" : _t;
61
61
  apiUrl = env("API_URL");
62
62
  if (!apiUrl) {
63
63
  return [2 /*return*/, { ok: false, error: "API_URL is not configured", status: 500, url: null }];
64
64
  }
65
- _t.label = 1;
65
+ _u.label = 1;
66
66
  case 1:
67
- _t.trys.push([1, 3, , 4]);
67
+ _u.trys.push([1, 3, , 4]);
68
68
  headers = {
69
69
  accept: "*/*",
70
70
  };
71
71
  if (userAgent) {
72
72
  headers["User-Agent"] = userAgent;
73
73
  }
74
- return [4 /*yield*/, solidGet("".concat(apiUrl, "/api/iam/google/authenticate?accessCode=").concat(encodeURIComponent(accessCode)), {
74
+ return [4 /*yield*/, solidGet("".concat(apiUrl, "/api/iam/").concat(provider, "/authenticate?accessCode=").concat(encodeURIComponent(accessCode)), {
75
75
  headers: headers,
76
76
  })];
77
77
  case 2:
78
- response = _t.sent();
78
+ response = _u.sent();
79
79
  if (((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.statusCode) && ((_b = response === null || response === void 0 ? void 0 : response.data) === null || _b === void 0 ? void 0 : _b.statusCode) !== 200) {
80
80
  message = ((_c = response === null || response === void 0 ? void 0 : response.data) === null || _c === void 0 ? void 0 : _c.error) || ((_d = response === null || response === void 0 ? void 0 : response.data) === null || _d === void 0 ? void 0 : _d.message) || "Login failed";
81
81
  return [2 /*return*/, { ok: false, error: message, status: ((_e = response === null || response === void 0 ? void 0 : response.data) === null || _e === void 0 ? void 0 : _e.statusCode) || response.status || 400, url: null }];
@@ -91,12 +91,13 @@ export function signInWithOAuthAccessCode(options) {
91
91
  session = {
92
92
  user: __assign(__assign({}, user), { accessToken: accessToken, refreshToken: refreshToken, accessTokenExpires: accessTokenExpires }),
93
93
  error: null,
94
+ refreshed: false,
94
95
  };
95
96
  saveSession(session);
96
97
  eventBus.emit(AppEvents.SessionUpdated, session);
97
98
  return [2 /*return*/, { ok: true, error: null, status: response.status || 200, url: null }];
98
99
  case 3:
99
- error_1 = _t.sent();
100
+ error_1 = _u.sent();
100
101
  message = ((_o = (_m = error_1 === null || error_1 === void 0 ? void 0 : error_1.response) === null || _m === void 0 ? void 0 : _m.data) === null || _o === void 0 ? void 0 : _o.message) ||
101
102
  ((_r = (_q = (_p = error_1 === null || error_1 === void 0 ? void 0 : error_1.response) === null || _p === void 0 ? void 0 : _p.data) === null || _q === void 0 ? void 0 : _q.data) === null || _r === void 0 ? void 0 : _r.message) ||
102
103
  (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) ||
@@ -1 +1 @@
1
- {"version":3,"file":"signInWithOAuthAccessCode.js","sourceRoot":"","sources":["../../../src/adapters/auth/signInWithOAuthAccessCode.ts"],"names":[],"mappings":"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","sourcesContent":["import { jwtDecode } from \"jwt-decode\";\nimport { env } from \"../env\";\nimport { saveSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport { solidGet } from \"../..//http/solidHttp\";\n\ntype SignInResponse = {\n ok: boolean;\n error: string | null;\n status: number;\n url: string | null;\n};\n\ntype SignInWithOAuthAccessCodeOptions = {\n accessCode: string;\n userAgent?: string;\n};\n\nexport async function signInWithOAuthAccessCode(options: SignInWithOAuthAccessCodeOptions): Promise<SignInResponse> {\n const { accessCode, userAgent } = options;\n const apiUrl = env(\"API_URL\");\n\n if (!apiUrl) {\n return { ok: false, error: \"API_URL is not configured\", status: 500, url: null };\n }\n\n try {\n const headers: Record<string, string> = {\n accept: \"*/*\",\n };\n\n if (userAgent) {\n headers[\"User-Agent\"] = userAgent;\n }\n\n const response = await solidGet(\n `${apiUrl}/api/iam/google/authenticate?accessCode=${encodeURIComponent(accessCode)}`,\n {\n headers,\n }\n );\n\n if (response?.data?.statusCode && response?.data?.statusCode !== 200) {\n const message = response?.data?.error || response?.data?.message || \"Login failed\";\n return { ok: false, error: message, status: response?.data?.statusCode || response.status || 400, url: null };\n }\n\n const accessToken = response?.data?.data?.accessToken;\n const refreshToken = response?.data?.data?.refreshToken;\n const user = response?.data?.data?.user || {};\n\n if (!accessToken || !refreshToken) {\n return { ok: false, error: \"Missing tokens in response\", status: response.status || 500, url: null };\n }\n\n const decoded = jwtDecode<{ exp?: number }>(accessToken);\n const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;\n\n const session = {\n user: {\n ...user,\n accessToken,\n refreshToken,\n accessTokenExpires,\n },\n error: null,\n };\n saveSession(session);\n eventBus.emit(AppEvents.SessionUpdated, session);\n\n return { ok: true, error: null, status: response.status || 200, url: null };\n } catch (error: any) {\n const message =\n error?.response?.data?.message ||\n error?.response?.data?.data?.message ||\n error?.message ||\n \"Login failed\";\n return { ok: false, error: message, status: error?.response?.status || 500, url: null };\n }\n}\n"]}
1
+ {"version":3,"file":"signInWithOAuthAccessCode.js","sourceRoot":"","sources":["../../../src/adapters/auth/signInWithOAuthAccessCode.ts"],"names":[],"mappings":"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","sourcesContent":["import { jwtDecode } from \"jwt-decode\";\nimport { env } from \"../env\";\nimport { saveSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\nimport { solidGet } from \"../..//http/solidHttp\";\nimport { Session } from \"./types\";\n\ntype SignInResponse = {\n ok: boolean;\n error: string | null;\n status: number;\n url: string | null;\n};\n\ntype SignInWithOAuthAccessCodeOptions = {\n accessCode: string;\n userAgent?: string;\n provider?: \"google\" | \"facebook\" | \"microsoft\";\n};\n\nexport async function signInWithOAuthAccessCode(options: SignInWithOAuthAccessCodeOptions): Promise<SignInResponse> {\n const { accessCode, userAgent, provider = \"google\" } = options;\n const apiUrl = env(\"API_URL\");\n\n if (!apiUrl) {\n return { ok: false, error: \"API_URL is not configured\", status: 500, url: null };\n }\n\n try {\n const headers: Record<string, string> = {\n accept: \"*/*\",\n };\n\n if (userAgent) {\n headers[\"User-Agent\"] = userAgent;\n }\n\n const response = await solidGet(\n `${apiUrl}/api/iam/${provider}/authenticate?accessCode=${encodeURIComponent(accessCode)}`,\n {\n headers,\n }\n );\n\n if (response?.data?.statusCode && response?.data?.statusCode !== 200) {\n const message = response?.data?.error || response?.data?.message || \"Login failed\";\n return { ok: false, error: message, status: response?.data?.statusCode || response.status || 400, url: null };\n }\n\n const accessToken = response?.data?.data?.accessToken;\n const refreshToken = response?.data?.data?.refreshToken;\n const user = response?.data?.data?.user || {};\n\n if (!accessToken || !refreshToken) {\n return { ok: false, error: \"Missing tokens in response\", status: response.status || 500, url: null };\n }\n\n const decoded = jwtDecode<{ exp?: number }>(accessToken);\n const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;\n\n const session: Session = {\n user: {\n ...user,\n accessToken,\n refreshToken,\n accessTokenExpires,\n },\n error: null,\n refreshed: false,\n };\n saveSession(session);\n eventBus.emit(AppEvents.SessionUpdated, session);\n\n return { ok: true, error: null, status: response.status || 200, url: null };\n } catch (error: any) {\n const message =\n error?.response?.data?.message ||\n error?.response?.data?.data?.message ||\n error?.message ||\n \"Login failed\";\n return { ok: false, error: message, status: error?.response?.status || 500, url: null };\n }\n}\n"]}
@@ -3,6 +3,7 @@ import { env } from "../env";
3
3
  import { saveSession } from "./storage";
4
4
  import { eventBus, AppEvents } from "../../helpers/eventBus";
5
5
  import { solidGet } from "../..//http/solidHttp";
6
+ import { Session } from "./types";
6
7
 
7
8
  type SignInResponse = {
8
9
  ok: boolean;
@@ -14,10 +15,11 @@ type SignInResponse = {
14
15
  type SignInWithOAuthAccessCodeOptions = {
15
16
  accessCode: string;
16
17
  userAgent?: string;
18
+ provider?: "google" | "facebook" | "microsoft";
17
19
  };
18
20
 
19
21
  export async function signInWithOAuthAccessCode(options: SignInWithOAuthAccessCodeOptions): Promise<SignInResponse> {
20
- const { accessCode, userAgent } = options;
22
+ const { accessCode, userAgent, provider = "google" } = options;
21
23
  const apiUrl = env("API_URL");
22
24
 
23
25
  if (!apiUrl) {
@@ -34,7 +36,7 @@ export async function signInWithOAuthAccessCode(options: SignInWithOAuthAccessCo
34
36
  }
35
37
 
36
38
  const response = await solidGet(
37
- `${apiUrl}/api/iam/google/authenticate?accessCode=${encodeURIComponent(accessCode)}`,
39
+ `${apiUrl}/api/iam/${provider}/authenticate?accessCode=${encodeURIComponent(accessCode)}`,
38
40
  {
39
41
  headers,
40
42
  }
@@ -56,7 +58,7 @@ export async function signInWithOAuthAccessCode(options: SignInWithOAuthAccessCo
56
58
  const decoded = jwtDecode<{ exp?: number }>(accessToken);
57
59
  const accessTokenExpires = decoded.exp ? decoded.exp * 1000 : undefined;
58
60
 
59
- const session = {
61
+ const session: Session = {
60
62
  user: {
61
63
  ...user,
62
64
  accessToken,
@@ -64,6 +66,7 @@ export async function signInWithOAuthAccessCode(options: SignInWithOAuthAccessCo
64
66
  accessTokenExpires,
65
67
  },
66
68
  error: null,
69
+ refreshed: false,
67
70
  };
68
71
  saveSession(session);
69
72
  eventBus.emit(AppEvents.SessionUpdated, session);
@@ -1 +1 @@
1
- {"version":3,"file":"signOut.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/signOut.ts"],"names":[],"mappings":"AAGA,KAAK,cAAc,GAAG;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,iBAOzD"}
1
+ {"version":3,"file":"signOut.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/signOut.ts"],"names":[],"mappings":"AAGA,KAAK,cAAc,GAAG;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,iBAazD"}
@@ -39,11 +39,17 @@ import { eventBus, AppEvents } from "../../helpers/eventBus";
39
39
  export function signOut(options) {
40
40
  if (options === void 0) { options = {}; }
41
41
  return __awaiter(this, void 0, void 0, function () {
42
+ var currentPathname;
42
43
  return __generator(this, function (_a) {
43
44
  clearSession();
44
45
  eventBus.emit(AppEvents.SessionCleared);
45
46
  if (options.callbackUrl && typeof window !== "undefined") {
46
- window.location.href = options.callbackUrl;
47
+ currentPathname = window.location.pathname;
48
+ // Only force the post-logout redirect when the admin app shell is active.
49
+ // Other shells can react to SessionCleared and decide their own navigation.
50
+ if (currentPathname.startsWith("/admin")) {
51
+ window.location.href = options.callbackUrl;
52
+ }
47
53
  }
48
54
  return [2 /*return*/];
49
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"signOut.js","sourceRoot":"","sources":["../../../src/adapters/auth/signOut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAM7D,MAAM,UAAgB,OAAO,CAAC,OAA4B;IAA5B,wBAAA,EAAA,YAA4B;;;YACxD,YAAY,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;aAC5C;YACD,sBAAO;;;CACR","sourcesContent":["import { clearSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\n\ntype SignOutOptions = {\n callbackUrl?: string;\n};\n\nexport async function signOut(options: SignOutOptions = {}) {\n clearSession();\n eventBus.emit(AppEvents.SessionCleared);\n if (options.callbackUrl && typeof window !== \"undefined\") {\n window.location.href = options.callbackUrl;\n }\n return;\n}\n"]}
1
+ {"version":3,"file":"signOut.js","sourceRoot":"","sources":["../../../src/adapters/auth/signOut.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAM7D,MAAM,UAAgB,OAAO,CAAC,OAA4B;IAA5B,wBAAA,EAAA,YAA4B;;;;YACxD,YAAY,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACxC,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;gBAClD,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAEjD,0EAA0E;gBAC1E,4EAA4E;gBAC5E,IAAI,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;oBACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;iBAC5C;aACF;YACD,sBAAO;;;CACR","sourcesContent":["import { clearSession } from \"./storage\";\nimport { eventBus, AppEvents } from \"../../helpers/eventBus\";\n\ntype SignOutOptions = {\n callbackUrl?: string;\n};\n\nexport async function signOut(options: SignOutOptions = {}) {\n clearSession();\n eventBus.emit(AppEvents.SessionCleared);\n if (options.callbackUrl && typeof window !== \"undefined\") {\n const currentPathname = window.location.pathname;\n\n // Only force the post-logout redirect when the admin app shell is active.\n // Other shells can react to SessionCleared and decide their own navigation.\n if (currentPathname.startsWith(\"/admin\")) {\n window.location.href = options.callbackUrl;\n }\n }\n return;\n}\n"]}
@@ -9,7 +9,13 @@ export async function signOut(options: SignOutOptions = {}) {
9
9
  clearSession();
10
10
  eventBus.emit(AppEvents.SessionCleared);
11
11
  if (options.callbackUrl && typeof window !== "undefined") {
12
- window.location.href = options.callbackUrl;
12
+ const currentPathname = window.location.pathname;
13
+
14
+ // Only force the post-logout redirect when the admin app shell is active.
15
+ // Other shells can react to SessionCleared and decide their own navigation.
16
+ if (currentPathname.startsWith("/admin")) {
17
+ window.location.href = options.callbackUrl;
18
+ }
13
19
  }
14
20
  return;
15
21
  }
@@ -6,5 +6,6 @@ export type Session = {
6
6
  [key: string]: any;
7
7
  };
8
8
  error?: string | null;
9
+ refreshed?: boolean;
9
10
  } | null;
10
11
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/auth/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,CAAC,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,IAAI,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/auth/types.ts"],"names":[],"mappings":"","sourcesContent":["export type Session = {\n user?: {\n accessToken: string;\n refreshToken: string;\n accessTokenExpires?: number;\n [key: string]: any;\n };\n error?: string | null;\n} | null;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/auth/types.ts"],"names":[],"mappings":"","sourcesContent":["export type Session = {\n user?: {\n accessToken: string;\n refreshToken: string;\n accessTokenExpires?: number;\n [key: string]: any;\n };\n error?: string | null;\n refreshed?: boolean;\n} | null;\n"]}
@@ -6,4 +6,5 @@ export type Session = {
6
6
  [key: string]: any;
7
7
  };
8
8
  error?: string | null;
9
+ refreshed?: boolean;
9
10
  } | null;
@@ -1,4 +1,4 @@
1
1
  export declare const AuthLayout: ({ children }: {
2
2
  children: React.ReactNode;
3
- }) => import("react/jsx-runtime").JSX.Element | null;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=AuthLayout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,UAAU;cAA8B,MAAM,SAAS;oDAuNnE,CAAA"}
1
+ {"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,UAAU;cAA8B,MAAM,SAAS;6CA4NnE,CAAA"}