@oxyhq/services 22.8.7 → 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 (502) 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/OxyAccountDialogScreen.js +150 -0
  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/OxyProvider.js +9 -29
  9. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  10. package/lib/commonjs/ui/components/ProfileButton.js +1 -1
  11. package/lib/commonjs/ui/components/RequireOxyAuth.js +1 -1
  12. package/lib/commonjs/ui/components/SurfaceHeaderAction.js +63 -0
  13. package/lib/commonjs/ui/components/SurfaceHeaderAction.js.map +1 -0
  14. package/lib/commonjs/ui/components/SurfaceScreen.js +193 -0
  15. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -0
  16. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +46 -29
  17. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  18. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +47 -23
  19. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  20. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js +22 -12
  21. package/lib/commonjs/ui/components/oxyAuthChooserStyles.js.map +1 -1
  22. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js +83 -0
  23. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
  24. package/lib/commonjs/ui/context/OxyContext.js +49 -4
  25. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  26. package/lib/commonjs/ui/hooks/useAvatarPicker.js +34 -39
  27. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
  28. package/lib/commonjs/ui/hooks/useSurfaceHeader.js +46 -0
  29. package/lib/commonjs/ui/hooks/useSurfaceHeader.js.map +1 -0
  30. package/lib/commonjs/ui/hooks/useSwitchableAccounts.js +1 -1
  31. package/lib/commonjs/ui/navigation/accountDialogManager.js +14 -2
  32. package/lib/commonjs/ui/navigation/accountDialogManager.js.map +1 -1
  33. package/lib/commonjs/ui/navigation/bottomSheetManager.js +38 -56
  34. package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
  35. package/lib/commonjs/ui/navigation/routes.js +7 -57
  36. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  37. package/lib/commonjs/ui/navigation/surfaceBackBridge.js +68 -0
  38. package/lib/commonjs/ui/navigation/surfaceBackBridge.js.map +1 -0
  39. package/lib/commonjs/ui/navigation/surfaceNavStack.js +98 -0
  40. package/lib/commonjs/ui/navigation/surfaceNavStack.js.map +1 -0
  41. package/lib/commonjs/ui/navigation/surfaceRegistry.js +152 -0
  42. package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -0
  43. package/lib/commonjs/ui/navigation/surfaces.js +256 -0
  44. package/lib/commonjs/ui/navigation/surfaces.js.map +1 -0
  45. package/lib/commonjs/ui/screens/AccountMembersScreen.js +214 -283
  46. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  47. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +88 -118
  48. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  49. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +22 -36
  50. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  51. package/lib/commonjs/ui/screens/AppInfoScreen.js +219 -226
  52. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  53. package/lib/commonjs/ui/screens/AvatarCropScreen.js +10 -14
  54. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  55. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +24 -39
  56. package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
  57. package/lib/commonjs/ui/screens/CreateAccountScreen.js +136 -158
  58. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  59. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +29 -36
  60. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/EditProfileScreen.js +101 -109
  62. package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/FAQScreen.js +10 -15
  64. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/FeedbackScreen.js +8 -16
  66. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/FileManagementScreen.js +219 -206
  68. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/HelpSupportScreen.js +62 -69
  70. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/HistoryViewScreen.js +63 -79
  72. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +69 -98
  74. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  75. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js +8 -14
  76. package/lib/commonjs/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  77. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +77 -94
  78. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/ManageAccountScreen.js +99 -134
  80. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  81. package/lib/commonjs/ui/screens/NotificationsScreen.js +69 -76
  82. package/lib/commonjs/ui/screens/NotificationsScreen.js.map +1 -1
  83. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -8
  84. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  85. package/lib/commonjs/ui/screens/PreferencesScreen.js +67 -74
  86. package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
  87. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +55 -91
  88. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  89. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +291 -304
  90. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  91. package/lib/commonjs/ui/screens/ProfileScreen.js +100 -114
  92. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  93. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +38 -45
  94. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  95. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +44 -57
  96. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -1
  97. package/lib/commonjs/ui/screens/UserLinksScreen.js +24 -31
  98. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -1
  99. package/lib/commonjs/ui/screens/UserListScreen.js +14 -24
  100. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  101. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +1 -1
  102. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js +9 -7
  103. package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  104. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js +66 -75
  105. package/lib/commonjs/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  106. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +111 -139
  107. package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  108. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js +13 -20
  109. package/lib/commonjs/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  110. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +14 -27
  111. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  112. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +68 -85
  113. package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  114. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +28 -36
  115. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  116. package/lib/commonjs/ui/types/surfaceScreen.js +6 -0
  117. package/lib/commonjs/ui/types/surfaceScreen.js.map +1 -0
  118. package/lib/module/index.js +12 -5
  119. package/lib/module/index.js.map +1 -1
  120. package/lib/module/ui/components/OxyAccountDialogScreen.js +145 -0
  121. package/lib/module/ui/components/OxyAccountDialogScreen.js.map +1 -0
  122. package/lib/module/ui/components/OxyAuthChooser.js +137 -40
  123. package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
  124. package/lib/module/ui/components/OxyConsentScreen.js +1 -1
  125. package/lib/module/ui/components/OxyProvider.js +10 -30
  126. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  127. package/lib/module/ui/components/ProfileButton.js +1 -1
  128. package/lib/module/ui/components/RequireOxyAuth.js +1 -1
  129. package/lib/module/ui/components/SurfaceHeaderAction.js +58 -0
  130. package/lib/module/ui/components/SurfaceHeaderAction.js.map +1 -0
  131. package/lib/module/ui/components/SurfaceScreen.js +188 -0
  132. package/lib/module/ui/components/SurfaceScreen.js.map +1 -0
  133. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +46 -29
  134. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  135. package/lib/module/ui/components/modals/DeleteAccountModal.js +46 -23
  136. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  137. package/lib/module/ui/components/oxyAuthChooserStyles.js +22 -12
  138. package/lib/module/ui/components/oxyAuthChooserStyles.js.map +1 -1
  139. package/lib/module/ui/components/surfaces/ActionSheetSurface.js +78 -0
  140. package/lib/module/ui/components/surfaces/ActionSheetSurface.js.map +1 -0
  141. package/lib/module/ui/context/OxyContext.js +49 -4
  142. package/lib/module/ui/context/OxyContext.js.map +1 -1
  143. package/lib/module/ui/hooks/useAvatarPicker.js +34 -39
  144. package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
  145. package/lib/module/ui/hooks/useSurfaceHeader.js +42 -0
  146. package/lib/module/ui/hooks/useSurfaceHeader.js.map +1 -0
  147. package/lib/module/ui/hooks/useSwitchableAccounts.js +1 -1
  148. package/lib/module/ui/navigation/accountDialogManager.js +14 -2
  149. package/lib/module/ui/navigation/accountDialogManager.js.map +1 -1
  150. package/lib/module/ui/navigation/bottomSheetManager.js +37 -53
  151. package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
  152. package/lib/module/ui/navigation/routes.js +6 -56
  153. package/lib/module/ui/navigation/routes.js.map +1 -1
  154. package/lib/module/ui/navigation/surfaceBackBridge.js +63 -0
  155. package/lib/module/ui/navigation/surfaceBackBridge.js.map +1 -0
  156. package/lib/module/ui/navigation/surfaceNavStack.js +95 -0
  157. package/lib/module/ui/navigation/surfaceNavStack.js.map +1 -0
  158. package/lib/module/ui/navigation/surfaceRegistry.js +146 -0
  159. package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -0
  160. package/lib/module/ui/navigation/surfaces.js +244 -0
  161. package/lib/module/ui/navigation/surfaces.js.map +1 -0
  162. package/lib/module/ui/screens/AccountMembersScreen.js +218 -286
  163. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  164. package/lib/module/ui/screens/AccountSettingsScreen.js +92 -121
  165. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  166. package/lib/module/ui/screens/AccountVerificationScreen.js +25 -38
  167. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  168. package/lib/module/ui/screens/AppInfoScreen.js +220 -227
  169. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  170. package/lib/module/ui/screens/AvatarCropScreen.js +10 -14
  171. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  172. package/lib/module/ui/screens/ConnectedAppsScreen.js +26 -40
  173. package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
  174. package/lib/module/ui/screens/CreateAccountScreen.js +139 -160
  175. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  176. package/lib/module/ui/screens/EditProfileFieldScreen.js +32 -38
  177. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  178. package/lib/module/ui/screens/EditProfileScreen.js +102 -110
  179. package/lib/module/ui/screens/EditProfileScreen.js.map +1 -1
  180. package/lib/module/ui/screens/FAQScreen.js +11 -15
  181. package/lib/module/ui/screens/FAQScreen.js.map +1 -1
  182. package/lib/module/ui/screens/FeedbackScreen.js +10 -17
  183. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  184. package/lib/module/ui/screens/FileManagementScreen.js +222 -208
  185. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  186. package/lib/module/ui/screens/HelpSupportScreen.js +64 -70
  187. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  188. package/lib/module/ui/screens/HistoryViewScreen.js +65 -81
  189. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  190. package/lib/module/ui/screens/LanguageSelectorScreen.js +71 -99
  191. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  192. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js +10 -15
  193. package/lib/module/ui/screens/LearnMoreUsernamesScreen.js.map +1 -1
  194. package/lib/module/ui/screens/LegalDocumentsScreen.js +78 -94
  195. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
  196. package/lib/module/ui/screens/ManageAccountScreen.js +102 -137
  197. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  198. package/lib/module/ui/screens/NotificationsScreen.js +71 -77
  199. package/lib/module/ui/screens/NotificationsScreen.js.map +1 -1
  200. package/lib/module/ui/screens/PaymentGatewayScreen.js +4 -9
  201. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  202. package/lib/module/ui/screens/PreferencesScreen.js +69 -75
  203. package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
  204. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +58 -93
  205. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  206. package/lib/module/ui/screens/PrivacySettingsScreen.js +293 -305
  207. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  208. package/lib/module/ui/screens/ProfileScreen.js +102 -116
  209. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  210. package/lib/module/ui/screens/SavesCollectionsScreen.js +40 -46
  211. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  212. package/lib/module/ui/screens/SearchSettingsScreen.js +46 -58
  213. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -1
  214. package/lib/module/ui/screens/UserLinksScreen.js +26 -32
  215. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -1
  216. package/lib/module/ui/screens/UserListScreen.js +14 -24
  217. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  218. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +1 -1
  219. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js +8 -7
  220. package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
  221. package/lib/module/ui/screens/trust/TrustAboutScreen.js +67 -75
  222. package/lib/module/ui/screens/trust/TrustAboutScreen.js.map +1 -1
  223. package/lib/module/ui/screens/trust/TrustCenterScreen.js +112 -139
  224. package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
  225. package/lib/module/ui/screens/trust/TrustFAQScreen.js +15 -21
  226. package/lib/module/ui/screens/trust/TrustFAQScreen.js.map +1 -1
  227. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +14 -26
  228. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  229. package/lib/module/ui/screens/trust/TrustRewardsScreen.js +69 -85
  230. package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
  231. package/lib/module/ui/screens/trust/TrustRulesScreen.js +30 -37
  232. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  233. package/lib/module/ui/types/surfaceScreen.js +4 -0
  234. package/lib/module/ui/types/surfaceScreen.js.map +1 -0
  235. package/lib/typescript/commonjs/index.d.ts +2 -0
  236. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  237. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts +39 -0
  238. package/lib/typescript/commonjs/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts +3 -3
  240. package/lib/typescript/commonjs/ui/components/OxyAuthChooser.d.ts.map +1 -1
  241. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts +3 -2
  242. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  243. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +2 -2
  244. package/lib/typescript/commonjs/ui/components/RequireOxyAuth.d.ts +1 -1
  245. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts +16 -0
  246. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts +26 -0
  248. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -0
  249. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
  250. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  251. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +17 -2
  252. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  253. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts +19 -9
  254. package/lib/typescript/commonjs/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
  255. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
  256. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  258. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts +7 -11
  259. package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  260. package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts +31 -0
  261. package/lib/typescript/commonjs/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
  262. package/lib/typescript/commonjs/ui/hooks/useSwitchableAccounts.d.ts +1 -1
  263. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts +14 -2
  264. package/lib/typescript/commonjs/ui/navigation/accountDialogManager.d.ts.map +1 -1
  265. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +24 -16
  266. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  267. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +2 -60
  268. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  269. package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts +16 -0
  270. package/lib/typescript/commonjs/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts +51 -0
  272. package/lib/typescript/commonjs/ui/navigation/surfaceNavStack.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +135 -0
  274. package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts +79 -0
  276. package/lib/typescript/commonjs/ui/navigation/surfaces.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  278. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  279. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  280. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  281. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts +0 -4
  282. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  284. package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  285. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  286. package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts.map +1 -1
  287. package/lib/typescript/commonjs/ui/screens/FAQScreen.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
  289. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  290. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  291. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  292. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  293. package/lib/typescript/commonjs/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  294. package/lib/typescript/commonjs/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
  296. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  297. package/lib/typescript/commonjs/ui/screens/NotificationsScreen.d.ts.map +1 -1
  298. package/lib/typescript/commonjs/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  299. package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
  300. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  302. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  304. package/lib/typescript/commonjs/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/ui/screens/UserLinksScreen.d.ts.map +1 -1
  306. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  309. package/lib/typescript/commonjs/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  310. package/lib/typescript/commonjs/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  312. package/lib/typescript/commonjs/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/ui/types/navigation.d.ts +8 -0
  315. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  316. package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts +38 -0
  317. package/lib/typescript/commonjs/ui/types/surfaceScreen.d.ts.map +1 -0
  318. package/lib/typescript/module/index.d.ts +2 -0
  319. package/lib/typescript/module/index.d.ts.map +1 -1
  320. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts +39 -0
  321. package/lib/typescript/module/ui/components/OxyAccountDialogScreen.d.ts.map +1 -0
  322. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts +3 -3
  323. package/lib/typescript/module/ui/components/OxyAuthChooser.d.ts.map +1 -1
  324. package/lib/typescript/module/ui/components/OxyProvider.d.ts +3 -2
  325. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  326. package/lib/typescript/module/ui/components/ProfileButton.d.ts +2 -2
  327. package/lib/typescript/module/ui/components/RequireOxyAuth.d.ts +1 -1
  328. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts +16 -0
  329. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts.map +1 -0
  330. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts +26 -0
  331. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -0
  332. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +14 -4
  333. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  334. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +17 -2
  335. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  336. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts +19 -9
  337. package/lib/typescript/module/ui/components/oxyAuthChooserStyles.d.ts.map +1 -1
  338. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts +38 -0
  339. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -0
  340. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  341. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts +7 -11
  342. package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
  343. package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts +31 -0
  344. package/lib/typescript/module/ui/hooks/useSurfaceHeader.d.ts.map +1 -0
  345. package/lib/typescript/module/ui/hooks/useSwitchableAccounts.d.ts +1 -1
  346. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts +14 -2
  347. package/lib/typescript/module/ui/navigation/accountDialogManager.d.ts.map +1 -1
  348. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +24 -16
  349. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  350. package/lib/typescript/module/ui/navigation/routes.d.ts +2 -60
  351. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  352. package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts +16 -0
  353. package/lib/typescript/module/ui/navigation/surfaceBackBridge.d.ts.map +1 -0
  354. package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts +51 -0
  355. package/lib/typescript/module/ui/navigation/surfaceNavStack.d.ts.map +1 -0
  356. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +135 -0
  357. package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -0
  358. package/lib/typescript/module/ui/navigation/surfaces.d.ts +79 -0
  359. package/lib/typescript/module/ui/navigation/surfaces.d.ts.map +1 -0
  360. package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  361. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  362. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  363. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  364. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts +0 -4
  365. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  366. package/lib/typescript/module/ui/screens/ConnectedAppsScreen.d.ts.map +1 -1
  367. package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  368. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  369. package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts.map +1 -1
  370. package/lib/typescript/module/ui/screens/FAQScreen.d.ts.map +1 -1
  371. package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
  372. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  373. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  374. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  375. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  376. package/lib/typescript/module/ui/screens/LearnMoreUsernamesScreen.d.ts.map +1 -1
  377. package/lib/typescript/module/ui/screens/LegalDocumentsScreen.d.ts.map +1 -1
  378. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
  379. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  380. package/lib/typescript/module/ui/screens/NotificationsScreen.d.ts.map +1 -1
  381. package/lib/typescript/module/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  382. package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
  383. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  384. package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  385. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  386. package/lib/typescript/module/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  387. package/lib/typescript/module/ui/screens/SearchSettingsScreen.d.ts.map +1 -1
  388. package/lib/typescript/module/ui/screens/UserLinksScreen.d.ts.map +1 -1
  389. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  390. package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
  391. package/lib/typescript/module/ui/screens/trust/TrustAboutScreen.d.ts.map +1 -1
  392. package/lib/typescript/module/ui/screens/trust/TrustCenterScreen.d.ts.map +1 -1
  393. package/lib/typescript/module/ui/screens/trust/TrustFAQScreen.d.ts.map +1 -1
  394. package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
  395. package/lib/typescript/module/ui/screens/trust/TrustRewardsScreen.d.ts.map +1 -1
  396. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  397. package/lib/typescript/module/ui/types/navigation.d.ts +8 -0
  398. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  399. package/lib/typescript/module/ui/types/surfaceScreen.d.ts +38 -0
  400. package/lib/typescript/module/ui/types/surfaceScreen.d.ts.map +1 -0
  401. package/package.json +2 -2
  402. package/src/index.ts +12 -5
  403. package/src/ui/components/OxyAccountDialogScreen.tsx +148 -0
  404. package/src/ui/components/OxyAuthChooser.tsx +153 -33
  405. package/src/ui/components/OxyConsentScreen.tsx +1 -1
  406. package/src/ui/components/OxyProvider.tsx +12 -34
  407. package/src/ui/components/ProfileButton.tsx +2 -2
  408. package/src/ui/components/RequireOxyAuth.tsx +1 -1
  409. package/src/ui/components/SurfaceHeaderAction.tsx +60 -0
  410. package/src/ui/components/SurfaceScreen.tsx +226 -0
  411. package/src/ui/components/fileManagement/FileDetailsModal.tsx +50 -36
  412. package/src/ui/components/modals/DeleteAccountModal.tsx +47 -26
  413. package/src/ui/components/oxyAuthChooserStyles.ts +22 -12
  414. package/src/ui/components/surfaces/ActionSheetSurface.tsx +98 -0
  415. package/src/ui/context/OxyContext.tsx +43 -3
  416. package/src/ui/hooks/useAvatarPicker.ts +53 -66
  417. package/src/ui/hooks/useSurfaceHeader.ts +56 -0
  418. package/src/ui/hooks/useSwitchableAccounts.ts +1 -1
  419. package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +39 -0
  420. package/src/ui/navigation/__tests__/surfaceNavStack.test.ts +68 -0
  421. package/src/ui/navigation/accountDialogManager.ts +14 -2
  422. package/src/ui/navigation/bottomSheetManager.ts +46 -73
  423. package/src/ui/navigation/routes.ts +7 -106
  424. package/src/ui/navigation/surfaceBackBridge.ts +69 -0
  425. package/src/ui/navigation/surfaceNavStack.ts +110 -0
  426. package/src/ui/navigation/surfaceRegistry.ts +240 -0
  427. package/src/ui/navigation/surfaces.ts +272 -0
  428. package/src/ui/screens/AccountMembersScreen.tsx +39 -100
  429. package/src/ui/screens/AccountSettingsScreen.tsx +32 -54
  430. package/src/ui/screens/AccountVerificationScreen.tsx +23 -51
  431. package/src/ui/screens/AppInfoScreen.tsx +6 -13
  432. package/src/ui/screens/AvatarCropScreen.tsx +8 -17
  433. package/src/ui/screens/ConnectedAppsScreen.tsx +39 -60
  434. package/src/ui/screens/CreateAccountScreen.tsx +13 -39
  435. package/src/ui/screens/EditProfileFieldScreen.tsx +30 -48
  436. package/src/ui/screens/EditProfileScreen.tsx +7 -16
  437. package/src/ui/screens/FAQScreen.tsx +9 -13
  438. package/src/ui/screens/FeedbackScreen.tsx +8 -22
  439. package/src/ui/screens/FileManagementScreen.tsx +191 -188
  440. package/src/ui/screens/HelpSupportScreen.tsx +7 -13
  441. package/src/ui/screens/HistoryViewScreen.tsx +26 -31
  442. package/src/ui/screens/LanguageSelectorScreen.tsx +12 -46
  443. package/src/ui/screens/LearnMoreUsernamesScreen.tsx +8 -16
  444. package/src/ui/screens/LegalDocumentsScreen.tsx +7 -22
  445. package/src/ui/screens/ManageAccountScreen.tsx +96 -165
  446. package/src/ui/screens/NotificationsScreen.tsx +7 -13
  447. package/src/ui/screens/PaymentGatewayScreen.tsx +3 -10
  448. package/src/ui/screens/PreferencesScreen.tsx +7 -13
  449. package/src/ui/screens/PremiumSubscriptionScreen.tsx +52 -90
  450. package/src/ui/screens/PrivacySettingsScreen.tsx +9 -21
  451. package/src/ui/screens/ProfileScreen.tsx +9 -11
  452. package/src/ui/screens/SavesCollectionsScreen.tsx +7 -13
  453. package/src/ui/screens/SearchSettingsScreen.tsx +9 -21
  454. package/src/ui/screens/UserLinksScreen.tsx +7 -14
  455. package/src/ui/screens/UserListScreen.tsx +2 -5
  456. package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +1 -1
  457. package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +9 -7
  458. package/src/ui/screens/trust/TrustAboutScreen.tsx +10 -17
  459. package/src/ui/screens/trust/TrustCenterScreen.tsx +9 -28
  460. package/src/ui/screens/trust/TrustFAQScreen.tsx +15 -18
  461. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +3 -5
  462. package/src/ui/screens/trust/TrustRewardsScreen.tsx +11 -26
  463. package/src/ui/screens/trust/TrustRulesScreen.tsx +10 -13
  464. package/src/ui/types/navigation.ts +8 -0
  465. package/src/ui/types/surfaceScreen.ts +38 -0
  466. package/lib/commonjs/ui/components/BottomSheet.js +0 -49
  467. package/lib/commonjs/ui/components/BottomSheet.js.map +0 -1
  468. package/lib/commonjs/ui/components/BottomSheetRouter.js +0 -298
  469. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +0 -1
  470. package/lib/commonjs/ui/components/Header.js +0 -305
  471. package/lib/commonjs/ui/components/Header.js.map +0 -1
  472. package/lib/commonjs/ui/components/OxyAccountDialog.js +0 -259
  473. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +0 -1
  474. package/lib/module/ui/components/BottomSheet.js +0 -45
  475. package/lib/module/ui/components/BottomSheet.js.map +0 -1
  476. package/lib/module/ui/components/BottomSheetRouter.js +0 -292
  477. package/lib/module/ui/components/BottomSheetRouter.js.map +0 -1
  478. package/lib/module/ui/components/Header.js +0 -299
  479. package/lib/module/ui/components/Header.js.map +0 -1
  480. package/lib/module/ui/components/OxyAccountDialog.js +0 -254
  481. package/lib/module/ui/components/OxyAccountDialog.js.map +0 -1
  482. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts +0 -29
  483. package/lib/typescript/commonjs/ui/components/BottomSheet.d.ts.map +0 -1
  484. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts +0 -9
  485. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +0 -1
  486. package/lib/typescript/commonjs/ui/components/Header.d.ts +0 -33
  487. package/lib/typescript/commonjs/ui/components/Header.d.ts.map +0 -1
  488. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +0 -37
  489. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +0 -1
  490. package/lib/typescript/module/ui/components/BottomSheet.d.ts +0 -29
  491. package/lib/typescript/module/ui/components/BottomSheet.d.ts.map +0 -1
  492. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts +0 -9
  493. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +0 -1
  494. package/lib/typescript/module/ui/components/Header.d.ts +0 -33
  495. package/lib/typescript/module/ui/components/Header.d.ts.map +0 -1
  496. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +0 -37
  497. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +0 -1
  498. package/src/ui/components/BottomSheet.tsx +0 -48
  499. package/src/ui/components/BottomSheetRouter.tsx +0 -310
  500. package/src/ui/components/Header.tsx +0 -224
  501. package/src/ui/components/OxyAccountDialog.tsx +0 -243
  502. package/src/ui/navigation/__tests__/getSheetConfig.test.ts +0 -36
@@ -17,6 +17,12 @@ import {
17
17
  loadDocumentPicker,
18
18
  } from '../shared';
19
19
 
20
+ function revokePreviewUrl(preview: string | undefined): void {
21
+ if (preview?.startsWith('blob:')) {
22
+ URL.revokeObjectURL(preview);
23
+ }
24
+ }
25
+
20
26
  /**
21
27
  * Optimistic-entry metadata. `uploading` flags the placeholder so no asset URL
22
28
  * is ever built from its client-minted `temp-…` id; `localPreviewUri` lets the
@@ -334,9 +340,7 @@ export const useFileUploadState = ({
334
340
 
335
341
  // Cleanup preview URLs
336
342
  pendingFiles.forEach(pf => {
337
- if (pf.preview) {
338
- URL.revokeObjectURL(pf.preview);
339
- }
343
+ revokePreviewUrl(pf.preview);
340
344
  });
341
345
  setPendingFiles([]);
342
346
 
@@ -374,9 +378,7 @@ export const useFileUploadState = ({
374
378
  const handleCancelUpload = () => {
375
379
  // Cleanup preview URLs
376
380
  pendingFiles.forEach(pf => {
377
- if (pf.preview) {
378
- URL.revokeObjectURL(pf.preview);
379
- }
381
+ revokePreviewUrl(pf.preview);
380
382
  });
381
383
  setPendingFiles([]);
382
384
  setShowUploadPreview(false);
@@ -386,7 +388,7 @@ export const useFileUploadState = ({
386
388
  const file = pendingFiles.find((pf) => pf.id === id);
387
389
  if (!file) return;
388
390
  if (file.preview) {
389
- URL.revokeObjectURL(file.preview);
391
+ revokePreviewUrl(file.preview);
390
392
  }
391
393
  const updated = pendingFiles.filter((pf) => pf.id !== id);
392
394
  setPendingFiles(updated);
@@ -1,32 +1,26 @@
1
1
  import type React from 'react';
2
- import { View, ScrollView } from 'react-native';
2
+ import { View } from 'react-native';
3
3
  import { useTheme } from '@oxyhq/bloom/theme';
4
4
  import { H4, Text } from '@oxyhq/bloom/typography';
5
5
  import { IconCircle } from '@oxyhq/bloom/icon-circle';
6
6
  import { BenefitList, BenefitRow } from '@oxyhq/bloom/benefit-list';
7
7
  import * as Icons from '@oxyhq/bloom/icons';
8
8
  import type { BaseScreenProps } from '../../types/navigation';
9
- import Header from '../../components/Header';
10
9
  import { useI18n } from '../../hooks/useI18n';
10
+ import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
11
11
 
12
- const TrustAboutScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
12
+ const TrustAboutScreen: React.FC<BaseScreenProps> = () => {
13
13
  const { t } = useI18n();
14
14
  const bloomTheme = useTheme();
15
15
  const iconColor = bloomTheme.colors.primary;
16
16
 
17
+ useSurfaceHeader({
18
+ title: t('trust.about.title') || 'About Oxy Trust',
19
+ subtitle: t('trust.about.subtitle') || 'Learn about the reputation system',
20
+ });
21
+
17
22
  return (
18
- <View className="flex-1 bg-bg">
19
- <Header
20
- title={t('trust.about.title') || 'About Oxy Trust'}
21
- subtitle={t('trust.about.subtitle') || 'Learn about the reputation system'}
22
- onBack={goBack}
23
- elevation="subtle"
24
- />
25
- <ScrollView
26
- className="flex-1 px-screen-margin"
27
- showsVerticalScrollIndicator={false}
28
- contentContainerClassName="pb-space-32"
29
- >
23
+ <View className="px-screen-margin pt-space-16 pb-space-32">
30
24
  <View className="items-center py-space-24 gap-space-12">
31
25
  <IconCircle icon={Icons.ShieldCheck_Stroke2_Corner0_Rounded} />
32
26
  <Text className="font-sans text-body text-text-secondary text-center">
@@ -69,8 +63,7 @@ const TrustAboutScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
69
63
  <Text className="font-sans text-body text-text-secondary">
70
64
  {t('trust.about.why.text') || 'Your reputation and trust tier unlock special features and recognition in the Oxy Ecosystem. The more you contribute, the more you earn!'}
71
65
  </Text>
72
- </ScrollView>
73
- </View>
66
+ </View>
74
67
  );
75
68
  };
76
69
 
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
2
  import { useEffect, useMemo, useState } from 'react';
3
- import { View, ScrollView, StyleSheet } from 'react-native';
3
+ import { View, StyleSheet } from 'react-native';
4
4
  import type { ReputationTransaction, TrustTier } from '@oxyhq/core';
5
5
  import { Ionicons } from '@expo/vector-icons';
6
6
  import { Chip } from '@oxyhq/bloom/chip';
@@ -8,16 +8,14 @@ import { useTheme } from '@oxyhq/bloom/theme';
8
8
  import { H1, Text } from '@oxyhq/bloom/typography';
9
9
  import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
10
10
  import type { BaseScreenProps } from '../../types/navigation';
11
- import Header from '../../components/Header';
12
11
  import { SettingsIcon } from '../../components/SettingsIcon';
13
12
  import { Loading } from '@oxyhq/bloom/loading';
14
13
  import { useI18n } from '../../hooks/useI18n';
14
+ import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
15
15
  import { useOxy } from '../../context/OxyContext';
16
16
  import { getTrustTierLabel } from './trustTier';
17
17
 
18
18
  const TrustCenterScreen: React.FC<BaseScreenProps> = ({
19
- onClose,
20
- goBack,
21
19
  navigate,
22
20
  }) => {
23
21
  // Reputation/trust is the ACTIVE account's standing (the org/project/bot
@@ -61,38 +59,28 @@ const TrustCenterScreen: React.FC<BaseScreenProps> = ({
61
59
  );
62
60
 
63
61
  const title = t('trust.center.title') || 'Trust Center';
62
+ useSurfaceHeader({ title });
64
63
 
65
64
  if (!isAuthenticated) {
66
65
  return (
67
- <View className="flex-1 bg-bg">
68
- <Header title={title} onBack={goBack || onClose} elevation="subtle" />
69
- <View style={styles.center}>
66
+ <View className="items-center py-space-40">
70
67
  <Text className="text-text font-medium text-base">
71
68
  {t('common.status.notSignedIn') || 'Not signed in'}
72
69
  </Text>
73
70
  </View>
74
- </View>
75
71
  );
76
72
  }
77
73
 
78
74
  if (isLoading) {
79
75
  return (
80
- <View className="flex-1 bg-bg">
81
- <Header title={title} onBack={goBack || onClose} elevation="subtle" />
82
- <View style={styles.center}>
76
+ <View className="items-center py-space-40">
83
77
  <Loading size="large" color={primaryColor} />
84
78
  </View>
85
- </View>
86
79
  );
87
80
  }
88
81
 
89
82
  return (
90
- <View className="flex-1 bg-bg">
91
- <Header title={title} onBack={goBack || onClose} elevation="subtle" />
92
- <ScrollView
93
- className="flex-1"
94
- contentContainerClassName="px-screen-margin pb-space-24"
95
- >
83
+ <View className="px-screen-margin pt-space-16 pb-space-24">
96
84
  {/* Balance hero card */}
97
85
  <View className="items-center bg-fill-secondary rounded-radius-20 px-space-20 py-space-24 mb-space-16">
98
86
  <H1 style={{ color: primaryColor }}>{reputationTotal ?? 0}</H1>
@@ -250,20 +238,13 @@ const TrustCenterScreen: React.FC<BaseScreenProps> = ({
250
238
  {error}
251
239
  </Text>
252
240
  ) : null}
253
- </ScrollView>
254
- </View>
241
+ </View>
255
242
  );
256
243
  };
257
244
 
258
- // Layout-only styles: flex centering for the empty/loading branches and the
259
- // info caption's measured max width. No color, spacing, radius, or typography
260
- // roles live here — those use Bloom token classes.
245
+ // Layout-only styles: the info caption's measured max width. No color, spacing,
246
+ // radius, or typography roles live here those use Bloom token classes.
261
247
  const styles = StyleSheet.create({
262
- center: {
263
- flex: 1,
264
- alignItems: 'center',
265
- justifyContent: 'center',
266
- },
267
248
  infoText: {
268
249
  maxWidth: 320,
269
250
  },
@@ -1,8 +1,8 @@
1
1
  import React, { useState, useMemo, useCallback } from 'react';
2
- import { View, ScrollView } from 'react-native';
2
+ import { View } from 'react-native';
3
3
  import type { BaseScreenProps } from '../../types/navigation';
4
- import Header from '../../components/Header';
5
- import { SearchInput } from '@oxyhq/bloom/search-input';
4
+ import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
5
+ import { Search } from '@oxyhq/bloom/search';
6
6
  import {
7
7
  Accordion,
8
8
  AccordionItem,
@@ -18,13 +18,18 @@ const FAQ_KEYS = ['what', 'earn', 'lose', 'use', 'transfer', 'support'] as const
18
18
  * TrustFAQScreen
19
19
  *
20
20
  * Frequently asked questions about Oxy Trust, rendered with the shared Bloom
21
- * Accordion (single-expand) + SearchInput. Styling is centralized Bloom token
21
+ * Accordion (single-expand) + Search. Styling is centralized Bloom token
22
22
  * classes; the Bloom Accordion owns its own expand/collapse animation, so no
23
23
  * `LayoutAnimation` is used here.
24
24
  */
25
- const TrustFAQScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
25
+ const TrustFAQScreen: React.FC<BaseScreenProps> = () => {
26
26
  const { t } = useI18n();
27
27
 
28
+ useSurfaceHeader({
29
+ title: t('trust.faq.title') || 'Trust FAQ',
30
+ subtitle: t('trust.faq.subtitle') || 'Frequently asked questions about Oxy Trust',
31
+ });
32
+
28
33
  const [search, setSearch] = useState('');
29
34
  const [expanded, setExpanded] = useState<string | undefined>(undefined);
30
35
 
@@ -51,17 +56,9 @@ const TrustFAQScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
51
56
  );
52
57
 
53
58
  return (
54
- <View className="flex-1 bg-bg">
55
- <Header
56
- title={t('trust.faq.title') || 'Trust FAQ'}
57
- subtitle={t('trust.faq.subtitle') || 'Frequently asked questions about Oxy Trust'}
58
- subtitleVariant="muted"
59
- onBack={goBack}
60
- elevation="subtle"
61
- />
62
-
59
+ <>
63
60
  <View className="px-screen-margin pt-space-20 pb-space-12">
64
- <SearchInput
61
+ <Search
65
62
  label={t('trust.faq.search') || 'Search FAQ...'}
66
63
  value={search}
67
64
  onChangeText={setSearch}
@@ -70,7 +67,7 @@ const TrustFAQScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
70
67
  />
71
68
  </View>
72
69
 
73
- <ScrollView className="flex-1 px-screen-margin" showsVerticalScrollIndicator={false}>
70
+ <View className="px-screen-margin">
74
71
  {filteredFaqs.length === 0 ? (
75
72
  <Text className="text-text-secondary text-center p-space-40">
76
73
  {t('trust.faq.noResults', { query: search }) ||
@@ -96,8 +93,8 @@ const TrustFAQScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
96
93
  ))}
97
94
  </Accordion>
98
95
  )}
99
- </ScrollView>
100
- </View>
96
+ </View>
97
+ </>
101
98
  );
102
99
  };
103
100
 
@@ -16,8 +16,8 @@ import { Button } from '@oxyhq/bloom/button';
16
16
  import { Ionicons } from '@expo/vector-icons';
17
17
  import type { BaseScreenProps } from '../../types/navigation';
18
18
  import { Avatar } from '@oxyhq/bloom/avatar';
19
- import Header from '../../components/Header';
20
19
  import { useI18n } from '../../hooks/useI18n';
20
+ import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
21
21
  import { useOxy } from '../../context/OxyContext';
22
22
  import { getTrustTierLabel } from './trustTier';
23
23
 
@@ -27,7 +27,7 @@ const ERROR_ICON_SIZE = 48;
27
27
  /** Ranks within the podium (1–3) get a highlighted row surface. */
28
28
  const PODIUM_RANK = 3;
29
29
 
30
- const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ goBack, navigate }) => {
30
+ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ navigate }) => {
31
31
  const { oxyServices, user: currentUser } = useOxy();
32
32
  const { t, locale } = useI18n();
33
33
  const bloomTheme = useTheme();
@@ -61,6 +61,7 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ goBack, navigate })
61
61
 
62
62
  const title = t('trust.leaderboard.title') || 'Trust Leaderboard';
63
63
  const subtitle = t('trust.leaderboard.subtitle') || 'Top contributors in the community';
64
+ useSurfaceHeader({ title, subtitle });
64
65
 
65
66
  const handleEntryPress = useCallback(
66
67
  (entry: ReputationLeaderboardEntry) => {
@@ -130,7 +131,6 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ goBack, navigate })
130
131
  if (isLoading) {
131
132
  return (
132
133
  <View className="flex-1 bg-bg">
133
- <Header title={title} subtitle={subtitle} onBack={goBack} elevation="subtle" />
134
134
  <View style={styles.center}>
135
135
  <ActivityIndicator size="large" color={bloomTheme.colors.primary} />
136
136
  </View>
@@ -141,7 +141,6 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ goBack, navigate })
141
141
  if (error) {
142
142
  return (
143
143
  <View className="flex-1 bg-bg">
144
- <Header title={title} subtitle={subtitle} onBack={goBack} elevation="subtle" />
145
144
  <View style={styles.center} className="px-space-32 gap-space-16">
146
145
  <Ionicons name="alert-circle" size={ERROR_ICON_SIZE} color={bloomTheme.colors.error} />
147
146
  <Text className="text-text-secondary text-base text-center">
@@ -157,7 +156,6 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ goBack, navigate })
157
156
 
158
157
  return (
159
158
  <View className="flex-1 bg-bg">
160
- <Header title={title} subtitle={subtitle} onBack={goBack} elevation="subtle" />
161
159
  <FlatList
162
160
  data={leaderboard}
163
161
  renderItem={renderEntry}
@@ -1,8 +1,8 @@
1
1
  import type React from 'react';
2
2
  import { useMemo, useState, useEffect } from 'react';
3
- import { View, StyleSheet, ScrollView } from 'react-native';
3
+ import { View, StyleSheet } from 'react-native';
4
4
  import type { BaseScreenProps } from '../../types/navigation';
5
- import Header from '../../components/Header';
5
+ import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
6
6
  import { Ionicons } from '@expo/vector-icons';
7
7
  import { useTheme } from '@oxyhq/bloom/theme';
8
8
  import { H1, H4, H5, Text } from '@oxyhq/bloom/typography';
@@ -75,11 +75,16 @@ const RARITY_DARKEN = 0.4;
75
75
  const ACCENT_LIGHTEN = 0.1;
76
76
  const LOCKED_OPACITY = 0.5;
77
77
 
78
- const TrustRewardsScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
78
+ const TrustRewardsScreen: React.FC<BaseScreenProps> = () => {
79
79
  const { t } = useI18n();
80
80
  // Reputation/trust is the ACTIVE account's standing (the org/project/bot
81
81
  // when switched, else the personal user).
82
82
  const { user, oxyServices, isAuthenticated } = useOxy();
83
+
84
+ useSurfaceHeader({
85
+ title: t('trust.rewards.title') || 'Trust Rewards',
86
+ subtitle: t('trust.rewards.subtitle') || 'Unlock special features and recognition',
87
+ });
83
88
  const [reputationTotal, setReputationTotal] = useState<number>(0);
84
89
  const [, setIsLoading] = useState(true);
85
90
 
@@ -360,19 +365,11 @@ const TrustRewardsScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
360
365
 
361
366
  if (!isAuthenticated) {
362
367
  return (
363
- <View className="flex-1 bg-bg">
364
- <Header
365
- title={t('trust.rewards.title') || 'Trust Rewards'}
366
- subtitle={t('trust.rewards.subtitle') || 'Unlock special features and recognition'}
367
- onBack={goBack}
368
- elevation="subtle"
369
- />
370
- <View className="flex-1 items-center justify-center px-screen-margin">
368
+ <View className="items-center justify-center px-screen-margin py-space-40">
371
369
  <Text className="text-text text-base text-center">
372
370
  {t('common.status.notSignedIn') || 'Not signed in'}
373
371
  </Text>
374
372
  </View>
375
- </View>
376
373
  );
377
374
  }
378
375
 
@@ -381,18 +378,7 @@ const TrustRewardsScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
381
378
  : 0;
382
379
 
383
380
  return (
384
- <View className="flex-1 bg-bg">
385
- <Header
386
- title={t('trust.rewards.title') || 'Trust Rewards'}
387
- subtitle={t('trust.rewards.subtitle') || 'Unlock special features and recognition'}
388
- onBack={goBack}
389
- elevation="subtle"
390
- />
391
- <ScrollView
392
- className="flex-1"
393
- contentContainerClassName="px-screen-margin pt-space-20 pb-space-40"
394
- showsVerticalScrollIndicator={false}
395
- >
381
+ <View className="px-screen-margin pt-space-20 pb-space-40">
396
382
  {/* Stats Header */}
397
383
  <View className="bg-fill rounded-radius-20 p-space-20 mb-space-24">
398
384
  <View className="flex-row justify-between items-center mb-space-16">
@@ -458,8 +444,7 @@ const TrustRewardsScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
458
444
  </View>
459
445
  </>
460
446
  )}
461
- </ScrollView>
462
- </View>
447
+ </View>
463
448
  );
464
449
  };
465
450
 
@@ -1,12 +1,12 @@
1
1
  import type React from 'react';
2
2
  import { useEffect, useMemo, useState } from 'react';
3
- import { View, Text, ScrollView } from 'react-native';
3
+ import { View, Text } from 'react-native';
4
4
  import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
5
5
  import { Chip } from '@oxyhq/bloom/chip';
6
6
  import { useTheme } from '@oxyhq/bloom/theme';
7
7
  import type { ReputationRule, ReputationCategory } from '@oxyhq/core';
8
8
  import type { BaseScreenProps } from '../../types/navigation';
9
- import Header from '../../components/Header';
9
+ import { useSurfaceHeader } from '../../hooks/useSurfaceHeader';
10
10
  import { Loading } from '@oxyhq/bloom/loading';
11
11
  import { useI18n } from '../../hooks/useI18n';
12
12
  import { useOxy } from '../../context/OxyContext';
@@ -22,9 +22,14 @@ const CATEGORY_ORDER: ReputationCategory[] = [
22
22
  'other',
23
23
  ];
24
24
 
25
- const TrustRulesScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
25
+ const TrustRulesScreen: React.FC<BaseScreenProps> = () => {
26
26
  const { oxyServices } = useOxy();
27
27
  const { t } = useI18n();
28
+
29
+ useSurfaceHeader({
30
+ title: t('trust.rules.title') || 'Trust Rules',
31
+ subtitle: t('trust.rules.subtitle') || 'How to earn reputation',
32
+ });
28
33
  const bloomTheme = useTheme();
29
34
 
30
35
  const [rules, setRules] = useState<ReputationRule[]>([]);
@@ -61,13 +66,7 @@ const TrustRulesScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
61
66
  }, [rules]);
62
67
 
63
68
  return (
64
- <View className="flex-1 bg-bg">
65
- <Header
66
- title={t('trust.rules.title') || 'Trust Rules'}
67
- subtitle={t('trust.rules.subtitle') || 'How to earn reputation'}
68
- onBack={goBack}
69
- elevation="subtle"
70
- />
69
+ <>
71
70
  {isLoading ? (
72
71
  <Loading size="large" color={bloomTheme.colors.primary} />
73
72
  ) : error ? (
@@ -79,7 +78,6 @@ const TrustRulesScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
79
78
  {t('trust.rules.empty') || 'No rules found.'}
80
79
  </Text>
81
80
  ) : (
82
- <ScrollView className="flex-1">
83
81
  <View className="px-screen-margin pb-space-24 pt-space-12">
84
82
  {groupedRules.map(({ category, items }) => (
85
83
  <SettingsListGroup
@@ -106,9 +104,8 @@ const TrustRulesScreen: React.FC<BaseScreenProps> = ({ goBack }) => {
106
104
  </SettingsListGroup>
107
105
  ))}
108
106
  </View>
109
- </ScrollView>
110
107
  )}
111
- </View>
108
+ </>
112
109
  );
113
110
  };
114
111
 
@@ -15,6 +15,14 @@ export interface BaseScreenProps {
15
15
  goBack?: () => void;
16
16
  onClose?: () => void;
17
17
  onAuthenticated?: (payload?: unknown) => void;
18
+ /**
19
+ * Dismiss THIS surface, resolving the `present()` promise that opened it
20
+ * with `result`. Injected by the surface host (the P1 surface stack). Picker
21
+ * and crop screens use it to hand a typed result back to the awaiting
22
+ * `surfaces.present(...)` call instead of an untyped `onSelect`/`onConfirm`
23
+ * callback prop.
24
+ */
25
+ dismiss?: (result?: unknown) => void;
18
26
 
19
27
  // Theme props
20
28
  theme?: 'light' | 'dark' | string;
@@ -0,0 +1,38 @@
1
+ import type { RouteName } from '../navigation/routes';
2
+ import type { SurfaceProps, SurfaceResult } from '../navigation/surfaceRegistry';
3
+
4
+ /**
5
+ * The typed prop contract a screen receives when it is bound into an SDK surface.
6
+ *
7
+ * This is the successor to the grab-bag `BaseScreenProps`: `props` carries the
8
+ * route's own {@link SurfaceProps typed props}, and the navigation methods are
9
+ * split along the two axes the surface system models — NAV-WITHIN
10
+ * (`navigate`/`replace`/`goBack`/`step`) inside this surface, and DEPTH
11
+ * (`present`/`dismiss`) across the stack.
12
+ *
13
+ * In P1 the ~35 screens still consume the legacy `BaseScreenProps` shape (the
14
+ * `SurfaceScreen` binding passes a superset that satisfies both), so this type is
15
+ * the target contract for the per-screen migration in a later phase — it is not
16
+ * yet the render-time prop shape for existing screens.
17
+ */
18
+ export interface SurfaceScreenProps<K extends RouteName> {
19
+ /** The route's typed props (from the {@link SurfaceProps registry}). */
20
+ props: SurfaceProps<K>;
21
+ /** Drill in to another route — WITHIN this surface, or a new surface if the
22
+ * target's presentation differs. */
23
+ navigate: <T extends RouteName>(route: T, props?: SurfaceProps<T>) => void;
24
+ /** Replace the current route in place (no history entry). */
25
+ replace: <T extends RouteName>(route: T, props?: SurfaceProps<T>) => void;
26
+ /** Pop one level; if at the root, dismiss the surface. */
27
+ goBack: () => void;
28
+ /** Whether a back is possible (a deeper route OR a prior wizard step). */
29
+ canGoBack: () => boolean;
30
+ /** Dismiss THIS surface, resolving its `present()` promise with `result`. */
31
+ dismiss: (result?: SurfaceResult<K>) => void;
32
+ /** Present a NEW surface on top of the stack (DEPTH); resolves with its result. */
33
+ present: <T extends RouteName>(route: T, props?: SurfaceProps<T>) => Promise<SurfaceResult<T> | undefined>;
34
+ /** The current wizard step of this frame. */
35
+ step: number;
36
+ /** Set the current wizard step. */
37
+ setStep: (step: number) => void;
38
+ }
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = require("react");
8
- var _bottomSheet = require("@oxyhq/bloom/bottom-sheet");
9
- var _jsxRuntime = require("react/jsx-runtime");
10
- /**
11
- * Thin wrapper around `@oxyhq/bloom`'s `BottomSheet` (>=0.4.0).
12
- *
13
- * Bloom is the canonical bottom-sheet primitive for the Oxy ecosystem; this
14
- * wrapper exists only to inject service-specific defaults so the 29+ screens
15
- * mounted by `BottomSheetRouter` keep the exact UX they had under the
16
- * pre-refactor in-tree implementation:
17
- *
18
- * - `manualActivation: true` — the body pan uses RNGH's manualActivation
19
- * with scroll-handoff, the only RNGH 2.x pattern that doesn't steal
20
- * vertical events from inner scrollers on Android. The previous in-tree
21
- * implementation always ran in this mode.
22
- * - `dynamicBackdrop: true` — backdrop dims proportionally with drag
23
- * distance (iOS Photos style). The previous in-tree implementation
24
- * always did this.
25
- *
26
- * Consumers (`BottomSheetRouter`, primarily) can still override either default
27
- * by passing the prop explicitly — for example, per-route via `getSheetConfig`.
28
- *
29
- * Public API (name + ref shape) is identical to the previous in-tree
30
- * implementation, so external consumers and `BottomSheetRouter` need no
31
- * changes beyond the new pass-through props.
32
- */
33
-
34
- const BottomSheet = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
35
- const {
36
- manualActivation = true,
37
- dynamicBackdrop = true,
38
- ...rest
39
- } = props;
40
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.BottomSheet, {
41
- ref: ref,
42
- manualActivation: manualActivation,
43
- dynamicBackdrop: dynamicBackdrop,
44
- ...rest
45
- });
46
- });
47
- BottomSheet.displayName = 'BottomSheet';
48
- var _default = exports.default = BottomSheet;
49
- //# sourceMappingURL=BottomSheet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_bottomSheet","_jsxRuntime","BottomSheet","forwardRef","props","ref","manualActivation","dynamicBackdrop","rest","jsx","displayName","_default","exports","default"],"sourceRoot":"../../../../src","sources":["ui/components/BottomSheet.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAImC,IAAAE,WAAA,GAAAF,OAAA;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,MAAMG,WAAW,gBAAG,IAAAC,iBAAU,EAAmC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC7E,MAAM;IAAEC,gBAAgB,GAAG,IAAI;IAAEC,eAAe,GAAG,IAAI;IAAE,GAAGC;EAAK,CAAC,GAAGJ,KAAK;EAC1E,oBACI,IAAAH,WAAA,CAAAQ,GAAA,EAACT,YAAA,CAAAE,WAAgB;IACbG,GAAG,EAAEA,GAAI;IACTC,gBAAgB,EAAEA,gBAAiB;IACnCC,eAAe,EAAEA,eAAgB;IAAA,GAC7BC;EAAI,CACX,CAAC;AAEV,CAAC,CAAC;AAEFN,WAAW,CAACQ,WAAW,GAAG,aAAa;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEzBX,WAAW","ignoreList":[]}