@oxyhq/services 5.17.17 → 5.18.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 (618) hide show
  1. package/README.md +32 -38
  2. package/lib/commonjs/core/CrossDomainAuth.js +277 -0
  3. package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
  4. package/lib/commonjs/core/HttpService.js +82 -15
  5. package/lib/commonjs/core/HttpService.js.map +1 -1
  6. package/lib/commonjs/core/OxyServices.base.js +11 -3
  7. package/lib/commonjs/core/OxyServices.base.js.map +1 -1
  8. package/lib/commonjs/core/OxyServices.js +4 -1
  9. package/lib/commonjs/core/OxyServices.js.map +1 -1
  10. package/lib/commonjs/core/index.js +30 -0
  11. package/lib/commonjs/core/index.js.map +1 -1
  12. package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
  13. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
  14. package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
  15. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
  16. package/lib/commonjs/core/mixins/OxyServices.features.js +372 -0
  17. package/lib/commonjs/core/mixins/OxyServices.features.js.map +1 -0
  18. package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
  19. package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
  20. package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
  21. package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
  22. package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
  23. package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
  24. package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
  25. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
  26. package/lib/commonjs/core/mixins/index.js +28 -15
  27. package/lib/commonjs/core/mixins/index.js.map +1 -1
  28. package/lib/commonjs/crypto/index.js +30 -0
  29. package/lib/commonjs/crypto/index.js.map +1 -1
  30. package/lib/commonjs/crypto/keyManager.js +902 -0
  31. package/lib/commonjs/crypto/keyManager.js.map +1 -0
  32. package/lib/commonjs/crypto/polyfill.js +14 -5
  33. package/lib/commonjs/crypto/polyfill.js.map +1 -1
  34. package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
  35. package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
  36. package/lib/commonjs/crypto/signatureService.js +289 -0
  37. package/lib/commonjs/crypto/signatureService.js.map +1 -0
  38. package/lib/commonjs/i18n/locales/en-US.json +1 -1
  39. package/lib/commonjs/index.js +40 -26
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/models/interfaces.js +0 -15
  42. package/lib/commonjs/models/interfaces.js.map +1 -1
  43. package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
  44. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  45. package/lib/commonjs/ui/components/GroupedItem.js +11 -1
  46. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  47. package/lib/commonjs/ui/components/Icon.js.map +1 -1
  48. package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
  49. package/lib/commonjs/ui/components/OxyProvider.js +41 -11
  50. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  51. package/lib/commonjs/ui/components/SettingRow.js +17 -4
  52. package/lib/commonjs/ui/components/SettingRow.js.map +1 -1
  53. package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
  54. package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
  55. package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
  56. package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
  57. package/lib/commonjs/ui/components/feedback/FormInput.js +72 -0
  58. package/lib/commonjs/ui/components/feedback/FormInput.js.map +1 -0
  59. package/lib/commonjs/ui/components/feedback/ProgressIndicator.js +33 -0
  60. package/lib/commonjs/ui/components/feedback/ProgressIndicator.js.map +1 -0
  61. package/lib/commonjs/ui/components/feedback/constants.js +59 -0
  62. package/lib/commonjs/ui/components/feedback/constants.js.map +1 -0
  63. package/lib/commonjs/ui/components/feedback/feedbackStyles.js +262 -0
  64. package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +1 -0
  65. package/lib/commonjs/ui/components/feedback/index.js +54 -0
  66. package/lib/commonjs/ui/components/feedback/index.js.map +1 -0
  67. package/lib/commonjs/ui/components/feedback/types.js +6 -0
  68. package/lib/commonjs/ui/components/feedback/types.js.map +1 -0
  69. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js +52 -0
  70. package/lib/commonjs/ui/components/feedback/useFeedbackForm.js.map +1 -0
  71. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +282 -0
  72. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -0
  73. package/lib/commonjs/ui/components/modals/index.js +14 -0
  74. package/lib/commonjs/ui/components/modals/index.js.map +1 -0
  75. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +309 -0
  76. package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -0
  77. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +79 -0
  78. package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -0
  79. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +108 -0
  80. package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -0
  81. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +79 -0
  82. package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -0
  83. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +176 -0
  84. package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -0
  85. package/lib/commonjs/ui/components/payment/constants.js +53 -0
  86. package/lib/commonjs/ui/components/payment/constants.js.map +1 -0
  87. package/lib/commonjs/ui/components/payment/index.js +80 -0
  88. package/lib/commonjs/ui/components/payment/index.js.map +1 -0
  89. package/lib/commonjs/ui/components/payment/paymentStyles.js +409 -0
  90. package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -0
  91. package/lib/commonjs/ui/components/payment/types.js +6 -0
  92. package/lib/commonjs/ui/components/payment/types.js.map +1 -0
  93. package/lib/commonjs/ui/context/OxyContext.js +110 -199
  94. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  95. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
  96. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  97. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
  98. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
  99. package/lib/commonjs/ui/hooks/index.js +26 -0
  100. package/lib/commonjs/ui/hooks/index.js.map +1 -1
  101. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +79 -72
  102. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  103. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
  104. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  105. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
  106. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  107. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
  108. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  109. package/lib/commonjs/ui/hooks/useAsyncAction.js +95 -0
  110. package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -0
  111. package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
  112. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  113. package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
  114. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  115. package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
  116. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
  117. package/lib/commonjs/ui/hooks/useSettingToggle.js +126 -0
  118. package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -0
  119. package/lib/commonjs/ui/hooks/useStorage.js +24 -58
  120. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
  121. package/lib/commonjs/ui/index.js +50 -21
  122. package/lib/commonjs/ui/index.js.map +1 -1
  123. package/lib/commonjs/ui/navigation/routes.js +6 -1
  124. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  125. package/lib/commonjs/ui/screens/AccountCenterScreen.js +6 -4
  126. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  127. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +33 -30
  128. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  129. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
  130. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  131. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
  132. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  133. package/lib/commonjs/ui/screens/FAQScreen.js +315 -0
  134. package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -0
  135. package/lib/commonjs/ui/screens/FeedbackScreen.js +73 -590
  136. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
  137. package/lib/commonjs/ui/screens/HelpSupportScreen.js +8 -7
  138. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  139. package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
  140. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  141. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +67 -1395
  142. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
  143. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
  144. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
  145. package/lib/commonjs/ui/screens/ProfileScreen.js +13 -5
  146. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  147. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +16 -10
  148. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
  149. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +23 -11
  150. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  151. package/lib/commonjs/ui/stores/accountStore.js +2 -4
  152. package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
  153. package/lib/commonjs/ui/stores/authStore.js +45 -32
  154. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  155. package/lib/commonjs/ui/styles/spacing.js +54 -2
  156. package/lib/commonjs/ui/styles/spacing.js.map +1 -1
  157. package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
  158. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  159. package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
  160. package/lib/commonjs/utils/errorUtils.js +13 -0
  161. package/lib/commonjs/utils/errorUtils.js.map +1 -1
  162. package/lib/commonjs/utils/validationUtils.js +15 -1
  163. package/lib/commonjs/utils/validationUtils.js.map +1 -1
  164. package/lib/module/core/CrossDomainAuth.js +271 -0
  165. package/lib/module/core/CrossDomainAuth.js.map +1 -0
  166. package/lib/module/core/HttpService.js +82 -15
  167. package/lib/module/core/HttpService.js.map +1 -1
  168. package/lib/module/core/OxyServices.base.js +11 -4
  169. package/lib/module/core/OxyServices.base.js.map +1 -1
  170. package/lib/module/core/OxyServices.js +4 -1
  171. package/lib/module/core/OxyServices.js.map +1 -1
  172. package/lib/module/core/index.js +6 -1
  173. package/lib/module/core/index.js.map +1 -1
  174. package/lib/module/core/mixins/OxyServices.assets.js +16 -3
  175. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
  176. package/lib/module/core/mixins/OxyServices.auth.js +73 -32
  177. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
  178. package/lib/module/core/mixins/OxyServices.features.js +369 -0
  179. package/lib/module/core/mixins/OxyServices.features.js.map +1 -0
  180. package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
  181. package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
  182. package/lib/module/core/mixins/OxyServices.popup.js +349 -0
  183. package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
  184. package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
  185. package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
  186. package/lib/module/core/mixins/OxyServices.user.js +35 -24
  187. package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
  188. package/lib/module/core/mixins/index.js +16 -3
  189. package/lib/module/core/mixins/index.js.map +1 -1
  190. package/lib/module/crypto/index.js +8 -4
  191. package/lib/module/crypto/index.js.map +1 -1
  192. package/lib/module/crypto/keyManager.js +899 -0
  193. package/lib/module/crypto/keyManager.js.map +1 -0
  194. package/lib/module/crypto/polyfill.js +6 -5
  195. package/lib/module/crypto/polyfill.js.map +1 -1
  196. package/lib/module/crypto/recoveryPhrase.js +147 -0
  197. package/lib/module/crypto/recoveryPhrase.js.map +1 -0
  198. package/lib/module/crypto/signatureService.js +286 -0
  199. package/lib/module/crypto/signatureService.js.map +1 -0
  200. package/lib/module/i18n/locales/en-US.json +1 -1
  201. package/lib/module/index.js +6 -9
  202. package/lib/module/index.js.map +1 -1
  203. package/lib/module/models/interfaces.js +0 -15
  204. package/lib/module/models/interfaces.js.map +1 -1
  205. package/lib/module/ui/components/BottomSheetRouter.js +6 -2
  206. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  207. package/lib/module/ui/components/GroupedItem.js +11 -1
  208. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  209. package/lib/module/ui/components/Icon.js.map +1 -1
  210. package/lib/module/ui/components/IconButton/utils.js.map +1 -1
  211. package/lib/module/ui/components/OxyProvider.js +41 -11
  212. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  213. package/lib/module/ui/components/SettingRow.js +17 -4
  214. package/lib/module/ui/components/SettingRow.js.map +1 -1
  215. package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
  216. package/lib/module/ui/components/TextField/helpers.js.map +1 -1
  217. package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
  218. package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
  219. package/lib/module/ui/components/feedback/FormInput.js +67 -0
  220. package/lib/module/ui/components/feedback/FormInput.js.map +1 -0
  221. package/lib/module/ui/components/feedback/ProgressIndicator.js +28 -0
  222. package/lib/module/ui/components/feedback/ProgressIndicator.js.map +1 -0
  223. package/lib/module/ui/components/feedback/constants.js +55 -0
  224. package/lib/module/ui/components/feedback/constants.js.map +1 -0
  225. package/lib/module/ui/components/feedback/feedbackStyles.js +257 -0
  226. package/lib/module/ui/components/feedback/feedbackStyles.js.map +1 -0
  227. package/lib/module/ui/components/feedback/index.js +8 -0
  228. package/lib/module/ui/components/feedback/index.js.map +1 -0
  229. package/lib/module/ui/components/feedback/types.js +4 -0
  230. package/lib/module/ui/components/feedback/types.js.map +1 -0
  231. package/lib/module/ui/components/feedback/useFeedbackForm.js +47 -0
  232. package/lib/module/ui/components/feedback/useFeedbackForm.js.map +1 -0
  233. package/lib/module/ui/components/modals/DeleteAccountModal.js +276 -0
  234. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -0
  235. package/lib/module/ui/components/modals/index.js +4 -0
  236. package/lib/module/ui/components/modals/index.js.map +1 -0
  237. package/lib/module/ui/components/payment/PaymentDetailsStep.js +303 -0
  238. package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -0
  239. package/lib/module/ui/components/payment/PaymentMethodStep.js +73 -0
  240. package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -0
  241. package/lib/module/ui/components/payment/PaymentReviewStep.js +102 -0
  242. package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -0
  243. package/lib/module/ui/components/payment/PaymentSuccessStep.js +73 -0
  244. package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -0
  245. package/lib/module/ui/components/payment/PaymentSummaryStep.js +170 -0
  246. package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -0
  247. package/lib/module/ui/components/payment/constants.js +47 -0
  248. package/lib/module/ui/components/payment/constants.js.map +1 -0
  249. package/lib/module/ui/components/payment/index.js +10 -0
  250. package/lib/module/ui/components/payment/index.js.map +1 -0
  251. package/lib/module/ui/components/payment/paymentStyles.js +404 -0
  252. package/lib/module/ui/components/payment/paymentStyles.js.map +1 -0
  253. package/lib/module/ui/components/payment/types.js +4 -0
  254. package/lib/module/ui/components/payment/types.js.map +1 -0
  255. package/lib/module/ui/context/OxyContext.js +112 -191
  256. package/lib/module/ui/context/OxyContext.js.map +1 -1
  257. package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
  258. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  259. package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
  260. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
  261. package/lib/module/ui/hooks/index.js +2 -0
  262. package/lib/module/ui/hooks/index.js.map +1 -1
  263. package/lib/module/ui/hooks/mutations/useAccountMutations.js +80 -72
  264. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  265. package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
  266. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  267. package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
  268. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
  269. package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
  270. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  271. package/lib/module/ui/hooks/useAsyncAction.js +89 -0
  272. package/lib/module/ui/hooks/useAsyncAction.js.map +1 -0
  273. package/lib/module/ui/hooks/useProfileEditing.js +3 -5
  274. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  275. package/lib/module/ui/hooks/useSessionManagement.js +4 -8
  276. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  277. package/lib/module/ui/hooks/useSessionSocket.js +162 -315
  278. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
  279. package/lib/module/ui/hooks/useSettingToggle.js +120 -0
  280. package/lib/module/ui/hooks/useSettingToggle.js.map +1 -0
  281. package/lib/module/ui/hooks/useStorage.js +25 -59
  282. package/lib/module/ui/hooks/useStorage.js.map +1 -1
  283. package/lib/module/ui/index.js +15 -10
  284. package/lib/module/ui/index.js.map +1 -1
  285. package/lib/module/ui/navigation/routes.js +6 -1
  286. package/lib/module/ui/navigation/routes.js.map +1 -1
  287. package/lib/module/ui/screens/AccountCenterScreen.js +6 -4
  288. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  289. package/lib/module/ui/screens/AccountOverviewScreen.js +33 -30
  290. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  291. package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
  292. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  293. package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
  294. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  295. package/lib/module/ui/screens/FAQScreen.js +310 -0
  296. package/lib/module/ui/screens/FAQScreen.js.map +1 -0
  297. package/lib/module/ui/screens/FeedbackScreen.js +64 -581
  298. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
  299. package/lib/module/ui/screens/HelpSupportScreen.js +8 -7
  300. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  301. package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
  302. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  303. package/lib/module/ui/screens/PaymentGatewayScreen.js +67 -1397
  304. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
  305. package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
  306. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
  307. package/lib/module/ui/screens/ProfileScreen.js +13 -5
  308. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  309. package/lib/module/ui/screens/SavesCollectionsScreen.js +16 -10
  310. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
  311. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +23 -11
  312. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
  313. package/lib/module/ui/stores/accountStore.js +2 -4
  314. package/lib/module/ui/stores/accountStore.js.map +1 -1
  315. package/lib/module/ui/stores/authStore.js +45 -32
  316. package/lib/module/ui/stores/authStore.js.map +1 -1
  317. package/lib/module/ui/styles/spacing.js +6 -2
  318. package/lib/module/ui/styles/spacing.js.map +1 -1
  319. package/lib/module/ui/utils/avatarUtils.js +37 -40
  320. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  321. package/lib/module/ui/utils/storageHelpers.js.map +1 -1
  322. package/lib/module/utils/errorUtils.js +7 -0
  323. package/lib/module/utils/errorUtils.js.map +1 -1
  324. package/lib/module/utils/validationUtils.js +13 -0
  325. package/lib/module/utils/validationUtils.js.map +1 -1
  326. package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
  327. package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
  328. package/lib/typescript/core/HttpService.d.ts +1 -1
  329. package/lib/typescript/core/HttpService.d.ts.map +1 -1
  330. package/lib/typescript/core/OxyServices.base.d.ts +0 -6
  331. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
  332. package/lib/typescript/core/OxyServices.d.ts +5 -36
  333. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  334. package/lib/typescript/core/index.d.ts +4 -0
  335. package/lib/typescript/core/index.d.ts.map +1 -1
  336. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
  337. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
  338. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +40 -20
  339. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
  340. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
  341. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
  342. package/lib/typescript/core/mixins/OxyServices.features.d.ts +229 -0
  343. package/lib/typescript/core/mixins/OxyServices.features.d.ts.map +1 -0
  344. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts +195 -0
  345. package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
  346. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
  347. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
  348. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
  349. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
  350. package/lib/typescript/core/mixins/OxyServices.popup.d.ts +206 -0
  351. package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
  352. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
  353. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
  354. package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
  355. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
  356. package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
  357. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
  358. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
  359. package/lib/typescript/core/mixins/index.d.ts +291 -9
  360. package/lib/typescript/core/mixins/index.d.ts.map +1 -1
  361. package/lib/typescript/crypto/index.d.ts +6 -3
  362. package/lib/typescript/crypto/index.d.ts.map +1 -1
  363. package/lib/typescript/crypto/keyManager.d.ts +190 -0
  364. package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
  365. package/lib/typescript/crypto/polyfill.d.ts +4 -3
  366. package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
  367. package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
  368. package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
  369. package/lib/typescript/crypto/signatureService.d.ts +87 -0
  370. package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
  371. package/lib/typescript/index.d.ts +5 -6
  372. package/lib/typescript/index.d.ts.map +1 -1
  373. package/lib/typescript/models/interfaces.d.ts +2 -14
  374. package/lib/typescript/models/interfaces.d.ts.map +1 -1
  375. package/lib/typescript/models/session.d.ts +0 -9
  376. package/lib/typescript/models/session.d.ts.map +1 -1
  377. package/lib/typescript/types/bip39.d.ts +32 -0
  378. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
  379. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
  380. package/lib/typescript/ui/components/GroupedItem.d.ts +5 -1
  381. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
  382. package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
  383. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  384. package/lib/typescript/ui/components/SettingRow.d.ts +6 -0
  385. package/lib/typescript/ui/components/SettingRow.d.ts.map +1 -1
  386. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
  387. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
  388. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
  389. package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
  390. package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
  391. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
  392. package/lib/typescript/ui/components/feedback/FormInput.d.ts +20 -0
  393. package/lib/typescript/ui/components/feedback/FormInput.d.ts.map +1 -0
  394. package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts +11 -0
  395. package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts.map +1 -0
  396. package/lib/typescript/ui/components/feedback/constants.d.ts +5 -0
  397. package/lib/typescript/ui/components/feedback/constants.d.ts.map +1 -0
  398. package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts +280 -0
  399. package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts.map +1 -0
  400. package/lib/typescript/ui/components/feedback/index.d.ts +7 -0
  401. package/lib/typescript/ui/components/feedback/index.d.ts.map +1 -0
  402. package/lib/typescript/ui/components/feedback/types.d.ts +46 -0
  403. package/lib/typescript/ui/components/feedback/types.d.ts.map +1 -0
  404. package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts +9 -0
  405. package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts.map +1 -0
  406. package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts +19 -0
  407. package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts.map +1 -0
  408. package/lib/typescript/ui/components/modals/index.d.ts +2 -0
  409. package/lib/typescript/ui/components/modals/index.d.ts.map +1 -0
  410. package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts +21 -0
  411. package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -0
  412. package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts +14 -0
  413. package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts.map +1 -0
  414. package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts +16 -0
  415. package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts.map +1 -0
  416. package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts +10 -0
  417. package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -0
  418. package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts +15 -0
  419. package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -0
  420. package/lib/typescript/ui/components/payment/constants.d.ts +7 -0
  421. package/lib/typescript/ui/components/payment/constants.d.ts.map +1 -0
  422. package/lib/typescript/ui/components/payment/index.d.ts +9 -0
  423. package/lib/typescript/ui/components/payment/index.d.ts.map +1 -0
  424. package/lib/typescript/ui/components/payment/paymentStyles.d.ts +396 -0
  425. package/lib/typescript/ui/components/payment/paymentStyles.d.ts.map +1 -0
  426. package/lib/typescript/ui/components/payment/types.d.ts +40 -0
  427. package/lib/typescript/ui/components/payment/types.d.ts.map +1 -0
  428. package/lib/typescript/ui/components/types.d.ts +4 -0
  429. package/lib/typescript/ui/components/types.d.ts.map +1 -1
  430. package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
  431. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  432. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
  433. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  434. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
  435. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
  436. package/lib/typescript/ui/hooks/index.d.ts +2 -0
  437. package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
  438. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  439. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  440. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  441. package/lib/typescript/ui/hooks/useAsyncAction.d.ts +51 -0
  442. package/lib/typescript/ui/hooks/useAsyncAction.d.ts.map +1 -0
  443. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
  444. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
  445. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
  446. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
  447. package/lib/typescript/ui/hooks/useSettingToggle.d.ts +55 -0
  448. package/lib/typescript/ui/hooks/useSettingToggle.d.ts.map +1 -0
  449. package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
  450. package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
  451. package/lib/typescript/ui/index.d.ts +6 -2
  452. package/lib/typescript/ui/index.d.ts.map +1 -1
  453. package/lib/typescript/ui/navigation/routes.d.ts +1 -1
  454. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
  455. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  456. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  457. package/lib/typescript/ui/screens/FAQScreen.d.ts +5 -0
  458. package/lib/typescript/ui/screens/FAQScreen.d.ts.map +1 -0
  459. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
  460. package/lib/typescript/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  461. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
  462. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  463. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +3 -15
  464. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
  465. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
  466. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
  467. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
  468. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
  469. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
  470. package/lib/typescript/ui/stores/authStore.d.ts +8 -7
  471. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  472. package/lib/typescript/ui/styles/spacing.d.ts +5 -0
  473. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
  474. package/lib/typescript/ui/types/navigation.d.ts +2 -1
  475. package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
  476. package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
  477. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
  478. package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
  479. package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
  480. package/lib/typescript/utils/errorUtils.d.ts +6 -0
  481. package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
  482. package/lib/typescript/utils/validationUtils.d.ts +8 -0
  483. package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
  484. package/package.json +8 -7
  485. package/src/core/CrossDomainAuth.ts +307 -0
  486. package/src/core/HttpService.ts +99 -16
  487. package/src/core/OxyServices.base.ts +20 -3
  488. package/src/core/OxyServices.ts +7 -3
  489. package/src/core/index.ts +9 -1
  490. package/src/core/mixins/OxyServices.assets.ts +14 -3
  491. package/src/core/mixins/OxyServices.auth.ts +105 -36
  492. package/src/core/mixins/OxyServices.features.ts +428 -0
  493. package/src/core/mixins/OxyServices.fedcm.ts +315 -0
  494. package/src/core/mixins/OxyServices.popup.ts +402 -0
  495. package/src/core/mixins/OxyServices.redirect.ts +397 -0
  496. package/src/core/mixins/OxyServices.user.ts +39 -24
  497. package/src/core/mixins/index.ts +33 -14
  498. package/src/crypto/index.ts +16 -5
  499. package/src/crypto/keyManager.ts +966 -0
  500. package/src/crypto/polyfill.ts +6 -5
  501. package/src/crypto/recoveryPhrase.ts +166 -0
  502. package/src/crypto/signatureService.ts +323 -0
  503. package/src/i18n/locales/en-US.json +1 -1
  504. package/src/index.ts +19 -15
  505. package/src/models/interfaces.ts +4 -16
  506. package/src/models/session.ts +2 -11
  507. package/src/types/bip39.d.ts +32 -0
  508. package/src/ui/components/BottomSheetRouter.tsx +6 -1
  509. package/src/ui/components/GroupedItem.tsx +19 -1
  510. package/src/ui/components/Icon.tsx +1 -1
  511. package/src/ui/components/IconButton/utils.ts +1 -1
  512. package/src/ui/components/OxyProvider.tsx +44 -12
  513. package/src/ui/components/SettingRow.tsx +26 -4
  514. package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
  515. package/src/ui/components/TextField/Adornment/utils.ts +2 -2
  516. package/src/ui/components/TextField/helpers.tsx +10 -10
  517. package/src/ui/components/TextField/types.tsx +1 -1
  518. package/src/ui/components/TouchableRipple/utils.ts +2 -2
  519. package/src/ui/components/Typography/AnimatedText.tsx +2 -2
  520. package/src/ui/components/feedback/FormInput.tsx +84 -0
  521. package/src/ui/components/feedback/ProgressIndicator.tsx +35 -0
  522. package/src/ui/components/feedback/constants.ts +22 -0
  523. package/src/ui/components/feedback/feedbackStyles.ts +247 -0
  524. package/src/ui/components/feedback/index.ts +6 -0
  525. package/src/ui/components/feedback/types.ts +52 -0
  526. package/src/ui/components/feedback/useFeedbackForm.ts +44 -0
  527. package/src/ui/components/modals/DeleteAccountModal.tsx +294 -0
  528. package/src/ui/components/modals/index.ts +1 -0
  529. package/src/ui/components/payment/PaymentDetailsStep.tsx +222 -0
  530. package/src/ui/components/payment/PaymentMethodStep.tsx +89 -0
  531. package/src/ui/components/payment/PaymentReviewStep.tsx +126 -0
  532. package/src/ui/components/payment/PaymentSuccessStep.tsx +71 -0
  533. package/src/ui/components/payment/PaymentSummaryStep.tsx +159 -0
  534. package/src/ui/components/payment/constants.ts +39 -0
  535. package/src/ui/components/payment/index.ts +9 -0
  536. package/src/ui/components/payment/paymentStyles.ts +397 -0
  537. package/src/ui/components/payment/types.ts +45 -0
  538. package/src/ui/components/types.tsx +6 -0
  539. package/src/ui/context/OxyContext.tsx +173 -195
  540. package/src/ui/context/hooks/useAuthOperations.ts +177 -36
  541. package/src/ui/context/hooks/useSessionManagement.ts +399 -0
  542. package/src/ui/hooks/index.ts +3 -1
  543. package/src/ui/hooks/mutations/useAccountMutations.ts +83 -76
  544. package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
  545. package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
  546. package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
  547. package/src/ui/hooks/useAsyncAction.ts +129 -0
  548. package/src/ui/hooks/useProfileEditing.ts +3 -3
  549. package/src/ui/hooks/useSessionManagement.ts +5 -10
  550. package/src/ui/hooks/useSessionSocket.ts +46 -175
  551. package/src/ui/hooks/useSettingToggle.ts +147 -0
  552. package/src/ui/hooks/useStorage.ts +24 -76
  553. package/src/ui/index.ts +22 -13
  554. package/src/ui/navigation/routes.ts +8 -2
  555. package/src/ui/screens/AccountCenterScreen.tsx +4 -4
  556. package/src/ui/screens/AccountOverviewScreen.tsx +36 -38
  557. package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
  558. package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
  559. package/src/ui/screens/FAQScreen.tsx +332 -0
  560. package/src/ui/screens/FeedbackScreen.tsx +91 -626
  561. package/src/ui/screens/HelpSupportScreen.tsx +7 -5
  562. package/src/ui/screens/OxyAuthScreen.tsx +138 -64
  563. package/src/ui/screens/PaymentGatewayScreen.tsx +96 -1275
  564. package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
  565. package/src/ui/screens/ProfileScreen.tsx +11 -6
  566. package/src/ui/screens/SavesCollectionsScreen.tsx +19 -10
  567. package/src/ui/screens/karma/KarmaCenterScreen.tsx +10 -10
  568. package/src/ui/stores/accountStore.ts +1 -11
  569. package/src/ui/stores/authStore.ts +43 -44
  570. package/src/ui/styles/spacing.ts +15 -2
  571. package/src/ui/types/navigation.ts +2 -2
  572. package/src/ui/utils/avatarUtils.ts +39 -46
  573. package/src/ui/utils/storageHelpers.ts +0 -4
  574. package/src/utils/__tests__/validationUtils.test.ts +16 -1
  575. package/src/utils/errorUtils.ts +8 -1
  576. package/src/utils/validationUtils.ts +12 -0
  577. package/lib/commonjs/core/services/SessionService.js +0 -163
  578. package/lib/commonjs/core/services/SessionService.js.map +0 -1
  579. package/lib/commonjs/core/services/TokenService.js +0 -220
  580. package/lib/commonjs/core/services/TokenService.js.map +0 -1
  581. package/lib/commonjs/crypto/types.js +0 -2
  582. package/lib/commonjs/crypto/types.js.map +0 -1
  583. package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
  584. package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
  585. package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
  586. package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
  587. package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
  588. package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
  589. package/lib/module/core/services/SessionService.js +0 -159
  590. package/lib/module/core/services/SessionService.js.map +0 -1
  591. package/lib/module/core/services/TokenService.js +0 -217
  592. package/lib/module/core/services/TokenService.js.map +0 -1
  593. package/lib/module/crypto/types.js +0 -2
  594. package/lib/module/crypto/types.js.map +0 -1
  595. package/lib/module/ui/context/OxyContextBase.js +0 -16
  596. package/lib/module/ui/context/OxyContextBase.js.map +0 -1
  597. package/lib/module/ui/context/hooks/useStorage.js +0 -74
  598. package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
  599. package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
  600. package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
  601. package/lib/typescript/core/services/SessionService.d.ts +0 -78
  602. package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
  603. package/lib/typescript/core/services/TokenService.d.ts +0 -72
  604. package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
  605. package/lib/typescript/crypto/types.d.ts +0 -22
  606. package/lib/typescript/crypto/types.d.ts.map +0 -1
  607. package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
  608. package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
  609. package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
  610. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
  611. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
  612. package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
  613. package/src/core/services/SessionService.ts +0 -173
  614. package/src/core/services/TokenService.ts +0 -237
  615. package/src/crypto/types.ts +0 -23
  616. package/src/ui/context/OxyContextBase.tsx +0 -78
  617. package/src/ui/context/hooks/useStorage.ts +0 -104
  618. package/src/ui/hooks/useAvatarPicker.ts +0 -61
@@ -31,7 +31,12 @@ export interface BottomSheetRouterProps {
31
31
  onDismiss?: () => void;
32
32
  }
33
33
 
34
- // Compatibility re-exports removed. Import types/functions directly from their sources instead.
34
+ // Re-export types for backward compatibility
35
+ export type { BottomSheetRouterState };
36
+ export { subscribeToBottomSheetState };
37
+
38
+ // Re-export BottomSheetRef for backward compatibility
39
+ export type { BottomSheetRef };
35
40
 
36
41
  /**
37
42
  * BottomSheetRouter - Manages navigation within bottom sheet modals
@@ -22,6 +22,10 @@ interface GroupedItemProps {
22
22
  disabled?: boolean;
23
23
  customContent?: React.ReactNode;
24
24
  customIcon?: React.ReactNode;
25
+ /** Accessibility label (defaults to title) */
26
+ accessibilityLabel?: string;
27
+ /** Accessibility hint for what happens on press */
28
+ accessibilityHint?: string;
25
29
  }
26
30
 
27
31
  const GroupedItemComponent = ({
@@ -36,6 +40,8 @@ const GroupedItemComponent = ({
36
40
  disabled = false,
37
41
  customContent,
38
42
  customIcon,
43
+ accessibilityLabel,
44
+ accessibilityHint,
39
45
  }: GroupedItemProps) => {
40
46
  const hookColorScheme = useColorScheme();
41
47
  const colorScheme = normalizeColorScheme(hookColorScheme);
@@ -90,13 +96,25 @@ const GroupedItemComponent = ({
90
96
  onPressIn={disabled ? undefined : handlePressIn}
91
97
  onPress={onPress}
92
98
  activeOpacity={0.7}
99
+ accessibilityRole="button"
100
+ accessibilityLabel={accessibilityLabel || title}
101
+ accessibilityHint={accessibilityHint || subtitle}
102
+ accessibilityState={{ disabled }}
93
103
  >
94
104
  {content}
95
105
  </TouchableOpacity>
96
106
  );
97
107
  }
98
108
 
99
- return <View style={itemStyles}>{content}</View>;
109
+ return (
110
+ <View
111
+ style={itemStyles}
112
+ accessibilityRole="text"
113
+ accessibilityLabel={accessibilityLabel || title}
114
+ >
115
+ {content}
116
+ </View>
117
+ );
100
118
  };
101
119
 
102
120
  GroupedItemComponent.displayName = 'GroupedItem';
@@ -125,7 +125,7 @@ const Icon = ({
125
125
  ? source.source
126
126
  : source;
127
127
  const iconColor =
128
- color || (theme.isV3 ? theme.colors.onSurface : ((theme.colors as any).text || theme.colors.onSurface));
128
+ color || (theme.isV3 ? theme.colors.onSurface : (theme.colors.text || theme.colors.onSurface));
129
129
 
130
130
  if (isImageSource(s)) {
131
131
  return (
@@ -124,7 +124,7 @@ const getIconColor = ({
124
124
  return customIconColor;
125
125
  }
126
126
 
127
- return (theme.colors as any).text || theme.colors.onSurface;
127
+ return theme.colors.text || theme.colors.onSurface;
128
128
  };
129
129
 
130
130
  const getRippleColor = ({
@@ -10,6 +10,7 @@ import { setupFonts } from './FontLoader';
10
10
  import BottomSheetRouter from './BottomSheetRouter';
11
11
  import { Toaster } from '../../lib/sonner';
12
12
  import { createQueryClient } from '../hooks/queryClient';
13
+ import { createPlatformStorage, type StorageInterface } from '../utils/storageHelpers';
13
14
 
14
15
  // Initialize fonts automatically
15
16
  setupFonts();
@@ -23,30 +24,53 @@ setupFonts();
23
24
  const OxyProvider: FC<OxyProviderProps> = ({
24
25
  oxyServices,
25
26
  children,
26
- contextOnly = false,
27
27
  onAuthStateChange,
28
28
  storageKeyPrefix,
29
29
  baseURL,
30
+ authWebUrl,
31
+ authRedirectUri,
30
32
  queryClient: providedQueryClient,
31
33
  }) => {
32
- // contextOnly is retained for backwards compatibility while the UI-only
33
- // bottom sheet experience is removed. At the moment both modes behave the same.
34
- void contextOnly;
35
34
 
36
- // Initialize React Query Client (in-memory; persistence handled separately if needed)
35
+ // Simple storage initialization for query persistence
36
+ const storageRef = useRef<StorageInterface | null>(null);
37
37
  const queryClientRef = useRef<ReturnType<typeof createQueryClient> | null>(null);
38
- const [queryClient, setQueryClient] = useState<ReturnType<typeof createQueryClient>>(
39
- () => providedQueryClient ?? createQueryClient(),
40
- );
38
+ const [queryClient, setQueryClient] = useState<ReturnType<typeof createQueryClient> | null>(null);
41
39
 
42
40
  useEffect(() => {
43
- if (providedQueryClient && queryClientRef.current !== providedQueryClient) {
41
+ if (providedQueryClient) {
44
42
  queryClientRef.current = providedQueryClient;
45
43
  setQueryClient(providedQueryClient);
46
- } else if (!queryClientRef.current) {
47
- queryClientRef.current = queryClient;
44
+ return;
48
45
  }
49
- }, [providedQueryClient, queryClient]);
46
+
47
+ // Initialize storage and create query client
48
+ let mounted = true;
49
+ createPlatformStorage()
50
+ .then((storage) => {
51
+ if (mounted && !queryClientRef.current) {
52
+ storageRef.current = storage;
53
+ const client = createQueryClient(storage);
54
+ queryClientRef.current = client;
55
+ setQueryClient(client);
56
+ }
57
+ })
58
+ .catch((error) => {
59
+ // If storage fails, create query client without persistence
60
+ if (mounted && !queryClientRef.current) {
61
+ if (__DEV__) {
62
+ console.warn('[OxyProvider] Failed to initialize storage for query persistence', error);
63
+ }
64
+ const client = createQueryClient(null);
65
+ queryClientRef.current = client;
66
+ setQueryClient(client);
67
+ }
68
+ });
69
+
70
+ return () => {
71
+ mounted = false;
72
+ };
73
+ }, [providedQueryClient]);
50
74
 
51
75
  // Hook React Query focus manager into React Native AppState
52
76
  useEffect(() => {
@@ -107,6 +131,12 @@ const OxyProvider: FC<OxyProviderProps> = ({
107
131
  };
108
132
  }, []);
109
133
 
134
+ // Ensure we have a valid QueryClient
135
+ if (!queryClient) {
136
+ // Return loading state or fallback
137
+ return null;
138
+ }
139
+
110
140
  return (
111
141
  <SafeAreaProvider>
112
142
  <GestureHandlerRootView style={{ flex: 1 }}>
@@ -116,6 +146,8 @@ const OxyProvider: FC<OxyProviderProps> = ({
116
146
  <OxyContextProvider
117
147
  oxyServices={oxyServices as any}
118
148
  baseURL={baseURL}
149
+ authWebUrl={authWebUrl}
150
+ authRedirectUri={authRedirectUri}
119
151
  storageKeyPrefix={storageKeyPrefix}
120
152
  onAuthStateChange={onAuthStateChange as any}
121
153
  >
@@ -10,6 +10,12 @@ export interface SettingRowProps {
10
10
  textColor?: string;
11
11
  mutedTextColor?: string;
12
12
  borderColor?: string;
13
+ /** Active color for the switch track (default: #d169e5) */
14
+ activeColor?: string;
15
+ /** Inactive color for the switch track (default: #767577) */
16
+ inactiveColor?: string;
17
+ /** Accessibility label for the switch */
18
+ accessibilityLabel?: string;
13
19
  }
14
20
 
15
21
  /**
@@ -25,15 +31,27 @@ const SettingRow: React.FC<SettingRowProps> = ({
25
31
  textColor,
26
32
  mutedTextColor,
27
33
  borderColor,
34
+ activeColor = '#d169e5',
35
+ inactiveColor = '#767577',
36
+ accessibilityLabel,
28
37
  }) => {
29
38
  return (
30
- <View style={[styles.settingRow, borderColor ? { borderBottomColor: borderColor } : undefined]}>
39
+ <View
40
+ style={[styles.settingRow, borderColor ? { borderBottomColor: borderColor } : undefined]}
41
+ accessibilityRole="none"
42
+ >
31
43
  <View style={styles.settingInfo}>
32
- <Text style={[styles.settingTitle, textColor ? { color: textColor } : undefined]}>
44
+ <Text
45
+ style={[styles.settingTitle, textColor ? { color: textColor } : undefined]}
46
+ accessibilityRole="text"
47
+ >
33
48
  {title}
34
49
  </Text>
35
50
  {description && (
36
- <Text style={[styles.settingDescription, mutedTextColor ? { color: mutedTextColor } : undefined]}>
51
+ <Text
52
+ style={[styles.settingDescription, mutedTextColor ? { color: mutedTextColor } : undefined]}
53
+ accessibilityRole="text"
54
+ >
37
55
  {description}
38
56
  </Text>
39
57
  )}
@@ -42,8 +60,12 @@ const SettingRow: React.FC<SettingRowProps> = ({
42
60
  value={value}
43
61
  onValueChange={onValueChange}
44
62
  disabled={disabled}
45
- trackColor={{ false: '#767577', true: '#d169e5' }}
63
+ trackColor={{ false: inactiveColor, true: activeColor }}
46
64
  thumbColor={value ? '#fff' : '#f4f3f4'}
65
+ accessibilityRole="switch"
66
+ accessibilityLabel={accessibilityLabel || title}
67
+ accessibilityState={{ checked: value, disabled }}
68
+ accessibilityHint={description}
47
69
  />
48
70
  </View>
49
71
  );
@@ -7,7 +7,7 @@ import {
7
7
  ViewStyle,
8
8
  } from 'react-native';
9
9
 
10
- import { TextFieldLabelProp } from '../types';
10
+ import { TextInputLabelProp } from '../types';
11
11
 
12
12
  type OutlineProps = {
13
13
  isV3: boolean;
@@ -17,7 +17,7 @@ type OutlineProps = {
17
17
  focused?: boolean;
18
18
  outlineColor?: string;
19
19
  roundness?: number;
20
- label?: TextFieldLabelProp;
20
+ label?: TextInputLabelProp;
21
21
  style?: StyleProp<ViewStyle>;
22
22
  };
23
23
 
@@ -33,7 +33,7 @@ export function getTextColor({ theme, disabled }: BaseProps) {
33
33
  return theme.colors.onSurfaceVariant;
34
34
  }
35
35
  // For non-V3 themes, apply opacity to text color
36
- const textColor = theme?.colors?.onSurface || (theme?.colors as any)?.text || '#000000';
36
+ const textColor = theme?.colors?.onSurface || theme?.colors?.text || '#000000';
37
37
  const opacity = theme.dark ? 0.7 : 0.54;
38
38
  return hexToRgba(textColor, opacity);
39
39
  }
@@ -55,7 +55,7 @@ export function getIconColor({
55
55
  }
56
56
 
57
57
  if (!theme.isV3) {
58
- return (theme.colors as any).text || theme.colors.onSurface;
58
+ return theme.colors.text || theme.colors.onSurface;
59
59
  }
60
60
 
61
61
  if (disabled) {
@@ -26,7 +26,7 @@ import {
26
26
  MD3_MIN_HEIGHT,
27
27
  MD3_OUTLINED_INPUT_OFFSET,
28
28
  } from './constants';
29
- import type { TextFieldLabelProp } from './types';
29
+ import type { TextInputLabelProp } from './types';
30
30
  import type { InternalTheme } from "../types";
31
31
 
32
32
  type PaddingProps = {
@@ -37,7 +37,7 @@ type PaddingProps = {
37
37
  topPosition: number;
38
38
  fontSize: number;
39
39
  lineHeight?: number;
40
- label?: TextFieldLabelProp | null;
40
+ label?: TextInputLabelProp | null;
41
41
  scale: number;
42
42
  offset: number;
43
43
  isAndroid: boolean;
@@ -329,10 +329,10 @@ const getInputTextColor = ({
329
329
  }
330
330
 
331
331
  if (disabled) {
332
- return color((theme.colors as any).text || theme.colors.onSurface).alpha(0.54).rgb().string();
332
+ return color(theme.colors.text || theme.colors.onSurface).alpha(0.54).rgb().string();
333
333
  }
334
334
 
335
- return (theme.colors as any).text || theme.colors.onSurface;
335
+ return theme.colors.text || theme.colors.onSurface;
336
336
  };
337
337
 
338
338
  const getActiveColor = ({
@@ -364,7 +364,7 @@ const getActiveColor = ({
364
364
  return theme.colors.onSurfaceDisabled;
365
365
  }
366
366
 
367
- return color((theme.colors as any).text || theme.colors.onSurface).alpha(0.54).rgb().string();
367
+ return color(theme.colors.text || theme.colors.onSurface).alpha(0.54).rgb().string();
368
368
  }
369
369
 
370
370
  return theme.colors.primary;
@@ -380,10 +380,10 @@ const getPlaceholderColor = ({ theme, disabled }: BaseProps) => {
380
380
  }
381
381
 
382
382
  if (disabled) {
383
- return (theme.colors as any).disabled || theme.colors.onSurfaceDisabled;
383
+ return theme.colors.disabled || theme.colors.onSurfaceDisabled;
384
384
  }
385
385
 
386
- return (theme.colors as any).placeholder || theme.colors.onSurfaceVariant;
386
+ return theme.colors.placeholder || theme.colors.onSurfaceVariant;
387
387
  };
388
388
 
389
389
  const getSelectionColor = ({
@@ -443,7 +443,7 @@ const getFlatUnderlineColor = ({
443
443
  return 'transparent';
444
444
  }
445
445
 
446
- return (theme.colors as any).disabled || theme.colors.onSurfaceVariant;
446
+ return theme.colors.disabled || theme.colors.onSurfaceVariant;
447
447
  };
448
448
 
449
449
  const getOutlinedOutlineInputColor = ({
@@ -472,9 +472,9 @@ const getOutlinedOutlineInputColor = ({
472
472
  if (isTransparent) {
473
473
  return customOutlineColor;
474
474
  }
475
- return (theme.colors as any).disabled || theme.colors.onSurfaceDisabled;
475
+ return theme.colors.disabled || theme.colors.onSurfaceDisabled;
476
476
  }
477
- return (theme.colors as any).placeholder || theme.colors.onSurfaceVariant;
477
+ return theme.colors.placeholder || theme.colors.onSurfaceVariant;
478
478
  };
479
479
 
480
480
  export const getFlatInputColors = ({
@@ -15,7 +15,7 @@ import type {
15
15
  import type { $Omit, InternalTheme, ThemeProp } from '../types';
16
16
 
17
17
  export type TextFieldLabelProp = string | React.ReactElement;
18
- // Removed alias `TextInputLabelProp`; use `TextFieldLabelProp` directly.
18
+ export type TextInputLabelProp = TextFieldLabelProp; // Alias for backward compatibility
19
19
 
20
20
  type TextInputProps = React.ComponentPropsWithRef<typeof NativeTextInput> & {
21
21
  mode?: 'flat' | 'outlined';
@@ -40,9 +40,9 @@ const getRippleColor = ({
40
40
  }
41
41
 
42
42
  if (theme.dark) {
43
- return colorUtil(theme.colors.onSurface || (theme.colors as any).text || '#000000').alpha(0.32).rgb().string();
43
+ return colorUtil(theme.colors.onSurface || theme.colors.text || '#000000').alpha(0.32).rgb().string();
44
44
  }
45
- return colorUtil((theme.colors as any).text || theme.colors.onSurface || '#000000').alpha(0.2).rgb().string();
45
+ return colorUtil(theme.colors.text || theme.colors.onSurface || '#000000').alpha(0.2).rgb().string();
46
46
  };
47
47
 
48
48
  export const getTouchableRippleColors = ({
@@ -72,10 +72,10 @@ const AnimatedText = forwardRef<Text & HTMLElement, Props<never>>(
72
72
  />
73
73
  );
74
74
  } else {
75
- const font = !theme.isV3 ? ((theme.fonts as any).regular || theme.fonts.default) : theme.fonts.bodyMedium;
75
+ const font = !theme.isV3 ? (theme.fonts.regular || theme.fonts.default) : theme.fonts.bodyMedium;
76
76
  const textStyle = {
77
77
  ...font,
78
- color: theme.isV3 ? theme.colors.onSurface : ((theme.colors as any).text || theme.colors.onSurface),
78
+ color: theme.isV3 ? theme.colors.onSurface : (theme.colors.text || theme.colors.onSurface),
79
79
  };
80
80
  return (
81
81
  <Animated.Text
@@ -0,0 +1,84 @@
1
+ import React from 'react';
2
+ import { View, Text, TextInput } from 'react-native';
3
+ import { Ionicons } from '@expo/vector-icons';
4
+ import type { FeedbackColors } from './types';
5
+
6
+ interface FormInputProps {
7
+ icon: string;
8
+ label: string;
9
+ value: string;
10
+ onChangeText: (text: string) => void;
11
+ placeholder?: string;
12
+ multiline?: boolean;
13
+ numberOfLines?: number;
14
+ testID?: string;
15
+ colors: FeedbackColors;
16
+ styles: any;
17
+ borderColor?: string;
18
+ accessibilityLabel?: string;
19
+ accessibilityHint?: string;
20
+ }
21
+
22
+ const FormInput: React.FC<FormInputProps> = React.memo(({
23
+ icon,
24
+ label,
25
+ value,
26
+ onChangeText,
27
+ placeholder,
28
+ multiline = false,
29
+ numberOfLines = 1,
30
+ testID,
31
+ colors,
32
+ styles,
33
+ borderColor,
34
+ accessibilityLabel,
35
+ accessibilityHint,
36
+ }) => (
37
+ <View style={styles.inputContainer}>
38
+ <View style={[
39
+ multiline ? styles.textAreaWrapper : styles.premiumInputWrapper,
40
+ {
41
+ borderColor: borderColor || colors.border,
42
+ backgroundColor: colors.inputBackground,
43
+ shadowColor: colors.primary,
44
+ shadowOffset: { width: 0, height: 4 },
45
+ shadowOpacity: 0.1,
46
+ shadowRadius: 12,
47
+ elevation: 3,
48
+ }
49
+ ]}>
50
+ {!multiline && (
51
+ <Ionicons
52
+ name={icon as any}
53
+ size={22}
54
+ color={colors.secondaryText}
55
+ style={styles.inputIcon}
56
+ />
57
+ )}
58
+ <View style={styles.inputContent}>
59
+ <Text style={[styles.modernLabel, { color: colors.secondaryText }]}>
60
+ {label}
61
+ </Text>
62
+ <TextInput
63
+ style={[
64
+ multiline ? styles.textArea : styles.modernInput,
65
+ { color: colors.text }
66
+ ]}
67
+ value={value}
68
+ onChangeText={onChangeText}
69
+ placeholder={placeholder}
70
+ placeholderTextColor={colors.secondaryText + '60'}
71
+ multiline={multiline}
72
+ numberOfLines={multiline ? numberOfLines : undefined}
73
+ testID={testID}
74
+ accessibilityLabel={accessibilityLabel || label}
75
+ accessibilityHint={accessibilityHint}
76
+ />
77
+ </View>
78
+ </View>
79
+ </View>
80
+ ));
81
+
82
+ FormInput.displayName = 'FormInput';
83
+
84
+ export default FormInput;
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { FeedbackColors } from './types';
4
+
5
+ interface ProgressIndicatorProps {
6
+ currentStep: number;
7
+ totalSteps: number;
8
+ colors: FeedbackColors;
9
+ styles: any;
10
+ }
11
+
12
+ const ProgressIndicator: React.FC<ProgressIndicatorProps> = React.memo(({
13
+ currentStep,
14
+ totalSteps,
15
+ colors,
16
+ styles,
17
+ }) => (
18
+ <View style={styles.progressContainer} accessibilityRole="progressbar" accessibilityLabel={`Step ${currentStep + 1} of ${totalSteps}`}>
19
+ {Array.from({ length: totalSteps }, (_, index) => (
20
+ <View
21
+ key={index}
22
+ style={[
23
+ styles.progressDot,
24
+ currentStep === index ?
25
+ { backgroundColor: colors.primary, width: 24 } :
26
+ { backgroundColor: colors.border }
27
+ ]}
28
+ />
29
+ ))}
30
+ </View>
31
+ ));
32
+
33
+ ProgressIndicator.displayName = 'ProgressIndicator';
34
+
35
+ export default ProgressIndicator;
@@ -0,0 +1,22 @@
1
+ import type { FeedbackType, PriorityLevel } from './types';
2
+
3
+ export const FEEDBACK_TYPES: FeedbackType[] = [
4
+ { id: 'bug', label: 'Bug Report', icon: 'bug', color: '#FF3B30', description: 'Report a problem or issue' },
5
+ { id: 'feature', label: 'Feature Request', icon: 'bulb', color: '#007AFF', description: 'Suggest a new feature' },
6
+ { id: 'general', label: 'General Feedback', icon: 'chatbubble', color: '#34C759', description: 'Share your thoughts' },
7
+ { id: 'support', label: 'Support Request', icon: 'help-circle', color: '#FF9500', description: 'Get help with something' },
8
+ ];
9
+
10
+ export const PRIORITY_LEVELS: PriorityLevel[] = [
11
+ { id: 'low', label: 'Low', icon: 'arrow-down', color: '#34C759' },
12
+ { id: 'medium', label: 'Medium', icon: 'remove', color: '#FF9500' },
13
+ { id: 'high', label: 'High', icon: 'arrow-up', color: '#FF3B30' },
14
+ { id: 'critical', label: 'Critical', icon: 'warning', color: '#FF0000' },
15
+ ];
16
+
17
+ export const CATEGORIES: Record<string, string[]> = {
18
+ bug: ['UI/UX', 'Performance', 'Authentication', 'File Management', 'Billing', 'Other'],
19
+ feature: ['User Interface', 'File Management', 'Security', 'Performance', 'Integration', 'Other'],
20
+ general: ['User Experience', 'Design', 'Performance', 'Documentation', 'Other'],
21
+ support: ['Account Issues', 'Billing', 'Technical Problems', 'Feature Questions', 'Other'],
22
+ };