@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
@@ -3,30 +3,29 @@ import {
3
3
  clearOAuthHandshake,
4
4
  consumeOAuthReturnPath,
5
5
  logger,
6
- normalizeOAuthRedirectUri,
6
+ canonicalizeOAuthRedirectUri,
7
7
  readOAuthHandshake,
8
8
  } from '@oxyhq/core';
9
+ import { completeOAuthCode } from '../oauth/completeOAuthCode';
10
+ import type { OAuthSessionCommitInput } from '../oauth/types';
9
11
  import { isWebBrowser } from './isWebBrowser';
10
12
 
11
- export interface OAuthReturnCommitInput {
12
- sessionId: string;
13
- accessToken?: string;
14
- deviceId?: string;
15
- deviceSecret?: string;
16
- userId: string;
17
- expiresAt?: string;
18
- user?: { id: string; username?: string; avatar?: string };
19
- }
20
-
21
13
  /**
22
- * When the RP lands with `?code=` after password sign-in at auth.oxy.so, exchange
23
- * the code for a device-first session before cold boot runs.
14
+ * When the RP lands with `?code=` after signing in at auth.oxy.so, exchange the
15
+ * code for a device-first session before cold boot runs.
16
+ *
17
+ * This is the REDIRECT transport's return leg. It owns only what is specific to
18
+ * a full-page round trip — reading the code off the URL, recovering the
19
+ * handshake `sessionStorage` carried across the navigation, and cleaning both up
20
+ * afterwards — and delegates state validation, the PKCE exchange, and the
21
+ * session commit to `completeOAuthCode`, the same function the popup transport
22
+ * runs.
24
23
  */
25
24
  export async function tryCompleteOAuthReturn(opts: {
26
25
  oxyServices: OxyServices;
27
26
  clientId?: string | null;
28
27
  authRedirectUri?: string;
29
- commitSession: (input: OAuthReturnCommitInput) => Promise<void>;
28
+ commitSession: (input: OAuthSessionCommitInput) => Promise<void>;
30
29
  }): Promise<boolean> {
31
30
  if (!isWebBrowser()) return false;
32
31
  const location = (globalThis as { location?: Location }).location;
@@ -37,6 +36,7 @@ export async function tryCompleteOAuthReturn(opts: {
37
36
  const oauthError = params.get('error');
38
37
  if (oauthError) {
39
38
  stripOAuthParamsFromUrl();
39
+ clearOAuthHandshake();
40
40
  return false;
41
41
  }
42
42
  if (!code) return false;
@@ -45,49 +45,74 @@ export async function tryCompleteOAuthReturn(opts: {
45
45
  if (!clientId) {
46
46
  logger.warn('OAuth return ignored: missing clientId', { component: 'oauthReturn' });
47
47
  stripOAuthParamsFromUrl();
48
- return false;
49
- }
50
-
51
- const returnedState = params.get('state');
52
- const handshake = readOAuthHandshake();
53
- if (!handshake || !returnedState || handshake.state !== returnedState) {
54
- logger.warn('OAuth return ignored: missing or mismatched handshake', {
55
- component: 'oauthReturn',
56
- });
57
48
  clearOAuthHandshake();
58
- stripOAuthParamsFromUrl();
59
49
  return false;
60
50
  }
61
51
 
62
- const redirectUri = normalizeOAuthRedirectUri(
63
- opts.authRedirectUri ?? location.origin,
52
+ const handshake = readOAuthHandshake();
53
+ const redirectUri = canonicalizeOAuthRedirectUri(
54
+ handshake?.redirectUri ?? opts.authRedirectUri ?? location.origin,
64
55
  );
65
56
 
57
+ const result = await completeOAuthCode({
58
+ oxyServices: opts.oxyServices,
59
+ clientId,
60
+ code,
61
+ returnedState: params.get('state'),
62
+ handshake,
63
+ redirectUri,
64
+ commitSession: opts.commitSession,
65
+ // Strip the params before the commit so a stale `?code=` cannot re-enter the
66
+ // exchange loop, and read the return path FIRST — clearOAuthHandshake drops
67
+ // it along with the PKCE keys.
68
+ cleanup: () => {
69
+ stripOAuthParamsFromUrl();
70
+ clearOAuthHandshake();
71
+ },
72
+ });
73
+ return result.ok;
74
+ }
75
+
76
+ /**
77
+ * Rewrite the address bar after an authorize round trip, and tell the router.
78
+ *
79
+ * Prefers the page the visit started on (see `persistOAuthReturnPath`) over the
80
+ * bare origin the IdP redirected to, falling back to `fallbackUrl` when nothing
81
+ * was recorded.
82
+ *
83
+ * The `popstate` dispatch is the load-bearing part. `history.replaceState`
84
+ * fires no event, and cold boot runs *inside* the mounted app — by the time
85
+ * this executes, a history-based router (React Router, Vue Router, …) has
86
+ * already read `location` and rendered the route for `/`. Without a
87
+ * notification the address bar would show the restored deep link while the page
88
+ * still displayed the home page. `popstate` is the event the History API
89
+ * defines for exactly this, and it is what those routers subscribe to.
90
+ *
91
+ * Only dispatched when the URL actually changed, so the common no-op case does
92
+ * not push a spurious event at every listener on the page.
93
+ */
94
+ export function replaceUrlAfterOAuthReturn(fallbackUrl: string): void {
95
+ const location = (globalThis as { location?: Location }).location;
96
+ const history = (globalThis as { history?: History }).history;
97
+ if (!location || !history?.replaceState) return;
98
+
99
+ const current = `${location.pathname}${location.search}${location.hash}`;
100
+ const target = consumeOAuthReturnPath() ?? fallbackUrl;
101
+ history.replaceState(history.state, '', target);
102
+ if (target === current) return;
103
+
104
+ const dispatch = (globalThis as { dispatchEvent?: (event: Event) => boolean }).dispatchEvent;
105
+ if (typeof dispatch !== 'function') return;
66
106
  try {
67
- const result = await opts.oxyServices.exchangeOAuthCode({
68
- code,
69
- clientId,
70
- redirectUri,
71
- codeVerifier: handshake.codeVerifier,
72
- });
73
- // Strip OAuth params before commit so a stale `?code=` cannot re-enter the exchange loop.
74
- clearOAuthHandshake();
75
- stripOAuthParamsFromUrl();
76
- await opts.commitSession({
77
- sessionId: result.sessionId,
78
- accessToken: result.accessToken,
79
- deviceId: result.deviceId,
80
- deviceSecret: result.deviceSecret,
81
- userId: result.user.id,
82
- expiresAt: result.expiresAt,
83
- user: result.user,
84
- });
85
- return true;
107
+ // `PopStateEvent` is web-only; plain `Event` is a good enough carrier for
108
+ // any host that lacks it (routers read `location`, not `event.state`).
109
+ const event =
110
+ typeof PopStateEvent === 'function'
111
+ ? new PopStateEvent('popstate', { state: history.state })
112
+ : new Event('popstate');
113
+ dispatch.call(globalThis, event);
86
114
  } catch (error) {
87
- logger.warn('OAuth return exchange failed', { component: 'oauthReturn' }, error);
88
- clearOAuthHandshake();
89
- stripOAuthParamsFromUrl();
90
- return false;
115
+ logger.warn('Could not notify router of restored URL', { component: 'oauthReturn' }, error);
91
116
  }
92
117
  }
93
118
 
@@ -101,15 +126,7 @@ function stripOAuthParamsFromUrl(): void {
101
126
  url.searchParams.delete('error');
102
127
  url.searchParams.delete('error_description');
103
128
  url.searchParams.delete('hub_sync');
104
- // The authorize round trip lands on the registered apex origin, so restore
105
- // the page the visit started on. Applies to the success path too: signing in
106
- // from a deep link should return you to that link, not to the home page.
107
- const returnPath = consumeOAuthReturnPath();
108
- history.replaceState(
109
- history.state,
110
- '',
111
- returnPath ?? `${url.pathname}${url.search}${url.hash}`,
112
- );
129
+ replaceUrlAfterOAuthReturn(`${url.pathname}${url.search}${url.hash}`);
113
130
  }
114
131
 
115
132
  /**
@@ -119,8 +136,7 @@ function stripOAuthParamsFromUrl(): void {
119
136
  */
120
137
  export function consumeHubSyncFailure(): boolean {
121
138
  if (!isWebBrowser()) return false;
122
- const location = (globalThis as { location?: Location; history?: History }).location;
123
- const history = (globalThis as { history?: History }).history;
139
+ const location = (globalThis as { location?: Location }).location;
124
140
  if (!location) return false;
125
141
 
126
142
  const params = new URLSearchParams(location.search);
@@ -130,10 +146,8 @@ export function consumeHubSyncFailure(): boolean {
130
146
  component: 'hubSync',
131
147
  });
132
148
 
133
- if (history?.replaceState) {
134
- const url = new URL(location.href);
135
- url.searchParams.delete('hub_sync');
136
- history.replaceState(history.state, '', `${url.pathname}${url.search}${url.hash}`);
137
- }
149
+ const url = new URL(location.href);
150
+ url.searchParams.delete('hub_sync');
151
+ replaceUrlAfterOAuthReturn(`${url.pathname}${url.search}${url.hash}`);
138
152
  return true;
139
153
  }
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setupFonts = exports.FontLoader = void 0;
7
- var _jsxRuntime = require("react/jsx-runtime");
8
- /**
9
- * Font loading — clean default (web, SSR, and any bundler that does not pick a
10
- * platform variant).
11
- *
12
- * Web fonts are Bloom's job: `applyFontFaces()` in `@oxyhq/bloom` injects the
13
- * Inter / BlomusModernus / Geist Mono `@font-face` rules as self-contained
14
- * base64 data URLs, so there is nothing for this package to load off native.
15
- * The real implementation lives in `FontLoader.native.tsx`.
16
- *
17
- * Keeping this module free of `expo-font` is load-bearing, not incidental:
18
- * `expo-font/build/serverContext.web.js` imports `node:async_hooks`, which
19
- * every browser bundler externalizes. A top-level `expo-font` import here
20
- * therefore throws at module-evaluation time on web and React never mounts.
21
- */
22
- const FontLoader = ({
23
- children
24
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
25
- children: children
26
- });
27
-
28
- /**
29
- * No-op off native. Returns `true` because setup genuinely succeeded — there is
30
- * simply nothing to do here — so callers do not log a spurious failure.
31
- */
32
- exports.FontLoader = FontLoader;
33
- const setupFonts = async () => true;
34
- exports.setupFonts = setupFonts;
35
- //# sourceMappingURL=FontLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FontLoader","children","_jsxRuntime","jsx","Fragment","exports","setupFonts"],"sourceRoot":"../../../../src","sources":["ui/components/FontLoader.tsx"],"mappings":";;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,UAAU,GAAGA,CAAC;EACvBC;AAGJ,CAAC,kBAAK,IAAAC,WAAA,CAAAC,GAAA,EAAAD,WAAA,CAAAE,QAAA;EAAAH,QAAA,EAAGA;AAAQ,CAAG,CAAC;;AAErB;AACA;AACA;AACA;AAHAI,OAAA,CAAAL,UAAA,GAAAA,UAAA;AAIO,MAAMM,UAAU,GAAG,MAAAA,CAAA,KAA8B,IAAI;AAACD,OAAA,CAAAC,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setupFonts = exports.FontLoader = void 0;
7
- var _react = require("react");
8
- var Font = _interopRequireWildcard(require("expo-font"));
9
- var _jsxRuntime = require("react/jsx-runtime");
10
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
- /**
12
- * Get the Inter font sources for native environments.
13
- * Loads all static Inter weights bundled with this package.
14
- */const getInterFonts = () => {
15
- try {
16
- return {
17
- 'Inter-Light': require('../../assets/fonts/Inter/Inter_18pt-Light.ttf'),
18
- 'Inter-Regular': require('../../assets/fonts/Inter/Inter_18pt-Regular.ttf'),
19
- 'Inter-Medium': require('../../assets/fonts/Inter/Inter_18pt-Medium.ttf'),
20
- 'Inter-SemiBold': require('../../assets/fonts/Inter/Inter_18pt-SemiBold.ttf'),
21
- 'Inter-Bold': require('../../assets/fonts/Inter/Inter_18pt-Bold.ttf'),
22
- 'Inter-ExtraBold': require('../../assets/fonts/Inter/Inter_18pt-ExtraBold.ttf'),
23
- 'Inter-Black': require('../../assets/fonts/Inter/Inter_18pt-Black.ttf')
24
- };
25
- } catch (error) {
26
- if (__DEV__) {
27
- console.warn('Failed to load Inter fonts:', error);
28
- }
29
- return null;
30
- }
31
- };
32
-
33
- /**
34
- * FontLoader — loads custom fonts in the background while rendering children
35
- * immediately with system fonts as fallback until the custom fonts are ready.
36
- */
37
- const FontLoader = ({
38
- children
39
- }) => {
40
- const [fontState, setFontState] = (0, _react.useState)('loading');
41
- (0, _react.useEffect)(() => {
42
- const loadFonts = async () => {
43
- try {
44
- const interFonts = getInterFonts();
45
- if (!interFonts) {
46
- throw new Error('Inter font files not found');
47
- }
48
- await Font.loadAsync(interFonts);
49
- setFontState('loaded');
50
- } catch (error) {
51
- if (__DEV__) {
52
- console.error('Error loading fonts:', error);
53
- }
54
- setFontState('error');
55
- }
56
- };
57
- loadFonts();
58
- }, []);
59
- if (fontState === 'error' && __DEV__) {
60
- console.warn('Fonts failed to load. Using system fonts instead.');
61
- }
62
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
63
- children: children
64
- });
65
- };
66
-
67
- /**
68
- * Setup fonts for applications consuming this package on native.
69
- */
70
- exports.FontLoader = FontLoader;
71
- const setupFonts = async () => {
72
- try {
73
- const interFonts = getInterFonts();
74
- if (!interFonts) {
75
- throw new Error('Inter font files not found');
76
- }
77
- await Font.loadAsync(interFonts);
78
- return true;
79
- } catch (error) {
80
- if (__DEV__) {
81
- const errorMessage = error instanceof Error ? error.message : String(error);
82
- console.warn('Error setting up fonts:', errorMessage);
83
- }
84
- return false;
85
- }
86
- };
87
- exports.setupFonts = setupFonts;
88
- //# sourceMappingURL=FontLoader.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","Font","_interopRequireWildcard","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getInterFonts","error","__DEV__","console","warn","FontLoader","children","fontState","setFontState","useState","useEffect","loadFonts","interFonts","Error","loadAsync","jsx","Fragment","exports","setupFonts","errorMessage","message","String"],"sourceRoot":"../../../../src","sources":["ui/components/FontLoader.native.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,uBAAA,CAAAF,OAAA;AAAkC,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAElC;AACA;AACA;AACA,GACA,MAAMkB,aAAa,GAAGA,CAAA,KAAM;EACxB,IAAI;IACA,OAAO;MACH,aAAa,EAAEvB,OAAO,CAAC,+CAA+C,CAAC;MACvE,eAAe,EAAEA,OAAO,CAAC,iDAAiD,CAAC;MAC3E,cAAc,EAAEA,OAAO,CAAC,gDAAgD,CAAC;MACzE,gBAAgB,EAAEA,OAAO,CAAC,kDAAkD,CAAC;MAC7E,YAAY,EAAEA,OAAO,CAAC,8CAA8C,CAAC;MACrE,iBAAiB,EAAEA,OAAO,CAAC,mDAAmD,CAAC;MAC/E,aAAa,EAAEA,OAAO,CAAC,+CAA+C;IAC1E,CAAC;EACL,CAAC,CAAC,OAAOwB,KAAK,EAAE;IACZ,IAAIC,OAAO,EAAE;MACTC,OAAO,CAACC,IAAI,CAAC,6BAA6B,EAAEH,KAAK,CAAC;IACtD;IACA,OAAO,IAAI;EACf;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMI,UAAU,GAAGA,CAAC;EACvBC;AAGJ,CAAC,KAAK;EACF,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAiC,SAAS,CAAC;EAErF,IAAAC,gBAAS,EAAC,MAAM;IACZ,MAAMC,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC1B,IAAI;QACA,MAAMC,UAAU,GAAGZ,aAAa,CAAC,CAAC;QAElC,IAAI,CAACY,UAAU,EAAE;UACb,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;QACjD;QAEA,MAAMnC,IAAI,CAACoC,SAAS,CAACF,UAAU,CAAC;QAChCJ,YAAY,CAAC,QAAQ,CAAC;MAC1B,CAAC,CAAC,OAAOP,KAAK,EAAE;QACZ,IAAIC,OAAO,EAAE;UACTC,OAAO,CAACF,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;QAChD;QACAO,YAAY,CAAC,OAAO,CAAC;MACzB;IACJ,CAAC;IAEDG,SAAS,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIJ,SAAS,KAAK,OAAO,IAAIL,OAAO,EAAE;IAClCC,OAAO,CAACC,IAAI,CAAC,mDAAmD,CAAC;EACrE;EAEA,oBAAO,IAAAxB,WAAA,CAAAmC,GAAA,EAAAnC,WAAA,CAAAoC,QAAA;IAAAV,QAAA,EAAGA;EAAQ,CAAG,CAAC;AAC1B,CAAC;;AAED;AACA;AACA;AAFAW,OAAA,CAAAZ,UAAA,GAAAA,UAAA;AAGO,MAAMa,UAAU,GAAG,MAAAA,CAAA,KAA8B;EACpD,IAAI;IACA,MAAMN,UAAU,GAAGZ,aAAa,CAAC,CAAC;IAElC,IAAI,CAACY,UAAU,EAAE;MACb,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;IACjD;IAEA,MAAMnC,IAAI,CAACoC,SAAS,CAACF,UAAU,CAAC;IAChC,OAAO,IAAI;EACf,CAAC,CAAC,OAAOX,KAAc,EAAE;IACrB,IAAIC,OAAO,EAAE;MACT,MAAMiB,YAAY,GAAGlB,KAAK,YAAYY,KAAK,GAAGZ,KAAK,CAACmB,OAAO,GAAGC,MAAM,CAACpB,KAAK,CAAC;MAC3EE,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAEe,YAAY,CAAC;IACzD;IACA,OAAO,KAAK;EAChB;AACJ,CAAC;AAACF,OAAA,CAAAC,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","QR_PLATE_BG","authChooserStyles","exports","StyleSheet","create","rows","width","gap","accountRow","flexDirection","alignItems","borderWidth","hairlineWidth","borderRadius","paddingVertical","paddingHorizontal","rowDisabled","opacity","avatarRing","padding","rowMeta","flex","minWidth","rowName","fontSize","fontWeight","rowHandle","marginTop","collapse","overflow","collapseMeasure","hero","paddingTop","paddingBottom","currentAvatarRing","position","top","left","right","bottom","heroAvatarPressable","heroAvatarRing","heroNameBlock","heroGreeting","textAlign","heroAddress","chevronCircle","height","justifyContent","footerLink","alignSelf","linkText","signInBlock","primaryButton","secondaryButton","usernameInput","dividerRow","marginVertical","dividerLine","dividerText","marginHorizontal","centeredBlock","mutedText","qrHeadline","qrPlate","backgroundColor"],"sourceRoot":"../../../../src","sources":["ui/components/oxyAuthChooserStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -1,29 +0,0 @@
1
- "use strict";
2
-
3
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
4
- /**
5
- * Font loading — clean default (web, SSR, and any bundler that does not pick a
6
- * platform variant).
7
- *
8
- * Web fonts are Bloom's job: `applyFontFaces()` in `@oxyhq/bloom` injects the
9
- * Inter / BlomusModernus / Geist Mono `@font-face` rules as self-contained
10
- * base64 data URLs, so there is nothing for this package to load off native.
11
- * The real implementation lives in `FontLoader.native.tsx`.
12
- *
13
- * Keeping this module free of `expo-font` is load-bearing, not incidental:
14
- * `expo-font/build/serverContext.web.js` imports `node:async_hooks`, which
15
- * every browser bundler externalizes. A top-level `expo-font` import here
16
- * therefore throws at module-evaluation time on web and React never mounts.
17
- */
18
- export const FontLoader = ({
19
- children
20
- }) => /*#__PURE__*/_jsx(_Fragment, {
21
- children: children
22
- });
23
-
24
- /**
25
- * No-op off native. Returns `true` because setup genuinely succeeded — there is
26
- * simply nothing to do here — so callers do not log a spurious failure.
27
- */
28
- export const setupFonts = async () => true;
29
- //# sourceMappingURL=FontLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FontLoader","children","_jsx","_Fragment","setupFonts"],"sourceRoot":"../../../../src","sources":["ui/components/FontLoader.tsx"],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,UAAU,GAAGA,CAAC;EACvBC;AAGJ,CAAC,kBAAKC,IAAA,CAAAC,SAAA;EAAAF,QAAA,EAAGA;AAAQ,CAAG,CAAC;;AAErB;AACA;AACA;AACA;AACA,OAAO,MAAMG,UAAU,GAAG,MAAAA,CAAA,KAA8B,IAAI","ignoreList":[]}
@@ -1,83 +0,0 @@
1
- "use strict";
2
-
3
- import { useState, useEffect } from 'react';
4
- import * as Font from 'expo-font';
5
-
6
- /**
7
- * Get the Inter font sources for native environments.
8
- * Loads all static Inter weights bundled with this package.
9
- */
10
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
11
- const getInterFonts = () => {
12
- try {
13
- return {
14
- 'Inter-Light': require('../../assets/fonts/Inter/Inter_18pt-Light.ttf'),
15
- 'Inter-Regular': require('../../assets/fonts/Inter/Inter_18pt-Regular.ttf'),
16
- 'Inter-Medium': require('../../assets/fonts/Inter/Inter_18pt-Medium.ttf'),
17
- 'Inter-SemiBold': require('../../assets/fonts/Inter/Inter_18pt-SemiBold.ttf'),
18
- 'Inter-Bold': require('../../assets/fonts/Inter/Inter_18pt-Bold.ttf'),
19
- 'Inter-ExtraBold': require('../../assets/fonts/Inter/Inter_18pt-ExtraBold.ttf'),
20
- 'Inter-Black': require('../../assets/fonts/Inter/Inter_18pt-Black.ttf')
21
- };
22
- } catch (error) {
23
- if (__DEV__) {
24
- console.warn('Failed to load Inter fonts:', error);
25
- }
26
- return null;
27
- }
28
- };
29
-
30
- /**
31
- * FontLoader — loads custom fonts in the background while rendering children
32
- * immediately with system fonts as fallback until the custom fonts are ready.
33
- */
34
- export const FontLoader = ({
35
- children
36
- }) => {
37
- const [fontState, setFontState] = useState('loading');
38
- useEffect(() => {
39
- const loadFonts = async () => {
40
- try {
41
- const interFonts = getInterFonts();
42
- if (!interFonts) {
43
- throw new Error('Inter font files not found');
44
- }
45
- await Font.loadAsync(interFonts);
46
- setFontState('loaded');
47
- } catch (error) {
48
- if (__DEV__) {
49
- console.error('Error loading fonts:', error);
50
- }
51
- setFontState('error');
52
- }
53
- };
54
- loadFonts();
55
- }, []);
56
- if (fontState === 'error' && __DEV__) {
57
- console.warn('Fonts failed to load. Using system fonts instead.');
58
- }
59
- return /*#__PURE__*/_jsx(_Fragment, {
60
- children: children
61
- });
62
- };
63
-
64
- /**
65
- * Setup fonts for applications consuming this package on native.
66
- */
67
- export const setupFonts = async () => {
68
- try {
69
- const interFonts = getInterFonts();
70
- if (!interFonts) {
71
- throw new Error('Inter font files not found');
72
- }
73
- await Font.loadAsync(interFonts);
74
- return true;
75
- } catch (error) {
76
- if (__DEV__) {
77
- const errorMessage = error instanceof Error ? error.message : String(error);
78
- console.warn('Error setting up fonts:', errorMessage);
79
- }
80
- return false;
81
- }
82
- };
83
- //# sourceMappingURL=FontLoader.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useState","useEffect","Font","Fragment","_Fragment","jsx","_jsx","getInterFonts","require","error","__DEV__","console","warn","FontLoader","children","fontState","setFontState","loadFonts","interFonts","Error","loadAsync","setupFonts","errorMessage","message","String"],"sourceRoot":"../../../../src","sources":["ui/components/FontLoader.native.tsx"],"mappings":";;AACA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,OAAO,KAAKC,IAAI,MAAM,WAAW;;AAEjC;AACA;AACA;AACA;AAHA,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAIA,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACxB,IAAI;IACA,OAAO;MACH,aAAa,EAAEC,OAAO,CAAC,+CAA+C,CAAC;MACvE,eAAe,EAAEA,OAAO,CAAC,iDAAiD,CAAC;MAC3E,cAAc,EAAEA,OAAO,CAAC,gDAAgD,CAAC;MACzE,gBAAgB,EAAEA,OAAO,CAAC,kDAAkD,CAAC;MAC7E,YAAY,EAAEA,OAAO,CAAC,8CAA8C,CAAC;MACrE,iBAAiB,EAAEA,OAAO,CAAC,mDAAmD,CAAC;MAC/E,aAAa,EAAEA,OAAO,CAAC,+CAA+C;IAC1E,CAAC;EACL,CAAC,CAAC,OAAOC,KAAK,EAAE;IACZ,IAAIC,OAAO,EAAE;MACTC,OAAO,CAACC,IAAI,CAAC,6BAA6B,EAAEH,KAAK,CAAC;IACtD;IACA,OAAO,IAAI;EACf;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMI,UAAU,GAAGA,CAAC;EACvBC;AAGJ,CAAC,KAAK;EACF,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGhB,QAAQ,CAAiC,SAAS,CAAC;EAErFC,SAAS,CAAC,MAAM;IACZ,MAAMgB,SAAS,GAAG,MAAAA,CAAA,KAAY;MAC1B,IAAI;QACA,MAAMC,UAAU,GAAGX,aAAa,CAAC,CAAC;QAElC,IAAI,CAACW,UAAU,EAAE;UACb,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;QACjD;QAEA,MAAMjB,IAAI,CAACkB,SAAS,CAACF,UAAU,CAAC;QAChCF,YAAY,CAAC,QAAQ,CAAC;MAC1B,CAAC,CAAC,OAAOP,KAAK,EAAE;QACZ,IAAIC,OAAO,EAAE;UACTC,OAAO,CAACF,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;QAChD;QACAO,YAAY,CAAC,OAAO,CAAC;MACzB;IACJ,CAAC;IAEDC,SAAS,CAAC,CAAC;EACf,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIF,SAAS,KAAK,OAAO,IAAIL,OAAO,EAAE;IAClCC,OAAO,CAACC,IAAI,CAAC,mDAAmD,CAAC;EACrE;EAEA,oBAAON,IAAA,CAAAF,SAAA;IAAAU,QAAA,EAAGA;EAAQ,CAAG,CAAC;AAC1B,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMO,UAAU,GAAG,MAAAA,CAAA,KAA8B;EACpD,IAAI;IACA,MAAMH,UAAU,GAAGX,aAAa,CAAC,CAAC;IAElC,IAAI,CAACW,UAAU,EAAE;MACb,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;IACjD;IAEA,MAAMjB,IAAI,CAACkB,SAAS,CAACF,UAAU,CAAC;IAChC,OAAO,IAAI;EACf,CAAC,CAAC,OAAOT,KAAc,EAAE;IACrB,IAAIC,OAAO,EAAE;MACT,MAAMY,YAAY,GAAGb,KAAK,YAAYU,KAAK,GAAGV,KAAK,CAACc,OAAO,GAAGC,MAAM,CAACf,KAAK,CAAC;MAC3EE,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAEU,YAAY,CAAC;IACzD;IACA,OAAO,KAAK;EAChB;AACJ,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["StyleSheet","QR_PLATE_BG","authChooserStyles","create","rows","width","gap","accountRow","flexDirection","alignItems","borderWidth","hairlineWidth","borderRadius","paddingVertical","paddingHorizontal","rowDisabled","opacity","avatarRing","padding","rowMeta","flex","minWidth","rowName","fontSize","fontWeight","rowHandle","marginTop","collapse","overflow","collapseMeasure","hero","paddingTop","paddingBottom","currentAvatarRing","position","top","left","right","bottom","heroAvatarPressable","heroAvatarRing","heroNameBlock","heroGreeting","textAlign","heroAddress","chevronCircle","height","justifyContent","footerLink","alignSelf","linkText","signInBlock","primaryButton","secondaryButton","usernameInput","dividerRow","marginVertical","dividerLine","dividerText","marginHorizontal","centeredBlock","mutedText","qrHeadline","qrPlate","backgroundColor"],"sourceRoot":"../../../../src","sources":["ui/components/oxyAuthChooserStyles.ts"],"mappings":"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","ignoreList":[]}
@@ -1,24 +0,0 @@
1
- import type React from 'react';
2
- /**
3
- * Font loading — clean default (web, SSR, and any bundler that does not pick a
4
- * platform variant).
5
- *
6
- * Web fonts are Bloom's job: `applyFontFaces()` in `@oxyhq/bloom` injects the
7
- * Inter / BlomusModernus / Geist Mono `@font-face` rules as self-contained
8
- * base64 data URLs, so there is nothing for this package to load off native.
9
- * The real implementation lives in `FontLoader.native.tsx`.
10
- *
11
- * Keeping this module free of `expo-font` is load-bearing, not incidental:
12
- * `expo-font/build/serverContext.web.js` imports `node:async_hooks`, which
13
- * every browser bundler externalizes. A top-level `expo-font` import here
14
- * therefore throws at module-evaluation time on web and React never mounts.
15
- */
16
- export declare const FontLoader: ({ children, }: {
17
- children: React.ReactNode;
18
- }) => React.JSX.Element;
19
- /**
20
- * No-op off native. Returns `true` because setup genuinely succeeded — there is
21
- * simply nothing to do here — so callers do not log a spurious failure.
22
- */
23
- export declare const setupFonts: () => Promise<boolean>;
24
- //# sourceMappingURL=FontLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontLoader.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FontLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GAAI,eAExB;IACC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,sBAAoB,CAAC;AAEtB;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,OAAO,CAAS,CAAC"}
@@ -1,13 +0,0 @@
1
- import type React from 'react';
2
- /**
3
- * FontLoader — loads custom fonts in the background while rendering children
4
- * immediately with system fonts as fallback until the custom fonts are ready.
5
- */
6
- export declare const FontLoader: ({ children, }: {
7
- children: React.ReactNode;
8
- }) => React.JSX.Element;
9
- /**
10
- * Setup fonts for applications consuming this package on native.
11
- */
12
- export declare const setupFonts: () => Promise<boolean>;
13
- //# sourceMappingURL=FontLoader.native.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontLoader.native.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FontLoader.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA2B/B;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,eAExB;IACC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,sBA8BA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,OAAO,CAiBlD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"oxyAuthChooserStyles.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/oxyAuthChooserStyles.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkC5B;;;;;OAKG;;;;;;;IAOH;;;;;;OAMG;;;;;;;IAOH;;;;;OAKG;;;;;;;;;;IAUH;;;;OAIG;;;;IAIH,0EAA0E;;;;;;;;;;IAU1E;qFACiF;;;;;;;;;;IAUjF,8EAA8E;;;;;IAK9E;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEH,CAAC"}
@@ -1,24 +0,0 @@
1
- import type React from 'react';
2
- /**
3
- * Font loading — clean default (web, SSR, and any bundler that does not pick a
4
- * platform variant).
5
- *
6
- * Web fonts are Bloom's job: `applyFontFaces()` in `@oxyhq/bloom` injects the
7
- * Inter / BlomusModernus / Geist Mono `@font-face` rules as self-contained
8
- * base64 data URLs, so there is nothing for this package to load off native.
9
- * The real implementation lives in `FontLoader.native.tsx`.
10
- *
11
- * Keeping this module free of `expo-font` is load-bearing, not incidental:
12
- * `expo-font/build/serverContext.web.js` imports `node:async_hooks`, which
13
- * every browser bundler externalizes. A top-level `expo-font` import here
14
- * therefore throws at module-evaluation time on web and React never mounts.
15
- */
16
- export declare const FontLoader: ({ children, }: {
17
- children: React.ReactNode;
18
- }) => React.JSX.Element;
19
- /**
20
- * No-op off native. Returns `true` because setup genuinely succeeded — there is
21
- * simply nothing to do here — so callers do not log a spurious failure.
22
- */
23
- export declare const setupFonts: () => Promise<boolean>;
24
- //# sourceMappingURL=FontLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FontLoader.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FontLoader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GAAI,eAExB;IACC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,sBAAoB,CAAC;AAEtB;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,OAAO,CAAS,CAAC"}