@oxy.so/services 6.1.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (934) hide show
  1. package/README.md +80 -136
  2. package/lib/commonjs/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  3. package/lib/commonjs/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  4. package/lib/commonjs/assets/assets/fonts/icons/manifest.json +5 -20
  5. package/lib/commonjs/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  6. package/lib/commonjs/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  7. package/lib/commonjs/assets/fonts/icons/manifest.json +5 -20
  8. package/lib/commonjs/index.js +21 -15
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/ui/boot/runProviderColdBoot.js +2 -1
  11. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +2 -3
  13. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxyAuthChooser.js +16 -32
  15. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxySignInButton.js +1 -1
  17. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  18. package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -1
  19. package/lib/commonjs/ui/components/ProfileButton.js +1 -1
  20. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  21. package/lib/commonjs/ui/components/SurfaceScreen.js +21 -12
  22. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -1
  23. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +2 -2
  24. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  25. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +6 -17
  26. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -1
  27. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +1 -1
  28. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
  29. package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -1
  30. package/lib/commonjs/ui/components/authChooser/types.js +0 -8
  31. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -1
  32. package/lib/commonjs/ui/components/signIn/InlineCommonsQr.js +1 -1
  33. package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js +2 -2
  34. package/lib/commonjs/ui/components/signIn/OxyAccountPicker.js.map +1 -1
  35. package/lib/commonjs/ui/components/signIn/OxyAuthScreen.js +11 -5
  36. package/lib/commonjs/ui/components/signIn/OxyAuthScreen.js.map +1 -1
  37. package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js +325 -0
  38. package/lib/commonjs/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -0
  39. package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js +52 -56
  40. package/lib/commonjs/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  41. package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js +48 -38
  42. package/lib/commonjs/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  43. package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js +141 -0
  44. package/lib/commonjs/ui/components/signIn/OxyPasswordPanel.js.map +1 -0
  45. package/lib/commonjs/ui/components/signIn/OxySignInPanel.js +502 -194
  46. package/lib/commonjs/ui/components/signIn/OxySignInPanel.js.map +1 -1
  47. package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js +211 -42
  48. package/lib/commonjs/ui/components/signIn/OxySignUpPanel.js.map +1 -1
  49. package/lib/commonjs/ui/components/signIn/ReauthStep.js +186 -0
  50. package/lib/commonjs/ui/components/signIn/ReauthStep.js.map +1 -0
  51. package/lib/commonjs/ui/components/signIn/accountFlowParts.js +103 -26
  52. package/lib/commonjs/ui/components/signIn/accountFlowParts.js.map +1 -1
  53. package/lib/commonjs/ui/components/signIn/signInFlowStore.js +50 -0
  54. package/lib/commonjs/ui/components/signIn/signInFlowStore.js.map +1 -0
  55. package/lib/commonjs/ui/components/signIn/signInMethods.js +12 -25
  56. package/lib/commonjs/ui/components/signIn/signInMethods.js.map +1 -1
  57. package/lib/commonjs/ui/context/OxyContext.js +125 -119
  58. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  59. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +11 -10
  60. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  61. package/lib/commonjs/ui/context/useOxyAccountGraph.js +4 -4
  62. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  63. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +1 -1
  64. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +19 -9
  65. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  66. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +4 -4
  67. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  68. package/lib/commonjs/ui/hooks/queries/queryKeys.js +23 -3
  69. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
  70. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +8 -8
  71. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  72. package/lib/commonjs/ui/hooks/queries/useAuthMethods.js +27 -15
  73. package/lib/commonjs/ui/hooks/queries/useAuthMethods.js.map +1 -1
  74. package/lib/commonjs/ui/hooks/queries/useFileQueries.js +5 -2
  75. package/lib/commonjs/ui/hooks/queries/useFileQueries.js.map +1 -1
  76. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js +8 -8
  77. package/lib/commonjs/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  78. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +4 -3
  79. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  80. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +6 -6
  81. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  82. package/lib/commonjs/ui/hooks/useAssets.js +36 -20
  83. package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
  84. package/lib/commonjs/ui/hooks/useAvatarPicker.js +6 -4
  85. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  86. package/lib/commonjs/ui/hooks/useDeviceManagement.js +5 -5
  87. package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +1 -1
  88. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js +2 -2
  89. package/lib/commonjs/ui/hooks/useDeviceSwitcher.js.map +1 -1
  90. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js +1 -4
  91. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js.map +1 -1
  92. package/lib/commonjs/ui/hooks/useFollow.js +2 -2
  93. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -1
  94. package/lib/commonjs/ui/hooks/useFollowTarget.js +5 -5
  95. package/lib/commonjs/ui/hooks/useFollowTarget.js.map +1 -1
  96. package/lib/commonjs/ui/hooks/useI18n.js +4 -1
  97. package/lib/commonjs/ui/hooks/useI18n.js.map +1 -1
  98. package/lib/commonjs/ui/hooks/useResolvedFileUrls.js +2 -2
  99. package/lib/commonjs/ui/hooks/useResolvedFileUrls.js.map +1 -1
  100. package/lib/commonjs/ui/hooks/useSessionManagement.js +3 -3
  101. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  102. package/lib/commonjs/ui/hooks/useSurfaceFrameWidth.js +28 -0
  103. package/lib/commonjs/ui/hooks/useSurfaceFrameWidth.js.map +1 -0
  104. package/lib/commonjs/ui/icons/subsetGlyphMaps.js +0 -15
  105. package/lib/commonjs/ui/icons/subsetGlyphMaps.js.map +1 -1
  106. package/lib/commonjs/ui/navigation/routes.js +6 -4
  107. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  108. package/lib/commonjs/ui/navigation/surfaceRegistry.js +1 -1
  109. package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -1
  110. package/lib/commonjs/ui/oauth/browserBridge.js +247 -0
  111. package/lib/commonjs/ui/oauth/browserBridge.js.map +1 -0
  112. package/lib/commonjs/ui/oauth/completeOAuthCode.js +1 -1
  113. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -1
  114. package/lib/commonjs/ui/oauth/explicitOAuthConsent.js +1 -1
  115. package/lib/commonjs/ui/oauth/explicitOAuthConsent.js.map +1 -1
  116. package/lib/commonjs/ui/runtime/createOxyRuntime.js +9 -8
  117. package/lib/commonjs/ui/runtime/createOxyRuntime.js.map +1 -1
  118. package/lib/commonjs/ui/runtime/runtimeContext.js.map +1 -1
  119. package/lib/commonjs/ui/screens/AccountMembersScreen.js +7 -7
  120. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  121. package/lib/commonjs/ui/screens/AccountSecurityPanelScreen.js +35 -0
  122. package/lib/commonjs/ui/screens/AccountSecurityPanelScreen.js.map +1 -0
  123. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +3 -3
  124. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  125. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +1 -1
  126. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  127. package/lib/commonjs/ui/screens/AppInfoScreen.js +5 -5
  128. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  129. package/lib/commonjs/ui/screens/AvatarCropScreen.js +3 -3
  130. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  131. package/lib/commonjs/ui/screens/ChangeAvatarScreen.js +1 -1
  132. package/lib/commonjs/ui/screens/ChangeAvatarScreen.js.map +1 -1
  133. package/lib/commonjs/ui/screens/CreateAccountScreen.js +1 -1
  134. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  135. package/lib/commonjs/ui/screens/DeleteAccountScreen.js +19 -0
  136. package/lib/commonjs/ui/screens/DeleteAccountScreen.js.map +1 -0
  137. package/lib/commonjs/ui/screens/DomainsScreen.js +217 -0
  138. package/lib/commonjs/ui/screens/DomainsScreen.js.map +1 -0
  139. package/lib/commonjs/ui/screens/EditProfileScreen.js +1 -1
  140. package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
  141. package/lib/commonjs/ui/screens/FileManagementScreen.js +25 -11
  142. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  143. package/lib/commonjs/ui/screens/HelpSupportScreen.js +1 -17
  144. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  145. package/lib/commonjs/ui/screens/LinkCommonsScreen.js +14 -0
  146. package/lib/commonjs/ui/screens/LinkCommonsScreen.js.map +1 -0
  147. package/lib/commonjs/ui/screens/ManageAccountScreen.js +57 -61
  148. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  149. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +52 -62
  150. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  151. package/lib/commonjs/ui/screens/ProfileScreen.js +5 -13
  152. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  153. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +15 -24
  154. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  155. package/lib/commonjs/ui/screens/SignInAuthenticatorScreen.js +14 -0
  156. package/lib/commonjs/ui/screens/SignInAuthenticatorScreen.js.map +1 -0
  157. package/lib/commonjs/ui/screens/SignInPasswordScreen.js +20 -0
  158. package/lib/commonjs/ui/screens/SignInPasswordScreen.js.map +1 -0
  159. package/lib/commonjs/ui/screens/UserListScreen.js +3 -3
  160. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  161. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +1 -1
  162. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  163. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +25 -17
  164. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  165. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +2 -2
  166. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  167. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +8 -14
  168. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  169. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +11 -9
  170. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  171. package/lib/commonjs/ui/session/authStore.js +4 -4
  172. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  173. package/lib/commonjs/ui/session/backgroundSession.js +5 -40
  174. package/lib/commonjs/ui/session/backgroundSession.js.map +1 -1
  175. package/lib/commonjs/ui/session/createSessionClient.js +3 -3
  176. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  177. package/lib/commonjs/ui/session/deviceCredentialTracker.js +42 -0
  178. package/lib/commonjs/ui/session/deviceCredentialTracker.js.map +1 -0
  179. package/lib/commonjs/ui/session/identityBinding.js +3 -3
  180. package/lib/commonjs/ui/session/identityBinding.js.map +1 -1
  181. package/lib/commonjs/ui/session/index.js +6 -6
  182. package/lib/commonjs/ui/session/index.js.map +1 -1
  183. package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js +2 -2
  184. package/lib/commonjs/ui/session/sharedDeviceCredentialStore.js.map +1 -1
  185. package/lib/commonjs/ui/session/tokenTransport.js +3 -3
  186. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  187. package/lib/commonjs/ui/stores/assetStore.js +12 -0
  188. package/lib/commonjs/ui/stores/assetStore.js.map +1 -1
  189. package/lib/commonjs/ui/stores/followStore.js +6 -6
  190. package/lib/commonjs/ui/stores/followStore.js.map +1 -1
  191. package/lib/commonjs/ui/utils/accountDeletionHandoff.js +1 -4
  192. package/lib/commonjs/ui/utils/accountDeletionHandoff.js.map +1 -1
  193. package/lib/commonjs/ui/utils/avatarUtils.js +1 -1
  194. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  195. package/lib/commonjs/ui/utils/deviceCredential.js +11 -4
  196. package/lib/commonjs/ui/utils/deviceCredential.js.map +1 -1
  197. package/lib/commonjs/ui/utils/fileManagement.js +0 -10
  198. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  199. package/lib/commonjs/ui/utils/sessionHelpers.js +2 -2
  200. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
  201. package/lib/module/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  202. package/lib/module/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  203. package/lib/module/assets/assets/fonts/icons/manifest.json +5 -20
  204. package/lib/module/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  205. package/lib/module/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  206. package/lib/module/assets/fonts/icons/manifest.json +5 -20
  207. package/lib/module/index.js +6 -6
  208. package/lib/module/index.js.map +1 -1
  209. package/lib/module/ui/boot/runProviderColdBoot.js +2 -1
  210. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  211. package/lib/module/ui/components/OxyAccountDialogScreen.js +2 -3
  212. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  213. package/lib/module/ui/components/OxyAuthChooser.js +16 -32
  214. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  215. package/lib/module/ui/components/OxySignInButton.js +1 -1
  216. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  217. package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -1
  218. package/lib/module/ui/components/ProfileButton.js +1 -1
  219. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  220. package/lib/module/ui/components/SurfaceScreen.js +21 -12
  221. package/lib/module/ui/components/SurfaceScreen.js.map +1 -1
  222. package/lib/module/ui/components/authChooser/AccountsMenuView.js +1 -1
  223. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  224. package/lib/module/ui/components/authChooser/SignInRequestView.js +6 -17
  225. package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -1
  226. package/lib/module/ui/components/authChooser/TroubleDisclosure.js +1 -1
  227. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
  228. package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -1
  229. package/lib/module/ui/components/authChooser/types.js +0 -8
  230. package/lib/module/ui/components/authChooser/types.js.map +1 -1
  231. package/lib/module/ui/components/signIn/InlineCommonsQr.js +1 -1
  232. package/lib/module/ui/components/signIn/OxyAccountPicker.js +1 -1
  233. package/lib/module/ui/components/signIn/OxyAccountPicker.js.map +1 -1
  234. package/lib/module/ui/components/signIn/OxyAuthScreen.js +11 -5
  235. package/lib/module/ui/components/signIn/OxyAuthScreen.js.map +1 -1
  236. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js +321 -0
  237. package/lib/module/ui/components/signIn/OxyAuthenticatorPanel.js.map +1 -0
  238. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js +54 -58
  239. package/lib/module/ui/components/signIn/OxyDeleteAccountPanel.js.map +1 -1
  240. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js +48 -38
  241. package/lib/module/ui/components/signIn/OxyLinkCommonsPanel.js.map +1 -1
  242. package/lib/module/ui/components/signIn/OxyPasswordPanel.js +136 -0
  243. package/lib/module/ui/components/signIn/OxyPasswordPanel.js.map +1 -0
  244. package/lib/module/ui/components/signIn/OxySignInPanel.js +504 -194
  245. package/lib/module/ui/components/signIn/OxySignInPanel.js.map +1 -1
  246. package/lib/module/ui/components/signIn/OxySignUpPanel.js +212 -43
  247. package/lib/module/ui/components/signIn/OxySignUpPanel.js.map +1 -1
  248. package/lib/module/ui/components/signIn/ReauthStep.js +181 -0
  249. package/lib/module/ui/components/signIn/ReauthStep.js.map +1 -0
  250. package/lib/module/ui/components/signIn/accountFlowParts.js +97 -26
  251. package/lib/module/ui/components/signIn/accountFlowParts.js.map +1 -1
  252. package/lib/module/ui/components/signIn/signInFlowStore.js +44 -0
  253. package/lib/module/ui/components/signIn/signInFlowStore.js.map +1 -0
  254. package/lib/module/ui/components/signIn/signInMethods.js +12 -25
  255. package/lib/module/ui/components/signIn/signInMethods.js.map +1 -1
  256. package/lib/module/ui/context/OxyContext.js +121 -115
  257. package/lib/module/ui/context/OxyContext.js.map +1 -1
  258. package/lib/module/ui/context/hooks/useAuthOperations.js +7 -7
  259. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  260. package/lib/module/ui/context/useOxyAccountGraph.js +4 -4
  261. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  262. package/lib/module/ui/hooks/mutations/mutationFactory.js +1 -1
  263. package/lib/module/ui/hooks/mutations/useAccountMutations.js +19 -9
  264. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  265. package/lib/module/ui/hooks/mutations/useServicesMutations.js +4 -4
  266. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
  267. package/lib/module/ui/hooks/queries/queryKeys.js +23 -3
  268. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
  269. package/lib/module/ui/hooks/queries/useAccountQueries.js +8 -8
  270. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  271. package/lib/module/ui/hooks/queries/useAuthMethods.js +25 -14
  272. package/lib/module/ui/hooks/queries/useAuthMethods.js.map +1 -1
  273. package/lib/module/ui/hooks/queries/useFileQueries.js +5 -2
  274. package/lib/module/ui/hooks/queries/useFileQueries.js.map +1 -1
  275. package/lib/module/ui/hooks/queries/usePaymentQueries.js +8 -8
  276. package/lib/module/ui/hooks/queries/usePaymentQueries.js.map +1 -1
  277. package/lib/module/ui/hooks/queries/useSecurityQueries.js +4 -3
  278. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  279. package/lib/module/ui/hooks/queries/useServicesQueries.js +6 -6
  280. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  281. package/lib/module/ui/hooks/useAssets.js +36 -20
  282. package/lib/module/ui/hooks/useAssets.js.map +1 -1
  283. package/lib/module/ui/hooks/useAvatarPicker.js +6 -4
  284. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  285. package/lib/module/ui/hooks/useDeviceManagement.js +4 -4
  286. package/lib/module/ui/hooks/useDeviceManagement.js.map +1 -1
  287. package/lib/module/ui/hooks/useDeviceSwitcher.js +2 -2
  288. package/lib/module/ui/hooks/useDeviceSwitcher.js.map +1 -1
  289. package/lib/module/ui/hooks/useFileDownloadUrl.js +1 -4
  290. package/lib/module/ui/hooks/useFileDownloadUrl.js.map +1 -1
  291. package/lib/module/ui/hooks/useFollow.js +2 -2
  292. package/lib/module/ui/hooks/useFollow.js.map +1 -1
  293. package/lib/module/ui/hooks/useFollowTarget.js +5 -5
  294. package/lib/module/ui/hooks/useFollowTarget.js.map +1 -1
  295. package/lib/module/ui/hooks/useI18n.js +6 -3
  296. package/lib/module/ui/hooks/useI18n.js.map +1 -1
  297. package/lib/module/ui/hooks/useResolvedFileUrls.js +2 -2
  298. package/lib/module/ui/hooks/useResolvedFileUrls.js.map +1 -1
  299. package/lib/module/ui/hooks/useSessionManagement.js +3 -3
  300. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  301. package/lib/module/ui/hooks/useSurfaceFrameWidth.js +24 -0
  302. package/lib/module/ui/hooks/useSurfaceFrameWidth.js.map +1 -0
  303. package/lib/module/ui/icons/subsetGlyphMaps.js +0 -15
  304. package/lib/module/ui/icons/subsetGlyphMaps.js.map +1 -1
  305. package/lib/module/ui/navigation/routes.js +6 -4
  306. package/lib/module/ui/navigation/routes.js.map +1 -1
  307. package/lib/module/ui/navigation/surfaceRegistry.js +1 -1
  308. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
  309. package/lib/module/ui/oauth/browserBridge.js +239 -0
  310. package/lib/module/ui/oauth/browserBridge.js.map +1 -0
  311. package/lib/module/ui/oauth/completeOAuthCode.js +1 -1
  312. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -1
  313. package/lib/module/ui/oauth/explicitOAuthConsent.js +1 -1
  314. package/lib/module/ui/oauth/explicitOAuthConsent.js.map +1 -1
  315. package/lib/module/ui/runtime/createOxyRuntime.js +4 -3
  316. package/lib/module/ui/runtime/createOxyRuntime.js.map +1 -1
  317. package/lib/module/ui/runtime/runtimeContext.js.map +1 -1
  318. package/lib/module/ui/screens/AccountMembersScreen.js +7 -7
  319. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  320. package/lib/module/ui/screens/AccountSecurityPanelScreen.js +32 -0
  321. package/lib/module/ui/screens/AccountSecurityPanelScreen.js.map +1 -0
  322. package/lib/module/ui/screens/AccountSettingsScreen.js +3 -3
  323. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  324. package/lib/module/ui/screens/AccountVerificationScreen.js +1 -1
  325. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  326. package/lib/module/ui/screens/AppInfoScreen.js +5 -5
  327. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  328. package/lib/module/ui/screens/AvatarCropScreen.js +3 -3
  329. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  330. package/lib/module/ui/screens/ChangeAvatarScreen.js +1 -1
  331. package/lib/module/ui/screens/ChangeAvatarScreen.js.map +1 -1
  332. package/lib/module/ui/screens/CreateAccountScreen.js +1 -1
  333. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  334. package/lib/module/ui/screens/DeleteAccountScreen.js +17 -0
  335. package/lib/module/ui/screens/DeleteAccountScreen.js.map +1 -0
  336. package/lib/module/ui/screens/DomainsScreen.js +212 -0
  337. package/lib/module/ui/screens/DomainsScreen.js.map +1 -0
  338. package/lib/module/ui/screens/EditProfileScreen.js +1 -1
  339. package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
  340. package/lib/module/ui/screens/FileManagementScreen.js +25 -11
  341. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  342. package/lib/module/ui/screens/HelpSupportScreen.js +1 -17
  343. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  344. package/lib/module/ui/screens/LinkCommonsScreen.js +12 -0
  345. package/lib/module/ui/screens/LinkCommonsScreen.js.map +1 -0
  346. package/lib/module/ui/screens/ManageAccountScreen.js +58 -62
  347. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  348. package/lib/module/ui/screens/PrivacySettingsScreen.js +53 -63
  349. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  350. package/lib/module/ui/screens/ProfileScreen.js +5 -13
  351. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  352. package/lib/module/ui/screens/SearchSettingsScreen.js +16 -25
  353. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  354. package/lib/module/ui/screens/SignInAuthenticatorScreen.js +12 -0
  355. package/lib/module/ui/screens/SignInAuthenticatorScreen.js.map +1 -0
  356. package/lib/module/ui/screens/SignInPasswordScreen.js +18 -0
  357. package/lib/module/ui/screens/SignInPasswordScreen.js.map +1 -0
  358. package/lib/module/ui/screens/UserListScreen.js +3 -3
  359. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  360. package/lib/module/ui/screens/WelcomeNewUserScreen.js +1 -1
  361. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  362. package/lib/module/ui/screens/trust/TrustCenterScreen.js +26 -18
  363. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  364. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +2 -2
  365. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  366. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +9 -15
  367. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  368. package/lib/module/ui/screens/trust/TrustRulesScreen.js +12 -10
  369. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  370. package/lib/module/ui/session/authStore.js +1 -1
  371. package/lib/module/ui/session/authStore.js.map +1 -1
  372. package/lib/module/ui/session/backgroundSession.js +5 -40
  373. package/lib/module/ui/session/backgroundSession.js.map +1 -1
  374. package/lib/module/ui/session/createSessionClient.js +1 -1
  375. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  376. package/lib/module/ui/session/deviceCredentialTracker.js +38 -0
  377. package/lib/module/ui/session/deviceCredentialTracker.js.map +1 -0
  378. package/lib/module/ui/session/identityBinding.js +1 -1
  379. package/lib/module/ui/session/identityBinding.js.map +1 -1
  380. package/lib/module/ui/session/index.js +1 -1
  381. package/lib/module/ui/session/index.js.map +1 -1
  382. package/lib/module/ui/session/sharedDeviceCredentialStore.js +1 -1
  383. package/lib/module/ui/session/sharedDeviceCredentialStore.js.map +1 -1
  384. package/lib/module/ui/session/tokenTransport.js +3 -3
  385. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  386. package/lib/module/ui/stores/assetStore.js +12 -0
  387. package/lib/module/ui/stores/assetStore.js.map +1 -1
  388. package/lib/module/ui/stores/followStore.js +6 -6
  389. package/lib/module/ui/stores/followStore.js.map +1 -1
  390. package/lib/module/ui/utils/accountDeletionHandoff.js +2 -5
  391. package/lib/module/ui/utils/accountDeletionHandoff.js.map +1 -1
  392. package/lib/module/ui/utils/avatarUtils.js +1 -1
  393. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  394. package/lib/module/ui/utils/deviceCredential.js +10 -3
  395. package/lib/module/ui/utils/deviceCredential.js.map +1 -1
  396. package/lib/module/ui/utils/fileManagement.js +0 -9
  397. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  398. package/lib/module/ui/utils/sessionHelpers.js +2 -2
  399. package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
  400. package/lib/typescript/commonjs/index.d.ts +5 -5
  401. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  402. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +3 -2
  403. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  404. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts +2 -3
  405. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  406. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +8 -7
  407. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  408. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts +2 -1
  409. package/lib/typescript/commonjs/ui/components/OxySignInRequestSurface.d.ts.map +1 -1
  410. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -1
  411. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +1 -1
  412. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  413. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +3 -4
  414. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
  415. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +1 -1
  416. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +1 -1
  417. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -1
  418. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +2 -1
  419. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
  420. package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts +1 -1
  421. package/lib/typescript/commonjs/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
  422. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +2 -1
  423. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -1
  424. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +1 -12
  425. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -1
  426. package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts +1 -1
  427. package/lib/typescript/commonjs/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -1
  428. package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts +1 -1
  429. package/lib/typescript/commonjs/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -1
  430. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthScreen.d.ts +7 -1
  431. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthScreen.d.ts.map +1 -1
  432. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts +19 -0
  433. package/lib/typescript/commonjs/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -0
  434. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts +10 -6
  435. package/lib/typescript/commonjs/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  436. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts +6 -6
  437. package/lib/typescript/commonjs/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  438. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts +15 -0
  439. package/lib/typescript/commonjs/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -0
  440. package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts +21 -19
  441. package/lib/typescript/commonjs/ui/components/signIn/OxySignInPanel.d.ts.map +1 -1
  442. package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts +16 -7
  443. package/lib/typescript/commonjs/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -1
  444. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts +34 -0
  445. package/lib/typescript/commonjs/ui/components/signIn/ReauthStep.d.ts.map +1 -0
  446. package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts +38 -12
  447. package/lib/typescript/commonjs/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  448. package/lib/typescript/commonjs/ui/components/signIn/signInFlowStore.d.ts +20 -0
  449. package/lib/typescript/commonjs/ui/components/signIn/signInFlowStore.d.ts.map +1 -0
  450. package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts +10 -20
  451. package/lib/typescript/commonjs/ui/components/signIn/signInMethods.d.ts.map +1 -1
  452. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  453. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +2 -1
  454. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  455. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +4 -39
  456. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  457. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +2 -1
  458. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  459. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts +1 -1
  460. package/lib/typescript/commonjs/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
  461. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +1 -1
  462. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +2 -2
  463. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  464. package/lib/typescript/commonjs/ui/hooks/mutations/useServicesMutations.d.ts +5 -1
  465. package/lib/typescript/commonjs/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
  466. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +19 -1
  467. package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  468. package/lib/typescript/commonjs/ui/hooks/queries/useAuthMethods.d.ts +13 -20
  469. package/lib/typescript/commonjs/ui/hooks/queries/useAuthMethods.d.ts.map +1 -1
  470. package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts +1 -1
  471. package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
  472. package/lib/typescript/commonjs/ui/hooks/queries/usePaymentQueries.d.ts +4 -4
  473. package/lib/typescript/commonjs/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  474. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +3 -5
  475. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  476. package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts +5 -5
  477. package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts.map +1 -1
  478. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +1 -1
  479. package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts +1 -1
  480. package/lib/typescript/commonjs/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
  481. package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  482. package/lib/typescript/commonjs/ui/hooks/useFollow.d.ts +1 -1
  483. package/lib/typescript/commonjs/ui/hooks/useI18n.d.ts.map +1 -1
  484. package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts +9 -7
  485. package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts.map +1 -1
  486. package/lib/typescript/commonjs/ui/hooks/useSurfaceFrameWidth.d.ts +12 -0
  487. package/lib/typescript/commonjs/ui/hooks/useSurfaceFrameWidth.d.ts.map +1 -0
  488. package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts +1 -1
  489. package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts.map +1 -1
  490. package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts +1 -1
  491. package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
  492. package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts +0 -15
  493. package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
  494. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +1 -1
  495. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
  496. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
  497. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  498. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +7 -5
  499. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  500. package/lib/typescript/commonjs/ui/oauth/browserBridge.d.ts +97 -0
  501. package/lib/typescript/commonjs/ui/oauth/browserBridge.d.ts.map +1 -0
  502. package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts +6 -2
  503. package/lib/typescript/commonjs/ui/runtime/createOxyRuntime.d.ts.map +1 -1
  504. package/lib/typescript/commonjs/ui/runtime/runtimeContext.d.ts +2 -1
  505. package/lib/typescript/commonjs/ui/runtime/runtimeContext.d.ts.map +1 -1
  506. package/lib/typescript/commonjs/ui/runtime/types.d.ts +2 -1
  507. package/lib/typescript/commonjs/ui/runtime/types.d.ts.map +1 -1
  508. package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts +11 -0
  509. package/lib/typescript/commonjs/ui/screens/AccountSecurityPanelScreen.d.ts.map +1 -0
  510. package/lib/typescript/commonjs/ui/screens/DeleteAccountScreen.d.ts +6 -0
  511. package/lib/typescript/commonjs/ui/screens/DeleteAccountScreen.d.ts.map +1 -0
  512. package/lib/typescript/commonjs/ui/screens/{SavesCollectionsScreen.d.ts → DomainsScreen.d.ts} +1 -1
  513. package/lib/typescript/commonjs/ui/screens/DomainsScreen.d.ts.map +1 -0
  514. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  515. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  516. package/lib/typescript/commonjs/ui/screens/LinkCommonsScreen.d.ts +6 -0
  517. package/lib/typescript/commonjs/ui/screens/LinkCommonsScreen.d.ts.map +1 -0
  518. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  519. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  520. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  521. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  522. package/lib/typescript/commonjs/ui/screens/SignInAuthenticatorScreen.d.ts +6 -0
  523. package/lib/typescript/commonjs/ui/screens/SignInAuthenticatorScreen.d.ts.map +1 -0
  524. package/lib/typescript/commonjs/ui/screens/SignInPasswordScreen.d.ts +6 -0
  525. package/lib/typescript/commonjs/ui/screens/SignInPasswordScreen.d.ts.map +1 -0
  526. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  527. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  528. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  529. package/lib/typescript/commonjs/ui/session/authStore.d.ts +1 -1
  530. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  531. package/lib/typescript/commonjs/ui/session/backgroundSession.d.ts +3 -4
  532. package/lib/typescript/commonjs/ui/session/backgroundSession.d.ts.map +1 -1
  533. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +2 -1
  534. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  535. package/lib/typescript/commonjs/ui/session/deviceCredentialTracker.d.ts +23 -0
  536. package/lib/typescript/commonjs/ui/session/deviceCredentialTracker.d.ts.map +1 -0
  537. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +1 -1
  538. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -1
  539. package/lib/typescript/commonjs/ui/session/index.d.ts +1 -1
  540. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  541. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +1 -1
  542. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -1
  543. package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts +1 -1
  544. package/lib/typescript/commonjs/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -1
  545. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +3 -2
  546. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  547. package/lib/typescript/commonjs/ui/stores/assetStore.d.ts +7 -0
  548. package/lib/typescript/commonjs/ui/stores/assetStore.d.ts.map +1 -1
  549. package/lib/typescript/commonjs/ui/types/navigation.d.ts +1 -1
  550. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  551. package/lib/typescript/commonjs/ui/utils/accountDeletionHandoff.d.ts.map +1 -1
  552. package/lib/typescript/commonjs/ui/utils/deviceCredential.d.ts +10 -3
  553. package/lib/typescript/commonjs/ui/utils/deviceCredential.d.ts.map +1 -1
  554. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +1 -5
  555. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
  556. package/lib/typescript/module/index.d.ts +5 -5
  557. package/lib/typescript/module/index.d.ts.map +1 -1
  558. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +3 -2
  559. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  560. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts +2 -3
  561. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  562. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +8 -7
  563. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  564. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts +2 -1
  565. package/lib/typescript/module/ui/components/OxySignInRequestSurface.d.ts.map +1 -1
  566. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -1
  567. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +1 -1
  568. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -1
  569. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +3 -4
  570. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -1
  571. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +1 -1
  572. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +1 -1
  573. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -1
  574. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +2 -1
  575. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
  576. package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts +1 -1
  577. package/lib/typescript/module/ui/components/authChooser/signInFailureMessage.d.ts.map +1 -1
  578. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +2 -1
  579. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -1
  580. package/lib/typescript/module/ui/components/authChooser/types.d.ts +1 -12
  581. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -1
  582. package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts +1 -1
  583. package/lib/typescript/module/ui/components/signIn/InlineCommonsQr.d.ts.map +1 -1
  584. package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts +1 -1
  585. package/lib/typescript/module/ui/components/signIn/OxyAccountPicker.d.ts.map +1 -1
  586. package/lib/typescript/module/ui/components/signIn/OxyAuthScreen.d.ts +7 -1
  587. package/lib/typescript/module/ui/components/signIn/OxyAuthScreen.d.ts.map +1 -1
  588. package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts +19 -0
  589. package/lib/typescript/module/ui/components/signIn/OxyAuthenticatorPanel.d.ts.map +1 -0
  590. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts +10 -6
  591. package/lib/typescript/module/ui/components/signIn/OxyDeleteAccountPanel.d.ts.map +1 -1
  592. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts +6 -6
  593. package/lib/typescript/module/ui/components/signIn/OxyLinkCommonsPanel.d.ts.map +1 -1
  594. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts +15 -0
  595. package/lib/typescript/module/ui/components/signIn/OxyPasswordPanel.d.ts.map +1 -0
  596. package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts +21 -19
  597. package/lib/typescript/module/ui/components/signIn/OxySignInPanel.d.ts.map +1 -1
  598. package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts +16 -7
  599. package/lib/typescript/module/ui/components/signIn/OxySignUpPanel.d.ts.map +1 -1
  600. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts +34 -0
  601. package/lib/typescript/module/ui/components/signIn/ReauthStep.d.ts.map +1 -0
  602. package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts +38 -12
  603. package/lib/typescript/module/ui/components/signIn/accountFlowParts.d.ts.map +1 -1
  604. package/lib/typescript/module/ui/components/signIn/signInFlowStore.d.ts +20 -0
  605. package/lib/typescript/module/ui/components/signIn/signInFlowStore.d.ts.map +1 -0
  606. package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts +10 -20
  607. package/lib/typescript/module/ui/components/signIn/signInMethods.d.ts.map +1 -1
  608. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  609. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +2 -1
  610. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  611. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +4 -39
  612. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  613. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +2 -1
  614. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  615. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts +1 -1
  616. package/lib/typescript/module/ui/hooks/accountDialogSnapshot.d.ts.map +1 -1
  617. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +1 -1
  618. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +2 -2
  619. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  620. package/lib/typescript/module/ui/hooks/mutations/useServicesMutations.d.ts +5 -1
  621. package/lib/typescript/module/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
  622. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +19 -1
  623. package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
  624. package/lib/typescript/module/ui/hooks/queries/useAuthMethods.d.ts +13 -20
  625. package/lib/typescript/module/ui/hooks/queries/useAuthMethods.d.ts.map +1 -1
  626. package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts +1 -1
  627. package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
  628. package/lib/typescript/module/ui/hooks/queries/usePaymentQueries.d.ts +4 -4
  629. package/lib/typescript/module/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -1
  630. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +3 -5
  631. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  632. package/lib/typescript/module/ui/hooks/useAssets.d.ts +5 -5
  633. package/lib/typescript/module/ui/hooks/useAssets.d.ts.map +1 -1
  634. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +1 -1
  635. package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts +1 -1
  636. package/lib/typescript/module/ui/hooks/useDeviceSwitcher.d.ts.map +1 -1
  637. package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
  638. package/lib/typescript/module/ui/hooks/useFollow.d.ts +1 -1
  639. package/lib/typescript/module/ui/hooks/useI18n.d.ts.map +1 -1
  640. package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts +9 -7
  641. package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts.map +1 -1
  642. package/lib/typescript/module/ui/hooks/useSurfaceFrameWidth.d.ts +12 -0
  643. package/lib/typescript/module/ui/hooks/useSurfaceFrameWidth.d.ts.map +1 -0
  644. package/lib/typescript/module/ui/icons/Ionicons.d.ts +1 -1
  645. package/lib/typescript/module/ui/icons/Ionicons.d.ts.map +1 -1
  646. package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts +1 -1
  647. package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
  648. package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts +0 -15
  649. package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
  650. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +1 -1
  651. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
  652. package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
  653. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  654. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +7 -5
  655. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  656. package/lib/typescript/module/ui/oauth/browserBridge.d.ts +97 -0
  657. package/lib/typescript/module/ui/oauth/browserBridge.d.ts.map +1 -0
  658. package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts +6 -2
  659. package/lib/typescript/module/ui/runtime/createOxyRuntime.d.ts.map +1 -1
  660. package/lib/typescript/module/ui/runtime/runtimeContext.d.ts +2 -1
  661. package/lib/typescript/module/ui/runtime/runtimeContext.d.ts.map +1 -1
  662. package/lib/typescript/module/ui/runtime/types.d.ts +2 -1
  663. package/lib/typescript/module/ui/runtime/types.d.ts.map +1 -1
  664. package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts +11 -0
  665. package/lib/typescript/module/ui/screens/AccountSecurityPanelScreen.d.ts.map +1 -0
  666. package/lib/typescript/module/ui/screens/DeleteAccountScreen.d.ts +6 -0
  667. package/lib/typescript/module/ui/screens/DeleteAccountScreen.d.ts.map +1 -0
  668. package/lib/typescript/module/ui/screens/{SavesCollectionsScreen.d.ts → DomainsScreen.d.ts} +1 -1
  669. package/lib/typescript/module/ui/screens/DomainsScreen.d.ts.map +1 -0
  670. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  671. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  672. package/lib/typescript/module/ui/screens/LinkCommonsScreen.d.ts +6 -0
  673. package/lib/typescript/module/ui/screens/LinkCommonsScreen.d.ts.map +1 -0
  674. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  675. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  676. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  677. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  678. package/lib/typescript/module/ui/screens/SignInAuthenticatorScreen.d.ts +6 -0
  679. package/lib/typescript/module/ui/screens/SignInAuthenticatorScreen.d.ts.map +1 -0
  680. package/lib/typescript/module/ui/screens/SignInPasswordScreen.d.ts +6 -0
  681. package/lib/typescript/module/ui/screens/SignInPasswordScreen.d.ts.map +1 -0
  682. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  683. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  684. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  685. package/lib/typescript/module/ui/session/authStore.d.ts +1 -1
  686. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  687. package/lib/typescript/module/ui/session/backgroundSession.d.ts +3 -4
  688. package/lib/typescript/module/ui/session/backgroundSession.d.ts.map +1 -1
  689. package/lib/typescript/module/ui/session/createSessionClient.d.ts +2 -1
  690. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  691. package/lib/typescript/module/ui/session/deviceCredentialTracker.d.ts +23 -0
  692. package/lib/typescript/module/ui/session/deviceCredentialTracker.d.ts.map +1 -0
  693. package/lib/typescript/module/ui/session/identityBinding.d.ts +1 -1
  694. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -1
  695. package/lib/typescript/module/ui/session/index.d.ts +1 -1
  696. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  697. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +1 -1
  698. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -1
  699. package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts +1 -1
  700. package/lib/typescript/module/ui/session/sharedDeviceCredentialStore.d.ts.map +1 -1
  701. package/lib/typescript/module/ui/session/tokenTransport.d.ts +3 -2
  702. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  703. package/lib/typescript/module/ui/stores/assetStore.d.ts +7 -0
  704. package/lib/typescript/module/ui/stores/assetStore.d.ts.map +1 -1
  705. package/lib/typescript/module/ui/types/navigation.d.ts +1 -1
  706. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  707. package/lib/typescript/module/ui/utils/accountDeletionHandoff.d.ts.map +1 -1
  708. package/lib/typescript/module/ui/utils/deviceCredential.d.ts +10 -3
  709. package/lib/typescript/module/ui/utils/deviceCredential.d.ts.map +1 -1
  710. package/lib/typescript/module/ui/utils/fileManagement.d.ts +1 -5
  711. package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
  712. package/package.json +4 -5
  713. package/src/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  714. package/src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  715. package/src/assets/fonts/icons/manifest.json +5 -20
  716. package/src/index.ts +8 -8
  717. package/src/ui/boot/__tests__/coldBootNoIdpRedirect.test.ts +4 -4
  718. package/src/ui/boot/runProviderColdBoot.ts +3 -9
  719. package/src/ui/components/OxyAccountDialogScreen.tsx +2 -3
  720. package/src/ui/components/OxyAuthChooser.tsx +14 -36
  721. package/src/ui/components/OxySignInButton.tsx +1 -1
  722. package/src/ui/components/OxySignInRequestSurface.tsx +2 -1
  723. package/src/ui/components/ProfileButton.tsx +1 -1
  724. package/src/ui/components/SurfaceScreen.tsx +19 -11
  725. package/src/ui/components/authChooser/AccountsMenuView.tsx +1 -6
  726. package/src/ui/components/authChooser/SignInRequestView.tsx +5 -23
  727. package/src/ui/components/authChooser/TroubleDisclosure.tsx +1 -1
  728. package/src/ui/components/authChooser/primitives.tsx +1 -1
  729. package/src/ui/components/authChooser/requestSurfaces.tsx +2 -1
  730. package/src/ui/components/authChooser/signInFailureMessage.ts +1 -1
  731. package/src/ui/components/authChooser/signInProgress.ts +2 -1
  732. package/src/ui/components/authChooser/types.ts +1 -13
  733. package/src/ui/components/signIn/InlineCommonsQr.tsx +2 -2
  734. package/src/ui/components/signIn/OxyAccountPicker.tsx +1 -1
  735. package/src/ui/components/signIn/OxyAuthScreen.tsx +14 -5
  736. package/src/ui/components/signIn/OxyAuthenticatorPanel.tsx +294 -0
  737. package/src/ui/components/signIn/OxyDeleteAccountPanel.tsx +48 -61
  738. package/src/ui/components/signIn/OxyLinkCommonsPanel.tsx +43 -35
  739. package/src/ui/components/signIn/OxyPasswordPanel.tsx +117 -0
  740. package/src/ui/components/signIn/OxySignInPanel.tsx +542 -203
  741. package/src/ui/components/signIn/OxySignUpPanel.tsx +186 -56
  742. package/src/ui/components/signIn/ReauthStep.tsx +201 -0
  743. package/src/ui/components/signIn/accountFlowParts.tsx +139 -33
  744. package/src/ui/components/signIn/signInFlowStore.ts +41 -0
  745. package/src/ui/components/signIn/signInMethods.ts +12 -27
  746. package/src/ui/context/OxyContext.tsx +124 -145
  747. package/src/ui/context/hooks/useAuthOperations.ts +9 -8
  748. package/src/ui/context/oxyContextTypes.ts +4 -41
  749. package/src/ui/context/useOxyAccountGraph.ts +6 -5
  750. package/src/ui/hooks/accountDialogSnapshot.ts +1 -1
  751. package/src/ui/hooks/mutations/mutationFactory.ts +1 -1
  752. package/src/ui/hooks/mutations/useAccountMutations.ts +11 -10
  753. package/src/ui/hooks/mutations/useServicesMutations.ts +4 -4
  754. package/src/ui/hooks/queries/queryKeys.ts +26 -2
  755. package/src/ui/hooks/queries/useAccountQueries.ts +8 -8
  756. package/src/ui/hooks/queries/useAuthMethods.ts +22 -19
  757. package/src/ui/hooks/queries/useFileQueries.ts +2 -2
  758. package/src/ui/hooks/queries/usePaymentQueries.ts +8 -8
  759. package/src/ui/hooks/queries/useSecurityQueries.ts +4 -3
  760. package/src/ui/hooks/queries/useServicesQueries.ts +6 -6
  761. package/src/ui/hooks/useAssets.ts +26 -31
  762. package/src/ui/hooks/useAvatarPicker.ts +4 -4
  763. package/src/ui/hooks/useDeviceManagement.ts +4 -4
  764. package/src/ui/hooks/useDeviceSwitcher.ts +2 -7
  765. package/src/ui/hooks/useFileDownloadUrl.ts +1 -5
  766. package/src/ui/hooks/useFollow.ts +2 -2
  767. package/src/ui/hooks/useFollowTarget.ts +5 -5
  768. package/src/ui/hooks/useI18n.ts +6 -3
  769. package/src/ui/hooks/useResolvedFileUrls.ts +8 -6
  770. package/src/ui/hooks/useSessionManagement.ts +3 -3
  771. package/src/ui/hooks/useSurfaceFrameWidth.ts +21 -0
  772. package/src/ui/icons/subsetGlyphMaps.ts +0 -15
  773. package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +1 -1
  774. package/src/ui/navigation/accountDialogManager.ts +1 -1
  775. package/src/ui/navigation/routes.ts +11 -8
  776. package/src/ui/navigation/surfaceRegistry.ts +8 -6
  777. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +8 -8
  778. package/src/ui/oauth/__tests__/browserBridge.test.ts +198 -0
  779. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +1 -1
  780. package/src/ui/oauth/__tests__/explicitOAuthConsent.test.ts +11 -11
  781. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +7 -7
  782. package/src/ui/oauth/browserBridge.ts +234 -0
  783. package/src/ui/oauth/completeOAuthCode.ts +1 -1
  784. package/src/ui/oauth/explicitOAuthConsent.ts +1 -1
  785. package/src/ui/runtime/createOxyRuntime.ts +8 -16
  786. package/src/ui/runtime/runtimeContext.tsx +2 -1
  787. package/src/ui/runtime/types.ts +2 -1
  788. package/src/ui/screens/AccountMembersScreen.tsx +7 -7
  789. package/src/ui/screens/AccountSecurityPanelScreen.tsx +26 -0
  790. package/src/ui/screens/AccountSettingsScreen.tsx +3 -3
  791. package/src/ui/screens/AccountVerificationScreen.tsx +1 -1
  792. package/src/ui/screens/AppInfoScreen.tsx +5 -5
  793. package/src/ui/screens/AvatarCropScreen.tsx +3 -3
  794. package/src/ui/screens/ChangeAvatarScreen.tsx +1 -1
  795. package/src/ui/screens/CreateAccountScreen.tsx +1 -1
  796. package/src/ui/screens/DeleteAccountScreen.tsx +13 -0
  797. package/src/ui/screens/DomainsScreen.tsx +187 -0
  798. package/src/ui/screens/EditProfileScreen.tsx +1 -1
  799. package/src/ui/screens/FileManagementScreen.tsx +15 -21
  800. package/src/ui/screens/HelpSupportScreen.tsx +0 -15
  801. package/src/ui/screens/LinkCommonsScreen.tsx +13 -0
  802. package/src/ui/screens/ManageAccountScreen.tsx +47 -82
  803. package/src/ui/screens/PrivacySettingsScreen.tsx +48 -67
  804. package/src/ui/screens/ProfileScreen.tsx +5 -10
  805. package/src/ui/screens/SearchSettingsScreen.tsx +15 -27
  806. package/src/ui/screens/SignInAuthenticatorScreen.tsx +13 -0
  807. package/src/ui/screens/SignInPasswordScreen.tsx +13 -0
  808. package/src/ui/screens/UserListScreen.tsx +3 -3
  809. package/src/ui/screens/WelcomeNewUserScreen.tsx +1 -1
  810. package/src/ui/screens/trust/TrustCenterScreen.tsx +25 -29
  811. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +2 -2
  812. package/src/ui/screens/trust/TrustRewardsScreen.tsx +9 -19
  813. package/src/ui/screens/trust/TrustRulesScreen.tsx +14 -14
  814. package/src/ui/session/__tests__/authStore.test.ts +1 -1
  815. package/src/ui/session/__tests__/backgroundSession.test.ts +2 -61
  816. package/src/ui/session/__tests__/createSessionClient.test.ts +7 -9
  817. package/src/ui/session/__tests__/sharedDeviceCredentialStore.test.ts +1 -1
  818. package/src/ui/session/__tests__/tokenTransport.test.ts +9 -7
  819. package/src/ui/session/authStore.ts +1 -7
  820. package/src/ui/session/backgroundSession.ts +5 -41
  821. package/src/ui/session/createSessionClient.ts +2 -6
  822. package/src/ui/session/deviceCredentialTracker.ts +49 -0
  823. package/src/ui/session/identityBinding.ts +1 -6
  824. package/src/ui/session/index.ts +1 -1
  825. package/src/ui/session/nativeSecureStorage.ts +1 -1
  826. package/src/ui/session/sharedDeviceCredentialStore.ts +1 -6
  827. package/src/ui/session/tokenTransport.ts +5 -4
  828. package/src/ui/stores/__tests__/followStore.test.ts +13 -15
  829. package/src/ui/stores/assetStore.ts +15 -0
  830. package/src/ui/stores/followStore.ts +7 -7
  831. package/src/ui/types/navigation.ts +2 -1
  832. package/src/ui/utils/accountDeletionHandoff.ts +2 -4
  833. package/src/ui/utils/avatarUtils.ts +1 -1
  834. package/src/ui/utils/deviceCredential.ts +11 -4
  835. package/src/ui/utils/fileManagement.ts +0 -12
  836. package/src/ui/utils/sessionHelpers.ts +2 -2
  837. package/lib/commonjs/ui/components/signIn/OxyCreateAccountPanel.js +0 -236
  838. package/lib/commonjs/ui/components/signIn/OxyCreateAccountPanel.js.map +0 -1
  839. package/lib/commonjs/ui/components/signIn/OxyRecoverAccountPanel.js +0 -170
  840. package/lib/commonjs/ui/components/signIn/OxyRecoverAccountPanel.js.map +0 -1
  841. package/lib/commonjs/ui/components/signIn/passkeyError.js +0 -46
  842. package/lib/commonjs/ui/components/signIn/passkeyError.js.map +0 -1
  843. package/lib/commonjs/ui/context/passkeyFlow.js +0 -114
  844. package/lib/commonjs/ui/context/passkeyFlow.js.map +0 -1
  845. package/lib/commonjs/ui/screens/FAQScreen.js +0 -162
  846. package/lib/commonjs/ui/screens/FAQScreen.js.map +0 -1
  847. package/lib/commonjs/ui/screens/FeedbackScreen.js +0 -601
  848. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +0 -1
  849. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +0 -968
  850. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +0 -1
  851. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +0 -132
  852. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +0 -1
  853. package/lib/commonjs/webauthn/passkeyClient.js +0 -39
  854. package/lib/commonjs/webauthn/passkeyClient.js.map +0 -1
  855. package/lib/commonjs/webauthn/passkeyClient.native.js +0 -34
  856. package/lib/commonjs/webauthn/passkeyClient.native.js.map +0 -1
  857. package/lib/commonjs/webauthn/passkeyClient.web.js +0 -57
  858. package/lib/commonjs/webauthn/passkeyClient.web.js.map +0 -1
  859. package/lib/module/ui/components/signIn/OxyCreateAccountPanel.js +0 -231
  860. package/lib/module/ui/components/signIn/OxyCreateAccountPanel.js.map +0 -1
  861. package/lib/module/ui/components/signIn/OxyRecoverAccountPanel.js +0 -165
  862. package/lib/module/ui/components/signIn/OxyRecoverAccountPanel.js.map +0 -1
  863. package/lib/module/ui/components/signIn/passkeyError.js +0 -40
  864. package/lib/module/ui/components/signIn/passkeyError.js.map +0 -1
  865. package/lib/module/ui/context/passkeyFlow.js +0 -107
  866. package/lib/module/ui/context/passkeyFlow.js.map +0 -1
  867. package/lib/module/ui/screens/FAQScreen.js +0 -157
  868. package/lib/module/ui/screens/FAQScreen.js.map +0 -1
  869. package/lib/module/ui/screens/FeedbackScreen.js +0 -599
  870. package/lib/module/ui/screens/FeedbackScreen.js.map +0 -1
  871. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +0 -963
  872. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +0 -1
  873. package/lib/module/ui/screens/SavesCollectionsScreen.js +0 -127
  874. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +0 -1
  875. package/lib/module/webauthn/passkeyClient.js +0 -33
  876. package/lib/module/webauthn/passkeyClient.js.map +0 -1
  877. package/lib/module/webauthn/passkeyClient.native.js +0 -28
  878. package/lib/module/webauthn/passkeyClient.native.js.map +0 -1
  879. package/lib/module/webauthn/passkeyClient.web.js +0 -52
  880. package/lib/module/webauthn/passkeyClient.web.js.map +0 -1
  881. package/lib/typescript/commonjs/ui/components/signIn/OxyCreateAccountPanel.d.ts +0 -24
  882. package/lib/typescript/commonjs/ui/components/signIn/OxyCreateAccountPanel.d.ts.map +0 -1
  883. package/lib/typescript/commonjs/ui/components/signIn/OxyRecoverAccountPanel.d.ts +0 -20
  884. package/lib/typescript/commonjs/ui/components/signIn/OxyRecoverAccountPanel.d.ts.map +0 -1
  885. package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts +0 -16
  886. package/lib/typescript/commonjs/ui/components/signIn/passkeyError.d.ts.map +0 -1
  887. package/lib/typescript/commonjs/ui/context/passkeyFlow.d.ts +0 -92
  888. package/lib/typescript/commonjs/ui/context/passkeyFlow.d.ts.map +0 -1
  889. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts +0 -5
  890. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +0 -1
  891. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts +0 -5
  892. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +0 -1
  893. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts +0 -5
  894. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +0 -1
  895. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +0 -1
  896. package/lib/typescript/commonjs/webauthn/passkeyClient.d.ts +0 -20
  897. package/lib/typescript/commonjs/webauthn/passkeyClient.d.ts.map +0 -1
  898. package/lib/typescript/commonjs/webauthn/passkeyClient.native.d.ts +0 -15
  899. package/lib/typescript/commonjs/webauthn/passkeyClient.native.d.ts.map +0 -1
  900. package/lib/typescript/commonjs/webauthn/passkeyClient.web.d.ts +0 -36
  901. package/lib/typescript/commonjs/webauthn/passkeyClient.web.d.ts.map +0 -1
  902. package/lib/typescript/module/ui/components/signIn/OxyCreateAccountPanel.d.ts +0 -24
  903. package/lib/typescript/module/ui/components/signIn/OxyCreateAccountPanel.d.ts.map +0 -1
  904. package/lib/typescript/module/ui/components/signIn/OxyRecoverAccountPanel.d.ts +0 -20
  905. package/lib/typescript/module/ui/components/signIn/OxyRecoverAccountPanel.d.ts.map +0 -1
  906. package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts +0 -16
  907. package/lib/typescript/module/ui/components/signIn/passkeyError.d.ts.map +0 -1
  908. package/lib/typescript/module/ui/context/passkeyFlow.d.ts +0 -92
  909. package/lib/typescript/module/ui/context/passkeyFlow.d.ts.map +0 -1
  910. package/lib/typescript/module/ui/screens/FAQScreen.d.ts +0 -5
  911. package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +0 -1
  912. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts +0 -5
  913. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +0 -1
  914. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts +0 -5
  915. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +0 -1
  916. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +0 -1
  917. package/lib/typescript/module/webauthn/passkeyClient.d.ts +0 -20
  918. package/lib/typescript/module/webauthn/passkeyClient.d.ts.map +0 -1
  919. package/lib/typescript/module/webauthn/passkeyClient.native.d.ts +0 -15
  920. package/lib/typescript/module/webauthn/passkeyClient.native.d.ts.map +0 -1
  921. package/lib/typescript/module/webauthn/passkeyClient.web.d.ts +0 -36
  922. package/lib/typescript/module/webauthn/passkeyClient.web.d.ts.map +0 -1
  923. package/src/ui/components/signIn/OxyCreateAccountPanel.tsx +0 -207
  924. package/src/ui/components/signIn/OxyRecoverAccountPanel.tsx +0 -154
  925. package/src/ui/components/signIn/passkeyError.ts +0 -44
  926. package/src/ui/context/__tests__/passkeyFlow.test.ts +0 -239
  927. package/src/ui/context/passkeyFlow.ts +0 -145
  928. package/src/ui/screens/FAQScreen.tsx +0 -200
  929. package/src/ui/screens/FeedbackScreen.tsx +0 -766
  930. package/src/ui/screens/PremiumSubscriptionScreen.tsx +0 -1103
  931. package/src/ui/screens/SavesCollectionsScreen.tsx +0 -167
  932. package/src/webauthn/passkeyClient.native.ts +0 -26
  933. package/src/webauthn/passkeyClient.ts +0 -31
  934. package/src/webauthn/passkeyClient.web.ts +0 -56
@@ -1,968 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = require("react");
8
- var _reactNative = require("react-native");
9
- var _toast = require("@oxy.so/bloom/toast");
10
- var _surfaces = require("@oxy.so/bloom/surfaces");
11
- var _theme = require("@oxy.so/bloom/theme");
12
- var _button = require("@oxy.so/bloom/button");
13
- var _chip = require("@oxy.so/bloom/chip");
14
- var _badge = require("@oxy.so/bloom/badge");
15
- var _card = require("@oxy.so/bloom/card");
16
- var _typography = require("@oxy.so/bloom/typography");
17
- var _BenefitList = require("../components/BenefitList.js");
18
- var _segmentedControl = require("@oxy.so/bloom/segmented-control");
19
- var _Ionicons = _interopRequireDefault(require("../icons/Ionicons.js"));
20
- var _useI18n = require("../hooks/useI18n.js");
21
- var _useSurfaceHeader = require("../hooks/useSurfaceHeader.js");
22
- var _OxyContext = require("../context/OxyContext.js");
23
- var _jsxRuntime = require("react/jsx-runtime");
24
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
- const TAB_PLANS = 'plans';
26
- const TAB_FEATURES = 'features';
27
- const BILLING_MONTH = 'month';
28
- const BILLING_YEAR = 'year';
29
- /** Yearly billing discount applied when extrapolating a monthly price. */
30
- const YEARLY_DISCOUNT = 0.8;
31
- const MONTHS_PER_YEAR = 12;
32
- /** Simulated payment latency for the mocked subscribe/feature flows (ms). */
33
- const SUBSCRIBE_DELAY_MS = 2000;
34
- const FEATURE_DELAY_MS = 1500;
35
- /** One subscription period for the mocked renewal date (30 days, in ms). */
36
- const PERIOD_MS = 30 * 24 * 60 * 60 * 1000;
37
- const FEATURE_CATEGORIES = ['analytics', 'customization', 'content', 'networking', 'productivity'];
38
-
39
- // Pure package-name → display-name mapping (module scope so the nav-header
40
- // subtitle can reference it before the component's render helpers).
41
- const getAppDisplayName = packageName => {
42
- const appNames = {
43
- 'mention': 'Mention',
44
- 'oxy-social': 'Oxy Social',
45
- 'oxy-workspace': 'Oxy Workspace',
46
- 'oxy-creator': 'Oxy Creator',
47
- 'oxy-analytics': 'Oxy Analytics',
48
- 'oxy-studio': 'Oxy Studio'
49
- };
50
- return appNames[packageName] || packageName;
51
- };
52
- const PremiumSubscriptionScreen = ({
53
- onClose,
54
- navigate,
55
- goBack
56
- }) => {
57
- // Premium state belongs to the ACTIVE account (the org/project/bot when
58
- // switched, else the personal user), not the device-session owner.
59
- const {
60
- user
61
- } = (0, _OxyContext.useOxy)();
62
- const [loading, setLoading] = (0, _react.useState)(true);
63
- const [subscription, setSubscription] = (0, _react.useState)(null);
64
- const [plans, setPlans] = (0, _react.useState)([]);
65
- const [individualFeatures, setIndividualFeatures] = (0, _react.useState)([]);
66
- const [selectedPlan, setSelectedPlan] = (0, _react.useState)(null);
67
- const [processingPayment, setProcessingPayment] = (0, _react.useState)(false);
68
- const [billingInterval, setBillingInterval] = (0, _react.useState)(BILLING_MONTH);
69
- const [activeTab, setActiveTab] = (0, _react.useState)(TAB_PLANS);
70
- const [currentAppPackage, setCurrentAppPackage] = (0, _react.useState)('mention'); // Default to mention for demo
71
-
72
- const {
73
- t
74
- } = (0, _useI18n.useI18n)();
75
- (0, _useSurfaceHeader.useSurfaceHeader)({
76
- title: t('premium.title') || 'Oxy+ Subscriptions',
77
- subtitle: t('premium.forApp', {
78
- app: getAppDisplayName(currentAppPackage)
79
- }) || `for ${getAppDisplayName(currentAppPackage)}`
80
- });
81
- const bloomTheme = (0, _theme.useTheme)();
82
- const colors = bloomTheme.colors;
83
-
84
- // Oxy+ subscription plans
85
- const mockPlans = [{
86
- id: 'mention-plus',
87
- name: 'Mention+',
88
- description: 'Enhanced features for better social experience',
89
- price: 4.99,
90
- currency: 'USD',
91
- interval: 'month',
92
- appScope: 'specific',
93
- applicableApps: ['mention'],
94
- // Only available in mention app
95
- features: ['Undo posts option', 'Improved reading mode', 'Organize bookmarks into folders', 'Early access to select features', 'Edit posts capability', 'Enhanced customization options'],
96
- includedFeatures: ['reading-mode-plus', 'custom-themes']
97
- }, {
98
- id: 'oxy-insider',
99
- name: 'Oxy+ Insider',
100
- description: 'Exclusive access to behind-the-scenes content',
101
- price: 9.99,
102
- currency: 'USD',
103
- interval: 'month',
104
- appScope: 'ecosystem',
105
- applicableApps: ['mention', 'oxy-social', 'oxy-workspace', 'oxy-creator'],
106
- features: ['Everything in Mention+', 'Behind-the-scenes updates from creators', 'Early access to new features', 'Dedicated support team', 'Exclusive content access', 'Beta feature testing'],
107
- includedFeatures: ['reading-mode-plus', 'custom-themes', 'analytics-basic'],
108
- isPopular: true
109
- }, {
110
- id: 'oxy-connect',
111
- name: 'Oxy+ Connect',
112
- description: 'Advanced networking and community features',
113
- price: 14.99,
114
- currency: 'USD',
115
- interval: 'month',
116
- appScope: 'ecosystem',
117
- applicableApps: ['mention', 'oxy-social', 'oxy-workspace', 'oxy-creator'],
118
- features: ['Everything in Oxy+ Insider', 'Create and join private groups', 'Advanced search and filtering tools', 'Customizable profile highlighting', 'Enhanced connection features', 'Priority in community events'],
119
- includedFeatures: ['reading-mode-plus', 'custom-themes', 'analytics-basic', 'group-management']
120
- }, {
121
- id: 'oxy-premium',
122
- name: 'Oxy+ Premium',
123
- description: 'Complete premium experience with all perks',
124
- price: 24.99,
125
- currency: 'USD',
126
- interval: 'month',
127
- appScope: 'ecosystem',
128
- applicableApps: ['mention', 'oxy-social', 'oxy-workspace', 'oxy-creator', 'oxy-analytics'],
129
- features: ['Everything in Oxy+ Connect', 'Priority customer support', 'Access to premium content and events', 'Advanced analytics dashboard', 'VIP community status', 'Exclusive premium events'],
130
- includedFeatures: ['reading-mode-plus', 'custom-themes', 'analytics-basic', 'analytics-advanced', 'group-management']
131
- }, {
132
- id: 'oxy-creator',
133
- name: 'Oxy+ Creator',
134
- description: 'Professional tools for content creators',
135
- price: 39.99,
136
- currency: 'USD',
137
- interval: 'month',
138
- appScope: 'ecosystem',
139
- applicableApps: ['mention', 'oxy-social', 'oxy-workspace', 'oxy-creator', 'oxy-analytics', 'oxy-studio'],
140
- features: ['Everything in Oxy+ Premium', 'Advanced analytics and insights', 'Promotional tools and resources', 'Content monetization features', 'Creator support program', 'Revenue sharing opportunities'],
141
- includedFeatures: ['reading-mode-plus', 'custom-themes', 'analytics-basic', 'analytics-advanced', 'group-management', 'creator-tools', 'monetization-features']
142
- }];
143
-
144
- // Individual feature subscriptions
145
- const mockIndividualFeatures = [{
146
- id: 'analytics-basic',
147
- name: 'Basic Analytics',
148
- description: 'View post performance and engagement metrics',
149
- price: 2.99,
150
- currency: 'USD',
151
- interval: 'month',
152
- category: 'analytics',
153
- appScope: 'ecosystem',
154
- applicableApps: ['mention', 'oxy-social', 'oxy-workspace'],
155
- canBePurchasedSeparately: true,
156
- includedInPlans: ['oxy-insider', 'oxy-connect', 'oxy-premium', 'oxy-creator']
157
- }, {
158
- id: 'analytics-advanced',
159
- name: 'Advanced Analytics',
160
- description: 'Detailed insights, trends, and audience demographics',
161
- price: 7.99,
162
- currency: 'USD',
163
- interval: 'month',
164
- category: 'analytics',
165
- appScope: 'ecosystem',
166
- applicableApps: ['mention', 'oxy-social', 'oxy-workspace', 'oxy-creator', 'oxy-analytics'],
167
- canBePurchasedSeparately: true,
168
- includedInPlans: ['oxy-premium', 'oxy-creator']
169
- }, {
170
- id: 'custom-themes',
171
- name: 'Custom Themes',
172
- description: 'Personalize your app with custom colors and layouts',
173
- price: 1.99,
174
- currency: 'USD',
175
- interval: 'month',
176
- category: 'customization',
177
- appScope: 'ecosystem',
178
- applicableApps: ['mention', 'oxy-social', 'oxy-workspace', 'oxy-creator'],
179
- canBePurchasedSeparately: false,
180
- // Included in all plans
181
- includedInPlans: ['mention-plus', 'oxy-insider', 'oxy-connect', 'oxy-premium', 'oxy-creator']
182
- }, {
183
- id: 'reading-mode-plus',
184
- name: 'Reading Mode Plus',
185
- description: 'Enhanced reading experience with focus modes',
186
- price: 1.99,
187
- currency: 'USD',
188
- interval: 'month',
189
- category: 'content',
190
- appScope: 'specific',
191
- applicableApps: ['mention', 'oxy-social'],
192
- canBePurchasedSeparately: false,
193
- // Included in all plans
194
- includedInPlans: ['mention-plus', 'oxy-insider', 'oxy-connect', 'oxy-premium', 'oxy-creator']
195
- }, {
196
- id: 'group-management',
197
- name: 'Group Management',
198
- description: 'Create and manage private groups and communities',
199
- price: 4.99,
200
- currency: 'USD',
201
- interval: 'month',
202
- category: 'networking',
203
- appScope: 'ecosystem',
204
- applicableApps: ['mention', 'oxy-social', 'oxy-workspace'],
205
- canBePurchasedSeparately: true,
206
- includedInPlans: ['oxy-connect', 'oxy-premium', 'oxy-creator']
207
- }, {
208
- id: 'creator-tools',
209
- name: 'Creator Tools Suite',
210
- description: 'Professional content creation and editing tools',
211
- price: 9.99,
212
- currency: 'USD',
213
- interval: 'month',
214
- category: 'productivity',
215
- appScope: 'specific',
216
- applicableApps: ['oxy-creator', 'oxy-studio'],
217
- canBePurchasedSeparately: true,
218
- includedInPlans: ['oxy-creator']
219
- }, {
220
- id: 'monetization-features',
221
- name: 'Monetization Features',
222
- description: 'Revenue sharing, sponsorship tools, and creator fund access',
223
- price: 12.99,
224
- currency: 'USD',
225
- interval: 'month',
226
- category: 'productivity',
227
- appScope: 'specific',
228
- applicableApps: ['oxy-creator'],
229
- canBePurchasedSeparately: true,
230
- includedInPlans: ['oxy-creator']
231
- }, {
232
- id: 'workspace-collaboration',
233
- name: 'Workspace Collaboration',
234
- description: 'Advanced team features and project management tools',
235
- price: 6.99,
236
- currency: 'USD',
237
- interval: 'month',
238
- category: 'productivity',
239
- appScope: 'specific',
240
- applicableApps: ['oxy-workspace'],
241
- canBePurchasedSeparately: true,
242
- includedInPlans: ['oxy-premium', 'oxy-creator']
243
- }];
244
- (0, _react.useEffect)(() => {
245
- detectCurrentApp();
246
- }, []);
247
- (0, _react.useEffect)(() => {
248
- if (currentAppPackage) {
249
- loadSubscriptionData();
250
- }
251
- }, [currentAppPackage]);
252
- const detectCurrentApp = () => {
253
- const detectedApp = 'mention';
254
- setCurrentAppPackage(detectedApp);
255
- };
256
- const loadSubscriptionData = async () => {
257
- try {
258
- setLoading(true);
259
- const availablePlans = mockPlans.filter(plan => plan.applicableApps.includes(currentAppPackage));
260
- setPlans(availablePlans);
261
- let currentSubscription = null;
262
- if (user?.isPremium) {
263
- currentSubscription = {
264
- id: 'sub_12345',
265
- planId: 'oxy-insider',
266
- status: 'active',
267
- currentPeriodStart: new Date().toISOString(),
268
- currentPeriodEnd: new Date(Date.now() + PERIOD_MS).toISOString(),
269
- cancelAtPeriodEnd: false
270
- };
271
- setSubscription(currentSubscription);
272
- }
273
- const availableFeatures = mockIndividualFeatures.filter(feature => feature.applicableApps.includes(currentAppPackage));
274
- const updatedFeatures = availableFeatures.map(feature => {
275
- const isIncludedInCurrentPlan = !!(currentSubscription && feature.includedInPlans.includes(currentSubscription.planId));
276
- return {
277
- ...feature,
278
- isIncludedInCurrentPlan,
279
- isSubscribed: !!isIncludedInCurrentPlan
280
- };
281
- });
282
- setIndividualFeatures(updatedFeatures);
283
- } catch (error) {
284
- if (__DEV__) {
285
- console.error('Failed to load subscription data:', error);
286
- }
287
- _toast.toast.error('Failed to load subscription information');
288
- } finally {
289
- setLoading(false);
290
- }
291
- };
292
- const handleSubscribe = async planId => {
293
- try {
294
- const planToSubscribe = mockPlans.find(plan => plan.id === planId);
295
- if (!planToSubscribe?.applicableApps.includes(currentAppPackage)) {
296
- _toast.toast.error(t('premium.toasts.planUnavailable', {
297
- app: currentAppPackage
298
- }) || `This plan is not available for the current app (${currentAppPackage})`);
299
- return;
300
- }
301
- if (planId === 'mention-plus' && currentAppPackage !== 'mention') {
302
- _toast.toast.error(t('premium.toasts.mentionOnly') || 'Mention+ is only available in the Mention app');
303
- return;
304
- }
305
- setSelectedPlan(planId);
306
- setProcessingPayment(true);
307
- await new Promise(resolve => setTimeout(resolve, SUBSCRIBE_DELAY_MS));
308
- _toast.toast.success(t('premium.toasts.activated') || 'Subscription activated successfully!');
309
- setSubscription({
310
- id: `sub_${Date.now()}`,
311
- planId,
312
- status: 'active',
313
- currentPeriodStart: new Date().toISOString(),
314
- currentPeriodEnd: new Date(Date.now() + PERIOD_MS).toISOString(),
315
- cancelAtPeriodEnd: false
316
- });
317
- loadSubscriptionData();
318
- } catch (error) {
319
- if (__DEV__) {
320
- console.error('Payment failed:', error);
321
- }
322
- _toast.toast.error(t('premium.toasts.paymentFailed') || 'Payment failed. Please try again.');
323
- } finally {
324
- setProcessingPayment(false);
325
- }
326
- };
327
- const handleCancelSubscription = (0, _react.useCallback)(async () => {
328
- const confirmed = await _surfaces.surfaces.confirm({
329
- title: t('premium.confirms.cancelSubTitle') || 'Cancel Subscription',
330
- description: t('premium.confirms.cancelSub') || 'Are you sure you want to cancel your subscription? You will lose access to premium features at the end of your current billing period.',
331
- confirmLabel: t('premium.actions.cancelSubBtn') || 'Cancel Subscription',
332
- cancelLabel: t('common.cancel') || 'Cancel',
333
- destructive: true
334
- });
335
- if (!confirmed) return;
336
- try {
337
- setSubscription(prev => prev ? {
338
- ...prev,
339
- cancelAtPeriodEnd: true
340
- } : null);
341
- _toast.toast.success(t('premium.toasts.willCancel') || 'Subscription will be canceled at the end of the billing period');
342
- } catch (error) {
343
- _toast.toast.error(t('premium.toasts.cancelFailed') || 'Failed to cancel subscription');
344
- }
345
- }, [t]);
346
- const handleReactivateSubscription = (0, _react.useCallback)(async () => {
347
- try {
348
- setSubscription(prev => prev ? {
349
- ...prev,
350
- cancelAtPeriodEnd: false
351
- } : null);
352
- _toast.toast.success(t('premium.toasts.reactivated') || 'Subscription reactivated successfully');
353
- } catch (error) {
354
- _toast.toast.error(t('premium.toasts.reactivateFailed') || 'Failed to reactivate subscription');
355
- }
356
- }, [t]);
357
- const formatPrice = (price, interval) => {
358
- const yearlyPrice = interval === 'year' ? price : price * MONTHS_PER_YEAR * YEARLY_DISCOUNT;
359
- const displayPrice = billingInterval === 'year' ? yearlyPrice : price;
360
- return {
361
- price: displayPrice,
362
- formatted: `$${displayPrice.toFixed(2)}`,
363
- interval: billingInterval === 'year' ? 'year' : 'month'
364
- };
365
- };
366
- const getCurrentPlan = () => {
367
- if (!subscription) return null;
368
- return plans.find(plan => plan.id === subscription.planId);
369
- };
370
- const handleFeatureSubscribe = async featureId => {
371
- try {
372
- const featureToSubscribe = mockIndividualFeatures.find(feature => feature.id === featureId);
373
- if (!featureToSubscribe?.applicableApps.includes(currentAppPackage)) {
374
- _toast.toast.error(`This feature is not available for the current app (${currentAppPackage})`);
375
- return;
376
- }
377
- if (featureToSubscribe.appScope === 'specific') {
378
- const hasExactMatch = featureToSubscribe.applicableApps.length === 1 && featureToSubscribe.applicableApps[0] === currentAppPackage;
379
- if (!hasExactMatch && featureToSubscribe.applicableApps.length === 1) {
380
- const requiredApp = featureToSubscribe.applicableApps[0];
381
- _toast.toast.error(`${featureToSubscribe.name} is only available in the ${requiredApp} app`);
382
- return;
383
- }
384
- }
385
- setProcessingPayment(true);
386
- await new Promise(resolve => setTimeout(resolve, FEATURE_DELAY_MS));
387
- setIndividualFeatures(prev => prev.map(feature => feature.id === featureId ? {
388
- ...feature,
389
- isSubscribed: true
390
- } : feature));
391
- const feature = individualFeatures.find(f => f.id === featureId);
392
- _toast.toast.success(t('premium.toasts.featureSubscribed', {
393
- name: feature?.name ?? ''
394
- }) ?? `Subscribed to ${feature?.name} successfully!`);
395
- } catch (error) {
396
- if (__DEV__) {
397
- console.error('Feature subscription failed:', error);
398
- }
399
- _toast.toast.error(t('premium.toasts.featureSubscribeFailed') || 'Feature subscription failed. Please try again.');
400
- } finally {
401
- setProcessingPayment(false);
402
- }
403
- };
404
- const handleFeatureUnsubscribe = (0, _react.useCallback)(async featureId => {
405
- const feature = individualFeatures.find(f => f.id === featureId);
406
- const confirmed = await _surfaces.surfaces.confirm({
407
- title: t('premium.confirms.unsubscribeFeatureTitle') || 'Unsubscribe from Feature',
408
- description: feature ? t('premium.confirms.unsubscribeFeature', {
409
- name: feature.name
410
- }) ?? `Are you sure you want to unsubscribe from ${feature.name}?` : '',
411
- confirmLabel: t('premium.actions.unsubscribe') || 'Unsubscribe',
412
- cancelLabel: t('common.cancel') || 'Cancel',
413
- destructive: true
414
- });
415
- if (!confirmed) return;
416
- try {
417
- setIndividualFeatures(prev => prev.map(f => f.id === featureId ? {
418
- ...f,
419
- isSubscribed: false
420
- } : f));
421
- _toast.toast.success(t('premium.toasts.featureUnsubscribed', {
422
- name: feature?.name ?? ''
423
- }) ?? `Unsubscribed from ${feature?.name}`);
424
- } catch (error) {
425
- _toast.toast.error(t('premium.toasts.featureUnsubscribeFailed') || 'Failed to unsubscribe from feature');
426
- }
427
- }, [individualFeatures, t]);
428
- const renderCurrentSubscription = () => {
429
- if (!subscription) return null;
430
- const currentPlan = getCurrentPlan();
431
- if (!currentPlan) return null;
432
- const statusChipColor = subscription.status === 'active' ? 'success' : subscription.status === 'trialing' ? 'warning' : 'error';
433
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
434
- className: "mb-space-24",
435
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H5, {
436
- className: "text-text mb-space-12",
437
- children: t('premium.current.title') || 'Current Subscription'
438
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.Card, {
439
- variant: "outlined",
440
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_card.CardBody, {
441
- style: {
442
- padding: 20
443
- },
444
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
445
- className: "flex-row justify-between items-start mb-space-12",
446
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
447
- className: "flex-1 pr-space-12",
448
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H4, {
449
- className: "text-text",
450
- numberOfLines: 1,
451
- children: currentPlan.name
452
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
453
- className: "text-text-secondary text-sm mt-space-2",
454
- children: `$${currentPlan.price}/month`
455
- })]
456
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_badge.Badge, {
457
- variant: "subtle",
458
- color: statusChipColor,
459
- size: "large",
460
- content: subscription.status.toUpperCase()
461
- })]
462
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
463
- className: "text-text-secondary text-sm mb-space-16",
464
- children: t('premium.current.renewsOn', {
465
- date: new Date(subscription.currentPeriodEnd).toLocaleDateString()
466
- }) || `Renews on ${new Date(subscription.currentPeriodEnd).toLocaleDateString()}`
467
- }), subscription.cancelAtPeriodEnd && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
468
- className: "flex-row items-center bg-fill-secondary rounded-radius-12 p-space-12 mb-space-16",
469
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
470
- name: "warning",
471
- size: 16,
472
- color: colors.warning
473
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
474
- className: "text-text-secondary text-sm ml-space-8 flex-1",
475
- children: t('premium.current.willCancelOn', {
476
- date: new Date(subscription.currentPeriodEnd).toLocaleDateString()
477
- }) || `Subscription will cancel on ${new Date(subscription.currentPeriodEnd).toLocaleDateString()}`
478
- })]
479
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
480
- className: "flex-row gap-space-12",
481
- children: [subscription.cancelAtPeriodEnd ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
482
- appearance: "solid",
483
- tone: "accent",
484
- onPress: handleReactivateSubscription,
485
- className: "flex-1",
486
- accessibilityLabel: t('premium.actions.reactivate') || 'Reactivate',
487
- children: t('premium.actions.reactivate') || 'Reactivate'
488
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
489
- appearance: "solid",
490
- tone: "danger",
491
- onPress: handleCancelSubscription,
492
- className: "flex-1",
493
- accessibilityLabel: t('premium.actions.cancelSubBtn') || 'Cancel Subscription',
494
- children: t('premium.actions.cancelSubBtn') || 'Cancel Subscription'
495
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
496
- appearance: "subtle",
497
- tone: "neutral",
498
- onPress: () => navigate?.('PaymentGateway'),
499
- className: "flex-1",
500
- accessibilityLabel: t('premium.actions.manageBilling') || 'Manage Billing',
501
- children: t('premium.actions.manageBilling') || 'Manage Billing'
502
- })]
503
- })]
504
- })
505
- })]
506
- });
507
- };
508
- const renderBillingToggle = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
509
- className: "mb-space-24",
510
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_segmentedControl.SegmentedControl, {
511
- label: t('premium.billing.label') || 'Billing period',
512
- type: "tabs",
513
- value: billingInterval,
514
- onChange: setBillingInterval,
515
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedControl.SegmentedControlItem, {
516
- value: BILLING_MONTH,
517
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedControl.SegmentedControlItemText, {
518
- children: t('premium.billing.monthly') || 'Monthly'
519
- })
520
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedControl.SegmentedControlItem, {
521
- value: BILLING_YEAR,
522
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedControl.SegmentedControlItemText, {
523
- children: t('premium.billing.yearly') || 'Yearly'
524
- })
525
- })]
526
- }), billingInterval === 'year' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
527
- className: "text-text-secondary text-sm text-center mt-space-12 font-medium",
528
- children: t('premium.billing.saveYearly') || 'Save 20% with yearly billing'
529
- })]
530
- });
531
- const renderPlanCard = plan => {
532
- const pricing = formatPrice(plan.price, plan.interval);
533
- const isSelected = selectedPlan === plan.id;
534
- const isCurrentPlan = subscription?.planId === plan.id;
535
- const isAppSpecific = plan.appScope === 'specific' && plan.applicableApps.length === 1;
536
- const isAvailableForCurrentApp = plan.applicableApps.includes(currentAppPackage);
537
- const getAppScopeText = () => {
538
- if (plan.appScope === 'ecosystem') {
539
- return t('premium.plan.scope.allApps') || 'Works across all Oxy apps';
540
- }
541
- if (isAppSpecific) {
542
- const appName = plan.applicableApps[0];
543
- return t('premium.plan.scope.exclusive', {
544
- app: appName
545
- }) || `Exclusive to ${appName} app`;
546
- }
547
- return t('premium.plan.scope.availableIn', {
548
- apps: plan.applicableApps.join(', ')
549
- }) || `Available in: ${plan.applicableApps.join(', ')}`;
550
- };
551
- const getAvailabilityStatus = () => {
552
- if (isAppSpecific && !isAvailableForCurrentApp) {
553
- const requiredApp = plan.applicableApps[0];
554
- return {
555
- available: false,
556
- reason: t('premium.plan.scope.exclusive', {
557
- app: requiredApp
558
- }) || `Only available in ${requiredApp} app`
559
- };
560
- }
561
- return {
562
- available: true,
563
- reason: null
564
- };
565
- };
566
- const availability = getAvailabilityStatus();
567
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.Card, {
568
- variant: "outlined",
569
- style: [{
570
- marginBottom: 16
571
- }, !availability.available ? {
572
- opacity: 0.6
573
- } : null, isSelected || plan.isPopular ? {
574
- borderColor: colors.primary,
575
- borderWidth: 2
576
- } : null],
577
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_card.CardBody, {
578
- style: {
579
- padding: 20
580
- },
581
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
582
- className: "flex-row flex-wrap gap-space-8 mb-space-12",
583
- children: [plan.isPopular && /*#__PURE__*/(0, _jsxRuntime.jsx)(_badge.Badge, {
584
- variant: "solid",
585
- color: "primary",
586
- size: "large",
587
- content: t('premium.plan.badge.mostPopular') || 'Most Popular'
588
- }), isAppSpecific && /*#__PURE__*/(0, _jsxRuntime.jsx)(_badge.Badge, {
589
- variant: "subtle",
590
- color: isAvailableForCurrentApp ? 'success' : 'warning',
591
- size: "large",
592
- content: isAvailableForCurrentApp ? t('premium.plan.badge.appExclusive') || 'App Exclusive' : t('premium.plan.badge.notAvailable') || 'Not Available'
593
- })]
594
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
595
- className: "mb-space-16",
596
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H4, {
597
- className: "text-text mb-space-4",
598
- children: plan.name
599
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
600
- className: "text-text-secondary text-sm",
601
- children: plan.description
602
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
603
- className: "text-text-tertiary text-xs mt-space-4 italic",
604
- children: getAppScopeText()
605
- }), !availability.available && /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
606
- className: "text-xs mt-space-4 font-medium",
607
- style: {
608
- color: colors.error
609
- },
610
- children: availability.reason
611
- })]
612
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
613
- className: "flex-row items-baseline mb-space-20",
614
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H2, {
615
- className: "text-text",
616
- children: pricing.formatted
617
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
618
- className: "text-text-secondary text-sm ml-space-4",
619
- children: t('premium.plan.perInterval', {
620
- interval: pricing.interval
621
- }) || `per ${pricing.interval}`
622
- })]
623
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BenefitList.BenefitList, {
624
- className: "mb-space-24",
625
- children: plan.features.map(feature => /*#__PURE__*/(0, _jsxRuntime.jsx)(_BenefitList.BenefitRow, {
626
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
627
- name: "checkmark",
628
- size: 18,
629
- color: colors.success
630
- }),
631
- label: feature
632
- }, feature))
633
- }), isCurrentPlan ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
634
- appearance: "subtle",
635
- tone: "neutral",
636
- disabled: true,
637
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
638
- name: "checkmark-circle",
639
- size: 18,
640
- color: colors.success
641
- }),
642
- accessibilityLabel: t('premium.plan.current') || 'Current Plan',
643
- className: "w-full",
644
- children: t('premium.plan.current') || 'Current Plan'
645
- }) : !availability.available ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
646
- appearance: "subtle",
647
- tone: "neutral",
648
- disabled: true,
649
- accessibilityLabel: t('premium.plan.notAvailableInApp') || 'Not Available in Current App',
650
- className: "w-full",
651
- children: t('premium.plan.notAvailableInApp') || 'Not Available in Current App'
652
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
653
- variant: plan.isPopular ? 'primary' : 'secondary',
654
- onPress: () => handleSubscribe(plan.id),
655
- disabled: processingPayment,
656
- loading: processingPayment && isSelected,
657
- accessibilityLabel: t('premium.actions.subscribeTo', {
658
- name: plan.name
659
- }) || `Subscribe to ${plan.name}`,
660
- className: "w-full",
661
- children: t('premium.actions.subscribeTo', {
662
- name: plan.name
663
- }) || `Subscribe to ${plan.name}`
664
- })]
665
- })
666
- }, plan.id);
667
- };
668
- const renderTabNavigation = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
669
- className: "mb-space-24",
670
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_segmentedControl.SegmentedControl, {
671
- label: t('premium.tabs.label') || 'Subscription type',
672
- type: "tabs",
673
- value: activeTab,
674
- onChange: setActiveTab,
675
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedControl.SegmentedControlItem, {
676
- value: TAB_PLANS,
677
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedControl.SegmentedControlItemText, {
678
- children: t('premium.tabs.plans') || 'Full Plans'
679
- })
680
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedControl.SegmentedControlItem, {
681
- value: TAB_FEATURES,
682
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_segmentedControl.SegmentedControlItemText, {
683
- children: t('premium.tabs.features') || 'Individual Features'
684
- })
685
- })]
686
- })
687
- });
688
- const renderFeatureCard = feature => {
689
- const pricing = formatPrice(feature.price, feature.interval);
690
- const isSubscribed = feature.isSubscribed;
691
- const isIncludedInCurrentPlan = feature.isIncludedInCurrentPlan;
692
- const canPurchase = feature.canBePurchasedSeparately && !isIncludedInCurrentPlan;
693
- const getCategoryColor = category => {
694
- switch (category) {
695
- case 'analytics':
696
- return colors.warning;
697
- case 'customization':
698
- return colors.secondary;
699
- case 'content':
700
- return colors.success;
701
- case 'networking':
702
- return colors.info;
703
- case 'productivity':
704
- return colors.error;
705
- default:
706
- return colors.primary;
707
- }
708
- };
709
- const getCategoryIcon = category => {
710
- switch (category) {
711
- case 'analytics':
712
- return 'analytics';
713
- case 'customization':
714
- return 'color-palette';
715
- case 'content':
716
- return 'document-text';
717
- case 'networking':
718
- return 'people';
719
- case 'productivity':
720
- return 'briefcase';
721
- default:
722
- return 'star';
723
- }
724
- };
725
- const getAppScopeText = () => {
726
- if (feature.appScope === 'ecosystem') {
727
- return t('premium.feature.scope.allApps');
728
- }
729
- return t('premium.feature.scope.availableIn', {
730
- apps: feature.applicableApps.join(', ')
731
- }) || `Available in: ${feature.applicableApps.join(', ')}`;
732
- };
733
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.Card, {
734
- variant: "outlined",
735
- style: [{
736
- marginBottom: 12
737
- }, isIncludedInCurrentPlan ? {
738
- borderColor: colors.primary,
739
- borderWidth: 2
740
- } : isSubscribed ? {
741
- borderColor: colors.success,
742
- borderWidth: 2
743
- } : null],
744
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_card.CardBody, {
745
- style: {
746
- padding: 16
747
- },
748
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
749
- className: "flex-row items-start mb-space-12",
750
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
751
- className: "bg-fill-secondary rounded-radius-max items-center justify-center mr-space-12",
752
- style: {
753
- width: 40,
754
- height: 40
755
- },
756
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
757
- name: getCategoryIcon(feature.category),
758
- size: 24,
759
- color: getCategoryColor(feature.category)
760
- })
761
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
762
- className: "flex-1",
763
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
764
- className: "flex-row items-center justify-between mb-space-4",
765
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H5, {
766
- className: "text-text flex-1 pr-space-8",
767
- numberOfLines: 1,
768
- children: feature.name
769
- }), isIncludedInCurrentPlan && /*#__PURE__*/(0, _jsxRuntime.jsx)(_badge.Badge, {
770
- variant: "solid",
771
- color: "primary",
772
- size: "large",
773
- content: t('premium.feature.included') || 'Included'
774
- })]
775
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
776
- className: "text-text-secondary text-sm",
777
- children: feature.description
778
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
779
- className: "text-text-tertiary text-xs mt-space-4 italic",
780
- children: getAppScopeText()
781
- })]
782
- })]
783
- }), !isIncludedInCurrentPlan && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
784
- className: "items-center mb-space-16",
785
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H4, {
786
- className: "text-text",
787
- children: pricing.formatted
788
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
789
- className: "text-text-secondary text-sm mt-space-2",
790
- children: t('premium.plan.perInterval', {
791
- interval: pricing.interval
792
- }) || `per ${pricing.interval}`
793
- })]
794
- }), isIncludedInCurrentPlan ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
795
- appearance: "solid",
796
- tone: "accent",
797
- disabled: true,
798
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
799
- name: "checkmark-circle",
800
- size: 16,
801
- color: colors.primaryForeground
802
- }),
803
- accessibilityLabel: t('premium.feature.includedInPlan') || 'Included in your plan',
804
- className: "w-full",
805
- children: t('premium.feature.includedInPlan') || 'Included in your plan'
806
- }) : isSubscribed ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
807
- className: "flex-row gap-space-8",
808
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
809
- appearance: "subtle",
810
- tone: "neutral",
811
- disabled: true,
812
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
813
- name: "checkmark",
814
- size: 16,
815
- color: colors.success
816
- }),
817
- accessibilityLabel: t('premium.feature.subscribed') || 'Subscribed',
818
- className: "flex-1",
819
- children: t('premium.feature.subscribed') || 'Subscribed'
820
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
821
- appearance: "subtle",
822
- tone: "neutral",
823
- onPress: () => handleFeatureUnsubscribe(feature.id),
824
- accessibilityLabel: t('premium.actions.unsubscribe') || 'Unsubscribe',
825
- className: "flex-1",
826
- children: t('premium.actions.unsubscribe') || 'Unsubscribe'
827
- })]
828
- }) : canPurchase ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
829
- appearance: "solid",
830
- tone: "accent",
831
- onPress: () => handleFeatureSubscribe(feature.id),
832
- disabled: processingPayment,
833
- loading: processingPayment,
834
- accessibilityLabel: t('premium.actions.subscribe') || 'Subscribe',
835
- className: "w-full",
836
- children: t('premium.actions.subscribe') || 'Subscribe'
837
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
838
- appearance: "subtle",
839
- tone: "neutral",
840
- disabled: true,
841
- accessibilityLabel: t('premium.feature.plansOnly') || 'Only available in subscription plans',
842
- className: "w-full",
843
- children: t('premium.feature.plansOnly') || 'Only available in subscription plans'
844
- })]
845
- })
846
- }, feature.id);
847
- };
848
- const renderIndividualFeatures = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
849
- className: "mb-space-24",
850
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H4, {
851
- className: "text-text mb-space-8",
852
- children: t('premium.features.title') || 'Individual Features'
853
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
854
- className: "text-text-secondary text-base mb-space-16",
855
- children: t('premium.features.subtitle') || 'Subscribe to specific features you need. Some features are included in subscription plans.'
856
- }), FEATURE_CATEGORIES.map(category => {
857
- const categoryFeatures = individualFeatures.filter(f => f.category === category);
858
- if (categoryFeatures.length === 0) return null;
859
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
860
- className: "mb-space-24",
861
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H5, {
862
- className: "text-text mb-space-12",
863
- children: category.charAt(0).toUpperCase() + category.slice(1)
864
- }), categoryFeatures.map(renderFeatureCard)]
865
- }, category);
866
- })]
867
- });
868
-
869
- // Show different app contexts for testing (development only).
870
- const [showAppSwitcher] = (0, _react.useState)(__DEV__);
871
- const renderAppSwitcher = () => {
872
- if (!showAppSwitcher) return null;
873
- const testApps = ['mention', 'oxy-social', 'oxy-workspace', 'oxy-creator'];
874
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
875
- className: "bg-fill-secondary border border-border-image rounded-radius-12 p-space-16 mb-space-24",
876
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
877
- className: "text-text-secondary text-sm font-medium mb-space-12",
878
- children: t('premium.dev.appContext') || 'Test App Context (Dev Only)'
879
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
880
- horizontal: true,
881
- showsHorizontalScrollIndicator: false,
882
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
883
- className: "flex-row gap-space-8",
884
- children: testApps.map(app => /*#__PURE__*/(0, _jsxRuntime.jsx)(_chip.Chip, {
885
- variant: currentAppPackage === app ? 'solid' : 'outlined',
886
- color: "primary",
887
- onPress: () => setCurrentAppPackage(app),
888
- children: app
889
- }, app))
890
- })
891
- })]
892
- });
893
- };
894
- if (loading) {
895
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
896
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
897
- className: "items-center justify-center px-screen-margin py-space-40",
898
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
899
- size: "large",
900
- color: colors.primary
901
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
902
- className: "text-text-secondary text-base text-center mt-space-16",
903
- children: t('premium.loading') || 'Loading subscription plans...'
904
- })]
905
- })
906
- });
907
- }
908
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
909
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
910
- className: "px-screen-margin pb-space-32",
911
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
912
- className: "pt-space-20",
913
- children: [renderAppSwitcher(), subscription && renderCurrentSubscription(), !subscription && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
914
- className: "mb-space-24",
915
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H2, {
916
- className: "text-text mb-space-8",
917
- children: t('premium.choosePlan') || 'Choose Your Plan'
918
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
919
- className: "text-text-secondary text-base",
920
- children: t('premium.choosePlanSubtitle') || 'Unlock premium features and take your experience to the next level'
921
- })]
922
- }), !subscription && renderTabNavigation(), !subscription && activeTab === TAB_PLANS && renderBillingToggle(), activeTab === TAB_PLANS ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
923
- className: "mb-space-24",
924
- children: [!subscription && /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H4, {
925
- className: "text-text mb-space-12",
926
- children: t('premium.availablePlans') || 'Available Plans'
927
- }), plans.map(renderPlanCard)]
928
- }) : renderIndividualFeatures(), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
929
- className: "mb-space-24",
930
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H4, {
931
- className: "text-text mb-space-12",
932
- children: t('premium.why') || 'Why Go Premium?'
933
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BenefitList.BenefitList, {
934
- children: [{
935
- icon: 'flash',
936
- color: colors.primary,
937
- title: t('premium.benefits.performance.title') || 'Enhanced Performance',
938
- desc: t('premium.benefits.performance.desc') || 'Faster processing and priority access to our servers'
939
- }, {
940
- icon: 'shield-checkmark',
941
- color: colors.success,
942
- title: t('premium.benefits.security.title') || 'Advanced Security',
943
- desc: t('premium.benefits.security.desc') || 'Enhanced encryption and security features'
944
- }, {
945
- icon: 'headset',
946
- color: colors.warning,
947
- title: t('premium.benefits.support.title') || 'Priority Support',
948
- desc: t('premium.benefits.support.desc') || 'Get help faster with our premium support team'
949
- }].map(benefit => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_BenefitList.BenefitRow, {
950
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
951
- name: benefit.icon,
952
- size: 18,
953
- color: benefit.color
954
- }),
955
- accessibilityLabel: `${benefit.title}. ${benefit.desc}`,
956
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
957
- className: "text-text font-medium text-sm",
958
- children: benefit.title
959
- }), `\n${benefit.desc}`]
960
- }, benefit.title))
961
- })]
962
- })]
963
- })
964
- })
965
- });
966
- };
967
- var _default = exports.default = PremiumSubscriptionScreen;
968
- //# sourceMappingURL=PremiumSubscriptionScreen.js.map