@oxyhq/services 15.0.0 → 17.0.0

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 (280) hide show
  1. package/lib/commonjs/index.js +25 -55
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/client.js +0 -14
  4. package/lib/commonjs/ui/client.js.map +1 -1
  5. package/lib/commonjs/ui/components/OxyAccountDialog.js +764 -0
  6. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -0
  7. package/lib/commonjs/ui/components/OxyProvider.js +11 -6
  8. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  9. package/lib/commonjs/ui/components/OxySignInButton.js +10 -21
  10. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  11. package/lib/commonjs/ui/components/ProfileButton.js +25 -112
  12. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  13. package/lib/commonjs/ui/components/RequireOxyAuth.js +299 -0
  14. package/lib/commonjs/ui/components/RequireOxyAuth.js.map +1 -0
  15. package/lib/commonjs/ui/context/OxyContext.js +106 -2
  16. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  17. package/lib/commonjs/ui/hooks/mutations/mutationKeys.js +1 -1
  18. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +10 -10
  19. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  20. package/lib/commonjs/ui/hooks/queries/queryKeys.js +1 -1
  21. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +7 -8
  22. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  23. package/lib/commonjs/ui/hooks/useAuth.js +19 -30
  24. package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
  25. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +37 -267
  26. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
  27. package/lib/commonjs/ui/index.js +5 -40
  28. package/lib/commonjs/ui/index.js.map +1 -1
  29. package/lib/commonjs/ui/navigation/accountDialogManager.js +91 -0
  30. package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -0
  31. package/lib/commonjs/ui/navigation/routes.js +0 -2
  32. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  33. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +17 -18
  34. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  35. package/lib/commonjs/ui/screens/ManageAccountScreen.js +4 -3
  36. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  37. package/lib/commonjs/ui/session/createSessionClient.js +10 -2
  38. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  39. package/lib/module/index.js +20 -17
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/ui/client.js +1 -2
  42. package/lib/module/ui/client.js.map +1 -1
  43. package/lib/module/ui/components/OxyAccountDialog.js +761 -0
  44. package/lib/module/ui/components/OxyAccountDialog.js.map +1 -0
  45. package/lib/module/ui/components/OxyProvider.js +11 -6
  46. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  47. package/lib/module/ui/components/OxySignInButton.js +10 -21
  48. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  49. package/lib/module/ui/components/ProfileButton.js +26 -112
  50. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  51. package/lib/module/ui/components/RequireOxyAuth.js +294 -0
  52. package/lib/module/ui/components/RequireOxyAuth.js.map +1 -0
  53. package/lib/module/ui/context/OxyContext.js +107 -3
  54. package/lib/module/ui/context/OxyContext.js.map +1 -1
  55. package/lib/module/ui/hooks/mutations/mutationKeys.js +1 -1
  56. package/lib/module/ui/hooks/mutations/useAccountMutations.js +8 -8
  57. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  58. package/lib/module/ui/hooks/queries/queryKeys.js +1 -1
  59. package/lib/module/ui/hooks/queries/useAccountQueries.js +5 -6
  60. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  61. package/lib/module/ui/hooks/useAuth.js +19 -30
  62. package/lib/module/ui/hooks/useAuth.js.map +1 -1
  63. package/lib/module/ui/hooks/useSwitchableAccounts.js +38 -267
  64. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
  65. package/lib/module/ui/index.js +1 -5
  66. package/lib/module/ui/index.js.map +1 -1
  67. package/lib/module/ui/navigation/accountDialogManager.js +81 -0
  68. package/lib/module/ui/navigation/accountDialogManager.js.map +1 -0
  69. package/lib/module/ui/navigation/routes.js +0 -2
  70. package/lib/module/ui/navigation/routes.js.map +1 -1
  71. package/lib/module/ui/screens/ConnectedAppsScreen.js +19 -20
  72. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  73. package/lib/module/ui/screens/ManageAccountScreen.js +4 -3
  74. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  75. package/lib/module/ui/session/createSessionClient.js +10 -2
  76. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  77. package/lib/typescript/commonjs/index.d.ts +6 -13
  78. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/ui/client.d.ts +0 -4
  80. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  81. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +35 -0
  82. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -0
  83. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +2 -2
  84. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +11 -23
  87. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +55 -0
  89. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +13 -1
  91. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +4 -4
  93. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +6 -7
  95. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +13 -152
  98. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/ui/index.d.ts +2 -5
  100. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +49 -0
  102. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -0
  103. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
  104. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  105. package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
  107. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +9 -2
  109. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/types/navigation.d.ts +9 -0
  111. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/ui/utils/storageHelpers.d.ts +7 -7
  113. package/lib/typescript/module/index.d.ts +6 -13
  114. package/lib/typescript/module/index.d.ts.map +1 -1
  115. package/lib/typescript/module/ui/client.d.ts +0 -4
  116. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  117. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +35 -0
  118. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -0
  119. package/lib/typescript/module/ui/components/OxyProvider.d.ts +2 -2
  120. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  121. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  122. package/lib/typescript/module/ui/components/ProfileButton.d.ts +11 -23
  123. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
  124. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +55 -0
  125. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts.map +1 -0
  126. package/lib/typescript/module/ui/context/OxyContext.d.ts +13 -1
  127. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  128. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +4 -4
  129. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  130. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +6 -7
  131. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  132. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  133. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +13 -152
  134. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  135. package/lib/typescript/module/ui/index.d.ts +2 -5
  136. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  137. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +49 -0
  138. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -0
  139. package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
  140. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  141. package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  142. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
  143. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  144. package/lib/typescript/module/ui/session/createSessionClient.d.ts +9 -2
  145. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  146. package/lib/typescript/module/ui/types/navigation.d.ts +9 -0
  147. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  148. package/lib/typescript/module/ui/utils/storageHelpers.d.ts +7 -7
  149. package/package.json +4 -4
  150. package/src/index.ts +23 -28
  151. package/src/ui/client.ts +0 -4
  152. package/src/ui/components/OxyAccountDialog.tsx +760 -0
  153. package/src/ui/components/OxyProvider.tsx +12 -6
  154. package/src/ui/components/OxySignInButton.tsx +10 -21
  155. package/src/ui/components/ProfileButton.tsx +23 -126
  156. package/src/ui/components/RequireOxyAuth.tsx +266 -0
  157. package/src/ui/context/OxyContext.tsx +146 -7
  158. package/src/ui/hooks/mutations/mutationKeys.ts +1 -1
  159. package/src/ui/hooks/mutations/useAccountMutations.ts +8 -8
  160. package/src/ui/hooks/queries/queryKeys.ts +1 -1
  161. package/src/ui/hooks/queries/useAccountQueries.ts +8 -9
  162. package/src/ui/hooks/useAuth.ts +19 -31
  163. package/src/ui/hooks/useSwitchableAccounts.ts +42 -376
  164. package/src/ui/index.ts +2 -5
  165. package/src/ui/navigation/accountDialogManager.ts +84 -0
  166. package/src/ui/navigation/routes.ts +1 -5
  167. package/src/ui/screens/ConnectedAppsScreen.tsx +23 -24
  168. package/src/ui/screens/ManageAccountScreen.tsx +3 -2
  169. package/src/ui/session/createSessionClient.ts +9 -1
  170. package/src/ui/types/navigation.ts +9 -0
  171. package/src/ui/utils/storageHelpers.ts +7 -7
  172. package/lib/commonjs/ui/components/AccountMenu.js +0 -598
  173. package/lib/commonjs/ui/components/AccountMenu.js.map +0 -1
  174. package/lib/commonjs/ui/components/AccountMenuButton.js +0 -135
  175. package/lib/commonjs/ui/components/AccountMenuButton.js.map +0 -1
  176. package/lib/commonjs/ui/components/AccountSwitcher.js +0 -780
  177. package/lib/commonjs/ui/components/AccountSwitcher.js.map +0 -1
  178. package/lib/commonjs/ui/components/AnotherDeviceQR.js +0 -116
  179. package/lib/commonjs/ui/components/AnotherDeviceQR.js.map +0 -1
  180. package/lib/commonjs/ui/components/ProfileMenu.js +0 -518
  181. package/lib/commonjs/ui/components/ProfileMenu.js.map +0 -1
  182. package/lib/commonjs/ui/components/SignInAccountChooser.js +0 -189
  183. package/lib/commonjs/ui/components/SignInAccountChooser.js.map +0 -1
  184. package/lib/commonjs/ui/components/SignInModal.js +0 -600
  185. package/lib/commonjs/ui/components/SignInModal.js.map +0 -1
  186. package/lib/commonjs/ui/hooks/useOxyAuthSession.js +0 -501
  187. package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +0 -1
  188. package/lib/commonjs/ui/hooks/usePasswordSignIn.js +0 -170
  189. package/lib/commonjs/ui/hooks/usePasswordSignIn.js.map +0 -1
  190. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +0 -51
  191. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +0 -1
  192. package/lib/commonjs/ui/screens/OxyAuthScreen.js +0 -312
  193. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +0 -1
  194. package/lib/commonjs/utils/deviceFlowSignIn.js +0 -109
  195. package/lib/commonjs/utils/deviceFlowSignIn.js.map +0 -1
  196. package/lib/module/ui/components/AccountMenu.js +0 -593
  197. package/lib/module/ui/components/AccountMenu.js.map +0 -1
  198. package/lib/module/ui/components/AccountMenuButton.js +0 -130
  199. package/lib/module/ui/components/AccountMenuButton.js.map +0 -1
  200. package/lib/module/ui/components/AccountSwitcher.js +0 -774
  201. package/lib/module/ui/components/AccountSwitcher.js.map +0 -1
  202. package/lib/module/ui/components/AnotherDeviceQR.js +0 -110
  203. package/lib/module/ui/components/AnotherDeviceQR.js.map +0 -1
  204. package/lib/module/ui/components/ProfileMenu.js +0 -514
  205. package/lib/module/ui/components/ProfileMenu.js.map +0 -1
  206. package/lib/module/ui/components/SignInAccountChooser.js +0 -183
  207. package/lib/module/ui/components/SignInAccountChooser.js.map +0 -1
  208. package/lib/module/ui/components/SignInModal.js +0 -591
  209. package/lib/module/ui/components/SignInModal.js.map +0 -1
  210. package/lib/module/ui/hooks/useOxyAuthSession.js +0 -495
  211. package/lib/module/ui/hooks/useOxyAuthSession.js.map +0 -1
  212. package/lib/module/ui/hooks/usePasswordSignIn.js +0 -165
  213. package/lib/module/ui/hooks/usePasswordSignIn.js.map +0 -1
  214. package/lib/module/ui/screens/AccountSwitcherScreen.js +0 -48
  215. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +0 -1
  216. package/lib/module/ui/screens/OxyAuthScreen.js +0 -306
  217. package/lib/module/ui/screens/OxyAuthScreen.js.map +0 -1
  218. package/lib/module/utils/deviceFlowSignIn.js +0 -106
  219. package/lib/module/utils/deviceFlowSignIn.js.map +0 -1
  220. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +0 -47
  221. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +0 -1
  222. package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts +0 -26
  223. package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts.map +0 -1
  224. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts +0 -46
  225. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +0 -1
  226. package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts +0 -34
  227. package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts.map +0 -1
  228. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +0 -49
  229. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +0 -1
  230. package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts +0 -29
  231. package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts.map +0 -1
  232. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +0 -28
  233. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +0 -1
  234. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +0 -105
  235. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
  236. package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts +0 -31
  237. package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
  238. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts +0 -11
  239. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
  240. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts +0 -22
  241. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +0 -1
  242. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +0 -97
  243. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +0 -1
  244. package/lib/typescript/module/ui/components/AccountMenu.d.ts +0 -47
  245. package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +0 -1
  246. package/lib/typescript/module/ui/components/AccountMenuButton.d.ts +0 -26
  247. package/lib/typescript/module/ui/components/AccountMenuButton.d.ts.map +0 -1
  248. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +0 -46
  249. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +0 -1
  250. package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts +0 -34
  251. package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts.map +0 -1
  252. package/lib/typescript/module/ui/components/ProfileMenu.d.ts +0 -49
  253. package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +0 -1
  254. package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts +0 -29
  255. package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts.map +0 -1
  256. package/lib/typescript/module/ui/components/SignInModal.d.ts +0 -28
  257. package/lib/typescript/module/ui/components/SignInModal.d.ts.map +0 -1
  258. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +0 -105
  259. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
  260. package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts +0 -31
  261. package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
  262. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts +0 -11
  263. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
  264. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts +0 -22
  265. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +0 -1
  266. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +0 -97
  267. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +0 -1
  268. package/src/ui/components/AccountMenu.tsx +0 -645
  269. package/src/ui/components/AccountMenuButton.tsx +0 -126
  270. package/src/ui/components/AccountSwitcher.tsx +0 -751
  271. package/src/ui/components/AnotherDeviceQR.tsx +0 -119
  272. package/src/ui/components/ProfileMenu.tsx +0 -564
  273. package/src/ui/components/SignInAccountChooser.tsx +0 -162
  274. package/src/ui/components/SignInModal.tsx +0 -530
  275. package/src/ui/hooks/useOxyAuthSession.ts +0 -635
  276. package/src/ui/hooks/usePasswordSignIn.ts +0 -207
  277. package/src/ui/screens/AccountSwitcherScreen.tsx +0 -43
  278. package/src/ui/screens/OxyAuthScreen.tsx +0 -324
  279. package/src/utils/__tests__/deviceFlowSignIn.test.ts +0 -231
  280. package/src/utils/deviceFlowSignIn.ts +0 -152
@@ -3,286 +3,56 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.buildSwitchableAccounts = buildSwitchableAccounts;
7
- exports.markCurrentAccount = markCurrentAccount;
8
6
  exports.useSwitchableAccounts = useSwitchableAccounts;
9
7
  var _react = require("react");
10
- var _reactQuery = require("@tanstack/react-query");
11
- var _core = require("@oxyhq/core");
12
8
  var _OxyContext = require("../context/OxyContext.js");
13
- var _useI18n = require("./useI18n.js");
14
- var _queryKeys = require("./queries/queryKeys.js");
15
9
  /**
16
- * The per-account user shape carried by a {@link SwitchableAccount}. The SDK's
17
- * canonical {@link User} document either the freshest `useOxy().user` (the
18
- * active row), a profile resolved via `oxyServices.getUsersByIds()` (every other
19
- * device row), or the `account` document embedded in an account-graph node.
10
+ * Stable empty snapshot for the no-provider loading state, so `useSyncExternalStore`
11
+ * always has a getSnapshot that returns a constant reference before mount.
20
12
  */
21
-
22
- /**
23
- * One account the signed-in user can switch INTO, in the uniform switch model.
24
- *
25
- * A switchable account is either a device sign-in, an account-graph node (owned
26
- * org / shared-with-you), or BOTH (an account that has been switched into
27
- * becomes a device session while still being a graph node — the two are deduped
28
- * into a single row). Every row carries a canonical `accountId` (the uniform
29
- * switch key passed to `switchToAccount`); `sessionId` is present IFF the
30
- * account is currently signed in on THIS device.
31
- */
32
-
33
- /** The minimal device-session shape {@link buildSwitchableAccounts} reads. */
34
-
35
- /**
36
- * Resolve which entries are the current account, robustly.
37
- *
38
- * Primary signal: `entry.sessionId === activeSessionId` — both are projected
39
- * from the same `SessionClient` state, so this normally matches exactly.
40
- * Fallbacks exist only to bridge the brief window between the two sequential
41
- * `updateSessions` / `setActiveSessionId` calls in `OxyContext.syncFromClient`,
42
- * applied only when the `sessionId` match found nothing AND the user is
43
- * authenticated:
44
- * 1. Match the live `user.id` against each entry's per-account user id.
45
- * 2. If still nothing and there is exactly one account, mark that one current.
46
- *
47
- * At most ONE entry is ever marked current. Runs over DEVICE rows only (graph
48
- * rows are never active — the active account is always a device session), so the
49
- * single-account fallback counts device rows.
50
- *
51
- * Pure & side-effect free so it is unit-testable without rendering React.
52
- */
53
- function markCurrentAccount(accounts, activeSessionId, liveUserId, isAuthenticated) {
54
- const bySession = accounts.map(account => ({
55
- ...account,
56
- isCurrent: Boolean(activeSessionId) && account.sessionId === activeSessionId
57
- }));
58
- if (bySession.some(account => account.isCurrent) || !isAuthenticated) {
59
- return bySession;
60
- }
61
-
62
- // No row matched by session id: fall back to the live user's id, marking at
63
- // most the FIRST matching entry current (never more than one).
64
- if (liveUserId) {
65
- let matched = false;
66
- const byUser = bySession.map(account => {
67
- if (!matched && account.user.id === liveUserId) {
68
- matched = true;
69
- return {
70
- ...account,
71
- isCurrent: true
72
- };
73
- }
74
- return account;
75
- });
76
- if (matched) {
77
- return byUser;
78
- }
79
- }
80
-
81
- // Authenticated, nothing matched, but there is exactly one account → it must
82
- // be the current one.
83
- if (bySession.length === 1) {
84
- return [{
85
- ...bySession[0],
86
- isCurrent: true
87
- }];
88
- }
89
- return bySession;
90
- }
91
-
92
- /**
93
- * Pure union of device sign-ins and account-graph nodes into the flat
94
- * {@link SwitchableAccount}[] the switchers render. Extracted so the merge /
95
- * dedup semantics are unit-testable without rendering React.
96
- *
97
- * Order: device rows first (in session order, current flagged), then graph-only
98
- * rows (in graph order). An account present as BOTH a device session and a graph
99
- * node is deduped into ONE device row enriched with the graph metadata
100
- * (relationship / kind / parent / membership).
101
- */
102
- function buildSwitchableAccounts(input) {
103
- const {
104
- sessions,
105
- activeSessionId,
106
- liveUser,
107
- isAuthenticated,
108
- graph,
109
- profilesById,
110
- locale,
111
- resolveAvatarUrl
112
- } = input;
113
-
114
- // Nothing is switchable when signed out — never surface a lingering device
115
- // session or graph node once the user is unauthenticated.
116
- if (!isAuthenticated) {
117
- return [];
13
+ const EMPTY_SNAPSHOT = {
14
+ view: 'accounts',
15
+ accounts: [],
16
+ activeAccountId: null,
17
+ loading: false,
18
+ error: null,
19
+ switchingAccountId: null,
20
+ signIn: {
21
+ phase: 'idle',
22
+ authorizeCode: null,
23
+ qrPayload: null,
24
+ expiresAt: null,
25
+ error: null
118
26
  }
119
- const toRow = (accountUser, opts) => {
120
- const displayName = (0, _core.getAccountDisplayName)(accountUser, locale);
121
- const handle = (0, _core.getAccountFallbackHandle)(accountUser);
122
- const secondaryHandle = handle ? `@${handle}` : null;
123
- return {
124
- accountId: accountUser.id?.toString() ?? '',
125
- sessionId: opts.sessionId,
126
- authuser: opts.authuser,
127
- isCurrent: Boolean(opts.sessionId) && opts.sessionId === activeSessionId,
128
- onDevice: Boolean(opts.sessionId),
129
- relationship: opts.relationship,
130
- kind: opts.kind,
131
- parentAccountId: opts.parentAccountId,
132
- callerMembership: opts.callerMembership,
133
- displayName,
134
- // Real email, or the `@handle` fallback (NEVER synthesized).
135
- email: accountUser.email ?? secondaryHandle,
136
- avatarUrl: resolveAvatarUrl(accountUser.avatar),
137
- color: accountUser.color ?? null,
138
- user: accountUser
139
- };
140
- };
141
-
142
- // --- Device rows ---
143
- const built = sessions.flatMap(session => {
144
- const isCurrent = session.sessionId === activeSessionId;
145
- // The active row always uses the live `user` — freshest available —
146
- // regardless of whether the batch profile fetch has resolved yet.
147
- const accountUser = isCurrent && liveUser ? liveUser : session.userId ? profilesById.get(session.userId) : undefined;
148
- if (!accountUser) {
149
- return [];
150
- }
151
- return [toRow(accountUser, {
152
- sessionId: session.sessionId,
153
- authuser: session.authuser
154
- })];
155
- });
156
- const flagged = markCurrentAccount(built, activeSessionId, liveUser?.id ?? null, isAuthenticated);
157
-
158
- // The signed-in user must ALWAYS be represented, even before the device
159
- // session set has synced (e.g. immediately after cold boot). Synthesize a
160
- // single current row from the live `useOxy().user` in that case.
161
- const deviceRows = flagged.length === 0 && isAuthenticated && liveUser && activeSessionId ? [toRow(liveUser, {
162
- sessionId: activeSessionId
163
- })] : flagged;
164
-
165
- // --- Merge graph nodes, deduping by account id ---
166
- const byAccountId = new Map();
167
- const order = [];
168
- const remember = row => {
169
- if (!row.accountId || byAccountId.has(row.accountId)) {
170
- return;
171
- }
172
- byAccountId.set(row.accountId, row);
173
- order.push(row.accountId);
174
- };
175
- for (const row of deviceRows) {
176
- remember(row);
177
- }
178
- for (const node of graph) {
179
- const existing = byAccountId.get(node.accountId);
180
- if (existing) {
181
- // On-device account that is ALSO in the graph: enrich the device row
182
- // with graph metadata; keep its (freshest) profile + sessionId.
183
- byAccountId.set(node.accountId, {
184
- ...existing,
185
- relationship: node.relationship,
186
- kind: node.kind,
187
- parentAccountId: node.parentAccountId,
188
- callerMembership: node.callerMembership
189
- });
190
- continue;
191
- }
192
- // Graph-only account (owned org / shared, not yet a device session).
193
- remember(toRow(node.account, {
194
- relationship: node.relationship,
195
- kind: node.kind,
196
- parentAccountId: node.parentAccountId,
197
- callerMembership: node.callerMembership
198
- }));
199
- }
200
- return order.flatMap(id => {
201
- const row = byAccountId.get(id);
202
- return row ? [row] : [];
203
- });
204
- }
27
+ };
205
28
 
206
29
  /**
207
- * Resolve every account the signed-in user can switch into — device sign-ins
208
- * AND linked graph accounts (owned orgs + shared-with-you) — as one flat list
209
- * with real per-account name / email / avatar / color, deduped by account id.
210
- *
211
- * ## Data sources
212
- *
213
- * - Device sign-ins: `useOxy().sessions` a `ClientSession[]` projected by
214
- * `OxyContext.syncFromClient` from the server-authoritative `SessionClient`.
215
- * Each session carries only `sessionId` + `userId`, so this hook additionally
216
- * fetches every device account's profile via `oxyServices.getUsersByIds()`.
217
- * The ACTIVE row always uses `useOxy().user` directly (the freshest copy).
218
- * - Linked accounts: `useOxy().accounts` — the `AccountNode[]` graph the context
219
- * loads from `GET /accounts`. Each node already embeds its `account` `User`
220
- * document, so graph-only rows need no extra fetch.
221
- *
222
- * An account present as BOTH a device session and a graph node is deduped into
223
- * ONE row (see {@link buildSwitchableAccounts}). EVERY row switches the same
224
- * way — through `useOxy().switchToAccount(row.accountId)`.
225
- *
226
- * ## Error handling
227
- *
228
- * `getUsersByIds()` resolves to `[]` on a failed chunk (logged internally)
229
- * rather than throwing. Device accounts whose profile could not be resolved are
230
- * omitted until a subsequent fetch succeeds (except the active one, which never
231
- * depends on this fetch); graph accounts are unaffected.
30
+ * Every account the signed-in user can switch into — device sign-ins AND linked
31
+ * graph accounts (owned orgs + shared-with-you) — as one flat, deduped list with
32
+ * real per-account name / email / avatar / color.
33
+ *
34
+ * This is a thin binding over the shared `AccountDialogController` in
35
+ * `@oxyhq/core` (the SAME headless source the {@link OxyAccountDialog} renders),
36
+ * so there is ONE projection (`projectSwitchableAccounts`) and one switch path
37
+ * (`controller.switchTo`) across the whole SDK — the local duplicate projection
38
+ * this hook used to own has been removed. Every switch routes through
39
+ * `useOxy().switchToAccount(accountId)` (or the dialog's row press).
232
40
  */
233
41
  function useSwitchableAccounts() {
234
42
  const {
235
- oxyServices,
236
- sessions,
237
- activeSessionId,
238
- user,
239
- isAuthenticated,
240
- accounts: graph
43
+ accountDialogController: controller
241
44
  } = (0, _OxyContext.useOxy)();
242
- const {
243
- locale
244
- } = (0, _useI18n.useI18n)();
245
-
246
- // Every distinct account id carried by the device's session set, sorted for
247
- // a stable query key regardless of session ordering.
248
- const accountIds = (0, _react.useMemo)(() => {
249
- const ids = new Set();
250
- for (const session of sessions ?? []) {
251
- if (session.userId) {
252
- ids.add(session.userId);
253
- }
254
- }
255
- return Array.from(ids).sort();
256
- }, [sessions]);
257
- const profilesQuery = (0, _reactQuery.useQuery)({
258
- queryKey: _queryKeys.queryKeys.users.list(accountIds),
259
- queryFn: () => oxyServices.getUsersByIds(accountIds),
260
- enabled: isAuthenticated && accountIds.length > 0,
261
- staleTime: 5 * 60 * 1000,
262
- // 5 minutes — matches useUserProfile's convention
263
- gcTime: 30 * 60 * 1000 // 30 minutes
264
- });
265
- const profilesById = (0, _react.useMemo)(() => {
266
- const map = new Map();
267
- for (const profile of profilesQuery.data ?? []) {
268
- map.set(profile.id, profile);
269
- }
270
- return map;
271
- }, [profilesQuery.data]);
272
- const accounts = (0, _react.useMemo)(() => buildSwitchableAccounts({
273
- sessions: sessions ?? [],
274
- activeSessionId: activeSessionId ?? null,
275
- liveUser: user ?? null,
276
- isAuthenticated,
277
- graph: graph ?? [],
278
- profilesById,
279
- locale,
280
- resolveAvatarUrl: avatar => avatar ? oxyServices.getFileDownloadUrl(avatar, 'thumb') : undefined
281
- }), [sessions, activeSessionId, user, isAuthenticated, graph, profilesById, locale, oxyServices]);
45
+ const subscribe = (0, _react.useCallback)(listener => controller ? controller.subscribe(listener) : () => undefined, [controller]);
46
+ const getSnapshot = (0, _react.useCallback)(() => controller ? controller.getSnapshot() : EMPTY_SNAPSHOT, [controller]);
47
+ const snapshot = (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
48
+ const currentSessionId = (0, _react.useMemo)(() => {
49
+ const active = snapshot.accounts.find(account => account.accountId === snapshot.activeAccountId);
50
+ return active?.sessionId ?? null;
51
+ }, [snapshot]);
282
52
  return {
283
- accounts,
284
- isLoading: isAuthenticated && accountIds.length > 0 && profilesQuery.isLoading,
285
- currentSessionId: activeSessionId ?? null
53
+ accounts: snapshot.accounts,
54
+ isLoading: snapshot.loading,
55
+ currentSessionId
286
56
  };
287
57
  }
288
58
  //# sourceMappingURL=useSwitchableAccounts.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactQuery","_core","_OxyContext","_useI18n","_queryKeys","markCurrentAccount","accounts","activeSessionId","liveUserId","isAuthenticated","bySession","map","account","isCurrent","Boolean","sessionId","some","matched","byUser","user","id","length","buildSwitchableAccounts","input","sessions","liveUser","graph","profilesById","locale","resolveAvatarUrl","toRow","accountUser","opts","displayName","getAccountDisplayName","handle","getAccountFallbackHandle","secondaryHandle","accountId","toString","authuser","onDevice","relationship","kind","parentAccountId","callerMembership","email","avatarUrl","avatar","color","built","flatMap","session","userId","get","undefined","flagged","deviceRows","byAccountId","Map","order","remember","row","has","set","push","node","existing","useSwitchableAccounts","oxyServices","useOxy","useI18n","accountIds","useMemo","ids","Set","add","Array","from","sort","profilesQuery","useQuery","queryKey","queryKeys","users","list","queryFn","getUsersByIds","enabled","staleTime","gcTime","profile","data","getFileDownloadUrl","isLoading","currentSessionId"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSwitchableAccounts.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_OxyContext","EMPTY_SNAPSHOT","view","accounts","activeAccountId","loading","error","switchingAccountId","signIn","phase","authorizeCode","qrPayload","expiresAt","useSwitchableAccounts","accountDialogController","controller","useOxy","subscribe","useCallback","listener","undefined","getSnapshot","snapshot","useSyncExternalStore","currentSessionId","useMemo","active","find","account","accountId","sessionId","isLoading"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSwitchableAccounts.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAWA;AACA;AACA;AACA;AACA,MAAME,cAAqC,GAAG;EAC1CC,IAAI,EAAE,UAAU;EAChBC,QAAQ,EAAE,EAAE;EACZC,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE,KAAK;EACdC,KAAK,EAAE,IAAI;EACXC,kBAAkB,EAAE,IAAI;EACxBC,MAAM,EAAE;IAAEC,KAAK,EAAE,MAAM;IAAEC,aAAa,EAAE,IAAI;IAAEC,SAAS,EAAE,IAAI;IAAEC,SAAS,EAAE,IAAI;IAAEN,KAAK,EAAE;EAAK;AAChG,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,qBAAqBA,CAAA,EAAgC;EACjE,MAAM;IAAEC,uBAAuB,EAAEC;EAAW,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAExD,MAAMC,SAAS,GAAG,IAAAC,kBAAW,EACxBC,QAAoB,IAAMJ,UAAU,GAAGA,UAAU,CAACE,SAAS,CAACE,QAAQ,CAAC,GAAG,MAAMC,SAAU,EACzF,CAACL,UAAU,CACf,CAAC;EACD,MAAMM,WAAW,GAAG,IAAAH,kBAAW,EAC3B,MAAOH,UAAU,GAAGA,UAAU,CAACM,WAAW,CAAC,CAAC,GAAGpB,cAAe,EAC9D,CAACc,UAAU,CACf,CAAC;EACD,MAAMO,QAAQ,GAAG,IAAAC,2BAAoB,EAACN,SAAS,EAAEI,WAAW,EAAEA,WAAW,CAAC;EAE1E,MAAMG,gBAAgB,GAAG,IAAAC,cAAO,EAAgB,MAAM;IAClD,MAAMC,MAAM,GAAGJ,QAAQ,CAACnB,QAAQ,CAACwB,IAAI,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,KAAKP,QAAQ,CAAClB,eAAe,CAAC;IAClG,OAAOsB,MAAM,EAAEI,SAAS,IAAI,IAAI;EACpC,CAAC,EAAE,CAACR,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHnB,QAAQ,EAAEmB,QAAQ,CAACnB,QAAQ;IAC3B4B,SAAS,EAAET,QAAQ,CAACjB,OAAO;IAC3BmB;EACJ,CAAC;AACL","ignoreList":[]}
@@ -9,42 +9,12 @@ Object.defineProperty(exports, "AccountMembersScreen", {
9
9
  return _AccountMembersScreen.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "AccountMenu", {
13
- enumerable: true,
14
- get: function () {
15
- return _AccountMenu.default;
16
- }
17
- });
18
- Object.defineProperty(exports, "AccountMenuButton", {
19
- enumerable: true,
20
- get: function () {
21
- return _AccountMenuButton.default;
22
- }
23
- });
24
12
  Object.defineProperty(exports, "AccountSettingsScreen", {
25
13
  enumerable: true,
26
14
  get: function () {
27
15
  return _AccountSettingsScreen.default;
28
16
  }
29
17
  });
30
- Object.defineProperty(exports, "AccountSwitcher", {
31
- enumerable: true,
32
- get: function () {
33
- return _AccountSwitcher.default;
34
- }
35
- });
36
- Object.defineProperty(exports, "AccountSwitcherScreen", {
37
- enumerable: true,
38
- get: function () {
39
- return _AccountSwitcherScreen.default;
40
- }
41
- });
42
- Object.defineProperty(exports, "AccountSwitcherView", {
43
- enumerable: true,
44
- get: function () {
45
- return _AccountSwitcher.AccountSwitcherView;
46
- }
47
- });
48
18
  Object.defineProperty(exports, "Avatar", {
49
19
  enumerable: true,
50
20
  get: function () {
@@ -117,16 +87,16 @@ Object.defineProperty(exports, "ProfileButton", {
117
87
  return _ProfileButton.default;
118
88
  }
119
89
  });
120
- Object.defineProperty(exports, "ProfileMenu", {
90
+ Object.defineProperty(exports, "ProfileScreen", {
121
91
  enumerable: true,
122
92
  get: function () {
123
- return _ProfileMenu.default;
93
+ return _ProfileScreen.default;
124
94
  }
125
95
  });
126
- Object.defineProperty(exports, "ProfileScreen", {
96
+ Object.defineProperty(exports, "RequireOxyAuth", {
127
97
  enumerable: true,
128
98
  get: function () {
129
- return _ProfileScreen.default;
99
+ return _RequireOxyAuth.RequireOxyAuth;
130
100
  }
131
101
  });
132
102
  Object.defineProperty(exports, "extractErrorMessage", {
@@ -199,29 +169,24 @@ var _OxyProvider = _interopRequireDefault(require("./components/OxyProvider.js")
199
169
  var _OxySignInButton = _interopRequireDefault(require("./components/OxySignInButton.js"));
200
170
  var _OxyAuthPrompt = _interopRequireDefault(require("./components/OxyAuthPrompt.js"));
201
171
  var _OxyLogo = _interopRequireDefault(require("./components/OxyLogo.js"));
172
+ var _RequireOxyAuth = require("./components/RequireOxyAuth.js");
202
173
  var _Avatar = _interopRequireDefault(require("./components/Avatar.js"));
203
174
  var _FollowButton = _interopRequireDefault(require("./components/FollowButton.js"));
204
175
  var _OxyPayButton = _interopRequireDefault(require("./components/OxyPayButton.js"));
205
176
  var _FontLoader = require("./components/FontLoader.js");
206
177
  var _OxyIcon = _interopRequireDefault(require("./components/icon/OxyIcon.js"));
207
- var _AccountMenu = _interopRequireDefault(require("./components/AccountMenu.js"));
208
- var _AccountMenuButton = _interopRequireDefault(require("./components/AccountMenuButton.js"));
209
178
  var _ProfileButton = _interopRequireDefault(require("./components/ProfileButton.js"));
210
- var _ProfileMenu = _interopRequireDefault(require("./components/ProfileMenu.js"));
211
- var _AccountSwitcher = _interopRequireWildcard(require("./components/AccountSwitcher.js"));
212
179
  var _OxyContext = require("./context/OxyContext.js");
213
180
  var _useAuth = require("./hooks/useAuth.js");
214
181
  var _useFollow = require("./hooks/useFollow.js");
215
182
  var _useStorage = require("./hooks/useStorage.js");
216
183
  var _ProfileScreen = _interopRequireDefault(require("./screens/ProfileScreen.js"));
217
184
  var _ManageAccountScreen = _interopRequireDefault(require("./screens/ManageAccountScreen.js"));
218
- var _AccountSwitcherScreen = _interopRequireDefault(require("./screens/AccountSwitcherScreen.js"));
219
185
  var _CreateAccountScreen = _interopRequireDefault(require("./screens/CreateAccountScreen.js"));
220
186
  var _AccountMembersScreen = _interopRequireDefault(require("./screens/AccountMembersScreen.js"));
221
187
  var _AccountSettingsScreen = _interopRequireDefault(require("./screens/AccountSettingsScreen.js"));
222
188
  var _authStore = require("./stores/authStore.js");
223
189
  var _accountStore = require("./stores/accountStore.js");
224
190
  var _errorHandlers = require("./utils/errorHandlers.js");
225
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
226
191
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
227
192
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_Avatar","_FollowButton","_OxyPayButton","_FontLoader","_OxyIcon","_AccountMenu","_AccountMenuButton","_ProfileButton","_ProfileMenu","_AccountSwitcher","_interopRequireWildcard","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_AccountSwitcherScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_authStore","_accountStore","_errorHandlers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_OxyProvider","_interopRequireDefault","require","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_RequireOxyAuth","_Avatar","_FollowButton","_OxyPayButton","_FontLoader","_OxyIcon","_ProfileButton","_OxyContext","_useAuth","_useFollow","_useStorage","_ProfileScreen","_ManageAccountScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_authStore","_accountStore","_errorHandlers","e","__esModule","default"],"sourceRoot":"../../../src","sources":["ui/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,aAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,cAAA,GAAAX,sBAAA,CAAAC,OAAA;AAGA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,QAAA,GAAAZ,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AAIA,IAAAe,cAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,oBAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,oBAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,qBAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,sBAAA,GAAApB,sBAAA,CAAAC,OAAA;AAGA,IAAAoB,UAAA,GAAApB,OAAA;AACA,IAAAqB,aAAA,GAAArB,OAAA;AAGA,IAAAsB,cAAA,GAAAtB,OAAA;AAK+B,SAAAD,uBAAAwB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.closeAccountDialog = closeAccountDialog;
7
+ exports.hideSignInModal = hideSignInModal;
8
+ exports.notifyAccountDialogVisibility = notifyAccountDialogVisibility;
9
+ exports.openAccountDialog = openAccountDialog;
10
+ exports.registerAccountDialogControls = registerAccountDialogControls;
11
+ exports.showSignInModal = showSignInModal;
12
+ exports.subscribeToSignInModal = subscribeToSignInModal;
13
+ /**
14
+ * Imperative bridge for the unified {@link OxyAccountDialog}.
15
+ *
16
+ * Mirrors `bottomSheetManager` — a tiny module-level indirection so any caller
17
+ * (even outside React, e.g. an app's imperative "sign in" handler) can open the
18
+ * single account dialog without a ref. `OxyContext` registers the live open/close
19
+ * controls on mount via {@link registerAccountDialogControls} and reports the
20
+ * dialog's visibility here via {@link notifyAccountDialogVisibility}; the exported
21
+ * `openAccountDialog` / `closeAccountDialog` drive those controls.
22
+ *
23
+ * `showSignInModal` / `hideSignInModal` / `subscribeToSignInModal` are the stable
24
+ * public surface the previous `SignInModal` module owned — kept so existing
25
+ * consumers (inbox, accounts) keep working while the sign-in surface is now the
26
+ * unified dialog opened on its `signin` view.
27
+ */
28
+
29
+ /** Live open/close handles registered by the mounted provider. */
30
+
31
+ let controls = null;
32
+ const visibilityListeners = new Set();
33
+
34
+ /**
35
+ * Register the provider's live open/close controls. Returns an unregister
36
+ * function that only clears the slot if it still owns it (guards against a late
37
+ * unmount clobbering a newer provider).
38
+ */
39
+ function registerAccountDialogControls(next) {
40
+ controls = next;
41
+ return () => {
42
+ if (controls === next) {
43
+ controls = null;
44
+ }
45
+ };
46
+ }
47
+
48
+ /** Open the account dialog on `view` (default `accounts`). No-op before mount. */
49
+ function openAccountDialog(view) {
50
+ controls?.open(view);
51
+ }
52
+
53
+ /** Close the account dialog. No-op before mount. */
54
+ function closeAccountDialog() {
55
+ controls?.close();
56
+ }
57
+
58
+ /**
59
+ * Report the dialog's current visibility so subscribers (e.g. `OxySignInButton`)
60
+ * can reflect an in-flight "Signing in…" state. Called by the provider whenever
61
+ * the open flag changes, so listeners stay accurate regardless of what triggered
62
+ * the change (imperative open, backdrop dismiss, completed sign-in).
63
+ */
64
+ function notifyAccountDialogVisibility(visible) {
65
+ for (const listener of visibilityListeners) {
66
+ listener(visible);
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Subscribe to dialog visibility changes. Returns an unsubscribe function.
72
+ * Retains the name the old `SignInModal` exposed so `OxySignInButton` keeps its
73
+ * "Signing in…" affordance.
74
+ */
75
+ function subscribeToSignInModal(listener) {
76
+ visibilityListeners.add(listener);
77
+ return () => {
78
+ visibilityListeners.delete(listener);
79
+ };
80
+ }
81
+
82
+ /** Open the unified dialog on its sign-in view. Public back-compat entry point. */
83
+ function showSignInModal() {
84
+ openAccountDialog('signin');
85
+ }
86
+
87
+ /** Close the unified dialog. Public back-compat entry point. */
88
+ function hideSignInModal() {
89
+ closeAccountDialog();
90
+ }
91
+ //# sourceMappingURL=accountDialogManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["controls","visibilityListeners","Set","registerAccountDialogControls","next","openAccountDialog","view","open","closeAccountDialog","close","notifyAccountDialogVisibility","visible","listener","subscribeToSignInModal","add","delete","showSignInModal","hideSignInModal"],"sourceRoot":"../../../../src","sources":["ui/navigation/accountDialogManager.ts"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AAMA,IAAIA,QAAsC,GAAG,IAAI;AACjD,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAA6B,CAAC;;AAEjE;AACA;AACA;AACA;AACA;AACO,SAASC,6BAA6BA,CAACC,IAA2B,EAAc;EACrFJ,QAAQ,GAAGI,IAAI;EACf,OAAO,MAAM;IACX,IAAIJ,QAAQ,KAAKI,IAAI,EAAE;MACrBJ,QAAQ,GAAG,IAAI;IACjB;EACF,CAAC;AACH;;AAEA;AACO,SAASK,iBAAiBA,CAACC,IAAwB,EAAQ;EAChEN,QAAQ,EAAEO,IAAI,CAACD,IAAI,CAAC;AACtB;;AAEA;AACO,SAASE,kBAAkBA,CAAA,EAAS;EACzCR,QAAQ,EAAES,KAAK,CAAC,CAAC;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,6BAA6BA,CAACC,OAAgB,EAAQ;EACpE,KAAK,MAAMC,QAAQ,IAAIX,mBAAmB,EAAE;IAC1CW,QAAQ,CAACD,OAAO,CAAC;EACnB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASE,sBAAsBA,CAACD,QAAoC,EAAc;EACvFX,mBAAmB,CAACa,GAAG,CAACF,QAAQ,CAAC;EACjC,OAAO,MAAM;IACXX,mBAAmB,CAACc,MAAM,CAACH,QAAQ,CAAC;EACtC,CAAC;AACH;;AAEA;AACO,SAASI,eAAeA,CAAA,EAAS;EACtCX,iBAAiB,CAAC,QAAQ,CAAC;AAC7B;;AAEA;AACO,SAASY,eAAeA,CAAA,EAAS;EACtCT,kBAAkB,CAAC,CAAC;AACtB","ignoreList":[]}
@@ -15,7 +15,6 @@ exports.isValidRoute = exports.getSheetConfig = exports.getScreenComponent = voi
15
15
  // Lazy screen loaders - functions that return screen components on-demand
16
16
  // This breaks the require cycle by deferring imports until screens are actually needed
17
17
  const screenLoaders = {
18
- OxyAuth: () => require('../screens/OxyAuthScreen').default,
19
18
  ManageAccount: () => require('../screens/ManageAccountScreen').default,
20
19
  AccountVerification: () => require('../screens/AccountVerificationScreen').default,
21
20
  PaymentGateway: () => require('../screens/PaymentGatewayScreen').default,
@@ -48,7 +47,6 @@ const screenLoaders = {
48
47
  // User list screens (followers/following)
49
48
  FollowersList: () => require('../screens/FollowersListScreen').default,
50
49
  FollowingList: () => require('../screens/FollowingListScreen').default,
51
- AccountSwitcher: () => require('../screens/AccountSwitcherScreen').default,
52
50
  CreateAccount: () => require('../screens/CreateAccountScreen').default,
53
51
  AccountMembers: () => require('../screens/AccountMembersScreen').default,
54
52
  AccountSettings: () => require('../screens/AccountSettingsScreen').default,
@@ -1 +1 @@
1
- {"version":3,"names":["screenLoaders","OxyAuth","require","default","ManageAccount","AccountVerification","PaymentGateway","Profile","LanguageSelector","PrivacySettings","SearchSettings","FileManagement","HelpSupport","FAQ","Feedback","LegalDocuments","AppInfo","PremiumSubscription","WelcomeNewUser","UserLinks","HistoryView","SavesCollections","EditProfile","EditProfileField","LearnMoreUsernames","TrustCenter","TrustLeaderboard","TrustRewards","TrustRules","AboutTrust","TrustFAQ","FollowersList","FollowingList","AccountSwitcher","CreateAccount","AccountMembers","AccountSettings","AvatarCrop","Notifications","ConnectedApps","Preferences","screenCache","Map","getScreenComponent","routeName","has","get","loader","component","set","error","__DEV__","console","undefined","exports","isValidRoute","isFileManagementImageOnlyPicker","props","selectMode","disabled","disabledMimeTypes","Array","isArray","length","predicate","some","mt","blocksVideos","startsWith","blocksAudio","blocksDocs","DEFAULT_SHEET_CONFIG","scrollable","manualActivation","dynamicBackdrop","getSheetConfig","screenProps"],"sourceRoot":"../../../../src","sources":["ui/navigation/routes.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["screenLoaders","ManageAccount","require","default","AccountVerification","PaymentGateway","Profile","LanguageSelector","PrivacySettings","SearchSettings","FileManagement","HelpSupport","FAQ","Feedback","LegalDocuments","AppInfo","PremiumSubscription","WelcomeNewUser","UserLinks","HistoryView","SavesCollections","EditProfile","EditProfileField","LearnMoreUsernames","TrustCenter","TrustLeaderboard","TrustRewards","TrustRules","AboutTrust","TrustFAQ","FollowersList","FollowingList","CreateAccount","AccountMembers","AccountSettings","AvatarCrop","Notifications","ConnectedApps","Preferences","screenCache","Map","getScreenComponent","routeName","has","get","loader","component","set","error","__DEV__","console","undefined","exports","isValidRoute","isFileManagementImageOnlyPicker","props","selectMode","disabled","disabledMimeTypes","Array","isArray","length","predicate","some","mt","blocksVideos","startsWith","blocksAudio","blocksDocs","DEFAULT_SHEET_CONFIG","scrollable","manualActivation","dynamicBackdrop","getSheetConfig","screenProps"],"sourceRoot":"../../../../src","sources":["ui/navigation/routes.ts"],"mappings":"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","ignoreList":[]}