@oxyhq/services 13.2.0 → 14.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 (260) hide show
  1. package/lib/commonjs/index.js +11 -17
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/AccountMenu.js +103 -65
  4. package/lib/commonjs/ui/components/AccountMenu.js.map +1 -1
  5. package/lib/commonjs/ui/components/AccountSwitcher.js +84 -126
  6. package/lib/commonjs/ui/components/AccountSwitcher.js.map +1 -1
  7. package/lib/commonjs/ui/components/ProfileButton.js +81 -22
  8. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  9. package/lib/commonjs/ui/components/ProfileMenu.js +244 -142
  10. package/lib/commonjs/ui/components/ProfileMenu.js.map +1 -1
  11. package/lib/commonjs/ui/components/SignInModal.js +4 -4
  12. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  13. package/lib/commonjs/ui/context/OxyContext.js +506 -466
  14. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  15. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +59 -57
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  17. package/lib/commonjs/ui/context/inSessionTokenRefresh.js +23 -42
  18. package/lib/commonjs/ui/context/inSessionTokenRefresh.js.map +1 -1
  19. package/lib/commonjs/ui/context/silentSessionRestore.js +12 -21
  20. package/lib/commonjs/ui/context/silentSessionRestore.js.map +1 -1
  21. package/lib/commonjs/ui/hooks/useAuth.js +4 -3
  22. package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
  23. package/lib/commonjs/ui/hooks/useOxyAuthSession.js +12 -7
  24. package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +1 -1
  25. package/lib/commonjs/ui/hooks/useSessionManagement.js +17 -65
  26. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  27. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +288 -0
  28. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -0
  29. package/lib/commonjs/ui/hooks/useWebSSO.js +12 -191
  30. package/lib/commonjs/ui/hooks/useWebSSO.js.map +1 -1
  31. package/lib/commonjs/ui/index.js.map +1 -1
  32. package/lib/commonjs/ui/screens/OxyAuthScreen.js +2 -2
  33. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  34. package/lib/commonjs/ui/session/createSessionClient.js +28 -0
  35. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -0
  36. package/lib/commonjs/ui/session/index.js +52 -0
  37. package/lib/commonjs/ui/session/index.js.map +1 -0
  38. package/lib/commonjs/ui/session/projectSessionState.js +86 -0
  39. package/lib/commonjs/ui/session/projectSessionState.js.map +1 -0
  40. package/lib/commonjs/ui/session/sessionClientHost.js +30 -0
  41. package/lib/commonjs/ui/session/sessionClientHost.js.map +1 -0
  42. package/lib/commonjs/ui/session/tokenTransport.js +77 -0
  43. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -0
  44. package/lib/commonjs/ui/utils/activeAuthuser.js +35 -79
  45. package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
  46. package/lib/commonjs/ui/utils/sessionHelpers.js +1 -51
  47. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  48. package/lib/commonjs/utils/deviceFlowSignIn.js +70 -15
  49. package/lib/commonjs/utils/deviceFlowSignIn.js.map +1 -1
  50. package/lib/module/index.js +5 -5
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/ui/components/AccountMenu.js +103 -65
  53. package/lib/module/ui/components/AccountMenu.js.map +1 -1
  54. package/lib/module/ui/components/AccountSwitcher.js +85 -127
  55. package/lib/module/ui/components/AccountSwitcher.js.map +1 -1
  56. package/lib/module/ui/components/ProfileButton.js +82 -23
  57. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  58. package/lib/module/ui/components/ProfileMenu.js +247 -145
  59. package/lib/module/ui/components/ProfileMenu.js.map +1 -1
  60. package/lib/module/ui/components/SignInModal.js +4 -4
  61. package/lib/module/ui/components/SignInModal.js.map +1 -1
  62. package/lib/module/ui/context/OxyContext.js +510 -470
  63. package/lib/module/ui/context/OxyContext.js.map +1 -1
  64. package/lib/module/ui/context/hooks/useAuthOperations.js +61 -60
  65. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  66. package/lib/module/ui/context/inSessionTokenRefresh.js +24 -43
  67. package/lib/module/ui/context/inSessionTokenRefresh.js.map +1 -1
  68. package/lib/module/ui/context/silentSessionRestore.js +12 -20
  69. package/lib/module/ui/context/silentSessionRestore.js.map +1 -1
  70. package/lib/module/ui/hooks/useAuth.js +4 -3
  71. package/lib/module/ui/hooks/useAuth.js.map +1 -1
  72. package/lib/module/ui/hooks/useOxyAuthSession.js +12 -7
  73. package/lib/module/ui/hooks/useOxyAuthSession.js.map +1 -1
  74. package/lib/module/ui/hooks/useSessionManagement.js +18 -66
  75. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  76. package/lib/module/ui/hooks/useSwitchableAccounts.js +283 -0
  77. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -0
  78. package/lib/module/ui/hooks/useWebSSO.js +13 -192
  79. package/lib/module/ui/hooks/useWebSSO.js.map +1 -1
  80. package/lib/module/ui/index.js +0 -1
  81. package/lib/module/ui/index.js.map +1 -1
  82. package/lib/module/ui/screens/OxyAuthScreen.js +2 -2
  83. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  84. package/lib/module/ui/session/createSessionClient.js +25 -0
  85. package/lib/module/ui/session/createSessionClient.js.map +1 -0
  86. package/lib/module/ui/session/index.js +17 -0
  87. package/lib/module/ui/session/index.js.map +1 -0
  88. package/lib/module/ui/session/projectSessionState.js +79 -0
  89. package/lib/module/ui/session/projectSessionState.js.map +1 -0
  90. package/lib/module/ui/session/sessionClientHost.js +26 -0
  91. package/lib/module/ui/session/sessionClientHost.js.map +1 -0
  92. package/lib/module/ui/session/tokenTransport.js +74 -0
  93. package/lib/module/ui/session/tokenTransport.js.map +1 -0
  94. package/lib/module/ui/utils/activeAuthuser.js +34 -76
  95. package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
  96. package/lib/module/ui/utils/sessionHelpers.js +0 -49
  97. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  98. package/lib/module/utils/deviceFlowSignIn.js +71 -16
  99. package/lib/module/utils/deviceFlowSignIn.js.map +1 -1
  100. package/lib/typescript/commonjs/index.d.ts +2 -3
  101. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +4 -2
  103. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts +7 -8
  105. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +11 -1
  107. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +12 -9
  109. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +16 -13
  111. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +27 -3
  113. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts +22 -17
  115. package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts +12 -18
  117. package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +1 -0
  119. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  120. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts +1 -1
  121. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +2 -2
  123. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  125. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +162 -0
  126. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts +13 -52
  128. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts.map +1 -1
  129. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  130. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +15 -0
  131. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/ui/session/index.d.ts +15 -0
  133. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts +45 -0
  135. package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts +14 -0
  137. package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +24 -0
  139. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts +21 -29
  141. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
  142. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts +0 -19
  143. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts.map +1 -1
  144. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +51 -19
  145. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +1 -1
  146. package/lib/typescript/module/index.d.ts +2 -3
  147. package/lib/typescript/module/index.d.ts.map +1 -1
  148. package/lib/typescript/module/ui/components/AccountMenu.d.ts +4 -2
  149. package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +1 -1
  150. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +7 -8
  151. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +1 -1
  152. package/lib/typescript/module/ui/components/ProfileButton.d.ts +11 -1
  153. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
  154. package/lib/typescript/module/ui/components/ProfileMenu.d.ts +12 -9
  155. package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +1 -1
  156. package/lib/typescript/module/ui/context/OxyContext.d.ts +16 -13
  157. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  158. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +27 -3
  159. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  160. package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts +22 -17
  161. package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts.map +1 -1
  162. package/lib/typescript/module/ui/context/silentSessionRestore.d.ts +12 -18
  163. package/lib/typescript/module/ui/context/silentSessionRestore.d.ts.map +1 -1
  164. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +1 -0
  165. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  166. package/lib/typescript/module/ui/hooks/useAuth.d.ts +1 -1
  167. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  168. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +2 -2
  169. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  170. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  171. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +162 -0
  172. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -0
  173. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts +13 -52
  174. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts.map +1 -1
  175. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  176. package/lib/typescript/module/ui/session/createSessionClient.d.ts +15 -0
  177. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -0
  178. package/lib/typescript/module/ui/session/index.d.ts +15 -0
  179. package/lib/typescript/module/ui/session/index.d.ts.map +1 -0
  180. package/lib/typescript/module/ui/session/projectSessionState.d.ts +45 -0
  181. package/lib/typescript/module/ui/session/projectSessionState.d.ts.map +1 -0
  182. package/lib/typescript/module/ui/session/sessionClientHost.d.ts +14 -0
  183. package/lib/typescript/module/ui/session/sessionClientHost.d.ts.map +1 -0
  184. package/lib/typescript/module/ui/session/tokenTransport.d.ts +24 -0
  185. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -0
  186. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts +21 -29
  187. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
  188. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts +0 -19
  189. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts.map +1 -1
  190. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +51 -19
  191. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +1 -1
  192. package/package.json +4 -4
  193. package/src/index.ts +9 -9
  194. package/src/ui/components/AccountMenu.tsx +117 -70
  195. package/src/ui/components/AccountSwitcher.tsx +88 -134
  196. package/src/ui/components/ProfileButton.tsx +95 -17
  197. package/src/ui/components/ProfileMenu.tsx +263 -155
  198. package/src/ui/components/SignInModal.tsx +5 -5
  199. package/src/ui/context/OxyContext.tsx +560 -475
  200. package/src/ui/context/hooks/useAuthOperations.ts +72 -63
  201. package/src/ui/context/inSessionTokenRefresh.ts +23 -42
  202. package/src/ui/context/silentSessionRestore.ts +12 -26
  203. package/src/ui/hooks/useAuth.ts +4 -3
  204. package/src/ui/hooks/useOxyAuthSession.ts +13 -8
  205. package/src/ui/hooks/useSessionManagement.ts +16 -87
  206. package/src/ui/hooks/useSwitchableAccounts.ts +397 -0
  207. package/src/ui/hooks/useWebSSO.ts +13 -227
  208. package/src/ui/index.ts +0 -1
  209. package/src/ui/screens/OxyAuthScreen.tsx +2 -2
  210. package/src/ui/session/__tests__/createSessionClient.test.ts +41 -0
  211. package/src/ui/session/__tests__/projectSessionState.test.ts +114 -0
  212. package/src/ui/session/__tests__/sessionClientHost.test.ts +43 -0
  213. package/src/ui/session/__tests__/tokenTransport.test.ts +142 -0
  214. package/src/ui/session/createSessionClient.ts +21 -0
  215. package/src/ui/session/index.ts +19 -0
  216. package/src/ui/session/projectSessionState.ts +85 -0
  217. package/src/ui/session/sessionClientHost.ts +27 -0
  218. package/src/ui/session/tokenTransport.ts +76 -0
  219. package/src/ui/utils/activeAuthuser.ts +34 -76
  220. package/src/ui/utils/sessionHelpers.ts +0 -66
  221. package/src/utils/__tests__/deviceFlowSignIn.test.ts +243 -34
  222. package/src/utils/deviceFlowSignIn.ts +98 -21
  223. package/lib/commonjs/ui/components/accountMenuRows.js +0 -33
  224. package/lib/commonjs/ui/components/accountMenuRows.js.map +0 -1
  225. package/lib/commonjs/ui/hooks/useDeviceAccounts.js +0 -280
  226. package/lib/commonjs/ui/hooks/useDeviceAccounts.js.map +0 -1
  227. package/lib/commonjs/ui/hooks/useSessionSocket.js +0 -203
  228. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +0 -1
  229. package/lib/commonjs/utils/silentGuardKey.js +0 -54
  230. package/lib/commonjs/utils/silentGuardKey.js.map +0 -1
  231. package/lib/module/ui/components/accountMenuRows.js +0 -29
  232. package/lib/module/ui/components/accountMenuRows.js.map +0 -1
  233. package/lib/module/ui/hooks/useDeviceAccounts.js +0 -276
  234. package/lib/module/ui/hooks/useDeviceAccounts.js.map +0 -1
  235. package/lib/module/ui/hooks/useSessionSocket.js +0 -199
  236. package/lib/module/ui/hooks/useSessionSocket.js.map +0 -1
  237. package/lib/module/utils/silentGuardKey.js +0 -49
  238. package/lib/module/utils/silentGuardKey.js.map +0 -1
  239. package/lib/typescript/commonjs/ui/components/accountMenuRows.d.ts +0 -34
  240. package/lib/typescript/commonjs/ui/components/accountMenuRows.d.ts.map +0 -1
  241. package/lib/typescript/commonjs/ui/hooks/useDeviceAccounts.d.ts +0 -133
  242. package/lib/typescript/commonjs/ui/hooks/useDeviceAccounts.d.ts.map +0 -1
  243. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts +0 -14
  244. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts.map +0 -1
  245. package/lib/typescript/commonjs/utils/silentGuardKey.d.ts +0 -31
  246. package/lib/typescript/commonjs/utils/silentGuardKey.d.ts.map +0 -1
  247. package/lib/typescript/module/ui/components/accountMenuRows.d.ts +0 -34
  248. package/lib/typescript/module/ui/components/accountMenuRows.d.ts.map +0 -1
  249. package/lib/typescript/module/ui/hooks/useDeviceAccounts.d.ts +0 -133
  250. package/lib/typescript/module/ui/hooks/useDeviceAccounts.d.ts.map +0 -1
  251. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts +0 -14
  252. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts.map +0 -1
  253. package/lib/typescript/module/utils/silentGuardKey.d.ts +0 -31
  254. package/lib/typescript/module/utils/silentGuardKey.d.ts.map +0 -1
  255. package/src/ui/components/accountMenuRows.ts +0 -48
  256. package/src/ui/hooks/useDeviceAccounts.ts +0 -344
  257. package/src/ui/hooks/useSessionSocket.ts +0 -233
  258. package/src/ui/utils/__tests__/activeAuthuser.test.ts +0 -75
  259. package/src/utils/__tests__/silentGuardKey.test.ts +0 -82
  260. package/src/utils/silentGuardKey.ts +0 -46
@@ -15,7 +15,7 @@ var _divider = require("@oxyhq/bloom/divider");
15
15
  var _core = require("@oxyhq/core");
16
16
  var _OxyContext = require("../context/OxyContext.js");
17
17
  var _useI18n = require("../hooks/useI18n.js");
18
- var _useDeviceAccounts = require("../hooks/useDeviceAccounts.js");
18
+ var _useSwitchableAccounts = require("../hooks/useSwitchableAccounts.js");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  const isWeb = _reactNative.Platform.OS === 'web';
21
21
 
@@ -31,30 +31,32 @@ const MENU_WIDTH = 300;
31
31
  * Native ignores the anchor and docks the panel to the bottom as a sheet.
32
32
  */
33
33
 
34
- /** Everything `ProfileMenuContent` needs, minus the `open` flag (always open). */
35
-
36
34
  /**
37
- * Clean device-account switcher, modeled on the inbox `AccountMenu` but written
38
- * fresh with NativeWind classNames + Bloom primitives. Lists every account
39
- * signed in on this device (from {@link useDeviceAccounts}); tapping a row
40
- * switches, and each inactive row carries a sign-out icon. Below the list:
41
- * Add account, Manage account, optional View profile, and Sign out of all.
35
+ * Clean account switcher, written with react-native `StyleSheet` + Bloom
36
+ * theme colors (the package convention no NativeWind, which is only an
37
+ * optional peer and absent in the primary `accounts` consumer). Lists EVERY
38
+ * switchable account from {@link useSwitchableAccounts}
39
+ * device sign-ins AND linked graph accounts (owned orgs + shared-with-you)
40
+ * and routes EVERY switch through the context's single
41
+ * `switchToAccount(accountId)` dispatcher (there is no separate device-only
42
+ * path). Each on-device inactive row carries a per-account sign-out icon;
43
+ * graph-only rows carry a role badge and indent under their parent. Below the
44
+ * list: Add account, Manage account, optional View profile, and Sign out of all.
42
45
  *
43
- * Heavy hooks (device accounts / refresh-all, Bloom dialog/toast controls, the
44
- * escape-key listener) live here so they run ONLY while the menu is open — the
45
- * outer {@link ProfileMenu} mounts this only when `open`. This component may
46
- * therefore assume it is always open.
46
+ * Renders as an upward-opening popover anchored to the trigger on web, and a
47
+ * bottom-sheet style modal on native.
47
48
  */
48
- const ProfileMenuContent = ({
49
+ const ProfileMenu = ({
50
+ open,
49
51
  onClose,
52
+ anchor,
50
53
  onNavigateManage,
51
54
  onAddAccount,
52
55
  onNavigateProfile,
53
56
  onBeforeSessionChange
54
57
  }) => {
55
58
  const {
56
- activeSessionId,
57
- switchSession,
59
+ switchToAccount,
58
60
  logoutAll,
59
61
  removeSession
60
62
  } = (0, _OxyContext.useOxy)();
@@ -66,23 +68,29 @@ const ProfileMenuContent = ({
66
68
  } = (0, _theme.useTheme)();
67
69
  const {
68
70
  accounts
69
- } = (0, _useDeviceAccounts.useDeviceAccounts)();
70
- const [busySessionId, setBusySessionId] = (0, _react.useState)(null);
71
+ } = (0, _useSwitchableAccounts.useSwitchableAccounts)();
72
+ const [busyAccountId, setBusyAccountId] = (0, _react.useState)(null);
71
73
  const [removingSessionId, setRemovingSessionId] = (0, _react.useState)(null);
72
74
  const [signingOutAll, setSigningOutAll] = (0, _react.useState)(false);
73
75
  const signOutAllDialog = (0, _bloom.useDialogControl)();
74
- const isSwitching = busySessionId !== null;
76
+ const isSwitching = busyAccountId !== null;
75
77
  const actionDisabled = isSwitching || removingSessionId !== null || signingOutAll;
76
78
 
77
- // Switch to a non-active account through the SDK's canonical switch path.
78
- const handleSwitch = (0, _react.useCallback)(async sessionId => {
79
- if (sessionId === activeSessionId || busySessionId) {
79
+ // Account ids currently in the list used to decide whether a graph-only
80
+ // row is a CHILD (its parent is also shown) so it can be indented.
81
+ const listedAccountIds = (0, _react.useMemo)(() => new Set(accounts.map(account => account.accountId)), [accounts]);
82
+
83
+ // The ONE uniform switch path: every row (device or linked) routes through
84
+ // `switchToAccount(accountId)`. It reuses the device session when the account
85
+ // is already signed in here, and mints one only on first entry.
86
+ const handleSwitch = (0, _react.useCallback)(async account => {
87
+ if (account.isCurrent || busyAccountId) {
80
88
  return;
81
89
  }
82
- setBusySessionId(sessionId);
90
+ setBusyAccountId(account.accountId);
83
91
  try {
84
92
  await onBeforeSessionChange?.();
85
- await switchSession(sessionId);
93
+ await switchToAccount(account.accountId);
86
94
  _bloom.toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
87
95
  onClose();
88
96
  } catch (error) {
@@ -93,14 +101,14 @@ const ProfileMenuContent = ({
93
101
  }
94
102
  _bloom.toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
95
103
  } finally {
96
- setBusySessionId(null);
104
+ setBusyAccountId(null);
97
105
  }
98
- }, [activeSessionId, busySessionId, switchSession, t, onClose, onBeforeSessionChange]);
106
+ }, [busyAccountId, switchToAccount, t, onClose, onBeforeSessionChange]);
99
107
 
100
108
  // Sign out a specific inactive account without switching/clearing the active
101
109
  // one. The menu stays open so the user can keep managing accounts.
102
110
  const handleRemove = (0, _react.useCallback)(async sessionId => {
103
- if (sessionId === activeSessionId || removingSessionId) {
111
+ if (removingSessionId) {
104
112
  return;
105
113
  }
106
114
  setRemovingSessionId(sessionId);
@@ -115,7 +123,7 @@ const ProfileMenuContent = ({
115
123
  } finally {
116
124
  setRemovingSessionId(null);
117
125
  }
118
- }, [activeSessionId, removingSessionId, removeSession, t]);
126
+ }, [removingSessionId, removeSession, t]);
119
127
  const performSignOutAll = (0, _react.useCallback)(async () => {
120
128
  if (signingOutAll) {
121
129
  return;
@@ -136,10 +144,9 @@ const ProfileMenuContent = ({
136
144
  }
137
145
  }, [signingOutAll, logoutAll, t, onClose, onBeforeSessionChange]);
138
146
 
139
- // Escape-to-close (web only). This component only mounts while open, so the
140
- // listener is attached exactly for the menu's lifetime.
147
+ // Escape-to-close (web only).
141
148
  (0, _react.useEffect)(() => {
142
- if (!isWeb || typeof document === 'undefined') {
149
+ if (!open || !isWeb || typeof document === 'undefined') {
143
150
  return undefined;
144
151
  }
145
152
  const onKey = event => {
@@ -150,39 +157,91 @@ const ProfileMenuContent = ({
150
157
  };
151
158
  document.addEventListener('keydown', onKey, true);
152
159
  return () => document.removeEventListener('keydown', onKey, true);
153
- }, [onClose]);
154
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
155
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
156
- className: "grow-0",
157
- contentContainerClassName: "py-1",
160
+ }, [open, onClose]);
161
+ if (!open) {
162
+ return null;
163
+ }
164
+
165
+ // Web: anchor the panel to the measured trigger. When the anchor pins `top`
166
+ // the panel opens DOWNWARD from the trigger; otherwise it pins `bottom` and
167
+ // opens UPWARD (the default footer behavior). With no anchor captured, fall
168
+ // back to a bottom-left placement. Native ignores this (the panel docks to
169
+ // the bottom via the overlay's flex-end).
170
+ const panelAnchorStyle = isWeb ? {
171
+ position: 'absolute',
172
+ width: MENU_WIDTH,
173
+ left: anchor?.left ?? 8,
174
+ ...(typeof anchor?.top === 'number' ? {
175
+ top: anchor.top
176
+ } : {
177
+ bottom: anchor?.bottom ?? 8
178
+ })
179
+ } : undefined;
180
+ const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable
181
+ // Swallow taps inside the panel so they never reach the overlay's
182
+ // outside-tap-to-close handler.
183
+ , {
184
+ onPress: () => undefined,
185
+ style: [isWeb ? styles.panelWeb : styles.panelNative, {
186
+ backgroundColor: colors.background
187
+ }, isWeb ? {
188
+ borderColor: colors.border
189
+ } : null, panelAnchorStyle, styles.panelBounds, styles.shadow],
190
+ accessibilityRole: "menu",
191
+ accessibilityLabel: t('accountMenu.label') || 'Account menu',
192
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
193
+ style: styles.scroll,
194
+ contentContainerStyle: styles.scrollContent,
158
195
  showsVerticalScrollIndicator: false,
159
196
  children: [accounts.map(account => {
160
197
  const isActive = account.isCurrent;
161
- const isBusy = busySessionId === account.sessionId;
162
- const isRemoving = removingSessionId === account.sessionId;
198
+ const isBusy = busyAccountId === account.accountId;
199
+ const sessionId = account.sessionId;
200
+ const isRemoving = sessionId ? removingSessionId === sessionId : false;
201
+ const isChild = Boolean(account.parentAccountId && listedAccountIds.has(account.parentAccountId));
202
+ const role = account.callerMembership?.role;
163
203
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
164
204
  accessibilityRole: "menuitem",
165
205
  accessibilityLabel: account.displayName,
166
206
  accessibilityState: {
167
207
  selected: isActive
168
208
  },
169
- onPress: () => handleSwitch(account.sessionId),
209
+ onPress: () => handleSwitch(account),
170
210
  disabled: isActive || isBusy || isSwitching,
171
- className: `flex-row items-center gap-3 px-4 py-2.5 ${isActive ? 'bg-secondary' : ''} ${isSwitching && !isActive ? 'opacity-40' : ''}`,
211
+ style: [styles.accountRow, isChild && styles.childRow, isActive && {
212
+ backgroundColor: colors.backgroundSecondary
213
+ }, isSwitching && !isActive && styles.rowDimmed],
172
214
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
173
215
  source: account.user.avatar ?? undefined,
174
216
  uri: account.avatarUrl,
175
217
  variant: "thumb",
176
218
  name: account.displayName,
177
- size: isActive ? 40 : 32
219
+ size: isActive ? 40 : isChild ? 28 : 32
178
220
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
179
- className: "min-w-0 flex-1",
180
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
181
- className: `text-foreground ${isActive ? 'font-semibold' : 'font-medium'}`,
182
- numberOfLines: 1,
183
- children: account.displayName
221
+ style: styles.accountInfo,
222
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
223
+ style: styles.nameRow,
224
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
225
+ style: [styles.accountName, {
226
+ color: colors.text
227
+ }, isActive && styles.accountNameActive],
228
+ numberOfLines: 1,
229
+ children: account.displayName
230
+ }), role ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
231
+ style: [styles.roleBadge, {
232
+ backgroundColor: colors.card
233
+ }],
234
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
235
+ style: [styles.roleBadgeText, {
236
+ color: colors.textSecondary
237
+ }],
238
+ children: t(`accounts.roles.${role}.label`) || role
239
+ })
240
+ }) : null]
184
241
  }), account.email ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
185
- className: "text-xs text-muted-foreground",
242
+ style: [styles.accountEmail, {
243
+ color: colors.textSecondary
244
+ }],
186
245
  numberOfLines: 1,
187
246
  children: account.email
188
247
  }) : null]
@@ -196,12 +255,12 @@ const ProfileMenuContent = ({
196
255
  }) : isRemoving ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
197
256
  color: colors.textSecondary,
198
257
  size: "small"
199
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
258
+ }) : sessionId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
200
259
  accessibilityRole: "button",
201
260
  accessibilityLabel: t('accountMenu.signOutAccount', {
202
261
  name: account.displayName
203
262
  }) || `Sign out ${account.displayName}`,
204
- onPress: () => handleRemove(account.sessionId),
263
+ onPress: () => handleRemove(sessionId),
205
264
  disabled: actionDisabled,
206
265
  hitSlop: {
207
266
  top: 8,
@@ -209,21 +268,23 @@ const ProfileMenuContent = ({
209
268
  left: 8,
210
269
  right: 8
211
270
  },
212
- className: "h-7 w-7 items-center justify-center rounded-full opacity-60",
271
+ style: styles.rowSignOutButton,
213
272
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
214
273
  name: "logout",
215
274
  size: 18,
216
275
  color: colors.textSecondary
217
276
  })
218
- })]
219
- }, `account-${account.sessionId}`);
277
+ }) : null]
278
+ }, `account-${account.accountId}`);
220
279
  }), isSwitching ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
221
- className: "flex-row items-center justify-center gap-2 py-2",
280
+ style: styles.switchingRow,
222
281
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
223
282
  color: colors.textSecondary,
224
283
  size: "small"
225
284
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
226
- className: "text-xs font-medium text-muted-foreground",
285
+ style: [styles.switchingText, {
286
+ color: colors.textSecondary
287
+ }],
227
288
  children: t('accountMenu.switching') || 'Switching account…'
228
289
  })]
229
290
  }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider.Divider, {
@@ -232,6 +293,7 @@ const ProfileMenuContent = ({
232
293
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
233
294
  icon: "account-plus-outline",
234
295
  iconColor: colors.icon,
296
+ textColor: colors.text,
235
297
  label: t('accountMenu.addAnother') || 'Add another account',
236
298
  disabled: actionDisabled,
237
299
  onPress: () => {
@@ -241,6 +303,7 @@ const ProfileMenuContent = ({
241
303
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
242
304
  icon: "cog-outline",
243
305
  iconColor: colors.icon,
306
+ textColor: colors.text,
244
307
  label: t('accountMenu.manage') || 'Manage your Oxy Account',
245
308
  disabled: actionDisabled,
246
309
  onPress: () => {
@@ -250,6 +313,7 @@ const ProfileMenuContent = ({
250
313
  }), onNavigateProfile ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionRow, {
251
314
  icon: "account-outline",
252
315
  iconColor: colors.icon,
316
+ textColor: colors.text,
253
317
  label: t('accountMenu.viewProfile') || 'View profile',
254
318
  disabled: actionDisabled,
255
319
  onPress: () => {
@@ -264,7 +328,7 @@ const ProfileMenuContent = ({
264
328
  accessibilityLabel: t('accountMenu.signOutAll') || 'Sign out of all accounts',
265
329
  onPress: () => signOutAllDialog.open(),
266
330
  disabled: actionDisabled,
267
- className: `flex-row items-center gap-3 px-4 py-3 ${actionDisabled ? 'opacity-40' : ''}`,
331
+ style: [styles.actionRow, actionDisabled && styles.rowDimmed],
268
332
  children: [signingOutAll ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
269
333
  color: colors.error,
270
334
  size: "small"
@@ -273,13 +337,25 @@ const ProfileMenuContent = ({
273
337
  size: 18,
274
338
  color: colors.error
275
339
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
276
- className: "font-medium",
277
- style: {
340
+ style: [styles.actionText, {
278
341
  color: colors.error
279
- },
342
+ }],
280
343
  children: t('accountMenu.signOutAll') || 'Sign out of all accounts'
281
344
  })]
282
345
  })]
346
+ })
347
+ });
348
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Modal, {
349
+ visible: open,
350
+ transparent: true,
351
+ animationType: isWeb ? 'fade' : 'slide',
352
+ onRequestClose: onClose,
353
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
354
+ accessibilityRole: "button",
355
+ accessibilityLabel: t('common.actions.close') || 'Close',
356
+ onPress: onClose,
357
+ style: isWeb ? styles.webOverlay : styles.nativeOverlay,
358
+ children: content
283
359
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bloom.Dialog, {
284
360
  control: signOutAllDialog,
285
361
  title: t('accountMenu.signOutAll') || 'Sign out of all accounts',
@@ -296,85 +372,11 @@ const ProfileMenuContent = ({
296
372
  });
297
373
  };
298
374
 
299
- /**
300
- * Public wrapper. The RN `Modal` shell is ALWAYS mounted (only `visible` toggles)
301
- * so the react-native-web portal is created up front — mounting a web `Modal`
302
- * already-`visible` is fragile (the first interaction can be eaten / the button
303
- * "does nothing"). Only the heavy {@link ProfileMenuContent} mounts when open,
304
- * keeping the account hooks off the render path when the menu is closed. On
305
- * native that closed render is `<Modal visible={false}>{null}</Modal>` → no heavy
306
- * hooks run (preserving the native-drawer crash fix).
307
- *
308
- * This outer component calls ONLY light, always-safe hooks (`useTheme`,
309
- * `useI18n` for the overlay a11y label) and computes the panel/overlay layout.
310
- */
311
- const ProfileMenu = ({
312
- open,
313
- onClose,
314
- anchor,
315
- onNavigateManage,
316
- onAddAccount,
317
- onNavigateProfile,
318
- onBeforeSessionChange
319
- }) => {
320
- const {
321
- t
322
- } = (0, _useI18n.useI18n)();
323
-
324
- // Web: anchor the panel to the measured trigger. When the anchor pins `top`
325
- // the panel opens DOWNWARD from the trigger; otherwise it pins `bottom` and
326
- // opens UPWARD (the default footer behavior). With no anchor captured, fall
327
- // back to a bottom-left placement. Native ignores this (the panel docks to
328
- // the bottom via the overlay's flex-end).
329
- const panelAnchorStyle = isWeb ? {
330
- position: 'absolute',
331
- width: MENU_WIDTH,
332
- left: anchor?.left ?? 8,
333
- ...(typeof anchor?.top === 'number' ? {
334
- top: anchor.top
335
- } : {
336
- bottom: anchor?.bottom ?? 8
337
- })
338
- } : undefined;
339
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
340
- visible: open,
341
- transparent: true,
342
- animationType: isWeb ? 'fade' : 'slide',
343
- onRequestClose: onClose,
344
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
345
- accessibilityRole: "button",
346
- accessibilityLabel: t('common.actions.close') || 'Close',
347
- onPress: onClose,
348
- className: isWeb ? 'flex-1 relative' : 'flex-1 justify-end',
349
- style: !isWeb ? styles.nativeScrim : undefined,
350
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable
351
- // Swallow taps inside the panel so they never reach the overlay's
352
- // outside-tap-to-close handler.
353
- , {
354
- onPress: () => undefined,
355
- className: isWeb ? 'overflow-hidden rounded-2xl border border-border bg-background' : 'overflow-hidden rounded-t-3xl bg-background pb-3',
356
- style: [panelAnchorStyle, {
357
- maxHeight: '85%'
358
- }, styles.shadow],
359
- accessibilityRole: "menu",
360
- accessibilityLabel: t('accountMenu.label') || 'Account menu',
361
- children: open ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ProfileMenuContent, {
362
- onClose: onClose,
363
- anchor: anchor,
364
- onNavigateManage: onNavigateManage,
365
- onAddAccount: onAddAccount,
366
- onNavigateProfile: onNavigateProfile,
367
- onBeforeSessionChange: onBeforeSessionChange
368
- }) : null
369
- })
370
- })
371
- });
372
- };
373
-
374
375
  /** Bottom-section action row (Add account / Manage / View profile). */
375
376
  const ActionRow = ({
376
377
  icon,
377
378
  iconColor,
379
+ textColor,
378
380
  label,
379
381
  disabled,
380
382
  onPress
@@ -383,21 +385,47 @@ const ActionRow = ({
383
385
  accessibilityLabel: label,
384
386
  onPress: onPress,
385
387
  disabled: disabled,
386
- className: `flex-row items-center gap-3 px-4 py-3 ${disabled ? 'opacity-40' : ''}`,
388
+ style: [styles.actionRow, disabled && styles.rowDimmed],
387
389
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
388
390
  name: icon,
389
391
  size: 20,
390
392
  color: iconColor
391
393
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
392
- className: "font-medium text-foreground",
394
+ style: [styles.actionText, {
395
+ color: textColor
396
+ }],
393
397
  children: label
394
398
  })]
395
399
  });
396
-
397
- // The panel's drop shadow and the native scrim are the only values with no
398
- // NativeWind class equivalent in this package (dynamic elevation + rgba scrim),
399
- // so they stay as small inline objects rather than raw class-replaceable styles.
400
- const styles = {
400
+ const styles = _reactNative.StyleSheet.create({
401
+ // Overlay: web is a positioning context for the anchored panel; native dims
402
+ // the backdrop and docks the sheet to the bottom.
403
+ webOverlay: {
404
+ flex: 1,
405
+ position: 'relative'
406
+ },
407
+ nativeOverlay: {
408
+ flex: 1,
409
+ justifyContent: 'flex-end',
410
+ backgroundColor: 'rgba(0,0,0,0.32)'
411
+ },
412
+ // Panel shell — web popover / native bottom sheet.
413
+ panelWeb: {
414
+ overflow: 'hidden',
415
+ borderRadius: 16,
416
+ borderWidth: 1
417
+ },
418
+ panelNative: {
419
+ overflow: 'hidden',
420
+ borderTopLeftRadius: 24,
421
+ borderTopRightRadius: 24,
422
+ paddingBottom: 12
423
+ },
424
+ // Shared height cap applied to both panel variants.
425
+ panelBounds: {
426
+ maxHeight: '85%'
427
+ },
428
+ // The panel's drop shadow (dynamic elevation).
401
429
  shadow: {
402
430
  shadowColor: '#000',
403
431
  shadowOpacity: 0.18,
@@ -408,9 +436,83 @@ const styles = {
408
436
  },
409
437
  elevation: 12
410
438
  },
411
- nativeScrim: {
412
- backgroundColor: 'rgba(0,0,0,0.32)'
439
+ scroll: {
440
+ flexGrow: 0
441
+ },
442
+ scrollContent: {
443
+ paddingVertical: 4
444
+ },
445
+ accountRow: {
446
+ flexDirection: 'row',
447
+ alignItems: 'center',
448
+ gap: 12,
449
+ paddingHorizontal: 16,
450
+ paddingVertical: 10
451
+ },
452
+ childRow: {
453
+ paddingLeft: 40
454
+ },
455
+ rowDimmed: {
456
+ opacity: 0.4
457
+ },
458
+ accountInfo: {
459
+ flex: 1,
460
+ minWidth: 0
461
+ },
462
+ nameRow: {
463
+ flexDirection: 'row',
464
+ alignItems: 'center',
465
+ gap: 6
466
+ },
467
+ accountName: {
468
+ fontWeight: '500',
469
+ flexShrink: 1
470
+ },
471
+ accountNameActive: {
472
+ fontWeight: '600'
473
+ },
474
+ accountEmail: {
475
+ fontSize: 12
476
+ },
477
+ roleBadge: {
478
+ paddingHorizontal: 6,
479
+ paddingVertical: 1,
480
+ borderRadius: 8
481
+ },
482
+ roleBadgeText: {
483
+ fontSize: 10,
484
+ fontWeight: '600',
485
+ textTransform: 'capitalize'
486
+ },
487
+ rowSignOutButton: {
488
+ width: 28,
489
+ height: 28,
490
+ alignItems: 'center',
491
+ justifyContent: 'center',
492
+ borderRadius: 9999,
493
+ opacity: 0.6
494
+ },
495
+ switchingRow: {
496
+ flexDirection: 'row',
497
+ alignItems: 'center',
498
+ justifyContent: 'center',
499
+ gap: 8,
500
+ paddingVertical: 8
501
+ },
502
+ switchingText: {
503
+ fontSize: 12,
504
+ fontWeight: '500'
505
+ },
506
+ actionRow: {
507
+ flexDirection: 'row',
508
+ alignItems: 'center',
509
+ gap: 12,
510
+ paddingHorizontal: 16,
511
+ paddingVertical: 12
512
+ },
513
+ actionText: {
514
+ fontWeight: '500'
413
515
  }
414
- };
516
+ });
415
517
  var _default = exports.default = ProfileMenu;
416
518
  //# sourceMappingURL=ProfileMenu.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_vectorIcons","_avatar","_typography","_theme","_bloom","_divider","_core","_OxyContext","_useI18n","_useDeviceAccounts","_jsxRuntime","isWeb","Platform","OS","MENU_WIDTH","ProfileMenuContent","onClose","onNavigateManage","onAddAccount","onNavigateProfile","onBeforeSessionChange","activeSessionId","switchSession","logoutAll","removeSession","useOxy","t","useI18n","colors","useTheme","accounts","useDeviceAccounts","busySessionId","setBusySessionId","useState","removingSessionId","setRemovingSessionId","signingOutAll","setSigningOutAll","signOutAllDialog","useDialogControl","isSwitching","actionDisabled","handleSwitch","useCallback","sessionId","toast","success","error","isDev","loggerUtil","warn","component","handleRemove","performSignOutAll","useEffect","document","undefined","onKey","event","key","stopPropagation","addEventListener","removeEventListener","jsxs","Fragment","children","ScrollView","className","contentContainerClassName","showsVerticalScrollIndicator","map","account","isActive","isCurrent","isBusy","isRemoving","Pressable","accessibilityRole","accessibilityLabel","displayName","accessibilityState","selected","onPress","disabled","jsx","Avatar","source","user","avatar","uri","avatarUrl","variant","name","size","View","Text","numberOfLines","email","ActivityIndicator","color","primary","MaterialCommunityIcons","textSecondary","hitSlop","top","bottom","left","right","Divider","border","spacing","ActionRow","icon","iconColor","label","open","style","Dialog","control","title","description","actions","ProfileMenu","anchor","panelAnchorStyle","position","width","Modal","visible","transparent","animationType","onRequestClose","styles","nativeScrim","maxHeight","shadow","shadowColor","shadowOpacity","shadowRadius","shadowOffset","height","elevation","backgroundColor","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/components/ProfileMenu.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_vectorIcons","_avatar","_typography","_theme","_bloom","_divider","_core","_OxyContext","_useI18n","_useSwitchableAccounts","_jsxRuntime","isWeb","Platform","OS","MENU_WIDTH","ProfileMenu","open","onClose","anchor","onNavigateManage","onAddAccount","onNavigateProfile","onBeforeSessionChange","switchToAccount","logoutAll","removeSession","useOxy","t","useI18n","colors","useTheme","accounts","useSwitchableAccounts","busyAccountId","setBusyAccountId","useState","removingSessionId","setRemovingSessionId","signingOutAll","setSigningOutAll","signOutAllDialog","useDialogControl","isSwitching","actionDisabled","listedAccountIds","useMemo","Set","map","account","accountId","handleSwitch","useCallback","isCurrent","toast","success","error","isDev","loggerUtil","warn","component","handleRemove","sessionId","performSignOutAll","useEffect","document","undefined","onKey","event","key","stopPropagation","addEventListener","removeEventListener","panelAnchorStyle","position","width","left","top","bottom","content","jsx","Pressable","onPress","style","styles","panelWeb","panelNative","backgroundColor","background","borderColor","border","panelBounds","shadow","accessibilityRole","accessibilityLabel","children","jsxs","ScrollView","scroll","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","isActive","isBusy","isRemoving","isChild","Boolean","parentAccountId","has","role","callerMembership","displayName","accessibilityState","selected","disabled","accountRow","childRow","backgroundSecondary","rowDimmed","Avatar","source","user","avatar","uri","avatarUrl","variant","name","size","View","accountInfo","nameRow","Text","accountName","color","text","accountNameActive","numberOfLines","roleBadge","card","roleBadgeText","textSecondary","email","accountEmail","ActivityIndicator","primary","MaterialCommunityIcons","hitSlop","right","rowSignOutButton","switchingRow","switchingText","Divider","spacing","ActionRow","icon","iconColor","textColor","label","actionRow","actionText","Modal","visible","transparent","animationType","onRequestClose","webOverlay","nativeOverlay","Dialog","control","title","description","actions","StyleSheet","create","flex","justifyContent","overflow","borderRadius","borderWidth","borderTopLeftRadius","borderTopRightRadius","paddingBottom","maxHeight","shadowColor","shadowOpacity","shadowRadius","shadowOffset","height","elevation","flexGrow","paddingVertical","flexDirection","alignItems","gap","paddingHorizontal","paddingLeft","opacity","minWidth","fontWeight","flexShrink","fontSize","textTransform","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/components/ProfileMenu.tsx"],"mappings":"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","ignoreList":[]}