@oxyhq/services 22.12.4 → 22.12.7

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 (639) hide show
  1. package/README.md +16 -46
  2. package/lib/commonjs/index.js +84 -10
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/notifications/deviceNotifications.js +380 -0
  5. package/lib/commonjs/notifications/deviceNotifications.js.map +1 -0
  6. package/lib/commonjs/ui/boot/runProviderColdBoot.js +51 -9
  7. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  8. package/lib/commonjs/ui/client.js +0 -13
  9. package/lib/commonjs/ui/client.js.map +1 -1
  10. package/lib/commonjs/ui/components/AvatarCameraBadge.js +3 -2
  11. package/lib/commonjs/ui/components/AvatarCameraBadge.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +14 -3
  13. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxyAuthChooser.js +70 -1121
  15. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxyConsentScreen.js +50 -12
  17. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
  18. package/lib/commonjs/ui/components/OxyProvider.js +4 -4
  19. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  20. package/lib/commonjs/ui/components/OxySignInButton.js +74 -40
  21. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  22. package/lib/commonjs/ui/components/OxySignInRequestSurface.js +147 -0
  23. package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -0
  24. package/lib/commonjs/ui/components/ProfileButton.js +4 -3
  25. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  26. package/lib/commonjs/ui/components/SettingsIcon.js +3 -2
  27. package/lib/commonjs/ui/components/SettingsIcon.js.map +1 -1
  28. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +527 -0
  29. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  30. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +90 -0
  31. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -0
  32. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +106 -0
  33. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -0
  34. package/lib/commonjs/ui/components/authChooser/SignUpView.js +188 -0
  35. package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -0
  36. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +61 -0
  37. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  38. package/lib/commonjs/ui/components/authChooser/primitives.js +170 -0
  39. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -0
  40. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +153 -0
  41. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -0
  42. package/lib/commonjs/ui/components/authChooser/signInProgress.js +54 -0
  43. package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -0
  44. package/lib/commonjs/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  45. package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -0
  46. package/lib/commonjs/ui/components/authChooser/types.js +70 -0
  47. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -0
  48. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +50 -0
  49. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  50. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +3 -2
  51. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +1 -1
  52. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +3 -2
  53. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  54. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +15 -14
  55. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  56. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +6 -5
  57. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  58. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +3 -2
  59. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  60. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +6 -6
  61. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
  62. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +5 -5
  63. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -1
  64. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +10 -9
  65. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -1
  66. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +4 -3
  67. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -1
  68. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +6 -5
  69. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -1
  70. package/lib/commonjs/ui/context/OxyContext.js +200 -29
  71. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  72. package/lib/commonjs/ui/context/commitSessionFlow.js +43 -0
  73. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  74. package/lib/commonjs/ui/context/useOxyAccountGraph.js +13 -5
  75. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  76. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +6 -1
  77. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
  78. package/lib/commonjs/ui/index.js +0 -13
  79. package/lib/commonjs/ui/index.js.map +1 -1
  80. package/lib/commonjs/ui/oauth/browserAuthTransport.js +168 -0
  81. package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -0
  82. package/lib/commonjs/ui/oauth/completeOAuthCode.js +78 -0
  83. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -0
  84. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +48 -0
  85. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +1 -0
  86. package/lib/commonjs/ui/oauth/oauthHandshake.js +53 -0
  87. package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -0
  88. package/lib/commonjs/ui/oauth/oauthPopup.js +229 -0
  89. package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -0
  90. package/lib/commonjs/ui/oauth/oauthPopupMessages.js +141 -0
  91. package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -0
  92. package/lib/commonjs/ui/oauth/types.js +2 -0
  93. package/lib/commonjs/ui/oauth/types.js.map +1 -0
  94. package/lib/commonjs/ui/screens/AccountMembersScreen.js +4 -3
  95. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  96. package/lib/commonjs/ui/screens/CreateAccountScreen.js +7 -6
  97. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  98. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +4 -3
  99. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  100. package/lib/commonjs/ui/screens/FAQScreen.js +3 -2
  101. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  102. package/lib/commonjs/ui/screens/FeedbackScreen.js +11 -10
  103. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  104. package/lib/commonjs/ui/screens/FileManagementScreen.js +19 -18
  105. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  106. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +4 -3
  107. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  108. package/lib/commonjs/ui/screens/ManageAccountScreen.js +2 -2
  109. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  110. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -3
  111. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  112. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +9 -8
  113. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  114. package/lib/commonjs/ui/screens/ProfileScreen.js +10 -10
  115. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  116. package/lib/commonjs/ui/screens/UserListScreen.js +3 -3
  117. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  118. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +3 -2
  119. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  120. package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js +4 -3
  121. package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
  122. package/lib/commonjs/ui/screens/fileManagement/FileListSection.js +4 -3
  123. package/lib/commonjs/ui/screens/fileManagement/FileListSection.js.map +1 -1
  124. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +4 -3
  125. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
  126. package/lib/commonjs/ui/screens/fileManagement/UploadBar.js +3 -2
  127. package/lib/commonjs/ui/screens/fileManagement/UploadBar.js.map +1 -1
  128. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +3 -2
  129. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  130. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +4 -3
  131. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  132. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +4 -3
  133. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  134. package/lib/commonjs/ui/server.js +2 -5
  135. package/lib/commonjs/ui/server.js.map +1 -1
  136. package/lib/commonjs/ui/session/authStore.js +6 -75
  137. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  138. package/lib/commonjs/ui/session/createSessionClient.js +11 -3
  139. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  140. package/lib/commonjs/ui/session/identityBinding.js +95 -0
  141. package/lib/commonjs/ui/session/identityBinding.js.map +1 -0
  142. package/lib/commonjs/ui/session/index.js +13 -0
  143. package/lib/commonjs/ui/session/index.js.map +1 -1
  144. package/lib/commonjs/ui/session/nativeSecureStorage.js +90 -0
  145. package/lib/commonjs/ui/session/nativeSecureStorage.js.map +1 -0
  146. package/lib/commonjs/ui/session/tokenTransport.js +11 -1
  147. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  148. package/lib/commonjs/ui/utils/crossOriginRestore.js +3 -2
  149. package/lib/commonjs/ui/utils/crossOriginRestore.js.map +1 -1
  150. package/lib/commonjs/ui/utils/deliveryPlatform.js +58 -0
  151. package/lib/commonjs/ui/utils/deliveryPlatform.js.map +1 -0
  152. package/lib/commonjs/ui/utils/oauthReturn.js +70 -46
  153. package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
  154. package/lib/module/index.js +27 -4
  155. package/lib/module/index.js.map +1 -1
  156. package/lib/module/notifications/deviceNotifications.js +371 -0
  157. package/lib/module/notifications/deviceNotifications.js.map +1 -0
  158. package/lib/module/ui/boot/runProviderColdBoot.js +51 -9
  159. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  160. package/lib/module/ui/client.js +0 -1
  161. package/lib/module/ui/client.js.map +1 -1
  162. package/lib/module/ui/components/AvatarCameraBadge.js +1 -1
  163. package/lib/module/ui/components/AvatarCameraBadge.js.map +1 -1
  164. package/lib/module/ui/components/OxyAccountDialogScreen.js +14 -3
  165. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  166. package/lib/module/ui/components/OxyAuthChooser.js +74 -1126
  167. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  168. package/lib/module/ui/components/OxyConsentScreen.js +50 -12
  169. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
  170. package/lib/module/ui/components/OxyProvider.js +4 -4
  171. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  172. package/lib/module/ui/components/OxySignInButton.js +76 -42
  173. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  174. package/lib/module/ui/components/OxySignInRequestSurface.js +141 -0
  175. package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -0
  176. package/lib/module/ui/components/ProfileButton.js +1 -1
  177. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  178. package/lib/module/ui/components/SettingsIcon.js +1 -1
  179. package/lib/module/ui/components/SettingsIcon.js.map +1 -1
  180. package/lib/module/ui/components/authChooser/AccountsMenuView.js +523 -0
  181. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  182. package/lib/module/ui/components/authChooser/SignInEntryView.js +85 -0
  183. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -0
  184. package/lib/module/ui/components/authChooser/SignInRequestView.js +101 -0
  185. package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -0
  186. package/lib/module/ui/components/authChooser/SignUpView.js +184 -0
  187. package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -0
  188. package/lib/module/ui/components/authChooser/TroubleDisclosure.js +57 -0
  189. package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  190. package/lib/module/ui/components/authChooser/primitives.js +163 -0
  191. package/lib/module/ui/components/authChooser/primitives.js.map +1 -0
  192. package/lib/module/ui/components/authChooser/requestSurfaces.js +143 -0
  193. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -0
  194. package/lib/module/ui/components/authChooser/signInProgress.js +50 -0
  195. package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -0
  196. package/lib/module/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  197. package/lib/module/ui/components/authChooser/styles.js.map +1 -0
  198. package/lib/module/ui/components/authChooser/types.js +66 -0
  199. package/lib/module/ui/components/authChooser/types.js.map +1 -0
  200. package/lib/module/ui/components/authChooser/useUsernameAvailability.js +46 -0
  201. package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  202. package/lib/module/ui/components/fileManagement/AnimatedButton.js +1 -1
  203. package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +1 -1
  204. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +1 -1
  205. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  206. package/lib/module/ui/components/fileManagement/FileViewer.js +1 -1
  207. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  208. package/lib/module/ui/components/fileManagement/UploadPreview.js +1 -1
  209. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  210. package/lib/module/ui/components/modals/DeleteAccountModal.js +1 -1
  211. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  212. package/lib/module/ui/components/payment/PaymentDetailsStep.js +1 -1
  213. package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
  214. package/lib/module/ui/components/payment/PaymentMethodStep.js +1 -1
  215. package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -1
  216. package/lib/module/ui/components/payment/PaymentReviewStep.js +1 -1
  217. package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -1
  218. package/lib/module/ui/components/payment/PaymentSuccessStep.js +1 -1
  219. package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -1
  220. package/lib/module/ui/components/payment/PaymentSummaryStep.js +1 -1
  221. package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -1
  222. package/lib/module/ui/context/OxyContext.js +203 -32
  223. package/lib/module/ui/context/OxyContext.js.map +1 -1
  224. package/lib/module/ui/context/commitSessionFlow.js +42 -0
  225. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  226. package/lib/module/ui/context/useOxyAccountGraph.js +13 -5
  227. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  228. package/lib/module/ui/hooks/useSwitchableAccounts.js +6 -1
  229. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
  230. package/lib/module/ui/index.js +0 -1
  231. package/lib/module/ui/index.js.map +1 -1
  232. package/lib/module/ui/oauth/browserAuthTransport.js +165 -0
  233. package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -0
  234. package/lib/module/ui/oauth/completeOAuthCode.js +75 -0
  235. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -0
  236. package/lib/module/ui/oauth/legacyRedirectLanes.js +44 -0
  237. package/lib/module/ui/oauth/legacyRedirectLanes.js.map +1 -0
  238. package/lib/module/ui/oauth/oauthHandshake.js +50 -0
  239. package/lib/module/ui/oauth/oauthHandshake.js.map +1 -0
  240. package/lib/module/ui/oauth/oauthPopup.js +221 -0
  241. package/lib/module/ui/oauth/oauthPopup.js.map +1 -0
  242. package/lib/module/ui/oauth/oauthPopupMessages.js +135 -0
  243. package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -0
  244. package/lib/module/ui/oauth/types.js +2 -0
  245. package/lib/module/ui/oauth/types.js.map +1 -0
  246. package/lib/module/ui/screens/AccountMembersScreen.js +1 -1
  247. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  248. package/lib/module/ui/screens/CreateAccountScreen.js +1 -1
  249. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  250. package/lib/module/ui/screens/EditProfileFieldScreen.js +1 -1
  251. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  252. package/lib/module/ui/screens/FAQScreen.js +1 -1
  253. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  254. package/lib/module/ui/screens/FeedbackScreen.js +1 -1
  255. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  256. package/lib/module/ui/screens/FileManagementScreen.js +2 -1
  257. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  258. package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -1
  259. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  260. package/lib/module/ui/screens/ManageAccountScreen.js +1 -1
  261. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  262. package/lib/module/ui/screens/PaymentGatewayScreen.js +1 -1
  263. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  264. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +1 -1
  265. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  266. package/lib/module/ui/screens/ProfileScreen.js +1 -1
  267. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  268. package/lib/module/ui/screens/UserListScreen.js +1 -1
  269. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  270. package/lib/module/ui/screens/WelcomeNewUserScreen.js +1 -1
  271. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  272. package/lib/module/ui/screens/fileManagement/FileLibraryError.js +1 -1
  273. package/lib/module/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
  274. package/lib/module/ui/screens/fileManagement/FileListSection.js +1 -1
  275. package/lib/module/ui/screens/fileManagement/FileListSection.js.map +1 -1
  276. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +2 -1
  277. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
  278. package/lib/module/ui/screens/fileManagement/UploadBar.js +1 -1
  279. package/lib/module/ui/screens/fileManagement/UploadBar.js.map +1 -1
  280. package/lib/module/ui/screens/trust/TrustCenterScreen.js +1 -1
  281. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  282. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +1 -1
  283. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  284. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +1 -1
  285. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  286. package/lib/module/ui/server.js +0 -2
  287. package/lib/module/ui/server.js.map +1 -1
  288. package/lib/module/ui/session/authStore.js +5 -75
  289. package/lib/module/ui/session/authStore.js.map +1 -1
  290. package/lib/module/ui/session/createSessionClient.js +11 -3
  291. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  292. package/lib/module/ui/session/identityBinding.js +89 -0
  293. package/lib/module/ui/session/identityBinding.js.map +1 -0
  294. package/lib/module/ui/session/index.js +5 -2
  295. package/lib/module/ui/session/index.js.map +1 -1
  296. package/lib/module/ui/session/nativeSecureStorage.js +88 -0
  297. package/lib/module/ui/session/nativeSecureStorage.js.map +1 -0
  298. package/lib/module/ui/session/tokenTransport.js +11 -1
  299. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  300. package/lib/module/ui/utils/crossOriginRestore.js +4 -3
  301. package/lib/module/ui/utils/crossOriginRestore.js.map +1 -1
  302. package/lib/module/ui/utils/deliveryPlatform.js +55 -0
  303. package/lib/module/ui/utils/deliveryPlatform.js.map +1 -0
  304. package/lib/module/ui/utils/oauthReturn.js +70 -46
  305. package/lib/module/ui/utils/oauthReturn.js.map +1 -1
  306. package/lib/typescript/commonjs/index.d.ts +9 -1
  307. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts +141 -0
  309. package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +34 -2
  311. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  312. package/lib/typescript/commonjs/ui/client.d.ts +0 -1
  313. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +16 -29
  316. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
  318. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  319. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +17 -12
  320. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  321. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts +108 -0
  322. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts.map +1 -0
  323. package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts +1 -1
  324. package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  326. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  327. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  328. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  330. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +34 -0
  332. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  333. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +36 -0
  334. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +55 -0
  336. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +58 -0
  338. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  339. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +26 -0
  340. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  341. package/lib/typescript/{module/ui/components/oxyAuthChooserStyles.d.ts → commonjs/ui/components/authChooser/styles.d.ts} +19 -1
  342. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -0
  343. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +103 -0
  344. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -0
  345. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  346. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  347. package/lib/typescript/commonjs/ui/components/payment/types.d.ts +1 -1
  348. package/lib/typescript/commonjs/ui/components/payment/types.d.ts.map +1 -1
  349. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  350. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +40 -0
  351. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  352. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +44 -1
  353. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  354. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +7 -1
  355. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  356. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  357. package/lib/typescript/commonjs/ui/index.d.ts +0 -1
  358. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  359. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +56 -0
  360. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts +49 -0
  362. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  363. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  364. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  365. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +50 -0
  366. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -0
  367. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +77 -0
  368. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -0
  369. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts +67 -0
  370. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  371. package/lib/typescript/commonjs/ui/oauth/types.d.ts +176 -0
  372. package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -0
  373. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  374. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  375. package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
  376. package/lib/typescript/commonjs/ui/server.d.ts +0 -2
  377. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  378. package/lib/typescript/commonjs/ui/session/authStore.d.ts +3 -7
  379. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  380. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +8 -1
  381. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  382. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +66 -0
  383. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -0
  384. package/lib/typescript/commonjs/ui/session/index.d.ts +6 -2
  385. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  386. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +25 -0
  387. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -0
  388. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +8 -1
  389. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  390. package/lib/typescript/commonjs/ui/types/navigation.d.ts +44 -0
  391. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  392. package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +1 -1
  393. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts +33 -0
  394. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +1 -1
  396. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
  397. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +30 -16
  398. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
  399. package/lib/typescript/module/index.d.ts +9 -1
  400. package/lib/typescript/module/index.d.ts.map +1 -1
  401. package/lib/typescript/module/notifications/deviceNotifications.d.ts +141 -0
  402. package/lib/typescript/module/notifications/deviceNotifications.d.ts.map +1 -0
  403. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +34 -2
  404. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  405. package/lib/typescript/module/ui/client.d.ts +0 -1
  406. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  407. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  408. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +16 -29
  409. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  410. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
  411. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  412. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +17 -12
  413. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  414. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts +108 -0
  415. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts.map +1 -0
  416. package/lib/typescript/module/ui/components/SettingsIcon.d.ts +1 -1
  417. package/lib/typescript/module/ui/components/SettingsIcon.d.ts.map +1 -1
  418. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  419. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  420. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  421. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  422. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  423. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  424. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +34 -0
  425. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  426. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +36 -0
  427. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  428. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +55 -0
  429. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -0
  430. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +58 -0
  431. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  432. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +26 -0
  433. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  434. package/lib/typescript/{commonjs/ui/components/oxyAuthChooserStyles.d.ts → module/ui/components/authChooser/styles.d.ts} +19 -1
  435. package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -0
  436. package/lib/typescript/module/ui/components/authChooser/types.d.ts +103 -0
  437. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -0
  438. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  439. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  440. package/lib/typescript/module/ui/components/payment/types.d.ts +1 -1
  441. package/lib/typescript/module/ui/components/payment/types.d.ts.map +1 -1
  442. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  443. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +40 -0
  444. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  445. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +44 -1
  446. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  447. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +7 -1
  448. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  449. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  450. package/lib/typescript/module/ui/index.d.ts +0 -1
  451. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  452. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +56 -0
  453. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  454. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts +49 -0
  455. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  456. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  457. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  458. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +50 -0
  459. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -0
  460. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +77 -0
  461. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -0
  462. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts +67 -0
  463. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  464. package/lib/typescript/module/ui/oauth/types.d.ts +176 -0
  465. package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -0
  466. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  467. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  468. package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
  469. package/lib/typescript/module/ui/server.d.ts +0 -2
  470. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  471. package/lib/typescript/module/ui/session/authStore.d.ts +3 -7
  472. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  473. package/lib/typescript/module/ui/session/createSessionClient.d.ts +8 -1
  474. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  475. package/lib/typescript/module/ui/session/identityBinding.d.ts +66 -0
  476. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -0
  477. package/lib/typescript/module/ui/session/index.d.ts +6 -2
  478. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  479. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +25 -0
  480. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -0
  481. package/lib/typescript/module/ui/session/tokenTransport.d.ts +8 -1
  482. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  483. package/lib/typescript/module/ui/types/navigation.d.ts +44 -0
  484. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  485. package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +1 -1
  486. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts +33 -0
  487. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts.map +1 -0
  488. package/lib/typescript/module/ui/utils/fileManagement.d.ts +1 -1
  489. package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
  490. package/lib/typescript/module/ui/utils/oauthReturn.d.ts +30 -16
  491. package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
  492. package/package.json +15 -7
  493. package/src/index.ts +50 -5
  494. package/src/notifications/deviceNotifications.ts +395 -0
  495. package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +281 -0
  496. package/src/ui/boot/runProviderColdBoot.ts +83 -13
  497. package/src/ui/client.ts +0 -1
  498. package/src/ui/components/AvatarCameraBadge.tsx +1 -1
  499. package/src/ui/components/OxyAccountDialogScreen.tsx +20 -3
  500. package/src/ui/components/OxyAuthChooser.tsx +91 -1230
  501. package/src/ui/components/OxyConsentScreen.tsx +56 -13
  502. package/src/ui/components/OxyProvider.tsx +4 -4
  503. package/src/ui/components/OxySignInButton.tsx +119 -78
  504. package/src/ui/components/OxySignInRequestSurface.tsx +202 -0
  505. package/src/ui/components/ProfileButton.tsx +1 -1
  506. package/src/ui/components/SettingsIcon.tsx +1 -1
  507. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +27 -0
  508. package/src/ui/components/authChooser/AccountsMenuView.tsx +569 -0
  509. package/src/ui/components/authChooser/SignInEntryView.tsx +121 -0
  510. package/src/ui/components/authChooser/SignInRequestView.tsx +130 -0
  511. package/src/ui/components/authChooser/SignUpView.tsx +174 -0
  512. package/src/ui/components/authChooser/TroubleDisclosure.tsx +73 -0
  513. package/src/ui/components/authChooser/primitives.tsx +144 -0
  514. package/src/ui/components/authChooser/requestSurfaces.tsx +120 -0
  515. package/src/ui/components/authChooser/signInProgress.ts +54 -0
  516. package/src/ui/components/{oxyAuthChooserStyles.ts → authChooser/styles.ts} +18 -0
  517. package/src/ui/components/authChooser/types.ts +120 -0
  518. package/src/ui/components/authChooser/useUsernameAvailability.ts +60 -0
  519. package/src/ui/components/fileManagement/AnimatedButton.tsx +1 -1
  520. package/src/ui/components/fileManagement/FileDetailsModal.tsx +1 -1
  521. package/src/ui/components/fileManagement/FileViewer.tsx +1 -1
  522. package/src/ui/components/fileManagement/UploadPreview.tsx +1 -1
  523. package/src/ui/components/modals/DeleteAccountModal.tsx +1 -1
  524. package/src/ui/components/payment/PaymentDetailsStep.tsx +1 -1
  525. package/src/ui/components/payment/PaymentMethodStep.tsx +1 -1
  526. package/src/ui/components/payment/PaymentReviewStep.tsx +1 -1
  527. package/src/ui/components/payment/PaymentSuccessStep.tsx +1 -1
  528. package/src/ui/components/payment/PaymentSummaryStep.tsx +1 -1
  529. package/src/ui/components/payment/types.ts +1 -1
  530. package/src/ui/context/OxyContext.tsx +220 -24
  531. package/src/ui/context/__tests__/commitSessionFlow.test.ts +89 -0
  532. package/src/ui/context/commitSessionFlow.ts +61 -0
  533. package/src/ui/context/oxyContextTypes.ts +45 -1
  534. package/src/ui/context/useOxyAccountGraph.ts +19 -5
  535. package/src/ui/hooks/useSwitchableAccounts.ts +12 -1
  536. package/src/ui/index.ts +0 -1
  537. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +335 -0
  538. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +142 -0
  539. package/src/ui/oauth/__tests__/oauthPopup.test.ts +326 -0
  540. package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +189 -0
  541. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +174 -0
  542. package/src/ui/oauth/browserAuthTransport.ts +187 -0
  543. package/src/ui/oauth/completeOAuthCode.ts +93 -0
  544. package/src/ui/oauth/legacyRedirectLanes.ts +43 -0
  545. package/src/ui/oauth/oauthHandshake.ts +74 -0
  546. package/src/ui/oauth/oauthPopup.ts +219 -0
  547. package/src/ui/oauth/oauthPopupMessages.ts +136 -0
  548. package/src/ui/oauth/types.ts +150 -0
  549. package/src/ui/screens/AccountMembersScreen.tsx +1 -1
  550. package/src/ui/screens/CreateAccountScreen.tsx +1 -1
  551. package/src/ui/screens/EditProfileFieldScreen.tsx +1 -1
  552. package/src/ui/screens/FAQScreen.tsx +1 -1
  553. package/src/ui/screens/FeedbackScreen.tsx +2 -1
  554. package/src/ui/screens/FileManagementScreen.tsx +2 -1
  555. package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
  556. package/src/ui/screens/ManageAccountScreen.tsx +1 -1
  557. package/src/ui/screens/PaymentGatewayScreen.tsx +1 -1
  558. package/src/ui/screens/PremiumSubscriptionScreen.tsx +1 -1
  559. package/src/ui/screens/ProfileScreen.tsx +1 -1
  560. package/src/ui/screens/UserListScreen.tsx +1 -1
  561. package/src/ui/screens/WelcomeNewUserScreen.tsx +1 -1
  562. package/src/ui/screens/fileManagement/FileLibraryError.tsx +1 -1
  563. package/src/ui/screens/fileManagement/FileListSection.tsx +1 -1
  564. package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +2 -1
  565. package/src/ui/screens/fileManagement/UploadBar.tsx +1 -1
  566. package/src/ui/screens/trust/TrustCenterScreen.tsx +1 -1
  567. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +1 -1
  568. package/src/ui/screens/trust/TrustRewardsScreen.tsx +1 -1
  569. package/src/ui/server.ts +0 -2
  570. package/src/ui/session/__tests__/createSessionClient.test.ts +26 -0
  571. package/src/ui/session/__tests__/tokenTransport.test.ts +34 -0
  572. package/src/ui/session/authStore.ts +5 -89
  573. package/src/ui/session/createSessionClient.ts +15 -2
  574. package/src/ui/session/identityBinding.ts +116 -0
  575. package/src/ui/session/index.ts +6 -2
  576. package/src/ui/session/nativeSecureStorage.ts +98 -0
  577. package/src/ui/session/tokenTransport.ts +14 -1
  578. package/src/ui/types/navigation.ts +44 -1
  579. package/src/ui/utils/crossOriginRestore.ts +4 -7
  580. package/src/ui/utils/deliveryPlatform.ts +65 -0
  581. package/src/ui/utils/fileManagement.ts +1 -1
  582. package/src/ui/utils/oauthReturn.ts +74 -65
  583. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  584. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  585. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  586. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  587. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  588. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  589. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  590. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  591. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  592. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  593. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  594. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  595. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  596. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  597. package/lib/commonjs/ui/components/FontLoader.js +0 -35
  598. package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
  599. package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
  600. package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
  601. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
  602. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  603. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  604. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  605. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  606. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  607. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  608. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  609. package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  610. package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  611. package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  612. package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  613. package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  614. package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  615. package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  616. package/lib/module/ui/components/FontLoader.js +0 -29
  617. package/lib/module/ui/components/FontLoader.js.map +0 -1
  618. package/lib/module/ui/components/FontLoader.native.js +0 -83
  619. package/lib/module/ui/components/FontLoader.native.js.map +0 -1
  620. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
  621. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
  622. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
  623. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
  624. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
  625. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  626. package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
  627. package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
  628. package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
  629. package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
  630. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  631. package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  632. package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  633. package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  634. package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  635. package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  636. package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  637. package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  638. package/src/ui/components/FontLoader.native.tsx +0 -88
  639. package/src/ui/components/FontLoader.tsx +0 -27
@@ -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/MaterialCommunityIcons';
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":[]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * The sign-in ENTRY (`signin` / `add` views) — ONE primary action.
5
+ *
6
+ * Issue #691, Phase 5: the normal experience presents no menu of authentication
7
+ * methods. The user sees "Continue with Oxy"; Oxy — not the user — then picks
8
+ * how the request reaches their Commons identity, and the request surface shows
9
+ * honest progress. Everything else (a QR from another device, a passkey on this
10
+ * device, getting Commons, creating an account) lives behind "Having trouble?".
11
+ *
12
+ * Existing accounts still render ABOVE the CTA: "continue as one of these" is a
13
+ * choice of WHO, not of HOW, so it is not one of the competing method buttons
14
+ * the issue removes.
15
+ *
16
+ * On web this view is transient — the container auto-starts the flow the instant
17
+ * the view is reached, because the request surface (QR, or "Check Commons on
18
+ * your phone") IS the primary route there, never something behind a tap.
19
+ */
20
+
21
+ import { View } from 'react-native';
22
+ import { Button } from '@oxyhq/bloom/button';
23
+ import TroubleDisclosure from "./TroubleDisclosure.js";
24
+ import { AccountRow, Dividerish, SubtleLink } from "./primitives.js";
25
+ import { authChooserStyles as styles } from "./styles.js";
26
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
+ const SignInEntryView = ({
28
+ snapshot,
29
+ theme,
30
+ t,
31
+ handlers,
32
+ onContinueWithOxy,
33
+ alternatives
34
+ }) => {
35
+ // The entry has no chosen route yet, so nothing here can have failed: the
36
+ // alternatives stay behind the disclosure unconditionally.
37
+ const troubleActions = [{
38
+ key: 'scan-qr-link',
39
+ label: t('accountSwitcher.scanQr'),
40
+ onPress: alternatives.onShowQr
41
+ }, ...(alternatives.passkeyAvailable ? [{
42
+ key: 'passkey-signin-link',
43
+ label: alternatives.passkeyPending ? t('accountSwitcher.passkeySigningIn') : t('accountSwitcher.useIdentityOnDevice'),
44
+ onPress: alternatives.onSignInWithPasskey,
45
+ disabled: alternatives.passkeyPending
46
+ }] : []), {
47
+ key: 'get-commons-link',
48
+ label: t('accountSwitcher.getCommons'),
49
+ onPress: alternatives.onGetCommons
50
+ }];
51
+ return /*#__PURE__*/_jsxs(View, {
52
+ style: styles.signInBlock,
53
+ children: [snapshot.accounts.length > 0 ? /*#__PURE__*/_jsxs(View, {
54
+ style: styles.rows,
55
+ children: [snapshot.accounts.map(account => /*#__PURE__*/_jsx(AccountRow, {
56
+ account: account,
57
+ theme: theme,
58
+ switching: snapshot.switchingAccountId === account.accountId,
59
+ disabled: snapshot.switchingAccountId !== null,
60
+ onPress: () => handlers.onSwitch(account.accountId)
61
+ }, account.accountId)), /*#__PURE__*/_jsx(Dividerish, {
62
+ theme: theme,
63
+ label: t('signin.or')
64
+ })]
65
+ }) : null, /*#__PURE__*/_jsx(Button, {
66
+ variant: "primary",
67
+ onPress: onContinueWithOxy,
68
+ style: styles.primaryButton,
69
+ testID: "continue-with-oxy",
70
+ children: t('accountSwitcher.continueWithOxy')
71
+ }), /*#__PURE__*/_jsx(SubtleLink, {
72
+ label: t('signin.createAccountLink'),
73
+ theme: theme,
74
+ onPress: alternatives.onCreateAccount,
75
+ testID: "create-account-link"
76
+ }), /*#__PURE__*/_jsx(TroubleDisclosure, {
77
+ actions: troubleActions,
78
+ revealed: false,
79
+ theme: theme,
80
+ t: t
81
+ })]
82
+ });
83
+ };
84
+ export default SignInEntryView;
85
+ //# sourceMappingURL=SignInEntryView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","Button","TroubleDisclosure","AccountRow","Dividerish","SubtleLink","authChooserStyles","styles","jsx","_jsx","jsxs","_jsxs","SignInEntryView","snapshot","theme","t","handlers","onContinueWithOxy","alternatives","troubleActions","key","label","onPress","onShowQr","passkeyAvailable","passkeyPending","onSignInWithPasskey","disabled","onGetCommons","style","signInBlock","children","accounts","length","rows","map","account","switching","switchingAccountId","accountId","onSwitch","variant","primaryButton","testID","onCreateAccount","actions","revealed"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/SignInEntryView.tsx"],"mappings":"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","ignoreList":[]}