@oxy.so/services 3.1.0 → 4.0.1

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 (344) hide show
  1. package/lib/commonjs/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  2. package/lib/commonjs/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  3. package/lib/commonjs/assets/assets/fonts/icons/manifest.json +5 -11
  4. package/lib/commonjs/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  5. package/lib/commonjs/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  6. package/lib/commonjs/assets/fonts/icons/manifest.json +5 -11
  7. package/lib/commonjs/ui/components/FollowButton.js +15 -28
  8. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  9. package/lib/commonjs/ui/components/FollowTargetButton.js +10 -11
  10. package/lib/commonjs/ui/components/FollowTargetButton.js.map +1 -1
  11. package/lib/commonjs/ui/components/OxyAuthPrompt.js +3 -2
  12. package/lib/commonjs/ui/components/OxyAuthPrompt.js.map +1 -1
  13. package/lib/commonjs/ui/components/OxyConsentScreen.js +4 -2
  14. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -1
  15. package/lib/commonjs/ui/components/OxySignInButton.js +1 -1
  16. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  17. package/lib/commonjs/ui/components/OxySignInRequestSurface.js +2 -1
  18. package/lib/commonjs/ui/components/OxySignInRequestSurface.js.map +1 -1
  19. package/lib/commonjs/ui/components/ProfileButton.js +68 -267
  20. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
  21. package/lib/commonjs/ui/components/ProfileSummaryCard.js +2 -2
  22. package/lib/commonjs/ui/components/ProfileSummaryCard.js.map +1 -1
  23. package/lib/commonjs/ui/components/SurfaceHeaderAction.js +9 -49
  24. package/lib/commonjs/ui/components/SurfaceHeaderAction.js.map +1 -1
  25. package/lib/commonjs/ui/components/SurfaceScreen.js +3 -2
  26. package/lib/commonjs/ui/components/SurfaceScreen.js.map +1 -1
  27. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +2 -1
  28. package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  29. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js +2 -1
  30. package/lib/commonjs/ui/components/authChooser/SignInEntryView.js.map +1 -1
  31. package/lib/commonjs/ui/components/authChooser/SignUpView.js +4 -2
  32. package/lib/commonjs/ui/components/authChooser/SignUpView.js.map +1 -1
  33. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +2 -1
  34. package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
  35. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +20 -14
  36. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  37. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +48 -85
  38. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
  39. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +35 -31
  40. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  41. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +9 -6
  42. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  43. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +22 -19
  44. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
  45. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +6 -3
  46. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -1
  47. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +6 -3
  48. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -1
  49. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +7 -5
  50. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -1
  51. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +20 -17
  52. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -1
  53. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js +2 -1
  54. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
  55. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js +5 -3
  56. package/lib/commonjs/ui/components/surfaces/ActionSheetSurface.js.map +1 -1
  57. package/lib/commonjs/ui/icons/subsetGlyphMaps.js +0 -6
  58. package/lib/commonjs/ui/icons/subsetGlyphMaps.js.map +1 -1
  59. package/lib/commonjs/ui/screens/AccountMembersScreen.js +36 -60
  60. package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
  61. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +2 -1
  62. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  63. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +2 -1
  64. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  65. package/lib/commonjs/ui/screens/AvatarCropScreen.js +7 -6
  66. package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
  67. package/lib/commonjs/ui/screens/CreateAccountScreen.js +2 -1
  68. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  69. package/lib/commonjs/ui/screens/FeedbackScreen.js +18 -9
  70. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  71. package/lib/commonjs/ui/screens/FileManagementScreen.js +99 -200
  72. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  73. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +8 -9
  74. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
  75. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +2 -1
  76. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  77. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +20 -10
  78. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  79. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +4 -2
  80. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  81. package/lib/commonjs/ui/screens/ProfileScreen.js +2 -1
  82. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  83. package/lib/commonjs/ui/screens/UserListScreen.js +31 -33
  84. package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
  85. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +22 -11
  86. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  87. package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js +7 -18
  88. package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
  89. package/lib/commonjs/ui/screens/fileManagement/FileListSection.js +7 -16
  90. package/lib/commonjs/ui/screens/fileManagement/FileListSection.js.map +1 -1
  91. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +6 -6
  92. package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
  93. package/lib/commonjs/ui/screens/fileManagement/UploadBar.js +23 -66
  94. package/lib/commonjs/ui/screens/fileManagement/UploadBar.js.map +1 -1
  95. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +2 -1
  96. package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  97. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +3 -2
  98. package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  99. package/lib/module/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  100. package/lib/module/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  101. package/lib/module/assets/assets/fonts/icons/manifest.json +5 -11
  102. package/lib/module/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  103. package/lib/module/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  104. package/lib/module/assets/fonts/icons/manifest.json +5 -11
  105. package/lib/module/ui/components/FollowButton.js +15 -28
  106. package/lib/module/ui/components/FollowButton.js.map +1 -1
  107. package/lib/module/ui/components/FollowTargetButton.js +10 -11
  108. package/lib/module/ui/components/FollowTargetButton.js.map +1 -1
  109. package/lib/module/ui/components/OxyAuthPrompt.js +2 -1
  110. package/lib/module/ui/components/OxyAuthPrompt.js.map +1 -1
  111. package/lib/module/ui/components/OxyConsentScreen.js +4 -2
  112. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -1
  113. package/lib/module/ui/components/OxySignInButton.js +1 -1
  114. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  115. package/lib/module/ui/components/OxySignInRequestSurface.js +2 -1
  116. package/lib/module/ui/components/OxySignInRequestSurface.js.map +1 -1
  117. package/lib/module/ui/components/ProfileButton.js +71 -269
  118. package/lib/module/ui/components/ProfileButton.js.map +1 -1
  119. package/lib/module/ui/components/ProfileSummaryCard.js +2 -2
  120. package/lib/module/ui/components/ProfileSummaryCard.js.map +1 -1
  121. package/lib/module/ui/components/SurfaceHeaderAction.js +8 -48
  122. package/lib/module/ui/components/SurfaceHeaderAction.js.map +1 -1
  123. package/lib/module/ui/components/SurfaceScreen.js +2 -1
  124. package/lib/module/ui/components/SurfaceScreen.js.map +1 -1
  125. package/lib/module/ui/components/authChooser/AccountsMenuView.js +2 -1
  126. package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
  127. package/lib/module/ui/components/authChooser/SignInEntryView.js +2 -1
  128. package/lib/module/ui/components/authChooser/SignInEntryView.js.map +1 -1
  129. package/lib/module/ui/components/authChooser/SignUpView.js +4 -2
  130. package/lib/module/ui/components/authChooser/SignUpView.js.map +1 -1
  131. package/lib/module/ui/components/authChooser/requestSurfaces.js +2 -1
  132. package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
  133. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +12 -6
  134. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  135. package/lib/module/ui/components/fileManagement/FileViewer.js +38 -75
  136. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
  137. package/lib/module/ui/components/fileManagement/UploadPreview.js +31 -27
  138. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  139. package/lib/module/ui/components/modals/DeleteAccountModal.js +6 -3
  140. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  141. package/lib/module/ui/components/payment/PaymentDetailsStep.js +6 -3
  142. package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
  143. package/lib/module/ui/components/payment/PaymentMethodStep.js +6 -3
  144. package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -1
  145. package/lib/module/ui/components/payment/PaymentReviewStep.js +6 -3
  146. package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -1
  147. package/lib/module/ui/components/payment/PaymentSuccessStep.js +4 -2
  148. package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -1
  149. package/lib/module/ui/components/payment/PaymentSummaryStep.js +6 -3
  150. package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -1
  151. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js +2 -1
  152. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
  153. package/lib/module/ui/components/surfaces/ActionSheetSurface.js +4 -2
  154. package/lib/module/ui/components/surfaces/ActionSheetSurface.js.map +1 -1
  155. package/lib/module/ui/icons/subsetGlyphMaps.js +0 -6
  156. package/lib/module/ui/icons/subsetGlyphMaps.js.map +1 -1
  157. package/lib/module/ui/screens/AccountMembersScreen.js +37 -61
  158. package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
  159. package/lib/module/ui/screens/AccountSettingsScreen.js +2 -1
  160. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  161. package/lib/module/ui/screens/AccountVerificationScreen.js +2 -1
  162. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  163. package/lib/module/ui/screens/AvatarCropScreen.js +2 -1
  164. package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
  165. package/lib/module/ui/screens/CreateAccountScreen.js +2 -1
  166. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  167. package/lib/module/ui/screens/FeedbackScreen.js +18 -9
  168. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  169. package/lib/module/ui/screens/FileManagementScreen.js +91 -192
  170. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  171. package/lib/module/ui/screens/LanguageSelectorScreen.js +9 -10
  172. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
  173. package/lib/module/ui/screens/PaymentGatewayScreen.js +2 -1
  174. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  175. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +20 -10
  176. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  177. package/lib/module/ui/screens/PrivacySettingsScreen.js +4 -2
  178. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  179. package/lib/module/ui/screens/ProfileScreen.js +2 -1
  180. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  181. package/lib/module/ui/screens/UserListScreen.js +32 -34
  182. package/lib/module/ui/screens/UserListScreen.js.map +1 -1
  183. package/lib/module/ui/screens/WelcomeNewUserScreen.js +22 -11
  184. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  185. package/lib/module/ui/screens/fileManagement/FileLibraryError.js +6 -17
  186. package/lib/module/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
  187. package/lib/module/ui/screens/fileManagement/FileListSection.js +5 -14
  188. package/lib/module/ui/screens/fileManagement/FileListSection.js.map +1 -1
  189. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +3 -3
  190. package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
  191. package/lib/module/ui/screens/fileManagement/UploadBar.js +24 -66
  192. package/lib/module/ui/screens/fileManagement/UploadBar.js.map +1 -1
  193. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +2 -1
  194. package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
  195. package/lib/module/ui/screens/trust/TrustRulesScreen.js +2 -1
  196. package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
  197. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  198. package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/ui/components/OxyAuthPrompt.d.ts.map +1 -1
  200. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +1 -1
  201. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  202. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +1 -20
  203. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/ui/components/ProfileSummaryCard.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts +1 -5
  206. package/lib/typescript/commonjs/ui/components/SurfaceHeaderAction.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/ui/components/SurfaceScreen.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/ui/components/payment/PaymentMethodStep.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/ui/components/payment/PaymentReviewStep.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -1
  216. package/lib/typescript/commonjs/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
  218. package/lib/typescript/commonjs/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -1
  219. package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts +1 -1
  220. package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts +1 -1
  222. package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts +0 -6
  224. package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
  225. package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  226. package/lib/typescript/commonjs/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  228. package/lib/typescript/commonjs/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/ui/screens/UserListScreen.d.ts.map +1 -1
  230. package/lib/typescript/commonjs/ui/screens/fileManagement/FileLibraryError.d.ts +0 -2
  231. package/lib/typescript/commonjs/ui/screens/fileManagement/FileLibraryError.d.ts.map +1 -1
  232. package/lib/typescript/commonjs/ui/screens/fileManagement/FileListSection.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
  234. package/lib/typescript/commonjs/ui/screens/fileManagement/UploadBar.d.ts +1 -14
  235. package/lib/typescript/commonjs/ui/screens/fileManagement/UploadBar.d.ts.map +1 -1
  236. package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  237. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  238. package/lib/typescript/module/ui/components/FollowTargetButton.d.ts.map +1 -1
  239. package/lib/typescript/module/ui/components/OxyAuthPrompt.d.ts.map +1 -1
  240. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +1 -1
  241. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  242. package/lib/typescript/module/ui/components/ProfileButton.d.ts +1 -20
  243. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -1
  244. package/lib/typescript/module/ui/components/ProfileSummaryCard.d.ts.map +1 -1
  245. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts +1 -5
  246. package/lib/typescript/module/ui/components/SurfaceHeaderAction.d.ts.map +1 -1
  247. package/lib/typescript/module/ui/components/SurfaceScreen.d.ts.map +1 -1
  248. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  249. package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
  250. package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  251. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  252. package/lib/typescript/module/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -1
  253. package/lib/typescript/module/ui/components/payment/PaymentMethodStep.d.ts.map +1 -1
  254. package/lib/typescript/module/ui/components/payment/PaymentReviewStep.d.ts.map +1 -1
  255. package/lib/typescript/module/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -1
  256. package/lib/typescript/module/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -1
  257. package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
  258. package/lib/typescript/module/ui/components/surfaces/ActionSheetSurface.d.ts.map +1 -1
  259. package/lib/typescript/module/ui/icons/Ionicons.d.ts +1 -1
  260. package/lib/typescript/module/ui/icons/Ionicons.d.ts.map +1 -1
  261. package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts +1 -1
  262. package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
  263. package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts +0 -6
  264. package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
  265. package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
  266. package/lib/typescript/module/ui/screens/AvatarCropScreen.d.ts.map +1 -1
  267. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  268. package/lib/typescript/module/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
  269. package/lib/typescript/module/ui/screens/UserListScreen.d.ts.map +1 -1
  270. package/lib/typescript/module/ui/screens/fileManagement/FileLibraryError.d.ts +0 -2
  271. package/lib/typescript/module/ui/screens/fileManagement/FileLibraryError.d.ts.map +1 -1
  272. package/lib/typescript/module/ui/screens/fileManagement/FileListSection.d.ts.map +1 -1
  273. package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
  274. package/lib/typescript/module/ui/screens/fileManagement/UploadBar.d.ts +1 -14
  275. package/lib/typescript/module/ui/screens/fileManagement/UploadBar.d.ts.map +1 -1
  276. package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
  277. package/package.json +6 -6
  278. package/src/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
  279. package/src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
  280. package/src/assets/fonts/icons/manifest.json +5 -11
  281. package/src/ui/components/FollowButton.tsx +14 -29
  282. package/src/ui/components/FollowTargetButton.tsx +9 -11
  283. package/src/ui/components/OxyAuthPrompt.tsx +2 -7
  284. package/src/ui/components/OxyConsentScreen.tsx +2 -2
  285. package/src/ui/components/OxySignInButton.tsx +2 -2
  286. package/src/ui/components/OxySignInRequestSurface.tsx +1 -1
  287. package/src/ui/components/ProfileButton.tsx +31 -297
  288. package/src/ui/components/ProfileSummaryCard.tsx +1 -2
  289. package/src/ui/components/SurfaceHeaderAction.tsx +7 -49
  290. package/src/ui/components/SurfaceScreen.tsx +2 -1
  291. package/src/ui/components/authChooser/AccountsMenuView.tsx +1 -1
  292. package/src/ui/components/authChooser/SignInEntryView.tsx +1 -1
  293. package/src/ui/components/authChooser/SignUpView.tsx +2 -2
  294. package/src/ui/components/authChooser/requestSurfaces.tsx +1 -1
  295. package/src/ui/components/fileManagement/FileDetailsModal.tsx +8 -6
  296. package/src/ui/components/fileManagement/FileViewer.tsx +21 -50
  297. package/src/ui/components/fileManagement/UploadPreview.tsx +12 -29
  298. package/src/ui/components/modals/DeleteAccountModal.tsx +4 -3
  299. package/src/ui/components/payment/PaymentDetailsStep.tsx +4 -3
  300. package/src/ui/components/payment/PaymentMethodStep.tsx +4 -3
  301. package/src/ui/components/payment/PaymentReviewStep.tsx +4 -3
  302. package/src/ui/components/payment/PaymentSuccessStep.tsx +3 -2
  303. package/src/ui/components/payment/PaymentSummaryStep.tsx +4 -3
  304. package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +2 -1
  305. package/src/ui/components/surfaces/ActionSheetSurface.tsx +3 -2
  306. package/src/ui/icons/subsetGlyphMaps.ts +0 -6
  307. package/src/ui/screens/AccountMembersScreen.tsx +17 -65
  308. package/src/ui/screens/AccountSettingsScreen.tsx +1 -1
  309. package/src/ui/screens/AccountVerificationScreen.tsx +1 -1
  310. package/src/ui/screens/AvatarCropScreen.tsx +2 -10
  311. package/src/ui/screens/CreateAccountScreen.tsx +1 -1
  312. package/src/ui/screens/FeedbackScreen.tsx +9 -9
  313. package/src/ui/screens/FileManagementScreen.tsx +37 -184
  314. package/src/ui/screens/LanguageSelectorScreen.tsx +5 -13
  315. package/src/ui/screens/PaymentGatewayScreen.tsx +1 -1
  316. package/src/ui/screens/PremiumSubscriptionScreen.tsx +10 -10
  317. package/src/ui/screens/PrivacySettingsScreen.tsx +2 -2
  318. package/src/ui/screens/ProfileScreen.tsx +1 -1
  319. package/src/ui/screens/UserListScreen.tsx +17 -44
  320. package/src/ui/screens/WelcomeNewUserScreen.tsx +11 -11
  321. package/src/ui/screens/fileManagement/FileLibraryError.tsx +6 -14
  322. package/src/ui/screens/fileManagement/FileListSection.tsx +4 -16
  323. package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +2 -13
  324. package/src/ui/screens/fileManagement/UploadBar.tsx +17 -56
  325. package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +1 -1
  326. package/src/ui/screens/trust/TrustRulesScreen.tsx +2 -1
  327. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +0 -61
  328. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +0 -1
  329. package/lib/commonjs/ui/components/internal/PinInput.js +0 -118
  330. package/lib/commonjs/ui/components/internal/PinInput.js.map +0 -1
  331. package/lib/module/ui/components/fileManagement/AnimatedButton.js +0 -55
  332. package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +0 -1
  333. package/lib/module/ui/components/internal/PinInput.js +0 -113
  334. package/lib/module/ui/components/internal/PinInput.js.map +0 -1
  335. package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts +0 -17
  336. package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts.map +0 -1
  337. package/lib/typescript/commonjs/ui/components/internal/PinInput.d.ts +0 -23
  338. package/lib/typescript/commonjs/ui/components/internal/PinInput.d.ts.map +0 -1
  339. package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts +0 -17
  340. package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts.map +0 -1
  341. package/lib/typescript/module/ui/components/internal/PinInput.d.ts +0 -23
  342. package/lib/typescript/module/ui/components/internal/PinInput.d.ts.map +0 -1
  343. package/src/ui/components/fileManagement/AnimatedButton.tsx +0 -64
  344. package/src/ui/components/internal/PinInput.tsx +0 -123
@@ -5,14 +5,13 @@ import {
5
5
  StyleSheet,
6
6
  ActivityIndicator,
7
7
  FlatList,
8
- TouchableOpacity,
9
8
  RefreshControl,
10
9
  } from 'react-native';
11
10
  import type { BaseScreenProps } from '../types/navigation';
12
11
  import { useTheme } from '@oxy.so/bloom/theme';
13
12
  import { H6, Text } from '@oxy.so/bloom/typography';
14
13
  import { Button } from '@oxy.so/bloom/button';
15
- import { Avatar } from '@oxy.so/bloom/avatar';
14
+ import { ContactRow } from '@oxy.so/bloom/chat-people';
16
15
  import FollowButton from '../components/FollowButton';
17
16
  import Ionicons from '../icons/Ionicons';
18
17
  import { useI18n } from '../hooks/useI18n';
@@ -36,7 +35,6 @@ interface UserListScreenProps extends BaseScreenProps {
36
35
  }
37
36
 
38
37
  const PAGE_SIZE = 20;
39
- const AVATAR_SIZE = 48;
40
38
  const EMPTY_ICON_SIZE = 64;
41
39
  const ERROR_ICON_SIZE = 48;
42
40
 
@@ -161,42 +159,21 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
161
159
  const handle = getAccountFallbackHandle(item);
162
160
 
163
161
  return (
164
- <TouchableOpacity
165
- style={styles.userItem}
166
- className="px-screen-margin py-space-12 gap-space-12"
167
- onPress={() => handleUserPress(item)}
168
- activeOpacity={0.7}
169
- accessibilityRole="button"
170
- accessibilityLabel={displayName}
171
- >
172
- <Avatar
173
- source={
174
- item.avatar
175
- ? oxyServices.getFileDownloadUrl(item.avatar, 'thumb')
176
- : undefined
177
- }
178
- name={displayName}
179
- size={AVATAR_SIZE}
180
- />
181
- <View style={styles.userInfo}>
182
- <Text className="text-text font-medium text-base" numberOfLines={1}>
183
- {displayName}
184
- </Text>
185
- {handle ? (
186
- <Text className="text-text-secondary text-sm mt-space-2" numberOfLines={1}>
162
+ <View className="px-screen-margin flex-row items-center gap-space-12">
163
+ <ContactRow id={itemUserId || displayName} name={displayName}
164
+ subtitle={handle ? (item.username ? `@${handle}` : handle) : undefined}
165
+ avatar={item.avatar ? oxyServices.getFileDownloadUrl(item.avatar, 'thumb') : undefined}
166
+ horizontalInset={0} style={{ flex: 1 }}
167
+ onPress={() => handleUserPress(item)}
168
+ identitySlot={<View style={styles.userInfo}>
169
+ <Text variant="body-medium" numberOfLines={1}>{displayName}</Text>
170
+ {handle ? <Text className="text-text-secondary text-sm mt-space-2" numberOfLines={1}>
187
171
  {item.username ? `@${handle}` : handle}
188
- </Text>
189
- ) : null}
190
- {description ? (
191
- <Text className="text-text-secondary text-sm mt-space-4" numberOfLines={2}>
192
- {description}
193
- </Text>
194
- ) : null}
195
- </View>
196
- {!isCurrentUser && itemUserId ? (
197
- <FollowButton userId={itemUserId} size="small" />
198
- ) : null}
199
- </TouchableOpacity>
172
+ </Text> : null}
173
+ {description ? <Text className="text-text-secondary text-sm mt-space-4" numberOfLines={2}>{description}</Text> : null}
174
+ </View>} />
175
+ {!isCurrentUser && itemUserId ? <FollowButton userId={itemUserId} size="small" /> : null}
176
+ </View>
200
177
  );
201
178
  },
202
179
  [handleUserPress, currentUserId, oxyServices]
@@ -257,7 +234,7 @@ const UserListScreen: React.FC<UserListScreenProps> = ({
257
234
  <View style={styles.center} className="px-space-32 gap-space-16">
258
235
  <Ionicons name="alert-circle" size={ERROR_ICON_SIZE} color={bloomTheme.colors.error} />
259
236
  <Text className="text-text-secondary text-base text-center">{error}</Text>
260
- <Button variant="primary" onPress={() => fetchUsers(0)}>
237
+ <Button appearance="solid" tone="accent" onPress={() => fetchUsers(0)}>
261
238
  {t('common.retry') || 'Retry'}
262
239
  </Button>
263
240
  </View>
@@ -304,17 +281,13 @@ const styles = StyleSheet.create({
304
281
  listContent: {
305
282
  flexGrow: 1,
306
283
  },
307
- userItem: {
308
- flexDirection: 'row',
309
- alignItems: 'center',
310
- },
311
284
  userInfo: {
312
285
  flex: 1,
313
286
  },
314
287
  // Inset the hairline separator to align with the start of the user's text
315
288
  // content (avatar width + screen margin + gap).
316
289
  separator: {
317
- marginLeft: 76,
290
+ marginLeft: 72,
318
291
  },
319
292
  emptyContainer: {
320
293
  flex: 1,
@@ -182,10 +182,10 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
182
182
  if (currentStep === totalSteps - 1) {
183
183
  return (
184
184
  <View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
185
- <Button variant="secondary" onPress={prevStep} size="small">
185
+ <Button appearance="subtle" tone="neutral" onPress={prevStep} size="small">
186
186
  {t('welcomeNew.actions.back') || 'Back'}
187
187
  </Button>
188
- <Button variant="primary" onPress={finish} size="small">
188
+ <Button appearance="solid" tone="accent" onPress={finish} size="small">
189
189
  {t('welcomeNew.actions.enter') || 'Enter'}
190
190
  </Button>
191
191
  </View>
@@ -195,11 +195,11 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
195
195
  return (
196
196
  <View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
197
197
  {avatarStepIndex > 0 && (
198
- <Button variant="secondary" onPress={skipToAvatar} size="small">
198
+ <Button appearance="subtle" tone="neutral" onPress={skipToAvatar} size="small">
199
199
  {t('welcomeNew.actions.skip') || 'Skip'}
200
200
  </Button>
201
201
  )}
202
- <Button variant="primary" onPress={nextStep} size="small">
202
+ <Button appearance="solid" tone="accent" onPress={nextStep} size="small">
203
203
  {t('welcomeNew.actions.next') || 'Next'}
204
204
  </Button>
205
205
  </View>
@@ -208,10 +208,10 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
208
208
  if (nameStepIndex >= 0 && currentStep === nameStepIndex) {
209
209
  return (
210
210
  <View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
211
- <Button variant="secondary" onPress={prevStep} size="small">
211
+ <Button appearance="subtle" tone="neutral" onPress={prevStep} size="small">
212
212
  {t('welcomeNew.actions.back') || 'Back'}
213
213
  </Button>
214
- <Button variant="primary" onPress={submitName} size="small" disabled={!firstName.trim() || savingName} loading={savingName}>
214
+ <Button appearance="solid" tone="accent" onPress={submitName} size="small" disabled={!firstName.trim() || savingName} loading={savingName}>
215
215
  {t('welcomeNew.actions.continue') || 'Continue'}
216
216
  </Button>
217
217
  </View>
@@ -220,10 +220,10 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
220
220
  if (step.showAvatar) {
221
221
  return (
222
222
  <View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
223
- <Button variant="secondary" onPress={prevStep} size="small">
223
+ <Button appearance="subtle" tone="neutral" onPress={prevStep} size="small">
224
224
  {t('welcomeNew.actions.back') || 'Back'}
225
225
  </Button>
226
- <Button variant="primary" onPress={nextStep} size="small">
226
+ <Button appearance="solid" tone="accent" onPress={nextStep} size="small">
227
227
  {avatarUri ? (t('welcomeNew.actions.continue') || 'Continue') : (t('welcomeNew.actions.skip') || 'Skip')}
228
228
  </Button>
229
229
  </View>
@@ -231,10 +231,10 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
231
231
  }
232
232
  return (
233
233
  <View style={{ flexDirection: 'row', gap: 8, justifyContent: 'flex-end' }}>
234
- <Button variant="secondary" onPress={prevStep} size="small">
234
+ <Button appearance="subtle" tone="neutral" onPress={prevStep} size="small">
235
235
  {t('welcomeNew.actions.back') || 'Back'}
236
236
  </Button>
237
- <Button variant="primary" onPress={nextStep} size="small">
237
+ <Button appearance="solid" tone="accent" onPress={nextStep} size="small">
238
238
  {t('welcomeNew.actions.next') || 'Next'}
239
239
  </Button>
240
240
  </View>
@@ -296,7 +296,7 @@ const WelcomeNewUserScreen: React.FC<BaseScreenProps & { newUser?: User }> = ({
296
296
  placeholderColor={`${colors.primary}20`}
297
297
  style={styles.avatar}
298
298
  />
299
- <Button variant="primary" size="small" onPress={openAvatarPicker}>
299
+ <Button appearance="solid" tone="accent" size="small" onPress={openAvatarPicker}>
300
300
  {avatarUri ? (t('welcomeNew.avatar.change') || 'Change Avatar') : (t('welcomeNew.avatar.add') || 'Add Avatar')}
301
301
  </Button>
302
302
  </View>
@@ -1,5 +1,7 @@
1
1
  import type React from 'react';
2
- import { View, Text, TouchableOpacity } from 'react-native';
2
+ import { View } from 'react-native';
3
+ import { Button } from '@oxy.so/bloom/button';
4
+ import { Text } from '@oxy.so/bloom/typography';
3
5
  import Ionicons from '../../icons/Ionicons';
4
6
 
5
7
  export interface FileLibraryErrorProps {
@@ -11,8 +13,6 @@ export interface FileLibraryErrorProps {
11
13
  iconColor: string;
12
14
  titleColor: string;
13
15
  descriptionColor: string;
14
- /** Retry button background (button label/icon are always white). */
15
- buttonColor: string;
16
16
  }
17
17
 
18
18
  /**
@@ -30,7 +30,6 @@ const FileLibraryError: React.FC<FileLibraryErrorProps> = ({
30
30
  iconColor,
31
31
  titleColor,
32
32
  descriptionColor,
33
- buttonColor,
34
33
  }) => (
35
34
  <View className="items-center py-[40px] px-[24px]">
36
35
  <Ionicons name="cloud-offline-outline" size={64} color={iconColor} />
@@ -40,16 +39,9 @@ const FileLibraryError: React.FC<FileLibraryErrorProps> = ({
40
39
  <Text className="text-[16px] text-center leading-[24px] mb-[32px]" style={{ color: descriptionColor }}>
41
40
  {description}
42
41
  </Text>
43
- <TouchableOpacity
44
- className="flex-row items-center px-[24px] py-[12px] rounded-[24px] gap-[8px]"
45
- style={{ backgroundColor: buttonColor }}
46
- onPress={onRetry}
47
- accessibilityRole="button"
48
- accessibilityLabel={retryLabel}
49
- >
50
- <Ionicons name="refresh" size={20} color="#FFFFFF" />
51
- <Text className="text-white text-[16px] font-semibold">{retryLabel}</Text>
52
- </TouchableOpacity>
42
+ <Button onPress={onRetry} accessibilityLabel={retryLabel}>
43
+ {retryLabel}
44
+ </Button>
53
45
  </View>
54
46
  );
55
47
 
@@ -1,12 +1,7 @@
1
1
  import type React from 'react';
2
- import {
3
- View,
4
- Text,
5
- TouchableOpacity,
6
- ScrollView,
7
- RefreshControl,
8
- ActivityIndicator,
9
- } from 'react-native';
2
+ import { View, ScrollView, RefreshControl, ActivityIndicator } from 'react-native';
3
+ import { Button } from '@oxy.so/bloom/button';
4
+ import { Text } from '@oxy.so/bloom/typography';
10
5
  import Ionicons from '../../icons/Ionicons';
11
6
  import type { FileMetadata } from '@oxy.so/core';
12
7
  import { SettingsListGroup, SettingsListItem } from '@oxy.so/bloom/settings-list';
@@ -88,14 +83,7 @@ const FileListSection: React.FC<FileListSectionProps> = ({
88
83
  <Text className="text-[16px] text-center leading-[24px] mb-space-32" style={{ color: colors.textSecondary }}>
89
84
  {t('fileManagement.noResults.description', { query: searchQuery })}
90
85
  </Text>
91
- <TouchableOpacity
92
- className="flex-row items-center px-space-24 py-space-12 rounded-[24px] gap-space-8"
93
- style={{ backgroundColor: colors.primary }}
94
- onPress={onClearSearch}
95
- >
96
- <Ionicons name="refresh" size={20} color="#FFFFFF" />
97
- <Text className="text-white text-[16px] font-semibold">{t('fileManagement.clearSearch')}</Text>
98
- </TouchableOpacity>
86
+ <Button onPress={onClearSearch}>{t('fileManagement.clearSearch')}</Button>
99
87
  </View>
100
88
  ) : filteredFiles.length === 0 ? renderEmptyState() : (
101
89
  <>
@@ -1,16 +1,6 @@
1
1
  import React, { useCallback, useMemo, useRef, useState } from 'react';
2
- import {
3
- View,
4
- Text,
5
- TouchableOpacity,
6
- ActivityIndicator,
7
- RefreshControl,
8
- FlatList,
9
- Platform,
10
- Animated,
11
- useWindowDimensions,
12
- type LayoutChangeEvent,
13
- } from 'react-native';
2
+ import { View, TouchableOpacity, ActivityIndicator, RefreshControl, FlatList, Platform, Animated, useWindowDimensions, type LayoutChangeEvent } from 'react-native';
3
+ import { Text } from '@oxy.so/bloom/typography';
14
4
  import { Image as ExpoImage } from 'expo-image';
15
5
  import Ionicons from '../../icons/Ionicons';
16
6
  import MaterialCommunityIcons from '../../icons/MaterialCommunityIcons';
@@ -535,7 +525,6 @@ const PhotoPickerView: React.FC<PhotoPickerViewProps> = ({
535
525
  iconColor="#FF6B6B"
536
526
  titleColor="#FFFFFF"
537
527
  descriptionColor="rgba(255,255,255,0.7)"
538
- buttonColor={primaryColor}
539
528
  />
540
529
  </View>
541
530
  ) : isEmpty && loading ? (
@@ -1,69 +1,30 @@
1
1
  import type React from 'react';
2
- import { View, Text, ActivityIndicator, StyleSheet, Platform, type ViewStyle } from 'react-native';
3
- import Ionicons from '../../icons/Ionicons';
2
+ import { View } from 'react-native';
3
+ import { Text } from '@oxy.so/bloom/typography';
4
+ import { Card } from '@oxy.so/bloom/card';
5
+ import { Loading } from '@oxy.so/bloom/loading';
6
+ import { Meter } from '@oxy.so/bloom/stat-bar';
4
7
 
5
8
  export interface UploadBarProps {
6
- /** Aggregate upload progress, or null when indeterminate. */
7
9
  uploadProgress: { current: number; total: number } | null;
8
- /** Bloom dark-mode flag (drives banner + track colors). */
9
- isDark: boolean;
10
- /** Theme colors used by the banner. */
11
- colors: { primary: string; text: string; border: string };
12
10
  t: (key: string, vars?: Record<string, string | number>) => string;
13
11
  }
14
12
 
15
- // The banner drop-shadow has no Bloom/Tailwind token equivalent, so it stays an
16
- // inline style. `boxShadow` on web (RN-Web deprecated the `shadow*` props);
17
- // RN `shadow*`/`elevation` on native.
18
- const shadowStyle = StyleSheet.create({
19
- banner: Platform.select({
20
- web: { boxShadow: '0px 2px 6px rgba(0, 0, 0, 0.1)' },
21
- default: {
22
- shadowColor: '#000',
23
- shadowOpacity: 0.1,
24
- shadowRadius: 6,
25
- shadowOffset: { width: 0, height: 2 },
26
- elevation: 2,
27
- },
28
- }) as ViewStyle,
29
- });
30
-
31
- /**
32
- * The non-blocking "Uploading…" banner overlay shown at the bottom of the file
33
- * manager while uploads are in flight. Purely presentational — the orchestrator
34
- * gates rendering on `!selectMode && uploading`.
35
- */
36
- const UploadBar: React.FC<UploadBarProps> = ({ uploadProgress, isDark, colors, t }) => (
37
- <View
38
- className="absolute top-[72px] left-0 right-0 items-center z-50"
39
- style={{ pointerEvents: 'none' }}
40
- >
41
- <View
42
- className="flex-row items-center px-3.5 py-2.5 rounded-[24px] gap-2.5 border min-w-[200px]"
43
- style={[shadowStyle.banner, { backgroundColor: isDark ? '#222831EE' : '#FFFFFFEE', borderColor: colors.border }]}
44
- >
45
- <Ionicons name="cloud-upload" size={18} color={colors.primary} />
13
+ /** Upload state is app-owned; surface, spinner and determinate meter are Bloom. */
14
+ const UploadBar: React.FC<UploadBarProps> = ({ uploadProgress, t }) => (
15
+ <View pointerEvents="none" className="absolute top-[72px] left-0 right-0 items-center z-50">
16
+ <Card appearance="solid" elevation="s" radius="radius-max" className="flex-row items-center px-3.5 py-2.5 gap-2.5 min-w-[200px]">
46
17
  <View className="flex-1 gap-1.5">
47
- <Text className="text-[13px] font-medium" style={{ color: colors.text }}>
48
- {t('fileManagement.uploading')}{uploadProgress ? ` ${uploadProgress.current}/${uploadProgress.total}` : '...'}
18
+ <Text variant="caption-1-medium">
19
+ {t('fileManagement.uploading')}{uploadProgress ? ` ${uploadProgress.current}/${uploadProgress.total}` : '…'}
49
20
  </Text>
50
- {uploadProgress && uploadProgress.total > 0 && (
51
- <View
52
- className="h-[3px] rounded-[2px] overflow-hidden"
53
- style={{ backgroundColor: isDark ? 'rgba(255,255,255,0.1)' : 'rgba(0,0,0,0.1)' }}
54
- >
55
- <View
56
- className="h-full rounded-[2px]"
57
- style={{
58
- width: `${(uploadProgress.current / uploadProgress.total) * 100}%`,
59
- backgroundColor: colors.primary,
60
- }}
61
- />
62
- </View>
63
- )}
21
+ {uploadProgress && uploadProgress.total > 0 ? (
22
+ <Meter value={uploadProgress.current} max={uploadProgress.total} height={3}
23
+ accessibilityLabel={t('fileManagement.uploading')} />
24
+ ) : null}
64
25
  </View>
65
- <ActivityIndicator size="small" color={colors.primary} />
66
- </View>
26
+ <Loading size="small" />
27
+ </Card>
67
28
  </View>
68
29
  );
69
30
 
@@ -146,7 +146,7 @@ const TrustLeaderboardScreen: React.FC<BaseScreenProps> = ({ navigate }) => {
146
146
  <Text className="text-text-secondary text-base text-center">
147
147
  {error || t('trust.leaderboard.error') || 'Failed to load leaderboard'}
148
148
  </Text>
149
- <Button variant="primary" onPress={loadLeaderboard}>
149
+ <Button appearance="solid" tone="accent" onPress={loadLeaderboard}>
150
150
  {t('common.retry') || 'Retry'}
151
151
  </Button>
152
152
  </View>
@@ -1,6 +1,7 @@
1
1
  import type React from 'react';
2
2
  import { useEffect, useMemo, useState } from 'react';
3
- import { View, Text } from 'react-native';
3
+ import { View } from 'react-native';
4
+ import { Text } from '@oxy.so/bloom/typography';
4
5
  import { SettingsListGroup, SettingsListItem } from '@oxy.so/bloom/settings-list';
5
6
  import { Chip } from '@oxy.so/bloom/chip';
6
7
  import { useTheme } from '@oxy.so/bloom/theme';
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.AnimatedButton = void 0;
7
- var _react = require("react");
8
- var _reactNative = require("react-native");
9
- var _MaterialCommunityIcons = _interopRequireDefault(require("../../icons/MaterialCommunityIcons.js"));
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- /**
13
- * Animated button component for smooth selection transitions
14
- * Used in file management views for view mode toggles
15
- */
16
- const AnimatedButton = ({
17
- isSelected,
18
- onPress,
19
- icon,
20
- primaryColor,
21
- textColor,
22
- style,
23
- accessibilityLabel
24
- }) => {
25
- const animatedValue = (0, _react.useRef)(new _reactNative.Animated.Value(isSelected ? 1 : 0)).current;
26
- (0, _react.useEffect)(() => {
27
- _reactNative.Animated.timing(animatedValue, {
28
- toValue: isSelected ? 1 : 0,
29
- duration: 200,
30
- easing: _reactNative.Easing.out(_reactNative.Easing.ease),
31
- useNativeDriver: false
32
- }).start();
33
- }, [isSelected, animatedValue]);
34
- const backgroundColor = animatedValue.interpolate({
35
- inputRange: [0, 1],
36
- outputRange: ['transparent', primaryColor]
37
- });
38
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
39
- onPress: onPress,
40
- activeOpacity: 0.7,
41
- accessibilityRole: "button",
42
- accessibilityLabel: accessibilityLabel,
43
- accessibilityState: {
44
- selected: isSelected
45
- },
46
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
47
- style: [style, {
48
- backgroundColor
49
- }],
50
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
51
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_MaterialCommunityIcons.default, {
52
- name: icon,
53
- size: 16,
54
- color: isSelected ? '#FFFFFF' : textColor
55
- })
56
- })
57
- })
58
- });
59
- };
60
- exports.AnimatedButton = AnimatedButton;
61
- //# sourceMappingURL=AnimatedButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNative","_MaterialCommunityIcons","_interopRequireDefault","_jsxRuntime","e","__esModule","default","AnimatedButton","isSelected","onPress","icon","primaryColor","textColor","style","accessibilityLabel","animatedValue","useRef","Animated","Value","current","useEffect","timing","toValue","duration","easing","Easing","out","ease","useNativeDriver","start","backgroundColor","interpolate","inputRange","outputRange","jsx","TouchableOpacity","activeOpacity","accessibilityRole","accessibilityState","selected","children","View","name","size","color","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/fileManagement/AnimatedButton.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAwE,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAYxE;AACA;AACA;AACA;AACO,MAAMG,cAA6C,GAAGA,CAAC;EAC5DC,UAAU;EACVC,OAAO;EACPC,IAAI;EACJC,YAAY;EACZC,SAAS;EACTC,KAAK;EACLC;AACF,CAAC,KAAK;EACJ,MAAMC,aAAa,GAAG,IAAAC,aAAM,EAAC,IAAIC,qBAAQ,CAACC,KAAK,CAACV,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAACW,OAAO;EAE5E,IAAAC,gBAAS,EAAC,MAAM;IACdH,qBAAQ,CAACI,MAAM,CAACN,aAAa,EAAE;MAC7BO,OAAO,EAAEd,UAAU,GAAG,CAAC,GAAG,CAAC;MAC3Be,QAAQ,EAAE,GAAG;MACbC,MAAM,EAAEC,mBAAM,CAACC,GAAG,CAACD,mBAAM,CAACE,IAAI,CAAC;MAC/BC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACrB,UAAU,EAAEO,aAAa,CAAC,CAAC;EAE/B,MAAMe,eAAe,GAAGf,aAAa,CAACgB,WAAW,CAAC;IAChDC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,WAAW,EAAE,CAAC,aAAa,EAAEtB,YAAY;EAC3C,CAAC,CAAC;EAEF,oBACE,IAAAR,WAAA,CAAA+B,GAAA,EAAClC,YAAA,CAAAmC,gBAAgB;IACf1B,OAAO,EAAEA,OAAQ;IACjB2B,aAAa,EAAE,GAAI;IACnBC,iBAAiB,EAAC,QAAQ;IAC1BvB,kBAAkB,EAAEA,kBAAmB;IACvCwB,kBAAkB,EAAE;MAAEC,QAAQ,EAAE/B;IAAW,CAAE;IAAAgC,QAAA,eAE7C,IAAArC,WAAA,CAAA+B,GAAA,EAAClC,YAAA,CAAAiB,QAAQ,CAACwB,IAAI;MAAC5B,KAAK,EAAE,CAACA,KAAK,EAAE;QAAEiB;MAAgB,CAAC,CAAE;MAAAU,QAAA,eACjD,IAAArC,WAAA,CAAA+B,GAAA,EAAClC,YAAA,CAAAiB,QAAQ,CAACwB,IAAI;QAAAD,QAAA,eACZ,IAAArC,WAAA,CAAA+B,GAAA,EAACjC,uBAAA,CAAAK,OAAsB;UACrBoC,IAAI,EAAEhC,IAAoE;UAC1EiC,IAAI,EAAE,EAAG;UACTC,KAAK,EAAEpC,UAAU,GAAG,SAAS,GAAGI;QAAU,CAC3C;MAAC,CACW;IAAC,CACH;EAAC,CACA,CAAC;AAEvB,CAAC;AAACiC,OAAA,CAAAtC,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1,118 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _theme = require("@oxy.so/bloom/theme");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
- const PinInput = /*#__PURE__*/(0, _react.forwardRef)(({
13
- value,
14
- onChange,
15
- length = 6,
16
- disabled,
17
- autoFocus,
18
- colors
19
- }, ref) => {
20
- const theme = (0, _theme.useTheme)();
21
- const inputs = (0, _react.useRef)([]);
22
- (0, _react.useImperativeHandle)(ref, () => ({
23
- focus: () => {
24
- inputs.current[0]?.focus();
25
- }
26
- }), []);
27
- const handleChange = (text, idx) => {
28
- if (!/^[0-9]*$/.test(text)) return;
29
- let newValue = value.split('');
30
- if (text.length > 1) {
31
- // Paste or autofill
32
- newValue = text.split('').slice(0, length);
33
- onChange(newValue.join(''));
34
- if (newValue.length < length) {
35
- inputs.current[newValue.length]?.focus();
36
- }
37
- return;
38
- }
39
- newValue[idx] = text;
40
- const joined = newValue.join('').slice(0, length);
41
- onChange(joined);
42
- if (text && idx < length - 1) {
43
- inputs.current[idx + 1]?.focus();
44
- }
45
- };
46
- const handleKeyPress = (e, idx) => {
47
- if (e.nativeEvent.key === 'Backspace' && !value[idx] && idx > 0) {
48
- inputs.current[idx - 1]?.focus();
49
- }
50
- };
51
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
52
- style: styles.pinContainer,
53
- children: Array.from({
54
- length
55
- }).map((_, idx) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput
56
- // biome-ignore lint/suspicious/noArrayIndexKey: fixed-position PIN cells, order never changes
57
- , {
58
- ref: ref => {
59
- inputs.current[idx] = ref;
60
- },
61
- style: [styles.pinInput, {
62
- borderColor: colors.primary,
63
- color: colors.text,
64
- backgroundColor: colors.inputBackground || theme.colors.backgroundSecondary
65
- }, value[idx] ? {
66
- borderWidth: 2
67
- } : {
68
- borderWidth: 1
69
- }],
70
- value: value[idx] || '',
71
- onChangeText: text => handleChange(text, idx),
72
- onKeyPress: e => handleKeyPress(e, idx),
73
- keyboardType: _reactNative.Platform.OS === 'ios' ? 'number-pad' : 'numeric',
74
- maxLength: 1,
75
- editable: !disabled,
76
- autoFocus: autoFocus && idx === 0,
77
- textAlign: "center",
78
- selectionColor: colors.primary,
79
- returnKeyType: "done"
80
- }, `pin-input-${idx}`))
81
- });
82
- });
83
- const styles = _reactNative.StyleSheet.create({
84
- pinContainer: {
85
- flexDirection: 'row',
86
- justifyContent: 'center',
87
- gap: 12,
88
- marginBottom: 0,
89
- marginTop: 0
90
- },
91
- pinInput: {
92
- width: 44,
93
- height: 54,
94
- borderRadius: 12,
95
- borderWidth: 1,
96
- fontSize: 28,
97
- fontWeight: '600',
98
- textAlign: 'center',
99
- marginHorizontal: 2,
100
- ..._reactNative.Platform.select({
101
- web: {
102
- boxShadow: '0 1px 4px rgba(0,0,0,0.04)'
103
- },
104
- default: {
105
- shadowColor: '#000',
106
- shadowOpacity: 0.04,
107
- shadowOffset: {
108
- width: 0,
109
- height: 1
110
- },
111
- shadowRadius: 4,
112
- elevation: 1
113
- }
114
- })
115
- }
116
- });
117
- var _default = exports.default = PinInput;
118
- //# sourceMappingURL=PinInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_theme","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PinInput","forwardRef","value","onChange","length","disabled","autoFocus","colors","ref","theme","useTheme","inputs","useRef","useImperativeHandle","focus","current","handleChange","text","idx","test","newValue","split","slice","join","joined","handleKeyPress","nativeEvent","key","jsx","View","style","styles","pinContainer","children","Array","from","map","_","TextInput","pinInput","borderColor","primary","color","backgroundColor","inputBackground","backgroundSecondary","borderWidth","onChangeText","onKeyPress","keyboardType","Platform","OS","maxLength","editable","textAlign","selectionColor","returnKeyType","StyleSheet","create","flexDirection","justifyContent","gap","marginBottom","marginTop","width","height","borderRadius","fontSize","fontWeight","marginHorizontal","select","web","boxShadow","shadowColor","shadowOpacity","shadowOffset","shadowRadius","elevation","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/internal/PinInput.tsx"],"mappings":"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","ignoreList":[]}