@oxyhq/services 13.3.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 (251) 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/ProfileMenu.js +140 -153
  8. package/lib/commonjs/ui/components/ProfileMenu.js.map +1 -1
  9. package/lib/commonjs/ui/components/SignInModal.js +4 -4
  10. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  11. package/lib/commonjs/ui/context/OxyContext.js +506 -466
  12. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  13. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +59 -57
  14. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  15. package/lib/commonjs/ui/context/inSessionTokenRefresh.js +23 -42
  16. package/lib/commonjs/ui/context/inSessionTokenRefresh.js.map +1 -1
  17. package/lib/commonjs/ui/context/silentSessionRestore.js +12 -21
  18. package/lib/commonjs/ui/context/silentSessionRestore.js.map +1 -1
  19. package/lib/commonjs/ui/hooks/useAuth.js +4 -3
  20. package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
  21. package/lib/commonjs/ui/hooks/useOxyAuthSession.js +12 -7
  22. package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +1 -1
  23. package/lib/commonjs/ui/hooks/useSessionManagement.js +17 -65
  24. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  25. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +288 -0
  26. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -0
  27. package/lib/commonjs/ui/hooks/useWebSSO.js +12 -191
  28. package/lib/commonjs/ui/hooks/useWebSSO.js.map +1 -1
  29. package/lib/commonjs/ui/index.js.map +1 -1
  30. package/lib/commonjs/ui/screens/OxyAuthScreen.js +2 -2
  31. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  32. package/lib/commonjs/ui/session/createSessionClient.js +28 -0
  33. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -0
  34. package/lib/commonjs/ui/session/index.js +52 -0
  35. package/lib/commonjs/ui/session/index.js.map +1 -0
  36. package/lib/commonjs/ui/session/projectSessionState.js +86 -0
  37. package/lib/commonjs/ui/session/projectSessionState.js.map +1 -0
  38. package/lib/commonjs/ui/session/sessionClientHost.js +30 -0
  39. package/lib/commonjs/ui/session/sessionClientHost.js.map +1 -0
  40. package/lib/commonjs/ui/session/tokenTransport.js +77 -0
  41. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -0
  42. package/lib/commonjs/ui/utils/activeAuthuser.js +35 -79
  43. package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
  44. package/lib/commonjs/ui/utils/sessionHelpers.js +1 -51
  45. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  46. package/lib/commonjs/utils/deviceFlowSignIn.js +70 -15
  47. package/lib/commonjs/utils/deviceFlowSignIn.js.map +1 -1
  48. package/lib/module/index.js +5 -5
  49. package/lib/module/index.js.map +1 -1
  50. package/lib/module/ui/components/AccountMenu.js +103 -65
  51. package/lib/module/ui/components/AccountMenu.js.map +1 -1
  52. package/lib/module/ui/components/AccountSwitcher.js +85 -127
  53. package/lib/module/ui/components/AccountSwitcher.js.map +1 -1
  54. package/lib/module/ui/components/ProfileMenu.js +143 -156
  55. package/lib/module/ui/components/ProfileMenu.js.map +1 -1
  56. package/lib/module/ui/components/SignInModal.js +4 -4
  57. package/lib/module/ui/components/SignInModal.js.map +1 -1
  58. package/lib/module/ui/context/OxyContext.js +510 -470
  59. package/lib/module/ui/context/OxyContext.js.map +1 -1
  60. package/lib/module/ui/context/hooks/useAuthOperations.js +61 -60
  61. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  62. package/lib/module/ui/context/inSessionTokenRefresh.js +24 -43
  63. package/lib/module/ui/context/inSessionTokenRefresh.js.map +1 -1
  64. package/lib/module/ui/context/silentSessionRestore.js +12 -20
  65. package/lib/module/ui/context/silentSessionRestore.js.map +1 -1
  66. package/lib/module/ui/hooks/useAuth.js +4 -3
  67. package/lib/module/ui/hooks/useAuth.js.map +1 -1
  68. package/lib/module/ui/hooks/useOxyAuthSession.js +12 -7
  69. package/lib/module/ui/hooks/useOxyAuthSession.js.map +1 -1
  70. package/lib/module/ui/hooks/useSessionManagement.js +18 -66
  71. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  72. package/lib/module/ui/hooks/useSwitchableAccounts.js +283 -0
  73. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -0
  74. package/lib/module/ui/hooks/useWebSSO.js +13 -192
  75. package/lib/module/ui/hooks/useWebSSO.js.map +1 -1
  76. package/lib/module/ui/index.js +0 -1
  77. package/lib/module/ui/index.js.map +1 -1
  78. package/lib/module/ui/screens/OxyAuthScreen.js +2 -2
  79. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  80. package/lib/module/ui/session/createSessionClient.js +25 -0
  81. package/lib/module/ui/session/createSessionClient.js.map +1 -0
  82. package/lib/module/ui/session/index.js +17 -0
  83. package/lib/module/ui/session/index.js.map +1 -0
  84. package/lib/module/ui/session/projectSessionState.js +79 -0
  85. package/lib/module/ui/session/projectSessionState.js.map +1 -0
  86. package/lib/module/ui/session/sessionClientHost.js +26 -0
  87. package/lib/module/ui/session/sessionClientHost.js.map +1 -0
  88. package/lib/module/ui/session/tokenTransport.js +74 -0
  89. package/lib/module/ui/session/tokenTransport.js.map +1 -0
  90. package/lib/module/ui/utils/activeAuthuser.js +34 -76
  91. package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
  92. package/lib/module/ui/utils/sessionHelpers.js +0 -49
  93. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  94. package/lib/module/utils/deviceFlowSignIn.js +71 -16
  95. package/lib/module/utils/deviceFlowSignIn.js.map +1 -1
  96. package/lib/typescript/commonjs/index.d.ts +2 -3
  97. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +4 -2
  99. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts +7 -8
  101. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +12 -9
  103. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +16 -13
  105. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +27 -3
  107. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts +22 -17
  109. package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts.map +1 -1
  110. package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts +12 -18
  111. package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +1 -0
  113. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  114. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts +1 -1
  115. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +2 -2
  117. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  118. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  119. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +162 -0
  120. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -0
  121. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts +13 -52
  122. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts.map +1 -1
  123. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +15 -0
  125. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/ui/session/index.d.ts +15 -0
  127. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts +45 -0
  129. package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts +14 -0
  131. package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +24 -0
  133. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts +21 -29
  135. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
  136. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts +0 -19
  137. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts.map +1 -1
  138. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +51 -19
  139. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +1 -1
  140. package/lib/typescript/module/index.d.ts +2 -3
  141. package/lib/typescript/module/index.d.ts.map +1 -1
  142. package/lib/typescript/module/ui/components/AccountMenu.d.ts +4 -2
  143. package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +1 -1
  144. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +7 -8
  145. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +1 -1
  146. package/lib/typescript/module/ui/components/ProfileMenu.d.ts +12 -9
  147. package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +1 -1
  148. package/lib/typescript/module/ui/context/OxyContext.d.ts +16 -13
  149. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  150. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +27 -3
  151. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  152. package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts +22 -17
  153. package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts.map +1 -1
  154. package/lib/typescript/module/ui/context/silentSessionRestore.d.ts +12 -18
  155. package/lib/typescript/module/ui/context/silentSessionRestore.d.ts.map +1 -1
  156. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +1 -0
  157. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  158. package/lib/typescript/module/ui/hooks/useAuth.d.ts +1 -1
  159. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  160. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +2 -2
  161. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +1 -1
  162. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  163. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +162 -0
  164. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -0
  165. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts +13 -52
  166. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts.map +1 -1
  167. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  168. package/lib/typescript/module/ui/session/createSessionClient.d.ts +15 -0
  169. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -0
  170. package/lib/typescript/module/ui/session/index.d.ts +15 -0
  171. package/lib/typescript/module/ui/session/index.d.ts.map +1 -0
  172. package/lib/typescript/module/ui/session/projectSessionState.d.ts +45 -0
  173. package/lib/typescript/module/ui/session/projectSessionState.d.ts.map +1 -0
  174. package/lib/typescript/module/ui/session/sessionClientHost.d.ts +14 -0
  175. package/lib/typescript/module/ui/session/sessionClientHost.d.ts.map +1 -0
  176. package/lib/typescript/module/ui/session/tokenTransport.d.ts +24 -0
  177. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -0
  178. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts +21 -29
  179. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
  180. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts +0 -19
  181. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts.map +1 -1
  182. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +51 -19
  183. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +1 -1
  184. package/package.json +4 -4
  185. package/src/index.ts +9 -9
  186. package/src/ui/components/AccountMenu.tsx +117 -70
  187. package/src/ui/components/AccountSwitcher.tsx +88 -134
  188. package/src/ui/components/ProfileMenu.tsx +158 -162
  189. package/src/ui/components/SignInModal.tsx +5 -5
  190. package/src/ui/context/OxyContext.tsx +560 -475
  191. package/src/ui/context/hooks/useAuthOperations.ts +72 -63
  192. package/src/ui/context/inSessionTokenRefresh.ts +23 -42
  193. package/src/ui/context/silentSessionRestore.ts +12 -26
  194. package/src/ui/hooks/useAuth.ts +4 -3
  195. package/src/ui/hooks/useOxyAuthSession.ts +13 -8
  196. package/src/ui/hooks/useSessionManagement.ts +16 -87
  197. package/src/ui/hooks/useSwitchableAccounts.ts +397 -0
  198. package/src/ui/hooks/useWebSSO.ts +13 -227
  199. package/src/ui/index.ts +0 -1
  200. package/src/ui/screens/OxyAuthScreen.tsx +2 -2
  201. package/src/ui/session/__tests__/createSessionClient.test.ts +41 -0
  202. package/src/ui/session/__tests__/projectSessionState.test.ts +114 -0
  203. package/src/ui/session/__tests__/sessionClientHost.test.ts +43 -0
  204. package/src/ui/session/__tests__/tokenTransport.test.ts +142 -0
  205. package/src/ui/session/createSessionClient.ts +21 -0
  206. package/src/ui/session/index.ts +19 -0
  207. package/src/ui/session/projectSessionState.ts +85 -0
  208. package/src/ui/session/sessionClientHost.ts +27 -0
  209. package/src/ui/session/tokenTransport.ts +76 -0
  210. package/src/ui/utils/activeAuthuser.ts +34 -76
  211. package/src/ui/utils/sessionHelpers.ts +0 -66
  212. package/src/utils/__tests__/deviceFlowSignIn.test.ts +243 -34
  213. package/src/utils/deviceFlowSignIn.ts +98 -21
  214. package/lib/commonjs/ui/components/accountMenuRows.js +0 -33
  215. package/lib/commonjs/ui/components/accountMenuRows.js.map +0 -1
  216. package/lib/commonjs/ui/hooks/useDeviceAccounts.js +0 -280
  217. package/lib/commonjs/ui/hooks/useDeviceAccounts.js.map +0 -1
  218. package/lib/commonjs/ui/hooks/useSessionSocket.js +0 -203
  219. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +0 -1
  220. package/lib/commonjs/utils/silentGuardKey.js +0 -54
  221. package/lib/commonjs/utils/silentGuardKey.js.map +0 -1
  222. package/lib/module/ui/components/accountMenuRows.js +0 -29
  223. package/lib/module/ui/components/accountMenuRows.js.map +0 -1
  224. package/lib/module/ui/hooks/useDeviceAccounts.js +0 -276
  225. package/lib/module/ui/hooks/useDeviceAccounts.js.map +0 -1
  226. package/lib/module/ui/hooks/useSessionSocket.js +0 -199
  227. package/lib/module/ui/hooks/useSessionSocket.js.map +0 -1
  228. package/lib/module/utils/silentGuardKey.js +0 -49
  229. package/lib/module/utils/silentGuardKey.js.map +0 -1
  230. package/lib/typescript/commonjs/ui/components/accountMenuRows.d.ts +0 -34
  231. package/lib/typescript/commonjs/ui/components/accountMenuRows.d.ts.map +0 -1
  232. package/lib/typescript/commonjs/ui/hooks/useDeviceAccounts.d.ts +0 -133
  233. package/lib/typescript/commonjs/ui/hooks/useDeviceAccounts.d.ts.map +0 -1
  234. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts +0 -14
  235. package/lib/typescript/commonjs/ui/hooks/useSessionSocket.d.ts.map +0 -1
  236. package/lib/typescript/commonjs/utils/silentGuardKey.d.ts +0 -31
  237. package/lib/typescript/commonjs/utils/silentGuardKey.d.ts.map +0 -1
  238. package/lib/typescript/module/ui/components/accountMenuRows.d.ts +0 -34
  239. package/lib/typescript/module/ui/components/accountMenuRows.d.ts.map +0 -1
  240. package/lib/typescript/module/ui/hooks/useDeviceAccounts.d.ts +0 -133
  241. package/lib/typescript/module/ui/hooks/useDeviceAccounts.d.ts.map +0 -1
  242. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts +0 -14
  243. package/lib/typescript/module/ui/hooks/useSessionSocket.d.ts.map +0 -1
  244. package/lib/typescript/module/utils/silentGuardKey.d.ts +0 -31
  245. package/lib/typescript/module/utils/silentGuardKey.d.ts.map +0 -1
  246. package/src/ui/components/accountMenuRows.ts +0 -48
  247. package/src/ui/hooks/useDeviceAccounts.ts +0 -344
  248. package/src/ui/hooks/useSessionSocket.ts +0 -233
  249. package/src/ui/utils/__tests__/activeAuthuser.test.ts +0 -75
  250. package/src/utils/__tests__/silentGuardKey.test.ts +0 -82
  251. 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, StyleSheet, 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,31 +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` and styled
34
- * with react-native `StyleSheet` + the Bloom theme (via `useTheme`) so it
35
- * renders in EVERY consumer regardless of NativeWind. Lists every account
36
- * signed in on this device (from {@link useDeviceAccounts}); tapping a row
37
- * switches, and each inactive row carries a sign-out icon. Below the list:
38
- * 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.
39
41
  *
40
- * Heavy hooks (device accounts / refresh-all, Bloom dialog/toast controls, the
41
- * escape-key listener) live here so they run ONLY while the menu is open — the
42
- * outer {@link ProfileMenu} mounts this only when `open`. This component may
43
- * 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.
44
44
  */
45
- const ProfileMenuContent = ({
45
+ const ProfileMenu = ({
46
+ open,
46
47
  onClose,
48
+ anchor,
47
49
  onNavigateManage,
48
50
  onAddAccount,
49
51
  onNavigateProfile,
50
52
  onBeforeSessionChange
51
53
  }) => {
52
54
  const {
53
- activeSessionId,
54
- switchSession,
55
+ switchToAccount,
55
56
  logoutAll,
56
57
  removeSession
57
58
  } = useOxy();
@@ -63,23 +64,29 @@ const ProfileMenuContent = ({
63
64
  } = useTheme();
64
65
  const {
65
66
  accounts
66
- } = useDeviceAccounts();
67
- const [busySessionId, setBusySessionId] = useState(null);
67
+ } = useSwitchableAccounts();
68
+ const [busyAccountId, setBusyAccountId] = useState(null);
68
69
  const [removingSessionId, setRemovingSessionId] = useState(null);
69
70
  const [signingOutAll, setSigningOutAll] = useState(false);
70
71
  const signOutAllDialog = useDialogControl();
71
- const isSwitching = busySessionId !== null;
72
+ const isSwitching = busyAccountId !== null;
72
73
  const actionDisabled = isSwitching || removingSessionId !== null || signingOutAll;
73
74
 
74
- // Switch to a non-active account through the SDK's canonical switch path.
75
- const handleSwitch = useCallback(async sessionId => {
76
- 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) {
77
84
  return;
78
85
  }
79
- setBusySessionId(sessionId);
86
+ setBusyAccountId(account.accountId);
80
87
  try {
81
88
  await onBeforeSessionChange?.();
82
- await switchSession(sessionId);
89
+ await switchToAccount(account.accountId);
83
90
  toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
84
91
  onClose();
85
92
  } catch (error) {
@@ -90,14 +97,14 @@ const ProfileMenuContent = ({
90
97
  }
91
98
  toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
92
99
  } finally {
93
- setBusySessionId(null);
100
+ setBusyAccountId(null);
94
101
  }
95
- }, [activeSessionId, busySessionId, switchSession, t, onClose, onBeforeSessionChange]);
102
+ }, [busyAccountId, switchToAccount, t, onClose, onBeforeSessionChange]);
96
103
 
97
104
  // Sign out a specific inactive account without switching/clearing the active
98
105
  // one. The menu stays open so the user can keep managing accounts.
99
106
  const handleRemove = useCallback(async sessionId => {
100
- if (sessionId === activeSessionId || removingSessionId) {
107
+ if (removingSessionId) {
101
108
  return;
102
109
  }
103
110
  setRemovingSessionId(sessionId);
@@ -112,7 +119,7 @@ const ProfileMenuContent = ({
112
119
  } finally {
113
120
  setRemovingSessionId(null);
114
121
  }
115
- }, [activeSessionId, removingSessionId, removeSession, t]);
122
+ }, [removingSessionId, removeSession, t]);
116
123
  const performSignOutAll = useCallback(async () => {
117
124
  if (signingOutAll) {
118
125
  return;
@@ -133,10 +140,9 @@ const ProfileMenuContent = ({
133
140
  }
134
141
  }, [signingOutAll, logoutAll, t, onClose, onBeforeSessionChange]);
135
142
 
136
- // Escape-to-close (web only). This component only mounts while open, so the
137
- // listener is attached exactly for the menu's lifetime.
143
+ // Escape-to-close (web only).
138
144
  useEffect(() => {
139
- if (!isWeb || typeof document === 'undefined') {
145
+ if (!open || !isWeb || typeof document === 'undefined') {
140
146
  return undefined;
141
147
  }
142
148
  const onKey = event => {
@@ -147,25 +153,58 @@ const ProfileMenuContent = ({
147
153
  };
148
154
  document.addEventListener('keydown', onKey, true);
149
155
  return () => document.removeEventListener('keydown', onKey, true);
150
- }, [onClose]);
151
- return /*#__PURE__*/_jsxs(_Fragment, {
152
- children: [/*#__PURE__*/_jsxs(ScrollView, {
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, {
153
189
  style: styles.scroll,
154
190
  contentContainerStyle: styles.scrollContent,
155
191
  showsVerticalScrollIndicator: false,
156
192
  children: [accounts.map(account => {
157
193
  const isActive = account.isCurrent;
158
- const isBusy = busySessionId === account.sessionId;
159
- 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;
160
199
  return /*#__PURE__*/_jsxs(Pressable, {
161
200
  accessibilityRole: "menuitem",
162
201
  accessibilityLabel: account.displayName,
163
202
  accessibilityState: {
164
203
  selected: isActive
165
204
  },
166
- onPress: () => handleSwitch(account.sessionId),
205
+ onPress: () => handleSwitch(account),
167
206
  disabled: isActive || isBusy || isSwitching,
168
- style: [styles.accountRow, isActive && {
207
+ style: [styles.accountRow, isChild && styles.childRow, isActive && {
169
208
  backgroundColor: colors.backgroundSecondary
170
209
  }, isSwitching && !isActive && styles.rowDimmed],
171
210
  children: [/*#__PURE__*/_jsx(Avatar, {
@@ -173,15 +212,28 @@ const ProfileMenuContent = ({
173
212
  uri: account.avatarUrl,
174
213
  variant: "thumb",
175
214
  name: account.displayName,
176
- size: isActive ? 40 : 32
215
+ size: isActive ? 40 : isChild ? 28 : 32
177
216
  }), /*#__PURE__*/_jsxs(View, {
178
217
  style: styles.accountInfo,
179
- children: [/*#__PURE__*/_jsx(Text, {
180
- style: [isActive ? styles.accountNameActive : styles.accountName, {
181
- color: colors.text
182
- }],
183
- numberOfLines: 1,
184
- children: account.displayName
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]
185
237
  }), account.email ? /*#__PURE__*/_jsx(Text, {
186
238
  style: [styles.accountEmail, {
187
239
  color: colors.textSecondary
@@ -199,12 +251,12 @@ const ProfileMenuContent = ({
199
251
  }) : isRemoving ? /*#__PURE__*/_jsx(ActivityIndicator, {
200
252
  color: colors.textSecondary,
201
253
  size: "small"
202
- }) : /*#__PURE__*/_jsx(Pressable, {
254
+ }) : sessionId ? /*#__PURE__*/_jsx(Pressable, {
203
255
  accessibilityRole: "button",
204
256
  accessibilityLabel: t('accountMenu.signOutAccount', {
205
257
  name: account.displayName
206
258
  }) || `Sign out ${account.displayName}`,
207
- onPress: () => handleRemove(account.sessionId),
259
+ onPress: () => handleRemove(sessionId),
208
260
  disabled: actionDisabled,
209
261
  hitSlop: {
210
262
  top: 8,
@@ -218,8 +270,8 @@ const ProfileMenuContent = ({
218
270
  size: 18,
219
271
  color: colors.textSecondary
220
272
  })
221
- })]
222
- }, `account-${account.sessionId}`);
273
+ }) : null]
274
+ }, `account-${account.accountId}`);
223
275
  }), isSwitching ? /*#__PURE__*/_jsxs(View, {
224
276
  style: styles.switchingRow,
225
277
  children: [/*#__PURE__*/_jsx(ActivityIndicator, {
@@ -272,7 +324,7 @@ const ProfileMenuContent = ({
272
324
  accessibilityLabel: t('accountMenu.signOutAll') || 'Sign out of all accounts',
273
325
  onPress: () => signOutAllDialog.open(),
274
326
  disabled: actionDisabled,
275
- style: [styles.signOutAllRow, actionDisabled && styles.rowDimmed],
327
+ style: [styles.actionRow, actionDisabled && styles.rowDimmed],
276
328
  children: [signingOutAll ? /*#__PURE__*/_jsx(ActivityIndicator, {
277
329
  color: colors.error,
278
330
  size: "small"
@@ -287,6 +339,19 @@ const ProfileMenuContent = ({
287
339
  children: t('accountMenu.signOutAll') || 'Sign out of all accounts'
288
340
  })]
289
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
290
355
  }), /*#__PURE__*/_jsx(Dialog, {
291
356
  control: signOutAllDialog,
292
357
  title: t('accountMenu.signOutAll') || 'Sign out of all accounts',
@@ -303,84 +368,6 @@ const ProfileMenuContent = ({
303
368
  });
304
369
  };
305
370
 
306
- /**
307
- * Public wrapper. The RN `Modal` shell is ALWAYS mounted (only `visible` toggles)
308
- * so the react-native-web portal is created up front — mounting a web `Modal`
309
- * already-`visible` is fragile (the first interaction can be eaten / the button
310
- * "does nothing"). Only the heavy {@link ProfileMenuContent} mounts when open,
311
- * keeping the account hooks off the render path when the menu is closed. On
312
- * native that closed render is `<Modal visible={false}>{null}</Modal>` → no heavy
313
- * hooks run (preserving the native-drawer crash fix).
314
- *
315
- * This outer component calls ONLY light, always-safe hooks (`useTheme`,
316
- * `useI18n` for the overlay a11y label) and computes the panel/overlay layout.
317
- */
318
- const ProfileMenu = ({
319
- open,
320
- onClose,
321
- anchor,
322
- onNavigateManage,
323
- onAddAccount,
324
- onNavigateProfile,
325
- onBeforeSessionChange
326
- }) => {
327
- const {
328
- t
329
- } = useI18n();
330
- const {
331
- colors
332
- } = useTheme();
333
-
334
- // Web: anchor the panel to the measured trigger. When the anchor pins `top`
335
- // the panel opens DOWNWARD from the trigger; otherwise it pins `bottom` and
336
- // opens UPWARD (the default footer behavior). With no anchor captured, fall
337
- // back to a bottom-left placement. Native ignores this (the panel docks to
338
- // the bottom via the overlay's flex-end).
339
- const panelAnchorStyle = isWeb ? {
340
- position: 'absolute',
341
- width: MENU_WIDTH,
342
- left: anchor?.left ?? 8,
343
- ...(typeof anchor?.top === 'number' ? {
344
- top: anchor.top
345
- } : {
346
- bottom: anchor?.bottom ?? 8
347
- })
348
- } : undefined;
349
- return /*#__PURE__*/_jsx(Modal, {
350
- visible: open,
351
- transparent: true,
352
- animationType: isWeb ? 'fade' : 'slide',
353
- onRequestClose: onClose,
354
- children: /*#__PURE__*/_jsx(Pressable, {
355
- accessibilityRole: "button",
356
- accessibilityLabel: t('common.actions.close') || 'Close',
357
- onPress: onClose,
358
- style: isWeb ? styles.webOverlay : styles.nativeOverlay,
359
- children: /*#__PURE__*/_jsx(Pressable
360
- // Swallow taps inside the panel so they never reach the overlay's
361
- // outside-tap-to-close handler.
362
- , {
363
- onPress: () => undefined,
364
- style: [isWeb ? styles.panelWeb : styles.panelNative, {
365
- backgroundColor: colors.background
366
- }, isWeb && {
367
- borderColor: colors.border
368
- }, panelAnchorStyle, styles.panelBounds, styles.shadow],
369
- accessibilityRole: "menu",
370
- accessibilityLabel: t('accountMenu.label') || 'Account menu',
371
- children: open ? /*#__PURE__*/_jsx(ProfileMenuContent, {
372
- onClose: onClose,
373
- anchor: anchor,
374
- onNavigateManage: onNavigateManage,
375
- onAddAccount: onAddAccount,
376
- onNavigateProfile: onNavigateProfile,
377
- onBeforeSessionChange: onBeforeSessionChange
378
- }) : null
379
- })
380
- })
381
- });
382
- };
383
-
384
371
  /** Bottom-section action row (Add account / Manage / View profile). */
385
372
  const ActionRow = ({
386
373
  icon,
@@ -407,7 +394,8 @@ const ActionRow = ({
407
394
  })]
408
395
  });
409
396
  const styles = StyleSheet.create({
410
- // Overlay (`flex-1 relative` web / `flex-1 justify-end` + scrim native).
397
+ // Overlay: web is a positioning context for the anchored panel; native dims
398
+ // the backdrop and docks the sheet to the bottom.
411
399
  webOverlay: {
412
400
  flex: 1,
413
401
  position: 'relative'
@@ -417,24 +405,23 @@ const styles = StyleSheet.create({
417
405
  justifyContent: 'flex-end',
418
406
  backgroundColor: 'rgba(0,0,0,0.32)'
419
407
  },
420
- // Panel shell — web popover (`overflow-hidden rounded-2xl border`).
408
+ // Panel shell — web popover / native bottom sheet.
421
409
  panelWeb: {
422
410
  overflow: 'hidden',
423
411
  borderRadius: 16,
424
412
  borderWidth: 1
425
413
  },
426
- // Panel shell — native bottom sheet (`overflow-hidden rounded-t-3xl pb-3`).
427
414
  panelNative: {
428
415
  overflow: 'hidden',
429
416
  borderTopLeftRadius: 24,
430
417
  borderTopRightRadius: 24,
431
418
  paddingBottom: 12
432
419
  },
433
- // Shared `maxHeight: '85%'` cap applied to both panel variants.
420
+ // Shared height cap applied to both panel variants.
434
421
  panelBounds: {
435
422
  maxHeight: '85%'
436
423
  },
437
- // The panel's drop shadow dynamic elevation with no class equivalent.
424
+ // The panel's drop shadow (dynamic elevation).
438
425
  shadow: {
439
426
  shadowColor: '#000',
440
427
  shadowOpacity: 0.18,
@@ -445,14 +432,12 @@ const styles = StyleSheet.create({
445
432
  },
446
433
  elevation: 12
447
434
  },
448
- // Scroll region (`grow-0` + `py-1` content).
449
435
  scroll: {
450
436
  flexGrow: 0
451
437
  },
452
438
  scrollContent: {
453
439
  paddingVertical: 4
454
440
  },
455
- // Account row (`flex-row items-center gap-3 px-4 py-2.5`).
456
441
  accountRow: {
457
442
  flexDirection: 'row',
458
443
  alignItems: 'center',
@@ -460,28 +445,41 @@ const styles = StyleSheet.create({
460
445
  paddingHorizontal: 16,
461
446
  paddingVertical: 10
462
447
  },
463
- // `opacity-40` dim applied to disabled / non-active-while-switching rows.
448
+ childRow: {
449
+ paddingLeft: 40
450
+ },
464
451
  rowDimmed: {
465
452
  opacity: 0.4
466
453
  },
467
- // Identity block (`min-w-0 flex-1`).
468
454
  accountInfo: {
469
455
  flex: 1,
470
456
  minWidth: 0
471
457
  },
472
- // Inactive account name (`font-medium`).
458
+ nameRow: {
459
+ flexDirection: 'row',
460
+ alignItems: 'center',
461
+ gap: 6
462
+ },
473
463
  accountName: {
474
- fontWeight: '500'
464
+ fontWeight: '500',
465
+ flexShrink: 1
475
466
  },
476
- // Active account name (`font-semibold`).
477
467
  accountNameActive: {
478
468
  fontWeight: '600'
479
469
  },
480
- // Secondary email line (`text-xs`).
481
470
  accountEmail: {
482
471
  fontSize: 12
483
472
  },
484
- // Per-row sign-out button (`h-7 w-7 items-center justify-center rounded-full opacity-60`).
473
+ roleBadge: {
474
+ paddingHorizontal: 6,
475
+ paddingVertical: 1,
476
+ borderRadius: 8
477
+ },
478
+ roleBadgeText: {
479
+ fontSize: 10,
480
+ fontWeight: '600',
481
+ textTransform: 'capitalize'
482
+ },
485
483
  rowSignOutButton: {
486
484
  width: 28,
487
485
  height: 28,
@@ -490,7 +488,6 @@ const styles = StyleSheet.create({
490
488
  borderRadius: 9999,
491
489
  opacity: 0.6
492
490
  },
493
- // Switching indicator (`flex-row items-center justify-center gap-2 py-2`).
494
491
  switchingRow: {
495
492
  flexDirection: 'row',
496
493
  alignItems: 'center',
@@ -502,7 +499,6 @@ const styles = StyleSheet.create({
502
499
  fontSize: 12,
503
500
  fontWeight: '500'
504
501
  },
505
- // Bottom action rows (`flex-row items-center gap-3 px-4 py-3`).
506
502
  actionRow: {
507
503
  flexDirection: 'row',
508
504
  alignItems: 'center',
@@ -510,15 +506,6 @@ const styles = StyleSheet.create({
510
506
  paddingHorizontal: 16,
511
507
  paddingVertical: 12
512
508
  },
513
- // Sign-out-of-all row shares the action-row geometry.
514
- signOutAllRow: {
515
- flexDirection: 'row',
516
- alignItems: 'center',
517
- gap: 12,
518
- paddingHorizontal: 16,
519
- paddingVertical: 12
520
- },
521
- // Action / sign-out label (`font-medium`).
522
509
  actionText: {
523
510
  fontWeight: '500'
524
511
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useState","View","Pressable","Modal","ScrollView","ActivityIndicator","StyleSheet","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","style","styles","scroll","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","map","account","isActive","isCurrent","isBusy","isRemoving","accessibilityRole","accessibilityLabel","displayName","accessibilityState","selected","onPress","disabled","accountRow","backgroundColor","backgroundSecondary","rowDimmed","source","user","avatar","uri","avatarUrl","variant","name","size","accountInfo","accountNameActive","accountName","color","text","numberOfLines","email","accountEmail","textSecondary","primary","hitSlop","top","bottom","left","right","rowSignOutButton","switchingRow","switchingText","border","spacing","ActionRow","icon","iconColor","textColor","label","open","signOutAllRow","actionText","control","title","description","actions","ProfileMenu","anchor","panelAnchorStyle","position","width","visible","transparent","animationType","onRequestClose","webOverlay","nativeOverlay","panelWeb","panelNative","background","borderColor","panelBounds","shadow","actionRow","create","flex","justifyContent","overflow","borderRadius","borderWidth","borderTopLeftRadius","borderTopRightRadius","paddingBottom","maxHeight","shadowColor","shadowOpacity","shadowRadius","shadowOffset","height","elevation","flexGrow","paddingVertical","flexDirection","alignItems","gap","paddingHorizontal","opacity","minWidth","fontWeight","fontSize"],"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":";;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACjE,SACIC,IAAI,EACJC,SAAS,EACTC,KAAK,EACLC,UAAU,EACVC,iBAAiB,EACjBC,QAAQ,EACRC,UAAU,QAEP,cAAc;AACrB,SAASC,sBAAsB,QAAQ,oBAAoB;AAC3D,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,IAAI,QAAQ,yBAAyB;AAC9C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,KAAK,EAAEC,gBAAgB,EAAEC,MAAM,QAAQ,cAAc;AAC9D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,KAAK,EAAEC,MAAM,IAAIC,UAAU,QAAQ,aAAa;AACzD,SAASC,MAAM,QAAQ,0BAAuB;AAC9C,SAASC,OAAO,QAAQ,qBAAkB;AAC1C,SAASC,qBAAqB,QAAgC,mCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE/F,MAAMC,KAAK,GAAGpB,QAAQ,CAACqB,EAAE,KAAK,KAAK;;AAEnC;AACA,MAAMC,UAAU,GAAG,GAAG;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,WAAuC,GAAGA,CAAC;EAC7CC,IAAI;EACJC,OAAO;EACPC,MAAM;EACNC,gBAAgB;EAChBC,YAAY;EACZC,iBAAiB;EACjBC;AACJ,CAAC,KAAK;EACF,MAAM;IACFC,eAAe;IACfC,SAAS;IACTC;EACJ,CAAC,GAAGpB,MAAM,CAAC,CAAC;EACZ,MAAM;IAAEqB;EAAE,CAAC,GAAGpB,OAAO,CAAC,CAAC;EACvB,MAAM;IAAEqB;EAAO,CAAC,GAAG9B,QAAQ,CAAC,CAAC;EAE7B,MAAM;IAAE+B;EAAS,CAAC,GAAGrB,qBAAqB,CAAC,CAAC;EAE5C,MAAM,CAACsB,aAAa,EAAEC,gBAAgB,CAAC,GAAG5C,QAAQ,CAAgB,IAAI,CAAC;EACvE,MAAM,CAAC6C,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG9C,QAAQ,CAAgB,IAAI,CAAC;EAC/E,MAAM,CAAC+C,aAAa,EAAEC,gBAAgB,CAAC,GAAGhD,QAAQ,CAAC,KAAK,CAAC;EAEzD,MAAMiD,gBAAgB,GAAGpC,gBAAgB,CAAC,CAAC;EAE3C,MAAMqC,WAAW,GAAGP,aAAa,KAAK,IAAI;EAC1C,MAAMQ,cAAc,GAAGD,WAAW,IAAIL,iBAAiB,KAAK,IAAI,IAAIE,aAAa;;EAEjF;EACA;EACA,MAAMK,gBAAgB,GAAGrD,OAAO,CAC5B,MAAM,IAAIsD,GAAG,CAACX,QAAQ,CAACY,GAAG,CAAEC,OAAO,IAAKA,OAAO,CAACC,SAAS,CAAC,CAAC,EAC3D,CAACd,QAAQ,CACb,CAAC;;EAED;EACA;EACA;EACA,MAAMe,YAAY,GAAG5D,WAAW,CAAC,MAAO0D,OAA0B,IAAK;IACnE,IAAIA,OAAO,CAACG,SAAS,IAAIf,aAAa,EAAE;MACpC;IACJ;IACAC,gBAAgB,CAACW,OAAO,CAACC,SAAS,CAAC;IACnC,IAAI;MACA,MAAMpB,qBAAqB,GAAG,CAAC;MAC/B,MAAMC,eAAe,CAACkB,OAAO,CAACC,SAAS,CAAC;MACxC5C,KAAK,CAAC+C,OAAO,CAACnB,CAAC,CAAC,sCAAsC,CAAC,IAAI,kBAAkB,CAAC;MAC9ET,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,OAAO6B,KAAK,EAAE;MACZ,IAAI,CAAC5C,KAAK,CAAC,CAAC,EAAE;QACVE,UAAU,CAAC2C,IAAI,CAAC,uBAAuB,EAAE;UAAEC,SAAS,EAAE;QAAc,CAAC,EAAEF,KAAgB,CAAC;MAC5F;MACAhD,KAAK,CAACgD,KAAK,CAACpB,CAAC,CAAC,qCAAqC,CAAC,IAAI,0BAA0B,CAAC;IACvF,CAAC,SAAS;MACNI,gBAAgB,CAAC,IAAI,CAAC;IAC1B;EACJ,CAAC,EAAE,CAACD,aAAa,EAAEN,eAAe,EAAEG,CAAC,EAAET,OAAO,EAAEK,qBAAqB,CAAC,CAAC;;EAEvE;EACA;EACA,MAAM2B,YAAY,GAAGlE,WAAW,CAAC,MAAOmE,SAAiB,IAAK;IAC1D,IAAInB,iBAAiB,EAAE;MACnB;IACJ;IACAC,oBAAoB,CAACkB,SAAS,CAAC;IAC/B,IAAI;MACA,MAAMzB,aAAa,CAACyB,SAAS,CAAC;MAC9BpD,KAAK,CAAC+C,OAAO,CAACnB,CAAC,CAAC,0BAA0B,CAAC,IAAI,YAAY,CAAC;IAChE,CAAC,CAAC,OAAOoB,KAAK,EAAE;MACZ1C,UAAU,CAAC2C,IAAI,CAAC,uBAAuB,EAAE;QAAEC,SAAS,EAAE;MAAc,CAAC,EAAEF,KAAgB,CAAC;MACxFhD,KAAK,CAACgD,KAAK,CAACpB,CAAC,CAAC,6BAA6B,CAAC,IAAI,oBAAoB,CAAC;IACzE,CAAC,SAAS;MACNM,oBAAoB,CAAC,IAAI,CAAC;IAC9B;EACJ,CAAC,EAAE,CAACD,iBAAiB,EAAEN,aAAa,EAAEC,CAAC,CAAC,CAAC;EAEzC,MAAMyB,iBAAiB,GAAGpE,WAAW,CAAC,YAAY;IAC9C,IAAIkD,aAAa,EAAE;MACf;IACJ;IACAC,gBAAgB,CAAC,IAAI,CAAC;IACtB,IAAI;MACA,MAAMZ,qBAAqB,GAAG,CAAC;MAC/B,MAAME,SAAS,CAAC,CAAC;MACjB1B,KAAK,CAAC+C,OAAO,CAACnB,CAAC,CAAC,0CAA0C,CAAC,IAAI,4BAA4B,CAAC;MAC5FT,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,OAAO6B,KAAK,EAAE;MACZ1C,UAAU,CAAC2C,IAAI,CAAC,qBAAqB,EAAE;QAAEC,SAAS,EAAE;MAAc,CAAC,EAAEF,KAAgB,CAAC;MACtFhD,KAAK,CAACgD,KAAK,CAACpB,CAAC,CAAC,gCAAgC,CAAC,IAAI,oCAAoC,CAAC;IAC5F,CAAC,SAAS;MACNQ,gBAAgB,CAAC,KAAK,CAAC;IAC3B;EACJ,CAAC,EAAE,CAACD,aAAa,EAAET,SAAS,EAAEE,CAAC,EAAET,OAAO,EAAEK,qBAAqB,CAAC,CAAC;;EAEjE;EACAtC,SAAS,CAAC,MAAM;IACZ,IAAI,CAACgC,IAAI,IAAI,CAACJ,KAAK,IAAI,OAAOwC,QAAQ,KAAK,WAAW,EAAE;MACpD,OAAOC,SAAS;IACpB;IACA,MAAMC,KAAK,GAAIC,KAAoB,IAAK;MACpC,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,EAAE;QACxBD,KAAK,CAACE,eAAe,CAAC,CAAC;QACvBxC,OAAO,CAAC,CAAC;MACb;IACJ,CAAC;IACDmC,QAAQ,CAACM,gBAAgB,CAAC,SAAS,EAAEJ,KAAK,EAAE,IAAI,CAAC;IACjD,OAAO,MAAMF,QAAQ,CAACO,mBAAmB,CAAC,SAAS,EAAEL,KAAK,EAAE,IAAI,CAAC;EACrE,CAAC,EAAE,CAACtC,IAAI,EAAEC,OAAO,CAAC,CAAC;EAEnB,IAAI,CAACD,IAAI,EAAE;IACP,OAAO,IAAI;EACf;;EAEA;EACA;EACA;EACA;EACA;EACA,MAAM4C,gBAAuC,GAAGhD,KAAK,GAC/C;IACEiD,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAEhD,UAAU;IACjBiD,IAAI,EAAE7C,MAAM,EAAE6C,IAAI,IAAI,CAAC;IACvB,IAAI,OAAO7C,MAAM,EAAE8C,GAAG,KAAK,QAAQ,GAC7B;MAAEA,GAAG,EAAE9C,MAAM,CAAC8C;IAAI,CAAC,GACnB;MAAEC,MAAM,EAAE/C,MAAM,EAAE+C,MAAM,IAAI;IAAE,CAAC;EACzC,CAAC,GACCZ,SAAS;EAEf,MAAMa,OAAO,gBACTzD,IAAA,CAACrB;EACG;EACA;EAAA;IACA+E,OAAO,EAAEA,CAAA,KAAMd,SAAU;IACzBe,KAAK,EAAE,CACHxD,KAAK,GAAGyD,MAAM,CAACC,QAAQ,GAAGD,MAAM,CAACE,WAAW,EAC5C;MAAEC,eAAe,EAAE7C,MAAM,CAAC8C;IAAW,CAAC,EACtC7D,KAAK,GAAG;MAAE8D,WAAW,EAAE/C,MAAM,CAACgD;IAAO,CAAC,GAAG,IAAI,EAC7Cf,gBAAgB,EAChBS,MAAM,CAACO,WAAW,EAClBP,MAAM,CAACQ,MAAM,CACf;IACFC,iBAAiB,EAAC,MAAM;IACxBC,kBAAkB,EAAErD,CAAC,CAAC,mBAAmB,CAAC,IAAI,cAAe;IAAAsD,QAAA,eAE7DrE,KAAA,CAACrB,UAAU;MACP8E,KAAK,EAAEC,MAAM,CAACY,MAAO;MACrBC,qBAAqB,EAAEb,MAAM,CAACc,aAAc;MAC5CC,4BAA4B,EAAE,KAAM;MAAAJ,QAAA,GAOnCpD,QAAQ,CAACY,GAAG,CAAEC,OAAO,IAAK;QACvB,MAAM4C,QAAQ,GAAG5C,OAAO,CAACG,SAAS;QAClC,MAAM0C,MAAM,GAAGzD,aAAa,KAAKY,OAAO,CAACC,SAAS;QAClD,MAAMQ,SAAS,GAAGT,OAAO,CAACS,SAAS;QACnC,MAAMqC,UAAU,GAAGrC,SAAS,GAAGnB,iBAAiB,KAAKmB,SAAS,GAAG,KAAK;QACtE,MAAMsC,OAAO,GAAGC,OAAO,CACnBhD,OAAO,CAACiD,eAAe,IAAIpD,gBAAgB,CAACqD,GAAG,CAAClD,OAAO,CAACiD,eAAe,CAC3E,CAAC;QACD,MAAME,IAAI,GAAGnD,OAAO,CAACoD,gBAAgB,EAAED,IAAI;QAC3C,oBACIjF,KAAA,CAACvB,SAAS;UAEN0F,iBAAiB,EAAC,UAAU;UAC5BC,kBAAkB,EAAEtC,OAAO,CAACqD,WAAY;UACxCC,kBAAkB,EAAE;YAAEC,QAAQ,EAAEX;UAAS,CAAE;UAC3ClB,OAAO,EAAEA,CAAA,KAAMxB,YAAY,CAACF,OAAO,CAAE;UACrCwD,QAAQ,EAAEZ,QAAQ,IAAIC,MAAM,IAAIlD,WAAY;UAC5CgC,KAAK,EAAE,CACHC,MAAM,CAAC6B,UAAU,EACjBV,OAAO,IAAInB,MAAM,CAAC8B,QAAQ,EAC1Bd,QAAQ,IAAI;YAAEb,eAAe,EAAE7C,MAAM,CAACyE;UAAoB,CAAC,EAC3DhE,WAAW,IAAI,CAACiD,QAAQ,IAAIhB,MAAM,CAACgC,SAAS,CAC9C;UAAArB,QAAA,gBAEFvE,IAAA,CAACd,MAAM;YACH2G,MAAM,EAAE7D,OAAO,CAAC8D,IAAI,CAACC,MAAM,IAAInD,SAAU;YACzCoD,GAAG,EAAEhE,OAAO,CAACiE,SAAU;YACvBC,OAAO,EAAC,OAAO;YACfC,IAAI,EAAEnE,OAAO,CAACqD,WAAY;YAC1Be,IAAI,EAAExB,QAAQ,GAAG,EAAE,GAAGG,OAAO,GAAG,EAAE,GAAG;UAAG,CAC3C,CAAC,eACF7E,KAAA,CAACxB,IAAI;YAACiF,KAAK,EAAEC,MAAM,CAACyC,WAAY;YAAA9B,QAAA,gBAC5BrE,KAAA,CAACxB,IAAI;cAACiF,KAAK,EAAEC,MAAM,CAAC0C,OAAQ;cAAA/B,QAAA,gBACxBvE,IAAA,CAACb,IAAI;gBACDwE,KAAK,EAAE,CACHC,MAAM,CAAC2C,WAAW,EAClB;kBAAEC,KAAK,EAAEtF,MAAM,CAACuF;gBAAK,CAAC,EACtB7B,QAAQ,IAAIhB,MAAM,CAAC8C,iBAAiB,CACtC;gBACFC,aAAa,EAAE,CAAE;gBAAApC,QAAA,EAEhBvC,OAAO,CAACqD;cAAW,CAClB,CAAC,EACNF,IAAI,gBACDnF,IAAA,CAACtB,IAAI;gBAACiF,KAAK,EAAE,CAACC,MAAM,CAACgD,SAAS,EAAE;kBAAE7C,eAAe,EAAE7C,MAAM,CAAC2F;gBAAK,CAAC,CAAE;gBAAAtC,QAAA,eAC9DvE,IAAA,CAACb,IAAI;kBAACwE,KAAK,EAAE,CAACC,MAAM,CAACkD,aAAa,EAAE;oBAAEN,KAAK,EAAEtF,MAAM,CAAC6F;kBAAc,CAAC,CAAE;kBAAAxC,QAAA,EAChEtD,CAAC,CAAC,kBAAkBkE,IAAI,QAAQ,CAAC,IAAIA;gBAAI,CACxC;cAAC,CACL,CAAC,GACP,IAAI;YAAA,CACN,CAAC,EACNnD,OAAO,CAACgF,KAAK,gBACVhH,IAAA,CAACb,IAAI;cACDwE,KAAK,EAAE,CAACC,MAAM,CAACqD,YAAY,EAAE;gBAAET,KAAK,EAAEtF,MAAM,CAAC6F;cAAc,CAAC,CAAE;cAC9DJ,aAAa,EAAE,CAAE;cAAApC,QAAA,EAEhBvC,OAAO,CAACgF;YAAK,CACZ,CAAC,GACP,IAAI;UAAA,CACN,CAAC,EACNnC,MAAM,gBACH7E,IAAA,CAAClB,iBAAiB;YAAC0H,KAAK,EAAEtF,MAAM,CAACgG,OAAQ;YAACd,IAAI,EAAC;UAAO,CAAE,CAAC,GACzDxB,QAAQ,gBACR5E,IAAA,CAACf,sBAAsB;YAACkH,IAAI,EAAC,OAAO;YAACC,IAAI,EAAE,EAAG;YAACI,KAAK,EAAEtF,MAAM,CAACgG;UAAQ,CAAE,CAAC,GACxEpC,UAAU,gBACV9E,IAAA,CAAClB,iBAAiB;YAAC0H,KAAK,EAAEtF,MAAM,CAAC6F,aAAc;YAACX,IAAI,EAAC;UAAO,CAAE,CAAC,GAC/D3D,SAAS,gBACTzC,IAAA,CAACrB,SAAS;YACN0F,iBAAiB,EAAC,QAAQ;YAC1BC,kBAAkB,EACdrD,CAAC,CAAC,4BAA4B,EAAE;cAAEkF,IAAI,EAAEnE,OAAO,CAACqD;YAAY,CAAC,CAAC,IAC3D,YAAYrD,OAAO,CAACqD,WAAW,EACrC;YACD3B,OAAO,EAAEA,CAAA,KAAMlB,YAAY,CAACC,SAAS,CAAE;YACvC+C,QAAQ,EAAE5D,cAAe;YACzBuF,OAAO,EAAE;cAAE5D,GAAG,EAAE,CAAC;cAAEC,MAAM,EAAE,CAAC;cAAEF,IAAI,EAAE,CAAC;cAAE8D,KAAK,EAAE;YAAE,CAAE;YAClDzD,KAAK,EAAEC,MAAM,CAACyD,gBAAiB;YAAA9C,QAAA,eAE/BvE,IAAA,CAACf,sBAAsB;cACnBkH,IAAI,EAAC,QAAQ;cACbC,IAAI,EAAE,EAAG;cACTI,KAAK,EAAEtF,MAAM,CAAC6F;YAAc,CAC/B;UAAC,CACK,CAAC,GACZ,IAAI;QAAA,GAzEH,WAAW/E,OAAO,CAACC,SAAS,EA0E1B,CAAC;MAEpB,CAAC,CAAC,EAGDN,WAAW,gBACRzB,KAAA,CAACxB,IAAI;QAACiF,KAAK,EAAEC,MAAM,CAAC0D,YAAa;QAAA/C,QAAA,gBAC7BvE,IAAA,CAAClB,iBAAiB;UAAC0H,KAAK,EAAEtF,MAAM,CAAC6F,aAAc;UAACX,IAAI,EAAC;QAAO,CAAE,CAAC,eAC/DpG,IAAA,CAACb,IAAI;UAACwE,KAAK,EAAE,CAACC,MAAM,CAAC2D,aAAa,EAAE;YAAEf,KAAK,EAAEtF,MAAM,CAAC6F;UAAc,CAAC,CAAE;UAAAxC,QAAA,EAChEtD,CAAC,CAAC,uBAAuB,CAAC,IAAI;QAAoB,CACjD,CAAC;MAAA,CACL,CAAC,GACP,IAAI,eAERjB,IAAA,CAACR,OAAO;QAACgH,KAAK,EAAEtF,MAAM,CAACgD,MAAO;QAACsD,OAAO,EAAE;MAAE,CAAE,CAAC,eAG7CxH,IAAA,CAACyH,SAAS;QACNC,IAAI,EAAC,sBAAsB;QAC3BC,SAAS,EAAEzG,MAAM,CAACwG,IAAK;QACvBE,SAAS,EAAE1G,MAAM,CAACuF,IAAK;QACvBoB,KAAK,EAAE5G,CAAC,CAAC,wBAAwB,CAAC,IAAI,qBAAsB;QAC5DuE,QAAQ,EAAE5D,cAAe;QACzB8B,OAAO,EAAEA,CAAA,KAAM;UACXlD,OAAO,CAAC,CAAC;UACTG,YAAY,CAAC,CAAC;QAClB;MAAE,CACL,CAAC,eAGFX,IAAA,CAACyH,SAAS;QACNC,IAAI,EAAC,aAAa;QAClBC,SAAS,EAAEzG,MAAM,CAACwG,IAAK;QACvBE,SAAS,EAAE1G,MAAM,CAACuF,IAAK;QACvBoB,KAAK,EAAE5G,CAAC,CAAC,oBAAoB,CAAC,IAAI,yBAA0B;QAC5DuE,QAAQ,EAAE5D,cAAe;QACzB8B,OAAO,EAAEA,CAAA,KAAM;UACXlD,OAAO,CAAC,CAAC;UACTE,gBAAgB,CAAC,CAAC;QACtB;MAAE,CACL,CAAC,EAGDE,iBAAiB,gBACdZ,IAAA,CAACyH,SAAS;QACNC,IAAI,EAAC,iBAAiB;QACtBC,SAAS,EAAEzG,MAAM,CAACwG,IAAK;QACvBE,SAAS,EAAE1G,MAAM,CAACuF,IAAK;QACvBoB,KAAK,EAAE5G,CAAC,CAAC,yBAAyB,CAAC,IAAI,cAAe;QACtDuE,QAAQ,EAAE5D,cAAe;QACzB8B,OAAO,EAAEA,CAAA,KAAM;UACXlD,OAAO,CAAC,CAAC;UACTI,iBAAiB,CAAC,CAAC;QACvB;MAAE,CACL,CAAC,GACF,IAAI,eAGRZ,IAAA,CAACR,OAAO;QAACgH,KAAK,EAAEtF,MAAM,CAACgD,MAAO;QAACsD,OAAO,EAAE;MAAE,CAAE,CAAC,eAC7CtH,KAAA,CAACvB,SAAS;QACN0F,iBAAiB,EAAC,UAAU;QAC5BC,kBAAkB,EAAErD,CAAC,CAAC,wBAAwB,CAAC,IAAI,0BAA2B;QAC9EyC,OAAO,EAAEA,CAAA,KAAMhC,gBAAgB,CAACnB,IAAI,CAAC,CAAE;QACvCiF,QAAQ,EAAE5D,cAAe;QACzB+B,KAAK,EAAE,CAACC,MAAM,CAACkE,SAAS,EAAElG,cAAc,IAAIgC,MAAM,CAACgC,SAAS,CAAE;QAAArB,QAAA,GAE7D/C,aAAa,gBACVxB,IAAA,CAAClB,iBAAiB;UAAC0H,KAAK,EAAEtF,MAAM,CAACmB,KAAM;UAAC+D,IAAI,EAAC;QAAO,CAAE,CAAC,gBAEvDpG,IAAA,CAACf,sBAAsB;UAACkH,IAAI,EAAC,QAAQ;UAACC,IAAI,EAAE,EAAG;UAACI,KAAK,EAAEtF,MAAM,CAACmB;QAAM,CAAE,CACzE,eACDrC,IAAA,CAACb,IAAI;UAACwE,KAAK,EAAE,CAACC,MAAM,CAACmE,UAAU,EAAE;YAAEvB,KAAK,EAAEtF,MAAM,CAACmB;UAAM,CAAC,CAAE;UAAAkC,QAAA,EACrDtD,CAAC,CAAC,wBAAwB,CAAC,IAAI;QAA0B,CACxD,CAAC;MAAA,CACA,CAAC;IAAA,CACJ;EAAC,CACN,CACd;EAED,oBACIf,KAAA,CAACtB,KAAK;IACFoJ,OAAO,EAAEzH,IAAK;IACd0H,WAAW;IACXC,aAAa,EAAE/H,KAAK,GAAG,MAAM,GAAG,OAAQ;IACxCgI,cAAc,EAAE3H,OAAQ;IAAA+D,QAAA,gBAExBvE,IAAA,CAACrB,SAAS;MACN0F,iBAAiB,EAAC,QAAQ;MAC1BC,kBAAkB,EAAErD,CAAC,CAAC,sBAAsB,CAAC,IAAI,OAAQ;MACzDyC,OAAO,EAAElD,OAAQ;MACjBmD,KAAK,EAAExD,KAAK,GAAGyD,MAAM,CAACwE,UAAU,GAAGxE,MAAM,CAACyE,aAAc;MAAA9D,QAAA,EAEvDd;IAAO,CACD,CAAC,eAEZzD,IAAA,CAACT,MAAM;MACH+I,OAAO,EAAE5G,gBAAiB;MAC1B6G,KAAK,EAAEtH,CAAC,CAAC,wBAAwB,CAAC,IAAI,0BAA2B;MACjEuH,WAAW,EAAEvH,CAAC,CAAC,4BAA4B,CAAC,IAAI,oDAAqD;MACrGwH,OAAO,EAAE,CACL;QACIZ,KAAK,EAAE5G,CAAC,CAAC,wBAAwB,CAAC,IAAI,0BAA0B;QAChEuF,KAAK,EAAE,aAAa;QACpB9C,OAAO,EAAEhB;MACb,CAAC,EACD;QAAEmF,KAAK,EAAE5G,CAAC,CAAC,eAAe,CAAC,IAAI,QAAQ;QAAEuF,KAAK,EAAE;MAAS,CAAC;IAC5D,CACL,CAAC;EAAA,CACC,CAAC;AAEhB,CAAC;;AAED;AACA,MAAMiB,SAOJ,GAAGA,CAAC;EAAEC,IAAI;EAAEC,SAAS;EAAEC,SAAS;EAAEC,KAAK;EAAErC,QAAQ;EAAE9B;AAAQ,CAAC,kBAC1DxD,KAAA,CAACvB,SAAS;EACN0F,iBAAiB,EAAC,UAAU;EAC5BC,kBAAkB,EAAEuD,KAAM;EAC1BnE,OAAO,EAAEA,OAAQ;EACjB8B,QAAQ,EAAEA,QAAS;EACnB7B,KAAK,EAAE,CAACC,MAAM,CAACkE,SAAS,EAAEtC,QAAQ,IAAI5B,MAAM,CAACgC,SAAS,CAAE;EAAArB,QAAA,gBAExDvE,IAAA,CAACf,sBAAsB;IAACkH,IAAI,EAAEuB,IAAK;IAACtB,IAAI,EAAE,EAAG;IAACI,KAAK,EAAEmB;EAAU,CAAE,CAAC,eAClE3H,IAAA,CAACb,IAAI;IAACwE,KAAK,EAAE,CAACC,MAAM,CAACmE,UAAU,EAAE;MAAEvB,KAAK,EAAEoB;IAAU,CAAC,CAAE;IAAArD,QAAA,EAAEsD;EAAK,CAAO,CAAC;AAAA,CAC/D,CACd;AAED,MAAMjE,MAAM,GAAG5E,UAAU,CAAC0J,MAAM,CAAC;EAC7B;EACA;EACAN,UAAU,EAAE;IACRO,IAAI,EAAE,CAAC;IACPvF,QAAQ,EAAE;EACd,CAAC;EACDiF,aAAa,EAAE;IACXM,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,UAAU;IAC1B7E,eAAe,EAAE;EACrB,CAAC;EACD;EACAF,QAAQ,EAAE;IACNgF,QAAQ,EAAE,QAAQ;IAClBC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE;EACjB,CAAC;EACDjF,WAAW,EAAE;IACT+E,QAAQ,EAAE,QAAQ;IAClBG,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE,EAAE;IACxBC,aAAa,EAAE;EACnB,CAAC;EACD;EACA/E,WAAW,EAAE;IACTgF,SAAS,EAAE;EACf,CAAC;EACD;EACA/E,MAAM,EAAE;IACJgF,WAAW,EAAE,MAAM;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,EAAE;IAChBC,YAAY,EAAE;MAAElG,KAAK,EAAE,CAAC;MAAEmG,MAAM,EAAE;IAAE,CAAC;IACrCC,SAAS,EAAE;EACf,CAAC;EACDjF,MAAM,EAAE;IACJkF,QAAQ,EAAE;EACd,CAAC;EACDhF,aAAa,EAAE;IACXiF,eAAe,EAAE;EACrB,CAAC;EACDlE,UAAU,EAAE;IACRmE,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,EAAE;IACPC,iBAAiB,EAAE,EAAE;IACrBJ,eAAe,EAAE;EACrB,CAAC;EACDjE,QAAQ,EAAE;IACNsE,WAAW,EAAE;EACjB,CAAC;EACDpE,SAAS,EAAE;IACPqE,OAAO,EAAE;EACb,CAAC;EACD5D,WAAW,EAAE;IACTsC,IAAI,EAAE,CAAC;IACPuB,QAAQ,EAAE;EACd,CAAC;EACD5D,OAAO,EAAE;IACLsD,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE;EACT,CAAC;EACDvD,WAAW,EAAE;IACT4D,UAAU,EAAE,KAAK;IACjBC,UAAU,EAAE;EAChB,CAAC;EACD1D,iBAAiB,EAAE;IACfyD,UAAU,EAAE;EAChB,CAAC;EACDlD,YAAY,EAAE;IACVoD,QAAQ,EAAE;EACd,CAAC;EACDzD,SAAS,EAAE;IACPmD,iBAAiB,EAAE,CAAC;IACpBJ,eAAe,EAAE,CAAC;IAClBb,YAAY,EAAE;EAClB,CAAC;EACDhC,aAAa,EAAE;IACXuD,QAAQ,EAAE,EAAE;IACZF,UAAU,EAAE,KAAK;IACjBG,aAAa,EAAE;EACnB,CAAC;EACDjD,gBAAgB,EAAE;IACdhE,KAAK,EAAE,EAAE;IACTmG,MAAM,EAAE,EAAE;IACVK,UAAU,EAAE,QAAQ;IACpBjB,cAAc,EAAE,QAAQ;IACxBE,YAAY,EAAE,IAAI;IAClBmB,OAAO,EAAE;EACb,CAAC;EACD3C,YAAY,EAAE;IACVsC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBjB,cAAc,EAAE,QAAQ;IACxBkB,GAAG,EAAE,CAAC;IACNH,eAAe,EAAE;EACrB,CAAC;EACDpC,aAAa,EAAE;IACX8C,QAAQ,EAAE,EAAE;IACZF,UAAU,EAAE;EAChB,CAAC;EACDrC,SAAS,EAAE;IACP8B,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,EAAE;IACPC,iBAAiB,EAAE,EAAE;IACrBJ,eAAe,EAAE;EACrB,CAAC;EACD5B,UAAU,EAAE;IACRoC,UAAU,EAAE;EAChB;AACJ,CAAC,CAAC;AAEF,eAAe7J,WAAW","ignoreList":[]}
@@ -57,7 +57,7 @@ const SignInModal = () => {
57
57
  const theme = useTheme();
58
58
  const {
59
59
  oxyServices,
60
- switchSession,
60
+ handleWebSession,
61
61
  clientId
62
62
  } = useOxy();
63
63
 
@@ -78,7 +78,7 @@ const SignInModal = () => {
78
78
  theme: theme,
79
79
  insets: insets,
80
80
  oxyServices: oxyServices,
81
- switchSession: switchSession,
81
+ handleWebSession: handleWebSession,
82
82
  clientId: clientId
83
83
  });
84
84
  };
@@ -86,7 +86,7 @@ const SignInModalContent = ({
86
86
  theme,
87
87
  insets,
88
88
  oxyServices,
89
- switchSession,
89
+ handleWebSession,
90
90
  clientId
91
91
  }) => {
92
92
  const {
@@ -98,7 +98,7 @@ const SignInModalContent = ({
98
98
  openAuthApproval,
99
99
  openSameDeviceApproval,
100
100
  retry
101
- } = useOxyAuthSession(oxyServices, clientId, switchSession, {
101
+ } = useOxyAuthSession(oxyServices, clientId, handleWebSession, {
102
102
  onSignedIn: hideSignInModal
103
103
  });
104
104