@oxy.so/services 11.2.0-oxy-one.3 → 11.2.0-oxy-one.4

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 (1025) hide show
  1. package/lib/commonjs/assets/assets/icons/OxyServices.tsx +42 -40
  2. package/lib/commonjs/assets/assets/illustrations/HighFive.tsx +58 -31
  3. package/lib/commonjs/assets/icons/OxyServices.js.map +1 -1
  4. package/lib/commonjs/assets/illustrations/HighFive.js.map +1 -1
  5. package/lib/commonjs/index.js.map +1 -1
  6. package/lib/commonjs/notifications/deviceNotifications.js +8 -4
  7. package/lib/commonjs/notifications/deviceNotifications.js.map +1 -1
  8. package/lib/commonjs/ui/analytics/productAnalytics.js.map +1 -1
  9. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  10. package/lib/commonjs/ui/components/BenefitList.js.map +1 -1
  11. package/lib/commonjs/ui/components/BloomLocaleBridge.js.map +1 -1
  12. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  13. package/lib/commonjs/ui/components/FollowTargetButton.js +1 -1
  14. package/lib/commonjs/ui/components/FollowTargetButton.js.map +1 -1
  15. package/lib/commonjs/ui/components/LanguageBridge.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  17. package/lib/commonjs/ui/components/OxyAuthPrompt.js.map +1 -1
  18. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
  19. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  20. package/lib/commonjs/ui/components/OxySignInButton.js +1 -1
  21. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  22. package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -1
  23. package/lib/commonjs/ui/components/PeableButton.js.map +1 -1
  24. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  25. package/lib/commonjs/ui/components/ProfileSummaryCard.js +1 -1
  26. package/lib/commonjs/ui/components/ProfileSummaryCard.js.map +1 -1
  27. package/lib/commonjs/ui/components/RequireOxyAuth.js.map +1 -1
  28. package/lib/commonjs/ui/components/SettingsIcon.js.map +1 -1
  29. package/lib/commonjs/ui/components/SurfaceHeaderAction.js.map +1 -1
  30. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -1
  31. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  32. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -1
  33. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
  34. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -1
  35. package/lib/commonjs/ui/components/feedback/constants.js.map +1 -1
  36. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js.map +1 -1
  37. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  38. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +1 -1
  39. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  40. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  41. package/lib/commonjs/ui/components/followButtonAccessibility.js.map +1 -1
  42. package/lib/commonjs/ui/components/followRules.js.map +1 -1
  43. package/lib/commonjs/ui/components/icon/FAIRWalletIcon.js.map +1 -1
  44. package/lib/commonjs/ui/components/logo/LogoText.js.map +1 -1
  45. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  46. package/lib/commonjs/ui/components/oauthNavigation.js.map +1 -1
  47. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
  48. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -1
  49. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -1
  50. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -1
  51. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +1 -1
  52. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -1
  53. package/lib/commonjs/ui/components/payment/constants.js.map +1 -1
  54. package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -1
  55. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
  56. package/lib/commonjs/ui/components/signIn/InlineCommonsQr.js.map +1 -1
  57. package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js.map +1 -1
  58. package/lib/commonjs/ui/components/signIn/OxyAuthScreen.js.map +1 -1
  59. package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -1
  60. package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  61. package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  62. package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js.map +1 -1
  63. package/lib/commonjs/ui/components/signIn/OxySignInPanel.js.map +1 -1
  64. package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js.map +1 -1
  65. package/lib/commonjs/ui/components/signIn/ReauthStep.js.map +1 -1
  66. package/lib/commonjs/ui/components/signIn/accountFlowParts.js.map +1 -1
  67. package/lib/commonjs/ui/components/signIn/artwork.js.map +1 -1
  68. package/lib/commonjs/ui/components/signIn/signInFlowStore.js.map +1 -1
  69. package/lib/commonjs/ui/components/styles/overlay.js.map +1 -1
  70. package/lib/commonjs/ui/components/styles/shadow.js.map +1 -1
  71. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js.map +1 -1
  72. package/lib/commonjs/ui/components/utils/hasTouchHandler.js.map +1 -1
  73. package/lib/commonjs/ui/components/utils/roundLayoutSize.js.map +1 -1
  74. package/lib/commonjs/ui/components/utils/splitStyles.js.map +1 -1
  75. package/lib/commonjs/ui/constants/spacing.js.map +1 -1
  76. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  77. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  78. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  79. package/lib/commonjs/ui/context/isolatedOAuthSession.js.map +1 -1
  80. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  81. package/lib/commonjs/ui/hooks/accountDialogSnapshot.js.map +1 -1
  82. package/lib/commonjs/ui/hooks/accountQueryPersistence.js.map +1 -1
  83. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -1
  84. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  85. package/lib/commonjs/ui/hooks/persistedQueryCache.js.map +1 -1
  86. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  87. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  88. package/lib/commonjs/ui/hooks/queries/useFileQueries.js.map +1 -1
  89. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  90. package/lib/commonjs/ui/hooks/queries/usePersonalPlans.js.map +1 -1
  91. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  92. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  93. package/lib/commonjs/ui/hooks/queries/userCache.js +38 -38
  94. package/lib/commonjs/ui/hooks/queries/userCache.js.map +1 -1
  95. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -1
  96. package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
  97. package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -1
  98. package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
  99. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  100. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js.map +1 -1
  101. package/lib/commonjs/ui/hooks/useFileFiltering.js.map +1 -1
  102. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
  103. package/lib/commonjs/ui/hooks/useI18n.js.map +1 -1
  104. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  105. package/lib/commonjs/ui/hooks/useReduceMotion.js.map +1 -1
  106. package/lib/commonjs/ui/hooks/useResolvedFileUrls.js.map +1 -1
  107. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  108. package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -1
  109. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
  110. package/lib/commonjs/ui/hooks/useSurfaceFrameWidth.js.map +1 -1
  111. package/lib/commonjs/ui/icons/Ionicons.js.map +1 -1
  112. package/lib/commonjs/ui/icons/MaterialCommunityIcons.js.map +1 -1
  113. package/lib/commonjs/ui/icons/decorativeIconSet.js.map +1 -1
  114. package/lib/commonjs/ui/isFrontend.js.map +1 -1
  115. package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
  116. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  117. package/lib/commonjs/ui/navigation/surfaces.js.map +1 -1
  118. package/lib/commonjs/ui/oauth/applicationSessionLane.js.map +1 -1
  119. package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -1
  120. package/lib/commonjs/ui/oauth/browserBridge.js.map +1 -1
  121. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -1
  122. package/lib/commonjs/ui/oauth/nativeAuthTransport.js.map +1 -1
  123. package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -1
  124. package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -1
  125. package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -1
  126. package/lib/commonjs/ui/runtime/createOxyRuntime.js.map +1 -1
  127. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  128. package/lib/commonjs/ui/screens/AccountSecurityPanelScreen.js.map +1 -1
  129. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  130. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  131. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  132. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  133. package/lib/commonjs/ui/screens/ChangeAvatarScreen.js.map +1 -1
  134. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  135. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  136. package/lib/commonjs/ui/screens/DomainsScreen.js.map +1 -1
  137. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +1 -1
  138. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  139. package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
  140. package/lib/commonjs/ui/screens/FileManagementScreen.js +2 -5
  141. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  142. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  143. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  144. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  145. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  146. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  147. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  148. package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
  149. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  150. package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
  151. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +3 -3
  152. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  153. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  154. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  155. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  156. package/lib/commonjs/ui/screens/UserListScreen.js +1 -1
  157. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  158. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  159. package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
  160. package/lib/commonjs/ui/screens/fileManagement/FileListSection.js.map +1 -1
  161. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +7 -7
  162. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
  163. package/lib/commonjs/ui/screens/fileManagement/UploadBar.js.map +1 -1
  164. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  165. package/lib/commonjs/ui/screens/fileManagement/photoGridLayout.js.map +1 -1
  166. package/lib/commonjs/ui/screens/fileManagement/shared.js.map +1 -1
  167. package/lib/commonjs/ui/screens/linkFormat.js.map +1 -1
  168. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  169. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  170. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  171. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  172. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  173. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  174. package/lib/commonjs/ui/server.js.map +1 -1
  175. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  176. package/lib/commonjs/ui/session/backgroundSession.js.map +1 -1
  177. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  178. package/lib/commonjs/ui/session/deviceCredentialTracker.js.map +1 -1
  179. package/lib/commonjs/ui/session/identityBinding.js.map +1 -1
  180. package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js.map +1 -1
  181. package/lib/commonjs/ui/session/tokenLossRecovery.js.map +1 -1
  182. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  183. package/lib/commonjs/ui/stores/assetStore.js.map +1 -1
  184. package/lib/commonjs/ui/stores/followStore.js.map +1 -1
  185. package/lib/commonjs/ui/utils/accountDeletionHandoff.js.map +1 -1
  186. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  187. package/lib/commonjs/ui/utils/clipboard.native.js +23 -6
  188. package/lib/commonjs/ui/utils/clipboard.native.js.map +1 -1
  189. package/lib/commonjs/ui/utils/commonsStoreLinks.js.map +1 -1
  190. package/lib/commonjs/ui/utils/errorHandlers.js.map +1 -1
  191. package/lib/commonjs/ui/utils/fileManagement.js +24 -24
  192. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  193. package/lib/commonjs/ui/utils/iconNames.js.map +1 -1
  194. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  195. package/lib/commonjs/ui/utils/userUtils.js.map +1 -1
  196. package/lib/commonjs/utils/hookUtils.js +2 -4
  197. package/lib/commonjs/utils/hookUtils.js.map +1 -1
  198. package/lib/module/assets/assets/icons/OxyServices.tsx +42 -40
  199. package/lib/module/assets/assets/illustrations/HighFive.tsx +58 -31
  200. package/lib/module/assets/icons/OxyServices.js.map +1 -1
  201. package/lib/module/assets/illustrations/HighFive.js.map +1 -1
  202. package/lib/module/index.js.map +1 -1
  203. package/lib/module/notifications/deviceNotifications.js +8 -4
  204. package/lib/module/notifications/deviceNotifications.js.map +1 -1
  205. package/lib/module/ui/analytics/productAnalytics.js.map +1 -1
  206. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  207. package/lib/module/ui/client.js.map +1 -1
  208. package/lib/module/ui/components/BenefitList.js.map +1 -1
  209. package/lib/module/ui/components/BloomLocaleBridge.js.map +1 -1
  210. package/lib/module/ui/components/FollowButton.js.map +1 -1
  211. package/lib/module/ui/components/FollowTargetButton.js +1 -1
  212. package/lib/module/ui/components/FollowTargetButton.js.map +1 -1
  213. package/lib/module/ui/components/LanguageBridge.js.map +1 -1
  214. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  215. package/lib/module/ui/components/OxyAuthPrompt.js.map +1 -1
  216. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
  217. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  218. package/lib/module/ui/components/OxySignInButton.js +1 -1
  219. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  220. package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -1
  221. package/lib/module/ui/components/PeableButton.js.map +1 -1
  222. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  223. package/lib/module/ui/components/ProfileSummaryCard.js +1 -1
  224. package/lib/module/ui/components/ProfileSummaryCard.js.map +1 -1
  225. package/lib/module/ui/components/RequireOxyAuth.js.map +1 -1
  226. package/lib/module/ui/components/SettingsIcon.js.map +1 -1
  227. package/lib/module/ui/components/SurfaceHeaderAction.js.map +1 -1
  228. package/lib/module/ui/components/SurfaceScreen.js.map +1 -1
  229. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  230. package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -1
  231. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
  232. package/lib/module/ui/components/authChooser/types.js.map +1 -1
  233. package/lib/module/ui/components/feedback/constants.js.map +1 -1
  234. package/lib/module/ui/components/feedback/useFeedbackForm.js.map +1 -1
  235. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  236. package/lib/module/ui/components/fileManagement/FileViewer.js +1 -1
  237. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  238. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  239. package/lib/module/ui/components/followButtonAccessibility.js.map +1 -1
  240. package/lib/module/ui/components/followRules.js.map +1 -1
  241. package/lib/module/ui/components/icon/FAIRWalletIcon.js.map +1 -1
  242. package/lib/module/ui/components/logo/LogoText.js.map +1 -1
  243. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  244. package/lib/module/ui/components/oauthNavigation.js.map +1 -1
  245. package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
  246. package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -1
  247. package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -1
  248. package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -1
  249. package/lib/module/ui/components/payment/PaymentSummaryStep.js +1 -1
  250. package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -1
  251. package/lib/module/ui/components/payment/constants.js.map +1 -1
  252. package/lib/module/ui/components/payment/paymentStyles.js.map +1 -1
  253. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
  254. package/lib/module/ui/components/signIn/InlineCommonsQr.js.map +1 -1
  255. package/lib/module/ui/components/signIn/OxyAccountPicker.js.map +1 -1
  256. package/lib/module/ui/components/signIn/OxyAuthScreen.js.map +1 -1
  257. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -1
  258. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  259. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  260. package/lib/module/ui/components/signIn/OxyPasswordPanel.js.map +1 -1
  261. package/lib/module/ui/components/signIn/OxySignInPanel.js.map +1 -1
  262. package/lib/module/ui/components/signIn/OxySignUpPanel.js.map +1 -1
  263. package/lib/module/ui/components/signIn/ReauthStep.js.map +1 -1
  264. package/lib/module/ui/components/signIn/accountFlowParts.js.map +1 -1
  265. package/lib/module/ui/components/signIn/artwork.js.map +1 -1
  266. package/lib/module/ui/components/signIn/signInFlowStore.js.map +1 -1
  267. package/lib/module/ui/components/styles/overlay.js.map +1 -1
  268. package/lib/module/ui/components/styles/shadow.js.map +1 -1
  269. package/lib/module/ui/components/surfaces/ActionSheetSurface.js.map +1 -1
  270. package/lib/module/ui/components/utils/hasTouchHandler.js.map +1 -1
  271. package/lib/module/ui/components/utils/roundLayoutSize.js.map +1 -1
  272. package/lib/module/ui/components/utils/splitStyles.js.map +1 -1
  273. package/lib/module/ui/constants/spacing.js.map +1 -1
  274. package/lib/module/ui/context/OxyContext.js.map +1 -1
  275. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  276. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  277. package/lib/module/ui/context/isolatedOAuthSession.js.map +1 -1
  278. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  279. package/lib/module/ui/hooks/accountDialogSnapshot.js.map +1 -1
  280. package/lib/module/ui/hooks/accountQueryPersistence.js.map +1 -1
  281. package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -1
  282. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  283. package/lib/module/ui/hooks/persistedQueryCache.js.map +1 -1
  284. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  285. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  286. package/lib/module/ui/hooks/queries/useFileQueries.js.map +1 -1
  287. package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  288. package/lib/module/ui/hooks/queries/usePersonalPlans.js.map +1 -1
  289. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  290. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  291. package/lib/module/ui/hooks/queries/userCache.js +38 -38
  292. package/lib/module/ui/hooks/queries/userCache.js.map +1 -1
  293. package/lib/module/ui/hooks/queryClient.js.map +1 -1
  294. package/lib/module/ui/hooks/useAssets.js.map +1 -1
  295. package/lib/module/ui/hooks/useAsyncAction.js.map +1 -1
  296. package/lib/module/ui/hooks/useAuth.js.map +1 -1
  297. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  298. package/lib/module/ui/hooks/useDeviceSwitcher.js.map +1 -1
  299. package/lib/module/ui/hooks/useFileFiltering.js.map +1 -1
  300. package/lib/module/ui/hooks/useFollow.js.map +1 -1
  301. package/lib/module/ui/hooks/useI18n.js.map +1 -1
  302. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  303. package/lib/module/ui/hooks/useReduceMotion.js.map +1 -1
  304. package/lib/module/ui/hooks/useResolvedFileUrls.js.map +1 -1
  305. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  306. package/lib/module/ui/hooks/useSettingToggle.js.map +1 -1
  307. package/lib/module/ui/hooks/useStorage.js.map +1 -1
  308. package/lib/module/ui/hooks/useSurfaceFrameWidth.js.map +1 -1
  309. package/lib/module/ui/icons/Ionicons.js.map +1 -1
  310. package/lib/module/ui/icons/MaterialCommunityIcons.js.map +1 -1
  311. package/lib/module/ui/icons/decorativeIconSet.js.map +1 -1
  312. package/lib/module/ui/index.js.map +1 -1
  313. package/lib/module/ui/isFrontend.js.map +1 -1
  314. package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
  315. package/lib/module/ui/navigation/routes.js.map +1 -1
  316. package/lib/module/ui/navigation/surfaces.js.map +1 -1
  317. package/lib/module/ui/oauth/applicationSessionLane.js.map +1 -1
  318. package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -1
  319. package/lib/module/ui/oauth/browserBridge.js.map +1 -1
  320. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -1
  321. package/lib/module/ui/oauth/nativeAuthTransport.js.map +1 -1
  322. package/lib/module/ui/oauth/oauthHandshake.js.map +1 -1
  323. package/lib/module/ui/oauth/oauthPopup.js.map +1 -1
  324. package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -1
  325. package/lib/module/ui/runtime/createOxyRuntime.js.map +1 -1
  326. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  327. package/lib/module/ui/screens/AccountSecurityPanelScreen.js.map +1 -1
  328. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  329. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  330. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  331. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  332. package/lib/module/ui/screens/ChangeAvatarScreen.js.map +1 -1
  333. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  334. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  335. package/lib/module/ui/screens/DomainsScreen.js.map +1 -1
  336. package/lib/module/ui/screens/EditProfileFieldScreen.js +1 -1
  337. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  338. package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
  339. package/lib/module/ui/screens/FileManagementScreen.js +2 -5
  340. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  341. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  342. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  343. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  344. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  345. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  346. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  347. package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
  348. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  349. package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
  350. package/lib/module/ui/screens/PrivacySettingsScreen.js +3 -3
  351. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  352. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  353. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  354. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  355. package/lib/module/ui/screens/UserListScreen.js +1 -1
  356. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  357. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  358. package/lib/module/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
  359. package/lib/module/ui/screens/fileManagement/FileListSection.js.map +1 -1
  360. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +7 -7
  361. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
  362. package/lib/module/ui/screens/fileManagement/UploadBar.js.map +1 -1
  363. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  364. package/lib/module/ui/screens/fileManagement/photoGridLayout.js.map +1 -1
  365. package/lib/module/ui/screens/fileManagement/shared.js.map +1 -1
  366. package/lib/module/ui/screens/linkFormat.js.map +1 -1
  367. package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  368. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  369. package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  370. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  371. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  372. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  373. package/lib/module/ui/server.js.map +1 -1
  374. package/lib/module/ui/session/authStore.js.map +1 -1
  375. package/lib/module/ui/session/backgroundSession.js.map +1 -1
  376. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  377. package/lib/module/ui/session/deviceCredentialTracker.js.map +1 -1
  378. package/lib/module/ui/session/identityBinding.js.map +1 -1
  379. package/lib/module/ui/session/sharedDeviceCredentialStore.js.map +1 -1
  380. package/lib/module/ui/session/tokenLossRecovery.js.map +1 -1
  381. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  382. package/lib/module/ui/stores/assetStore.js.map +1 -1
  383. package/lib/module/ui/stores/followStore.js.map +1 -1
  384. package/lib/module/ui/utils/accountDeletionHandoff.js.map +1 -1
  385. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  386. package/lib/module/ui/utils/clipboard.native.js +23 -6
  387. package/lib/module/ui/utils/clipboard.native.js.map +1 -1
  388. package/lib/module/ui/utils/commonsStoreLinks.js.map +1 -1
  389. package/lib/module/ui/utils/errorHandlers.js.map +1 -1
  390. package/lib/module/ui/utils/fileManagement.js +25 -25
  391. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  392. package/lib/module/ui/utils/iconNames.js.map +1 -1
  393. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  394. package/lib/module/ui/utils/userUtils.js.map +1 -1
  395. package/lib/module/utils/hookUtils.js +2 -4
  396. package/lib/module/utils/hookUtils.js.map +1 -1
  397. package/lib/typescript/commonjs/assets/icons/OxyServices.d.ts.map +1 -1
  398. package/lib/typescript/commonjs/assets/illustrations/HighFive.d.ts.map +1 -1
  399. package/lib/typescript/commonjs/index.d.ts +4 -4
  400. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  401. package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts +8 -4
  402. package/lib/typescript/commonjs/notifications/deviceNotifications.d.ts.map +1 -1
  403. package/lib/typescript/commonjs/ui/analytics/productAnalytics.d.ts.map +1 -1
  404. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  405. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  406. package/lib/typescript/commonjs/ui/components/BenefitList.d.ts.map +1 -1
  407. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  408. package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts +1 -1
  409. package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts.map +1 -1
  410. package/lib/typescript/commonjs/ui/components/LanguageBridge.d.ts +1 -1
  411. package/lib/typescript/commonjs/ui/components/LanguageBridge.d.ts.map +1 -1
  412. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  413. package/lib/typescript/commonjs/ui/components/OxyAuthPrompt.d.ts.map +1 -1
  414. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
  415. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  416. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  417. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts.map +1 -1
  418. package/lib/typescript/commonjs/ui/components/PeableButton.d.ts.map +1 -1
  419. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
  420. package/lib/typescript/commonjs/ui/components/ProfileSummaryCard.d.ts.map +1 -1
  421. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts.map +1 -1
  422. package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts.map +1 -1
  423. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts.map +1 -1
  424. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts +1 -1
  425. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -1
  426. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  427. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -1
  428. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
  429. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -1
  430. package/lib/typescript/commonjs/ui/components/feedback/constants.d.ts.map +1 -1
  431. package/lib/typescript/commonjs/ui/components/feedback/types.d.ts.map +1 -1
  432. package/lib/typescript/commonjs/ui/components/feedback/useFeedbackForm.d.ts.map +1 -1
  433. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  434. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  435. package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  436. package/lib/typescript/commonjs/ui/components/followButtonAccessibility.d.ts.map +1 -1
  437. package/lib/typescript/commonjs/ui/components/followRules.d.ts.map +1 -1
  438. package/lib/typescript/commonjs/ui/components/icon/FAIRWalletIcon.d.ts.map +1 -1
  439. package/lib/typescript/commonjs/ui/components/logo/LogoText.d.ts.map +1 -1
  440. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  441. package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts.map +1 -1
  442. package/lib/typescript/commonjs/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -1
  443. package/lib/typescript/commonjs/ui/components/payment/PaymentMethodStep.d.ts.map +1 -1
  444. package/lib/typescript/commonjs/ui/components/payment/PaymentReviewStep.d.ts.map +1 -1
  445. package/lib/typescript/commonjs/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -1
  446. package/lib/typescript/commonjs/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
  447. package/lib/typescript/commonjs/ui/components/payment/constants.d.ts.map +1 -1
  448. package/lib/typescript/commonjs/ui/components/payment/paymentStyles.d.ts.map +1 -1
  449. package/lib/typescript/commonjs/ui/components/payment/types.d.ts +6 -6
  450. package/lib/typescript/commonjs/ui/components/payment/types.d.ts.map +1 -1
  451. package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
  452. package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -1
  453. package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -1
  454. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthScreen.d.ts.map +1 -1
  455. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -1
  456. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  457. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  458. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -1
  459. package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts.map +1 -1
  460. package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -1
  461. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts.map +1 -1
  462. package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  463. package/lib/typescript/commonjs/ui/components/signIn/artwork.d.ts.map +1 -1
  464. package/lib/typescript/commonjs/ui/components/signIn/signInFlowStore.d.ts.map +1 -1
  465. package/lib/typescript/commonjs/ui/components/styles/overlay.d.ts.map +1 -1
  466. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -1
  467. package/lib/typescript/commonjs/ui/components/utils/hasTouchHandler.d.ts.map +1 -1
  468. package/lib/typescript/commonjs/ui/components/utils/roundLayoutSize.d.ts.map +1 -1
  469. package/lib/typescript/commonjs/ui/components/utils/splitStyles.d.ts.map +1 -1
  470. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  471. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  472. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  473. package/lib/typescript/commonjs/ui/context/isolatedOAuthSession.d.ts.map +1 -1
  474. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  475. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  476. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
  477. package/lib/typescript/commonjs/ui/hooks/accountQueryPersistence.d.ts.map +1 -1
  478. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
  479. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  480. package/lib/typescript/commonjs/ui/hooks/persistedQueryCache.d.ts.map +1 -1
  481. package/lib/typescript/commonjs/ui/hooks/queries/paymentTypes.d.ts +2 -2
  482. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  483. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  484. package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
  485. package/lib/typescript/commonjs/ui/hooks/queries/usePaymentQueries.d.ts.map +1 -1
  486. package/lib/typescript/commonjs/ui/hooks/queries/usePersonalPlans.d.ts.map +1 -1
  487. package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  488. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  489. package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts +5 -5
  490. package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts.map +1 -1
  491. package/lib/typescript/commonjs/ui/hooks/queryClient.d.ts.map +1 -1
  492. package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts.map +1 -1
  493. package/lib/typescript/commonjs/ui/hooks/useAsyncAction.d.ts.map +1 -1
  494. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  495. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  496. package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
  497. package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts.map +1 -1
  498. package/lib/typescript/commonjs/ui/hooks/useI18n.d.ts.map +1 -1
  499. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts.map +1 -1
  500. package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts.map +1 -1
  501. package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
  502. package/lib/typescript/commonjs/ui/hooks/useSettingToggle.d.ts.map +1 -1
  503. package/lib/typescript/commonjs/ui/hooks/useStorage.d.ts +1 -1
  504. package/lib/typescript/commonjs/ui/hooks/useStorage.d.ts.map +1 -1
  505. package/lib/typescript/commonjs/ui/hooks/useSurfaceFrameWidth.d.ts.map +1 -1
  506. package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts.map +1 -1
  507. package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
  508. package/lib/typescript/commonjs/ui/icons/decorativeIconSet.d.ts.map +1 -1
  509. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  510. package/lib/typescript/commonjs/ui/isFrontend.d.ts.map +1 -1
  511. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  512. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -1
  513. package/lib/typescript/commonjs/ui/oauth/applicationSessionLane.d.ts.map +1 -1
  514. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -1
  515. package/lib/typescript/commonjs/ui/oauth/browserBridge.d.ts.map +1 -1
  516. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -1
  517. package/lib/typescript/commonjs/ui/oauth/nativeAuthTransport.d.ts.map +1 -1
  518. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -1
  519. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -1
  520. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -1
  521. package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -1
  522. package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts.map +1 -1
  523. package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  524. package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts.map +1 -1
  525. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  526. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  527. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  528. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  529. package/lib/typescript/commonjs/ui/screens/ChangeAvatarScreen.d.ts.map +1 -1
  530. package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  531. package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  532. package/lib/typescript/commonjs/ui/screens/DomainsScreen.d.ts.map +1 -1
  533. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  534. package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts.map +1 -1
  535. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  536. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  537. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  538. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  539. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  540. package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  541. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  542. package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
  543. package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  544. package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
  545. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  546. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  547. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  548. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  549. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  550. package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  551. package/lib/typescript/commonjs/ui/screens/fileManagement/FileLibraryError.d.ts.map +1 -1
  552. package/lib/typescript/commonjs/ui/screens/fileManagement/FileListSection.d.ts.map +1 -1
  553. package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
  554. package/lib/typescript/commonjs/ui/screens/fileManagement/UploadBar.d.ts.map +1 -1
  555. package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  556. package/lib/typescript/commonjs/ui/screens/fileManagement/photoGridLayout.d.ts.map +1 -1
  557. package/lib/typescript/commonjs/ui/screens/fileManagement/shared.d.ts.map +1 -1
  558. package/lib/typescript/commonjs/ui/screens/linkFormat.d.ts.map +1 -1
  559. package/lib/typescript/commonjs/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  560. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  561. package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  562. package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  563. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  564. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  565. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  566. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  567. package/lib/typescript/commonjs/ui/session/backgroundSession.d.ts.map +1 -1
  568. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  569. package/lib/typescript/commonjs/ui/session/deviceCredentialTracker.d.ts.map +1 -1
  570. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -1
  571. package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -1
  572. package/lib/typescript/commonjs/ui/session/tokenLossRecovery.d.ts.map +1 -1
  573. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  574. package/lib/typescript/commonjs/ui/stores/assetStore.d.ts.map +1 -1
  575. package/lib/typescript/commonjs/ui/stores/followStore.d.ts.map +1 -1
  576. package/lib/typescript/commonjs/ui/types/fileManagement.d.ts.map +1 -1
  577. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  578. package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts.map +1 -1
  579. package/lib/typescript/commonjs/ui/utils/accountDeletionHandoff.d.ts.map +1 -1
  580. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
  581. package/lib/typescript/commonjs/ui/utils/clipboard.native.d.ts +16 -5
  582. package/lib/typescript/commonjs/ui/utils/clipboard.native.d.ts.map +1 -1
  583. package/lib/typescript/commonjs/ui/utils/commonsStoreLinks.d.ts.map +1 -1
  584. package/lib/typescript/commonjs/ui/utils/errorHandlers.d.ts +1 -1
  585. package/lib/typescript/commonjs/ui/utils/errorHandlers.d.ts.map +1 -1
  586. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +4 -4
  587. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
  588. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts +1 -1
  589. package/lib/typescript/commonjs/ui/utils/sessionHelpers.d.ts.map +1 -1
  590. package/lib/typescript/commonjs/ui/utils/userUtils.d.ts.map +1 -1
  591. package/lib/typescript/commonjs/utils/hookUtils.d.ts.map +1 -1
  592. package/lib/typescript/module/assets/icons/OxyServices.d.ts.map +1 -1
  593. package/lib/typescript/module/assets/illustrations/HighFive.d.ts.map +1 -1
  594. package/lib/typescript/module/index.d.ts +4 -4
  595. package/lib/typescript/module/index.d.ts.map +1 -1
  596. package/lib/typescript/module/notifications/deviceNotifications.d.ts +8 -4
  597. package/lib/typescript/module/notifications/deviceNotifications.d.ts.map +1 -1
  598. package/lib/typescript/module/ui/analytics/productAnalytics.d.ts.map +1 -1
  599. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  600. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  601. package/lib/typescript/module/ui/components/BenefitList.d.ts.map +1 -1
  602. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  603. package/lib/typescript/module/ui/components/FollowTargetButton.d.ts +1 -1
  604. package/lib/typescript/module/ui/components/FollowTargetButton.d.ts.map +1 -1
  605. package/lib/typescript/module/ui/components/LanguageBridge.d.ts +1 -1
  606. package/lib/typescript/module/ui/components/LanguageBridge.d.ts.map +1 -1
  607. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  608. package/lib/typescript/module/ui/components/OxyAuthPrompt.d.ts.map +1 -1
  609. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
  610. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  611. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  612. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts.map +1 -1
  613. package/lib/typescript/module/ui/components/PeableButton.d.ts.map +1 -1
  614. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
  615. package/lib/typescript/module/ui/components/ProfileSummaryCard.d.ts.map +1 -1
  616. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts.map +1 -1
  617. package/lib/typescript/module/ui/components/SettingsIcon.d.ts.map +1 -1
  618. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts.map +1 -1
  619. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts +1 -1
  620. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -1
  621. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  622. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -1
  623. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
  624. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -1
  625. package/lib/typescript/module/ui/components/feedback/constants.d.ts.map +1 -1
  626. package/lib/typescript/module/ui/components/feedback/types.d.ts.map +1 -1
  627. package/lib/typescript/module/ui/components/feedback/useFeedbackForm.d.ts.map +1 -1
  628. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  629. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  630. package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  631. package/lib/typescript/module/ui/components/followButtonAccessibility.d.ts.map +1 -1
  632. package/lib/typescript/module/ui/components/followRules.d.ts.map +1 -1
  633. package/lib/typescript/module/ui/components/icon/FAIRWalletIcon.d.ts.map +1 -1
  634. package/lib/typescript/module/ui/components/logo/LogoText.d.ts.map +1 -1
  635. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  636. package/lib/typescript/module/ui/components/oauthNavigation.d.ts.map +1 -1
  637. package/lib/typescript/module/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -1
  638. package/lib/typescript/module/ui/components/payment/PaymentMethodStep.d.ts.map +1 -1
  639. package/lib/typescript/module/ui/components/payment/PaymentReviewStep.d.ts.map +1 -1
  640. package/lib/typescript/module/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -1
  641. package/lib/typescript/module/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
  642. package/lib/typescript/module/ui/components/payment/constants.d.ts.map +1 -1
  643. package/lib/typescript/module/ui/components/payment/paymentStyles.d.ts.map +1 -1
  644. package/lib/typescript/module/ui/components/payment/types.d.ts +6 -6
  645. package/lib/typescript/module/ui/components/payment/types.d.ts.map +1 -1
  646. package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
  647. package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -1
  648. package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -1
  649. package/lib/typescript/module/ui/components/signIn/OxyAuthScreen.d.ts.map +1 -1
  650. package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -1
  651. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  652. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  653. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -1
  654. package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts.map +1 -1
  655. package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -1
  656. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts.map +1 -1
  657. package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  658. package/lib/typescript/module/ui/components/signIn/artwork.d.ts.map +1 -1
  659. package/lib/typescript/module/ui/components/signIn/signInFlowStore.d.ts.map +1 -1
  660. package/lib/typescript/module/ui/components/styles/overlay.d.ts.map +1 -1
  661. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -1
  662. package/lib/typescript/module/ui/components/utils/hasTouchHandler.d.ts.map +1 -1
  663. package/lib/typescript/module/ui/components/utils/roundLayoutSize.d.ts.map +1 -1
  664. package/lib/typescript/module/ui/components/utils/splitStyles.d.ts.map +1 -1
  665. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  666. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  667. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  668. package/lib/typescript/module/ui/context/isolatedOAuthSession.d.ts.map +1 -1
  669. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  670. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  671. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
  672. package/lib/typescript/module/ui/hooks/accountQueryPersistence.d.ts.map +1 -1
  673. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts.map +1 -1
  674. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  675. package/lib/typescript/module/ui/hooks/persistedQueryCache.d.ts.map +1 -1
  676. package/lib/typescript/module/ui/hooks/queries/paymentTypes.d.ts +2 -2
  677. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  678. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  679. package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
  680. package/lib/typescript/module/ui/hooks/queries/usePaymentQueries.d.ts.map +1 -1
  681. package/lib/typescript/module/ui/hooks/queries/usePersonalPlans.d.ts.map +1 -1
  682. package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  683. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  684. package/lib/typescript/module/ui/hooks/queries/userCache.d.ts +5 -5
  685. package/lib/typescript/module/ui/hooks/queries/userCache.d.ts.map +1 -1
  686. package/lib/typescript/module/ui/hooks/queryClient.d.ts.map +1 -1
  687. package/lib/typescript/module/ui/hooks/useAssets.d.ts.map +1 -1
  688. package/lib/typescript/module/ui/hooks/useAsyncAction.d.ts.map +1 -1
  689. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  690. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  691. package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
  692. package/lib/typescript/module/ui/hooks/useFollow.d.ts.map +1 -1
  693. package/lib/typescript/module/ui/hooks/useI18n.d.ts.map +1 -1
  694. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts.map +1 -1
  695. package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts.map +1 -1
  696. package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
  697. package/lib/typescript/module/ui/hooks/useSettingToggle.d.ts.map +1 -1
  698. package/lib/typescript/module/ui/hooks/useStorage.d.ts +1 -1
  699. package/lib/typescript/module/ui/hooks/useStorage.d.ts.map +1 -1
  700. package/lib/typescript/module/ui/hooks/useSurfaceFrameWidth.d.ts.map +1 -1
  701. package/lib/typescript/module/ui/icons/Ionicons.d.ts.map +1 -1
  702. package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
  703. package/lib/typescript/module/ui/icons/decorativeIconSet.d.ts.map +1 -1
  704. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  705. package/lib/typescript/module/ui/isFrontend.d.ts.map +1 -1
  706. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  707. package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -1
  708. package/lib/typescript/module/ui/oauth/applicationSessionLane.d.ts.map +1 -1
  709. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -1
  710. package/lib/typescript/module/ui/oauth/browserBridge.d.ts.map +1 -1
  711. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -1
  712. package/lib/typescript/module/ui/oauth/nativeAuthTransport.d.ts.map +1 -1
  713. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -1
  714. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -1
  715. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -1
  716. package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -1
  717. package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts.map +1 -1
  718. package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  719. package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts.map +1 -1
  720. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  721. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  722. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  723. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  724. package/lib/typescript/module/ui/screens/ChangeAvatarScreen.d.ts.map +1 -1
  725. package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  726. package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  727. package/lib/typescript/module/ui/screens/DomainsScreen.d.ts.map +1 -1
  728. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  729. package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts.map +1 -1
  730. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  731. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  732. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  733. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  734. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  735. package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  736. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  737. package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
  738. package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  739. package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
  740. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  741. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  742. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  743. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  744. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  745. package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  746. package/lib/typescript/module/ui/screens/fileManagement/FileLibraryError.d.ts.map +1 -1
  747. package/lib/typescript/module/ui/screens/fileManagement/FileListSection.d.ts.map +1 -1
  748. package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
  749. package/lib/typescript/module/ui/screens/fileManagement/UploadBar.d.ts.map +1 -1
  750. package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  751. package/lib/typescript/module/ui/screens/fileManagement/photoGridLayout.d.ts.map +1 -1
  752. package/lib/typescript/module/ui/screens/fileManagement/shared.d.ts.map +1 -1
  753. package/lib/typescript/module/ui/screens/linkFormat.d.ts.map +1 -1
  754. package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  755. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  756. package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  757. package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  758. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  759. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  760. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  761. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  762. package/lib/typescript/module/ui/session/backgroundSession.d.ts.map +1 -1
  763. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  764. package/lib/typescript/module/ui/session/deviceCredentialTracker.d.ts.map +1 -1
  765. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -1
  766. package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -1
  767. package/lib/typescript/module/ui/session/tokenLossRecovery.d.ts.map +1 -1
  768. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  769. package/lib/typescript/module/ui/stores/assetStore.d.ts.map +1 -1
  770. package/lib/typescript/module/ui/stores/followStore.d.ts.map +1 -1
  771. package/lib/typescript/module/ui/types/fileManagement.d.ts.map +1 -1
  772. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  773. package/lib/typescript/module/ui/types/surfaceScreen.d.ts.map +1 -1
  774. package/lib/typescript/module/ui/utils/accountDeletionHandoff.d.ts.map +1 -1
  775. package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
  776. package/lib/typescript/module/ui/utils/clipboard.native.d.ts +16 -5
  777. package/lib/typescript/module/ui/utils/clipboard.native.d.ts.map +1 -1
  778. package/lib/typescript/module/ui/utils/commonsStoreLinks.d.ts.map +1 -1
  779. package/lib/typescript/module/ui/utils/errorHandlers.d.ts +1 -1
  780. package/lib/typescript/module/ui/utils/errorHandlers.d.ts.map +1 -1
  781. package/lib/typescript/module/ui/utils/fileManagement.d.ts +4 -4
  782. package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
  783. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts +1 -1
  784. package/lib/typescript/module/ui/utils/sessionHelpers.d.ts.map +1 -1
  785. package/lib/typescript/module/ui/utils/userUtils.d.ts.map +1 -1
  786. package/lib/typescript/module/utils/hookUtils.d.ts.map +1 -1
  787. package/lib/typescript/types/expo-crypto.d.ts +2 -4
  788. package/lib/typescript/types/expo-document-picker.d.ts +27 -28
  789. package/lib/typescript/types/expo-image-picker.d.ts +27 -27
  790. package/lib/typescript/types/expo-secure-store.d.ts +11 -4
  791. package/lib/typescript/types/express.d.ts +22 -7
  792. package/package.json +4 -5
  793. package/src/assets/icons/OxyServices.tsx +42 -40
  794. package/src/assets/illustrations/HighFive.tsx +58 -31
  795. package/src/index.ts +99 -86
  796. package/src/notifications/deviceNotifications.ts +9 -7
  797. package/src/types/expo-crypto.d.ts +2 -4
  798. package/src/types/expo-document-picker.d.ts +27 -28
  799. package/src/types/expo-image-picker.d.ts +27 -27
  800. package/src/types/expo-secure-store.d.ts +11 -4
  801. package/src/types/express.d.ts +22 -7
  802. package/src/ui/analytics/productAnalytics.tsx +5 -5
  803. package/src/ui/boot/__tests__/coldBootNoIdpRedirect.test.ts +91 -29
  804. package/src/ui/boot/runProviderColdBoot.ts +12 -3
  805. package/src/ui/client.ts +31 -31
  806. package/src/ui/components/BenefitList.tsx +78 -77
  807. package/src/ui/components/BloomLocaleBridge.tsx +3 -3
  808. package/src/ui/components/FollowButton.tsx +88 -84
  809. package/src/ui/components/FollowTargetButton.tsx +15 -6
  810. package/src/ui/components/LanguageBridge.tsx +24 -19
  811. package/src/ui/components/OxyAuthChooser.tsx +17 -3
  812. package/src/ui/components/OxyAuthPrompt.tsx +79 -98
  813. package/src/ui/components/OxyConsentScreen.tsx +51 -12
  814. package/src/ui/components/OxyProvider.tsx +189 -182
  815. package/src/ui/components/OxySignInButton.tsx +415 -405
  816. package/src/ui/components/OxySignInRequestSurface.tsx +7 -1
  817. package/src/ui/components/PeableButton.tsx +57 -49
  818. package/src/ui/components/ProfileButton.tsx +158 -109
  819. package/src/ui/components/ProfileSummaryCard.tsx +64 -64
  820. package/src/ui/components/RequireOxyAuth.tsx +15 -3
  821. package/src/ui/components/SettingsIcon.tsx +24 -19
  822. package/src/ui/components/SurfaceHeaderAction.tsx +6 -1
  823. package/src/ui/components/SurfaceScreen.tsx +21 -16
  824. package/src/ui/components/__tests__/BloomLocaleBridge.test.tsx +1 -1
  825. package/src/ui/components/__tests__/LanguageBridge.test.tsx +15 -5
  826. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +21 -11
  827. package/src/ui/components/__tests__/followButtonAccessibility.test.tsx +42 -15
  828. package/src/ui/components/__tests__/followTargetButton.test.ts +23 -20
  829. package/src/ui/components/authChooser/AccountsMenuView.tsx +70 -56
  830. package/src/ui/components/authChooser/TroubleDisclosure.tsx +6 -1
  831. package/src/ui/components/authChooser/requestSurfaces.tsx +3 -1
  832. package/src/ui/components/authChooser/types.ts +6 -1
  833. package/src/ui/components/feedback/constants.ts +36 -12
  834. package/src/ui/components/feedback/types.ts +30 -30
  835. package/src/ui/components/feedback/useFeedbackForm.ts +38 -35
  836. package/src/ui/components/fileManagement/FileDetailsModal.tsx +86 -92
  837. package/src/ui/components/fileManagement/FileViewer.tsx +362 -338
  838. package/src/ui/components/fileManagement/UploadPreview.tsx +134 -127
  839. package/src/ui/components/followButtonAccessibility.ts +6 -2
  840. package/src/ui/components/followRules.ts +6 -2
  841. package/src/ui/components/icon/FAIRWalletIcon.tsx +47 -35
  842. package/src/ui/components/logo/LogoText.tsx +6 -1
  843. package/src/ui/components/modals/DeleteAccountModal.tsx +89 -83
  844. package/src/ui/components/oauthNavigation.ts +54 -56
  845. package/src/ui/components/payment/PaymentDetailsStep.tsx +269 -201
  846. package/src/ui/components/payment/PaymentMethodStep.tsx +88 -68
  847. package/src/ui/components/payment/PaymentReviewStep.tsx +119 -102
  848. package/src/ui/components/payment/PaymentSuccessStep.tsx +48 -48
  849. package/src/ui/components/payment/PaymentSummaryStep.tsx +167 -124
  850. package/src/ui/components/payment/constants.ts +38 -23
  851. package/src/ui/components/payment/paymentStyles.ts +252 -251
  852. package/src/ui/components/payment/types.ts +24 -24
  853. package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +207 -183
  854. package/src/ui/components/photogrid/__tests__/chunkPhotos.test.ts +32 -33
  855. package/src/ui/components/signIn/InlineCommonsQr.tsx +14 -6
  856. package/src/ui/components/signIn/OxyAccountPicker.tsx +19 -4
  857. package/src/ui/components/signIn/OxyAuthScreen.tsx +21 -11
  858. package/src/ui/components/signIn/OxyAuthenticatorPanel.tsx +47 -13
  859. package/src/ui/components/signIn/OxyDeleteAccountPanel.tsx +14 -4
  860. package/src/ui/components/signIn/OxyLinkCommonsPanel.tsx +69 -15
  861. package/src/ui/components/signIn/OxyPasswordPanel.tsx +19 -4
  862. package/src/ui/components/signIn/OxySignInPanel.tsx +74 -21
  863. package/src/ui/components/signIn/OxySignUpPanel.tsx +60 -12
  864. package/src/ui/components/signIn/ReauthStep.tsx +26 -5
  865. package/src/ui/components/signIn/accountFlowParts.tsx +45 -16
  866. package/src/ui/components/signIn/artwork.ts +3 -1
  867. package/src/ui/components/signIn/signInFlowStore.ts +5 -1
  868. package/src/ui/components/styles/overlay.tsx +10 -11
  869. package/src/ui/components/styles/shadow.tsx +59 -59
  870. package/src/ui/components/surfaces/ActionSheetSurface.tsx +51 -61
  871. package/src/ui/components/utils/hasTouchHandler.tsx +3 -13
  872. package/src/ui/components/utils/roundLayoutSize.ts +1 -2
  873. package/src/ui/components/utils/splitStyles.ts +2 -5
  874. package/src/ui/constants/spacing.ts +8 -9
  875. package/src/ui/context/OxyContext.tsx +324 -140
  876. package/src/ui/context/__tests__/commitSessionFlow.test.ts +8 -3
  877. package/src/ui/context/__tests__/isolatedOAuthSession.test.ts +11 -3
  878. package/src/ui/context/commitSessionFlow.ts +15 -3
  879. package/src/ui/context/hooks/useAuthOperations.ts +54 -16
  880. package/src/ui/context/isolatedOAuthSession.ts +4 -1
  881. package/src/ui/context/oxyContextTypes.ts +26 -9
  882. package/src/ui/context/useOxyAccountGraph.ts +26 -4
  883. package/src/ui/hooks/accountDialogSnapshot.ts +3 -1
  884. package/src/ui/hooks/accountQueryPersistence.ts +16 -5
  885. package/src/ui/hooks/mutations/mutationFactory.ts +11 -6
  886. package/src/ui/hooks/mutations/useAccountMutations.ts +77 -54
  887. package/src/ui/hooks/mutations/useServicesMutations.ts +10 -11
  888. package/src/ui/hooks/persistedQueryCache.ts +10 -2
  889. package/src/ui/hooks/queries/__tests__/userCache.test.ts +72 -17
  890. package/src/ui/hooks/queries/__tests__/userCacheClear.test.ts +18 -23
  891. package/src/ui/hooks/queries/paymentTypes.ts +2 -2
  892. package/src/ui/hooks/queries/queryKeys.ts +5 -5
  893. package/src/ui/hooks/queries/useAccountQueries.ts +12 -17
  894. package/src/ui/hooks/queries/useFileQueries.ts +88 -92
  895. package/src/ui/hooks/queries/usePaymentQueries.ts +13 -26
  896. package/src/ui/hooks/queries/usePersonalPlans.ts +14 -6
  897. package/src/ui/hooks/queries/useSecurityQueries.ts +16 -29
  898. package/src/ui/hooks/queries/useServicesQueries.ts +17 -23
  899. package/src/ui/hooks/queries/userCache.ts +249 -270
  900. package/src/ui/hooks/queryClient.ts +9 -5
  901. package/src/ui/hooks/useAssets.ts +166 -160
  902. package/src/ui/hooks/useAsyncAction.ts +92 -91
  903. package/src/ui/hooks/useAuth.ts +45 -42
  904. package/src/ui/hooks/useAvatarPicker.ts +2 -5
  905. package/src/ui/hooks/useDeviceManagement.ts +0 -2
  906. package/src/ui/hooks/useDeviceSwitcher.ts +73 -68
  907. package/src/ui/hooks/useFileFiltering.ts +2 -2
  908. package/src/ui/hooks/useFollow.ts +139 -67
  909. package/src/ui/hooks/useFollowTarget.ts +11 -11
  910. package/src/ui/hooks/useI18n.ts +7 -2
  911. package/src/ui/hooks/useProfileEditing.ts +167 -155
  912. package/src/ui/hooks/useQueryClient.ts +2 -3
  913. package/src/ui/hooks/useReduceMotion.ts +21 -21
  914. package/src/ui/hooks/useResolvedFileUrls.ts +5 -1
  915. package/src/ui/hooks/useSessionManagement.ts +3 -1
  916. package/src/ui/hooks/useSettingToggle.ts +122 -114
  917. package/src/ui/hooks/useStorage.ts +1 -4
  918. package/src/ui/hooks/useSurfaceFrameWidth.ts +3 -1
  919. package/src/ui/icons/Ionicons.ts +1 -5
  920. package/src/ui/icons/MaterialCommunityIcons.ts +1 -5
  921. package/src/ui/icons/__tests__/decorativeIconSet.test.tsx +3 -1
  922. package/src/ui/icons/decorativeIconSet.ts +13 -2
  923. package/src/ui/index.ts +4 -4
  924. package/src/ui/isFrontend.ts +3 -2
  925. package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +83 -83
  926. package/src/ui/navigation/__tests__/surfaceNavStack.test.ts +8 -2
  927. package/src/ui/navigation/bottomSheetManager.ts +1 -1
  928. package/src/ui/navigation/routes.ts +90 -88
  929. package/src/ui/navigation/surfaces.ts +7 -6
  930. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +18 -11
  931. package/src/ui/oauth/__tests__/browserBridge.test.ts +108 -21
  932. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +9 -6
  933. package/src/ui/oauth/__tests__/explicitOAuthConsent.test.ts +222 -241
  934. package/src/ui/oauth/__tests__/nativeAuthTransport.test.ts +118 -35
  935. package/src/ui/oauth/__tests__/oauthBearerCommit.http.test.ts +60 -18
  936. package/src/ui/oauth/__tests__/oauthPopup.test.ts +2 -7
  937. package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +9 -7
  938. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +4 -5
  939. package/src/ui/oauth/applicationSessionLane.ts +12 -3
  940. package/src/ui/oauth/browserAuthTransport.ts +15 -7
  941. package/src/ui/oauth/browserBridge.ts +22 -5
  942. package/src/ui/oauth/completeOAuthCode.ts +9 -6
  943. package/src/ui/oauth/nativeAuthTransport.ts +73 -20
  944. package/src/ui/oauth/oauthHandshake.ts +6 -1
  945. package/src/ui/oauth/oauthPopup.ts +6 -4
  946. package/src/ui/oauth/oauthPopupMessages.ts +3 -4
  947. package/src/ui/oauth/types.ts +1 -3
  948. package/src/ui/runtime/createOxyRuntime.ts +21 -4
  949. package/src/ui/screens/AccountMembersScreen.tsx +274 -204
  950. package/src/ui/screens/AccountSecurityPanelScreen.tsx +3 -1
  951. package/src/ui/screens/AccountSettingsScreen.tsx +133 -113
  952. package/src/ui/screens/AccountVerificationScreen.tsx +176 -161
  953. package/src/ui/screens/AppInfoScreen.tsx +360 -304
  954. package/src/ui/screens/AvatarCropScreen.tsx +977 -988
  955. package/src/ui/screens/ChangeAvatarScreen.tsx +257 -253
  956. package/src/ui/screens/ConnectedAppsScreen.tsx +117 -130
  957. package/src/ui/screens/CreateAccountScreen.tsx +173 -129
  958. package/src/ui/screens/DomainsScreen.tsx +157 -140
  959. package/src/ui/screens/EditProfileFieldScreen.tsx +693 -663
  960. package/src/ui/screens/EditProfileScreen.tsx +106 -100
  961. package/src/ui/screens/FileManagementScreen.tsx +1505 -1162
  962. package/src/ui/screens/HelpSupportScreen.tsx +88 -75
  963. package/src/ui/screens/HistoryViewScreen.tsx +143 -102
  964. package/src/ui/screens/LanguageSelectorScreen.tsx +206 -199
  965. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +92 -110
  966. package/src/ui/screens/LegalDocumentsScreen.tsx +134 -193
  967. package/src/ui/screens/ManageAccountScreen.tsx +649 -871
  968. package/src/ui/screens/NotificationsScreen.tsx +111 -143
  969. package/src/ui/screens/PaymentGatewayScreen.tsx +229 -244
  970. package/src/ui/screens/PreferencesScreen.tsx +153 -196
  971. package/src/ui/screens/PrivacySettingsScreen.tsx +509 -351
  972. package/src/ui/screens/ProfileScreen.tsx +416 -319
  973. package/src/ui/screens/SearchSettingsScreen.tsx +100 -98
  974. package/src/ui/screens/UserLinksScreen.tsx +48 -43
  975. package/src/ui/screens/UserListScreen.tsx +53 -30
  976. package/src/ui/screens/WelcomeNewUserScreen.tsx +430 -334
  977. package/src/ui/screens/__tests__/linkFormat.test.ts +58 -62
  978. package/src/ui/screens/__tests__/photoGridLayout.test.ts +43 -47
  979. package/src/ui/screens/fileManagement/FileLibraryError.tsx +33 -27
  980. package/src/ui/screens/fileManagement/FileListSection.tsx +96 -87
  981. package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +508 -475
  982. package/src/ui/screens/fileManagement/UploadBar.tsx +26 -16
  983. package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +514 -490
  984. package/src/ui/screens/fileManagement/photoGridLayout.ts +13 -13
  985. package/src/ui/screens/fileManagement/shared.ts +40 -38
  986. package/src/ui/screens/linkFormat.ts +14 -14
  987. package/src/ui/screens/trust/TrustAboutScreen.tsx +53 -51
  988. package/src/ui/screens/trust/TrustCenterScreen.tsx +156 -214
  989. package/src/ui/screens/trust/TrustFAQScreen.tsx +60 -67
  990. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +183 -183
  991. package/src/ui/screens/trust/TrustRewardsScreen.tsx +495 -494
  992. package/src/ui/screens/trust/TrustRulesScreen.tsx +84 -85
  993. package/src/ui/server.ts +12 -15
  994. package/src/ui/session/__tests__/authStore.test.ts +6 -1
  995. package/src/ui/session/__tests__/createSessionClient.test.ts +22 -8
  996. package/src/ui/session/__tests__/sharedDeviceCredentialStore.test.ts +24 -6
  997. package/src/ui/session/__tests__/tokenLossRecovery.test.ts +3 -1
  998. package/src/ui/session/__tests__/tokenTransport.test.ts +9 -2
  999. package/src/ui/session/authStore.ts +7 -1
  1000. package/src/ui/session/backgroundSession.ts +4 -3
  1001. package/src/ui/session/createSessionClient.ts +17 -5
  1002. package/src/ui/session/deviceCredentialTracker.ts +12 -6
  1003. package/src/ui/session/identityBinding.ts +6 -1
  1004. package/src/ui/session/sharedDeviceCredentialStore.ts +15 -4
  1005. package/src/ui/session/tokenLossRecovery.ts +24 -10
  1006. package/src/ui/session/tokenTransport.ts +5 -1
  1007. package/src/ui/stores/__tests__/followStore.test.ts +20 -7
  1008. package/src/ui/stores/assetStore.ts +209 -207
  1009. package/src/ui/stores/followStore.ts +80 -39
  1010. package/src/ui/stores/followTargetStore.ts +1 -1
  1011. package/src/ui/types/fileManagement.ts +48 -49
  1012. package/src/ui/types/navigation.ts +168 -168
  1013. package/src/ui/types/surfaceScreen.ts +4 -1
  1014. package/src/ui/utils/__tests__/deviceSessionTitle.test.ts +4 -2
  1015. package/src/ui/utils/accountDeletionHandoff.ts +14 -3
  1016. package/src/ui/utils/avatarUtils.ts +7 -6
  1017. package/src/ui/utils/clipboard.native.ts +23 -6
  1018. package/src/ui/utils/commonsStoreLinks.ts +2 -1
  1019. package/src/ui/utils/errorHandlers.ts +7 -12
  1020. package/src/ui/utils/fileManagement.ts +92 -103
  1021. package/src/ui/utils/iconNames.ts +60 -60
  1022. package/src/ui/utils/sessionHelpers.ts +1 -6
  1023. package/src/ui/utils/storageHelpers.ts +0 -1
  1024. package/src/ui/utils/userUtils.ts +2 -6
  1025. package/src/utils/hookUtils.ts +77 -65
@@ -3,20 +3,20 @@ import type React from 'react';
3
3
  import { useCallback, useState, useEffect, useRef } from 'react';
4
4
  import { type ViewStyle, type TextStyle, type StyleProp, Platform } from 'react-native';
5
5
  import {
6
- logger,
7
- generatePkcePair,
8
- generateOAuthState,
9
- buildOAuthAuthorizeUrl,
10
- type PublicApplication,
6
+ logger,
7
+ generatePkcePair,
8
+ generateOAuthState,
9
+ buildOAuthAuthorizeUrl,
10
+ type PublicApplication,
11
11
  } from '@oxy.so/core';
12
12
  import { useAuthStore } from '../stores/authStore';
13
13
  import { useShallow } from 'zustand/react/shallow';
14
14
  import {
15
- SocialButton,
16
- socialButtonLabel,
17
- type SocialButtonAction,
18
- type SocialButtonAppearance,
19
- type SocialButtonSize,
15
+ SocialButton,
16
+ socialButtonLabel,
17
+ type SocialButtonAction,
18
+ type SocialButtonAppearance,
19
+ type SocialButtonSize,
20
20
  } from '@oxy.so/bloom/social-button';
21
21
  import { toast } from '@oxy.so/bloom/toast';
22
22
  import { useOxy } from '../context/OxyContext';
@@ -33,124 +33,124 @@ import type { OAuthPopupHandle } from '../oauth/types';
33
33
  * transport (`useOxy().startWebOAuthSignIn`) and never uses this callback.
34
34
  */
35
35
  export interface OxyOAuthResult {
36
- /** Deep-link URL the native auth session returned to (`?code=…&state=…`), or `null` if unobserved. */
37
- redirectUrl: string | null;
38
- /** The CSRF `state` sent on the authorize request; the RP must match it on return. */
39
- state: string;
40
- /** The PKCE `code_verifier` to replay on the token exchange. */
41
- codeVerifier: string;
36
+ /** Deep-link URL the native auth session returned to (`?code=…&state=…`), or `null` if unobserved. */
37
+ redirectUrl: string | null;
38
+ /** The CSRF `state` sent on the authorize request; the RP must match it on return. */
39
+ state: string;
40
+ /** The PKCE `code_verifier` to replay on the token exchange. */
41
+ codeVerifier: string;
42
42
  }
43
43
 
44
44
  /** The label's verb: "Sign in with Oxy", "Continue with Oxy" or "Sign up with Oxy". */
45
45
  export type OxySignInButtonAction = SocialButtonAction;
46
46
 
47
47
  export interface OxySignInButtonProps {
48
- /**
49
- * Shorthand for {@link OxySignInButtonProps.appearance}: `contained` is the
50
- * filled button in the theme accent (`colorful`); `default` and `outline`
51
- * are the outlined button with the Oxy mark (`white`).
52
- * @default 'default'
53
- */
54
- variant?: 'default' | 'outline' | 'contained';
55
-
56
- /**
57
- * Bloom `SocialButton` appearance — `colorful`, `white` or `black`. Wins
58
- * over `variant` when both are given.
59
- */
60
- appearance?: SocialButtonAppearance;
61
-
62
- /**
63
- * The label's verb, localized: `signIn` — "Sign in with Oxy", `continue` —
64
- * "Continue with Oxy", `signUp` — "Sign up with Oxy".
65
- * @default 'signIn'
66
- */
67
- action?: OxySignInButtonAction;
68
-
69
- /** `md` (36 tall, 300 wide) or `sm` (32 × 250). @default 'md' */
70
- size?: SocialButtonSize;
71
-
72
- /** Fill the container's width instead of the fixed 300 / 250. */
73
- fullWidth?: boolean;
74
-
75
- /** A circular button showing only the Oxy mark; the label becomes its accessible name. */
76
- iconOnly?: boolean;
77
-
78
- /**
79
- * Optional function to handle button press
80
- * If not provided, the button will use the showBottomSheet method from OxyContext
81
- */
82
- onPress?: () => void;
83
-
84
- /**
85
- * Additional styles for the button container
86
- */
87
- style?: StyleProp<ViewStyle>;
88
-
89
- /**
90
- * Additional styles for the button text
91
- */
92
- textStyle?: StyleProp<TextStyle>;
93
-
94
- /**
95
- * Overrides the button label. When omitted the label is the localized
96
- * {@link OxySignInButtonProps.action} phrase.
97
- *
98
- * @default localized "Sign in with Oxy"
99
- */
100
- text?: string;
101
-
102
- /**
103
- * Whether to disable the button
104
- * @default false
105
- */
106
- disabled?: boolean;
107
-
108
- /**
109
- * Whether to show the button even if user is already authenticated
110
- * @default false
111
- */
112
- showWhenAuthenticated?: boolean;
113
-
114
- /**
115
- * Exact registered redirect URI the OAuth authorization code is returned to.
116
- * REQUIRED only for third-party (`type: 'third_party'`) applications, which
117
- * sign in via OAuth + PKCE against `auth.oxy.so`. First-party / official apps
118
- * open the in-app dialog and ignore this prop. If a third-party app resolves
119
- * without it, the button logs an error and does nothing (it will not invent a
120
- * redirect URI).
121
- */
122
- oauthRedirectUri?: string;
123
-
124
- /**
125
- * Native only: receives the OAuth handshake after a third-party auth session
126
- * so the RP can finish the token exchange. On web the SDK completes the flow
127
- * itself — the popup transport keeps the handshake in memory, and the
128
- * redirect transport reads it back from `sessionStorage` — so this is never
129
- * called there. A native third-party sign-in with NO `onOAuthResult` handler
130
- * cannot complete (the `state` + `code_verifier` are lost) and logs a warning.
131
- *
132
- * @example
133
- * ```tsx
134
- * <OxySignInButton
135
- * oauthRedirectUri="myapp://oauth/callback"
136
- * onOAuthResult={({ redirectUrl, state, codeVerifier }) => {
137
- * if (!redirectUrl) return;
138
- * const code = new URL(redirectUrl).searchParams.get('code');
139
- * // → POST /auth/oauth/token, form-urlencoded:
140
- * // grant_type=authorization_code&code=…&redirect_uri=…&client_id=…&code_verifier=…
141
- * }}
142
- * />
143
- * ```
144
- */
145
- onOAuthResult?: (result: OxyOAuthResult) => void;
146
- /** Opt in to the shared SDK native finalizer. Mutually exclusive with onOAuthResult. */
147
- nativeOAuthCompletion?: 'sdk';
48
+ /**
49
+ * Shorthand for {@link OxySignInButtonProps.appearance}: `contained` is the
50
+ * filled button in the theme accent (`colorful`); `default` and `outline`
51
+ * are the outlined button with the Oxy mark (`white`).
52
+ * @default 'default'
53
+ */
54
+ variant?: 'default' | 'outline' | 'contained';
55
+
56
+ /**
57
+ * Bloom `SocialButton` appearance — `colorful`, `white` or `black`. Wins
58
+ * over `variant` when both are given.
59
+ */
60
+ appearance?: SocialButtonAppearance;
61
+
62
+ /**
63
+ * The label's verb, localized: `signIn` — "Sign in with Oxy", `continue` —
64
+ * "Continue with Oxy", `signUp` — "Sign up with Oxy".
65
+ * @default 'signIn'
66
+ */
67
+ action?: OxySignInButtonAction;
68
+
69
+ /** `md` (36 tall, 300 wide) or `sm` (32 × 250). @default 'md' */
70
+ size?: SocialButtonSize;
71
+
72
+ /** Fill the container's width instead of the fixed 300 / 250. */
73
+ fullWidth?: boolean;
74
+
75
+ /** A circular button showing only the Oxy mark; the label becomes its accessible name. */
76
+ iconOnly?: boolean;
77
+
78
+ /**
79
+ * Optional function to handle button press
80
+ * If not provided, the button will use the showBottomSheet method from OxyContext
81
+ */
82
+ onPress?: () => void;
83
+
84
+ /**
85
+ * Additional styles for the button container
86
+ */
87
+ style?: StyleProp<ViewStyle>;
88
+
89
+ /**
90
+ * Additional styles for the button text
91
+ */
92
+ textStyle?: StyleProp<TextStyle>;
93
+
94
+ /**
95
+ * Overrides the button label. When omitted the label is the localized
96
+ * {@link OxySignInButtonProps.action} phrase.
97
+ *
98
+ * @default localized "Sign in with Oxy"
99
+ */
100
+ text?: string;
101
+
102
+ /**
103
+ * Whether to disable the button
104
+ * @default false
105
+ */
106
+ disabled?: boolean;
107
+
108
+ /**
109
+ * Whether to show the button even if user is already authenticated
110
+ * @default false
111
+ */
112
+ showWhenAuthenticated?: boolean;
113
+
114
+ /**
115
+ * Exact registered redirect URI the OAuth authorization code is returned to.
116
+ * REQUIRED only for third-party (`type: 'third_party'`) applications, which
117
+ * sign in via OAuth + PKCE against `auth.oxy.so`. First-party / official apps
118
+ * open the in-app dialog and ignore this prop. If a third-party app resolves
119
+ * without it, the button logs an error and does nothing (it will not invent a
120
+ * redirect URI).
121
+ */
122
+ oauthRedirectUri?: string;
123
+
124
+ /**
125
+ * Native only: receives the OAuth handshake after a third-party auth session
126
+ * so the RP can finish the token exchange. On web the SDK completes the flow
127
+ * itself — the popup transport keeps the handshake in memory, and the
128
+ * redirect transport reads it back from `sessionStorage` — so this is never
129
+ * called there. A native third-party sign-in with NO `onOAuthResult` handler
130
+ * cannot complete (the `state` + `code_verifier` are lost) and logs a warning.
131
+ *
132
+ * @example
133
+ * ```tsx
134
+ * <OxySignInButton
135
+ * oauthRedirectUri="myapp://oauth/callback"
136
+ * onOAuthResult={({ redirectUrl, state, codeVerifier }) => {
137
+ * if (!redirectUrl) return;
138
+ * const code = new URL(redirectUrl).searchParams.get('code');
139
+ * // → POST /auth/oauth/token, form-urlencoded:
140
+ * // grant_type=authorization_code&code=…&redirect_uri=…&client_id=…&code_verifier=…
141
+ * }}
142
+ * />
143
+ * ```
144
+ */
145
+ onOAuthResult?: (result: OxyOAuthResult) => void;
146
+ /** Opt in to the shared SDK native finalizer. Mutually exclusive with onOAuthResult. */
147
+ nativeOAuthCompletion?: 'sdk';
148
148
  }
149
149
 
150
150
  const ACTION_KEYS: Record<OxySignInButtonAction, string> = {
151
- signIn: 'accountSwitcher.signInWithOxy',
152
- continue: 'accountSwitcher.continueWithOxy',
153
- signUp: 'accountSwitcher.signUpWithOxy',
151
+ signIn: 'accountSwitcher.signInWithOxy',
152
+ continue: 'accountSwitcher.continueWithOxy',
153
+ signUp: 'accountSwitcher.signUpWithOxy',
154
154
  };
155
155
 
156
156
  /**
@@ -177,295 +177,305 @@ const ACTION_KEYS: Record<OxySignInButtonAction, string> = {
177
177
  * ```
178
178
  */
179
179
  export const OxySignInButton: React.FC<OxySignInButtonProps> = ({
180
- variant = 'default',
181
- appearance,
182
- action = 'signIn',
183
- size = 'md',
184
- fullWidth = false,
185
- iconOnly = false,
186
- onPress,
187
- style,
188
- textStyle,
189
- text,
190
- disabled = false,
191
- showWhenAuthenticated = false,
192
- oauthRedirectUri,
193
- onOAuthResult,
194
- nativeOAuthCompletion,
180
+ variant = 'default',
181
+ appearance,
182
+ action = 'signIn',
183
+ size = 'md',
184
+ fullWidth = false,
185
+ iconOnly = false,
186
+ onPress,
187
+ style,
188
+ textStyle,
189
+ text,
190
+ disabled = false,
191
+ showWhenAuthenticated = false,
192
+ oauthRedirectUri,
193
+ onOAuthResult,
194
+ nativeOAuthCompletion,
195
195
  }) => {
196
- const { t } = useI18n();
197
- const { openAccountDialog, oxyServices, clientId, webAuthMode, startWebOAuthSignIn, startNativeOAuthSignIn } = useOxy();
198
- const { isAuthenticated, isLoading } = useAuthStore(
199
- useShallow((state) => ({ isAuthenticated: state.isAuthenticated, isLoading: state.isLoading }))
200
- );
201
- // Tracks whether the unified account dialog is open so we can show
202
- // "Signing in..." while it is. The manager reports visibility on every
203
- // change regardless of platform or what opened/closed it.
204
- const [isModalOpen, setIsModalOpen] = useState(false);
205
-
206
- useEffect(() => subscribeToAccountDialog(setIsModalOpen), []);
207
-
208
- // The application's public identity is resolved lazily on first press and its
209
- // promise cached, so rapid taps share one in-flight resolve. The cache is
210
- // KEYED on the identity inputs (clientId + the oxyServices instance): if
211
- // either changes the cache is invalidated and re-resolved — without a
212
- // useEffect. A rejected resolve clears the cache so a later press can retry.
213
- const appResolutionRef = useRef<{
214
- clientId: string;
215
- oxyServices: typeof oxyServices;
216
- promise: Promise<PublicApplication>;
217
- } | null>(null);
218
- // Re-entrancy guard: a routing pass may await network + crypto before it
219
- // redirects, so block a second concurrent press from racing the sessionStorage
220
- // handshake against a different PKCE pair.
221
- const routingRef = useRef(false);
222
- // Popup mode only opens a window for applications that could actually need
223
- // one: `oauthRedirectUri` is required for (and only for) third-party OAuth,
224
- // so an official app never flashes a popup open and closed while its
225
- // in-app dialog loads.
226
- const shouldPreOpenPopup =
227
- Platform.OS === 'web' && webAuthMode === 'popup' && Boolean(oauthRedirectUri);
228
-
229
- const resolvePublicApplication = useCallback((): Promise<PublicApplication> | null => {
230
- if (!clientId) return null;
231
- const cached = appResolutionRef.current;
232
- if (cached && cached.clientId === clientId && cached.oxyServices === oxyServices) {
233
- return cached.promise;
234
- }
235
- const promise = oxyServices.apps.getPublic(clientId, { cache: false }).catch((error) => {
236
- // Only clear if this is still the live entry (a later resolve may have
237
- // replaced it after a clientId/oxyServices change).
238
- if (appResolutionRef.current?.promise === promise) {
239
- appResolutionRef.current = null;
240
- }
241
- throw error;
242
- });
243
- appResolutionRef.current = { clientId, oxyServices, promise };
244
- return promise;
245
- }, [clientId, oxyServices]);
246
-
247
- // A press that cannot reach a sign-in surface must SAY so. Without this the
248
- // only trace of an aborted sign-in was a console line, so the button read as
249
- // simply dead — the SDK owns this so no relying party has to wire it up.
250
- // `ToastOutlet` is already mounted by `OxyProvider`.
251
- const notifyNotConfigured = useCallback(
252
- (appName: string) => {
253
- toast.error(t('signin.errors.notConfigured'), {
254
- description: t('signin.errors.notConfiguredDescription', { app: appName }),
255
- });
256
- },
257
- [t],
258
- );
259
- const notifyFailed = useCallback(() => {
260
- toast.error(t('signin.errors.failed'), {
261
- description: t('signin.errors.failedDescription'),
196
+ const { t } = useI18n();
197
+ const {
198
+ openAccountDialog,
199
+ oxyServices,
200
+ clientId,
201
+ webAuthMode,
202
+ startWebOAuthSignIn,
203
+ startNativeOAuthSignIn,
204
+ } = useOxy();
205
+ const { isAuthenticated, isLoading } = useAuthStore(
206
+ useShallow((state) => ({ isAuthenticated: state.isAuthenticated, isLoading: state.isLoading })),
207
+ );
208
+ // Tracks whether the unified account dialog is open so we can show
209
+ // "Signing in..." while it is. The manager reports visibility on every
210
+ // change regardless of platform or what opened/closed it.
211
+ const [isModalOpen, setIsModalOpen] = useState(false);
212
+
213
+ useEffect(() => subscribeToAccountDialog(setIsModalOpen), []);
214
+
215
+ // The application's public identity is resolved lazily on first press and its
216
+ // promise cached, so rapid taps share one in-flight resolve. The cache is
217
+ // KEYED on the identity inputs (clientId + the oxyServices instance): if
218
+ // either changes the cache is invalidated and re-resolved — without a
219
+ // useEffect. A rejected resolve clears the cache so a later press can retry.
220
+ const appResolutionRef = useRef<{
221
+ clientId: string;
222
+ oxyServices: typeof oxyServices;
223
+ promise: Promise<PublicApplication>;
224
+ } | null>(null);
225
+ // Re-entrancy guard: a routing pass may await network + crypto before it
226
+ // redirects, so block a second concurrent press from racing the sessionStorage
227
+ // handshake against a different PKCE pair.
228
+ const routingRef = useRef(false);
229
+ // Popup mode only opens a window for applications that could actually need
230
+ // one: `oauthRedirectUri` is required for (and only for) third-party OAuth,
231
+ // so an official app never flashes a popup open and closed while its
232
+ // in-app dialog loads.
233
+ const shouldPreOpenPopup =
234
+ Platform.OS === 'web' && webAuthMode === 'popup' && Boolean(oauthRedirectUri);
235
+
236
+ const resolvePublicApplication = useCallback((): Promise<PublicApplication> | null => {
237
+ if (!clientId) return null;
238
+ const cached = appResolutionRef.current;
239
+ if (cached && cached.clientId === clientId && cached.oxyServices === oxyServices) {
240
+ return cached.promise;
241
+ }
242
+ const promise = oxyServices.apps.getPublic(clientId, { cache: false }).catch((error) => {
243
+ // Only clear if this is still the live entry (a later resolve may have
244
+ // replaced it after a clientId/oxyServices change).
245
+ if (appResolutionRef.current?.promise === promise) {
246
+ appResolutionRef.current = null;
247
+ }
248
+ throw error;
249
+ });
250
+ appResolutionRef.current = { clientId, oxyServices, promise };
251
+ return promise;
252
+ }, [clientId, oxyServices]);
253
+
254
+ // A press that cannot reach a sign-in surface must SAY so. Without this the
255
+ // only trace of an aborted sign-in was a console line, so the button read as
256
+ // simply dead — the SDK owns this so no relying party has to wire it up.
257
+ // `ToastOutlet` is already mounted by `OxyProvider`.
258
+ const notifyNotConfigured = useCallback(
259
+ (appName: string) => {
260
+ toast.error(t('signin.errors.notConfigured'), {
261
+ description: t('signin.errors.notConfiguredDescription', { app: appName }),
262
+ });
263
+ },
264
+ [t],
265
+ );
266
+ const notifyFailed = useCallback(() => {
267
+ toast.error(t('signin.errors.failed'), {
268
+ description: t('signin.errors.failedDescription'),
269
+ });
270
+ }, [t]);
271
+
272
+ // Official / first-party surface: the in-app account + sign-in dialog.
273
+ const startOfficialSignIn = useCallback(() => {
274
+ openAccountDialog('signin');
275
+ }, [openAccountDialog]);
276
+
277
+ // Third-party surface: an OAuth 2.0 authorization-code + PKCE flow against
278
+ // auth.oxy.so. No FedCM, no SSO bounce, no Oxy session cookies.
279
+ //
280
+ // Web delegates to the ONE shared transport (`startWebOAuthSignIn`), which
281
+ // owns popup-vs-redirect selection, the popup lifecycle, the code exchange,
282
+ // and the session commit. Native keeps its in-app auth session and hands the
283
+ // handshake to the RP, which owns that exchange.
284
+ const startThirdPartyOAuth = useCallback(
285
+ async (app: PublicApplication, popup: OAuthPopupHandle | null): Promise<void> => {
286
+ if (!clientId) {
287
+ closeOAuthPopup(popup);
288
+ startOfficialSignIn();
289
+ return;
290
+ }
291
+ if (!oauthRedirectUri) {
292
+ closeOAuthPopup(popup);
293
+ logger.error(
294
+ 'OxySignInButton: a third_party application requires the `oauthRedirectUri` prop to start the OAuth flow; sign-in aborted',
295
+ undefined,
296
+ { component: 'OxySignInButton', clientId, application: app.name },
297
+ );
298
+ notifyNotConfigured(app.name);
299
+ return;
300
+ }
301
+
302
+ if (Platform.OS === 'web') {
303
+ const result = await startWebOAuthSignIn({
304
+ redirectUri: oauthRedirectUri,
305
+ // In popup mode the window was claimed during the press (see
306
+ // `handlePress`); `null` means the browser blocked it and the
307
+ // transport falls back to a redirect. `undefined` (redirect
308
+ // mode) lets the transport decide for itself.
309
+ ...(shouldPreOpenPopup ? { popup } : {}),
262
310
  });
263
- }, [t]);
264
-
265
- // Official / first-party surface: the in-app account + sign-in dialog.
266
- const startOfficialSignIn = useCallback(() => {
267
- openAccountDialog('signin');
268
- }, [openAccountDialog]);
269
-
270
- // Third-party surface: an OAuth 2.0 authorization-code + PKCE flow against
271
- // auth.oxy.so. No FedCM, no SSO bounce, no Oxy session cookies.
272
- //
273
- // Web delegates to the ONE shared transport (`startWebOAuthSignIn`), which
274
- // owns popup-vs-redirect selection, the popup lifecycle, the code exchange,
275
- // and the session commit. Native keeps its in-app auth session and hands the
276
- // handshake to the RP, which owns that exchange.
277
- const startThirdPartyOAuth = useCallback(
278
- async (app: PublicApplication, popup: OAuthPopupHandle | null): Promise<void> => {
279
- if (!clientId) {
280
- closeOAuthPopup(popup);
281
- startOfficialSignIn();
282
- return;
283
- }
284
- if (!oauthRedirectUri) {
285
- closeOAuthPopup(popup);
286
- logger.error(
287
- 'OxySignInButton: a third_party application requires the `oauthRedirectUri` prop to start the OAuth flow; sign-in aborted',
288
- undefined,
289
- { component: 'OxySignInButton', clientId, application: app.name },
290
- );
291
- notifyNotConfigured(app.name);
292
- return;
293
- }
294
-
295
- if (Platform.OS === 'web') {
296
- const result = await startWebOAuthSignIn({
297
- redirectUri: oauthRedirectUri,
298
- // In popup mode the window was claimed during the press (see
299
- // `handlePress`); `null` means the browser blocked it and the
300
- // transport falls back to a redirect. `undefined` (redirect
301
- // mode) lets the transport decide for itself.
302
- ...(shouldPreOpenPopup ? { popup } : {}),
303
- });
304
- if (result.status === 'failed') {
305
- logger.warn(
306
- `OxySignInButton: web sign-in failed (${result.reason})`,
307
- { component: 'OxySignInButton', application: app.name },
308
- result.description,
309
- );
310
- notifyFailed();
311
- }
312
- return;
313
- }
314
-
315
- if (nativeOAuthCompletion === 'sdk') {
316
- if (onOAuthResult) { notifyNotConfigured(app.name); return; }
317
- const result = await startNativeOAuthSignIn({ redirectUri: oauthRedirectUri });
318
- if (result.status === 'failed') notifyFailed();
319
- if (result.status === 'unsupported') notifyNotConfigured(app.name);
320
- return;
321
- }
322
-
323
- // Native: open the in-app auth session, then hand the handshake to the
324
- // RP so it can complete the token exchange from its deep-link callback.
325
- const [pkce, state] = await Promise.all([generatePkcePair(), generateOAuthState()]);
326
- const authorizeUrl = buildOAuthAuthorizeUrl({
327
- clientId,
328
- redirectUri: oauthRedirectUri,
329
- state,
330
- codeChallenge: pkce.codeChallenge,
331
- });
332
- const { redirectUrl } = await openAuthorizeUrlNative(authorizeUrl, oauthRedirectUri);
333
- if (onOAuthResult) {
334
- onOAuthResult({ redirectUrl, state, codeVerifier: pkce.codeVerifier });
335
- return;
336
- }
337
- logger.warn(
338
- 'OxySignInButton: native third-party sign-in cannot complete without an `onOAuthResult` handler; the code exchange is the RP\'s responsibility (state + code_verifier were not surfaced)',
339
- { component: 'OxySignInButton', application: app.name },
340
- );
341
- notifyNotConfigured(app.name);
342
- },
343
- [
344
- clientId,
345
- oauthRedirectUri,
346
- onOAuthResult,
347
- nativeOAuthCompletion,
348
- startNativeOAuthSignIn,
349
- startOfficialSignIn,
350
- startWebOAuthSignIn,
351
- shouldPreOpenPopup,
352
- notifyNotConfigured,
353
- notifyFailed,
354
- ],
355
- );
356
-
357
- // Resolve the Application once, then route: third-party → OAuth; first-party
358
- // / official → the in-app dialog. An unresolved client must fail closed:
359
- // opening the privileged device-session dialog without a known first-party
360
- // classification could downgrade a third-party OAuth + PKCE flow. Every path
361
- // that does NOT reach the OAuth lane closes the pre-opened popup, so an
362
- // aborted press can never leave an empty window on screen.
363
- const routeSignIn = useCallback(
364
- async (popup: OAuthPopupHandle | null): Promise<void> => {
365
- if (routingRef.current) {
366
- closeOAuthPopup(popup);
367
- return;
368
- }
369
- routingRef.current = true;
370
- try {
371
- const resolving = resolvePublicApplication();
372
- if (!resolving) {
373
- closeOAuthPopup(popup);
374
- notifyNotConfigured('this app');
375
- return;
376
- }
377
- let app: PublicApplication;
378
- try {
379
- app = await resolving;
380
- } catch (error) {
381
- closeOAuthPopup(popup);
382
- logger.warn(
383
- 'OxySignInButton: could not resolve the application; sign-in aborted',
384
- { component: 'OxySignInButton', clientId },
385
- error,
386
- );
387
- notifyFailed();
388
- return;
389
- }
390
- if (classifyApplicationSessionLane(app) === 'oauth') {
391
- await startThirdPartyOAuth(app, popup);
392
- return;
393
- }
394
- closeOAuthPopup(popup);
395
- startOfficialSignIn();
396
- } catch (error) {
397
- // `handlePress` fires this without awaiting, so an unexpected
398
- // throw (a rejected native auth session, a crypto failure) would
399
- // otherwise vanish into an unhandled rejection with the button
400
- // left looking inert.
401
- closeOAuthPopup(popup);
402
- logger.error(
403
- 'OxySignInButton: sign-in routing threw; sign-in aborted',
404
- error instanceof Error ? error : new Error(String(error)),
405
- { component: 'OxySignInButton', clientId },
406
- );
407
- notifyFailed();
408
- } finally {
409
- appResolutionRef.current = null;
410
- routingRef.current = false;
411
- }
412
- },
413
- [
414
- resolvePublicApplication,
415
- startOfficialSignIn,
416
- startThirdPartyOAuth,
417
- clientId,
418
- notifyNotConfigured,
419
- notifyFailed,
420
- ],
421
- );
422
-
423
- // Defer to a caller-supplied handler, otherwise route by application type.
424
- //
425
- // The popup is opened HERE, synchronously, before the async application
426
- // resolve: `window.open` only survives while the click is still being
427
- // handled, so a window opened after that first `await` is silently blocked.
428
- const handlePress = useCallback(() => {
429
- if (onPress) {
430
- onPress();
431
- return;
311
+ if (result.status === 'failed') {
312
+ logger.warn(
313
+ `OxySignInButton: web sign-in failed (${result.reason})`,
314
+ { component: 'OxySignInButton', application: app.name },
315
+ result.description,
316
+ );
317
+ notifyFailed();
318
+ }
319
+ return;
320
+ }
321
+
322
+ if (nativeOAuthCompletion === 'sdk') {
323
+ if (onOAuthResult) {
324
+ notifyNotConfigured(app.name);
325
+ return;
326
+ }
327
+ const result = await startNativeOAuthSignIn({ redirectUri: oauthRedirectUri });
328
+ if (result.status === 'failed') notifyFailed();
329
+ if (result.status === 'unsupported') notifyNotConfigured(app.name);
330
+ return;
331
+ }
332
+
333
+ // Native: open the in-app auth session, then hand the handshake to the
334
+ // RP so it can complete the token exchange from its deep-link callback.
335
+ const [pkce, state] = await Promise.all([generatePkcePair(), generateOAuthState()]);
336
+ const authorizeUrl = buildOAuthAuthorizeUrl({
337
+ clientId,
338
+ redirectUri: oauthRedirectUri,
339
+ state,
340
+ codeChallenge: pkce.codeChallenge,
341
+ });
342
+ const { redirectUrl } = await openAuthorizeUrlNative(authorizeUrl, oauthRedirectUri);
343
+ if (onOAuthResult) {
344
+ onOAuthResult({ redirectUrl, state, codeVerifier: pkce.codeVerifier });
345
+ return;
346
+ }
347
+ logger.warn(
348
+ "OxySignInButton: native third-party sign-in cannot complete without an `onOAuthResult` handler; the code exchange is the RP's responsibility (state + code_verifier were not surfaced)",
349
+ { component: 'OxySignInButton', application: app.name },
350
+ );
351
+ notifyNotConfigured(app.name);
352
+ },
353
+ [
354
+ clientId,
355
+ oauthRedirectUri,
356
+ onOAuthResult,
357
+ nativeOAuthCompletion,
358
+ startNativeOAuthSignIn,
359
+ startOfficialSignIn,
360
+ startWebOAuthSignIn,
361
+ shouldPreOpenPopup,
362
+ notifyNotConfigured,
363
+ notifyFailed,
364
+ ],
365
+ );
366
+
367
+ // Resolve the Application once, then route: third-party → OAuth; first-party
368
+ // / official → the in-app dialog. An unresolved client must fail closed:
369
+ // opening the privileged device-session dialog without a known first-party
370
+ // classification could downgrade a third-party OAuth + PKCE flow. Every path
371
+ // that does NOT reach the OAuth lane closes the pre-opened popup, so an
372
+ // aborted press can never leave an empty window on screen.
373
+ const routeSignIn = useCallback(
374
+ async (popup: OAuthPopupHandle | null): Promise<void> => {
375
+ if (routingRef.current) {
376
+ closeOAuthPopup(popup);
377
+ return;
378
+ }
379
+ routingRef.current = true;
380
+ try {
381
+ const resolving = resolvePublicApplication();
382
+ if (!resolving) {
383
+ closeOAuthPopup(popup);
384
+ notifyNotConfigured('this app');
385
+ return;
386
+ }
387
+ let app: PublicApplication;
388
+ try {
389
+ app = await resolving;
390
+ } catch (error) {
391
+ closeOAuthPopup(popup);
392
+ logger.warn(
393
+ 'OxySignInButton: could not resolve the application; sign-in aborted',
394
+ { component: 'OxySignInButton', clientId },
395
+ error,
396
+ );
397
+ notifyFailed();
398
+ return;
399
+ }
400
+ if (classifyApplicationSessionLane(app) === 'oauth') {
401
+ await startThirdPartyOAuth(app, popup);
402
+ return;
432
403
  }
433
- void routeSignIn(shouldPreOpenPopup ? openOAuthPopup() : null);
434
- }, [onPress, routeSignIn, shouldPreOpenPopup]);
435
-
436
- // Don't show the button if already authenticated (unless explicitly overridden)
437
- if (isAuthenticated && !showWhenAuthenticated) return null;
438
-
439
- const isButtonDisabled = disabled || isLoading || isModalOpen;
440
-
441
- // `contained` is the filled button in the theme accent; `default` and
442
- // `outline` are the outlined button carrying the Oxy mark.
443
- const resolvedAppearance: SocialButtonAppearance =
444
- appearance ?? (variant === 'contained' ? 'colorful' : 'white');
445
-
446
- // A key missing from every dictionary comes back as the key itself; fall
447
- // back to Bloom's English phrase rather than render a dotted path.
448
- const actionKey = ACTION_KEYS[action];
449
- const translated = t(actionKey);
450
- const label = text ?? (translated === actionKey ? socialButtonLabel('Oxy', action) : translated);
451
-
452
- return (
453
- <SocialButton
454
- brand="oxy"
455
- action={action}
456
- appearance={resolvedAppearance}
457
- size={size}
458
- fullWidth={fullWidth}
459
- iconOnly={iconOnly}
460
- onPress={handlePress}
461
- disabled={isButtonDisabled}
462
- style={style}
463
- textStyle={textStyle}
464
- accessibilityLabel={iconOnly ? label : undefined}
465
- >
466
- {isLoading || isModalOpen ? t('signin.status.signingIn') : label}
467
- </SocialButton>
468
- );
404
+ closeOAuthPopup(popup);
405
+ startOfficialSignIn();
406
+ } catch (error) {
407
+ // `handlePress` fires this without awaiting, so an unexpected
408
+ // throw (a rejected native auth session, a crypto failure) would
409
+ // otherwise vanish into an unhandled rejection with the button
410
+ // left looking inert.
411
+ closeOAuthPopup(popup);
412
+ logger.error(
413
+ 'OxySignInButton: sign-in routing threw; sign-in aborted',
414
+ error instanceof Error ? error : new Error(String(error)),
415
+ { component: 'OxySignInButton', clientId },
416
+ );
417
+ notifyFailed();
418
+ } finally {
419
+ appResolutionRef.current = null;
420
+ routingRef.current = false;
421
+ }
422
+ },
423
+ [
424
+ resolvePublicApplication,
425
+ startOfficialSignIn,
426
+ startThirdPartyOAuth,
427
+ clientId,
428
+ notifyNotConfigured,
429
+ notifyFailed,
430
+ ],
431
+ );
432
+
433
+ // Defer to a caller-supplied handler, otherwise route by application type.
434
+ //
435
+ // The popup is opened HERE, synchronously, before the async application
436
+ // resolve: `window.open` only survives while the click is still being
437
+ // handled, so a window opened after that first `await` is silently blocked.
438
+ const handlePress = useCallback(() => {
439
+ if (onPress) {
440
+ onPress();
441
+ return;
442
+ }
443
+ void routeSignIn(shouldPreOpenPopup ? openOAuthPopup() : null);
444
+ }, [onPress, routeSignIn, shouldPreOpenPopup]);
445
+
446
+ // Don't show the button if already authenticated (unless explicitly overridden)
447
+ if (isAuthenticated && !showWhenAuthenticated) return null;
448
+
449
+ const isButtonDisabled = disabled || isLoading || isModalOpen;
450
+
451
+ // `contained` is the filled button in the theme accent; `default` and
452
+ // `outline` are the outlined button carrying the Oxy mark.
453
+ const resolvedAppearance: SocialButtonAppearance =
454
+ appearance ?? (variant === 'contained' ? 'colorful' : 'white');
455
+
456
+ // A key missing from every dictionary comes back as the key itself; fall
457
+ // back to Bloom's English phrase rather than render a dotted path.
458
+ const actionKey = ACTION_KEYS[action];
459
+ const translated = t(actionKey);
460
+ const label = text ?? (translated === actionKey ? socialButtonLabel('Oxy', action) : translated);
461
+
462
+ return (
463
+ <SocialButton
464
+ brand="oxy"
465
+ action={action}
466
+ appearance={resolvedAppearance}
467
+ size={size}
468
+ fullWidth={fullWidth}
469
+ iconOnly={iconOnly}
470
+ onPress={handlePress}
471
+ disabled={isButtonDisabled}
472
+ style={style}
473
+ textStyle={textStyle}
474
+ accessibilityLabel={iconOnly ? label : undefined}
475
+ >
476
+ {isLoading || isModalOpen ? t('signin.status.signingIn') : label}
477
+ </SocialButton>
478
+ );
469
479
  };
470
480
 
471
481
  export default OxySignInButton;