@oxyhq/services 22.12.4 → 22.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/README.md +16 -46
  2. package/lib/commonjs/index.js +18 -12
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/boot/runProviderColdBoot.js +51 -9
  5. package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
  6. package/lib/commonjs/ui/client.js +0 -13
  7. package/lib/commonjs/ui/client.js.map +1 -1
  8. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js +27 -4
  9. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxyAuthChooser.js +72 -1123
  11. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  12. package/lib/commonjs/ui/components/OxyConsentScreen.js +50 -12
  13. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/OxyProvider.js +4 -4
  15. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  16. package/lib/commonjs/ui/components/OxySignInButton.js +74 -40
  17. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  18. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +527 -0
  19. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  20. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +90 -0
  21. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -0
  22. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js +144 -0
  23. package/lib/commonjs/ui/components/authChooser/SignInRequestView.js.map +1 -0
  24. package/lib/commonjs/ui/components/authChooser/SignUpView.js +188 -0
  25. package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -0
  26. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js +63 -0
  27. package/lib/commonjs/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  28. package/lib/commonjs/ui/components/authChooser/primitives.js +169 -0
  29. package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -0
  30. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +149 -0
  31. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -0
  32. package/lib/commonjs/ui/components/authChooser/signInProgress.js +54 -0
  33. package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -0
  34. package/lib/commonjs/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  35. package/lib/commonjs/ui/components/authChooser/styles.js.map +1 -0
  36. package/lib/commonjs/ui/components/authChooser/types.js +59 -0
  37. package/lib/commonjs/ui/components/authChooser/types.js.map +1 -0
  38. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +50 -0
  39. package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  40. package/lib/commonjs/ui/context/OxyContext.js +205 -30
  41. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  42. package/lib/commonjs/ui/context/commitSessionFlow.js +46 -0
  43. package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
  44. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +15 -2
  45. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  46. package/lib/commonjs/ui/context/useOxyAccountGraph.js +13 -5
  47. package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
  48. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +6 -1
  49. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js.map +1 -1
  50. package/lib/commonjs/ui/index.js +0 -13
  51. package/lib/commonjs/ui/index.js.map +1 -1
  52. package/lib/commonjs/ui/oauth/browserAuthTransport.js +170 -0
  53. package/lib/commonjs/ui/oauth/browserAuthTransport.js.map +1 -0
  54. package/lib/commonjs/ui/oauth/completeOAuthCode.js +78 -0
  55. package/lib/commonjs/ui/oauth/completeOAuthCode.js.map +1 -0
  56. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +48 -0
  57. package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +1 -0
  58. package/lib/commonjs/ui/oauth/oauthHandshake.js +53 -0
  59. package/lib/commonjs/ui/oauth/oauthHandshake.js.map +1 -0
  60. package/lib/commonjs/ui/oauth/oauthPopup.js +276 -0
  61. package/lib/commonjs/ui/oauth/oauthPopup.js.map +1 -0
  62. package/lib/commonjs/ui/oauth/oauthPopupMessages.js +141 -0
  63. package/lib/commonjs/ui/oauth/oauthPopupMessages.js.map +1 -0
  64. package/lib/commonjs/ui/oauth/types.js +2 -0
  65. package/lib/commonjs/ui/oauth/types.js.map +1 -0
  66. package/lib/commonjs/ui/server.js +2 -5
  67. package/lib/commonjs/ui/server.js.map +1 -1
  68. package/lib/commonjs/ui/session/authStore.js +6 -75
  69. package/lib/commonjs/ui/session/authStore.js.map +1 -1
  70. package/lib/commonjs/ui/session/createSessionClient.js +11 -3
  71. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  72. package/lib/commonjs/ui/session/identityBinding.js +95 -0
  73. package/lib/commonjs/ui/session/identityBinding.js.map +1 -0
  74. package/lib/commonjs/ui/session/index.js +13 -0
  75. package/lib/commonjs/ui/session/index.js.map +1 -1
  76. package/lib/commonjs/ui/session/nativeSecureStorage.js +90 -0
  77. package/lib/commonjs/ui/session/nativeSecureStorage.js.map +1 -0
  78. package/lib/commonjs/ui/session/tokenTransport.js +11 -1
  79. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  80. package/lib/commonjs/ui/utils/crossOriginRestore.js +5 -4
  81. package/lib/commonjs/ui/utils/crossOriginRestore.js.map +1 -1
  82. package/lib/commonjs/ui/utils/deliveryPlatform.js +58 -0
  83. package/lib/commonjs/ui/utils/deliveryPlatform.js.map +1 -0
  84. package/lib/commonjs/ui/utils/oauthReturn.js +72 -46
  85. package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
  86. package/lib/module/index.js +9 -4
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/ui/boot/runProviderColdBoot.js +51 -9
  89. package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
  90. package/lib/module/ui/client.js +0 -1
  91. package/lib/module/ui/client.js.map +1 -1
  92. package/lib/module/ui/components/OxyAccountDialogScreen.js +27 -4
  93. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -1
  94. package/lib/module/ui/components/OxyAuthChooser.js +76 -1128
  95. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  96. package/lib/module/ui/components/OxyConsentScreen.js +50 -12
  97. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
  98. package/lib/module/ui/components/OxyProvider.js +4 -4
  99. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  100. package/lib/module/ui/components/OxySignInButton.js +76 -42
  101. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  102. package/lib/module/ui/components/authChooser/AccountsMenuView.js +523 -0
  103. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -0
  104. package/lib/module/ui/components/authChooser/SignInEntryView.js +85 -0
  105. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -0
  106. package/lib/module/ui/components/authChooser/SignInRequestView.js +139 -0
  107. package/lib/module/ui/components/authChooser/SignInRequestView.js.map +1 -0
  108. package/lib/module/ui/components/authChooser/SignUpView.js +184 -0
  109. package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -0
  110. package/lib/module/ui/components/authChooser/TroubleDisclosure.js +59 -0
  111. package/lib/module/ui/components/authChooser/TroubleDisclosure.js.map +1 -0
  112. package/lib/module/ui/components/authChooser/primitives.js +163 -0
  113. package/lib/module/ui/components/authChooser/primitives.js.map +1 -0
  114. package/lib/module/ui/components/authChooser/requestSurfaces.js +139 -0
  115. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -0
  116. package/lib/module/ui/components/authChooser/signInProgress.js +50 -0
  117. package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -0
  118. package/lib/module/ui/components/{oxyAuthChooserStyles.js → authChooser/styles.js} +19 -1
  119. package/lib/module/ui/components/authChooser/styles.js.map +1 -0
  120. package/lib/module/ui/components/authChooser/types.js +55 -0
  121. package/lib/module/ui/components/authChooser/types.js.map +1 -0
  122. package/lib/module/ui/components/authChooser/useUsernameAvailability.js +46 -0
  123. package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -0
  124. package/lib/module/ui/context/OxyContext.js +208 -33
  125. package/lib/module/ui/context/OxyContext.js.map +1 -1
  126. package/lib/module/ui/context/commitSessionFlow.js +45 -0
  127. package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
  128. package/lib/module/ui/context/hooks/useAuthOperations.js +15 -2
  129. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  130. package/lib/module/ui/context/useOxyAccountGraph.js +13 -5
  131. package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
  132. package/lib/module/ui/hooks/useSwitchableAccounts.js +6 -1
  133. package/lib/module/ui/hooks/useSwitchableAccounts.js.map +1 -1
  134. package/lib/module/ui/index.js +0 -1
  135. package/lib/module/ui/index.js.map +1 -1
  136. package/lib/module/ui/oauth/browserAuthTransport.js +167 -0
  137. package/lib/module/ui/oauth/browserAuthTransport.js.map +1 -0
  138. package/lib/module/ui/oauth/completeOAuthCode.js +75 -0
  139. package/lib/module/ui/oauth/completeOAuthCode.js.map +1 -0
  140. package/lib/module/ui/oauth/legacyRedirectLanes.js +44 -0
  141. package/lib/module/ui/oauth/legacyRedirectLanes.js.map +1 -0
  142. package/lib/module/ui/oauth/oauthHandshake.js +50 -0
  143. package/lib/module/ui/oauth/oauthHandshake.js.map +1 -0
  144. package/lib/module/ui/oauth/oauthPopup.js +268 -0
  145. package/lib/module/ui/oauth/oauthPopup.js.map +1 -0
  146. package/lib/module/ui/oauth/oauthPopupMessages.js +135 -0
  147. package/lib/module/ui/oauth/oauthPopupMessages.js.map +1 -0
  148. package/lib/module/ui/oauth/types.js +2 -0
  149. package/lib/module/ui/oauth/types.js.map +1 -0
  150. package/lib/module/ui/server.js +0 -2
  151. package/lib/module/ui/server.js.map +1 -1
  152. package/lib/module/ui/session/authStore.js +5 -75
  153. package/lib/module/ui/session/authStore.js.map +1 -1
  154. package/lib/module/ui/session/createSessionClient.js +11 -3
  155. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  156. package/lib/module/ui/session/identityBinding.js +89 -0
  157. package/lib/module/ui/session/identityBinding.js.map +1 -0
  158. package/lib/module/ui/session/index.js +5 -2
  159. package/lib/module/ui/session/index.js.map +1 -1
  160. package/lib/module/ui/session/nativeSecureStorage.js +88 -0
  161. package/lib/module/ui/session/nativeSecureStorage.js.map +1 -0
  162. package/lib/module/ui/session/tokenTransport.js +11 -1
  163. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  164. package/lib/module/ui/utils/crossOriginRestore.js +6 -5
  165. package/lib/module/ui/utils/crossOriginRestore.js.map +1 -1
  166. package/lib/module/ui/utils/deliveryPlatform.js +55 -0
  167. package/lib/module/ui/utils/deliveryPlatform.js.map +1 -0
  168. package/lib/module/ui/utils/oauthReturn.js +73 -47
  169. package/lib/module/ui/utils/oauthReturn.js.map +1 -1
  170. package/lib/typescript/commonjs/index.d.ts +4 -1
  171. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  172. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +34 -2
  173. package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  174. package/lib/typescript/commonjs/ui/client.d.ts +0 -1
  175. package/lib/typescript/commonjs/ui/client.d.ts.map +1 -1
  176. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +21 -29
  178. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  181. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +17 -12
  182. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  183. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  184. package/lib/typescript/commonjs/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  185. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  186. package/lib/typescript/commonjs/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  187. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  188. package/lib/typescript/commonjs/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  189. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts +34 -0
  190. package/lib/typescript/commonjs/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  191. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
  192. package/lib/typescript/commonjs/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  193. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts +55 -0
  194. package/lib/typescript/commonjs/ui/components/authChooser/primitives.d.ts.map +1 -0
  195. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +54 -0
  196. package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  197. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts +26 -0
  198. package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  199. package/lib/typescript/{module/ui/components/oxyAuthChooserStyles.d.ts → commonjs/ui/components/authChooser/styles.d.ts} +19 -1
  200. package/lib/typescript/commonjs/ui/components/authChooser/styles.d.ts.map +1 -0
  201. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts +85 -0
  202. package/lib/typescript/commonjs/ui/components/authChooser/types.d.ts.map +1 -0
  203. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  204. package/lib/typescript/commonjs/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  205. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +40 -0
  207. package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +11 -2
  209. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +44 -1
  211. package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +7 -1
  213. package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/ui/index.d.ts +0 -1
  216. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts +56 -0
  218. package/lib/typescript/commonjs/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts +49 -0
  220. package/lib/typescript/commonjs/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  221. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  222. package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts +50 -0
  224. package/lib/typescript/commonjs/ui/oauth/oauthHandshake.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts +83 -0
  226. package/lib/typescript/commonjs/ui/oauth/oauthPopup.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts +67 -0
  228. package/lib/typescript/commonjs/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/ui/oauth/types.d.ts +176 -0
  230. package/lib/typescript/commonjs/ui/oauth/types.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/ui/server.d.ts +0 -2
  232. package/lib/typescript/commonjs/ui/server.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/session/authStore.d.ts +3 -7
  234. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +8 -1
  236. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts +66 -0
  238. package/lib/typescript/commonjs/ui/session/identityBinding.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/ui/session/index.d.ts +6 -2
  240. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts +25 -0
  242. package/lib/typescript/commonjs/ui/session/nativeSecureStorage.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +8 -1
  244. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  245. package/lib/typescript/commonjs/ui/types/navigation.d.ts +44 -0
  246. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts +33 -0
  249. package/lib/typescript/commonjs/ui/utils/deliveryPlatform.d.ts.map +1 -0
  250. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +30 -16
  251. package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
  252. package/lib/typescript/module/index.d.ts +4 -1
  253. package/lib/typescript/module/index.d.ts.map +1 -1
  254. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +34 -2
  255. package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
  256. package/lib/typescript/module/ui/client.d.ts +0 -1
  257. package/lib/typescript/module/ui/client.d.ts.map +1 -1
  258. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -1
  259. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +21 -29
  260. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  261. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -1
  262. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  263. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +17 -12
  264. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  265. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts +38 -0
  266. package/lib/typescript/module/ui/components/authChooser/AccountsMenuView.d.ts.map +1 -0
  267. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts +32 -0
  268. package/lib/typescript/module/ui/components/authChooser/SignInEntryView.d.ts.map +1 -0
  269. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts +34 -0
  270. package/lib/typescript/module/ui/components/authChooser/SignInRequestView.d.ts.map +1 -0
  271. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts +34 -0
  272. package/lib/typescript/module/ui/components/authChooser/SignUpView.d.ts.map +1 -0
  273. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts +43 -0
  274. package/lib/typescript/module/ui/components/authChooser/TroubleDisclosure.d.ts.map +1 -0
  275. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts +55 -0
  276. package/lib/typescript/module/ui/components/authChooser/primitives.d.ts.map +1 -0
  277. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +54 -0
  278. package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -0
  279. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts +26 -0
  280. package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -0
  281. package/lib/typescript/{commonjs/ui/components/oxyAuthChooserStyles.d.ts → module/ui/components/authChooser/styles.d.ts} +19 -1
  282. package/lib/typescript/module/ui/components/authChooser/styles.d.ts.map +1 -0
  283. package/lib/typescript/module/ui/components/authChooser/types.d.ts +85 -0
  284. package/lib/typescript/module/ui/components/authChooser/types.d.ts.map +1 -0
  285. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts +16 -0
  286. package/lib/typescript/module/ui/components/authChooser/useUsernameAvailability.d.ts.map +1 -0
  287. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  288. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +40 -0
  289. package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
  290. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +11 -2
  291. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  292. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +44 -1
  293. package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
  294. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +7 -1
  295. package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
  296. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts.map +1 -1
  297. package/lib/typescript/module/ui/index.d.ts +0 -1
  298. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  299. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts +56 -0
  300. package/lib/typescript/module/ui/oauth/browserAuthTransport.d.ts.map +1 -0
  301. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts +49 -0
  302. package/lib/typescript/module/ui/oauth/completeOAuthCode.d.ts.map +1 -0
  303. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +40 -0
  304. package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +1 -0
  305. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts +50 -0
  306. package/lib/typescript/module/ui/oauth/oauthHandshake.d.ts.map +1 -0
  307. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts +83 -0
  308. package/lib/typescript/module/ui/oauth/oauthPopup.d.ts.map +1 -0
  309. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts +67 -0
  310. package/lib/typescript/module/ui/oauth/oauthPopupMessages.d.ts.map +1 -0
  311. package/lib/typescript/module/ui/oauth/types.d.ts +176 -0
  312. package/lib/typescript/module/ui/oauth/types.d.ts.map +1 -0
  313. package/lib/typescript/module/ui/server.d.ts +0 -2
  314. package/lib/typescript/module/ui/server.d.ts.map +1 -1
  315. package/lib/typescript/module/ui/session/authStore.d.ts +3 -7
  316. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -1
  317. package/lib/typescript/module/ui/session/createSessionClient.d.ts +8 -1
  318. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  319. package/lib/typescript/module/ui/session/identityBinding.d.ts +66 -0
  320. package/lib/typescript/module/ui/session/identityBinding.d.ts.map +1 -0
  321. package/lib/typescript/module/ui/session/index.d.ts +6 -2
  322. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  323. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts +25 -0
  324. package/lib/typescript/module/ui/session/nativeSecureStorage.d.ts.map +1 -0
  325. package/lib/typescript/module/ui/session/tokenTransport.d.ts +8 -1
  326. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  327. package/lib/typescript/module/ui/types/navigation.d.ts +44 -0
  328. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  329. package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +1 -1
  330. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts +33 -0
  331. package/lib/typescript/module/ui/utils/deliveryPlatform.d.ts.map +1 -0
  332. package/lib/typescript/module/ui/utils/oauthReturn.d.ts +30 -16
  333. package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
  334. package/package.json +6 -8
  335. package/src/index.ts +19 -5
  336. package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +281 -0
  337. package/src/ui/boot/runProviderColdBoot.ts +83 -13
  338. package/src/ui/client.ts +0 -1
  339. package/src/ui/components/OxyAccountDialogScreen.tsx +33 -4
  340. package/src/ui/components/OxyAuthChooser.tsx +100 -1230
  341. package/src/ui/components/OxyConsentScreen.tsx +56 -13
  342. package/src/ui/components/OxyProvider.tsx +4 -4
  343. package/src/ui/components/OxySignInButton.tsx +119 -78
  344. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +27 -0
  345. package/src/ui/components/authChooser/AccountsMenuView.tsx +569 -0
  346. package/src/ui/components/authChooser/SignInEntryView.tsx +115 -0
  347. package/src/ui/components/authChooser/SignInRequestView.tsx +163 -0
  348. package/src/ui/components/authChooser/SignUpView.tsx +174 -0
  349. package/src/ui/components/authChooser/TroubleDisclosure.tsx +81 -0
  350. package/src/ui/components/authChooser/primitives.tsx +144 -0
  351. package/src/ui/components/authChooser/requestSurfaces.tsx +116 -0
  352. package/src/ui/components/authChooser/signInProgress.ts +54 -0
  353. package/src/ui/components/{oxyAuthChooserStyles.ts → authChooser/styles.ts} +18 -0
  354. package/src/ui/components/authChooser/types.ts +101 -0
  355. package/src/ui/components/authChooser/useUsernameAvailability.ts +60 -0
  356. package/src/ui/context/OxyContext.tsx +226 -24
  357. package/src/ui/context/__tests__/commitSessionFlow.test.ts +102 -0
  358. package/src/ui/context/commitSessionFlow.ts +64 -0
  359. package/src/ui/context/hooks/useAuthOperations.ts +26 -1
  360. package/src/ui/context/oxyContextTypes.ts +45 -1
  361. package/src/ui/context/useOxyAccountGraph.ts +19 -5
  362. package/src/ui/hooks/useSwitchableAccounts.ts +12 -1
  363. package/src/ui/index.ts +0 -1
  364. package/src/ui/oauth/__tests__/browserAuthTransport.test.ts +335 -0
  365. package/src/ui/oauth/__tests__/completeOAuthCode.test.ts +142 -0
  366. package/src/ui/oauth/__tests__/oauthPopup.test.ts +352 -0
  367. package/src/ui/oauth/__tests__/oauthPopupMessages.test.ts +189 -0
  368. package/src/ui/oauth/__tests__/sharedCompletionPath.test.ts +174 -0
  369. package/src/ui/oauth/browserAuthTransport.ts +193 -0
  370. package/src/ui/oauth/completeOAuthCode.ts +93 -0
  371. package/src/ui/oauth/legacyRedirectLanes.ts +43 -0
  372. package/src/ui/oauth/oauthHandshake.ts +74 -0
  373. package/src/ui/oauth/oauthPopup.ts +277 -0
  374. package/src/ui/oauth/oauthPopupMessages.ts +136 -0
  375. package/src/ui/oauth/types.ts +150 -0
  376. package/src/ui/server.ts +0 -2
  377. package/src/ui/session/__tests__/createSessionClient.test.ts +26 -0
  378. package/src/ui/session/__tests__/tokenTransport.test.ts +34 -0
  379. package/src/ui/session/authStore.ts +5 -89
  380. package/src/ui/session/createSessionClient.ts +15 -2
  381. package/src/ui/session/identityBinding.ts +116 -0
  382. package/src/ui/session/index.ts +6 -2
  383. package/src/ui/session/nativeSecureStorage.ts +98 -0
  384. package/src/ui/session/tokenTransport.ts +14 -1
  385. package/src/ui/types/navigation.ts +44 -1
  386. package/src/ui/utils/__tests__/crossOriginRestore.test.ts +17 -0
  387. package/src/ui/utils/crossOriginRestore.ts +9 -13
  388. package/src/ui/utils/deliveryPlatform.ts +65 -0
  389. package/src/ui/utils/oauthReturn.ts +79 -65
  390. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  391. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  392. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  393. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  394. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  395. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  396. package/lib/commonjs/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  397. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  398. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  399. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  400. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  401. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  402. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  403. package/lib/commonjs/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  404. package/lib/commonjs/ui/components/FontLoader.js +0 -35
  405. package/lib/commonjs/ui/components/FontLoader.js.map +0 -1
  406. package/lib/commonjs/ui/components/FontLoader.native.js +0 -88
  407. package/lib/commonjs/ui/components/FontLoader.native.js.map +0 -1
  408. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +0 -1
  409. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  410. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  411. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  412. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  413. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  414. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  415. package/lib/module/assets/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  416. package/lib/module/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  417. package/lib/module/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  418. package/lib/module/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  419. package/lib/module/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  420. package/lib/module/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  421. package/lib/module/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  422. package/lib/module/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  423. package/lib/module/ui/components/FontLoader.js +0 -29
  424. package/lib/module/ui/components/FontLoader.js.map +0 -1
  425. package/lib/module/ui/components/FontLoader.native.js +0 -83
  426. package/lib/module/ui/components/FontLoader.native.js.map +0 -1
  427. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +0 -1
  428. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +0 -24
  429. package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +0 -1
  430. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +0 -13
  431. package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +0 -1
  432. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  433. package/lib/typescript/module/ui/components/FontLoader.d.ts +0 -24
  434. package/lib/typescript/module/ui/components/FontLoader.d.ts.map +0 -1
  435. package/lib/typescript/module/ui/components/FontLoader.native.d.ts +0 -13
  436. package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +0 -1
  437. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +0 -1
  438. package/src/assets/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  439. package/src/assets/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  440. package/src/assets/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  441. package/src/assets/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  442. package/src/assets/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  443. package/src/assets/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  444. package/src/assets/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  445. package/src/ui/components/FontLoader.native.tsx +0 -88
  446. package/src/ui/components/FontLoader.tsx +0 -27
@@ -12,27 +12,19 @@ var _shallow = require("zustand/react/shallow");
12
12
  var _theme = require("@oxyhq/bloom/theme");
13
13
  var _button = require("@oxyhq/bloom/button");
14
14
  var _OxyContext = require("../context/OxyContext.js");
15
+ var _useI18n = require("../hooks/useI18n.js");
15
16
  var _LogoIcon = require("./logo/LogoIcon.js");
16
17
  var _accountDialogManager = require("../navigation/accountDialogManager.js");
17
18
  var _oauthNavigation = require("./oauthNavigation.js");
19
+ var _oauthPopup = require("../oauth/oauthPopup.js");
18
20
  var _jsxRuntime = require("react/jsx-runtime");
19
21
  /**
20
22
  * The OAuth handshake surfaced to a NATIVE third-party RP via
21
23
  * {@link OxySignInButtonProps.onOAuthResult} so it can finish the code exchange
22
- * (`POST /auth/oauth/token`). Web RPs read the same `state` / `code_verifier`
23
- * back from `sessionStorage` across the redirect and do not need this callback.
24
+ * (`POST /auth/oauth/token`). Web sign-in is handled entirely by the SDK's web
25
+ * transport (`useOxy().startWebOAuthSignIn`) and never uses this callback.
24
26
  */
25
27
 
26
- /**
27
- * Persist the OAuth CSRF `state` + PKCE `code_verifier` for the RP callback.
28
- * Returns `false` when the handshake could not be stored — no `sessionStorage`
29
- * (SSR / non-browser host) or a write that threw (`SecurityError` /
30
- * `QuotaExceededError`, e.g. Safari private mode) — so the caller aborts the
31
- * flow cleanly rather than redirect to a callback that cannot validate `state`.
32
- */
33
- function persistOAuthHandshakeForButton(state, codeVerifier) {
34
- return (0, _core.persistOAuthHandshake)(state, codeVerifier);
35
- }
36
28
  /**
37
29
  * A pre-styled button component for signing in with Oxy identity
38
30
  *
@@ -62,17 +54,22 @@ const OxySignInButton = ({
62
54
  onPress,
63
55
  style,
64
56
  textStyle,
65
- text = 'Sign in with Oxy',
57
+ text,
66
58
  disabled = false,
67
59
  showWhenAuthenticated = false,
68
60
  oauthRedirectUri,
69
61
  onOAuthResult
70
62
  }) => {
71
63
  const theme = (0, _theme.useTheme)();
64
+ const {
65
+ t
66
+ } = (0, _useI18n.useI18n)();
72
67
  const {
73
68
  openAccountDialog,
74
69
  oxyServices,
75
- clientId
70
+ clientId,
71
+ webAuthMode,
72
+ startWebOAuthSignIn
76
73
  } = (0, _OxyContext.useOxy)();
77
74
  const {
78
75
  isAuthenticated,
@@ -97,6 +94,11 @@ const OxySignInButton = ({
97
94
  // redirects, so block a second concurrent press from racing the sessionStorage
98
95
  // handshake against a different PKCE pair.
99
96
  const routingRef = (0, _react.useRef)(false);
97
+ // Popup mode only opens a window for applications that could actually need
98
+ // one: `oauthRedirectUri` is required for (and only for) third-party OAuth,
99
+ // so an official app never flashes a popup open and closed while its
100
+ // in-app dialog loads.
101
+ const shouldPreOpenPopup = _reactNative.Platform.OS === 'web' && webAuthMode === 'popup' && Boolean(oauthRedirectUri);
100
102
  const resolvePublicApplication = (0, _react.useCallback)(() => {
101
103
  if (!clientId) return null;
102
104
  const cached = appResolutionRef.current;
@@ -124,41 +126,57 @@ const OxySignInButton = ({
124
126
  openAccountDialog('signin');
125
127
  }, [openAccountDialog]);
126
128
 
127
- // Third-party surface: an OAuth 2.0 authorization-code + PKCE redirect to
129
+ // Third-party surface: an OAuth 2.0 authorization-code + PKCE flow against
128
130
  // auth.oxy.so. No FedCM, no SSO bounce, no Oxy session cookies.
129
- const startThirdPartyOAuth = (0, _react.useCallback)(async app => {
131
+ //
132
+ // Web delegates to the ONE shared transport (`startWebOAuthSignIn`), which
133
+ // owns popup-vs-redirect selection, the popup lifecycle, the code exchange,
134
+ // and the session commit. Native keeps its in-app auth session and hands the
135
+ // handshake to the RP, which owns that exchange.
136
+ const startThirdPartyOAuth = (0, _react.useCallback)(async (app, popup) => {
130
137
  if (!clientId) {
138
+ (0, _oauthPopup.closeOAuthPopup)(popup);
131
139
  startOfficialSignIn();
132
140
  return;
133
141
  }
134
142
  if (!oauthRedirectUri) {
135
- _core.logger.error('OxySignInButton: a third_party application requires the `oauthRedirectUri` prop to start the OAuth redirect; sign-in aborted', undefined, {
143
+ (0, _oauthPopup.closeOAuthPopup)(popup);
144
+ _core.logger.error('OxySignInButton: a third_party application requires the `oauthRedirectUri` prop to start the OAuth flow; sign-in aborted', undefined, {
136
145
  component: 'OxySignInButton',
137
146
  clientId,
138
147
  application: app.name
139
148
  });
140
149
  return;
141
150
  }
142
- const [pkce, state] = await Promise.all([(0, _core.generatePkcePair)(), (0, _core.generateOAuthState)()]);
143
- const authorizeUrl = (0, _core.buildOAuthAuthorizeUrl)({
144
- clientId,
145
- redirectUri: oauthRedirectUri,
146
- state,
147
- codeChallenge: pkce.codeChallenge
148
- });
149
151
  if (_reactNative.Platform.OS === 'web') {
150
- // Persist the handshake for the RP callback, then hand the
151
- // top-level document to the IdP. Without storage the callback
152
- // cannot validate `state`, so abort cleanly rather than redirect.
153
- if (!persistOAuthHandshakeForButton(state, pkce.codeVerifier)) {
154
- return;
152
+ const result = await startWebOAuthSignIn({
153
+ redirectUri: oauthRedirectUri,
154
+ // In popup mode the window was claimed during the press (see
155
+ // `handlePress`); `null` means the browser blocked it and the
156
+ // transport falls back to a redirect. `undefined` (redirect
157
+ // mode) lets the transport decide for itself.
158
+ ...(shouldPreOpenPopup ? {
159
+ popup
160
+ } : {})
161
+ });
162
+ if (result.status === 'failed') {
163
+ _core.logger.warn(`OxySignInButton: web sign-in failed (${result.reason})`, {
164
+ component: 'OxySignInButton',
165
+ application: app.name
166
+ }, result.description);
155
167
  }
156
- (0, _oauthNavigation.redirectToAuthorize)(authorizeUrl);
157
168
  return;
158
169
  }
159
170
 
160
171
  // Native: open the in-app auth session, then hand the handshake to the
161
172
  // RP so it can complete the token exchange from its deep-link callback.
173
+ const [pkce, state] = await Promise.all([(0, _core.generatePkcePair)(), (0, _core.generateOAuthState)()]);
174
+ const authorizeUrl = (0, _core.buildOAuthAuthorizeUrl)({
175
+ clientId,
176
+ redirectUri: oauthRedirectUri,
177
+ state,
178
+ codeChallenge: pkce.codeChallenge
179
+ });
162
180
  const {
163
181
  redirectUrl
164
182
  } = await (0, _oauthNavigation.openAuthorizeUrlNative)(authorizeUrl, oauthRedirectUri);
@@ -174,17 +192,23 @@ const OxySignInButton = ({
174
192
  component: 'OxySignInButton',
175
193
  application: app.name
176
194
  });
177
- }, [clientId, oauthRedirectUri, onOAuthResult, startOfficialSignIn]);
195
+ }, [clientId, oauthRedirectUri, onOAuthResult, startOfficialSignIn, startWebOAuthSignIn, shouldPreOpenPopup]);
178
196
 
179
- // Resolve the Application once, then route: third-party → OAuth redirect;
180
- // first-party / official / unresolved → the in-app dialog. Resolution failure
181
- // NEVER breaks an official app's sign-in — it falls back to the dialog.
182
- const routeSignIn = (0, _react.useCallback)(async () => {
183
- if (routingRef.current) return;
197
+ // Resolve the Application once, then route: third-party → OAuth; first-party
198
+ // / official / unresolved → the in-app dialog. Resolution failure NEVER
199
+ // breaks an official app's sign-in — it falls back to the dialog. Every path
200
+ // that does NOT reach the OAuth lane closes the pre-opened popup, so a
201
+ // mis-routed press can never leave an empty window on screen.
202
+ const routeSignIn = (0, _react.useCallback)(async popup => {
203
+ if (routingRef.current) {
204
+ (0, _oauthPopup.closeOAuthPopup)(popup);
205
+ return;
206
+ }
184
207
  routingRef.current = true;
185
208
  try {
186
209
  const resolving = resolvePublicApplication();
187
210
  if (!resolving) {
211
+ (0, _oauthPopup.closeOAuthPopup)(popup);
188
212
  startOfficialSignIn();
189
213
  return;
190
214
  }
@@ -192,6 +216,7 @@ const OxySignInButton = ({
192
216
  try {
193
217
  app = await resolving;
194
218
  } catch (error) {
219
+ (0, _oauthPopup.closeOAuthPopup)(popup);
195
220
  _core.logger.warn('OxySignInButton: could not resolve the application; opening the sign-in dialog', {
196
221
  component: 'OxySignInButton',
197
222
  clientId
@@ -200,9 +225,10 @@ const OxySignInButton = ({
200
225
  return;
201
226
  }
202
227
  if (app.type === 'third_party' && !app.isOfficial) {
203
- await startThirdPartyOAuth(app);
228
+ await startThirdPartyOAuth(app, popup);
204
229
  return;
205
230
  }
231
+ (0, _oauthPopup.closeOAuthPopup)(popup);
206
232
  startOfficialSignIn();
207
233
  } finally {
208
234
  routingRef.current = false;
@@ -210,13 +236,17 @@ const OxySignInButton = ({
210
236
  }, [resolvePublicApplication, startOfficialSignIn, startThirdPartyOAuth, clientId]);
211
237
 
212
238
  // Defer to a caller-supplied handler, otherwise route by application type.
239
+ //
240
+ // The popup is opened HERE, synchronously, before the async application
241
+ // resolve: `window.open` only survives while the click is still being
242
+ // handled, so a window opened after that first `await` is silently blocked.
213
243
  const handlePress = (0, _react.useCallback)(() => {
214
244
  if (onPress) {
215
245
  onPress();
216
246
  return;
217
247
  }
218
- void routeSignIn();
219
- }, [onPress, routeSignIn]);
248
+ void routeSignIn(shouldPreOpenPopup ? (0, _oauthPopup.openOAuthPopup)() : null);
249
+ }, [onPress, routeSignIn, shouldPreOpenPopup]);
220
250
 
221
251
  // Don't show the button if already authenticated (unless explicitly overridden)
222
252
  if (isAuthenticated && !showWhenAuthenticated) return null;
@@ -231,6 +261,10 @@ const OxySignInButton = ({
231
261
  const isContained = variant === 'contained';
232
262
  const logoColor = isContained ? '#ffffff' : theme.colors.primary;
233
263
  const logoLetterColor = isContained ? theme.colors.primary : '#ffffff';
264
+
265
+ // The relying party surfaces exactly ONE primary action, and it reads
266
+ // "Continue with Oxy" (issue #691). A caller-supplied `text` still wins.
267
+ const label = text ?? t('accountSwitcher.continueWithOxy');
234
268
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
235
269
  variant: buttonVariant,
236
270
  onPress: handlePress,
@@ -247,7 +281,7 @@ const OxySignInButton = ({
247
281
  marginRight: 10
248
282
  }
249
283
  }),
250
- children: isLoading || isModalOpen ? 'Signing in...' : text
284
+ children: isLoading || isModalOpen ? t('signin.status.signingIn') : label
251
285
  });
252
286
  };
253
287
  exports.OxySignInButton = OxySignInButton;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_core","_authStore","_shallow","_theme","_button","_OxyContext","_LogoIcon","_accountDialogManager","_oauthNavigation","_jsxRuntime","persistOAuthHandshakeForButton","state","codeVerifier","persistOAuthHandshake","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","oauthRedirectUri","onOAuthResult","theme","useTheme","openAccountDialog","oxyServices","clientId","useOxy","isAuthenticated","isLoading","useAuthStore","useShallow","isModalOpen","setIsModalOpen","useState","useEffect","subscribeToAccountDialog","appResolutionRef","useRef","routingRef","resolvePublicApplication","useCallback","cached","current","promise","getPublicApplication","catch","error","startOfficialSignIn","startThirdPartyOAuth","app","logger","undefined","component","application","name","pkce","Promise","all","generatePkcePair","generateOAuthState","authorizeUrl","buildOAuthAuthorizeUrl","redirectUri","codeChallenge","Platform","OS","redirectToAuthorize","redirectUrl","openAuthorizeUrlNative","warn","routeSignIn","resolving","type","isOfficial","handlePress","isButtonDisabled","buttonVariant","isContained","logoColor","colors","primary","logoLetterColor","jsx","Button","fontWeight","icon","LogoIcon","height","color","letterColor","marginRight","children","exports","_default","default"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_core","_authStore","_shallow","_theme","_button","_OxyContext","_useI18n","_LogoIcon","_accountDialogManager","_oauthNavigation","_oauthPopup","_jsxRuntime","OxySignInButton","variant","onPress","style","textStyle","text","disabled","showWhenAuthenticated","oauthRedirectUri","onOAuthResult","theme","useTheme","t","useI18n","openAccountDialog","oxyServices","clientId","webAuthMode","startWebOAuthSignIn","useOxy","isAuthenticated","isLoading","useAuthStore","useShallow","state","isModalOpen","setIsModalOpen","useState","useEffect","subscribeToAccountDialog","appResolutionRef","useRef","routingRef","shouldPreOpenPopup","Platform","OS","Boolean","resolvePublicApplication","useCallback","cached","current","promise","getPublicApplication","catch","error","startOfficialSignIn","startThirdPartyOAuth","app","popup","closeOAuthPopup","logger","undefined","component","application","name","result","redirectUri","status","warn","reason","description","pkce","Promise","all","generatePkcePair","generateOAuthState","authorizeUrl","buildOAuthAuthorizeUrl","codeChallenge","redirectUrl","openAuthorizeUrlNative","codeVerifier","routeSignIn","resolving","type","isOfficial","handlePress","openOAuthPopup","isButtonDisabled","buttonVariant","isContained","logoColor","colors","primary","logoLetterColor","label","jsx","Button","fontWeight","icon","LogoIcon","height","color","letterColor","marginRight","children","exports","_default","default"],"sourceRoot":"../../../../src","sources":["ui/components/OxySignInButton.tsx"],"mappings":"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","ignoreList":[]}