@oxyhq/services 22.9.0 → 22.10.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 (428) hide show
  1. package/lib/commonjs/index.js +24 -5
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/{OxyAccountDialog.js → OxyAccountDialogScreen.js} +25 -125
  4. package/lib/commonjs/ui/components/OxyAccountDialogScreen.js.map +1 -0
  5. package/lib/commonjs/ui/components/OxyAuthChooser.js +137 -40
  6. package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
  7. package/lib/commonjs/ui/components/OxyConsentScreen.js +1 -1
  8. package/lib/commonjs/ui/components/ProfileButton.js +1 -1
  9. package/lib/commonjs/ui/components/RequireOxyAuth.js +1 -1
  10. package/lib/commonjs/ui/components/SurfaceHeaderAction.js +63 -0
  11. package/lib/commonjs/ui/components/SurfaceHeaderAction.js.map +1 -0
  12. package/lib/commonjs/ui/components/SurfaceScreen.js +52 -5
  13. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -1
  14. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +46 -29
  15. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  16. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +47 -23
  17. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  18. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js +22 -12
  19. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +1 -1
  20. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js +83 -0
  21. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
  22. package/lib/commonjs/ui/context/OxyContext.js +23 -9
  23. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  24. package/lib/commonjs/ui/hooks/useAvatarPicker.js +34 -39
  25. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  26. package/lib/commonjs/ui/hooks/useSurfaceHeader.js +46 -0
  27. package/lib/commonjs/ui/hooks/useSurfaceHeader.js.map +1 -0
  28. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +1 -1
  29. package/lib/commonjs/ui/navigation/accountDialogManager.js +14 -2
  30. package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -1
  31. package/lib/commonjs/ui/navigation/routes.js +3 -3
  32. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  33. package/lib/commonjs/ui/navigation/surfaceBackBridge.js +68 -0
  34. package/lib/commonjs/ui/navigation/surfaceBackBridge.js.map +1 -0
  35. package/lib/commonjs/ui/navigation/surfaceRegistry.js +52 -8
  36. package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -1
  37. package/lib/commonjs/ui/navigation/surfaces.js +42 -5
  38. package/lib/commonjs/ui/navigation/surfaces.js.map +1 -1
  39. package/lib/commonjs/ui/screens/AccountMembersScreen.js +214 -283
  40. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  41. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +88 -118
  42. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  43. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +22 -36
  44. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  45. package/lib/commonjs/ui/screens/AppInfoScreen.js +219 -226
  46. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/AvatarCropScreen.js +10 -14
  48. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +24 -39
  50. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/CreateAccountScreen.js +136 -158
  52. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +29 -36
  54. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/EditProfileScreen.js +101 -109
  56. package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/FAQScreen.js +10 -15
  58. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/FeedbackScreen.js +8 -16
  60. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/FileManagementScreen.js +219 -206
  62. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/HelpSupportScreen.js +62 -69
  64. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/HistoryViewScreen.js +63 -79
  66. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +69 -98
  68. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +8 -14
  70. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +77 -94
  72. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/ManageAccountScreen.js +99 -134
  74. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  75. package/lib/commonjs/ui/screens/NotificationsScreen.js +69 -76
  76. package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
  77. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -8
  78. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/PreferencesScreen.js +67 -74
  80. package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
  81. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +55 -91
  82. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  83. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +291 -304
  84. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  85. package/lib/commonjs/ui/screens/ProfileScreen.js +100 -114
  86. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  87. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +38 -45
  88. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  89. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +44 -57
  90. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  91. package/lib/commonjs/ui/screens/UserLinksScreen.js +24 -31
  92. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  93. package/lib/commonjs/ui/screens/UserListScreen.js +14 -24
  94. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  95. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +1 -1
  96. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js +66 -75
  97. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  98. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +111 -139
  99. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  100. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +13 -20
  101. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  102. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +14 -27
  103. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  104. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +68 -85
  105. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  106. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +28 -36
  107. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  108. package/lib/module/index.js +12 -5
  109. package/lib/module/index.js.map +1 -1
  110. package/lib/module/ui/components/{OxyAccountDialog.js → OxyAccountDialogScreen.js} +27 -127
  111. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -0
  112. package/lib/module/ui/components/OxyAuthChooser.js +137 -40
  113. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  114. package/lib/module/ui/components/OxyConsentScreen.js +1 -1
  115. package/lib/module/ui/components/ProfileButton.js +1 -1
  116. package/lib/module/ui/components/RequireOxyAuth.js +1 -1
  117. package/lib/module/ui/components/SurfaceHeaderAction.js +58 -0
  118. package/lib/module/ui/components/SurfaceHeaderAction.js.map +1 -0
  119. package/lib/module/ui/components/SurfaceScreen.js +53 -6
  120. package/lib/module/ui/components/SurfaceScreen.js.map +1 -1
  121. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +46 -29
  122. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  123. package/lib/module/ui/components/modals/DeleteAccountModal.js +46 -23
  124. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  125. package/lib/module/ui/components/oxyAuthChooserStyles.js +22 -12
  126. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +1 -1
  127. package/lib/module/ui/components/surfaces/ActionSheetSurface.js +78 -0
  128. package/lib/module/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
  129. package/lib/module/ui/context/OxyContext.js +23 -9
  130. package/lib/module/ui/context/OxyContext.js.map +1 -1
  131. package/lib/module/ui/hooks/useAvatarPicker.js +34 -39
  132. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  133. package/lib/module/ui/hooks/useSurfaceHeader.js +42 -0
  134. package/lib/module/ui/hooks/useSurfaceHeader.js.map +1 -0
  135. package/lib/module/ui/hooks/useSwitchableAccounts.js +1 -1
  136. package/lib/module/ui/navigation/accountDialogManager.js +14 -2
  137. package/lib/module/ui/navigation/accountDialogManager.js.map +1 -1
  138. package/lib/module/ui/navigation/routes.js +3 -3
  139. package/lib/module/ui/navigation/routes.js.map +1 -1
  140. package/lib/module/ui/navigation/surfaceBackBridge.js +63 -0
  141. package/lib/module/ui/navigation/surfaceBackBridge.js.map +1 -0
  142. package/lib/module/ui/navigation/surfaceRegistry.js +52 -8
  143. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
  144. package/lib/module/ui/navigation/surfaces.js +42 -5
  145. package/lib/module/ui/navigation/surfaces.js.map +1 -1
  146. package/lib/module/ui/screens/AccountMembersScreen.js +218 -286
  147. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  148. package/lib/module/ui/screens/AccountSettingsScreen.js +92 -121
  149. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  150. package/lib/module/ui/screens/AccountVerificationScreen.js +25 -38
  151. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  152. package/lib/module/ui/screens/AppInfoScreen.js +220 -227
  153. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  154. package/lib/module/ui/screens/AvatarCropScreen.js +10 -14
  155. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  156. package/lib/module/ui/screens/ConnectedAppsScreen.js +26 -40
  157. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  158. package/lib/module/ui/screens/CreateAccountScreen.js +139 -160
  159. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  160. package/lib/module/ui/screens/EditProfileFieldScreen.js +32 -38
  161. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  162. package/lib/module/ui/screens/EditProfileScreen.js +102 -110
  163. package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
  164. package/lib/module/ui/screens/FAQScreen.js +11 -15
  165. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  166. package/lib/module/ui/screens/FeedbackScreen.js +10 -17
  167. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  168. package/lib/module/ui/screens/FileManagementScreen.js +222 -208
  169. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  170. package/lib/module/ui/screens/HelpSupportScreen.js +64 -70
  171. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  172. package/lib/module/ui/screens/HistoryViewScreen.js +65 -81
  173. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  174. package/lib/module/ui/screens/LanguageSelectorScreen.js +71 -99
  175. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  176. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +10 -15
  177. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  178. package/lib/module/ui/screens/LegalDocumentsScreen.js +78 -94
  179. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  180. package/lib/module/ui/screens/ManageAccountScreen.js +102 -137
  181. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  182. package/lib/module/ui/screens/NotificationsScreen.js +71 -77
  183. package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
  184. package/lib/module/ui/screens/PaymentGatewayScreen.js +4 -9
  185. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  186. package/lib/module/ui/screens/PreferencesScreen.js +69 -75
  187. package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
  188. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +58 -93
  189. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  190. package/lib/module/ui/screens/PrivacySettingsScreen.js +293 -305
  191. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  192. package/lib/module/ui/screens/ProfileScreen.js +102 -116
  193. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  194. package/lib/module/ui/screens/SavesCollectionsScreen.js +40 -46
  195. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  196. package/lib/module/ui/screens/SearchSettingsScreen.js +46 -58
  197. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  198. package/lib/module/ui/screens/UserLinksScreen.js +26 -32
  199. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  200. package/lib/module/ui/screens/UserListScreen.js +14 -24
  201. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  202. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +1 -1
  203. package/lib/module/ui/screens/trust/TrustAboutScreen.js +67 -75
  204. package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  205. package/lib/module/ui/screens/trust/TrustCenterScreen.js +112 -139
  206. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  207. package/lib/module/ui/screens/trust/TrustFAQScreen.js +15 -21
  208. package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  209. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +14 -26
  210. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  211. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +69 -85
  212. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  213. package/lib/module/ui/screens/trust/TrustRulesScreen.js +30 -37
  214. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  215. package/lib/typescript/commonjs/index.d.ts +2 -0
  216. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/components/{OxyAccountDialog.d.ts → OxyAccountDialogScreen.d.ts} +4 -4
  218. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
  219. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +3 -3
  220. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +2 -2
  222. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +1 -1
  223. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts +16 -0
  224. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts +4 -2
  226. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
  228. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +17 -2
  230. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts +19 -9
  232. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
  234. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  236. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +7 -11
  237. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  238. package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts +31 -0
  239. package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
  240. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +1 -1
  241. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +14 -2
  242. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts +16 -0
  244. package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +31 -13
  246. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  247. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -1
  248. package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  249. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  250. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  252. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts +0 -4
  253. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  254. package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  256. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  257. package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +1 -1
  259. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  261. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  262. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  263. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  264. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  266. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
  267. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  268. package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  270. package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
  271. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  272. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  273. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  274. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  276. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  277. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  282. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/ui/types/navigation.d.ts +8 -0
  285. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  286. package/lib/typescript/module/index.d.ts +2 -0
  287. package/lib/typescript/module/index.d.ts.map +1 -1
  288. package/lib/typescript/module/ui/components/{OxyAccountDialog.d.ts → OxyAccountDialogScreen.d.ts} +4 -4
  289. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
  290. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +3 -3
  291. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  292. package/lib/typescript/module/ui/components/ProfileButton.d.ts +2 -2
  293. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +1 -1
  294. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts +16 -0
  295. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
  296. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts +4 -2
  297. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -1
  298. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
  299. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  300. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +17 -2
  301. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  302. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts +19 -9
  303. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
  304. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
  305. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
  306. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  307. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +7 -11
  308. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  309. package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts +31 -0
  310. package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
  311. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +1 -1
  312. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +14 -2
  313. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
  314. package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts +16 -0
  315. package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
  316. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +31 -13
  317. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
  318. package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -1
  319. package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  320. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  321. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  322. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  323. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts +0 -4
  324. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  325. package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  326. package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  327. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  328. package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts.map +1 -1
  329. package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
  330. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  331. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  332. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  333. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  334. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  335. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  336. package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  337. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
  338. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  339. package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
  340. package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  341. package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
  342. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  343. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  344. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  345. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  346. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  347. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  348. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  349. package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  350. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  351. package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  352. package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  353. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  354. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  355. package/lib/typescript/module/ui/types/navigation.d.ts +8 -0
  356. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  357. package/package.json +2 -2
  358. package/src/index.ts +12 -5
  359. package/src/ui/components/{OxyAccountDialog.tsx → OxyAccountDialogScreen.tsx} +21 -110
  360. package/src/ui/components/OxyAuthChooser.tsx +153 -33
  361. package/src/ui/components/OxyConsentScreen.tsx +1 -1
  362. package/src/ui/components/ProfileButton.tsx +2 -2
  363. package/src/ui/components/RequireOxyAuth.tsx +1 -1
  364. package/src/ui/components/SurfaceHeaderAction.tsx +60 -0
  365. package/src/ui/components/SurfaceScreen.tsx +66 -6
  366. package/src/ui/components/fileManagement/FileDetailsModal.tsx +50 -36
  367. package/src/ui/components/modals/DeleteAccountModal.tsx +47 -26
  368. package/src/ui/components/oxyAuthChooserStyles.ts +22 -12
  369. package/src/ui/components/surfaces/ActionSheetSurface.tsx +98 -0
  370. package/src/ui/context/OxyContext.tsx +22 -8
  371. package/src/ui/hooks/useAvatarPicker.ts +53 -66
  372. package/src/ui/hooks/useSurfaceHeader.ts +56 -0
  373. package/src/ui/hooks/useSwitchableAccounts.ts +1 -1
  374. package/src/ui/navigation/__tests__/surfaceNavStack.test.ts +68 -0
  375. package/src/ui/navigation/accountDialogManager.ts +14 -2
  376. package/src/ui/navigation/routes.ts +3 -3
  377. package/src/ui/navigation/surfaceBackBridge.ts +69 -0
  378. package/src/ui/navigation/surfaceRegistry.ts +80 -14
  379. package/src/ui/navigation/surfaces.ts +33 -5
  380. package/src/ui/screens/AccountMembersScreen.tsx +39 -100
  381. package/src/ui/screens/AccountSettingsScreen.tsx +32 -54
  382. package/src/ui/screens/AccountVerificationScreen.tsx +23 -51
  383. package/src/ui/screens/AppInfoScreen.tsx +6 -13
  384. package/src/ui/screens/AvatarCropScreen.tsx +8 -17
  385. package/src/ui/screens/ConnectedAppsScreen.tsx +39 -60
  386. package/src/ui/screens/CreateAccountScreen.tsx +13 -39
  387. package/src/ui/screens/EditProfileFieldScreen.tsx +30 -48
  388. package/src/ui/screens/EditProfileScreen.tsx +7 -16
  389. package/src/ui/screens/FAQScreen.tsx +9 -13
  390. package/src/ui/screens/FeedbackScreen.tsx +8 -22
  391. package/src/ui/screens/FileManagementScreen.tsx +191 -188
  392. package/src/ui/screens/HelpSupportScreen.tsx +7 -13
  393. package/src/ui/screens/HistoryViewScreen.tsx +26 -31
  394. package/src/ui/screens/LanguageSelectorScreen.tsx +12 -46
  395. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +8 -16
  396. package/src/ui/screens/LegalDocumentsScreen.tsx +7 -22
  397. package/src/ui/screens/ManageAccountScreen.tsx +96 -165
  398. package/src/ui/screens/NotificationsScreen.tsx +7 -13
  399. package/src/ui/screens/PaymentGatewayScreen.tsx +3 -10
  400. package/src/ui/screens/PreferencesScreen.tsx +7 -13
  401. package/src/ui/screens/PremiumSubscriptionScreen.tsx +52 -90
  402. package/src/ui/screens/PrivacySettingsScreen.tsx +9 -21
  403. package/src/ui/screens/ProfileScreen.tsx +9 -11
  404. package/src/ui/screens/SavesCollectionsScreen.tsx +7 -13
  405. package/src/ui/screens/SearchSettingsScreen.tsx +9 -21
  406. package/src/ui/screens/UserLinksScreen.tsx +7 -14
  407. package/src/ui/screens/UserListScreen.tsx +2 -5
  408. package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +1 -1
  409. package/src/ui/screens/trust/TrustAboutScreen.tsx +10 -17
  410. package/src/ui/screens/trust/TrustCenterScreen.tsx +9 -28
  411. package/src/ui/screens/trust/TrustFAQScreen.tsx +15 -18
  412. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +3 -5
  413. package/src/ui/screens/trust/TrustRewardsScreen.tsx +11 -26
  414. package/src/ui/screens/trust/TrustRulesScreen.tsx +10 -13
  415. package/src/ui/types/navigation.ts +8 -0
  416. package/lib/commonjs/ui/components/Header.js +0 -305
  417. package/lib/commonjs/ui/components/Header.js.map +0 -1
  418. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +0 -1
  419. package/lib/module/ui/components/Header.js +0 -299
  420. package/lib/module/ui/components/Header.js.map +0 -1
  421. package/lib/module/ui/components/OxyAccountDialog.js.map +0 -1
  422. package/lib/typescript/commonjs/ui/components/Header.d.ts +0 -33
  423. package/lib/typescript/commonjs/ui/components/Header.d.ts.map +0 -1
  424. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +0 -1
  425. package/lib/typescript/module/ui/components/Header.d.ts +0 -33
  426. package/lib/typescript/module/ui/components/Header.d.ts.map +0 -1
  427. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +0 -1
  428. package/src/ui/components/Header.tsx +0 -224
@@ -8,15 +8,17 @@ var _react = require("react");
8
8
  var _core = require("@oxyhq/core");
9
9
  var _bloom = require("@oxyhq/bloom");
10
10
  var _avatarUtils = require("../utils/avatarUtils.js");
11
+ var _surfaces = require("../navigation/surfaces.js");
11
12
  /**
12
13
  * Avatar Picker Hook
13
14
  *
14
15
  * Extracts avatar selection logic from OxyContext for better modularity.
15
16
  *
16
- * Flow:
17
- * 1. Open the FileManagement bottom sheet in select mode for image files.
18
- * 2. After the user picks an image, route to the AvatarCrop screen so they
19
- * can square-crop + zoom before the avatar is set.
17
+ * Flow (typed promises over the shared surface stack — no callback props):
18
+ * 1. `surfaces.present('FileManagement', …)` opens the image-only picker and
19
+ * resolves with the picked file (or `undefined` if the user cancels).
20
+ * 2. Resolve a private-safe source URL, then `surfaces.present('AvatarCrop', …)`
21
+ * opens the square-crop editor and resolves with the cropped JPEG.
20
22
  * 3. The cropped JPEG is uploaded as a NEW file via `oxyServices.assetUpload`
21
23
  * and that file becomes the user's avatar.
22
24
  *
@@ -38,8 +40,7 @@ function useAvatarPicker({
38
40
  oxyServices,
39
41
  currentLanguage,
40
42
  activeSessionId,
41
- queryClient,
42
- showBottomSheet
43
+ queryClient
43
44
  }) {
44
45
  /**
45
46
  * Final step: take the cropped JPEG, upload it as a new public file, then
@@ -66,24 +67,27 @@ function useAvatarPicker({
66
67
  _bloom.toast.error(message || (0, _core.translate)(currentLanguage ?? undefined, 'editProfile.toasts.updateAvatarFailed') || 'Failed to update avatar');
67
68
  }
68
69
  }, [activeSessionId, currentLanguage, oxyServices, queryClient]);
69
-
70
- /**
71
- * After the user picks a file in the FileManagement sheet, resolve a working
72
- * source URL and route to the crop screen.
73
- *
74
- * The picked file is usually PRIVATE, so the synchronous
75
- * `getFileDownloadUrl` (public CDN origin) would 404 and the crop screen's
76
- * `Image.getSize` would fail silently. We resolve the authenticated URL via
77
- * `assetGetUrl` (which throws on failure — unlike `getFileDownloadUrlAsync`,
78
- * which swallows errors and falls back to the broken public URL) so a
79
- * failure surfaces a real user-facing error instead of a blank crop canvas.
80
- * No variant is requested — cropping needs the original.
81
- */
82
- const handleFilePicked = (0, _react.useCallback)(async file => {
70
+ const openAvatarPicker = (0, _react.useCallback)(async () => {
71
+ // 1. Present the image-only picker; it dismisses with the picked file when
72
+ // the user taps one, or `undefined` if they cancel.
73
+ const file = await _surfaces.surfaces.present('FileManagement', {
74
+ selectMode: true,
75
+ multiSelect: false,
76
+ disabledMimeTypes: ['video/', 'audio/', 'application/pdf']
77
+ });
78
+ if (!file) return;
83
79
  if (!file.contentType?.startsWith('image/')) {
84
80
  _bloom.toast.error((0, _core.translate)(currentLanguage ?? undefined, 'editProfile.toasts.selectImage') || 'Please select an image file');
85
81
  return;
86
82
  }
83
+
84
+ // 2. Resolve a working source URL. The picked file is usually PRIVATE, so
85
+ // the synchronous `getFileDownloadUrl` (public CDN origin) would 404 and
86
+ // the crop screen's `Image.getSize` would fail silently. `assetGetUrl`
87
+ // throws on failure (unlike `getFileDownloadUrlAsync`, which swallows
88
+ // errors and falls back to the broken public URL), so a failure surfaces
89
+ // a real user-facing error instead of a blank crop canvas. No variant is
90
+ // requested — cropping needs the original.
87
91
  let sourceUri;
88
92
  try {
89
93
  const resolved = await oxyServices.assetGetUrl(file.id);
@@ -96,26 +100,17 @@ function useAvatarPicker({
96
100
  _bloom.toast.error(message || (0, _core.translate)(currentLanguage ?? undefined, 'editProfile.toasts.cropMeasureFailed') || 'Could not load the selected image');
97
101
  return;
98
102
  }
99
- showBottomSheet({
100
- screen: 'AvatarCrop',
101
- props: {
102
- imageUri: sourceUri,
103
- onConfirm: finalizeCroppedAvatar
104
- }
105
- });
106
- }, [currentLanguage, finalizeCroppedAvatar, oxyServices, showBottomSheet]);
107
- const openAvatarPicker = (0, _react.useCallback)(() => {
108
- showBottomSheet({
109
- screen: 'FileManagement',
110
- props: {
111
- selectMode: true,
112
- multiSelect: false,
113
- disabledMimeTypes: ['video/', 'audio/', 'application/pdf'],
114
- afterSelect: 'none',
115
- onSelect: handleFilePicked
116
- }
103
+
104
+ // 3. Present the square-crop editor in place of the picker; it dismisses
105
+ // with the cropped JPEG on confirm, or `undefined` if cancelled.
106
+ const cropped = await _surfaces.surfaces.present('AvatarCrop', {
107
+ imageUri: sourceUri
117
108
  });
118
- }, [handleFilePicked, showBottomSheet]);
109
+ if (!cropped) return;
110
+
111
+ // 4. Upload + set as the user's avatar.
112
+ await finalizeCroppedAvatar(cropped);
113
+ }, [currentLanguage, finalizeCroppedAvatar, oxyServices]);
119
114
  return {
120
115
  openAvatarPicker
121
116
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_core","_bloom","_avatarUtils","extractUploadedFileId","result","undefined","id","file","first","files","useAvatarPicker","oxyServices","currentLanguage","activeSessionId","queryClient","showBottomSheet","finalizeCroppedAvatar","useCallback","cropped","uploadResult","assetUpload","uri","type","mime","name","Date","now","newFileId","Error","updateAvatarVisibility","updateProfileWithAvatar","avatar","toast","success","translate","e","message","error","handleFilePicked","contentType","startsWith","sourceUri","resolved","assetGetUrl","url","screen","props","imageUri","onConfirm","openAvatarPicker","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAvatarPicker.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_core","_bloom","_avatarUtils","_surfaces","extractUploadedFileId","result","undefined","id","file","first","files","useAvatarPicker","oxyServices","currentLanguage","activeSessionId","queryClient","finalizeCroppedAvatar","useCallback","cropped","uploadResult","assetUpload","uri","type","mime","name","Date","now","newFileId","Error","updateAvatarVisibility","updateProfileWithAvatar","avatar","toast","success","translate","e","message","error","openAvatarPicker","surfaces","present","selectMode","multiSelect","disabledMimeTypes","contentType","startsWith","sourceUri","resolved","assetGetUrl","url","imageUri"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAvatarPicker.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SurfaceHeaderContext = void 0;
7
+ exports.useSurfaceHeader = useSurfaceHeader;
8
+ var _react = require("react");
9
+ /**
10
+ * The header content a mounted surface screen contributes at runtime: its
11
+ * (translated) title/subtitle and optional slot nodes. Back/close affordances
12
+ * are owned by the surface host (`SurfaceScreen`) — a screen never wires them.
13
+ *
14
+ * A `right` slot is the canonical place for a screen-state action (e.g. a Save
15
+ * button whose disabled/loading state reflects the form). Slot nodes MUST be
16
+ * referentially stable (memoize them with `useMemo`) so the header does not
17
+ * thrash.
18
+ */
19
+
20
+ /**
21
+ * Provided by {@link ../components/SurfaceScreen}. Bridges a screen's runtime
22
+ * header contribution up to the host, which merges it with the back/close
23
+ * wiring and drives the Dialog's own nav header. `null` outside a surface (or in
24
+ * a headerless surface), so {@link useSurfaceHeader} is a safe no-op there.
25
+ */
26
+ const SurfaceHeaderContext = exports.SurfaceHeaderContext = /*#__PURE__*/(0, _react.createContext)(null);
27
+
28
+ /**
29
+ * Declare the Dialog nav header's content from within a surface screen — its
30
+ * title/subtitle and any action slot. Merges over nothing (the host owns
31
+ * back/close), replaces on change, and clears on unmount. Call it unconditionally;
32
+ * it is a no-op outside a header-mode surface.
33
+ */
34
+ function useSurfaceHeader(content) {
35
+ const ctx = (0, _react.useContext)(SurfaceHeaderContext);
36
+ const set = ctx?.setContent;
37
+ // Set synchronously in the commit's layout phase so the bar/title fill in
38
+ // BEFORE the browser paints — no first-frame flash of an empty bar.
39
+ (0, _react.useLayoutEffect)(() => {
40
+ if (!set) return;
41
+ set(content ?? null);
42
+ return () => set(null);
43
+ // Slot nodes (`left`/`right`) are compared by identity; callers memoize them.
44
+ }, [set, content?.title, content?.subtitle, content?.largeTitle, content?.left, content?.right, content?.onBack]);
45
+ }
46
+ //# sourceMappingURL=useSurfaceHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","SurfaceHeaderContext","exports","createContext","useSurfaceHeader","content","ctx","useContext","set","setContent","useLayoutEffect","title","subtitle","largeTitle","left","right","onBack"],"sourceRoot":"../../../../src","sources":["ui/hooks/useSurfaceHeader.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAG,IAAAE,oBAAa,EAAmC,IAAI,CAAC;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAACC,OAAgD,EAAQ;EACvF,MAAMC,GAAG,GAAG,IAAAC,iBAAU,EAACN,oBAAoB,CAAC;EAC5C,MAAMO,GAAG,GAAGF,GAAG,EAAEG,UAAU;EAC3B;EACA;EACA,IAAAC,sBAAe,EAAC,MAAM;IACpB,IAAI,CAACF,GAAG,EAAE;IACVA,GAAG,CAACH,OAAO,IAAI,IAAI,CAAC;IACpB,OAAO,MAAMG,GAAG,CAAC,IAAI,CAAC;IACtB;EACF,CAAC,EAAE,CACDA,GAAG,EACHH,OAAO,EAAEM,KAAK,EACdN,OAAO,EAAEO,QAAQ,EACjBP,OAAO,EAAEQ,UAAU,EACnBR,OAAO,EAAES,IAAI,EACbT,OAAO,EAAEU,KAAK,EACdV,OAAO,EAAEW,MAAM,CAChB,CAAC;AACJ","ignoreList":[]}
@@ -33,7 +33,7 @@ const EMPTY_SNAPSHOT = {
33
33
  * real per-account name / email / avatar / color.
34
34
  *
35
35
  * This is a thin binding over the shared `AccountDialogController` in
36
- * `@oxyhq/core` (the SAME headless source the {@link OxyAccountDialog} renders),
36
+ * `@oxyhq/core` (the SAME headless source the {@link OxyAccountDialogScreen} renders),
37
37
  * so there is ONE projection (`projectSwitchableAccounts`) and one switch path
38
38
  * (`controller.switchTo`) across the whole SDK — the local duplicate projection
39
39
  * this hook used to own has been removed. Every switch routes through
@@ -9,10 +9,22 @@ exports.openAccountDialog = openAccountDialog;
9
9
  exports.registerAccountDialogControls = registerAccountDialogControls;
10
10
  exports.subscribeToAccountDialog = subscribeToAccountDialog;
11
11
  /**
12
- * Imperative controls for the unified {@link OxyAccountDialog}.
12
+ * Imperative, outside-React entry points for the unified `OxyAccountDialogScreen`.
13
+ *
14
+ * These delegate to the live handles the mounted `OxyProvider` registers via
15
+ * {@link registerAccountDialogControls}. Under the hood `open`/`close` present
16
+ * and dismiss the `AccountDialog` surface on the shared Bloom surface stack
17
+ * (`OxyContext.openAccountDialog` → `presentDetached('AccountDialog', …)`), so
18
+ * whether the dialog is open is owned by that stack — this module is only the
19
+ * thin bridge that reaches the provider's controller (which sets the dialog
20
+ * view) from a non-React call site.
13
21
  */
14
22
 
15
- /** Live open/close handles registered by the mounted provider. */
23
+ /**
24
+ * Live open/close handles registered by the mounted provider. `open` presents
25
+ * the `AccountDialog` surface (and points its view); `close` dismisses it. Both
26
+ * are stack operations — this interface never carries visibility state.
27
+ */
16
28
 
17
29
  let controls = null;
18
30
  const visibilityListeners = new Set();
@@ -1 +1 @@
1
- {"version":3,"names":["controls","visibilityListeners","Set","registerAccountDialogControls","next","openAccountDialog","view","open","closeAccountDialog","close","notifyAccountDialogVisibility","visible","listener","subscribeToAccountDialog","add","delete"],"sourceRoot":"../../../../src","sources":["ui/navigation/accountDialogManager.ts"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;;AAIA;;AAMA,IAAIA,QAAsC,GAAG,IAAI;AACjD,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAA6B,CAAC;AAE1D,SAASC,6BAA6BA,CAACC,IAA2B,EAAc;EACrFJ,QAAQ,GAAGI,IAAI;EACf,OAAO,MAAM;IACX,IAAIJ,QAAQ,KAAKI,IAAI,EAAE;MACrBJ,QAAQ,GAAG,IAAI;IACjB;EACF,CAAC;AACH;;AAEA;AACO,SAASK,iBAAiBA,CAACC,IAAwB,EAAQ;EAChEN,QAAQ,EAAEO,IAAI,CAACD,IAAI,CAAC;AACtB;;AAEA;AACO,SAASE,kBAAkBA,CAAA,EAAS;EACzCR,QAAQ,EAAES,KAAK,CAAC,CAAC;AACnB;;AAEA;AACO,SAASC,6BAA6BA,CAACC,OAAgB,EAAQ;EACpE,KAAK,MAAMC,QAAQ,IAAIX,mBAAmB,EAAE;IAC1CW,QAAQ,CAACD,OAAO,CAAC;EACnB;AACF;;AAEA;AACO,SAASE,wBAAwBA,CAACD,QAAoC,EAAc;EACzFX,mBAAmB,CAACa,GAAG,CAACF,QAAQ,CAAC;EACjC,OAAO,MAAM;IACXX,mBAAmB,CAACc,MAAM,CAACH,QAAQ,CAAC;EACtC,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["controls","visibilityListeners","Set","registerAccountDialogControls","next","openAccountDialog","view","open","closeAccountDialog","close","notifyAccountDialogVisibility","visible","listener","subscribeToAccountDialog","add","delete"],"sourceRoot":"../../../../src","sources":["ui/navigation/accountDialogManager.ts"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;;AAMA,IAAIA,QAAsC,GAAG,IAAI;AACjD,MAAMC,mBAAmB,GAAG,IAAIC,GAAG,CAA6B,CAAC;AAE1D,SAASC,6BAA6BA,CAACC,IAA2B,EAAc;EACrFJ,QAAQ,GAAGI,IAAI;EACf,OAAO,MAAM;IACX,IAAIJ,QAAQ,KAAKI,IAAI,EAAE;MACrBJ,QAAQ,GAAG,IAAI;IACjB;EACF,CAAC;AACH;;AAEA;AACO,SAASK,iBAAiBA,CAACC,IAAwB,EAAQ;EAChEN,QAAQ,EAAEO,IAAI,CAACD,IAAI,CAAC;AACtB;;AAEA;AACO,SAASE,kBAAkBA,CAAA,EAAS;EACzCR,QAAQ,EAAES,KAAK,CAAC,CAAC;AACnB;;AAEA;AACO,SAASC,6BAA6BA,CAACC,OAAgB,EAAQ;EACpE,KAAK,MAAMC,QAAQ,IAAIX,mBAAmB,EAAE;IAC1CW,QAAQ,CAACD,OAAO,CAAC;EACnB;AACF;;AAEA;AACO,SAASE,wBAAwBA,CAACD,QAAoC,EAAc;EACzFX,mBAAmB,CAACa,GAAG,CAACF,QAAQ,CAAC;EACjC,OAAO,MAAM;IACXX,mBAAmB,CAACc,MAAM,CAACH,QAAQ,CAAC;EACtC,CAAC;AACH","ignoreList":[]}
@@ -10,7 +10,7 @@ exports.isValidRoute = exports.getScreenComponent = void 0;
10
10
 
11
11
  // Define all available route names
12
12
 
13
- // Unified account switcher + sign-in surface (folded OxyAccountDialog body)
13
+ // Unified account switcher + sign-in surface (OxyAccountDialogScreen body)
14
14
 
15
15
  // Lazy screen loaders - functions that return screen components on-demand
16
16
  // This breaks the require cycle by deferring imports until screens are actually needed
@@ -55,9 +55,9 @@ const screenLoaders = {
55
55
  ConnectedApps: () => require('../screens/ConnectedAppsScreen').default,
56
56
  Preferences: () => require('../screens/PreferencesScreen').default,
57
57
  // Unified account switcher + sign-in surface. Its body lives in the
58
- // `OxyAccountDialog` component (folded from the standalone dialog); the
58
+ // `OxyAccountDialogScreen` component (folded from the standalone dialog); the
59
59
  // surface stack provides the Dialog chrome around it.
60
- AccountDialog: () => require('../components/OxyAccountDialog').default
60
+ AccountDialog: () => require('../components/OxyAccountDialogScreen').default
61
61
  };
62
62
 
63
63
  // Cache loaded components to avoid re-requiring
@@ -1 +1 @@
1
- {"version":3,"names":["screenLoaders","ManageAccount","require","default","AccountVerification","PaymentGateway","Profile","LanguageSelector","PrivacySettings","SearchSettings","FileManagement","HelpSupport","FAQ","Feedback","LegalDocuments","AppInfo","PremiumSubscription","WelcomeNewUser","UserLinks","HistoryView","SavesCollections","EditProfile","EditProfileField","LearnMoreUsernames","TrustCenter","TrustLeaderboard","TrustRewards","TrustRules","AboutTrust","TrustFAQ","FollowersList","FollowingList","CreateAccount","AccountMembers","AccountSettings","AvatarCrop","Notifications","ConnectedApps","Preferences","AccountDialog","screenCache","Map","getScreenComponent","routeName","has","get","loader","component","set","error","__DEV__","console","undefined","exports","isValidRoute"],"sourceRoot":"../../../../src","sources":["ui/navigation/routes.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["screenLoaders","ManageAccount","require","default","AccountVerification","PaymentGateway","Profile","LanguageSelector","PrivacySettings","SearchSettings","FileManagement","HelpSupport","FAQ","Feedback","LegalDocuments","AppInfo","PremiumSubscription","WelcomeNewUser","UserLinks","HistoryView","SavesCollections","EditProfile","EditProfileField","LearnMoreUsernames","TrustCenter","TrustLeaderboard","TrustRewards","TrustRules","AboutTrust","TrustFAQ","FollowersList","FollowingList","CreateAccount","AccountMembers","AccountSettings","AvatarCrop","Notifications","ConnectedApps","Preferences","AccountDialog","screenCache","Map","getScreenComponent","routeName","has","get","loader","component","set","error","__DEV__","console","undefined","exports","isValidRoute"],"sourceRoot":"../../../../src","sources":["ui/navigation/routes.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.__invokeTopSurfaceBackForTests = __invokeTopSurfaceBackForTests;
7
+ exports.__resetSurfaceBackBridgeForTests = __resetSurfaceBackBridgeForTests;
8
+ exports.pushSurfaceBackHandler = pushSurfaceBackHandler;
9
+ var _reactNative = require("react-native");
10
+ /**
11
+ * Per-surface system-back handlers (Android hardware back + web Escape).
12
+ *
13
+ * Bloom's `SurfaceHost` dismisses the whole top surface on back/Escape. The SDK
14
+ * needs the old `BottomSheetRouter` semantics first: pop nav history, step a
15
+ * wizard back, then dismiss. A single global listener delegates to the topmost
16
+ * registered handler so stacked surfaces route correctly.
17
+ */
18
+
19
+ const handlerStack = [];
20
+ let androidInstalled = false;
21
+ let escapeInstalled = false;
22
+ function invokeTopHandler() {
23
+ const handler = handlerStack[handlerStack.length - 1];
24
+ return handler ? handler() : false;
25
+ }
26
+ function installAndroidHandler() {
27
+ if (androidInstalled || _reactNative.Platform.OS !== 'android') return;
28
+ androidInstalled = true;
29
+ _reactNative.BackHandler.addEventListener('hardwareBackPress', () => {
30
+ if (handlerStack.length === 0) return false;
31
+ return invokeTopHandler();
32
+ });
33
+ }
34
+ function installEscapeHandler() {
35
+ if (escapeInstalled || _reactNative.Platform.OS !== 'web') return;
36
+ if (typeof window === 'undefined') return;
37
+ escapeInstalled = true;
38
+ window.addEventListener('keydown', event => {
39
+ if (event.key !== 'Escape' || handlerStack.length === 0) return;
40
+ invokeTopHandler();
41
+ event.stopImmediatePropagation();
42
+ event.preventDefault();
43
+ }, true);
44
+ }
45
+
46
+ /** Register before Bloom's `SurfaceHost` mounts so Escape capture runs first. */
47
+ installEscapeHandler();
48
+
49
+ /** Push a handler for one live surface; returns unregister. */
50
+ function pushSurfaceBackHandler(handler) {
51
+ handlerStack.push(handler);
52
+ installAndroidHandler();
53
+ return () => {
54
+ const index = handlerStack.lastIndexOf(handler);
55
+ if (index >= 0) handlerStack.splice(index, 1);
56
+ };
57
+ }
58
+
59
+ /** Test-only: invoke the top handler. */
60
+ function __invokeTopSurfaceBackForTests() {
61
+ return invokeTopHandler();
62
+ }
63
+
64
+ /** Test-only reset. */
65
+ function __resetSurfaceBackBridgeForTests() {
66
+ handlerStack.length = 0;
67
+ }
68
+ //# sourceMappingURL=surfaceBackBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","handlerStack","androidInstalled","escapeInstalled","invokeTopHandler","handler","length","installAndroidHandler","Platform","OS","BackHandler","addEventListener","installEscapeHandler","window","event","key","stopImmediatePropagation","preventDefault","pushSurfaceBackHandler","push","index","lastIndexOf","splice","__invokeTopSurfaceBackForTests","__resetSurfaceBackBridgeForTests"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaceBackBridge.ts"],"mappings":";;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMC,YAAkC,GAAG,EAAE;AAC7C,IAAIC,gBAAgB,GAAG,KAAK;AAC5B,IAAIC,eAAe,GAAG,KAAK;AAE3B,SAASC,gBAAgBA,CAAA,EAAY;EACnC,MAAMC,OAAO,GAAGJ,YAAY,CAACA,YAAY,CAACK,MAAM,GAAG,CAAC,CAAC;EACrD,OAAOD,OAAO,GAAGA,OAAO,CAAC,CAAC,GAAG,KAAK;AACpC;AAEA,SAASE,qBAAqBA,CAAA,EAAS;EACrC,IAAIL,gBAAgB,IAAIM,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;EACnDP,gBAAgB,GAAG,IAAI;EACvBQ,wBAAW,CAACC,gBAAgB,CAAC,mBAAmB,EAAE,MAAM;IACtD,IAAIV,YAAY,CAACK,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;IAC3C,OAAOF,gBAAgB,CAAC,CAAC;EAC3B,CAAC,CAAC;AACJ;AAEA,SAASQ,oBAAoBA,CAAA,EAAS;EACpC,IAAIT,eAAe,IAAIK,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;EAC9C,IAAI,OAAOI,MAAM,KAAK,WAAW,EAAE;EACnCV,eAAe,GAAG,IAAI;EACtBU,MAAM,CAACF,gBAAgB,CACrB,SAAS,EACRG,KAAK,IAAK;IACT,IAAIA,KAAK,CAACC,GAAG,KAAK,QAAQ,IAAId,YAAY,CAACK,MAAM,KAAK,CAAC,EAAE;IACzDF,gBAAgB,CAAC,CAAC;IAClBU,KAAK,CAACE,wBAAwB,CAAC,CAAC;IAChCF,KAAK,CAACG,cAAc,CAAC,CAAC;EACxB,CAAC,EACD,IACF,CAAC;AACH;;AAEA;AACAL,oBAAoB,CAAC,CAAC;;AAEtB;AACO,SAASM,sBAAsBA,CAACb,OAA2B,EAAc;EAC9EJ,YAAY,CAACkB,IAAI,CAACd,OAAO,CAAC;EAC1BE,qBAAqB,CAAC,CAAC;EACvB,OAAO,MAAM;IACX,MAAMa,KAAK,GAAGnB,YAAY,CAACoB,WAAW,CAAChB,OAAO,CAAC;IAC/C,IAAIe,KAAK,IAAI,CAAC,EAAEnB,YAAY,CAACqB,MAAM,CAACF,KAAK,EAAE,CAAC,CAAC;EAC/C,CAAC;AACH;;AAEA;AACO,SAASG,8BAA8BA,CAAA,EAAY;EACxD,OAAOnB,gBAAgB,CAAC,CAAC;AAC3B;;AAEA;AACO,SAASoB,gCAAgCA,CAAA,EAAS;EACvDvB,YAAY,CAACK,MAAM,GAAG,CAAC;AACzB","ignoreList":[]}
@@ -50,23 +50,37 @@ void _registryCoversRoutes;
50
50
  * Per-route surface configuration. Merges the historical `SheetRouteConfig`
51
51
  * knobs with the new {@link SurfacePresentation}.
52
52
  *
53
- * NOTE: `scrollable` / `manualActivation` / `dynamicBackdrop` / `handleComponent`
54
- * describe the in-tree bottom-sheet's pan + scroll behaviour. On Bloom's `Dialog`
55
- * surface those concerns are now owned by the shared `DialogBottomSheet` (it opts
56
- * pure custom children OUT of its internal ScrollView and manages the pan itself),
57
- * so for P1 these fields are informational — reserved for a future Bloom
58
- * bottom-placement passthrough. `presentation` (+ `scrollable` for the picker's
59
- * flush layout) is what actually drives the surface today.
53
+ * NOTE: `scrollable` is LIVE it is threaded through `bloomOptionsFor` onto the
54
+ * Bloom `Dialog` surface (`scrollable` prop), so a route that owns its own scroll
55
+ * container opts OUT of the Dialog's internal ScrollView. `manualActivation` /
56
+ * `dynamicBackdrop` / `handleComponent` remain informational reserved for a
57
+ * future Bloom bottom-placement passthrough; the shared `DialogBottomSheet`
58
+ * currently owns pan coordination itself.
60
59
  */
61
60
 
62
61
  /** Defaults shared across all routes — the canonical responsive "sheet". */
63
62
  const DEFAULT_SURFACE_CONFIG = {
64
63
  presentation: 'sheet',
65
64
  scrollable: true,
65
+ header: true,
66
66
  manualActivation: true,
67
67
  dynamicBackdrop: true
68
68
  };
69
69
 
70
+ /**
71
+ * Routes that render NO Dialog nav header — they own their chrome:
72
+ * - `AvatarCrop` — its own translucent Cancel / title / Done top bar.
73
+ * - `PaymentGateway` — the payment surface owns its controls.
74
+ * - `WelcomeNewUser` — a full-bleed onboarding wizard with its own step chrome.
75
+ * - `Profile` — a full profile view, no nav-header chrome.
76
+ * (The flagship full-bleed image picker is handled separately below.)
77
+ *
78
+ * `AccountDialog` used to be here — it now uses the SHARED Dialog nav header like
79
+ * every other screen (its per-view title/subtitle + view-back go through
80
+ * `useSurfaceHeader`), so the account/sign-in surface no longer feels bespoke.
81
+ */
82
+ const HEADERLESS_ROUTES = new Set(['AvatarCrop', 'PaymentGateway', 'WelcomeNewUser', 'Profile']);
83
+
70
84
  /**
71
85
  * Predicate matching `FileManagementScreen`'s internal `isImageOnlyPicker`
72
86
  * derivation. When the consumer restricts to image MIME types (no videos, no
@@ -85,16 +99,46 @@ const isFileManagementImageOnlyPicker = props => {
85
99
  return blocksVideos && blocksAudio && blocksDocs;
86
100
  };
87
101
 
102
+ /**
103
+ * Routes whose screen owns its OWN scroll container — a FlatList /
104
+ * VirtualizedList (`ConnectedApps`, `TrustLeaderboard`, `FollowersList` /
105
+ * `FollowingList` via `UserListScreen`) or its own vertical `ScrollView`
106
+ * (`FileManagement`). These MUST opt out of the Dialog's internal ScrollView
107
+ * (`scrollable: false`) so there is exactly ONE scroll container — otherwise a
108
+ * VirtualizedList nests inside a plain ScrollView (RN warning) or a nested
109
+ * vertical scroll-in-scroll breaks windowing. Screens with only a HORIZONTAL
110
+ * ScrollView (FAQ's category row, Premium's plan carousel) are NOT listed — a
111
+ * horizontal scroller does not conflict with the Dialog's vertical scroll.
112
+ */
113
+ const OWN_SCROLL_CONTAINER_ROUTES = new Set(['FileManagement', 'ConnectedApps', 'TrustLeaderboard', 'FollowersList', 'FollowingList']);
114
+
88
115
  /**
89
116
  * Resolve the surface configuration for a route + props. Defaults to the
90
117
  * responsive sheet; the image-only FileManagement picker upgrades to a full-bleed
91
- * `'fullScreen'` surface that owns its own scrolling.
118
+ * `'fullScreen'` surface, and every route that owns its own scroll container is
119
+ * marked `scrollable: false`.
92
120
  */
93
121
  const getSurfaceConfig = (route, props) => {
94
122
  if (route === 'FileManagement' && isFileManagementImageOnlyPicker(props)) {
123
+ // The full-bleed image picker owns its own translucent top bar — no nav header.
95
124
  return {
96
125
  ...DEFAULT_SURFACE_CONFIG,
97
126
  presentation: 'fullScreen',
127
+ scrollable: false,
128
+ header: false
129
+ };
130
+ }
131
+ if (HEADERLESS_ROUTES.has(route)) {
132
+ return {
133
+ ...DEFAULT_SURFACE_CONFIG,
134
+ header: false
135
+ };
136
+ }
137
+ if (OWN_SCROLL_CONTAINER_ROUTES.has(route)) {
138
+ // Own-scroller list screens keep the nav header (static, non-collapsing —
139
+ // there is no Dialog scroll offset to drive the large-title collapse).
140
+ return {
141
+ ...DEFAULT_SURFACE_CONFIG,
98
142
  scrollable: false
99
143
  };
100
144
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_registryCoversRoutes","DEFAULT_SURFACE_CONFIG","presentation","scrollable","manualActivation","dynamicBackdrop","isFileManagementImageOnlyPicker","props","selectMode","disabled","disabledMimeTypes","Array","isArray","length","has","predicate","some","mt","blocksVideos","startsWith","blocksAudio","blocksDocs","getSurfaceConfig","route","exports","getSurfacePresentation"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaceRegistry.ts"],"mappings":";;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AA+CA;AACA;AACA;AACA;AACA;;AAMA,MAAMA,qBAA2C,GAAG,IAAI;AACxD,KAAKA,qBAAqB;;AAE1B;;AAEA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiBA;AACA,MAAMC,sBAA0C,GAAG;EACjDC,YAAY,EAAE,OAAO;EACrBC,UAAU,EAAE,IAAI;EAChBC,gBAAgB,EAAE,IAAI;EACtBC,eAAe,EAAE;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,+BAA+B,GAAIC,KAA8B,IAAc;EACnF,IAAI,CAACA,KAAK,CAACC,UAAU,EAAE,OAAO,KAAK;EACnC,MAAMC,QAAQ,GAAGF,KAAK,CAACG,iBAAiB;EACxC,IAAI,CAACC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,IAAIA,QAAQ,CAACI,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;EACnE,MAAMC,GAAG,GAAIC,SAAkC,IAC7CN,QAAQ,CAACO,IAAI,CAAEC,EAAE,IAAK,OAAOA,EAAE,KAAK,QAAQ,IAAIF,SAAS,CAACE,EAAE,CAAC,CAAC;EAChE,MAAMC,YAAY,GAAGJ,GAAG,CAAEG,EAAE,IAAKA,EAAE,KAAK,QAAQ,IAAIA,EAAE,CAACE,UAAU,CAAC,QAAQ,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGN,GAAG,CAAEG,EAAE,IAAKA,EAAE,KAAK,QAAQ,IAAIA,EAAE,CAACE,UAAU,CAAC,QAAQ,CAAC,CAAC;EAC3E,MAAME,UAAU,GAAGP,GAAG,CACnBG,EAAE,IAAKA,EAAE,KAAK,iBAAiB,IAAIA,EAAE,KAAK,cAAc,IAAIA,EAAE,CAACE,UAAU,CAAC,cAAc,CAC3F,CAAC;EACD,OAAOD,YAAY,IAAIE,WAAW,IAAIC,UAAU;AAClD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAGA,CAC9BC,KAAgB,EAChBhB,KAA8B,KACP;EACvB,IAAIgB,KAAK,KAAK,gBAAgB,IAAIjB,+BAA+B,CAACC,KAAK,CAAC,EAAE;IACxE,OAAO;MAAE,GAAGN,sBAAsB;MAAEC,YAAY,EAAE,YAAY;MAAEC,UAAU,EAAE;IAAM,CAAC;EACrF;EACA,OAAOF,sBAAsB;AAC/B,CAAC;;AAED;AAAAuB,OAAA,CAAAF,gBAAA,GAAAA,gBAAA;AACO,MAAMG,sBAAsB,GAAGA,CACpCF,KAAgB,EAChBhB,KAA8B,KACNe,gBAAgB,CAACC,KAAK,EAAEhB,KAAK,CAAC,CAACL,YAAY;AAACsB,OAAA,CAAAC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_registryCoversRoutes","DEFAULT_SURFACE_CONFIG","presentation","scrollable","header","manualActivation","dynamicBackdrop","HEADERLESS_ROUTES","Set","isFileManagementImageOnlyPicker","props","selectMode","disabled","disabledMimeTypes","Array","isArray","length","has","predicate","some","mt","blocksVideos","startsWith","blocksAudio","blocksDocs","OWN_SCROLL_CONTAINER_ROUTES","getSurfaceConfig","route","exports","getSurfacePresentation"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaceRegistry.ts"],"mappings":"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","ignoreList":[]}
@@ -43,19 +43,48 @@ const FULLSCREEN_SURFACE_STYLE = {
43
43
  overflow: 'hidden'
44
44
  };
45
45
 
46
+ /**
47
+ * Every SDK screen owns its own background + content padding + scroll region
48
+ * (they were authored for the bare `BottomSheet`). So the shared `Dialog` must
49
+ * NOT add its own `contentPadding` on top (that double-pads) — it owns only the
50
+ * structural chrome: the surface card, the size cap (`maxHeightRatio`) and the
51
+ * scroll boundary. `contentPadding: 0` makes the screen's own padding the single
52
+ * source, matching the image-picker (`fullScreen`) surface.
53
+ */
54
+ const SDK_SURFACE_CHROME = {
55
+ contentPadding: 0,
56
+ maxHeightRatio: 0.9
57
+ };
58
+
46
59
  /** Map a route's presentation taxonomy onto concrete Bloom `Dialog` options. */
47
60
  function bloomOptionsFor(config) {
61
+ // Threaded onto every placement so a route that owns its own scroll container
62
+ // (`scrollable: false`) opts out of the Dialog's internal ScrollView.
63
+ const scrollable = config.scrollable;
64
+ // Nav-header mode marker: turns on the Dialog's OWN sticky gradient nav bar +
65
+ // large collapsing title over its scroll content. The title/subtitle/action
66
+ // slots are contributed at runtime by the mounted screen via `useSurfaceHeader`
67
+ // (resolved in `SurfaceScreen`), so the seed here just enables the scaffold.
68
+ const header = config.header ? {
69
+ largeTitle: true
70
+ } : undefined;
48
71
  switch (config.presentation) {
49
72
  case 'center':
50
73
  return {
51
- placement: 'center'
74
+ placement: 'center',
75
+ scrollable,
76
+ header,
77
+ ...SDK_SURFACE_CHROME
52
78
  };
53
79
  case 'drawer':
54
80
  return {
55
81
  placement: {
56
82
  base: 'bottom',
57
83
  md: 'left'
58
- }
84
+ },
85
+ scrollable,
86
+ header,
87
+ ...SDK_SURFACE_CHROME
59
88
  };
60
89
  case 'fullScreen':
61
90
  // Approximate a full-screen surface with the shared `Dialog`: a tall
@@ -67,12 +96,16 @@ function bloomOptionsFor(config) {
67
96
  maxWidth: 640,
68
97
  maxHeightRatio: 0.9,
69
98
  dismissOnBackdrop: false,
99
+ scrollable,
70
100
  style: FULLSCREEN_SURFACE_STYLE,
71
101
  panelStyle: FULLSCREEN_SURFACE_STYLE
72
102
  };
73
103
  default:
74
104
  return {
75
- placement: SHEET_PLACEMENT
105
+ placement: SHEET_PLACEMENT,
106
+ scrollable,
107
+ header,
108
+ ...SDK_SURFACE_CHROME
76
109
  };
77
110
  }
78
111
  }
@@ -108,12 +141,16 @@ function presentInternal(route, props, opts, track) {
108
141
  const result = _surfaces.surfaces.present(surface => /*#__PURE__*/(0, _react.createElement)(_SurfaceScreen.default, {
109
142
  navStack,
110
143
  surface,
111
- presentation: config.presentation
144
+ presentation: config.presentation,
145
+ dismissOnBackdrop: bloomOpts.dismissOnBackdrop ?? true
112
146
  }), bloomOpts);
113
147
  const instance = {
114
148
  route,
115
149
  presentation: config.presentation,
116
- navigate: (nextRoute, nextProps) => navStack.navigate(nextRoute, nextProps),
150
+ navigate: (nextRoute, nextProps) => {
151
+ const top = navStack.getTop();
152
+ if (top.route === nextRoute) navStack.replace(nextRoute, nextProps);else navStack.navigate(nextRoute, nextProps);
153
+ },
117
154
  replace: (nextRoute, nextProps) => navStack.replace(nextRoute, nextProps),
118
155
  goBack: () => navStack.goBack(),
119
156
  canGoBack: () => navStack.canGoBack(),
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_surfaces","_SurfaceScreen","_interopRequireDefault","_surfaceRegistry","_surfaceNavStack","e","__esModule","default","SHEET_PLACEMENT","base","md","FULLSCREEN_SURFACE_STYLE","backgroundColor","overflow","bloomOptionsFor","config","presentation","placement","contentPadding","maxWidth","maxHeightRatio","dismissOnBackdrop","style","panelStyle","activeRouteSurfaces","presentInternal","route","props","opts","track","navStack","createSurfaceNavStack","getSurfaceConfig","bloomOpts","label","result","bloomSurfaces","present","surface","createElement","SurfaceScreen","instance","navigate","nextRoute","nextProps","replace","goBack","canGoBack","setStep","step","dismiss","dismissResult","requestDismiss","tracked","push","finally","index","indexOf","splice","presentDetached","presentRoute","undefined","topRouteSurface","length","closeAllRouteSurfaces","reverse","navigateWithinOrPresent","currentPresentation","getSurfacePresentation","replaceWithinOrPresent","surfaces","exports","dismissAll","useSurfaces"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaces.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_surfaces","_SurfaceScreen","_interopRequireDefault","_surfaceRegistry","_surfaceNavStack","e","__esModule","default","SHEET_PLACEMENT","base","md","FULLSCREEN_SURFACE_STYLE","backgroundColor","overflow","SDK_SURFACE_CHROME","contentPadding","maxHeightRatio","bloomOptionsFor","config","scrollable","header","largeTitle","undefined","presentation","placement","maxWidth","dismissOnBackdrop","style","panelStyle","activeRouteSurfaces","presentInternal","route","props","opts","track","navStack","createSurfaceNavStack","getSurfaceConfig","bloomOpts","label","result","bloomSurfaces","present","surface","createElement","SurfaceScreen","instance","navigate","nextRoute","nextProps","top","getTop","replace","goBack","canGoBack","setStep","step","dismiss","dismissResult","requestDismiss","tracked","push","finally","index","indexOf","splice","presentDetached","presentRoute","topRouteSurface","length","closeAllRouteSurfaces","reverse","navigateWithinOrPresent","currentPresentation","getSurfacePresentation","replaceWithinOrPresent","surfaces","exports","dismissAll","useSurfaces"],"sourceRoot":"../../../../src","sources":["ui/navigation/surfaces.ts"],"mappings":"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","ignoreList":[]}