@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,352 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PopupAuthMixin = exports.OxyServicesPopupAuthMixin = OxyServicesPopupAuthMixin;
7
+ var _OxyServices = require("../OxyServices.errors");
8
+ /**
9
+ * Popup-based Cross-Domain Authentication Mixin
10
+ *
11
+ * Implements OAuth2-style authentication using popup windows and postMessage.
12
+ * This is the primary authentication method for modern browsers, providing a
13
+ * Google-like experience without full page redirects.
14
+ *
15
+ * Flow:
16
+ * 1. Opens small popup window to auth.oxy.so
17
+ * 2. User signs in (auth.oxy.so sets its own first-party cookie)
18
+ * 3. auth.oxy.so sends token back via postMessage
19
+ * 4. Popup closes, parent app has the session
20
+ *
21
+ * Features:
22
+ * - No full page redirect (preserves app state)
23
+ * - Works across different domains (homiio.com, mention.earth, etc.)
24
+ * - Silent refresh using hidden iframe for seamless SSO
25
+ * - CSRF protection via state parameter
26
+ * - XSS protection via origin validation
27
+ *
28
+ * Browser Support: All modern browsers (IE11+)
29
+ */
30
+ function OxyServicesPopupAuthMixin(Base) {
31
+ return class extends Base {
32
+ constructor(...args) {
33
+ super(...args);
34
+ }
35
+ static AUTH_URL = 'https://auth.oxy.so';
36
+ static POPUP_WIDTH = 500;
37
+ static POPUP_HEIGHT = 700;
38
+ static POPUP_TIMEOUT = 60000; // 1 minute
39
+ static SILENT_TIMEOUT = 5000; // 5 seconds
40
+
41
+ /**
42
+ * Sign in using popup window
43
+ *
44
+ * Opens a centered popup window to auth.oxy.so where the user can sign in.
45
+ * The popup automatically closes after successful authentication and the
46
+ * session is returned to the parent window.
47
+ *
48
+ * @param options - Popup configuration options
49
+ * @returns Session with access token and user data
50
+ * @throws {OxyAuthenticationError} If popup is blocked or auth fails
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const handleSignIn = async () => {
55
+ * try {
56
+ * const session = await oxyServices.signInWithPopup();
57
+ * console.log('Signed in:', session.user);
58
+ * } catch (error) {
59
+ * if (error.message.includes('blocked')) {
60
+ * alert('Please allow popups for this site');
61
+ * }
62
+ * }
63
+ * };
64
+ * ```
65
+ */
66
+ async signInWithPopup(options = {}) {
67
+ if (typeof window === 'undefined') {
68
+ throw new _OxyServices.OxyAuthenticationError('Popup authentication requires browser environment');
69
+ }
70
+ const state = this.generateState();
71
+ const nonce = this.generateNonce();
72
+
73
+ // Store state for CSRF protection
74
+ this.storeAuthState(state, nonce);
75
+ const width = options.width || this.constructor.POPUP_WIDTH;
76
+ const height = options.height || this.constructor.POPUP_HEIGHT;
77
+ const timeout = options.timeout || this.constructor.POPUP_TIMEOUT;
78
+ const mode = options.mode || 'login';
79
+ const authUrl = this.buildAuthUrl({
80
+ mode,
81
+ state,
82
+ nonce,
83
+ clientId: window.location.origin,
84
+ redirectUri: `${this.constructor.AUTH_URL}/auth/callback`
85
+ });
86
+ const popup = this.openCenteredPopup(authUrl, 'Oxy Sign In', width, height);
87
+ if (!popup) {
88
+ throw new _OxyServices.OxyAuthenticationError('Popup blocked. Please allow popups for this site and try again.');
89
+ }
90
+ try {
91
+ const session = await this.waitForPopupAuth(popup, state, timeout);
92
+
93
+ // Store access token if present
94
+ if (session && session.accessToken) {
95
+ this.httpService.setTokens(session.accessToken);
96
+ }
97
+ return session;
98
+ } catch (error) {
99
+ throw error;
100
+ } finally {
101
+ this.clearAuthState(state);
102
+ }
103
+ }
104
+
105
+ /**
106
+ * Sign up using popup window
107
+ *
108
+ * Same as signInWithPopup but opens the signup page by default.
109
+ *
110
+ * @param options - Popup configuration options
111
+ * @returns Session with access token and user data
112
+ */
113
+ async signUpWithPopup(options = {}) {
114
+ return this.signInWithPopup({
115
+ ...options,
116
+ mode: 'signup'
117
+ });
118
+ }
119
+
120
+ /**
121
+ * Silent sign-in using hidden iframe
122
+ *
123
+ * Attempts to automatically re-authenticate the user without any UI.
124
+ * This is what enables seamless SSO across all Oxy domains.
125
+ *
126
+ * How it works:
127
+ * 1. Creates hidden iframe pointing to auth.oxy.so/silent-auth
128
+ * 2. If user has valid session at auth.oxy.so, it sends token via postMessage
129
+ * 3. If not, iframe responds with null (no error thrown)
130
+ *
131
+ * This should be called on app startup to check for existing sessions.
132
+ *
133
+ * @param options - Silent auth options
134
+ * @returns Session if user is signed in, null otherwise
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * useEffect(() => {
139
+ * const checkAuth = async () => {
140
+ * const session = await oxyServices.silentSignIn();
141
+ * if (session) {
142
+ * setUser(session.user);
143
+ * }
144
+ * };
145
+ * checkAuth();
146
+ * }, []);
147
+ * ```
148
+ */
149
+ async silentSignIn(options = {}) {
150
+ if (typeof window === 'undefined') {
151
+ return null;
152
+ }
153
+ const timeout = options.timeout || this.constructor.SILENT_TIMEOUT;
154
+ const nonce = this.generateNonce();
155
+ const clientId = window.location.origin;
156
+ const iframe = document.createElement('iframe');
157
+ iframe.style.display = 'none';
158
+ iframe.style.position = 'absolute';
159
+ iframe.style.width = '0';
160
+ iframe.style.height = '0';
161
+ iframe.style.border = 'none';
162
+ const silentUrl = `${this.constructor.AUTH_URL}/auth/silent?` + `client_id=${encodeURIComponent(clientId)}&` + `nonce=${nonce}`;
163
+ iframe.src = silentUrl;
164
+ document.body.appendChild(iframe);
165
+ try {
166
+ const session = await this.waitForIframeAuth(iframe, timeout, clientId);
167
+ if (session && session.accessToken) {
168
+ this.httpService.setTokens(session.accessToken);
169
+ }
170
+ return session;
171
+ } catch (error) {
172
+ return null;
173
+ } finally {
174
+ document.body.removeChild(iframe);
175
+ }
176
+ }
177
+
178
+ /**
179
+ * Open a centered popup window
180
+ *
181
+ * @private
182
+ */
183
+ openCenteredPopup(url, title, width, height) {
184
+ const left = window.screenX + (window.outerWidth - width) / 2;
185
+ const top = window.screenY + (window.outerHeight - height) / 2;
186
+ const features = [`width=${width}`, `height=${height}`, `left=${left}`, `top=${top}`, 'toolbar=no', 'menubar=no', 'scrollbars=yes', 'resizable=yes', 'status=no', 'location=no'].join(',');
187
+ return window.open(url, title, features);
188
+ }
189
+
190
+ /**
191
+ * Wait for authentication response from popup
192
+ *
193
+ * @private
194
+ */
195
+ async waitForPopupAuth(popup, expectedState, timeout) {
196
+ return new Promise((resolve, reject) => {
197
+ const timeoutId = setTimeout(() => {
198
+ cleanup();
199
+ reject(new _OxyServices.OxyAuthenticationError('Authentication timeout'));
200
+ }, timeout);
201
+ const messageHandler = event => {
202
+ // CRITICAL: Verify origin to prevent XSS attacks
203
+ if (event.origin !== this.constructor.AUTH_URL) {
204
+ return;
205
+ }
206
+ const {
207
+ type,
208
+ state,
209
+ session,
210
+ error
211
+ } = event.data;
212
+ if (type !== 'oxy_auth_response') {
213
+ return;
214
+ }
215
+
216
+ // Verify state parameter to prevent CSRF attacks
217
+ if (state !== expectedState) {
218
+ cleanup();
219
+ reject(new _OxyServices.OxyAuthenticationError('Invalid state parameter. Possible CSRF attack.'));
220
+ return;
221
+ }
222
+ cleanup();
223
+ if (error) {
224
+ reject(new _OxyServices.OxyAuthenticationError(error));
225
+ } else if (session) {
226
+ resolve(session);
227
+ } else {
228
+ reject(new _OxyServices.OxyAuthenticationError('No session received from authentication server'));
229
+ }
230
+ };
231
+
232
+ // Poll to detect if user closed the popup
233
+ const pollInterval = setInterval(() => {
234
+ if (popup.closed) {
235
+ cleanup();
236
+ reject(new _OxyServices.OxyAuthenticationError('Authentication cancelled by user'));
237
+ }
238
+ }, 500);
239
+ const cleanup = () => {
240
+ clearTimeout(timeoutId);
241
+ clearInterval(pollInterval);
242
+ window.removeEventListener('message', messageHandler);
243
+ if (!popup.closed) {
244
+ popup.close();
245
+ }
246
+ };
247
+ window.addEventListener('message', messageHandler);
248
+ });
249
+ }
250
+
251
+ /**
252
+ * Wait for authentication response from iframe
253
+ *
254
+ * @private
255
+ */
256
+ async waitForIframeAuth(iframe, timeout, expectedOrigin) {
257
+ return new Promise(resolve => {
258
+ const timeoutId = setTimeout(() => {
259
+ cleanup();
260
+ resolve(null); // Silent failure - don't throw
261
+ }, timeout);
262
+ const messageHandler = event => {
263
+ // Verify origin
264
+ if (event.origin !== this.constructor.AUTH_URL) {
265
+ return;
266
+ }
267
+ const {
268
+ type,
269
+ session
270
+ } = event.data;
271
+ if (type !== 'oxy_silent_auth') {
272
+ return;
273
+ }
274
+ cleanup();
275
+ resolve(session || null);
276
+ };
277
+ const cleanup = () => {
278
+ clearTimeout(timeoutId);
279
+ window.removeEventListener('message', messageHandler);
280
+ };
281
+ window.addEventListener('message', messageHandler);
282
+ });
283
+ }
284
+
285
+ /**
286
+ * Build authentication URL with query parameters
287
+ *
288
+ * @private
289
+ */
290
+ buildAuthUrl(params) {
291
+ const url = new URL(`${this.constructor.AUTH_URL}/${params.mode}`);
292
+ url.searchParams.set('response_type', 'token');
293
+ url.searchParams.set('client_id', params.clientId);
294
+ url.searchParams.set('redirect_uri', params.redirectUri);
295
+ url.searchParams.set('state', params.state);
296
+ url.searchParams.set('nonce', params.nonce);
297
+ return url.toString();
298
+ }
299
+
300
+ /**
301
+ * Generate cryptographically secure state for CSRF protection
302
+ *
303
+ * @private
304
+ */
305
+ generateState() {
306
+ if (typeof window !== 'undefined' && window.crypto && window.crypto.randomUUID) {
307
+ return window.crypto.randomUUID();
308
+ }
309
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
310
+ }
311
+
312
+ /**
313
+ * Generate nonce for replay attack prevention
314
+ *
315
+ * @private
316
+ */
317
+ generateNonce() {
318
+ if (typeof window !== 'undefined' && window.crypto && window.crypto.randomUUID) {
319
+ return window.crypto.randomUUID();
320
+ }
321
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
322
+ }
323
+
324
+ /**
325
+ * Store auth state in session storage
326
+ *
327
+ * @private
328
+ */
329
+ storeAuthState(state, nonce) {
330
+ if (typeof window !== 'undefined' && window.sessionStorage) {
331
+ sessionStorage.setItem(`oxy_auth_state_${state}`, JSON.stringify({
332
+ nonce,
333
+ timestamp: Date.now()
334
+ }));
335
+ }
336
+ }
337
+
338
+ /**
339
+ * Clear auth state from session storage
340
+ *
341
+ * @private
342
+ */
343
+ clearAuthState(state) {
344
+ if (typeof window !== 'undefined' && window.sessionStorage) {
345
+ sessionStorage.removeItem(`oxy_auth_state_${state}`);
346
+ }
347
+ }
348
+ };
349
+ }
350
+
351
+ // Export the mixin function as both named and default
352
+ //# sourceMappingURL=OxyServices.popup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_OxyServices","require","OxyServicesPopupAuthMixin","Base","constructor","args","AUTH_URL","POPUP_WIDTH","POPUP_HEIGHT","POPUP_TIMEOUT","SILENT_TIMEOUT","signInWithPopup","options","window","OxyAuthenticationError","state","generateState","nonce","generateNonce","storeAuthState","width","height","timeout","mode","authUrl","buildAuthUrl","clientId","location","origin","redirectUri","popup","openCenteredPopup","session","waitForPopupAuth","accessToken","httpService","setTokens","error","clearAuthState","signUpWithPopup","silentSignIn","iframe","document","createElement","style","display","position","border","silentUrl","encodeURIComponent","src","body","appendChild","waitForIframeAuth","removeChild","url","title","left","screenX","outerWidth","top","screenY","outerHeight","features","join","open","expectedState","Promise","resolve","reject","timeoutId","setTimeout","cleanup","messageHandler","event","type","data","pollInterval","setInterval","closed","clearTimeout","clearInterval","removeEventListener","close","addEventListener","expectedOrigin","params","URL","searchParams","set","toString","crypto","randomUUID","Date","now","Math","random","substring","sessionStorage","setItem","JSON","stringify","timestamp","removeItem"],"sourceRoot":"../../../../src","sources":["core/mixins/OxyServices.popup.ts"],"mappings":"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","ignoreList":[]}