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