@oxyhq/services 16.0.0 → 18.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 (278) hide show
  1. package/README.md +77 -98
  2. package/lib/commonjs/index.js +40 -51
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/client.js +0 -14
  5. package/lib/commonjs/ui/client.js.map +1 -1
  6. package/lib/commonjs/ui/components/OxyAccountDialog.js +742 -0
  7. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -0
  8. package/lib/commonjs/ui/components/OxyConsentScreen.js +461 -0
  9. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -0
  10. package/lib/commonjs/ui/components/OxyProvider.js +13 -6
  11. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxySignInButton.js +180 -22
  13. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  14. package/lib/commonjs/ui/components/ProfileButton.js +25 -112
  15. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  16. package/lib/commonjs/ui/components/RequireOxyAuth.js +299 -0
  17. package/lib/commonjs/ui/components/RequireOxyAuth.js.map +1 -0
  18. package/lib/commonjs/ui/components/oauthNavigation.js +73 -0
  19. package/lib/commonjs/ui/components/oauthNavigation.js.map +1 -0
  20. package/lib/commonjs/ui/context/OxyContext.js +122 -4
  21. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  22. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +1 -1
  23. package/lib/commonjs/ui/hooks/useAuth.js +19 -30
  24. package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
  25. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +37 -267
  26. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
  27. package/lib/commonjs/ui/index.js +5 -40
  28. package/lib/commonjs/ui/index.js.map +1 -1
  29. package/lib/commonjs/ui/navigation/accountDialogManager.js +91 -0
  30. package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -0
  31. package/lib/commonjs/ui/navigation/routes.js +0 -2
  32. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  33. package/lib/commonjs/ui/screens/ManageAccountScreen.js +4 -3
  34. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  35. package/lib/commonjs/ui/session/createSessionClient.js +10 -2
  36. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  37. package/lib/module/index.js +19 -16
  38. package/lib/module/index.js.map +1 -1
  39. package/lib/module/ui/client.js +1 -2
  40. package/lib/module/ui/client.js.map +1 -1
  41. package/lib/module/ui/components/OxyAccountDialog.js +739 -0
  42. package/lib/module/ui/components/OxyAccountDialog.js.map +1 -0
  43. package/lib/module/ui/components/OxyConsentScreen.js +454 -0
  44. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -0
  45. package/lib/module/ui/components/OxyProvider.js +13 -6
  46. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  47. package/lib/module/ui/components/OxySignInButton.js +181 -22
  48. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  49. package/lib/module/ui/components/ProfileButton.js +26 -112
  50. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  51. package/lib/module/ui/components/RequireOxyAuth.js +294 -0
  52. package/lib/module/ui/components/RequireOxyAuth.js.map +1 -0
  53. package/lib/module/ui/components/oauthNavigation.js +70 -0
  54. package/lib/module/ui/components/oauthNavigation.js.map +1 -0
  55. package/lib/module/ui/context/OxyContext.js +123 -5
  56. package/lib/module/ui/context/OxyContext.js.map +1 -1
  57. package/lib/module/ui/hooks/mutations/useAccountMutations.js +1 -1
  58. package/lib/module/ui/hooks/useAuth.js +19 -30
  59. package/lib/module/ui/hooks/useAuth.js.map +1 -1
  60. package/lib/module/ui/hooks/useSwitchableAccounts.js +38 -267
  61. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
  62. package/lib/module/ui/index.js +1 -5
  63. package/lib/module/ui/index.js.map +1 -1
  64. package/lib/module/ui/navigation/accountDialogManager.js +81 -0
  65. package/lib/module/ui/navigation/accountDialogManager.js.map +1 -0
  66. package/lib/module/ui/navigation/routes.js +0 -2
  67. package/lib/module/ui/navigation/routes.js.map +1 -1
  68. package/lib/module/ui/screens/ManageAccountScreen.js +4 -3
  69. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  70. package/lib/module/ui/session/createSessionClient.js +10 -2
  71. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  72. package/lib/typescript/commonjs/index.d.ts +8 -12
  73. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  74. package/lib/typescript/commonjs/ui/client.d.ts +0 -4
  75. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +51 -0
  77. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -0
  78. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts +45 -0
  79. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -0
  80. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +2 -2
  81. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +56 -0
  83. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +11 -23
  85. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +55 -0
  87. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts.map +1 -0
  88. package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts +36 -0
  89. package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +27 -1
  91. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  94. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +13 -152
  97. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/ui/index.d.ts +2 -5
  99. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +49 -0
  101. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
  103. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
  105. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +9 -2
  107. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/types/navigation.d.ts +27 -0
  109. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  110. package/lib/typescript/module/index.d.ts +8 -12
  111. package/lib/typescript/module/index.d.ts.map +1 -1
  112. package/lib/typescript/module/ui/client.d.ts +0 -4
  113. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  114. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +51 -0
  115. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -0
  116. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts +45 -0
  117. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -0
  118. package/lib/typescript/module/ui/components/OxyProvider.d.ts +2 -2
  119. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  120. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +56 -0
  121. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  122. package/lib/typescript/module/ui/components/ProfileButton.d.ts +11 -23
  123. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
  124. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +55 -0
  125. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts.map +1 -0
  126. package/lib/typescript/module/ui/components/oauthNavigation.d.ts +36 -0
  127. package/lib/typescript/module/ui/components/oauthNavigation.d.ts.map +1 -0
  128. package/lib/typescript/module/ui/context/OxyContext.d.ts +27 -1
  129. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  130. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  131. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  132. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  133. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  134. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +13 -152
  135. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  136. package/lib/typescript/module/ui/index.d.ts +2 -5
  137. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  138. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +49 -0
  139. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -0
  140. package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
  141. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  142. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
  143. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  144. package/lib/typescript/module/ui/session/createSessionClient.d.ts +9 -2
  145. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  146. package/lib/typescript/module/ui/types/navigation.d.ts +27 -0
  147. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  148. package/package.json +4 -4
  149. package/src/index.ts +33 -27
  150. package/src/ui/client.ts +0 -4
  151. package/src/ui/components/OxyAccountDialog.tsx +735 -0
  152. package/src/ui/components/OxyConsentScreen.tsx +456 -0
  153. package/src/ui/components/OxyProvider.tsx +14 -6
  154. package/src/ui/components/OxySignInButton.tsx +227 -22
  155. package/src/ui/components/ProfileButton.tsx +23 -126
  156. package/src/ui/components/RequireOxyAuth.tsx +266 -0
  157. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +130 -0
  158. package/src/ui/components/oauthNavigation.ts +89 -0
  159. package/src/ui/context/OxyContext.tsx +176 -9
  160. package/src/ui/context/__tests__/OxyContext.coldBoot.test.tsx +165 -0
  161. package/src/ui/hooks/mutations/useAccountMutations.ts +1 -1
  162. package/src/ui/hooks/useAuth.ts +19 -31
  163. package/src/ui/hooks/useSwitchableAccounts.ts +42 -376
  164. package/src/ui/index.ts +2 -5
  165. package/src/ui/navigation/accountDialogManager.ts +84 -0
  166. package/src/ui/navigation/routes.ts +0 -4
  167. package/src/ui/screens/ManageAccountScreen.tsx +3 -2
  168. package/src/ui/session/createSessionClient.ts +9 -1
  169. package/src/ui/types/navigation.ts +27 -0
  170. package/lib/commonjs/ui/components/AccountMenu.js +0 -598
  171. package/lib/commonjs/ui/components/AccountMenu.js.map +0 -1
  172. package/lib/commonjs/ui/components/AccountMenuButton.js +0 -135
  173. package/lib/commonjs/ui/components/AccountMenuButton.js.map +0 -1
  174. package/lib/commonjs/ui/components/AccountSwitcher.js +0 -780
  175. package/lib/commonjs/ui/components/AccountSwitcher.js.map +0 -1
  176. package/lib/commonjs/ui/components/AnotherDeviceQR.js +0 -116
  177. package/lib/commonjs/ui/components/AnotherDeviceQR.js.map +0 -1
  178. package/lib/commonjs/ui/components/ProfileMenu.js +0 -518
  179. package/lib/commonjs/ui/components/ProfileMenu.js.map +0 -1
  180. package/lib/commonjs/ui/components/SignInAccountChooser.js +0 -189
  181. package/lib/commonjs/ui/components/SignInAccountChooser.js.map +0 -1
  182. package/lib/commonjs/ui/components/SignInModal.js +0 -600
  183. package/lib/commonjs/ui/components/SignInModal.js.map +0 -1
  184. package/lib/commonjs/ui/hooks/useOxyAuthSession.js +0 -501
  185. package/lib/commonjs/ui/hooks/useOxyAuthSession.js.map +0 -1
  186. package/lib/commonjs/ui/hooks/usePasswordSignIn.js +0 -170
  187. package/lib/commonjs/ui/hooks/usePasswordSignIn.js.map +0 -1
  188. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +0 -51
  189. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +0 -1
  190. package/lib/commonjs/ui/screens/OxyAuthScreen.js +0 -312
  191. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +0 -1
  192. package/lib/commonjs/utils/deviceFlowSignIn.js +0 -109
  193. package/lib/commonjs/utils/deviceFlowSignIn.js.map +0 -1
  194. package/lib/module/ui/components/AccountMenu.js +0 -593
  195. package/lib/module/ui/components/AccountMenu.js.map +0 -1
  196. package/lib/module/ui/components/AccountMenuButton.js +0 -130
  197. package/lib/module/ui/components/AccountMenuButton.js.map +0 -1
  198. package/lib/module/ui/components/AccountSwitcher.js +0 -774
  199. package/lib/module/ui/components/AccountSwitcher.js.map +0 -1
  200. package/lib/module/ui/components/AnotherDeviceQR.js +0 -110
  201. package/lib/module/ui/components/AnotherDeviceQR.js.map +0 -1
  202. package/lib/module/ui/components/ProfileMenu.js +0 -514
  203. package/lib/module/ui/components/ProfileMenu.js.map +0 -1
  204. package/lib/module/ui/components/SignInAccountChooser.js +0 -183
  205. package/lib/module/ui/components/SignInAccountChooser.js.map +0 -1
  206. package/lib/module/ui/components/SignInModal.js +0 -591
  207. package/lib/module/ui/components/SignInModal.js.map +0 -1
  208. package/lib/module/ui/hooks/useOxyAuthSession.js +0 -495
  209. package/lib/module/ui/hooks/useOxyAuthSession.js.map +0 -1
  210. package/lib/module/ui/hooks/usePasswordSignIn.js +0 -165
  211. package/lib/module/ui/hooks/usePasswordSignIn.js.map +0 -1
  212. package/lib/module/ui/screens/AccountSwitcherScreen.js +0 -48
  213. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +0 -1
  214. package/lib/module/ui/screens/OxyAuthScreen.js +0 -306
  215. package/lib/module/ui/screens/OxyAuthScreen.js.map +0 -1
  216. package/lib/module/utils/deviceFlowSignIn.js +0 -106
  217. package/lib/module/utils/deviceFlowSignIn.js.map +0 -1
  218. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts +0 -47
  219. package/lib/typescript/commonjs/ui/components/AccountMenu.d.ts.map +0 -1
  220. package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts +0 -26
  221. package/lib/typescript/commonjs/ui/components/AccountMenuButton.d.ts.map +0 -1
  222. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts +0 -46
  223. package/lib/typescript/commonjs/ui/components/AccountSwitcher.d.ts.map +0 -1
  224. package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts +0 -34
  225. package/lib/typescript/commonjs/ui/components/AnotherDeviceQR.d.ts.map +0 -1
  226. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +0 -49
  227. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +0 -1
  228. package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts +0 -29
  229. package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts.map +0 -1
  230. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +0 -28
  231. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +0 -1
  232. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts +0 -105
  233. package/lib/typescript/commonjs/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
  234. package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts +0 -31
  235. package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
  236. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts +0 -11
  237. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
  238. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts +0 -22
  239. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +0 -1
  240. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +0 -97
  241. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +0 -1
  242. package/lib/typescript/module/ui/components/AccountMenu.d.ts +0 -47
  243. package/lib/typescript/module/ui/components/AccountMenu.d.ts.map +0 -1
  244. package/lib/typescript/module/ui/components/AccountMenuButton.d.ts +0 -26
  245. package/lib/typescript/module/ui/components/AccountMenuButton.d.ts.map +0 -1
  246. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts +0 -46
  247. package/lib/typescript/module/ui/components/AccountSwitcher.d.ts.map +0 -1
  248. package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts +0 -34
  249. package/lib/typescript/module/ui/components/AnotherDeviceQR.d.ts.map +0 -1
  250. package/lib/typescript/module/ui/components/ProfileMenu.d.ts +0 -49
  251. package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +0 -1
  252. package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts +0 -29
  253. package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts.map +0 -1
  254. package/lib/typescript/module/ui/components/SignInModal.d.ts +0 -28
  255. package/lib/typescript/module/ui/components/SignInModal.d.ts.map +0 -1
  256. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts +0 -105
  257. package/lib/typescript/module/ui/hooks/useOxyAuthSession.d.ts.map +0 -1
  258. package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts +0 -31
  259. package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts.map +0 -1
  260. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts +0 -11
  261. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +0 -1
  262. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts +0 -22
  263. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +0 -1
  264. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +0 -97
  265. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +0 -1
  266. package/src/ui/components/AccountMenu.tsx +0 -645
  267. package/src/ui/components/AccountMenuButton.tsx +0 -126
  268. package/src/ui/components/AccountSwitcher.tsx +0 -751
  269. package/src/ui/components/AnotherDeviceQR.tsx +0 -119
  270. package/src/ui/components/ProfileMenu.tsx +0 -564
  271. package/src/ui/components/SignInAccountChooser.tsx +0 -162
  272. package/src/ui/components/SignInModal.tsx +0 -530
  273. package/src/ui/hooks/useOxyAuthSession.ts +0 -635
  274. package/src/ui/hooks/usePasswordSignIn.ts +0 -207
  275. package/src/ui/screens/AccountSwitcherScreen.tsx +0 -43
  276. package/src/ui/screens/OxyAuthScreen.tsx +0 -324
  277. package/src/utils/__tests__/deviceFlowSignIn.test.ts +0 -231
  278. package/src/utils/deviceFlowSignIn.ts +0 -152
@@ -1,598 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = require("react");
8
- var _reactNative = require("react-native");
9
- var _vectorIcons = require("@expo/vector-icons");
10
- var _bloom = require("@oxyhq/bloom");
11
- var _divider = require("@oxyhq/bloom/divider");
12
- var _theme = require("@oxyhq/bloom/theme");
13
- var _Avatar = _interopRequireDefault(require("./Avatar.js"));
14
- var _OxyContext = require("../context/OxyContext.js");
15
- var _useI18n = require("../hooks/useI18n.js");
16
- var _core = require("@oxyhq/core");
17
- var _useSwitchableAccounts = require("../hooks/useSwitchableAccounts.js");
18
- var _jsxRuntime = require("react/jsx-runtime");
19
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
- /**
21
- * Web-only anchor for the popover panel. Each field anchors the panel against
22
- * one viewport edge, so the popover can be placed against ANY corner: a
23
- * top-right avatar chip opens downward/right-aligned (`{ top, right }`), while a
24
- * bottom-left account button opens upward/left-aligned (`{ bottom, left }`).
25
- *
26
- * Callers MUST supply at most one vertical edge (`top` XOR `bottom`) and at most
27
- * one horizontal edge (`left` XOR `right`). The panel has a fixed width and
28
- * `maxHeight`, so a single vertical + single horizontal edge fully positions it.
29
- * Supplying both opposite edges (e.g. `top` AND `bottom`) would stretch the
30
- * panel on RN-Web and is unsupported.
31
- */
32
-
33
- const isWeb = _reactNative.Platform.OS === 'web';
34
-
35
- /** Fixed popover width on web. Callers that compute an anchor (e.g. inbox's
36
- * MailboxDrawer) key their gutter math off this — keep them consistent. */
37
- const PANEL_WIDTH = 360;
38
-
39
- /**
40
- * Unified, canonical account switcher for the Oxy ecosystem. Gmail-style: the
41
- * accounts list sits at the top (current account first, with a checkmark), then
42
- * "Add another account", "Manage account", and the sign-out actions. Lists EVERY
43
- * switchable account (device sign-ins AND linked graph accounts) and routes every
44
- * switch through the single `switchToAccount(accountId)` path.
45
- *
46
- * Reads everything it needs from `useOxy()` / `useSwitchableAccounts()` — never
47
- * receives a session via props. Renders as a popover anchored to the trigger on
48
- * web, and as a full-width bottom-sheet style modal on native.
49
- */
50
- const AccountMenu = ({
51
- open,
52
- onClose,
53
- onNavigateManage,
54
- onAddAccount,
55
- anchor,
56
- onBeforeSessionChange
57
- }) => {
58
- const {
59
- switchToAccount,
60
- logout,
61
- logoutAll,
62
- removeSession
63
- } = (0, _OxyContext.useOxy)();
64
- const {
65
- t
66
- } = (0, _useI18n.useI18n)();
67
- const bloomTheme = (0, _theme.useTheme)();
68
- const colors = bloomTheme.colors;
69
-
70
- // Source EVERY switchable account — device sign-ins AND linked graph
71
- // accounts (owned orgs + shared-with-you) — from the single
72
- // `useSwitchableAccounts` hook, each hydrated with real
73
- // name/email/avatar/color. It also synthesises a live-user row when the
74
- // device set has not synced yet, so the signed-in user is always represented
75
- // (no "Not signed in" false negative).
76
- const {
77
- accounts
78
- } = (0, _useSwitchableAccounts.useSwitchableAccounts)();
79
- const [switchingAccountId, setSwitchingAccountId] = (0, _react.useState)(null);
80
- const [removingSessionId, setRemovingSessionId] = (0, _react.useState)(null);
81
- const [signingOut, setSigningOut] = (0, _react.useState)(false);
82
- const [signingOutAll, setSigningOutAll] = (0, _react.useState)(false);
83
- const signOutDialog = (0, _bloom.useDialogControl)();
84
- const signOutAllDialog = (0, _bloom.useDialogControl)();
85
- const containerRef = (0, _react.useRef)(null);
86
-
87
- // Current account first, then the remaining device sign-ins, then the linked
88
- // graph accounts — matching the Gmail-style chooser the inbox design ports.
89
- const rows = (0, _react.useMemo)(() => {
90
- const device = accounts.filter(account => account.onDevice);
91
- const graph = accounts.filter(account => !account.onDevice);
92
- const current = device.filter(account => account.isCurrent);
93
- const others = device.filter(account => !account.isCurrent);
94
- return [...current, ...others, ...graph];
95
- }, [accounts]);
96
-
97
- // "Sign out of all accounts" only applies to real device sessions.
98
- const deviceCount = (0, _react.useMemo)(() => accounts.filter(account => account.onDevice).length, [accounts]);
99
-
100
- // Account ids currently listed — used to indent a graph-only row whose parent
101
- // account is also shown.
102
- const listedAccountIds = (0, _react.useMemo)(() => new Set(rows.map(row => row.accountId)), [rows]);
103
- const isSwitching = switchingAccountId !== null;
104
-
105
- // The ONE uniform switch path: every row (device sign-in or linked graph
106
- // account) routes through `useOxy().switchToAccount(accountId)`. It reuses
107
- // the device session when the account is already signed in here, and mints a
108
- // real session only on the first switch into a graph account — a single
109
- // source of truth for every switch.
110
- const handleSwitch = (0, _react.useCallback)(async account => {
111
- if (account.isCurrent || switchingAccountId) {
112
- return;
113
- }
114
- setSwitchingAccountId(account.accountId);
115
- try {
116
- await onBeforeSessionChange?.();
117
- await switchToAccount(account.accountId);
118
- _bloom.toast.success(t('accountSwitcher.toasts.switchSuccess') || 'Switched account');
119
- onClose();
120
- } catch (error) {
121
- if (!(0, _core.isDev)()) {
122
- _core.logger.warn('Switch account failed', {
123
- component: 'AccountMenu'
124
- }, error);
125
- }
126
- _bloom.toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
127
- } finally {
128
- setSwitchingAccountId(null);
129
- }
130
- }, [switchingAccountId, switchToAccount, t, onClose, onBeforeSessionChange]);
131
-
132
- // Sign out a SPECIFIC inactive account from its per-row icon. `removeSession`
133
- // is the SDK's canonical per-session sign-out: it targets the given session
134
- // id (cookie-cleared logout via `authuser` slot on web, bearer logout
135
- // otherwise) and removes ONLY that account without switching/clearing the
136
- // active session. The menu stays open so the user can keep managing accounts.
137
- const handleRemove = (0, _react.useCallback)(async sessionId => {
138
- if (removingSessionId) {
139
- return;
140
- }
141
- setRemovingSessionId(sessionId);
142
- try {
143
- await removeSession(sessionId);
144
- _bloom.toast.success(t('common.actions.signedOut') || 'Signed out');
145
- } catch (error) {
146
- _core.logger.warn('Remove account failed', {
147
- component: 'AccountMenu'
148
- }, error);
149
- _bloom.toast.error(t('common.errors.signOutFailed') || 'Failed to sign out');
150
- } finally {
151
- setRemovingSessionId(null);
152
- }
153
- }, [removingSessionId, removeSession, t]);
154
- const performSignOut = (0, _react.useCallback)(async () => {
155
- if (signingOut) {
156
- return;
157
- }
158
- setSigningOut(true);
159
- try {
160
- await onBeforeSessionChange?.();
161
- await logout();
162
- _bloom.toast.success(t('common.actions.signedOut') || 'Signed out');
163
- onClose();
164
- } catch (error) {
165
- _core.logger.warn('Sign out failed', {
166
- component: 'AccountMenu'
167
- }, error);
168
- _bloom.toast.error(t('common.errors.signOutFailed') || 'Failed to sign out');
169
- } finally {
170
- setSigningOut(false);
171
- }
172
- }, [signingOut, logout, t, onClose, onBeforeSessionChange]);
173
- const performSignOutAll = (0, _react.useCallback)(async () => {
174
- if (signingOutAll) {
175
- return;
176
- }
177
- setSigningOutAll(true);
178
- try {
179
- await onBeforeSessionChange?.();
180
- await logoutAll();
181
- _bloom.toast.success(t('accountSwitcher.toasts.signOutAllSuccess') || 'Signed out of all accounts');
182
- onClose();
183
- } catch (error) {
184
- _core.logger.warn('Sign out all failed', {
185
- component: 'AccountMenu'
186
- }, error);
187
- _bloom.toast.error(t('common.errors.signOutAllFailed') || 'Failed to sign out of all accounts');
188
- } finally {
189
- setSigningOutAll(false);
190
- }
191
- }, [signingOutAll, logoutAll, t, onClose, onBeforeSessionChange]);
192
-
193
- // Escape-to-close + focus management (web only).
194
- (0, _react.useEffect)(() => {
195
- if (!open || !isWeb || typeof document === 'undefined') {
196
- return undefined;
197
- }
198
- const onKey = event => {
199
- if (event.key === 'Escape') {
200
- event.stopPropagation();
201
- onClose();
202
- }
203
- };
204
- document.addEventListener('keydown', onKey, true);
205
- return () => document.removeEventListener('keydown', onKey, true);
206
- }, [open, onClose]);
207
- if (!open) {
208
- return null;
209
- }
210
- const overlayStyles = isWeb ? styles.webOverlay : styles.nativeOverlay;
211
-
212
- // Apply ONLY the edges the anchor supplies (so the panel never sets
213
- // conflicting opposite edges). When no anchor is provided, fall back to the
214
- // historical top-right placement used by `AccountMenuButton`.
215
- const anchorStyle = anchor ? {
216
- ...(anchor.top !== undefined ? {
217
- top: anchor.top
218
- } : null),
219
- ...(anchor.bottom !== undefined ? {
220
- bottom: anchor.bottom
221
- } : null),
222
- ...(anchor.left !== undefined ? {
223
- left: anchor.left
224
- } : null),
225
- ...(anchor.right !== undefined ? {
226
- right: anchor.right
227
- } : null)
228
- } : {
229
- top: 64,
230
- right: 16
231
- };
232
- const panelStyles = isWeb ? [styles.panelBase, styles.panelWeb, anchorStyle, {
233
- backgroundColor: colors.background,
234
- borderColor: colors.border
235
- }] : [styles.panelBase, styles.panelNative, {
236
- backgroundColor: colors.background
237
- }];
238
- const actionDisabled = isSwitching || signingOut || signingOutAll;
239
- const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
240
- ref: containerRef
241
- // Swallow taps inside the panel so they never reach the overlay's
242
- // outside-tap-to-close handler. (On web the panel is a direct,
243
- // absolutely-positioned child of the overlay so the anchor resolves
244
- // against the viewport.)
245
- ,
246
- onPress: () => undefined,
247
- style: panelStyles,
248
- accessibilityRole: "menu",
249
- accessibilityLabel: t('accountMenu.label') || 'Account menu',
250
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
251
- style: styles.scroll,
252
- contentContainerStyle: styles.scrollContent,
253
- showsVerticalScrollIndicator: false,
254
- children: [rows.map(row => {
255
- const sessionId = row.sessionId;
256
- const isBusy = switchingAccountId === row.accountId;
257
- const isRemoving = sessionId ? removingSessionId === sessionId : false;
258
- const isChild = Boolean(row.parentAccountId && listedAccountIds.has(row.parentAccountId));
259
- const role = row.callerMembership?.role;
260
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
261
- accessibilityRole: "menuitem",
262
- accessibilityLabel: row.displayName,
263
- accessibilityState: {
264
- selected: row.isCurrent
265
- },
266
- onPress: () => handleSwitch(row),
267
- disabled: row.isCurrent || isBusy || isSwitching,
268
- activeOpacity: 0.6,
269
- style: [styles.accountRow, isChild && styles.childRow, row.isCurrent && {
270
- backgroundColor: colors.primarySubtle
271
- }, isSwitching && !row.isCurrent && styles.rowDisabled],
272
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
273
- uri: row.avatarUrl,
274
- name: row.displayName,
275
- size: row.isCurrent ? 40 : isChild ? 28 : 32
276
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
277
- style: styles.accountInfo,
278
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
279
- style: styles.nameRow,
280
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
281
- style: [styles.accountName, {
282
- color: colors.text
283
- }, row.isCurrent && styles.accountNameActive],
284
- numberOfLines: 1,
285
- children: row.displayName
286
- }), role ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
287
- style: [styles.roleBadge, {
288
- backgroundColor: colors.card
289
- }],
290
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
291
- style: [styles.roleBadgeText, {
292
- color: colors.textSecondary
293
- }],
294
- children: t(`accounts.roles.${role}.label`) || role
295
- })
296
- }) : null]
297
- }), row.email ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
298
- style: [styles.accountEmail, {
299
- color: colors.textSecondary
300
- }],
301
- numberOfLines: 1,
302
- children: row.email
303
- }) : null]
304
- }), isBusy ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
305
- color: colors.primary,
306
- size: "small"
307
- }) : row.isCurrent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
308
- name: "checkmark",
309
- size: 20,
310
- color: colors.primary
311
- }) : isRemoving ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
312
- color: colors.textSecondary,
313
- size: "small"
314
- }) : sessionId ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
315
- accessibilityRole: "button",
316
- accessibilityLabel: t('accountMenu.signOutAccount', {
317
- name: row.displayName
318
- }) || `Sign out ${row.displayName}`,
319
- onPress: () => handleRemove(sessionId),
320
- disabled: isSwitching || removingSessionId !== null,
321
- activeOpacity: 0.6,
322
- hitSlop: {
323
- top: 8,
324
- bottom: 8,
325
- left: 8,
326
- right: 8
327
- },
328
- style: styles.rowSignOutButton,
329
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
330
- name: "log-out-outline",
331
- size: 18,
332
- color: colors.textSecondary
333
- })
334
- }) : null]
335
- }, `account-${row.accountId}`);
336
- }), isSwitching ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
337
- style: styles.switchingRow,
338
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
339
- color: colors.textSecondary,
340
- size: "small"
341
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
342
- style: [styles.switchingText, {
343
- color: colors.textSecondary
344
- }],
345
- children: t('accountMenu.switching') || 'Switching account…'
346
- })]
347
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider.Divider, {
348
- color: colors.border,
349
- spacing: 4
350
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
351
- accessibilityRole: "menuitem",
352
- accessibilityLabel: t('accountMenu.addAnother') || 'Add another account',
353
- onPress: () => {
354
- onClose();
355
- onAddAccount();
356
- },
357
- disabled: actionDisabled,
358
- activeOpacity: 0.6,
359
- style: [styles.actionRow, actionDisabled && styles.rowDisabled],
360
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
361
- name: "person-add-outline",
362
- size: 20,
363
- color: colors.icon
364
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
365
- style: [styles.actionText, {
366
- color: colors.text
367
- }],
368
- children: t('accountMenu.addAnother') || 'Add another account'
369
- })]
370
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider.Divider, {
371
- color: colors.border,
372
- spacing: 4
373
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
374
- accessibilityRole: "menuitem",
375
- accessibilityLabel: t('accountMenu.manage') || 'Manage your Oxy Account',
376
- onPress: () => {
377
- onClose();
378
- onNavigateManage();
379
- },
380
- disabled: actionDisabled,
381
- activeOpacity: 0.6,
382
- style: [styles.actionRow, actionDisabled && styles.rowDisabled],
383
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
384
- name: "settings-outline",
385
- size: 18,
386
- color: colors.icon
387
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
388
- style: [styles.actionText, {
389
- color: colors.text
390
- }],
391
- children: t('accountMenu.manage') || 'Manage your Oxy Account'
392
- })]
393
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
394
- accessibilityRole: "menuitem",
395
- accessibilityLabel: t('common.actions.signOut') || 'Sign out',
396
- onPress: () => signOutDialog.open(),
397
- disabled: actionDisabled,
398
- activeOpacity: 0.6,
399
- style: [styles.actionRow, actionDisabled && styles.rowDisabled],
400
- children: [signingOut ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
401
- color: colors.error,
402
- size: "small"
403
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
404
- name: "log-out-outline",
405
- size: 18,
406
- color: colors.error
407
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
408
- style: [styles.actionText, {
409
- color: colors.error
410
- }],
411
- children: t('common.actions.signOut') || 'Sign out'
412
- })]
413
- }), deviceCount > 1 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
414
- accessibilityRole: "menuitem",
415
- accessibilityLabel: t('accountMenu.signOutAll') || 'Sign out of all accounts',
416
- onPress: () => signOutAllDialog.open(),
417
- disabled: actionDisabled,
418
- activeOpacity: 0.6,
419
- style: [styles.actionRow, actionDisabled && styles.rowDisabled],
420
- children: [signingOutAll ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
421
- color: colors.error,
422
- size: "small"
423
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
424
- name: "log-out-outline",
425
- size: 18,
426
- color: colors.error
427
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
428
- style: [styles.actionText, {
429
- color: colors.error
430
- }],
431
- children: t('accountMenu.signOutAll') || 'Sign out of all accounts'
432
- })]
433
- }) : null]
434
- })
435
- });
436
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Modal, {
437
- visible: open,
438
- transparent: true,
439
- animationType: isWeb ? 'fade' : 'slide',
440
- onRequestClose: onClose,
441
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
442
- accessibilityRole: "button",
443
- accessibilityLabel: t('common.actions.close') || 'Close',
444
- onPress: onClose,
445
- style: overlayStyles,
446
- children: content
447
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bloom.Dialog, {
448
- control: signOutDialog,
449
- title: t('common.actions.signOut') || 'Sign out',
450
- description: t('common.confirms.signOut') || 'Are you sure you want to sign out?',
451
- actions: [{
452
- label: t('common.actions.signOut') || 'Sign out',
453
- color: 'destructive',
454
- onPress: performSignOut
455
- }, {
456
- label: t('common.cancel') || 'Cancel',
457
- color: 'cancel'
458
- }]
459
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_bloom.Dialog, {
460
- control: signOutAllDialog,
461
- title: t('accountMenu.signOutAll') || 'Sign out of all accounts',
462
- description: t('common.confirms.signOutAll') || 'Are you sure you want to sign out of all accounts?',
463
- actions: [{
464
- label: t('accountMenu.signOutAll') || 'Sign out of all accounts',
465
- color: 'destructive',
466
- onPress: performSignOutAll
467
- }, {
468
- label: t('common.cancel') || 'Cancel',
469
- color: 'cancel'
470
- }]
471
- })]
472
- });
473
- };
474
- const styles = _reactNative.StyleSheet.create({
475
- webOverlay: {
476
- flex: 1,
477
- backgroundColor: 'transparent',
478
- // Explicit positioning context: the absolutely-positioned panel is a
479
- // direct child and resolves its anchor edges (top/bottom/left/right)
480
- // against this full-viewport overlay — matching the trigger-rect math
481
- // callers compute from `window.innerWidth` / `window.innerHeight`.
482
- position: 'relative'
483
- },
484
- nativeOverlay: {
485
- flex: 1,
486
- backgroundColor: 'rgba(0,0,0,0.32)',
487
- justifyContent: 'flex-end'
488
- },
489
- panelBase: {
490
- borderRadius: 12,
491
- shadowColor: '#000',
492
- shadowOpacity: 0.18,
493
- shadowRadius: 24,
494
- shadowOffset: {
495
- width: 0,
496
- height: 8
497
- },
498
- elevation: 12,
499
- overflow: 'hidden'
500
- },
501
- panelWeb: {
502
- position: 'absolute',
503
- width: PANEL_WIDTH,
504
- maxHeight: '85%',
505
- borderWidth: 1
506
- },
507
- panelNative: {
508
- marginHorizontal: 0,
509
- borderTopLeftRadius: 20,
510
- borderTopRightRadius: 20,
511
- borderBottomLeftRadius: 0,
512
- borderBottomRightRadius: 0,
513
- paddingBottom: 12,
514
- maxHeight: '85%'
515
- },
516
- scroll: {
517
- flexGrow: 0
518
- },
519
- scrollContent: {
520
- paddingVertical: 4
521
- },
522
- accountRow: {
523
- flexDirection: 'row',
524
- alignItems: 'center',
525
- paddingHorizontal: 14,
526
- paddingVertical: 10,
527
- gap: 10
528
- },
529
- childRow: {
530
- paddingLeft: 34
531
- },
532
- rowDisabled: {
533
- opacity: 0.4
534
- },
535
- accountInfo: {
536
- flex: 1,
537
- minWidth: 0
538
- },
539
- nameRow: {
540
- flexDirection: 'row',
541
- alignItems: 'center',
542
- gap: 6
543
- },
544
- accountName: {
545
- fontSize: 13,
546
- fontWeight: '500',
547
- flexShrink: 1
548
- },
549
- accountNameActive: {
550
- fontWeight: '600'
551
- },
552
- roleBadge: {
553
- paddingHorizontal: 6,
554
- paddingVertical: 1,
555
- borderRadius: 8
556
- },
557
- roleBadgeText: {
558
- fontSize: 10,
559
- fontWeight: '600',
560
- textTransform: 'capitalize'
561
- },
562
- accountEmail: {
563
- fontSize: 11,
564
- marginTop: 1
565
- },
566
- rowSignOutButton: {
567
- width: 28,
568
- height: 28,
569
- alignItems: 'center',
570
- justifyContent: 'center',
571
- borderRadius: 14,
572
- opacity: 0.6
573
- },
574
- switchingRow: {
575
- flexDirection: 'row',
576
- alignItems: 'center',
577
- justifyContent: 'center',
578
- paddingVertical: 8,
579
- gap: 8
580
- },
581
- switchingText: {
582
- fontSize: 12,
583
- fontWeight: '500'
584
- },
585
- actionRow: {
586
- flexDirection: 'row',
587
- alignItems: 'center',
588
- paddingHorizontal: 14,
589
- paddingVertical: 12,
590
- gap: 10
591
- },
592
- actionText: {
593
- fontSize: 13,
594
- fontWeight: '500'
595
- }
596
- });
597
- var _default = exports.default = AccountMenu;
598
- //# sourceMappingURL=AccountMenu.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_vectorIcons","_bloom","_divider","_theme","_Avatar","_interopRequireDefault","_OxyContext","_useI18n","_core","_useSwitchableAccounts","_jsxRuntime","e","__esModule","default","isWeb","Platform","OS","PANEL_WIDTH","AccountMenu","open","onClose","onNavigateManage","onAddAccount","anchor","onBeforeSessionChange","switchToAccount","logout","logoutAll","removeSession","useOxy","t","useI18n","bloomTheme","useTheme","colors","accounts","useSwitchableAccounts","switchingAccountId","setSwitchingAccountId","useState","removingSessionId","setRemovingSessionId","signingOut","setSigningOut","signingOutAll","setSigningOutAll","signOutDialog","useDialogControl","signOutAllDialog","containerRef","useRef","rows","useMemo","device","filter","account","onDevice","graph","current","isCurrent","others","deviceCount","length","listedAccountIds","Set","map","row","accountId","isSwitching","handleSwitch","useCallback","toast","success","error","isDev","loggerUtil","warn","component","handleRemove","sessionId","performSignOut","performSignOutAll","useEffect","document","undefined","onKey","event","key","stopPropagation","addEventListener","removeEventListener","overlayStyles","styles","webOverlay","nativeOverlay","anchorStyle","top","bottom","left","right","panelStyles","panelBase","panelWeb","backgroundColor","background","borderColor","border","panelNative","actionDisabled","content","jsx","Pressable","ref","onPress","style","accessibilityRole","accessibilityLabel","children","jsxs","ScrollView","scroll","contentContainerStyle","scrollContent","showsVerticalScrollIndicator","isBusy","isRemoving","isChild","Boolean","parentAccountId","has","role","callerMembership","TouchableOpacity","displayName","accessibilityState","selected","disabled","activeOpacity","accountRow","childRow","primarySubtle","rowDisabled","uri","avatarUrl","name","size","View","accountInfo","nameRow","Text","accountName","color","text","accountNameActive","numberOfLines","roleBadge","card","roleBadgeText","textSecondary","email","accountEmail","ActivityIndicator","primary","Ionicons","hitSlop","rowSignOutButton","switchingRow","switchingText","Divider","spacing","actionRow","icon","actionText","Modal","visible","transparent","animationType","onRequestClose","Dialog","control","title","description","actions","label","StyleSheet","create","flex","position","justifyContent","borderRadius","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","overflow","maxHeight","borderWidth","marginHorizontal","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","paddingBottom","flexGrow","paddingVertical","flexDirection","alignItems","paddingHorizontal","gap","paddingLeft","opacity","minWidth","fontSize","fontWeight","flexShrink","textTransform","marginTop","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/AccountMenu.tsx"],"mappings":"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","ignoreList":[]}