@oxyhq/services 22.12.4 → 22.13.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 (446) hide show
  1. package/README.md +16 -46
  2. package/lib/commonjs/index.js +18 -12
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/boot/runProviderColdBoot.js +51 -9
  5. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  6. package/lib/commonjs/ui/client.js +0 -13
  7. package/lib/commonjs/ui/client.js.map +1 -1
  8. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +27 -4
  9. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxyAuthChooser.js +72 -1123
  11. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyConsentScreen.js +50 -12
  13. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxyProvider.js +4 -4
  15. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxySignInButton.js +74 -40
  17. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  18. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +527 -0
  19. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  20. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +90 -0
  21. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -0
  22. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +144 -0
  23. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -0
  24. package/lib/commonjs/ui/components/authChooser/SignUpView.js +188 -0
  25. package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -0
  26. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +63 -0
  27. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  28. package/lib/commonjs/ui/components/authChooser/primitives.js +169 -0
  29. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -0
  30. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +149 -0
  31. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -0
  32. package/lib/commonjs/ui/components/authChooser/signInProgress.js +54 -0
  33. package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -0
  34. package/lib/commonjs/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  35. package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -0
  36. package/lib/commonjs/ui/components/authChooser/types.js +59 -0
  37. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -0
  38. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +50 -0
  39. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  40. package/lib/commonjs/ui/context/OxyContext.js +205 -30
  41. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  42. package/lib/commonjs/ui/context/commitSessionFlow.js +46 -0
  43. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  44. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +15 -2
  45. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  46. package/lib/commonjs/ui/context/useOxyAccountGraph.js +13 -5
  47. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  48. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +6 -1
  49. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
  50. package/lib/commonjs/ui/index.js +0 -13
  51. package/lib/commonjs/ui/index.js.map +1 -1
  52. package/lib/commonjs/ui/oauth/browserAuthTransport.js +170 -0
  53. package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -0
  54. package/lib/commonjs/ui/oauth/completeOAuthCode.js +78 -0
  55. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -0
  56. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +48 -0
  57. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +1 -0
  58. package/lib/commonjs/ui/oauth/oauthHandshake.js +53 -0
  59. package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -0
  60. package/lib/commonjs/ui/oauth/oauthPopup.js +276 -0
  61. package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -0
  62. package/lib/commonjs/ui/oauth/oauthPopupMessages.js +141 -0
  63. package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -0
  64. package/lib/commonjs/ui/oauth/types.js +2 -0
  65. package/lib/commonjs/ui/oauth/types.js.map +1 -0
  66. package/lib/commonjs/ui/server.js +2 -5
  67. package/lib/commonjs/ui/server.js.map +1 -1
  68. package/lib/commonjs/ui/session/authStore.js +6 -75
  69. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  70. package/lib/commonjs/ui/session/createSessionClient.js +11 -3
  71. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  72. package/lib/commonjs/ui/session/identityBinding.js +95 -0
  73. package/lib/commonjs/ui/session/identityBinding.js.map +1 -0
  74. package/lib/commonjs/ui/session/index.js +13 -0
  75. package/lib/commonjs/ui/session/index.js.map +1 -1
  76. package/lib/commonjs/ui/session/nativeSecureStorage.js +90 -0
  77. package/lib/commonjs/ui/session/nativeSecureStorage.js.map +1 -0
  78. package/lib/commonjs/ui/session/tokenTransport.js +11 -1
  79. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  80. package/lib/commonjs/ui/utils/crossOriginRestore.js +5 -4
  81. package/lib/commonjs/ui/utils/crossOriginRestore.js.map +1 -1
  82. package/lib/commonjs/ui/utils/deliveryPlatform.js +58 -0
  83. package/lib/commonjs/ui/utils/deliveryPlatform.js.map +1 -0
  84. package/lib/commonjs/ui/utils/oauthReturn.js +72 -46
  85. package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
  86. package/lib/module/index.js +9 -4
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/ui/boot/runProviderColdBoot.js +51 -9
  89. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  90. package/lib/module/ui/client.js +0 -1
  91. package/lib/module/ui/client.js.map +1 -1
  92. package/lib/module/ui/components/OxyAccountDialogScreen.js +27 -4
  93. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  94. package/lib/module/ui/components/OxyAuthChooser.js +76 -1128
  95. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  96. package/lib/module/ui/components/OxyConsentScreen.js +50 -12
  97. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
  98. package/lib/module/ui/components/OxyProvider.js +4 -4
  99. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  100. package/lib/module/ui/components/OxySignInButton.js +76 -42
  101. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  102. package/lib/module/ui/components/authChooser/AccountsMenuView.js +523 -0
  103. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  104. package/lib/module/ui/components/authChooser/SignInEntryView.js +85 -0
  105. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -0
  106. package/lib/module/ui/components/authChooser/SignInRequestView.js +139 -0
  107. package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -0
  108. package/lib/module/ui/components/authChooser/SignUpView.js +184 -0
  109. package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -0
  110. package/lib/module/ui/components/authChooser/TroubleDisclosure.js +59 -0
  111. package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  112. package/lib/module/ui/components/authChooser/primitives.js +163 -0
  113. package/lib/module/ui/components/authChooser/primitives.js.map +1 -0
  114. package/lib/module/ui/components/authChooser/requestSurfaces.js +139 -0
  115. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -0
  116. package/lib/module/ui/components/authChooser/signInProgress.js +50 -0
  117. package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -0
  118. package/lib/module/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  119. package/lib/module/ui/components/authChooser/styles.js.map +1 -0
  120. package/lib/module/ui/components/authChooser/types.js +55 -0
  121. package/lib/module/ui/components/authChooser/types.js.map +1 -0
  122. package/lib/module/ui/components/authChooser/useUsernameAvailability.js +46 -0
  123. package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  124. package/lib/module/ui/context/OxyContext.js +208 -33
  125. package/lib/module/ui/context/OxyContext.js.map +1 -1
  126. package/lib/module/ui/context/commitSessionFlow.js +45 -0
  127. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  128. package/lib/module/ui/context/hooks/useAuthOperations.js +15 -2
  129. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  130. package/lib/module/ui/context/useOxyAccountGraph.js +13 -5
  131. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  132. package/lib/module/ui/hooks/useSwitchableAccounts.js +6 -1
  133. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
  134. package/lib/module/ui/index.js +0 -1
  135. package/lib/module/ui/index.js.map +1 -1
  136. package/lib/module/ui/oauth/browserAuthTransport.js +167 -0
  137. package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -0
  138. package/lib/module/ui/oauth/completeOAuthCode.js +75 -0
  139. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -0
  140. package/lib/module/ui/oauth/legacyRedirectLanes.js +44 -0
  141. package/lib/module/ui/oauth/legacyRedirectLanes.js.map +1 -0
  142. package/lib/module/ui/oauth/oauthHandshake.js +50 -0
  143. package/lib/module/ui/oauth/oauthHandshake.js.map +1 -0
  144. package/lib/module/ui/oauth/oauthPopup.js +268 -0
  145. package/lib/module/ui/oauth/oauthPopup.js.map +1 -0
  146. package/lib/module/ui/oauth/oauthPopupMessages.js +135 -0
  147. package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -0
  148. package/lib/module/ui/oauth/types.js +2 -0
  149. package/lib/module/ui/oauth/types.js.map +1 -0
  150. package/lib/module/ui/server.js +0 -2
  151. package/lib/module/ui/server.js.map +1 -1
  152. package/lib/module/ui/session/authStore.js +5 -75
  153. package/lib/module/ui/session/authStore.js.map +1 -1
  154. package/lib/module/ui/session/createSessionClient.js +11 -3
  155. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  156. package/lib/module/ui/session/identityBinding.js +89 -0
  157. package/lib/module/ui/session/identityBinding.js.map +1 -0
  158. package/lib/module/ui/session/index.js +5 -2
  159. package/lib/module/ui/session/index.js.map +1 -1
  160. package/lib/module/ui/session/nativeSecureStorage.js +88 -0
  161. package/lib/module/ui/session/nativeSecureStorage.js.map +1 -0
  162. package/lib/module/ui/session/tokenTransport.js +11 -1
  163. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  164. package/lib/module/ui/utils/crossOriginRestore.js +6 -5
  165. package/lib/module/ui/utils/crossOriginRestore.js.map +1 -1
  166. package/lib/module/ui/utils/deliveryPlatform.js +55 -0
  167. package/lib/module/ui/utils/deliveryPlatform.js.map +1 -0
  168. package/lib/module/ui/utils/oauthReturn.js +73 -47
  169. package/lib/module/ui/utils/oauthReturn.js.map +1 -1
  170. package/lib/typescript/commonjs/index.d.ts +4 -1
  171. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +34 -2
  173. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/ui/client.d.ts +0 -1
  175. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +21 -29
  178. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +17 -12
  182. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  184. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  186. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  188. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +34 -0
  190. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
  192. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +55 -0
  194. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +54 -0
  196. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +26 -0
  198. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  199. package/lib/typescript/{module/ui/components/oxyAuthChooserStyles.d.ts → commonjs/ui/components/authChooser/styles.d.ts} +19 -1
  200. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +85 -0
  202. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  204. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +40 -0
  207. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +11 -2
  209. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +44 -1
  211. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +7 -1
  213. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/ui/index.d.ts +0 -1
  216. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +56 -0
  218. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts +49 -0
  220. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  222. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +50 -0
  224. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +83 -0
  226. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts +67 -0
  228. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/ui/oauth/types.d.ts +176 -0
  230. package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/ui/server.d.ts +0 -2
  232. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/session/authStore.d.ts +3 -7
  234. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +8 -1
  236. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +66 -0
  238. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/ui/session/index.d.ts +6 -2
  240. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +25 -0
  242. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +8 -1
  244. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/ui/types/navigation.d.ts +44 -0
  246. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts +33 -0
  249. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +30 -16
  251. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
  252. package/lib/typescript/module/index.d.ts +4 -1
  253. package/lib/typescript/module/index.d.ts.map +1 -1
  254. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +34 -2
  255. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  256. package/lib/typescript/module/ui/client.d.ts +0 -1
  257. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  258. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  259. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +21 -29
  260. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  261. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
  262. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  263. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +17 -12
  264. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  265. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  266. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  267. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  268. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  269. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  270. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  271. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +34 -0
  272. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  273. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
  274. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  275. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +55 -0
  276. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -0
  277. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +54 -0
  278. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  279. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +26 -0
  280. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  281. package/lib/typescript/{commonjs/ui/components/oxyAuthChooserStyles.d.ts → module/ui/components/authChooser/styles.d.ts} +19 -1
  282. package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -0
  283. package/lib/typescript/module/ui/components/authChooser/types.d.ts +85 -0
  284. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -0
  285. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  286. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  287. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  288. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +40 -0
  289. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  290. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +11 -2
  291. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  292. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +44 -1
  293. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  294. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +7 -1
  295. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  296. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  297. package/lib/typescript/module/ui/index.d.ts +0 -1
  298. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  299. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +56 -0
  300. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  301. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts +49 -0
  302. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  303. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  304. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  305. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +50 -0
  306. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -0
  307. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +83 -0
  308. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -0
  309. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts +67 -0
  310. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  311. package/lib/typescript/module/ui/oauth/types.d.ts +176 -0
  312. package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -0
  313. package/lib/typescript/module/ui/server.d.ts +0 -2
  314. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  315. package/lib/typescript/module/ui/session/authStore.d.ts +3 -7
  316. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  317. package/lib/typescript/module/ui/session/createSessionClient.d.ts +8 -1
  318. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  319. package/lib/typescript/module/ui/session/identityBinding.d.ts +66 -0
  320. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -0
  321. package/lib/typescript/module/ui/session/index.d.ts +6 -2
  322. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  323. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +25 -0
  324. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -0
  325. package/lib/typescript/module/ui/session/tokenTransport.d.ts +8 -1
  326. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  327. package/lib/typescript/module/ui/types/navigation.d.ts +44 -0
  328. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  329. package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +1 -1
  330. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts +33 -0
  331. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts.map +1 -0
  332. package/lib/typescript/module/ui/utils/oauthReturn.d.ts +30 -16
  333. package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
  334. package/package.json +6 -8
  335. package/src/index.ts +19 -5
  336. package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +281 -0
  337. package/src/ui/boot/runProviderColdBoot.ts +83 -13
  338. package/src/ui/client.ts +0 -1
  339. package/src/ui/components/OxyAccountDialogScreen.tsx +33 -4
  340. package/src/ui/components/OxyAuthChooser.tsx +100 -1230
  341. package/src/ui/components/OxyConsentScreen.tsx +56 -13
  342. package/src/ui/components/OxyProvider.tsx +4 -4
  343. package/src/ui/components/OxySignInButton.tsx +119 -78
  344. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +27 -0
  345. package/src/ui/components/authChooser/AccountsMenuView.tsx +569 -0
  346. package/src/ui/components/authChooser/SignInEntryView.tsx +115 -0
  347. package/src/ui/components/authChooser/SignInRequestView.tsx +163 -0
  348. package/src/ui/components/authChooser/SignUpView.tsx +174 -0
  349. package/src/ui/components/authChooser/TroubleDisclosure.tsx +81 -0
  350. package/src/ui/components/authChooser/primitives.tsx +144 -0
  351. package/src/ui/components/authChooser/requestSurfaces.tsx +116 -0
  352. package/src/ui/components/authChooser/signInProgress.ts +54 -0
  353. package/src/ui/components/{oxyAuthChooserStyles.ts → authChooser/styles.ts} +18 -0
  354. package/src/ui/components/authChooser/types.ts +101 -0
  355. package/src/ui/components/authChooser/useUsernameAvailability.ts +60 -0
  356. package/src/ui/context/OxyContext.tsx +226 -24
  357. package/src/ui/context/__tests__/commitSessionFlow.test.ts +102 -0
  358. package/src/ui/context/commitSessionFlow.ts +64 -0
  359. package/src/ui/context/hooks/useAuthOperations.ts +26 -1
  360. package/src/ui/context/oxyContextTypes.ts +45 -1
  361. package/src/ui/context/useOxyAccountGraph.ts +19 -5
  362. package/src/ui/hooks/useSwitchableAccounts.ts +12 -1
  363. package/src/ui/index.ts +0 -1
  364. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +335 -0
  365. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +142 -0
  366. package/src/ui/oauth/__tests__/oauthPopup.test.ts +352 -0
  367. package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +189 -0
  368. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +174 -0
  369. package/src/ui/oauth/browserAuthTransport.ts +193 -0
  370. package/src/ui/oauth/completeOAuthCode.ts +93 -0
  371. package/src/ui/oauth/legacyRedirectLanes.ts +43 -0
  372. package/src/ui/oauth/oauthHandshake.ts +74 -0
  373. package/src/ui/oauth/oauthPopup.ts +277 -0
  374. package/src/ui/oauth/oauthPopupMessages.ts +136 -0
  375. package/src/ui/oauth/types.ts +150 -0
  376. package/src/ui/server.ts +0 -2
  377. package/src/ui/session/__tests__/createSessionClient.test.ts +26 -0
  378. package/src/ui/session/__tests__/tokenTransport.test.ts +34 -0
  379. package/src/ui/session/authStore.ts +5 -89
  380. package/src/ui/session/createSessionClient.ts +15 -2
  381. package/src/ui/session/identityBinding.ts +116 -0
  382. package/src/ui/session/index.ts +6 -2
  383. package/src/ui/session/nativeSecureStorage.ts +98 -0
  384. package/src/ui/session/tokenTransport.ts +14 -1
  385. package/src/ui/types/navigation.ts +44 -1
  386. package/src/ui/utils/__tests__/crossOriginRestore.test.ts +17 -0
  387. package/src/ui/utils/crossOriginRestore.ts +9 -13
  388. package/src/ui/utils/deliveryPlatform.ts +65 -0
  389. package/src/ui/utils/oauthReturn.ts +79 -65
  390. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  391. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  392. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  393. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  394. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  395. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  396. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  397. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  398. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  399. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  400. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  401. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  402. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  403. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  404. package/lib/commonjs/ui/components/FontLoader.js +0 -35
  405. package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
  406. package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
  407. package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
  408. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
  409. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  410. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  411. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  412. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  413. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  414. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  415. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  416. package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  417. package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  418. package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  419. package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  420. package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  421. package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  422. package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  423. package/lib/module/ui/components/FontLoader.js +0 -29
  424. package/lib/module/ui/components/FontLoader.js.map +0 -1
  425. package/lib/module/ui/components/FontLoader.native.js +0 -83
  426. package/lib/module/ui/components/FontLoader.native.js.map +0 -1
  427. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
  428. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
  429. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
  430. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
  431. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
  432. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  433. package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
  434. package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
  435. package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
  436. package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
  437. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  438. package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  439. package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  440. package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  441. package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  442. package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  443. package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  444. package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  445. package/src/ui/components/FontLoader.native.tsx +0 -88
  446. package/src/ui/components/FontLoader.tsx +0 -27
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useState","useEffect","useRef","Platform","logger","generatePkcePair","generateOAuthState","buildOAuthAuthorizeUrl","persistOAuthHandshake","useAuthStore","useShallow","useTheme","Button","useOxy","LogoIcon","subscribeToAccountDialog","redirectToAuthorize","openAuthorizeUrlNative","jsx","_jsx","persistOAuthHandshakeForButton","state","codeVerifier","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","oauthRedirectUri","onOAuthResult","theme","openAccountDialog","oxyServices","clientId","isAuthenticated","isLoading","isModalOpen","setIsModalOpen","appResolutionRef","routingRef","resolvePublicApplication","cached","current","promise","getPublicApplication","catch","error","startOfficialSignIn","startThirdPartyOAuth","app","undefined","component","application","name","pkce","Promise","all","authorizeUrl","redirectUri","codeChallenge","OS","redirectUrl","warn","routeSignIn","resolving","type","isOfficial","handlePress","isButtonDisabled","buttonVariant","isContained","logoColor","colors","primary","logoLetterColor","fontWeight","icon","height","color","letterColor","marginRight","children"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useState","useEffect","useRef","Platform","logger","generatePkcePair","generateOAuthState","buildOAuthAuthorizeUrl","useAuthStore","useShallow","useTheme","Button","useOxy","useI18n","LogoIcon","subscribeToAccountDialog","openAuthorizeUrlNative","closeOAuthPopup","openOAuthPopup","jsx","_jsx","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","oauthRedirectUri","onOAuthResult","theme","t","openAccountDialog","oxyServices","clientId","webAuthMode","startWebOAuthSignIn","isAuthenticated","isLoading","state","isModalOpen","setIsModalOpen","appResolutionRef","routingRef","shouldPreOpenPopup","OS","Boolean","resolvePublicApplication","cached","current","promise","getPublicApplication","catch","error","startOfficialSignIn","startThirdPartyOAuth","app","popup","undefined","component","application","name","result","redirectUri","status","warn","reason","description","pkce","Promise","all","authorizeUrl","codeChallenge","redirectUrl","codeVerifier","routeSignIn","resolving","type","isOfficial","handlePress","isButtonDisabled","buttonVariant","isContained","logoColor","colors","primary","logoLetterColor","label","fontWeight","icon","height","color","letterColor","marginRight","children"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,523 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The signed-in Oxy account MENU (`accounts` view) — a Google-account-menu-style
5
+ * full menu built entirely with NativeWind `className` (the dynamic per-account
6
+ * accent hex is the one inline style NativeWind cannot express). Structure:
7
+ *
8
+ * - HERO on its own chrome-free block: the current account's large pressable
9
+ * avatar (with a camera badge to change the photo), the greeting, the account
10
+ * address, and a "Manage your Oxy account" pill.
11
+ * - SWITCH ACCOUNT: a disclosure row whose corner animates from pill to card as
12
+ * the other switchable accounts + "Add another account" + "Manage accounts on
13
+ * this device" reveal beneath it.
14
+ * - OXY STORAGE: cloud + used/total + a composition meter + Upgrade / Manage chips.
15
+ * - MENU rows: Your data in Oxy · Oxy settings · Help & feedback · Sign out —
16
+ * Bloom's grouped section, the same component every other SDK settings surface
17
+ * uses, not a local row copy.
18
+ * - FOOTER: Privacy Policy · Terms of Service.
19
+ *
20
+ * All three blocks share ONE rhythm taken from that grouped section: a 12px
21
+ * content inset, a 12px gap after the leading element, 16px between blocks, and
22
+ * a 16px trailing chevron column.
23
+ *
24
+ * Collapse state is a plain `useState` toggled in the row's press handler — no
25
+ * effect hook, no derived-from-props sync.
26
+ */
27
+
28
+ import { Fragment, useCallback, useState } from 'react';
29
+ import { Pressable, View } from 'react-native';
30
+ import Animated, { Extrapolation, interpolate, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
31
+ import { MaterialCommunityIcons } from '@expo/vector-icons';
32
+ import { Avatar } from '@oxyhq/bloom/avatar';
33
+ import { AvatarGroup } from '@oxyhq/bloom/avatar-group';
34
+ import { Button } from '@oxyhq/bloom/button';
35
+ import { PressableScale } from '@oxyhq/bloom/pressable-scale';
36
+ import { CompositionBar } from '@oxyhq/bloom/composition-bar';
37
+ import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
38
+ import { Text } from '@oxyhq/bloom/typography';
39
+ import { getNormalizedUserHandle } from '@oxyhq/core';
40
+ import AvatarCameraBadge from "../AvatarCameraBadge.js";
41
+ import { HoverPressable } from "./primitives.js";
42
+ import { authChooserStyles as styles } from "./styles.js";
43
+ import { resolveAccentHex } from "./types.js";
44
+
45
+ /**
46
+ * Leading glyph for the rows that live in a Bloom grouped section (the MENU
47
+ * block) and for the storage card's cloud, which lines its title up with them.
48
+ * It is Bloom's OWN icon-slot size: `SettingsListItem` reserves a fixed 20px
49
+ * leading column and Bloom is consumed exactly as it ships, so a menu glyph
50
+ * larger than this would overhang into the row's title.
51
+ */
52
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
53
+ const ROW_ICON_SIZE = 20;
54
+ /**
55
+ * The switch card's two corner states. Collapsed it is one row and reads as a
56
+ * PILL; opened it is a card holding rows, on the same 16px corner the Bloom
57
+ * grouped section below it uses. Interpolated across the reveal, never snapped.
58
+ */
59
+ const SWITCH_CARD_PILL_RADIUS = 999;
60
+ const SWITCH_CARD_RADIUS = 16;
61
+ /**
62
+ * The fraction of the reveal over which the corner resolves. The corner is a
63
+ * FASTER gesture than the reveal — it has to be finished before the rows read as
64
+ * rows, or the card still looks like a pill while a list falls out of it — so it
65
+ * is clamped to the reveal's opening fraction instead of tracking it end to end.
66
+ * Measured in a browser against the 240ms reveal: the corner reaches its card
67
+ * value ~120ms in, with the list only ~20% revealed, and (mirrored) the pill is
68
+ * back ~250ms into the close, with the list already down to ~0.
69
+ */
70
+ const SWITCH_CARD_RADIUS_SETTLE = 0.2;
71
+ /** Duration of the switch-list reveal. */
72
+ const SWITCH_REVEAL_MS = 240;
73
+ /** Diameter of an account row's avatar in the switch list (own markup). */
74
+ const SWITCH_AVATAR_SIZE = 36;
75
+ /** Glyph inside a bordered affordance badge, sized to the avatar it stands in for. */
76
+ const BADGE_GLYPH_SIZE = 19;
77
+ /** The hero block's large current-account avatar. */
78
+ const HERO_AVATAR_SIZE = 72;
79
+ /** Avatars shown in the switch row's facepile before it collapses into `+N`. */
80
+ const FACEPILE_MAX = 2;
81
+ /** Facepile avatar diameter — one clear step down from a switch-list avatar. */
82
+ const FACEPILE_AVATAR_SIZE = 32;
83
+ /**
84
+ * Facepile overlap. Well under Bloom's `size / 3` default: the stack draws the
85
+ * FIRST item on top, so a deep overlap would bury the trailing `+N` chip's own
86
+ * label under the avatar before it.
87
+ */
88
+ const FACEPILE_OVERLAP = 4;
89
+
90
+ /**
91
+ * The hero's address line, shown under the "Hi, <name>!" greeting: the account's
92
+ * canonical `@oxy.so` email when it has one, else its normalized `@handle`. Never
93
+ * synthesizes a `username@oxy.so` address (the identity contract forbids it) — a
94
+ * non-Oxy or missing email falls back to `getNormalizedUserHandle`.
95
+ */
96
+ function heroAddressLine(account) {
97
+ if (account.email?.toLowerCase().endsWith('@oxy.so')) {
98
+ return account.email;
99
+ }
100
+ const handle = getNormalizedUserHandle(account.user);
101
+ return handle ? `@${handle}` : null;
102
+ }
103
+
104
+ /**
105
+ * `bytes` → `"11.6 GB"`. Whole plan sizes read as whole numbers (`"17 GB"`, not
106
+ * `"17.0 GB"`), and anything ≥ 100 GB drops the decimal entirely.
107
+ */
108
+ function formatStorageGb(bytes) {
109
+ const gb = bytes / 1024 ** 3;
110
+ if (gb >= 100 || Number.isInteger(gb)) return `${Math.round(gb)} GB`;
111
+ return `${gb.toFixed(1)} GB`;
112
+ }
113
+ const AccountsMenuView = ({
114
+ snapshot,
115
+ theme,
116
+ t,
117
+ handlers,
118
+ storage,
119
+ menu
120
+ }) => {
121
+ const [expanded, setExpanded] = useState(false);
122
+ // Measured natural height of the switch list, so the reveal animates to an
123
+ // exact height (and the content below reflows down smoothly) instead of a
124
+ // guessed max. The measuring wrapper is style-based, NOT className'd — on
125
+ // RN-Web `onLayout` never fires for className'd Views (see AGENTS.md).
126
+ const [listContentHeight, setListContentHeight] = useState(0);
127
+ // 0 = collapsed, 1 = expanded. Set imperatively in the toggle handler (no
128
+ // effect hook). On RN-Web there is no worklets plugin, so every shared value a
129
+ // mapper reads MUST be in its deps array or it freezes on the first frame
130
+ // (AGENTS.md "Reanimated (web)").
131
+ const listProgress = useSharedValue(0);
132
+ const listStyle = useAnimatedStyle(() => ({
133
+ height: listProgress.value * listContentHeight,
134
+ opacity: listProgress.value
135
+ }), [listProgress, listContentHeight]);
136
+ const chevronStyle = useAnimatedStyle(() => ({
137
+ transform: [{
138
+ rotate: `${listProgress.value * 180}deg`
139
+ }]
140
+ }), [listProgress]);
141
+ // Collapsed, the switch card is a single row and reads as a PILL; opened, it
142
+ // becomes a card holding rows and takes the grouped-section corner. The corner
143
+ // is driven off the SAME `listProgress` as the reveal — but clamped to its
144
+ // opening fraction, so it resolves early instead of trailing the rows.
145
+ const switchCardStyle = useAnimatedStyle(() => ({
146
+ borderRadius: interpolate(listProgress.value, [0, SWITCH_CARD_RADIUS_SETTLE], [SWITCH_CARD_PILL_RADIUS, SWITCH_CARD_RADIUS], Extrapolation.CLAMP)
147
+ }), [listProgress]);
148
+ // `CompositionBar` ships as an interactive breakdown: a selected segment
149
+ // replaces its hint line with that segment's readout. Tapping the selected one
150
+ // again clears it.
151
+ const [storageSegment, setStorageSegment] = useState(null);
152
+ const toggleStorageSegment = useCallback(key => setStorageSegment(previous => previous === key ? null : key), []);
153
+ const toggleExpanded = useCallback(() => {
154
+ const next = !expanded;
155
+ setExpanded(next);
156
+ listProgress.value = withTiming(next ? 1 : 0, {
157
+ duration: SWITCH_REVEAL_MS
158
+ });
159
+ }, [expanded, listProgress]);
160
+ if (snapshot.loading && snapshot.accounts.length === 0) {
161
+ return /*#__PURE__*/_jsxs(View, {
162
+ className: "items-center justify-center gap-space-12 py-space-24",
163
+ children: [/*#__PURE__*/_jsx(MaterialCommunityIcons, {
164
+ name: "loading",
165
+ size: 24,
166
+ color: theme.colors.textSecondary
167
+ }), /*#__PURE__*/_jsx(Text, {
168
+ className: "text-body text-text-secondary text-center",
169
+ children: t('accountSwitcher.loading')
170
+ })]
171
+ });
172
+ }
173
+ const switchingDisabled = snapshot.switchingAccountId !== null;
174
+ const current = snapshot.accounts.find(account => account.isCurrent) ?? snapshot.accounts[0];
175
+ const others = current ? snapshot.accounts.filter(account => account.accountId !== current.accountId) : snapshot.accounts;
176
+ const currentAccent = current ? resolveAccentHex(current.color, theme.colors.primary) : theme.colors.primary;
177
+ const currentAddress = current ? heroAddressLine(current) : null;
178
+ // The switch list repeats the CURRENT account (first, ringed) — unlike the old
179
+ // compact header it is not represented anywhere else once the hero moved out
180
+ // of the card, and the list is where you switch back to it.
181
+ const switchableAccounts = current ? [current, ...others] : others;
182
+ const facepile = switchableAccounts.map(account => ({
183
+ id: account.accountId,
184
+ uri: account.avatarUrl ?? undefined,
185
+ displayName: account.displayName
186
+ }));
187
+
188
+ // Used vs free is a two-part COMPOSITION (the parts always fill the bar), not
189
+ // a progress value — exactly what Bloom's `CompositionBar` models. Both colors
190
+ // are theme tokens, so the bar is correct in light and dark.
191
+ const storageCategories = storage ? [{
192
+ key: 'used',
193
+ name: t('accountMenu.storage.used'),
194
+ amount: storage.usedBytes,
195
+ color: theme.colors.primary
196
+ }, {
197
+ key: 'free',
198
+ name: t('accountMenu.storage.free'),
199
+ amount: Math.max(0, storage.limitBytes - storage.usedBytes),
200
+ color: theme.colors.contrast50
201
+ }] : [];
202
+ const usageLabel = storage ? t('accountMenu.storage.usage', {
203
+ used: formatStorageGb(storage.usedBytes),
204
+ total: formatStorageGb(storage.limitBytes)
205
+ }) : t('accountMenu.storage.unavailable');
206
+
207
+ // The switch list body, revealed under the "Switch account" row. Own markup,
208
+ // not a Bloom grouped section: this is not a list of settings rows and the
209
+ // component is not a card container. It mirrors the section's rhythm by hand —
210
+ // 12px content inset, 12px after the avatar, a hairline between rows — and
211
+ // draws those hairlines INSIDE the animated clip, so a collapsed list never
212
+ // strands one against the header row.
213
+ const listItems = /*#__PURE__*/_jsxs(_Fragment, {
214
+ children: [switchableAccounts.map((account, index) => {
215
+ const accent = resolveAccentHex(account.color, theme.colors.primary);
216
+ const isSwitching = snapshot.switchingAccountId === account.accountId;
217
+ return /*#__PURE__*/_jsxs(Fragment, {
218
+ children: [index > 0 ? /*#__PURE__*/_jsx(View, {
219
+ className: "h-px bg-border opacity-30 ml-space-12"
220
+ }) : null, /*#__PURE__*/_jsxs(HoverPressable, {
221
+ baseClassName: `flex-row items-center gap-space-12 px-space-12 py-[10px]${switchingDisabled ? ' opacity-60' : ''}`,
222
+ hoverClassName: "bg-fill-secondary",
223
+ onPress: () => handlers.onSwitch(account.accountId),
224
+ disabled: switchingDisabled,
225
+ accessibilityRole: "button",
226
+ accessibilityLabel: account.displayName,
227
+ children: [/*#__PURE__*/_jsxs(View, {
228
+ children: [/*#__PURE__*/_jsx(Avatar, {
229
+ source: account.avatarUrl ?? undefined,
230
+ variant: "thumb",
231
+ name: account.displayName,
232
+ size: SWITCH_AVATAR_SIZE
233
+ }), account.isCurrent ? /*#__PURE__*/_jsx(View, {
234
+ style: [styles.currentAvatarRing, {
235
+ borderColor: accent
236
+ }],
237
+ pointerEvents: "none"
238
+ }) : null]
239
+ }), /*#__PURE__*/_jsxs(View, {
240
+ className: "flex-1 min-w-0",
241
+ children: [/*#__PURE__*/_jsx(Text, {
242
+ className: "text-body font-semibold text-text",
243
+ numberOfLines: 1,
244
+ children: account.displayName
245
+ }), account.email ? /*#__PURE__*/_jsx(Text, {
246
+ className: "text-caption text-text-secondary",
247
+ numberOfLines: 1,
248
+ children: account.email
249
+ }) : null]
250
+ }), isSwitching ? /*#__PURE__*/_jsx(MaterialCommunityIcons, {
251
+ name: "loading",
252
+ size: 20,
253
+ color: accent
254
+ }) : null]
255
+ })]
256
+ }, account.accountId);
257
+ }), /*#__PURE__*/_jsx(View, {
258
+ className: "h-px bg-border opacity-30 ml-space-12"
259
+ }), /*#__PURE__*/_jsx(AccountAffordanceRow, {
260
+ icon: "plus",
261
+ label: t('accountMenu.addAnother'),
262
+ onPress: handlers.onAdd,
263
+ disabled: switchingDisabled,
264
+ theme: theme
265
+ }), /*#__PURE__*/_jsx(View, {
266
+ className: "h-px bg-border opacity-30 ml-space-12"
267
+ }), /*#__PURE__*/_jsx(AccountAffordanceRow, {
268
+ icon: "account-multiple-outline",
269
+ label: t('accountSwitcher.manageOnDevice'),
270
+ onPress: handlers.onManage,
271
+ disabled: switchingDisabled,
272
+ theme: theme
273
+ })]
274
+ });
275
+ const manageLabel = t('accountMenu.manage');
276
+ const switchLabel = t('accountMenu.switchAccount');
277
+ return /*#__PURE__*/_jsxs(View, {
278
+ children: [/*#__PURE__*/_jsxs(View, {
279
+ style: styles.hero,
280
+ children: [current ? /*#__PURE__*/_jsxs(_Fragment, {
281
+ children: [/*#__PURE__*/_jsxs(PressableScale, {
282
+ onPress: handlers.onEditAvatar,
283
+ accessibilityRole: "button",
284
+ accessibilityLabel: t('editProfile.changeAvatar'),
285
+ style: styles.heroAvatarPressable,
286
+ children: [/*#__PURE__*/_jsx(Avatar, {
287
+ source: current.avatarUrl ?? undefined,
288
+ name: current.displayName,
289
+ size: HERO_AVATAR_SIZE
290
+ }), /*#__PURE__*/_jsx(View, {
291
+ style: [styles.heroAvatarRing, {
292
+ borderColor: currentAccent
293
+ }],
294
+ pointerEvents: "none"
295
+ }), /*#__PURE__*/_jsx(AvatarCameraBadge, {})]
296
+ }), /*#__PURE__*/_jsxs(View, {
297
+ style: styles.heroNameBlock,
298
+ children: [/*#__PURE__*/_jsx(Text, {
299
+ style: [styles.heroGreeting, {
300
+ color: theme.colors.text
301
+ }],
302
+ numberOfLines: 2,
303
+ children: t('accountMenu.greeting', {
304
+ name: current.displayName
305
+ })
306
+ }), currentAddress ? /*#__PURE__*/_jsx(Text, {
307
+ style: [styles.heroAddress, {
308
+ color: theme.colors.textSecondary
309
+ }],
310
+ numberOfLines: 1,
311
+ children: currentAddress
312
+ }) : null]
313
+ })]
314
+ }) : null, /*#__PURE__*/_jsx(Button, {
315
+ variant: "secondary",
316
+ size: "small",
317
+ onPress: handlers.onManage,
318
+ accessibilityLabel: manageLabel,
319
+ children: manageLabel
320
+ })]
321
+ }), /*#__PURE__*/_jsxs(Animated.View, {
322
+ className: "bg-fill overflow-hidden mb-space-16",
323
+ style: switchCardStyle,
324
+ children: [/*#__PURE__*/_jsxs(HoverPressable, {
325
+ baseClassName: `flex-row items-center gap-space-12 px-space-12 py-[10px] min-h-[44px]${switchingDisabled ? ' opacity-60' : ''}`,
326
+ hoverClassName: "bg-fill-secondary",
327
+ onPress: toggleExpanded,
328
+ disabled: switchingDisabled,
329
+ accessibilityRole: "button"
330
+ // The ARIA prop, not `accessibilityState`: react-native-web 0.21
331
+ // forwards only this one, and RN maps it to
332
+ // `accessibilityState.expanded` natively — so the disclosure state
333
+ // reaches assistive tech on BOTH platforms.
334
+ ,
335
+ "aria-expanded": expanded,
336
+ accessibilityLabel: switchLabel,
337
+ children: [/*#__PURE__*/_jsx(Text, {
338
+ className: "flex-1 text-body text-text",
339
+ numberOfLines: 1,
340
+ children: switchLabel
341
+ }), expanded ? null : /*#__PURE__*/_jsx(AvatarGroup, {
342
+ items: facepile,
343
+ layout: "stack",
344
+ size: FACEPILE_AVATAR_SIZE,
345
+ max: FACEPILE_MAX,
346
+ overlap: FACEPILE_OVERLAP,
347
+ variant: "thumb",
348
+ showInitials: true,
349
+ ringColor: theme.colors.card
350
+ }), /*#__PURE__*/_jsx(View, {
351
+ style: [styles.chevronCircle, {
352
+ backgroundColor: theme.colors.contrast50
353
+ }],
354
+ children: /*#__PURE__*/_jsx(Animated.View, {
355
+ style: chevronStyle,
356
+ children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
357
+ name: "chevron-down",
358
+ size: 20,
359
+ color: theme.colors.text
360
+ })
361
+ })
362
+ })]
363
+ }), /*#__PURE__*/_jsx(Animated.View, {
364
+ style: [styles.collapse, listStyle],
365
+ pointerEvents: expanded ? 'auto' : 'none',
366
+ children: /*#__PURE__*/_jsx(View, {
367
+ style: styles.collapseMeasure,
368
+ onLayout: event => setListContentHeight(event.nativeEvent.layout.height),
369
+ children: /*#__PURE__*/_jsx(View, {
370
+ children: listItems
371
+ })
372
+ })
373
+ })]
374
+ }), /*#__PURE__*/_jsxs(View, {
375
+ className: "bg-fill rounded-[16px] overflow-hidden mb-space-16 px-space-12 py-[10px] gap-space-12",
376
+ children: [/*#__PURE__*/_jsxs(View, {
377
+ className: "flex-row items-center gap-space-12 min-h-[24px]",
378
+ children: [/*#__PURE__*/_jsx(View, {
379
+ className: "w-[20px] items-center",
380
+ children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
381
+ name: "cloud-outline",
382
+ size: ROW_ICON_SIZE,
383
+ color: theme.colors.textSecondary
384
+ })
385
+ }), /*#__PURE__*/_jsx(Text, {
386
+ className: "flex-1 text-body font-semibold text-text",
387
+ numberOfLines: 1,
388
+ children: t('accountMenu.storage.title')
389
+ })]
390
+ }), /*#__PURE__*/_jsx(CompositionBar, {
391
+ categories: storageCategories,
392
+ selectedKey: storageSegment,
393
+ onSelect: toggleStorageSegment,
394
+ hintLabel: usageLabel,
395
+ formatReadout: (bytes, percent) => `${formatStorageGb(bytes)} · ${percent}%`
396
+ }), /*#__PURE__*/_jsxs(View, {
397
+ className: "flex-row gap-space-8",
398
+ children: [/*#__PURE__*/_jsx(StorageChip, {
399
+ label: t('accountMenu.storage.upgrade'),
400
+ onPress: menu.onUpgradeStorage
401
+ }), /*#__PURE__*/_jsx(StorageChip, {
402
+ label: t('accountMenu.storage.manage'),
403
+ onPress: menu.onManageStorage
404
+ })]
405
+ })]
406
+ }), /*#__PURE__*/_jsxs(SettingsListGroup, {
407
+ children: [/*#__PURE__*/_jsx(SettingsListItem, {
408
+ icon: /*#__PURE__*/_jsx(MenuIcon, {
409
+ name: "tray-arrow-down",
410
+ theme: theme
411
+ }),
412
+ title: t('accountMenu.data'),
413
+ onPress: menu.onOpenData
414
+ }), /*#__PURE__*/_jsx(SettingsListItem, {
415
+ icon: /*#__PURE__*/_jsx(MenuIcon, {
416
+ name: "cog-outline",
417
+ theme: theme
418
+ }),
419
+ title: t('accountMenu.settings'),
420
+ onPress: menu.onOpenSettings
421
+ }), /*#__PURE__*/_jsx(SettingsListItem, {
422
+ icon: /*#__PURE__*/_jsx(MenuIcon, {
423
+ name: "help-circle-outline",
424
+ theme: theme
425
+ }),
426
+ title: t('accountMenu.help'),
427
+ onPress: menu.onHelp
428
+ }), /*#__PURE__*/_jsx(SettingsListItem, {
429
+ icon: /*#__PURE__*/_jsx(MenuIcon, {
430
+ name: "logout",
431
+ theme: theme
432
+ }),
433
+ title: t('accountMenu.signOut'),
434
+ onPress: menu.onSignOut,
435
+ showChevron: false
436
+ })]
437
+ }), /*#__PURE__*/_jsxs(View, {
438
+ className: "flex-row items-center justify-center gap-space-12 px-space-12 pb-space-8",
439
+ children: [/*#__PURE__*/_jsx(Pressable, {
440
+ onPress: menu.onPrivacy,
441
+ accessibilityRole: "link",
442
+ children: /*#__PURE__*/_jsx(Text, {
443
+ className: "text-bodySmall text-text-secondary",
444
+ children: t('accountMenu.privacy')
445
+ })
446
+ }), /*#__PURE__*/_jsx(Text, {
447
+ className: "text-bodySmall text-text-tertiary",
448
+ children: "\xB7"
449
+ }), /*#__PURE__*/_jsx(Pressable, {
450
+ onPress: menu.onTerms,
451
+ accessibilityRole: "link",
452
+ children: /*#__PURE__*/_jsx(Text, {
453
+ className: "text-bodySmall text-text-secondary",
454
+ children: t('accountMenu.terms')
455
+ })
456
+ })]
457
+ })]
458
+ });
459
+ };
460
+
461
+ /**
462
+ * An account-list AFFORDANCE row ("Add another account", "Manage accounts on
463
+ * this device") — a bordered circle sized to the avatar it stands in for, so its
464
+ * label lands on the same line as every account name above it. Own markup, like
465
+ * the account rows it closes: this list is not a Bloom grouped section.
466
+ */
467
+ const AccountAffordanceRow = ({
468
+ icon,
469
+ label,
470
+ onPress,
471
+ disabled,
472
+ theme
473
+ }) => /*#__PURE__*/_jsxs(HoverPressable, {
474
+ baseClassName: `flex-row items-center gap-space-12 px-space-12 py-[10px]${disabled ? ' opacity-60' : ''}`,
475
+ hoverClassName: "bg-fill-secondary",
476
+ onPress: onPress,
477
+ disabled: disabled,
478
+ accessibilityRole: "button",
479
+ accessibilityLabel: label,
480
+ children: [/*#__PURE__*/_jsx(View, {
481
+ className: "w-[36px] h-[36px] items-center justify-center rounded-radius-max border border-border",
482
+ children: /*#__PURE__*/_jsx(MaterialCommunityIcons, {
483
+ name: icon,
484
+ size: BADGE_GLYPH_SIZE,
485
+ color: theme.colors.textSecondary
486
+ })
487
+ }), /*#__PURE__*/_jsx(Text, {
488
+ className: "flex-1 text-body font-semibold text-text",
489
+ numberOfLines: 1,
490
+ children: label
491
+ })]
492
+ });
493
+
494
+ /**
495
+ * The leading glyph for a grouped-section menu row, sized to Bloom's 20px icon
496
+ * column so the icons, the storage block's cloud and every row title align.
497
+ */
498
+ const MenuIcon = ({
499
+ name,
500
+ theme
501
+ }) => /*#__PURE__*/_jsx(MaterialCommunityIcons, {
502
+ name: name,
503
+ size: ROW_ICON_SIZE,
504
+ color: theme.colors.textSecondary
505
+ });
506
+
507
+ /** A storage action chip — a bordered pill on the sheet background. */
508
+ const StorageChip = ({
509
+ label,
510
+ onPress
511
+ }) => /*#__PURE__*/_jsx(HoverPressable, {
512
+ baseClassName: "rounded-radius-max border border-border bg-bg py-[9px] px-[14px]",
513
+ hoverClassName: "bg-fill-secondary",
514
+ onPress: onPress,
515
+ accessibilityRole: "button",
516
+ accessibilityLabel: label,
517
+ children: /*#__PURE__*/_jsx(Text, {
518
+ className: "text-bodySmall font-semibold text-text",
519
+ children: label
520
+ })
521
+ });
522
+ export default AccountsMenuView;
523
+ //# sourceMappingURL=AccountsMenuView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Fragment","useCallback","useState","Pressable","View","Animated","Extrapolation","interpolate","useAnimatedStyle","useSharedValue","withTiming","MaterialCommunityIcons","Avatar","AvatarGroup","Button","PressableScale","CompositionBar","SettingsListGroup","SettingsListItem","Text","getNormalizedUserHandle","AvatarCameraBadge","HoverPressable","authChooserStyles","styles","resolveAccentHex","jsx","_jsx","jsxs","_jsxs","_Fragment","ROW_ICON_SIZE","SWITCH_CARD_PILL_RADIUS","SWITCH_CARD_RADIUS","SWITCH_CARD_RADIUS_SETTLE","SWITCH_REVEAL_MS","SWITCH_AVATAR_SIZE","BADGE_GLYPH_SIZE","HERO_AVATAR_SIZE","FACEPILE_MAX","FACEPILE_AVATAR_SIZE","FACEPILE_OVERLAP","heroAddressLine","account","email","toLowerCase","endsWith","handle","user","formatStorageGb","bytes","gb","Number","isInteger","Math","round","toFixed","AccountsMenuView","snapshot","theme","t","handlers","storage","menu","expanded","setExpanded","listContentHeight","setListContentHeight","listProgress","listStyle","height","value","opacity","chevronStyle","transform","rotate","switchCardStyle","borderRadius","CLAMP","storageSegment","setStorageSegment","toggleStorageSegment","key","previous","toggleExpanded","next","duration","loading","accounts","length","className","children","name","size","color","colors","textSecondary","switchingDisabled","switchingAccountId","current","find","isCurrent","others","filter","accountId","currentAccent","primary","currentAddress","switchableAccounts","facepile","map","id","uri","avatarUrl","undefined","displayName","storageCategories","amount","usedBytes","max","limitBytes","contrast50","usageLabel","used","total","listItems","index","accent","isSwitching","baseClassName","hoverClassName","onPress","onSwitch","disabled","accessibilityRole","accessibilityLabel","source","variant","style","currentAvatarRing","borderColor","pointerEvents","numberOfLines","AccountAffordanceRow","icon","label","onAdd","onManage","manageLabel","switchLabel","hero","onEditAvatar","heroAvatarPressable","heroAvatarRing","heroNameBlock","heroGreeting","text","heroAddress","items","layout","overlap","showInitials","ringColor","card","chevronCircle","backgroundColor","collapse","collapseMeasure","onLayout","event","nativeEvent","categories","selectedKey","onSelect","hintLabel","formatReadout","percent","StorageChip","onUpgradeStorage","onManageStorage","MenuIcon","title","onOpenData","onOpenSettings","onHelp","onSignOut","showChevron","onPrivacy","onTerms"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/AccountsMenuView.tsx"],"mappings":"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","ignoreList":[]}