@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
@@ -0,0 +1,375 @@
1
+ "use strict";
2
+
3
+ import { OxyAuthenticationError } from '../OxyServices.errors';
4
+ /**
5
+ * Redirect-based Cross-Domain Authentication Mixin
6
+ *
7
+ * Implements traditional OAuth2 redirect flow as a fallback when popup or
8
+ * FedCM are not available or fail (e.g., mobile browsers, popup blockers).
9
+ *
10
+ * Flow:
11
+ * 1. Save current URL
12
+ * 2. Redirect to auth.oxy.so/login
13
+ * 3. User signs in
14
+ * 4. Redirect back with token in URL
15
+ * 5. Extract token, restore session, clean URL
16
+ *
17
+ * Features:
18
+ * - Works on all browsers (including old mobile browsers)
19
+ * - Automatic URL cleanup after auth
20
+ * - State preservation option
21
+ * - CSRF protection via state parameter
22
+ *
23
+ * Trade-offs:
24
+ * - Loses JavaScript app state (full page navigation)
25
+ * - Visible redirect (user sees navigation)
26
+ * - Slower perceived performance
27
+ */
28
+ export function OxyServicesRedirectAuthMixin(Base) {
29
+ return class extends Base {
30
+ constructor(...args) {
31
+ super(...args);
32
+ }
33
+ static AUTH_URL = 'https://auth.oxy.so';
34
+ static TOKEN_STORAGE_KEY = 'oxy_access_token';
35
+ static SESSION_STORAGE_KEY = 'oxy_session_id';
36
+ static STATE_STORAGE_KEY = 'oxy_auth_state';
37
+ static PRE_AUTH_URL_KEY = 'oxy_pre_auth_url';
38
+ static NONCE_STORAGE_KEY = 'oxy_auth_nonce';
39
+
40
+ /**
41
+ * Sign in using full page redirect
42
+ *
43
+ * Redirects the user to auth.oxy.so for authentication. After successful
44
+ * sign-in, the user will be redirected back to the current page (or custom
45
+ * redirect URI) with authentication tokens in the URL.
46
+ *
47
+ * Call handleAuthCallback() on app startup to complete the flow.
48
+ *
49
+ * @param options - Redirect configuration options
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Initiate sign-in
54
+ * const handleSignIn = () => {
55
+ * oxyServices.signInWithRedirect();
56
+ * };
57
+ *
58
+ * // Handle callback on app startup
59
+ * useEffect(() => {
60
+ * const session = oxyServices.handleAuthCallback();
61
+ * if (session) {
62
+ * setUser(session.user);
63
+ * }
64
+ * }, []);
65
+ * ```
66
+ */
67
+ signInWithRedirect(options = {}) {
68
+ if (typeof window === 'undefined') {
69
+ throw new OxyAuthenticationError('Redirect authentication requires browser environment');
70
+ }
71
+ const redirectUri = options.redirectUri || window.location.href;
72
+ const mode = options.mode || 'login';
73
+ const state = this.generateState();
74
+ const nonce = this.generateNonce();
75
+
76
+ // Store state for CSRF protection
77
+ this.storeAuthState(state, nonce);
78
+
79
+ // Save current URL to restore after auth (optional)
80
+ if (options.preserveUrl !== false) {
81
+ this.savePreAuthUrl(window.location.href);
82
+ }
83
+ const authUrl = this.buildAuthUrl({
84
+ mode,
85
+ redirectUri,
86
+ state,
87
+ nonce,
88
+ clientId: window.location.origin
89
+ });
90
+
91
+ // Perform redirect
92
+ window.location.href = authUrl;
93
+ }
94
+
95
+ /**
96
+ * Sign up using full page redirect
97
+ *
98
+ * Same as signInWithRedirect but opens the signup page by default.
99
+ */
100
+ signUpWithRedirect(options = {}) {
101
+ this.signInWithRedirect({
102
+ ...options,
103
+ mode: 'signup'
104
+ });
105
+ }
106
+
107
+ /**
108
+ * Handle authentication callback
109
+ *
110
+ * Call this on app startup to check if the current page load is a
111
+ * redirect back from the authentication server. If it is, this method
112
+ * will extract the tokens, store them, and clean up the URL.
113
+ *
114
+ * @returns Session data if this is a callback, null otherwise
115
+ * @throws {OxyAuthenticationError} If state validation fails (CSRF attack)
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * // In your app's root component or startup logic
120
+ * useEffect(() => {
121
+ * try {
122
+ * const session = oxyServices.handleAuthCallback();
123
+ * if (session) {
124
+ * console.log('Logged in:', session.user);
125
+ * setUser(session.user);
126
+ * } else {
127
+ * // Not a callback, check for existing session
128
+ * const restored = oxyServices.restoreSession();
129
+ * if (!restored) {
130
+ * // No session, show login button
131
+ * }
132
+ * }
133
+ * } catch (error) {
134
+ * console.error('Auth callback failed:', error);
135
+ * }
136
+ * }, []);
137
+ * ```
138
+ */
139
+ handleAuthCallback() {
140
+ if (typeof window === 'undefined') {
141
+ return null;
142
+ }
143
+ const url = new URL(window.location.href);
144
+ const accessToken = url.searchParams.get('access_token');
145
+ const sessionId = url.searchParams.get('session_id');
146
+ const expiresAt = url.searchParams.get('expires_at');
147
+ const state = url.searchParams.get('state');
148
+ const error = url.searchParams.get('error');
149
+ const errorDescription = url.searchParams.get('error_description');
150
+
151
+ // Check if this is an error callback
152
+ if (error) {
153
+ this.clearAuthState();
154
+ throw new OxyAuthenticationError(errorDescription || error);
155
+ }
156
+
157
+ // Check if this is an auth callback
158
+ if (!accessToken || !sessionId) {
159
+ return null; // Not a callback
160
+ }
161
+
162
+ // Verify state to prevent CSRF attacks
163
+ const savedState = this.getStoredState();
164
+ if (!savedState || state !== savedState) {
165
+ this.clearAuthState();
166
+ throw new OxyAuthenticationError('Invalid state parameter. Possible CSRF attack.');
167
+ }
168
+
169
+ // Store tokens
170
+ this.storeTokens(accessToken, sessionId);
171
+ this.httpService.setTokens(accessToken);
172
+
173
+ // Build session response (minimal - we'll fetch full user data separately)
174
+ const session = {
175
+ sessionId,
176
+ deviceId: '',
177
+ // Not available in redirect flow
178
+ expiresAt: expiresAt || new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
179
+ user: {} // Will be fetched separately
180
+ };
181
+
182
+ // Clean up URL (remove auth parameters)
183
+ this.cleanAuthCallbackUrl(url);
184
+
185
+ // Clean up storage
186
+ this.clearAuthState();
187
+ return session;
188
+ }
189
+
190
+ /**
191
+ * Restore session from storage
192
+ *
193
+ * Attempts to restore a previously authenticated session from localStorage.
194
+ * Call this on app startup if handleAuthCallback() returns null.
195
+ *
196
+ * @returns True if session was restored, false otherwise
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * useEffect(() => {
201
+ * const session = oxyServices.handleAuthCallback();
202
+ * if (!session) {
203
+ * const restored = oxyServices.restoreSession();
204
+ * if (!restored) {
205
+ * // No session, user needs to sign in
206
+ * setShowLogin(true);
207
+ * }
208
+ * }
209
+ * }, []);
210
+ * ```
211
+ */
212
+ restoreSession() {
213
+ if (typeof window === 'undefined') {
214
+ return false;
215
+ }
216
+ const token = localStorage.getItem(this.constructor.TOKEN_STORAGE_KEY);
217
+ const sessionId = localStorage.getItem(this.constructor.SESSION_STORAGE_KEY);
218
+ if (token && sessionId) {
219
+ this.httpService.setTokens(token);
220
+ return true;
221
+ }
222
+ return false;
223
+ }
224
+
225
+ /**
226
+ * Clear stored session
227
+ *
228
+ * Removes all authentication data from storage. Call this on logout.
229
+ */
230
+ clearStoredSession() {
231
+ if (typeof window === 'undefined') {
232
+ return;
233
+ }
234
+ localStorage.removeItem(this.constructor.TOKEN_STORAGE_KEY);
235
+ localStorage.removeItem(this.constructor.SESSION_STORAGE_KEY);
236
+ this.httpService.clearTokens();
237
+ }
238
+
239
+ /**
240
+ * Get stored session ID
241
+ */
242
+ getStoredSessionId() {
243
+ if (typeof window === 'undefined') {
244
+ return null;
245
+ }
246
+ return localStorage.getItem(this.constructor.SESSION_STORAGE_KEY);
247
+ }
248
+
249
+ /**
250
+ * Build authentication URL with query parameters
251
+ *
252
+ * @private
253
+ */
254
+ buildAuthUrl(params) {
255
+ const url = new URL(`${this.constructor.AUTH_URL}/${params.mode}`);
256
+ url.searchParams.set('redirect_uri', params.redirectUri);
257
+ url.searchParams.set('state', params.state);
258
+ url.searchParams.set('nonce', params.nonce);
259
+ url.searchParams.set('client_id', params.clientId);
260
+ url.searchParams.set('response_type', 'token');
261
+ return url.toString();
262
+ }
263
+
264
+ /**
265
+ * Store tokens in localStorage
266
+ *
267
+ * @private
268
+ */
269
+ storeTokens(accessToken, sessionId) {
270
+ if (typeof window === 'undefined') {
271
+ return;
272
+ }
273
+ localStorage.setItem(this.constructor.TOKEN_STORAGE_KEY, accessToken);
274
+ localStorage.setItem(this.constructor.SESSION_STORAGE_KEY, sessionId);
275
+ }
276
+
277
+ /**
278
+ * Generate cryptographically secure state for CSRF protection
279
+ *
280
+ * @private
281
+ */
282
+ generateState() {
283
+ if (typeof window !== 'undefined' && window.crypto && window.crypto.randomUUID) {
284
+ return window.crypto.randomUUID();
285
+ }
286
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
287
+ }
288
+
289
+ /**
290
+ * Generate nonce for replay attack prevention
291
+ *
292
+ * @private
293
+ */
294
+ generateNonce() {
295
+ if (typeof window !== 'undefined' && window.crypto && window.crypto.randomUUID) {
296
+ return window.crypto.randomUUID();
297
+ }
298
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
299
+ }
300
+
301
+ /**
302
+ * Store auth state in session storage
303
+ *
304
+ * @private
305
+ */
306
+ storeAuthState(state, nonce) {
307
+ if (typeof window === 'undefined') {
308
+ return;
309
+ }
310
+ sessionStorage.setItem(this.constructor.STATE_STORAGE_KEY, state);
311
+ sessionStorage.setItem(this.constructor.NONCE_STORAGE_KEY, nonce);
312
+ }
313
+
314
+ /**
315
+ * Get stored state
316
+ *
317
+ * @private
318
+ */
319
+ getStoredState() {
320
+ if (typeof window === 'undefined') {
321
+ return null;
322
+ }
323
+ return sessionStorage.getItem(this.constructor.STATE_STORAGE_KEY);
324
+ }
325
+
326
+ /**
327
+ * Clear auth state from storage
328
+ *
329
+ * @private
330
+ */
331
+ clearAuthState() {
332
+ if (typeof window === 'undefined') {
333
+ return;
334
+ }
335
+ sessionStorage.removeItem(this.constructor.STATE_STORAGE_KEY);
336
+ sessionStorage.removeItem(this.constructor.NONCE_STORAGE_KEY);
337
+ sessionStorage.removeItem(this.constructor.PRE_AUTH_URL_KEY);
338
+ }
339
+
340
+ /**
341
+ * Save pre-authentication URL to restore later
342
+ *
343
+ * @private
344
+ */
345
+ savePreAuthUrl(url) {
346
+ if (typeof window === 'undefined') {
347
+ return;
348
+ }
349
+ sessionStorage.setItem(this.constructor.PRE_AUTH_URL_KEY, url);
350
+ }
351
+
352
+ /**
353
+ * Clean authentication parameters from URL
354
+ *
355
+ * @private
356
+ */
357
+ cleanAuthCallbackUrl(url) {
358
+ // Remove auth parameters
359
+ url.searchParams.delete('access_token');
360
+ url.searchParams.delete('session_id');
361
+ url.searchParams.delete('expires_at');
362
+ url.searchParams.delete('state');
363
+ url.searchParams.delete('nonce');
364
+ url.searchParams.delete('error');
365
+ url.searchParams.delete('error_description');
366
+
367
+ // Update URL without reloading page
368
+ window.history.replaceState({}, '', url.toString());
369
+ }
370
+ };
371
+ }
372
+
373
+ // Export the mixin function as both named and default
374
+ export { OxyServicesRedirectAuthMixin as RedirectAuthMixin };
375
+ //# sourceMappingURL=OxyServices.redirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["OxyAuthenticationError","OxyServicesRedirectAuthMixin","Base","constructor","args","AUTH_URL","TOKEN_STORAGE_KEY","SESSION_STORAGE_KEY","STATE_STORAGE_KEY","PRE_AUTH_URL_KEY","NONCE_STORAGE_KEY","signInWithRedirect","options","window","redirectUri","location","href","mode","state","generateState","nonce","generateNonce","storeAuthState","preserveUrl","savePreAuthUrl","authUrl","buildAuthUrl","clientId","origin","signUpWithRedirect","handleAuthCallback","url","URL","accessToken","searchParams","get","sessionId","expiresAt","error","errorDescription","clearAuthState","savedState","getStoredState","storeTokens","httpService","setTokens","session","deviceId","Date","now","toISOString","user","cleanAuthCallbackUrl","restoreSession","token","localStorage","getItem","clearStoredSession","removeItem","clearTokens","getStoredSessionId","params","set","toString","setItem","crypto","randomUUID","Math","random","substring","sessionStorage","delete","history","replaceState","RedirectAuthMixin"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.redirect.ts"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,8 @@ export function OxyServicesUserMixin(Base) {
16
16
  async getProfileByUsername(username) {
17
17
  try {
18
18
  return await this.makeRequest('GET', `/api/profiles/username/${username}`, undefined, {
19
- cache: false // Never cache profiles
19
+ cache: true,
20
+ cacheTTL: 5 * 60 * 1000 // 5 minutes cache for profiles
20
21
  });
21
22
  } catch (error) {
22
23
  throw this.handleError(error);
@@ -35,7 +36,8 @@ export function OxyServicesUserMixin(Base) {
35
36
  const searchParams = buildSearchParams(params);
36
37
  const paramsObj = Object.fromEntries(searchParams.entries());
37
38
  const response = await this.makeRequest('GET', '/api/profiles/search', paramsObj, {
38
- cache: false // Never cache profiles
39
+ cache: true,
40
+ cacheTTL: 2 * 60 * 1000 // 2 minutes cache
39
41
  });
40
42
 
41
43
  // New API shape: { data: User[], pagination: {...} }
@@ -82,7 +84,7 @@ export function OxyServicesUserMixin(Base) {
82
84
  async getProfileRecommendations() {
83
85
  return this.withAuthRetry(async () => {
84
86
  return await this.makeRequest('GET', '/api/profiles/recommendations', undefined, {
85
- cache: false
87
+ cache: true
86
88
  });
87
89
  }, 'getProfileRecommendations');
88
90
  }
@@ -93,7 +95,8 @@ export function OxyServicesUserMixin(Base) {
93
95
  async getUserById(userId) {
94
96
  try {
95
97
  return await this.makeRequest('GET', `/api/users/${userId}`, undefined, {
96
- cache: false // Never cache profiles
98
+ cache: true,
99
+ cacheTTL: 5 * 60 * 1000 // 5 minutes cache
97
100
  });
98
101
  } catch (error) {
99
102
  throw this.handleError(error);
@@ -102,18 +105,19 @@ export function OxyServicesUserMixin(Base) {
102
105
 
103
106
  /**
104
107
  * Get current user
105
- * Services never caches profile - always fetch fresh from backend
106
108
  */
107
109
  async getCurrentUser() {
108
110
  return this.withAuthRetry(async () => {
109
111
  return await this.makeRequest('GET', '/api/users/me', undefined, {
110
- cache: false // Services never caches profile - only tokens
112
+ cache: true,
113
+ cacheTTL: 1 * 60 * 1000 // 1 minute cache for current user
111
114
  });
112
115
  }, 'getCurrentUser');
113
116
  }
114
117
 
115
118
  /**
116
119
  * Update user profile
120
+ * TanStack Query handles offline queuing automatically
117
121
  */
118
122
  async updateProfile(updates) {
119
123
  try {
@@ -121,24 +125,33 @@ export function OxyServicesUserMixin(Base) {
121
125
  cache: false
122
126
  });
123
127
  } catch (error) {
128
+ const errorAny = error;
129
+ const errorMessage = error instanceof Error ? error.message : String(error);
130
+ const status = errorAny?.status || errorAny?.response?.status;
131
+
132
+ // Check if it's an authentication error (401)
133
+ const isAuthError = status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header');
134
+
135
+ // If authentication error and we don't have a token, this might be an offline session
136
+ // The caller should handle syncing the session before retrying
137
+ if (isAuthError && !this.hasValidToken()) {
138
+ // Re-throw with a specific message so the caller knows to sync
139
+ throw new Error('AUTH_REQUIRED_OFFLINE_SESSION: Session needs to be synced to get a token');
140
+ }
124
141
  throw this.handleError(error);
125
142
  }
126
143
  }
127
144
 
128
145
  /**
129
146
  * Get privacy settings for a user
130
- * @param userId - The user ID (MongoDB ObjectId, defaults to current user)
147
+ * @param userId - The user ID (defaults to current user)
131
148
  */
132
149
  async getPrivacySettings(userId) {
133
150
  try {
134
- // Use getCurrentUserId() which returns MongoDB ObjectId from JWT token
135
- // Never use getCurrentUser().id as it may be set to publicKey
136
- const id = userId || this.getCurrentUserId();
137
- if (!id) {
138
- throw new Error('User ID is required');
139
- }
151
+ const id = userId || (await this.getCurrentUser()).id;
140
152
  return await this.makeRequest('GET', `/api/privacy/${id}/privacy`, undefined, {
141
- cache: false
153
+ cache: true,
154
+ cacheTTL: 2 * 60 * 1000 // 2 minutes cache
142
155
  });
143
156
  } catch (error) {
144
157
  throw this.handleError(error);
@@ -148,16 +161,11 @@ export function OxyServicesUserMixin(Base) {
148
161
  /**
149
162
  * Update privacy settings
150
163
  * @param settings - Partial privacy settings object
151
- * @param userId - The user ID (MongoDB ObjectId, defaults to current user)
164
+ * @param userId - The user ID (defaults to current user)
152
165
  */
153
166
  async updatePrivacySettings(settings, userId) {
154
167
  try {
155
- // Use getCurrentUserId() which returns MongoDB ObjectId from JWT token
156
- // Never use getCurrentUser().id as it may be set to publicKey
157
- const id = userId || this.getCurrentUserId();
158
- if (!id) {
159
- throw new Error('User ID is required');
160
- }
168
+ const id = userId || (await this.getCurrentUser()).id;
161
169
  return await this.makeRequest('PATCH', `/api/privacy/${id}/privacy`, settings, {
162
170
  cache: false
163
171
  });
@@ -252,7 +260,8 @@ export function OxyServicesUserMixin(Base) {
252
260
  async getFollowStatus(userId) {
253
261
  try {
254
262
  return await this.makeRequest('GET', `/api/users/${userId}/follow-status`, undefined, {
255
- cache: false
263
+ cache: true,
264
+ cacheTTL: 1 * 60 * 1000 // 1 minute cache
256
265
  });
257
266
  } catch (error) {
258
267
  throw this.handleError(error);
@@ -266,7 +275,8 @@ export function OxyServicesUserMixin(Base) {
266
275
  try {
267
276
  const params = buildPaginationParams(pagination || {});
268
277
  const response = await this.makeRequest('GET', `/api/users/${userId}/followers`, params, {
269
- cache: false
278
+ cache: true,
279
+ cacheTTL: 2 * 60 * 1000 // 2 minutes cache
270
280
  });
271
281
  return {
272
282
  followers: response.data || [],
@@ -285,7 +295,8 @@ export function OxyServicesUserMixin(Base) {
285
295
  try {
286
296
  const params = buildPaginationParams(pagination || {});
287
297
  const response = await this.makeRequest('GET', `/api/users/${userId}/following`, params, {
288
- cache: false
298
+ cache: true,
299
+ cacheTTL: 2 * 60 * 1000 // 2 minutes cache
289
300
  });
290
301
  return {
291
302
  following: response.data || [],
@@ -1 +1 @@
1
- {"version":3,"names":["buildSearchParams","buildPaginationParams","OxyServicesUserMixin","Base","constructor","args","getProfileByUsername","username","makeRequest","undefined","cache","error","handleError","searchProfiles","query","pagination","params","searchParams","paramsObj","Object","fromEntries","entries","response","isSearchProfilesResponse","payload","Array","isArray","data","typedResponse","paginationInfo","total","length","limit","offset","hasMore","fallbackLimit","fallbackPagination","Error","getProfileRecommendations","withAuthRetry","getUserById","userId","getCurrentUser","updateProfile","updates","getPrivacySettings","id","getCurrentUserId","updatePrivacySettings","settings","requestAccountVerification","reason","evidence","downloadAccountData","format","result","getClient","request","method","url","deleteAccount","password","confirmText","followUser","unfollowUser","getFollowStatus","getUserFollowers","followers","getUserFollowing","following","getNotifications","getUnreadCount","res","count","createNotification","markNotificationAsRead","notificationId","markAllNotificationsAsRead","deleteNotification"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.user.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["buildSearchParams","buildPaginationParams","OxyServicesUserMixin","Base","constructor","args","getProfileByUsername","username","makeRequest","undefined","cache","cacheTTL","error","handleError","searchProfiles","query","pagination","params","searchParams","paramsObj","Object","fromEntries","entries","response","isSearchProfilesResponse","payload","Array","isArray","data","typedResponse","paginationInfo","total","length","limit","offset","hasMore","fallbackLimit","fallbackPagination","Error","getProfileRecommendations","withAuthRetry","getUserById","userId","getCurrentUser","updateProfile","updates","errorAny","errorMessage","message","String","status","isAuthError","includes","hasValidToken","getPrivacySettings","id","updatePrivacySettings","settings","requestAccountVerification","reason","evidence","downloadAccountData","format","result","getClient","request","method","url","deleteAccount","password","confirmText","followUser","unfollowUser","getFollowStatus","getUserFollowers","followers","getUserFollowing","following","getNotifications","getUnreadCount","res","count","createNotification","markNotificationAsRead","notificationId","markAllNotificationsAsRead","deleteNotification"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.user.ts"],"mappings":"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","ignoreList":[]}
@@ -9,6 +9,9 @@
9
9
 
10
10
  import { OxyServicesBase } from '../OxyServices.base';
11
11
  import { OxyServicesAuthMixin } from './OxyServices.auth';
12
+ import { OxyServicesFedCMMixin } from './OxyServices.fedcm';
13
+ import { OxyServicesPopupAuthMixin } from './OxyServices.popup';
14
+ import { OxyServicesRedirectAuthMixin } from './OxyServices.redirect';
12
15
  import { OxyServicesUserMixin } from './OxyServices.user';
13
16
  import { OxyServicesPrivacyMixin } from './OxyServices.privacy';
14
17
  import { OxyServicesLanguageMixin } from './OxyServices.language';
@@ -21,16 +24,26 @@ import { OxyServicesAnalyticsMixin } from './OxyServices.analytics';
21
24
  import { OxyServicesDevicesMixin } from './OxyServices.devices';
22
25
  import { OxyServicesSecurityMixin } from './OxyServices.security';
23
26
  import { OxyServicesUtilityMixin } from './OxyServices.utility';
27
+ import { OxyServicesFeaturesMixin } from './OxyServices.features';
24
28
 
25
29
  /**
26
30
  * Composes all OxyServices mixins in the correct order
27
- *
31
+ *
28
32
  * Order matters for mixins - dependencies should be applied first.
29
33
  * This function ensures consistent composition across the codebase.
30
- *
34
+ *
35
+ * New cross-domain auth mixins added:
36
+ * - FedCM: Modern browser-native identity federation (Google-style)
37
+ * - Popup: OAuth2-style popup authentication
38
+ * - Redirect: Traditional redirect-based authentication
39
+ *
31
40
  * @returns The fully composed OxyServices class with all mixins applied
32
41
  */
33
42
  export function composeOxyServices() {
34
- return OxyServicesUtilityMixin(OxyServicesSecurityMixin(OxyServicesDevicesMixin(OxyServicesAnalyticsMixin(OxyServicesLocationMixin(OxyServicesDeveloperMixin(OxyServicesAssetsMixin(OxyServicesKarmaMixin(OxyServicesPaymentMixin(OxyServicesLanguageMixin(OxyServicesPrivacyMixin(OxyServicesUserMixin(OxyServicesAuthMixin(OxyServicesBase)))))))))))));
43
+ return OxyServicesUtilityMixin(OxyServicesFeaturesMixin(OxyServicesSecurityMixin(OxyServicesDevicesMixin(OxyServicesAnalyticsMixin(OxyServicesLocationMixin(OxyServicesDeveloperMixin(OxyServicesAssetsMixin(OxyServicesKarmaMixin(OxyServicesPaymentMixin(OxyServicesLanguageMixin(OxyServicesPrivacyMixin(OxyServicesUserMixin(
44
+ // Cross-domain authentication mixins (web-only)
45
+ OxyServicesRedirectAuthMixin(OxyServicesPopupAuthMixin(OxyServicesFedCMMixin(
46
+ // Base authentication mixin
47
+ OxyServicesAuthMixin(OxyServicesBase)))))))))))))))));
35
48
  }
36
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OxyServicesBase","OxyServicesAuthMixin","OxyServicesUserMixin","OxyServicesPrivacyMixin","OxyServicesLanguageMixin","OxyServicesPaymentMixin","OxyServicesKarmaMixin","OxyServicesAssetsMixin","OxyServicesDeveloperMixin","OxyServicesLocationMixin","OxyServicesAnalyticsMixin","OxyServicesDevicesMixin","OxyServicesSecurityMixin","OxyServicesUtilityMixin","composeOxyServices"],"sourceRoot":"../../../../src","sources":["core/mixins/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,sBAAsB,QAAQ,sBAAsB;AAC7D,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,uBAAuB,QAAQ,uBAAuB;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAOD,uBAAuB,CAC5BD,wBAAwB,CACtBD,uBAAuB,CACrBD,yBAAyB,CACvBD,wBAAwB,CACtBD,yBAAyB,CACvBD,sBAAsB,CACpBD,qBAAqB,CACnBD,uBAAuB,CACrBD,wBAAwB,CACtBD,uBAAuB,CACrBD,oBAAoB,CAClBD,oBAAoB,CAACD,eAAe,CACtC,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["OxyServicesBase","OxyServicesAuthMixin","OxyServicesFedCMMixin","OxyServicesPopupAuthMixin","OxyServicesRedirectAuthMixin","OxyServicesUserMixin","OxyServicesPrivacyMixin","OxyServicesLanguageMixin","OxyServicesPaymentMixin","OxyServicesKarmaMixin","OxyServicesAssetsMixin","OxyServicesDeveloperMixin","OxyServicesLocationMixin","OxyServicesAnalyticsMixin","OxyServicesDevicesMixin","OxyServicesSecurityMixin","OxyServicesUtilityMixin","OxyServicesFeaturesMixin","composeOxyServices"],"sourceRoot":"../../../../src","sources":["core/mixins/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,eAAe,QAAQ,qBAAqB;AACrD,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,yBAAyB,QAAQ,qBAAqB;AAC/D,SAASC,4BAA4B,QAAQ,wBAAwB;AACrE,SAASC,oBAAoB,QAAQ,oBAAoB;AACzD,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,qBAAqB,QAAQ,qBAAqB;AAC3D,SAASC,sBAAsB,QAAQ,sBAAsB;AAC7D,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;AACjE,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,wBAAwB,QAAQ,wBAAwB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,OAAOF,uBAAuB,CAC5BC,wBAAwB,CACtBF,wBAAwB,CACtBD,uBAAuB,CACrBD,yBAAyB,CACvBD,wBAAwB,CACtBD,yBAAyB,CACvBD,sBAAsB,CACpBD,qBAAqB,CACnBD,uBAAuB,CACrBD,wBAAwB,CACtBD,uBAAuB,CACrBD,oBAAoB;EAClB;EACAD,4BAA4B,CAC1BD,yBAAyB,CACvBD,qBAAqB;EACnB;EACAD,oBAAoB,CAACD,eAAe,CACtC,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CACF,CAAC;AACH","ignoreList":[]}
@@ -3,12 +3,16 @@
3
3
  /**
4
4
  * Oxy Crypto Module
5
5
  *
6
- * Provides type definitions and polyfills for crypto operations.
7
- * Identity management (KeyManager, SignatureService) belongs ONLY in the Accounts app.
6
+ * Provides cryptographic identity management for the Oxy ecosystem.
7
+ * Handles key generation, secure storage, digital signatures, and recovery phrases.
8
8
  */
9
9
 
10
- // Import polyfills first - this ensures Buffer is available for crypto libraries
10
+ // Import polyfills first - this ensures Buffer is available for bip39 and other libraries
11
11
  import './polyfill';
12
+ export { KeyManager } from './keyManager';
13
+ export { SignatureService } from './signatureService';
14
+ export { RecoveryPhraseService } from './recoveryPhrase';
12
15
 
13
- // Only export types - actual identity operations are in Accounts app
16
+ // Re-export for convenience
17
+ export { KeyManager as default } from './keyManager';
14
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,YAAY;;AAEnB","ignoreList":[]}
1
+ {"version":3,"names":["KeyManager","SignatureService","RecoveryPhraseService","default"],"sourceRoot":"../../../src","sources":["crypto/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,YAAY;AAEnB,SAASA,UAAU,QAAsB,cAAc;AACvD,SACEC,gBAAgB,QAGX,oBAAoB;AAC3B,SACEC,qBAAqB,QAEhB,kBAAkB;;AAEzB;AACA,SAASF,UAAU,IAAIG,OAAO,QAAQ,cAAc","ignoreList":[]}