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