@oxyhq/services 5.26.3 → 5.27.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 (263) hide show
  1. package/dist/web/oxy-services.esm.js +2 -0
  2. package/dist/web/oxy-services.esm.js.map +1 -0
  3. package/dist/web/types/assets/icons/OxyServices.d.ts +28 -0
  4. package/dist/web/types/assets/illustrations/HighFive.d.ts +8 -0
  5. package/dist/web/types/constants/version.d.ts +13 -0
  6. package/dist/web/types/core/AuthManager.d.ts +143 -0
  7. package/dist/web/types/core/CrossDomainAuth.d.ts +160 -0
  8. package/dist/web/types/core/HttpService.d.ts +163 -0
  9. package/dist/web/types/core/OxyServices.base.d.ts +126 -0
  10. package/dist/web/types/core/OxyServices.d.ts +81 -0
  11. package/dist/web/types/core/OxyServices.errors.d.ts +11 -0
  12. package/dist/web/types/core/index.d.ts +20 -0
  13. package/dist/web/types/core/mixins/OxyServices.analytics.d.ts +66 -0
  14. package/dist/web/types/core/mixins/OxyServices.assets.d.ts +135 -0
  15. package/dist/web/types/core/mixins/OxyServices.auth.d.ts +186 -0
  16. package/dist/web/types/core/mixins/OxyServices.developer.d.ts +99 -0
  17. package/dist/web/types/core/mixins/OxyServices.devices.d.ts +96 -0
  18. package/dist/web/types/core/mixins/OxyServices.features.d.ts +228 -0
  19. package/dist/web/types/core/mixins/OxyServices.fedcm.d.ts +200 -0
  20. package/dist/web/types/core/mixins/OxyServices.karma.d.ts +85 -0
  21. package/dist/web/types/core/mixins/OxyServices.language.d.ts +81 -0
  22. package/dist/web/types/core/mixins/OxyServices.location.d.ts +64 -0
  23. package/dist/web/types/core/mixins/OxyServices.payment.d.ts +111 -0
  24. package/dist/web/types/core/mixins/OxyServices.popup.d.ts +205 -0
  25. package/dist/web/types/core/mixins/OxyServices.privacy.d.ts +122 -0
  26. package/dist/web/types/core/mixins/OxyServices.redirect.d.ts +245 -0
  27. package/dist/web/types/core/mixins/OxyServices.security.d.ts +78 -0
  28. package/dist/web/types/core/mixins/OxyServices.user.d.ts +184 -0
  29. package/dist/web/types/core/mixins/OxyServices.utility.d.ts +93 -0
  30. package/dist/web/types/core/mixins/index.d.ts +30 -0
  31. package/dist/web/types/core/mixins/mixinHelpers.d.ts +31 -0
  32. package/dist/web/types/crypto/index.d.ts +11 -0
  33. package/dist/web/types/crypto/keyManager.d.ts +189 -0
  34. package/dist/web/types/crypto/polyfill.d.ts +12 -0
  35. package/dist/web/types/crypto/recoveryPhrase.d.ts +58 -0
  36. package/dist/web/types/crypto/signatureService.d.ts +86 -0
  37. package/dist/web/types/i18n/index.d.ts +3 -0
  38. package/dist/web/types/index.d.ts +62 -0
  39. package/dist/web/types/lib/sonner-safe.d.ts +8 -0
  40. package/dist/web/types/lib/sonner.d.ts +11 -0
  41. package/dist/web/types/lib/sonner.web.d.ts +14 -0
  42. package/dist/web/types/models/interfaces.d.ts +415 -0
  43. package/dist/web/types/models/session.d.ts +27 -0
  44. package/dist/web/types/node/index.d.ts +9 -0
  45. package/dist/web/types/shared/index.d.ts +28 -0
  46. package/dist/web/types/shared/utils/colorUtils.d.ts +104 -0
  47. package/dist/web/types/shared/utils/debugUtils.d.ts +48 -0
  48. package/dist/web/types/shared/utils/errorUtils.d.ts +97 -0
  49. package/dist/web/types/shared/utils/index.d.ts +13 -0
  50. package/dist/web/types/shared/utils/networkUtils.d.ts +139 -0
  51. package/dist/web/types/shared/utils/themeUtils.d.ts +90 -0
  52. package/dist/web/types/ui/client.d.ts +33 -0
  53. package/dist/web/types/ui/components/ActivityIndicator.d.ts +44 -0
  54. package/dist/web/types/ui/components/AnimationExample.d.ts +3 -0
  55. package/dist/web/types/ui/components/AutoHeightScrollView.d.ts +22 -0
  56. package/dist/web/types/ui/components/Avatar.d.ts +60 -0
  57. package/dist/web/types/ui/components/BottomSheet.d.ts +28 -0
  58. package/dist/web/types/ui/components/BottomSheetRouter.d.ts +8 -0
  59. package/dist/web/types/ui/components/CrossFadeIcon.d.ts +26 -0
  60. package/dist/web/types/ui/components/EmptyState.d.ts +7 -0
  61. package/dist/web/types/ui/components/ErrorBoundary.d.ts +30 -0
  62. package/dist/web/types/ui/components/FollowButton.d.ts +17 -0
  63. package/dist/web/types/ui/components/FontLoader.d.ts +14 -0
  64. package/dist/web/types/ui/components/GroupedItem.d.ts +23 -0
  65. package/dist/web/types/ui/components/GroupedSection.d.ts +24 -0
  66. package/dist/web/types/ui/components/Header.d.ts +37 -0
  67. package/dist/web/types/ui/components/HelperText.d.ts +46 -0
  68. package/dist/web/types/ui/components/Icon.d.ts +59 -0
  69. package/dist/web/types/ui/components/IconButton/IconButton.d.ts +98 -0
  70. package/dist/web/types/ui/components/IconButton/utils.d.ts +18 -0
  71. package/dist/web/types/ui/components/LoadingState.d.ts +8 -0
  72. package/dist/web/types/ui/components/OxyLogo.d.ts +28 -0
  73. package/dist/web/types/ui/components/OxyPayButton.d.ts +28 -0
  74. package/dist/web/types/ui/components/OxyProvider.d.ts +33 -0
  75. package/dist/web/types/ui/components/OxySignInButton.d.ts +64 -0
  76. package/dist/web/types/ui/components/ProfileCard.d.ts +17 -0
  77. package/dist/web/types/ui/components/QuickActions.d.ts +14 -0
  78. package/dist/web/types/ui/components/Section.d.ts +11 -0
  79. package/dist/web/types/ui/components/SectionTitle.d.ts +9 -0
  80. package/dist/web/types/ui/components/SettingRow.d.ts +19 -0
  81. package/dist/web/types/ui/components/SignInModal.d.ts +17 -0
  82. package/dist/web/types/ui/components/StepBasedScreen.d.ts +25 -0
  83. package/dist/web/types/ui/components/Surface.d.ts +75 -0
  84. package/dist/web/types/ui/components/TextField/Addons/Outline.d.ts +15 -0
  85. package/dist/web/types/ui/components/TextField/Addons/Underline.d.ts +18 -0
  86. package/dist/web/types/ui/components/TextField/Adornment/TextFieldAdornment.d.ts +44 -0
  87. package/dist/web/types/ui/components/TextField/Adornment/TextFieldAffix.d.ts +72 -0
  88. package/dist/web/types/ui/components/TextField/Adornment/TextFieldIcon.d.ts +77 -0
  89. package/dist/web/types/ui/components/TextField/Adornment/enums.d.ts +12 -0
  90. package/dist/web/types/ui/components/TextField/Adornment/types.d.ts +11 -0
  91. package/dist/web/types/ui/components/TextField/Adornment/utils.d.ts +11 -0
  92. package/dist/web/types/ui/components/TextField/Label/InputLabel.d.ts +4 -0
  93. package/dist/web/types/ui/components/TextField/Label/LabelBackground.d.ts +3 -0
  94. package/dist/web/types/ui/components/TextField/TextFieldFlat.d.ts +3 -0
  95. package/dist/web/types/ui/components/TextField/TextFieldOutlined.d.ts +3 -0
  96. package/dist/web/types/ui/components/TextField/constants.d.ts +31 -0
  97. package/dist/web/types/ui/components/TextField/helpers.d.ts +96 -0
  98. package/dist/web/types/ui/components/TextField/types.d.ts +155 -0
  99. package/dist/web/types/ui/components/TextField.d.ts +191 -0
  100. package/dist/web/types/ui/components/TouchableRipple/Pressable.d.ts +12 -0
  101. package/dist/web/types/ui/components/TouchableRipple/TouchableRipple.d.ts +61 -0
  102. package/dist/web/types/ui/components/TouchableRipple/utils.d.ts +10 -0
  103. package/dist/web/types/ui/components/Typography/AnimatedText.d.ts +34 -0
  104. package/dist/web/types/ui/components/Typography/types.d.ts +18 -0
  105. package/dist/web/types/ui/components/WebOxyProvider.d.ts +51 -0
  106. package/dist/web/types/ui/components/feedback/FormInput.d.ts +19 -0
  107. package/dist/web/types/ui/components/feedback/ProgressIndicator.d.ts +10 -0
  108. package/dist/web/types/ui/components/feedback/constants.d.ts +4 -0
  109. package/dist/web/types/ui/components/feedback/feedbackStyles.d.ts +279 -0
  110. package/dist/web/types/ui/components/feedback/index.d.ts +6 -0
  111. package/dist/web/types/ui/components/feedback/types.d.ts +45 -0
  112. package/dist/web/types/ui/components/feedback/useFeedbackForm.d.ts +8 -0
  113. package/dist/web/types/ui/components/fileManagement/AnimatedButton.d.ts +15 -0
  114. package/dist/web/types/ui/components/fileManagement/FileDetailsModal.d.ts +14 -0
  115. package/dist/web/types/ui/components/fileManagement/FileViewer.d.ts +17 -0
  116. package/dist/web/types/ui/components/fileManagement/UploadPreview.d.ts +20 -0
  117. package/dist/web/types/ui/components/fileManagement/styles.d.ts +859 -0
  118. package/dist/web/types/ui/components/icon/FAIRWalletIcon.d.ts +8 -0
  119. package/dist/web/types/ui/components/icon/OxyIcon.d.ts +9 -0
  120. package/dist/web/types/ui/components/icon/index.d.ts +3 -0
  121. package/dist/web/types/ui/components/index.d.ts +16 -0
  122. package/dist/web/types/ui/components/internal/GroupedPillButtons.d.ts +17 -0
  123. package/dist/web/types/ui/components/internal/PinInput.d.ts +22 -0
  124. package/dist/web/types/ui/components/modals/DeleteAccountModal.d.ts +18 -0
  125. package/dist/web/types/ui/components/modals/index.d.ts +1 -0
  126. package/dist/web/types/ui/components/payment/PaymentDetailsStep.d.ts +20 -0
  127. package/dist/web/types/ui/components/payment/PaymentMethodStep.d.ts +13 -0
  128. package/dist/web/types/ui/components/payment/PaymentReviewStep.d.ts +15 -0
  129. package/dist/web/types/ui/components/payment/PaymentSuccessStep.d.ts +9 -0
  130. package/dist/web/types/ui/components/payment/PaymentSummaryStep.d.ts +14 -0
  131. package/dist/web/types/ui/components/payment/constants.d.ts +6 -0
  132. package/dist/web/types/ui/components/payment/index.d.ts +8 -0
  133. package/dist/web/types/ui/components/payment/paymentStyles.d.ts +395 -0
  134. package/dist/web/types/ui/components/payment/types.d.ts +39 -0
  135. package/dist/web/types/ui/components/photogrid/JustifiedPhotoGrid.d.ts +26 -0
  136. package/dist/web/types/ui/components/styles/overlay.d.ts +3 -0
  137. package/dist/web/types/ui/components/styles/shadow.d.ts +2 -0
  138. package/dist/web/types/ui/components/theming.d.ts +7 -0
  139. package/dist/web/types/ui/components/types.d.ts +79 -0
  140. package/dist/web/types/ui/components/utils/forwardRef.d.ts +11 -0
  141. package/dist/web/types/ui/components/utils/hasTouchHandler.d.ts +5 -0
  142. package/dist/web/types/ui/components/utils/roundLayoutSize.d.ts +1 -0
  143. package/dist/web/types/ui/components/utils/splitStyles.d.ts +19 -0
  144. package/dist/web/types/ui/constants/iconColors.d.ts +129 -0
  145. package/dist/web/types/ui/constants/spacing.d.ts +32 -0
  146. package/dist/web/types/ui/constants/theme.d.ts +96 -0
  147. package/dist/web/types/ui/context/OxyContext.d.ts +74 -0
  148. package/dist/web/types/ui/context/ThemeContext.d.ts +18 -0
  149. package/dist/web/types/ui/context/hooks/useAuthOperations.d.ts +39 -0
  150. package/dist/web/types/ui/context/hooks/useDeviceManagement.d.ts +26 -0
  151. package/dist/web/types/ui/context/hooks/useLanguageManagement.d.ts +24 -0
  152. package/dist/web/types/ui/context/hooks/useSessionManagement.d.ts +40 -0
  153. package/dist/web/types/ui/hooks/index.d.ts +6 -0
  154. package/dist/web/types/ui/hooks/mutations/index.d.ts +8 -0
  155. package/dist/web/types/ui/hooks/mutations/mutationFactory.d.ts +75 -0
  156. package/dist/web/types/ui/hooks/mutations/useAccountMutations.d.ts +68 -0
  157. package/dist/web/types/ui/hooks/mutations/useServicesMutations.d.ts +22 -0
  158. package/dist/web/types/ui/hooks/queries/index.d.ts +10 -0
  159. package/dist/web/types/ui/hooks/queries/queryKeys.d.ts +64 -0
  160. package/dist/web/types/ui/hooks/queries/useAccountQueries.d.ts +42 -0
  161. package/dist/web/types/ui/hooks/queries/useSecurityQueries.d.ts +14 -0
  162. package/dist/web/types/ui/hooks/queries/useServicesQueries.d.ts +31 -0
  163. package/dist/web/types/ui/hooks/queryClient.d.ts +18 -0
  164. package/dist/web/types/ui/hooks/useAssets.d.ts +34 -0
  165. package/dist/web/types/ui/hooks/useAsyncAction.d.ts +50 -0
  166. package/dist/web/types/ui/hooks/useAuth.d.ts +73 -0
  167. package/dist/web/types/ui/hooks/useColorScheme.d.ts +7 -0
  168. package/dist/web/types/ui/hooks/useDeviceManagement.d.ts +26 -0
  169. package/dist/web/types/ui/hooks/useFileDownloadUrl.d.ts +18 -0
  170. package/dist/web/types/ui/hooks/useFileFiltering.d.ts +28 -0
  171. package/dist/web/types/ui/hooks/useFollow.d.ts +61 -0
  172. package/dist/web/types/ui/hooks/useFollow.types.d.ts +32 -0
  173. package/dist/web/types/ui/hooks/useI18n.d.ts +4 -0
  174. package/dist/web/types/ui/hooks/useLanguageManagement.d.ts +24 -0
  175. package/dist/web/types/ui/hooks/useProfileEditing.d.ts +35 -0
  176. package/dist/web/types/ui/hooks/useQueryClient.d.ts +6 -0
  177. package/dist/web/types/ui/hooks/useSessionManagement.d.ts +40 -0
  178. package/dist/web/types/ui/hooks/useSessionSocket.d.ts +13 -0
  179. package/dist/web/types/ui/hooks/useSettingToggle.d.ts +56 -0
  180. package/dist/web/types/ui/hooks/useStorage.d.ts +15 -0
  181. package/dist/web/types/ui/hooks/useThemeColors.d.ts +93 -0
  182. package/dist/web/types/ui/hooks/useThemeStyles.d.ts +44 -0
  183. package/dist/web/types/ui/hooks/useWebSSO.d.ts +57 -0
  184. package/dist/web/types/ui/index.d.ts +7 -0
  185. package/dist/web/types/ui/isFrontend.d.ts +2 -0
  186. package/dist/web/types/ui/navigation/bottomSheetManager.d.ts +26 -0
  187. package/dist/web/types/ui/navigation/routes.d.ts +5 -0
  188. package/dist/web/types/ui/screens/AccountCenterScreen.d.ts +4 -0
  189. package/dist/web/types/ui/screens/AccountOverviewScreen.d.ts +4 -0
  190. package/dist/web/types/ui/screens/AccountSettingsScreen.d.ts +7 -0
  191. package/dist/web/types/ui/screens/AccountSwitcherScreen.d.ts +4 -0
  192. package/dist/web/types/ui/screens/AccountVerificationScreen.d.ts +4 -0
  193. package/dist/web/types/ui/screens/AppInfoScreen.d.ts +4 -0
  194. package/dist/web/types/ui/screens/EditProfileFieldScreen.d.ts +12 -0
  195. package/dist/web/types/ui/screens/FAQScreen.d.ts +4 -0
  196. package/dist/web/types/ui/screens/FeedbackScreen.d.ts +4 -0
  197. package/dist/web/types/ui/screens/FileManagementScreen.d.ts +4 -0
  198. package/dist/web/types/ui/screens/FollowersListScreen.d.ts +8 -0
  199. package/dist/web/types/ui/screens/FollowingListScreen.d.ts +8 -0
  200. package/dist/web/types/ui/screens/HelpSupportScreen.d.ts +4 -0
  201. package/dist/web/types/ui/screens/HistoryViewScreen.d.ts +4 -0
  202. package/dist/web/types/ui/screens/LanguageSelectorScreen.d.ts +6 -0
  203. package/dist/web/types/ui/screens/LearnMoreUsernamesScreen.d.ts +4 -0
  204. package/dist/web/types/ui/screens/LegalDocumentsScreen.d.ts +4 -0
  205. package/dist/web/types/ui/screens/OxyAuthScreen.d.ts +16 -0
  206. package/dist/web/types/ui/screens/PaymentGatewayScreen.d.ts +14 -0
  207. package/dist/web/types/ui/screens/PremiumSubscriptionScreen.d.ts +4 -0
  208. package/dist/web/types/ui/screens/PrivacySettingsScreen.d.ts +4 -0
  209. package/dist/web/types/ui/screens/ProfileScreen.d.ts +8 -0
  210. package/dist/web/types/ui/screens/SavesCollectionsScreen.d.ts +4 -0
  211. package/dist/web/types/ui/screens/SearchSettingsScreen.d.ts +4 -0
  212. package/dist/web/types/ui/screens/SessionManagementScreen.d.ts +4 -0
  213. package/dist/web/types/ui/screens/UserLinksScreen.d.ts +14 -0
  214. package/dist/web/types/ui/screens/UserListScreen.d.ts +10 -0
  215. package/dist/web/types/ui/screens/WelcomeNewUserScreen.d.ts +12 -0
  216. package/dist/web/types/ui/screens/karma/KarmaAboutScreen.d.ts +4 -0
  217. package/dist/web/types/ui/screens/karma/KarmaCenterScreen.d.ts +4 -0
  218. package/dist/web/types/ui/screens/karma/KarmaFAQScreen.d.ts +4 -0
  219. package/dist/web/types/ui/screens/karma/KarmaLeaderboardScreen.d.ts +4 -0
  220. package/dist/web/types/ui/screens/karma/KarmaRewardsScreen.d.ts +4 -0
  221. package/dist/web/types/ui/screens/karma/KarmaRulesScreen.d.ts +4 -0
  222. package/dist/web/types/ui/server.d.ts +42 -0
  223. package/dist/web/types/ui/stores/accountStore.d.ts +33 -0
  224. package/dist/web/types/ui/stores/assetStore.d.ts +53 -0
  225. package/dist/web/types/ui/stores/authStore.d.ts +16 -0
  226. package/dist/web/types/ui/stores/fileStore.d.ts +30 -0
  227. package/dist/web/types/ui/stores/followStore.d.ts +24 -0
  228. package/dist/web/types/ui/styles/authStyles.d.ts +331 -0
  229. package/dist/web/types/ui/styles/fonts.d.ts +20 -0
  230. package/dist/web/types/ui/styles/index.d.ts +4 -0
  231. package/dist/web/types/ui/styles/spacing.d.ts +48 -0
  232. package/dist/web/types/ui/styles/theme.d.ts +67 -0
  233. package/dist/web/types/ui/types/fileManagement.d.ts +40 -0
  234. package/dist/web/types/ui/types/navigation.d.ts +36 -0
  235. package/dist/web/types/ui/utils/authHelpers.d.ts +98 -0
  236. package/dist/web/types/ui/utils/avatarUtils.d.ts +33 -0
  237. package/dist/web/types/ui/utils/colorUtils.d.ts +9 -0
  238. package/dist/web/types/ui/utils/confirmAction.d.ts +6 -0
  239. package/dist/web/types/ui/utils/errorHandlers.d.ts +34 -0
  240. package/dist/web/types/ui/utils/fileManagement.d.ts +86 -0
  241. package/dist/web/types/ui/utils/iconNames.d.ts +111 -0
  242. package/dist/web/types/ui/utils/sessionHelpers.d.ts +63 -0
  243. package/dist/web/types/ui/utils/storageHelpers.d.ts +27 -0
  244. package/dist/web/types/ui/utils/themeUtils.d.ts +10 -0
  245. package/dist/web/types/ui/utils/userUtils.d.ts +28 -0
  246. package/dist/web/types/utils/apiUtils.d.ts +53 -0
  247. package/dist/web/types/utils/asyncUtils.d.ts +58 -0
  248. package/dist/web/types/utils/cache.d.ts +127 -0
  249. package/dist/web/types/utils/deviceManager.d.ts +65 -0
  250. package/dist/web/types/utils/errorUtils.d.ts +46 -0
  251. package/dist/web/types/utils/hookUtils.d.ts +101 -0
  252. package/dist/web/types/utils/index.d.ts +6 -0
  253. package/dist/web/types/utils/languageUtils.d.ts +37 -0
  254. package/dist/web/types/utils/loggerUtils.d.ts +48 -0
  255. package/dist/web/types/utils/platform.d.ts +40 -0
  256. package/dist/web/types/utils/platformInit.d.ts +8 -0
  257. package/dist/web/types/utils/requestUtils.d.ts +123 -0
  258. package/dist/web/types/utils/sessionUtils.d.ts +54 -0
  259. package/dist/web/types/utils/validationUtils.d.ts +85 -0
  260. package/dist/web/types/web/WebOxyContext.d.ts +151 -0
  261. package/dist/web/types/web/index.d.ts +52 -0
  262. package/dist/web/types/web.d.ts +53 -0
  263. package/package.json +77 -35
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ interface GroupedSectionItem {
3
+ id: string;
4
+ icon?: string;
5
+ iconColor?: string;
6
+ title: string;
7
+ subtitle?: string;
8
+ onPress?: () => void;
9
+ showChevron?: boolean;
10
+ disabled?: boolean;
11
+ customContent?: React.ReactNode;
12
+ customIcon?: React.ReactNode;
13
+ multiRow?: boolean;
14
+ dense?: boolean;
15
+ customContentBelow?: React.ReactNode;
16
+ }
17
+ interface GroupedSectionProps {
18
+ items: GroupedSectionItem[];
19
+ }
20
+ export declare const GroupedSection: React.MemoExoticComponent<{
21
+ ({ items }: GroupedSectionProps): import("react/jsx-runtime").JSX.Element;
22
+ displayName: string;
23
+ }>;
24
+ export default GroupedSection;
@@ -0,0 +1,37 @@
1
+ import type React from 'react';
2
+ import { type SharedValue } from 'react-native-reanimated';
3
+ export declare const getHeaderHeight: (variant?: HeaderProps["variant"], safeAreaTop?: number) => number;
4
+ export interface HeaderProps {
5
+ title: string;
6
+ subtitle?: string;
7
+ onBack?: () => void;
8
+ onClose?: () => void;
9
+ rightAction?: {
10
+ icon?: string;
11
+ onPress: () => void;
12
+ loading?: boolean;
13
+ disabled?: boolean;
14
+ text?: string;
15
+ key?: string;
16
+ };
17
+ rightActions?: Array<{
18
+ icon?: string;
19
+ onPress: () => void;
20
+ loading?: boolean;
21
+ disabled?: boolean;
22
+ text?: string;
23
+ key?: string;
24
+ }>;
25
+ theme?: 'light' | 'dark';
26
+ showBackButton?: boolean;
27
+ showCloseButton?: boolean;
28
+ showThemeToggle?: boolean;
29
+ onThemeToggle?: () => void;
30
+ variant?: 'default' | 'large' | 'minimal' | 'gradient';
31
+ elevation?: 'none' | 'subtle' | 'prominent';
32
+ subtitleVariant?: 'default' | 'small' | 'large' | 'muted';
33
+ titleAlignment?: 'left' | 'center' | 'right';
34
+ scrollY?: SharedValue<number>;
35
+ }
36
+ declare const Header: React.FC<HeaderProps>;
37
+ export default Header;
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+ import { LayoutChangeEvent, StyleProp, TextStyle } from 'react-native';
3
+ export type HelperTextProps = {
4
+ /**
5
+ * Type of the helper text.
6
+ */
7
+ type?: 'error' | 'info';
8
+ /**
9
+ * Text content of the HelperText.
10
+ */
11
+ children: React.ReactNode;
12
+ /**
13
+ * Whether to display the helper text.
14
+ */
15
+ visible?: boolean;
16
+ /**
17
+ * Whether to apply padding to the helper text.
18
+ */
19
+ padding?: 'none' | 'normal';
20
+ /**
21
+ * Whether the text input tied with helper text is disabled.
22
+ */
23
+ disabled?: boolean;
24
+ style?: StyleProp<TextStyle>;
25
+ /**
26
+ * Theme to use ('light' | 'dark')
27
+ */
28
+ theme?: 'light' | 'dark';
29
+ /**
30
+ * TestID used for testing purposes
31
+ */
32
+ testID?: string;
33
+ /**
34
+ * Callback when layout changes
35
+ */
36
+ onLayout?: (event: LayoutChangeEvent) => void;
37
+ /**
38
+ * Maximum font size multiplier
39
+ */
40
+ maxFontSizeMultiplier?: number;
41
+ };
42
+ /**
43
+ * Helper text is used in conjunction with input elements to provide additional hints for the user.
44
+ */
45
+ declare const HelperText: ({ style, type, visible, theme: themeProp, onLayout, padding, disabled, maxFontSizeMultiplier, ...rest }: HelperTextProps) => import("react/jsx-runtime").JSX.Element;
46
+ export default HelperText;
@@ -0,0 +1,59 @@
1
+ import * as React from 'react';
2
+ import { ImageSourcePropType } from 'react-native';
3
+ import type { ThemeProp } from './types';
4
+ type IconSourceBase = string | ImageSourcePropType;
5
+ export type IconSource = IconSourceBase | Readonly<{
6
+ source: IconSourceBase;
7
+ direction: 'rtl' | 'ltr' | 'auto';
8
+ }> | ((props: IconProps & {
9
+ color: string;
10
+ }) => React.ReactNode);
11
+ type IconProps = {
12
+ /**
13
+ * Size of icon.
14
+ */
15
+ size: number;
16
+ allowFontScaling?: boolean;
17
+ style?: any;
18
+ };
19
+ export declare const isValidIcon: (source: any) => boolean;
20
+ export declare const isEqualIcon: (a: any, b: any) => boolean;
21
+ export type Props = IconProps & {
22
+ /**
23
+ * Icon to display.
24
+ */
25
+ source: any;
26
+ /**
27
+ * Color of the icon.
28
+ */
29
+ color?: string;
30
+ /**
31
+ * TestID used for testing purposes
32
+ */
33
+ testID?: string;
34
+ /**
35
+ * @optional
36
+ */
37
+ theme?: ThemeProp;
38
+ };
39
+ /**
40
+ * An icon component which renders icon from vector library.
41
+ *
42
+ * ## Usage
43
+ * ```js
44
+ * import * as React from 'react';
45
+ * import { Icon, MD3Colors } from 'react-native-paper';
46
+ *
47
+ * const MyComponent = () => (
48
+ * <Icon
49
+ * source="camera"
50
+ * color={MD3Colors.error50}
51
+ * size={20}
52
+ * />
53
+ * );
54
+ *
55
+ * export default MyComponent;
56
+ * ```
57
+ */
58
+ declare const Icon: ({ source, color, size, theme: themeOverrides, testID, ...rest }: Props) => any;
59
+ export default Icon;
@@ -0,0 +1,98 @@
1
+ import * as React from 'react';
2
+ import { GestureResponderEvent, StyleProp, ViewStyle, View, Animated, ColorValue } from 'react-native';
3
+ import type { $RemoveChildren, ThemeProp } from "../types";
4
+ import { IconSource } from '../Icon';
5
+ import TouchableRipple from '../TouchableRipple/TouchableRipple';
6
+ type IconButtonMode = 'outlined' | 'contained' | 'contained-tonal';
7
+ export type Props = Omit<$RemoveChildren<typeof TouchableRipple>, 'style'> & {
8
+ /**
9
+ * Icon to display.
10
+ */
11
+ icon: IconSource;
12
+ /**
13
+ * @supported Available in v5.x with theme version 3
14
+ * Mode of the icon button. By default there is no specified mode - only pressable icon will be rendered.
15
+ */
16
+ mode?: IconButtonMode;
17
+ /**
18
+ * @renamed Renamed from 'color' to 'iconColor' in v5.x
19
+ * Color of the icon.
20
+ */
21
+ iconColor?: string;
22
+ /**
23
+ * Background color of the icon container.
24
+ */
25
+ containerColor?: string;
26
+ /**
27
+ * Color of the ripple effect.
28
+ */
29
+ rippleColor?: ColorValue;
30
+ /**
31
+ * @supported Available in v5.x with theme version 3
32
+ * Whether icon button is selected. A selected button receives alternative combination of icon and container colors.
33
+ */
34
+ selected?: boolean;
35
+ /**
36
+ * Size of the icon.
37
+ */
38
+ size?: number;
39
+ /**
40
+ * Whether the button is disabled. A disabled button is greyed out and `onPress` is not called on touch.
41
+ */
42
+ disabled?: boolean;
43
+ /**
44
+ * Whether an icon change is animated.
45
+ */
46
+ animated?: boolean;
47
+ /**
48
+ * Accessibility label for the button. This is read by the screen reader when the user taps the button.
49
+ */
50
+ accessibilityLabel?: string;
51
+ /**
52
+ * Style of button's inner content.
53
+ * Use this prop to apply custom height and width or to set a custom padding`.
54
+ */
55
+ contentStyle?: StyleProp<ViewStyle>;
56
+ /**
57
+ * Function to execute on press.
58
+ */
59
+ onPress?: (e: GestureResponderEvent) => void;
60
+ style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;
61
+ ref?: React.RefObject<View>;
62
+ /**
63
+ * TestID used for testing purposes
64
+ */
65
+ testID?: string;
66
+ /**
67
+ * @optional
68
+ */
69
+ theme?: ThemeProp;
70
+ /**
71
+ * Whether to show a loading indicator.
72
+ */
73
+ loading?: boolean;
74
+ };
75
+ /**
76
+ * An icon button is a button which displays only an icon without a label.
77
+ *
78
+ * ## Usage
79
+ * ```js
80
+ * import * as React from 'react';
81
+ * import { IconButton, MD3Colors } from 'react-native-paper';
82
+ *
83
+ * const MyComponent = () => (
84
+ * <IconButton
85
+ * icon="camera"
86
+ * iconColor={MD3Colors.error50}
87
+ * size={20}
88
+ * onPress={() => console.log('Pressed')}
89
+ * />
90
+ * );
91
+ *
92
+ * export default MyComponent;
93
+ * ```
94
+ *
95
+ * @extends TouchableRipple props https://callstack.github.io/react-native-paper/docs/components/TouchableRipple
96
+ */
97
+ declare const IconButton: import("../utils/forwardRef").ForwardRefComponent<View, Props>;
98
+ export default IconButton;
@@ -0,0 +1,18 @@
1
+ import type { ColorValue } from 'react-native';
2
+ import type { InternalTheme } from "../types";
3
+ type IconButtonMode = 'outlined' | 'contained' | 'contained-tonal';
4
+ export declare const getIconButtonColor: ({ theme, disabled, mode, selected, customIconColor, customContainerColor, customRippleColor, }: {
5
+ theme: InternalTheme;
6
+ disabled?: boolean;
7
+ selected?: boolean;
8
+ mode?: IconButtonMode;
9
+ customIconColor?: string;
10
+ customContainerColor?: string;
11
+ customRippleColor?: ColorValue;
12
+ }) => {
13
+ iconColor: string;
14
+ backgroundColor: string | undefined;
15
+ rippleColor: ColorValue;
16
+ borderColor: string | undefined;
17
+ };
18
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ export interface LoadingStateProps {
3
+ message?: string;
4
+ color?: string;
5
+ size?: 'small' | 'large';
6
+ }
7
+ declare const _default: React.NamedExoticComponent<LoadingStateProps>;
8
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import type React from 'react';
2
+ import type { ViewStyle } from 'react-native';
3
+ interface OxyLogoProps {
4
+ width?: number;
5
+ height?: number;
6
+ style?: ViewStyle;
7
+ /**
8
+ * Primary fill color for the logo
9
+ * If not provided, the theme's primary color will be used
10
+ */
11
+ fillColor?: string;
12
+ /**
13
+ * Secondary fill color for the inner glow effect
14
+ * If not provided, a lighter shade of the fillColor will be used
15
+ */
16
+ secondaryFillColor?: string;
17
+ /**
18
+ * Theme to use for the logo colors
19
+ * @default 'light'
20
+ */
21
+ theme?: 'light' | 'dark';
22
+ }
23
+ /**
24
+ * SVG logo component for Oxy
25
+ * This component renders the Oxy logo as an SVG and uses theme colors by default
26
+ */
27
+ export declare const OxyLogo: React.FC<OxyLogoProps>;
28
+ export default OxyLogo;
@@ -0,0 +1,28 @@
1
+ import type React from 'react';
2
+ import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
3
+ import type { PaymentItem, PaymentGatewayResult } from '../screens/PaymentGatewayScreen';
4
+ export interface OxyPayButtonProps {
5
+ style?: StyleProp<ViewStyle>;
6
+ textStyle?: StyleProp<TextStyle>;
7
+ text?: string;
8
+ disabled?: boolean;
9
+ amount: number | string;
10
+ currency?: string;
11
+ paymentItems?: PaymentItem[];
12
+ description?: string;
13
+ onPaymentResult?: (result: PaymentGatewayResult) => void;
14
+ /**
15
+ * Button background color. If not provided, uses variant ('white' or 'black').
16
+ */
17
+ color?: string;
18
+ /**
19
+ * Button color variant: 'white' (default) or 'black'. Ignored if color is set.
20
+ */
21
+ variant?: 'white' | 'black';
22
+ }
23
+ /**
24
+ * A pre-styled button for OxyPay payments that opens the Payment Gateway
25
+ * - Only black or white by default, but can be customized with the color prop.
26
+ */
27
+ declare const OxyPayButton: React.FC<OxyPayButtonProps>;
28
+ export default OxyPayButton;
@@ -0,0 +1,33 @@
1
+ import { type FC } from 'react';
2
+ import type { OxyProviderProps } from '../types/navigation';
3
+ /**
4
+ * OxyProvider - Universal provider for Expo apps (native + web)
5
+ *
6
+ * Zero-config authentication and session management:
7
+ * - Native (iOS/Android): Keychain-based identity, bottom sheet auth UI
8
+ * - Web: FedCM cross-domain SSO, popup fallback
9
+ *
10
+ * Usage:
11
+ * ```tsx
12
+ * import { OxyProvider, useAuth } from '@oxyhq/services';
13
+ *
14
+ * function App() {
15
+ * return (
16
+ * <OxyProvider baseURL="https://api.oxy.so">
17
+ * <YourApp />
18
+ * </OxyProvider>
19
+ * );
20
+ * }
21
+ *
22
+ * function MyComponent() {
23
+ * const { isAuthenticated, user, signIn, signOut } = useAuth();
24
+ *
25
+ * if (!isAuthenticated) {
26
+ * return <OxySignInButton />;
27
+ * }
28
+ * return <Text>Welcome, {user?.username}!</Text>;
29
+ * }
30
+ * ```
31
+ */
32
+ declare const OxyProvider: FC<OxyProviderProps>;
33
+ export default OxyProvider;
@@ -0,0 +1,64 @@
1
+ import type React from 'react';
2
+ import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
3
+ export interface OxySignInButtonProps {
4
+ /**
5
+ * Controls the appearance of the button
6
+ * @default 'default'
7
+ */
8
+ variant?: 'default' | 'outline' | 'contained';
9
+ /**
10
+ * Optional function to handle button press
11
+ * If not provided, the button will use the showBottomSheet method from OxyContext
12
+ */
13
+ onPress?: () => void;
14
+ /**
15
+ * Additional styles for the button container
16
+ */
17
+ style?: StyleProp<ViewStyle>;
18
+ /**
19
+ * Additional styles for the button text
20
+ */
21
+ textStyle?: StyleProp<TextStyle>;
22
+ /**
23
+ * Custom button text
24
+ * @default 'Sign in with Oxy'
25
+ */
26
+ text?: string;
27
+ /**
28
+ * Whether to disable the button
29
+ * @default false
30
+ */
31
+ disabled?: boolean;
32
+ /**
33
+ * Whether to show the button even if user is already authenticated
34
+ * @default false
35
+ */
36
+ showWhenAuthenticated?: boolean;
37
+ }
38
+ /**
39
+ * A pre-styled button component for signing in with Oxy identity
40
+ *
41
+ * This component opens the Oxy Auth flow which allows users to authenticate
42
+ * using their Oxy Accounts identity (via QR code or deep link).
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * // Basic usage
47
+ * <OxySignInButton />
48
+ *
49
+ * // Custom styling
50
+ * <OxySignInButton
51
+ * variant="contained"
52
+ * style={{ marginTop: 20 }}
53
+ * text="Login with Oxy"
54
+ * />
55
+ *
56
+ * // Custom handler
57
+ * <OxySignInButton onPress={() => {
58
+ * // Custom authentication flow
59
+ * console.log('Custom auth flow initiated');
60
+ * }} />
61
+ * ```
62
+ */
63
+ export declare const OxySignInButton: React.FC<OxySignInButtonProps>;
64
+ export default OxySignInButton;
@@ -0,0 +1,17 @@
1
+ import type React from 'react';
2
+ interface ProfileCardProps {
3
+ user: {
4
+ username: string;
5
+ email?: string;
6
+ name?: {
7
+ full?: string;
8
+ };
9
+ avatar?: string;
10
+ };
11
+ theme: 'light' | 'dark';
12
+ onEditPress?: () => void;
13
+ onClosePress?: () => void;
14
+ showCloseButton?: boolean;
15
+ }
16
+ declare const ProfileCard: React.FC<ProfileCardProps>;
17
+ export default ProfileCard;
@@ -0,0 +1,14 @@
1
+ import type React from 'react';
2
+ interface QuickAction {
3
+ id: string;
4
+ icon: string;
5
+ iconColor: string;
6
+ title: string;
7
+ onPress: () => void;
8
+ }
9
+ interface QuickActionsProps {
10
+ actions: QuickAction[];
11
+ theme: 'light' | 'dark';
12
+ }
13
+ declare const QuickActions: React.FC<QuickActionsProps>;
14
+ export default QuickActions;
@@ -0,0 +1,11 @@
1
+ import type React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ interface SectionProps {
4
+ title?: string;
5
+ theme?: 'light' | 'dark';
6
+ children: React.ReactNode;
7
+ isFirst?: boolean;
8
+ style?: StyleProp<ViewStyle>;
9
+ }
10
+ declare const Section: React.FC<SectionProps>;
11
+ export default Section;
@@ -0,0 +1,9 @@
1
+ import type React from 'react';
2
+ import { type StyleProp, type TextStyle } from 'react-native';
3
+ interface SectionTitleProps {
4
+ title: string;
5
+ theme?: 'light' | 'dark';
6
+ style?: StyleProp<TextStyle>;
7
+ }
8
+ declare const SectionTitle: React.FC<SectionTitleProps>;
9
+ export default SectionTitle;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ export interface SettingRowProps {
3
+ title: string;
4
+ description?: string;
5
+ value: boolean;
6
+ onValueChange: (value: boolean) => void;
7
+ disabled?: boolean;
8
+ textColor?: string;
9
+ mutedTextColor?: string;
10
+ borderColor?: string;
11
+ /** Active color for the switch track (default: #d169e5) */
12
+ activeColor?: string;
13
+ /** Inactive color for the switch track (default: #767577) */
14
+ inactiveColor?: string;
15
+ /** Accessibility label for the switch */
16
+ accessibilityLabel?: string;
17
+ }
18
+ declare const _default: React.NamedExoticComponent<SettingRowProps>;
19
+ export default _default;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SignInModal - Full screen sign-in modal with QR code
3
+ *
4
+ * A semi-transparent full-screen modal that displays:
5
+ * - QR code for scanning with Oxy Accounts app
6
+ * - Button to open Oxy Auth popup
7
+ *
8
+ * Animates with fade-in effect.
9
+ */
10
+ import React from 'react';
11
+ export declare const showSignInModal: () => void;
12
+ export declare const hideSignInModal: () => void;
13
+ export declare const isSignInModalVisible: () => boolean;
14
+ /** Subscribe to modal visibility changes */
15
+ export declare const subscribeToSignInModal: (listener: (visible: boolean) => void) => (() => void);
16
+ declare const SignInModal: React.FC;
17
+ export default SignInModal;
@@ -0,0 +1,25 @@
1
+ import type React from 'react';
2
+ import type { BaseScreenProps } from '../types/navigation';
3
+ import type { RouteName } from '../types/navigation';
4
+ export interface StepConfig {
5
+ id: string;
6
+ component: React.ComponentType<any>;
7
+ props?: Record<string, any>;
8
+ canProceed?: (stepData?: any) => boolean;
9
+ onEnter?: () => void;
10
+ onExit?: () => void;
11
+ }
12
+ export interface StepBasedScreenProps extends Omit<BaseScreenProps, 'navigate'> {
13
+ steps: StepConfig[];
14
+ initialStep?: number;
15
+ showProgressIndicator?: boolean;
16
+ enableAnimations?: boolean;
17
+ onStepChange?: (currentStep: number, totalSteps: number) => void;
18
+ onComplete?: (stepData: any[]) => void;
19
+ stepData?: any[];
20
+ navigate: (screen: RouteName, props?: Record<string, any>) => void;
21
+ oxyServices: any;
22
+ getNavigationProps?: () => Record<string, unknown>;
23
+ }
24
+ declare const StepBasedScreen: React.FC<StepBasedScreenProps>;
25
+ export default StepBasedScreen;
@@ -0,0 +1,75 @@
1
+ import * as React from 'react';
2
+ import { Animated, StyleProp, View, ViewStyle } from 'react-native';
3
+ import type { ThemeProp } from './types';
4
+ type Elevation = 0 | 1 | 2 | 3 | 4 | 5 | Animated.Value;
5
+ export type Props = Omit<React.ComponentPropsWithRef<typeof View>, 'style'> & {
6
+ /**
7
+ * Content of the `Surface`.
8
+ */
9
+ children: React.ReactNode;
10
+ style?: Animated.WithAnimatedValue<StyleProp<ViewStyle>>;
11
+ /**
12
+ * @supported Available in v5.x with theme version 3
13
+ * Changes shadows and background on iOS and Android.
14
+ * Used to create UI hierarchy between components.
15
+ *
16
+ * Note: If `mode` is set to `flat`, Surface doesn't have a shadow.
17
+ *
18
+ * Note: In version 2 the `elevation` prop was accepted via `style` prop i.e. `style={{ elevation: 4 }}`.
19
+ * It's no longer supported with theme version 3 and you should use `elevation` property instead.
20
+ */
21
+ elevation?: Elevation;
22
+ /**
23
+ * @supported Available in v5.x with theme version 3
24
+ * Mode of the Surface.
25
+ * - `elevated` - Surface with a shadow and background color corresponding to set `elevation` value.
26
+ * - `flat` - Surface without a shadow, with the background color corresponding to set `elevation` value.
27
+ */
28
+ mode?: 'flat' | 'elevated';
29
+ /**
30
+ * @optional
31
+ */
32
+ theme?: ThemeProp;
33
+ /**
34
+ * TestID used for testing purposes
35
+ */
36
+ testID?: string;
37
+ ref?: React.RefObject<View>;
38
+ /**
39
+ * @internal
40
+ */
41
+ container?: boolean;
42
+ };
43
+ /**
44
+ * Surface is a basic container that can give depth to an element with elevation shadow.
45
+ * On dark theme with `adaptive` mode, surface is constructed by also placing a semi-transparent white overlay over a component surface.
46
+ * See [Dark Theme](https://callstack.github.io/react-native-paper/docs/guides/theming#dark-theme) for more information.
47
+ * Overlay and shadow can be applied by specifying the `elevation` property both on Android and iOS.
48
+ *
49
+ * ## Usage
50
+ * ```js
51
+ * import * as React from 'react';
52
+ * import { Surface, Text } from 'react-native-paper';
53
+ * import { StyleSheet } from 'react-native';
54
+ *
55
+ * const MyComponent = () => (
56
+ * <Surface style={styles.surface} elevation={4}>
57
+ * <Text>Surface</Text>
58
+ * </Surface>
59
+ * );
60
+ *
61
+ * export default MyComponent;
62
+ *
63
+ * const styles = StyleSheet.create({
64
+ * surface: {
65
+ * padding: 8,
66
+ * height: 80,
67
+ * width: 80,
68
+ * alignItems: 'center',
69
+ * justifyContent: 'center',
70
+ * },
71
+ * });
72
+ * ```
73
+ */
74
+ declare const Surface: import("./utils/forwardRef").ForwardRefComponent<View, Props>;
75
+ export default Surface;
@@ -0,0 +1,15 @@
1
+ import { ColorValue, StyleProp, ViewStyle } from 'react-native';
2
+ import { TextInputLabelProp } from '../types';
3
+ type OutlineProps = {
4
+ isV3: boolean;
5
+ activeColor: string;
6
+ backgroundColor: ColorValue;
7
+ hasActiveOutline?: boolean;
8
+ focused?: boolean;
9
+ outlineColor?: string;
10
+ roundness?: number;
11
+ label?: TextInputLabelProp;
12
+ style?: StyleProp<ViewStyle>;
13
+ };
14
+ export declare const Outline: ({ isV3, label, activeColor, backgroundColor, hasActiveOutline, focused, outlineColor, roundness, style, }: OutlineProps) => import("react/jsx-runtime").JSX.Element;
15
+ export {};