@onairos/react-native 3.1.12 → 3.1.13

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 (604) hide show
  1. package/lib/commonjs/api/index.js +75 -1
  2. package/lib/commonjs/api/index.js.map +1 -1
  3. package/lib/commonjs/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  4. package/lib/commonjs/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  5. package/lib/commonjs/assets/icons/Facebookicon.png +0 -0
  6. package/lib/commonjs/assets/icons/Gmail.png +0 -0
  7. package/lib/commonjs/assets/icons/Linkedinicon.png +0 -0
  8. package/lib/commonjs/assets/icons/Redditicon.png +0 -0
  9. package/lib/commonjs/assets/icons/YouTubeicon2.png +0 -0
  10. package/lib/commonjs/assets/icons/YouTubeicon3.png +0 -0
  11. package/lib/commonjs/assets/icons/farcaster.png +0 -0
  12. package/lib/commonjs/assets/icons/instagram.png +0 -0
  13. package/lib/commonjs/assets/icons/pinterest.png +0 -0
  14. package/lib/commonjs/assets/icons/swerv_logo.png +0 -0
  15. package/lib/commonjs/assets/icons/twitter.jpg +0 -0
  16. package/lib/commonjs/assets/images/Checkbox.svg +3 -0
  17. package/lib/commonjs/assets/images/EnochE.svg +19 -0
  18. package/lib/commonjs/assets/images/Enochicon1.png +0 -0
  19. package/lib/commonjs/assets/images/Face_ID_logo.png +0 -0
  20. package/lib/commonjs/assets/images/Facebookicon.png +0 -0
  21. package/lib/commonjs/assets/images/Gmail.png +0 -0
  22. package/lib/commonjs/assets/images/Googlelogo.png +0 -0
  23. package/lib/commonjs/assets/images/Linkedinicon.png +0 -0
  24. package/lib/commonjs/assets/images/Onairoslogo.png +0 -0
  25. package/lib/commonjs/assets/images/Personalityprofile.svg +3 -0
  26. package/lib/commonjs/assets/images/Personalitytraits.svg +3 -0
  27. package/lib/commonjs/assets/images/Redditicon.png +0 -0
  28. package/lib/commonjs/assets/images/Userpreferences.svg +3 -0
  29. package/lib/commonjs/assets/images/YouTubeicon3.png +0 -0
  30. package/lib/commonjs/assets/images/arrow.svg +20 -0
  31. package/lib/commonjs/assets/images/basicproficon.svg +43 -0
  32. package/lib/commonjs/assets/images/basicprofile.svg +3 -0
  33. package/lib/commonjs/assets/images/checkmark.svg +4 -0
  34. package/lib/commonjs/assets/images/contentanalysis.svg +3 -0
  35. package/lib/commonjs/assets/images/contenticon.svg +23 -0
  36. package/lib/commonjs/assets/images/persona1.png +0 -0
  37. package/lib/commonjs/assets/images/persona2.png +0 -0
  38. package/lib/commonjs/assets/images/persona3.png +0 -0
  39. package/lib/commonjs/assets/images/persona4.png +0 -0
  40. package/lib/commonjs/assets/images/persona5.png +0 -0
  41. package/lib/commonjs/assets/images/personalityicon.svg +18 -0
  42. package/lib/commonjs/assets/images/x-close.svg +3 -0
  43. package/lib/commonjs/components/BodyText.js +27 -0
  44. package/lib/commonjs/components/BodyText.js.map +1 -0
  45. package/lib/commonjs/components/BrandMark.js +44 -0
  46. package/lib/commonjs/components/BrandMark.js.map +1 -0
  47. package/lib/commonjs/components/CodeInput.js +30 -0
  48. package/lib/commonjs/components/CodeInput.js.map +1 -0
  49. package/lib/commonjs/components/EmailInput.js +30 -0
  50. package/lib/commonjs/components/EmailInput.js.map +1 -0
  51. package/lib/commonjs/components/ExistingUserDataConfirmation.js +474 -0
  52. package/lib/commonjs/components/ExistingUserDataConfirmation.js.map +1 -0
  53. package/lib/commonjs/components/GoogleButton.js +55 -0
  54. package/lib/commonjs/components/GoogleButton.js.map +1 -0
  55. package/lib/commonjs/components/HeadingGroup.js +43 -0
  56. package/lib/commonjs/components/HeadingGroup.js.map +1 -0
  57. package/lib/commonjs/components/ModalHeader.js +99 -0
  58. package/lib/commonjs/components/ModalHeader.js.map +1 -0
  59. package/lib/commonjs/components/ModalSheet.js +41 -0
  60. package/lib/commonjs/components/ModalSheet.js.map +1 -0
  61. package/lib/commonjs/components/Onairos.js +1 -3
  62. package/lib/commonjs/components/Onairos.js.map +1 -1
  63. package/lib/commonjs/components/OnairosButton.js +171 -190
  64. package/lib/commonjs/components/OnairosButton.js.map +1 -1
  65. package/lib/commonjs/components/OnairosSignInButton.js +169 -0
  66. package/lib/commonjs/components/OnairosSignInButton.js.map +1 -0
  67. package/lib/commonjs/components/Overlay.js +5 -5
  68. package/lib/commonjs/components/Overlay.js.map +1 -1
  69. package/lib/commonjs/components/PersonaImage.js +60 -0
  70. package/lib/commonjs/components/PersonaImage.js.map +1 -0
  71. package/lib/commonjs/components/PersonaLoadingScreen.js +156 -0
  72. package/lib/commonjs/components/PersonaLoadingScreen.js.map +1 -0
  73. package/lib/commonjs/components/PersonalizationConsentScreen.js +316 -0
  74. package/lib/commonjs/components/PersonalizationConsentScreen.js.map +1 -0
  75. package/lib/commonjs/components/PinCreationScreen.js +393 -0
  76. package/lib/commonjs/components/PinCreationScreen.js.map +1 -0
  77. package/lib/commonjs/components/PinInput.js +282 -120
  78. package/lib/commonjs/components/PinInput.js.map +1 -1
  79. package/lib/commonjs/components/PlatformConnectorsStep.js +828 -0
  80. package/lib/commonjs/components/PlatformConnectorsStep.js.map +1 -0
  81. package/lib/commonjs/components/PlatformToggle.js +180 -0
  82. package/lib/commonjs/components/PlatformToggle.js.map +1 -0
  83. package/lib/commonjs/components/PrimaryButton.js +180 -0
  84. package/lib/commonjs/components/PrimaryButton.js.map +1 -0
  85. package/lib/commonjs/components/SignInMatchAnimation.js +197 -0
  86. package/lib/commonjs/components/SignInMatchAnimation.js.map +1 -0
  87. package/lib/commonjs/components/SignInStep.js +179 -0
  88. package/lib/commonjs/components/SignInStep.js.map +1 -0
  89. package/lib/commonjs/components/TrainingModal.js +808 -563
  90. package/lib/commonjs/components/TrainingModal.js.map +1 -1
  91. package/lib/commonjs/components/UniversalOnboarding.js +2304 -1283
  92. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
  93. package/lib/commonjs/components/VerificationStep.js +154 -0
  94. package/lib/commonjs/components/VerificationStep.js.map +1 -0
  95. package/lib/commonjs/components/WelcomeScreen.js +385 -0
  96. package/lib/commonjs/components/WelcomeScreen.js.map +1 -0
  97. package/lib/commonjs/components/icons/Basicproficon.js +37 -0
  98. package/lib/commonjs/components/icons/Basicproficon.js.map +1 -0
  99. package/lib/commonjs/components/icons/Basicprofile.js +21 -0
  100. package/lib/commonjs/components/icons/Basicprofile.js.map +1 -0
  101. package/lib/commonjs/components/icons/Checkbox.js +21 -0
  102. package/lib/commonjs/components/icons/Checkbox.js.map +1 -0
  103. package/lib/commonjs/components/icons/Checkmark.js +27 -0
  104. package/lib/commonjs/components/icons/Checkmark.js.map +1 -0
  105. package/lib/commonjs/components/icons/Contentanalysis.js +21 -0
  106. package/lib/commonjs/components/icons/Contentanalysis.js.map +1 -0
  107. package/lib/commonjs/components/icons/Contenticon.js +39 -0
  108. package/lib/commonjs/components/icons/Contenticon.js.map +1 -0
  109. package/lib/commonjs/components/icons/EnochE.js +41 -0
  110. package/lib/commonjs/components/icons/EnochE.js.map +1 -0
  111. package/lib/commonjs/components/icons/Personalityicon.js +30 -0
  112. package/lib/commonjs/components/icons/Personalityicon.js.map +1 -0
  113. package/lib/commonjs/components/icons/Personalityprofile.js +21 -0
  114. package/lib/commonjs/components/icons/Personalityprofile.js.map +1 -0
  115. package/lib/commonjs/components/icons/Personalitytraits.js +21 -0
  116. package/lib/commonjs/components/icons/Personalitytraits.js.map +1 -0
  117. package/lib/commonjs/components/icons/Userpreferences.js +21 -0
  118. package/lib/commonjs/components/icons/Userpreferences.js.map +1 -0
  119. package/lib/commonjs/components/icons/index.js +84 -0
  120. package/lib/commonjs/components/icons/index.js.map +1 -0
  121. package/lib/commonjs/components/onboarding/OAuthWebView.js +134 -743
  122. package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
  123. package/lib/commonjs/config/api.js +34 -0
  124. package/lib/commonjs/config/api.js.map +1 -0
  125. package/lib/commonjs/context/AuthContext.js +345 -0
  126. package/lib/commonjs/context/AuthContext.js.map +1 -0
  127. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -0
  128. package/lib/commonjs/hooks/useConnectedAccounts.js.map +1 -0
  129. package/lib/commonjs/hooks/useConnections.js +120 -125
  130. package/lib/commonjs/hooks/useConnections.js.map +1 -1
  131. package/lib/commonjs/hooks/useUserConnections.js +148 -0
  132. package/lib/commonjs/hooks/useUserConnections.js.map +1 -0
  133. package/lib/commonjs/index.js +149 -27
  134. package/lib/commonjs/index.js.map +1 -1
  135. package/lib/commonjs/services/apiClient.js +302 -0
  136. package/lib/commonjs/services/apiClient.js.map +1 -0
  137. package/lib/commonjs/services/apiKeyService.js +8 -9
  138. package/lib/commonjs/services/apiKeyService.js.map +1 -1
  139. package/lib/commonjs/services/authService.js +935 -0
  140. package/lib/commonjs/services/authService.js.map +1 -0
  141. package/lib/commonjs/services/biometricPinService.js +184 -0
  142. package/lib/commonjs/services/biometricPinService.js.map +1 -0
  143. package/lib/commonjs/services/connectedAccountsService.js +268 -0
  144. package/lib/commonjs/services/connectedAccountsService.js.map +1 -0
  145. package/lib/commonjs/services/googleAuthService.js +268 -0
  146. package/lib/commonjs/services/googleAuthService.js.map +1 -0
  147. package/lib/commonjs/services/imageCompressionService.js +260 -0
  148. package/lib/commonjs/services/imageCompressionService.js.map +1 -0
  149. package/lib/commonjs/services/jwtStorageService.js +256 -0
  150. package/lib/commonjs/services/jwtStorageService.js.map +1 -0
  151. package/lib/commonjs/services/mobileTrainingService.js +185 -0
  152. package/lib/commonjs/services/mobileTrainingService.js.map +1 -0
  153. package/lib/commonjs/services/pinEncryptionService.js +84 -0
  154. package/lib/commonjs/services/pinEncryptionService.js.map +1 -0
  155. package/lib/commonjs/services/pinStorageUtils.js +105 -0
  156. package/lib/commonjs/services/pinStorageUtils.js.map +1 -0
  157. package/lib/commonjs/services/platformAuthService.js +956 -722
  158. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  159. package/lib/commonjs/services/storageService.js +404 -0
  160. package/lib/commonjs/services/storageService.js.map +1 -0
  161. package/lib/commonjs/services/trainingApiHelpers.js +73 -0
  162. package/lib/commonjs/services/trainingApiHelpers.js.map +1 -0
  163. package/lib/commonjs/services/userConnectionsService.js +486 -0
  164. package/lib/commonjs/services/userConnectionsService.js.map +1 -0
  165. package/lib/commonjs/services/youtubeMigrationService.js +415 -0
  166. package/lib/commonjs/services/youtubeMigrationService.js.map +1 -0
  167. package/lib/commonjs/theme/index.js +249 -0
  168. package/lib/commonjs/theme/index.js.map +1 -0
  169. package/lib/commonjs/utils/eventUtils.js +288 -0
  170. package/lib/commonjs/utils/eventUtils.js.map +1 -0
  171. package/lib/commonjs/utils/haptics.js +66 -0
  172. package/lib/commonjs/utils/haptics.js.map +1 -0
  173. package/lib/commonjs/utils/imagePreloader.js +6 -0
  174. package/lib/commonjs/utils/imagePreloader.js.map +1 -0
  175. package/lib/module/api/index.js +72 -0
  176. package/lib/module/api/index.js.map +1 -1
  177. package/lib/module/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  178. package/lib/module/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  179. package/lib/module/assets/icons/Facebookicon.png +0 -0
  180. package/lib/module/assets/icons/Gmail.png +0 -0
  181. package/lib/module/assets/icons/Linkedinicon.png +0 -0
  182. package/lib/module/assets/icons/Redditicon.png +0 -0
  183. package/lib/module/assets/icons/YouTubeicon2.png +0 -0
  184. package/lib/module/assets/icons/YouTubeicon3.png +0 -0
  185. package/lib/module/assets/icons/farcaster.png +0 -0
  186. package/lib/module/assets/icons/instagram.png +0 -0
  187. package/lib/module/assets/icons/pinterest.png +0 -0
  188. package/lib/module/assets/icons/swerv_logo.png +0 -0
  189. package/lib/module/assets/icons/twitter.jpg +0 -0
  190. package/lib/module/assets/images/Checkbox.svg +3 -0
  191. package/lib/module/assets/images/EnochE.svg +19 -0
  192. package/lib/module/assets/images/Enochicon1.png +0 -0
  193. package/lib/module/assets/images/Face_ID_logo.png +0 -0
  194. package/lib/module/assets/images/Facebookicon.png +0 -0
  195. package/lib/module/assets/images/Gmail.png +0 -0
  196. package/lib/module/assets/images/Googlelogo.png +0 -0
  197. package/lib/module/assets/images/Linkedinicon.png +0 -0
  198. package/lib/module/assets/images/Onairoslogo.png +0 -0
  199. package/lib/module/assets/images/Personalityprofile.svg +3 -0
  200. package/lib/module/assets/images/Personalitytraits.svg +3 -0
  201. package/lib/module/assets/images/Redditicon.png +0 -0
  202. package/lib/module/assets/images/Userpreferences.svg +3 -0
  203. package/lib/module/assets/images/YouTubeicon3.png +0 -0
  204. package/lib/module/assets/images/arrow.svg +20 -0
  205. package/lib/module/assets/images/basicproficon.svg +43 -0
  206. package/lib/module/assets/images/basicprofile.svg +3 -0
  207. package/lib/module/assets/images/checkmark.svg +4 -0
  208. package/lib/module/assets/images/contentanalysis.svg +3 -0
  209. package/lib/module/assets/images/contenticon.svg +23 -0
  210. package/lib/module/assets/images/persona1.png +0 -0
  211. package/lib/module/assets/images/persona2.png +0 -0
  212. package/lib/module/assets/images/persona3.png +0 -0
  213. package/lib/module/assets/images/persona4.png +0 -0
  214. package/lib/module/assets/images/persona5.png +0 -0
  215. package/lib/module/assets/images/personalityicon.svg +18 -0
  216. package/lib/module/assets/images/x-close.svg +3 -0
  217. package/lib/module/components/BodyText.js +20 -0
  218. package/lib/module/components/BodyText.js.map +1 -0
  219. package/lib/module/components/BrandMark.js +37 -0
  220. package/lib/module/components/BrandMark.js.map +1 -0
  221. package/lib/module/components/CodeInput.js +23 -0
  222. package/lib/module/components/CodeInput.js.map +1 -0
  223. package/lib/module/components/EmailInput.js +23 -0
  224. package/lib/module/components/EmailInput.js.map +1 -0
  225. package/lib/module/components/ExistingUserDataConfirmation.js +465 -0
  226. package/lib/module/components/ExistingUserDataConfirmation.js.map +1 -0
  227. package/lib/module/components/GoogleButton.js +48 -0
  228. package/lib/module/components/GoogleButton.js.map +1 -0
  229. package/lib/module/components/HeadingGroup.js +36 -0
  230. package/lib/module/components/HeadingGroup.js.map +1 -0
  231. package/lib/module/components/ModalHeader.js +92 -0
  232. package/lib/module/components/ModalHeader.js.map +1 -0
  233. package/lib/module/components/ModalSheet.js +34 -0
  234. package/lib/module/components/ModalSheet.js.map +1 -0
  235. package/lib/module/components/Onairos.js +1 -3
  236. package/lib/module/components/Onairos.js.map +1 -1
  237. package/lib/module/components/OnairosButton.js +172 -192
  238. package/lib/module/components/OnairosButton.js.map +1 -1
  239. package/lib/module/components/OnairosSignInButton.js +160 -0
  240. package/lib/module/components/OnairosSignInButton.js.map +1 -0
  241. package/lib/module/components/Overlay.js +5 -5
  242. package/lib/module/components/Overlay.js.map +1 -1
  243. package/lib/module/components/PersonaImage.js +53 -0
  244. package/lib/module/components/PersonaImage.js.map +1 -0
  245. package/lib/module/components/PersonaLoadingScreen.js +148 -0
  246. package/lib/module/components/PersonaLoadingScreen.js.map +1 -0
  247. package/lib/module/components/PersonalizationConsentScreen.js +309 -0
  248. package/lib/module/components/PersonalizationConsentScreen.js.map +1 -0
  249. package/lib/module/components/PinCreationScreen.js +386 -0
  250. package/lib/module/components/PinCreationScreen.js.map +1 -0
  251. package/lib/module/components/PinInput.js +283 -120
  252. package/lib/module/components/PinInput.js.map +1 -1
  253. package/lib/module/components/PlatformConnectorsStep.js +820 -0
  254. package/lib/module/components/PlatformConnectorsStep.js.map +1 -0
  255. package/lib/module/components/PlatformToggle.js +173 -0
  256. package/lib/module/components/PlatformToggle.js.map +1 -0
  257. package/lib/module/components/PrimaryButton.js +172 -0
  258. package/lib/module/components/PrimaryButton.js.map +1 -0
  259. package/lib/module/components/SignInMatchAnimation.js +189 -0
  260. package/lib/module/components/SignInMatchAnimation.js.map +1 -0
  261. package/lib/module/components/SignInStep.js +171 -0
  262. package/lib/module/components/SignInStep.js.map +1 -0
  263. package/lib/module/components/TrainingModal.js +809 -565
  264. package/lib/module/components/TrainingModal.js.map +1 -1
  265. package/lib/module/components/UniversalOnboarding.js +2307 -1284
  266. package/lib/module/components/UniversalOnboarding.js.map +1 -1
  267. package/lib/module/components/VerificationStep.js +146 -0
  268. package/lib/module/components/VerificationStep.js.map +1 -0
  269. package/lib/module/components/WelcomeScreen.js +378 -0
  270. package/lib/module/components/WelcomeScreen.js.map +1 -0
  271. package/lib/module/components/icons/Basicproficon.js +30 -0
  272. package/lib/module/components/icons/Basicproficon.js.map +1 -0
  273. package/lib/module/components/icons/Basicprofile.js +14 -0
  274. package/lib/module/components/icons/Basicprofile.js.map +1 -0
  275. package/lib/module/components/icons/Checkbox.js +14 -0
  276. package/lib/module/components/icons/Checkbox.js.map +1 -0
  277. package/lib/module/components/icons/Checkmark.js +20 -0
  278. package/lib/module/components/icons/Checkmark.js.map +1 -0
  279. package/lib/module/components/icons/Contentanalysis.js +14 -0
  280. package/lib/module/components/icons/Contentanalysis.js.map +1 -0
  281. package/lib/module/components/icons/Contenticon.js +32 -0
  282. package/lib/module/components/icons/Contenticon.js.map +1 -0
  283. package/lib/module/components/icons/EnochE.js +34 -0
  284. package/lib/module/components/icons/EnochE.js.map +1 -0
  285. package/lib/module/components/icons/Personalityicon.js +23 -0
  286. package/lib/module/components/icons/Personalityicon.js.map +1 -0
  287. package/lib/module/components/icons/Personalityprofile.js +14 -0
  288. package/lib/module/components/icons/Personalityprofile.js.map +1 -0
  289. package/lib/module/components/icons/Personalitytraits.js +14 -0
  290. package/lib/module/components/icons/Personalitytraits.js.map +1 -0
  291. package/lib/module/components/icons/Userpreferences.js +14 -0
  292. package/lib/module/components/icons/Userpreferences.js.map +1 -0
  293. package/lib/module/components/icons/index.js +13 -0
  294. package/lib/module/components/icons/index.js.map +1 -0
  295. package/lib/module/components/onboarding/OAuthWebView.js +136 -744
  296. package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
  297. package/lib/module/config/api.js +26 -0
  298. package/lib/module/config/api.js.map +1 -0
  299. package/lib/module/context/AuthContext.js +335 -0
  300. package/lib/module/context/AuthContext.js.map +1 -0
  301. package/lib/module/hooks/useConnectedAccounts.js +106 -0
  302. package/lib/module/hooks/useConnectedAccounts.js.map +1 -0
  303. package/lib/module/hooks/useConnections.js +119 -125
  304. package/lib/module/hooks/useConnections.js.map +1 -1
  305. package/lib/module/hooks/useUserConnections.js +140 -0
  306. package/lib/module/hooks/useUserConnections.js.map +1 -0
  307. package/lib/module/index.js +51 -15
  308. package/lib/module/index.js.map +1 -1
  309. package/lib/module/services/apiClient.js +298 -0
  310. package/lib/module/services/apiClient.js.map +1 -0
  311. package/lib/module/services/apiKeyService.js +8 -9
  312. package/lib/module/services/apiKeyService.js.map +1 -1
  313. package/lib/module/services/authService.js +905 -0
  314. package/lib/module/services/authService.js.map +1 -0
  315. package/lib/module/services/biometricPinService.js +173 -0
  316. package/lib/module/services/biometricPinService.js.map +1 -0
  317. package/lib/module/services/connectedAccountsService.js +255 -0
  318. package/lib/module/services/connectedAccountsService.js.map +1 -0
  319. package/lib/module/services/googleAuthService.js +258 -0
  320. package/lib/module/services/googleAuthService.js.map +1 -0
  321. package/lib/module/services/imageCompressionService.js +250 -0
  322. package/lib/module/services/imageCompressionService.js.map +1 -0
  323. package/lib/module/services/jwtStorageService.js +239 -0
  324. package/lib/module/services/jwtStorageService.js.map +1 -0
  325. package/lib/module/services/mobileTrainingService.js +172 -0
  326. package/lib/module/services/mobileTrainingService.js.map +1 -0
  327. package/lib/module/services/pinEncryptionService.js +75 -0
  328. package/lib/module/services/pinEncryptionService.js.map +1 -0
  329. package/lib/module/services/pinStorageUtils.js +93 -0
  330. package/lib/module/services/pinStorageUtils.js.map +1 -0
  331. package/lib/module/services/platformAuthService.js +943 -704
  332. package/lib/module/services/platformAuthService.js.map +1 -1
  333. package/lib/module/services/storageService.js +383 -0
  334. package/lib/module/services/storageService.js.map +1 -0
  335. package/lib/module/services/trainingApiHelpers.js +67 -0
  336. package/lib/module/services/trainingApiHelpers.js.map +1 -0
  337. package/lib/module/services/userConnectionsService.js +476 -0
  338. package/lib/module/services/userConnectionsService.js.map +1 -0
  339. package/lib/module/services/youtubeMigrationService.js +404 -0
  340. package/lib/module/services/youtubeMigrationService.js.map +1 -0
  341. package/lib/module/theme/index.js +244 -0
  342. package/lib/module/theme/index.js.map +1 -0
  343. package/lib/module/utils/eventUtils.js +270 -0
  344. package/lib/module/utils/eventUtils.js.map +1 -0
  345. package/lib/module/utils/haptics.js +59 -0
  346. package/lib/module/utils/haptics.js.map +1 -0
  347. package/lib/module/utils/imagePreloader.js +3 -0
  348. package/lib/module/utils/imagePreloader.js.map +1 -0
  349. package/lib/typescript/api/index.d.ts +8 -0
  350. package/lib/typescript/api/index.d.ts.map +1 -1
  351. package/lib/typescript/components/BodyText.d.ts +10 -0
  352. package/lib/typescript/components/BodyText.d.ts.map +1 -0
  353. package/lib/typescript/components/BrandMark.d.ts +11 -0
  354. package/lib/typescript/components/BrandMark.d.ts.map +1 -0
  355. package/lib/typescript/components/CodeInput.d.ts +10 -0
  356. package/lib/typescript/components/CodeInput.d.ts.map +1 -0
  357. package/lib/typescript/components/EmailInput.d.ts +8 -0
  358. package/lib/typescript/components/EmailInput.d.ts.map +1 -0
  359. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts +12 -0
  360. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts.map +1 -0
  361. package/lib/typescript/components/GoogleButton.d.ts +11 -0
  362. package/lib/typescript/components/GoogleButton.d.ts.map +1 -0
  363. package/lib/typescript/components/HeadingGroup.d.ts +11 -0
  364. package/lib/typescript/components/HeadingGroup.d.ts.map +1 -0
  365. package/lib/typescript/components/ModalHeader.d.ts +11 -0
  366. package/lib/typescript/components/ModalHeader.d.ts.map +1 -0
  367. package/lib/typescript/components/ModalSheet.d.ts +13 -0
  368. package/lib/typescript/components/ModalSheet.d.ts.map +1 -0
  369. package/lib/typescript/components/Onairos.d.ts.map +1 -1
  370. package/lib/typescript/components/OnairosButton.d.ts +29 -4
  371. package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
  372. package/lib/typescript/components/OnairosSignInButton.d.ts +14 -0
  373. package/lib/typescript/components/OnairosSignInButton.d.ts.map +1 -0
  374. package/lib/typescript/components/PersonaImage.d.ts +8 -0
  375. package/lib/typescript/components/PersonaImage.d.ts.map +1 -0
  376. package/lib/typescript/components/PersonaLoadingScreen.d.ts +10 -0
  377. package/lib/typescript/components/PersonaLoadingScreen.d.ts.map +1 -0
  378. package/lib/typescript/components/PersonalizationConsentScreen.d.ts +10 -0
  379. package/lib/typescript/components/PersonalizationConsentScreen.d.ts.map +1 -0
  380. package/lib/typescript/components/PinCreationScreen.d.ts +10 -0
  381. package/lib/typescript/components/PinCreationScreen.d.ts.map +1 -0
  382. package/lib/typescript/components/PinInput.d.ts +11 -1
  383. package/lib/typescript/components/PinInput.d.ts.map +1 -1
  384. package/lib/typescript/components/PlatformConnectorsStep.d.ts +11 -0
  385. package/lib/typescript/components/PlatformConnectorsStep.d.ts.map +1 -0
  386. package/lib/typescript/components/PlatformToggle.d.ts +20 -0
  387. package/lib/typescript/components/PlatformToggle.d.ts.map +1 -0
  388. package/lib/typescript/components/PrimaryButton.d.ts +22 -0
  389. package/lib/typescript/components/PrimaryButton.d.ts.map +1 -0
  390. package/lib/typescript/components/SignInMatchAnimation.d.ts +9 -0
  391. package/lib/typescript/components/SignInMatchAnimation.d.ts.map +1 -0
  392. package/lib/typescript/components/SignInStep.d.ts +12 -0
  393. package/lib/typescript/components/SignInStep.d.ts.map +1 -0
  394. package/lib/typescript/components/TrainingModal.d.ts +12 -1
  395. package/lib/typescript/components/TrainingModal.d.ts.map +1 -1
  396. package/lib/typescript/components/UniversalOnboarding.d.ts +14 -1
  397. package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
  398. package/lib/typescript/components/VerificationStep.d.ts +13 -0
  399. package/lib/typescript/components/VerificationStep.d.ts.map +1 -0
  400. package/lib/typescript/components/WelcomeScreen.d.ts +9 -0
  401. package/lib/typescript/components/WelcomeScreen.d.ts.map +1 -0
  402. package/lib/typescript/components/icons/Basicproficon.d.ts +5 -0
  403. package/lib/typescript/components/icons/Basicproficon.d.ts.map +1 -0
  404. package/lib/typescript/components/icons/Basicprofile.d.ts +5 -0
  405. package/lib/typescript/components/icons/Basicprofile.d.ts.map +1 -0
  406. package/lib/typescript/components/icons/Checkbox.d.ts +5 -0
  407. package/lib/typescript/components/icons/Checkbox.d.ts.map +1 -0
  408. package/lib/typescript/components/icons/Checkmark.d.ts +5 -0
  409. package/lib/typescript/components/icons/Checkmark.d.ts.map +1 -0
  410. package/lib/typescript/components/icons/Contentanalysis.d.ts +5 -0
  411. package/lib/typescript/components/icons/Contentanalysis.d.ts.map +1 -0
  412. package/lib/typescript/components/icons/Contenticon.d.ts +5 -0
  413. package/lib/typescript/components/icons/Contenticon.d.ts.map +1 -0
  414. package/lib/typescript/components/icons/EnochE.d.ts +5 -0
  415. package/lib/typescript/components/icons/EnochE.d.ts.map +1 -0
  416. package/lib/typescript/components/icons/Personalityicon.d.ts +5 -0
  417. package/lib/typescript/components/icons/Personalityicon.d.ts.map +1 -0
  418. package/lib/typescript/components/icons/Personalityprofile.d.ts +5 -0
  419. package/lib/typescript/components/icons/Personalityprofile.d.ts.map +1 -0
  420. package/lib/typescript/components/icons/Personalitytraits.d.ts +5 -0
  421. package/lib/typescript/components/icons/Personalitytraits.d.ts.map +1 -0
  422. package/lib/typescript/components/icons/Userpreferences.d.ts +5 -0
  423. package/lib/typescript/components/icons/Userpreferences.d.ts.map +1 -0
  424. package/lib/typescript/components/icons/index.d.ts +12 -0
  425. package/lib/typescript/components/icons/index.d.ts.map +1 -0
  426. package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -1
  427. package/lib/typescript/config/api.d.ts +24 -0
  428. package/lib/typescript/config/api.d.ts.map +1 -0
  429. package/lib/typescript/context/AuthContext.d.ts +34 -0
  430. package/lib/typescript/context/AuthContext.d.ts.map +1 -0
  431. package/lib/typescript/hooks/useConnectedAccounts.d.ts +11 -0
  432. package/lib/typescript/hooks/useConnectedAccounts.d.ts.map +1 -0
  433. package/lib/typescript/hooks/useConnections.d.ts +10 -5
  434. package/lib/typescript/hooks/useConnections.d.ts.map +1 -1
  435. package/lib/typescript/hooks/useUserConnections.d.ts +12 -0
  436. package/lib/typescript/hooks/useUserConnections.d.ts.map +1 -0
  437. package/lib/typescript/index.d.ts +24 -6
  438. package/lib/typescript/index.d.ts.map +1 -1
  439. package/lib/typescript/services/apiClient.d.ts +91 -0
  440. package/lib/typescript/services/apiClient.d.ts.map +1 -0
  441. package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
  442. package/lib/typescript/services/authService.d.ts +216 -0
  443. package/lib/typescript/services/authService.d.ts.map +1 -0
  444. package/lib/typescript/services/biometricPinService.d.ts +29 -0
  445. package/lib/typescript/services/biometricPinService.d.ts.map +1 -0
  446. package/lib/typescript/services/connectedAccountsService.d.ts +56 -0
  447. package/lib/typescript/services/connectedAccountsService.d.ts.map +1 -0
  448. package/lib/typescript/services/googleAuthService.d.ts +63 -0
  449. package/lib/typescript/services/googleAuthService.d.ts.map +1 -0
  450. package/lib/typescript/services/imageCompressionService.d.ts +37 -0
  451. package/lib/typescript/services/imageCompressionService.d.ts.map +1 -0
  452. package/lib/typescript/services/jwtStorageService.d.ts +86 -0
  453. package/lib/typescript/services/jwtStorageService.d.ts.map +1 -0
  454. package/lib/typescript/services/mobileTrainingService.d.ts +45 -0
  455. package/lib/typescript/services/mobileTrainingService.d.ts.map +1 -0
  456. package/lib/typescript/services/pinEncryptionService.d.ts +17 -0
  457. package/lib/typescript/services/pinEncryptionService.d.ts.map +1 -0
  458. package/lib/typescript/services/pinStorageUtils.d.ts +25 -0
  459. package/lib/typescript/services/pinStorageUtils.d.ts.map +1 -0
  460. package/lib/typescript/services/platformAuthService.d.ts +34 -109
  461. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  462. package/lib/typescript/services/storageService.d.ts +128 -0
  463. package/lib/typescript/services/storageService.d.ts.map +1 -0
  464. package/lib/typescript/services/trainingApiHelpers.d.ts +38 -0
  465. package/lib/typescript/services/trainingApiHelpers.d.ts.map +1 -0
  466. package/lib/typescript/services/userConnectionsService.d.ts +90 -0
  467. package/lib/typescript/services/userConnectionsService.d.ts.map +1 -0
  468. package/lib/typescript/services/youtubeMigrationService.d.ts +12 -0
  469. package/lib/typescript/services/youtubeMigrationService.d.ts.map +1 -0
  470. package/lib/typescript/theme/index.d.ts +416 -0
  471. package/lib/typescript/theme/index.d.ts.map +1 -0
  472. package/lib/typescript/types/index.d.ts +39 -0
  473. package/lib/typescript/types/index.d.ts.map +1 -1
  474. package/lib/typescript/utils/eventUtils.d.ts +108 -0
  475. package/lib/typescript/utils/eventUtils.d.ts.map +1 -0
  476. package/lib/typescript/utils/haptics.d.ts +11 -0
  477. package/lib/typescript/utils/haptics.d.ts.map +1 -0
  478. package/lib/typescript/utils/imagePreloader.d.ts +2 -0
  479. package/lib/typescript/utils/imagePreloader.d.ts.map +1 -0
  480. package/package.json +158 -145
  481. package/src/api/index.ts +41 -0
  482. package/src/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  483. package/src/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  484. package/src/assets/icons/Facebookicon.png +0 -0
  485. package/src/assets/icons/Gmail.png +0 -0
  486. package/src/assets/icons/Linkedinicon.png +0 -0
  487. package/src/assets/icons/Redditicon.png +0 -0
  488. package/src/assets/icons/YouTubeicon2.png +0 -0
  489. package/src/assets/icons/YouTubeicon3.png +0 -0
  490. package/src/assets/icons/farcaster.png +0 -0
  491. package/src/assets/icons/instagram.png +0 -0
  492. package/src/assets/icons/pinterest.png +0 -0
  493. package/src/assets/icons/swerv_logo.png +0 -0
  494. package/src/assets/icons/twitter.jpg +0 -0
  495. package/src/assets/images/Checkbox.svg +3 -0
  496. package/src/assets/images/EnochE.svg +19 -0
  497. package/src/assets/images/Enochicon1.png +0 -0
  498. package/src/assets/images/Face_ID_logo.png +0 -0
  499. package/src/assets/images/Facebookicon.png +0 -0
  500. package/src/assets/images/Gmail.png +0 -0
  501. package/src/assets/images/Googlelogo.png +0 -0
  502. package/src/assets/images/Linkedinicon.png +0 -0
  503. package/src/assets/images/Onairoslogo.png +0 -0
  504. package/src/assets/images/Personalityprofile.svg +3 -0
  505. package/src/assets/images/Personalitytraits.svg +3 -0
  506. package/src/assets/images/Redditicon.png +0 -0
  507. package/src/assets/images/Userpreferences.svg +3 -0
  508. package/src/assets/images/YouTubeicon3.png +0 -0
  509. package/src/assets/images/arrow.svg +20 -0
  510. package/src/assets/images/basicproficon.svg +43 -0
  511. package/src/assets/images/basicprofile.svg +3 -0
  512. package/src/assets/images/checkmark.svg +4 -0
  513. package/src/assets/images/contentanalysis.svg +3 -0
  514. package/src/assets/images/contenticon.svg +23 -0
  515. package/src/assets/images/persona1.png +0 -0
  516. package/src/assets/images/persona2.png +0 -0
  517. package/src/assets/images/persona3.png +0 -0
  518. package/src/assets/images/persona4.png +0 -0
  519. package/src/assets/images/persona5.png +0 -0
  520. package/src/assets/images/personalityicon.svg +18 -0
  521. package/src/assets/images/x-close.svg +3 -0
  522. package/src/components/BodyText.tsx +33 -0
  523. package/src/components/BrandMark.tsx +62 -0
  524. package/src/components/CodeInput.tsx +32 -0
  525. package/src/components/EmailInput.tsx +31 -0
  526. package/src/components/ExistingUserDataConfirmation.tsx +507 -0
  527. package/src/components/GoogleButton.tsx +55 -0
  528. package/src/components/HeadingGroup.tsx +49 -0
  529. package/src/components/ModalHeader.tsx +125 -0
  530. package/src/components/ModalSheet.tsx +57 -0
  531. package/src/components/Onairos.tsx +422 -424
  532. package/src/components/OnairosButton.tsx +339 -359
  533. package/src/components/OnairosSignInButton.tsx +166 -0
  534. package/src/components/Overlay.tsx +506 -506
  535. package/src/components/PersonaImage.tsx +79 -0
  536. package/src/components/PersonaLoadingScreen.tsx +201 -0
  537. package/src/components/PersonalizationConsentScreen.tsx +410 -0
  538. package/src/components/PinCreationScreen.tsx +492 -0
  539. package/src/components/PinInput.tsx +555 -343
  540. package/src/components/PlatformConnectorsStep.tsx +892 -0
  541. package/src/components/PlatformToggle.tsx +226 -0
  542. package/src/components/PrimaryButton.tsx +214 -0
  543. package/src/components/SignInMatchAnimation.tsx +225 -0
  544. package/src/components/SignInStep.tsx +217 -0
  545. package/src/components/TrainingModal.tsx +1047 -737
  546. package/src/components/UniversalOnboarding.tsx +2888 -1820
  547. package/src/components/VerificationStep.tsx +198 -0
  548. package/src/components/WelcomeScreen.tsx +473 -0
  549. package/src/components/icons/Basicproficon.tsx +30 -0
  550. package/src/components/icons/Basicprofile.tsx +17 -0
  551. package/src/components/icons/Checkbox.tsx +17 -0
  552. package/src/components/icons/Checkmark.tsx +24 -0
  553. package/src/components/icons/Contentanalysis.tsx +17 -0
  554. package/src/components/icons/Contenticon.tsx +30 -0
  555. package/src/components/icons/EnochE.tsx +39 -0
  556. package/src/components/icons/Personalityicon.tsx +22 -0
  557. package/src/components/icons/Personalityprofile.tsx +17 -0
  558. package/src/components/icons/Personalitytraits.tsx +17 -0
  559. package/src/components/icons/Userpreferences.tsx +17 -0
  560. package/src/components/icons/index.ts +12 -0
  561. package/src/components/onboarding/OAuthWebView.tsx +232 -838
  562. package/src/config/api.ts +25 -0
  563. package/src/context/AuthContext.tsx +393 -0
  564. package/src/hooks/useConnectedAccounts.ts +139 -0
  565. package/src/hooks/useConnections.ts +129 -131
  566. package/src/hooks/useUserConnections.ts +166 -0
  567. package/src/index.ts +94 -49
  568. package/src/services/apiClient.ts +337 -0
  569. package/src/services/apiKeyService.ts +9 -11
  570. package/src/services/authService.ts +1008 -0
  571. package/src/services/biometricPinService.ts +193 -0
  572. package/src/services/connectedAccountsService.ts +290 -0
  573. package/src/services/googleAuthService.ts +279 -0
  574. package/src/services/imageCompressionService.ts +303 -0
  575. package/src/services/jwtStorageService.ts +257 -0
  576. package/src/services/mobileTrainingService.ts +204 -0
  577. package/src/services/pinEncryptionService.ts +76 -0
  578. package/src/services/pinStorageUtils.ts +97 -0
  579. package/src/services/platformAuthService.ts +1346 -1113
  580. package/src/services/storageService.ts +452 -0
  581. package/src/services/trainingApiHelpers.ts +67 -0
  582. package/src/services/userConnectionsService.ts +557 -0
  583. package/src/services/youtubeMigrationService.ts +454 -0
  584. package/src/theme/index.ts +239 -0
  585. package/src/types/index.ts +265 -238
  586. package/src/utils/eventUtils.ts +303 -0
  587. package/src/utils/haptics.ts +59 -0
  588. package/src/utils/imagePreloader.ts +2 -0
  589. package/README.md +0 -375
  590. package/lib/commonjs/assets/images/email.png +0 -0
  591. package/lib/commonjs/assets/images/linkedin.png +0 -0
  592. package/lib/commonjs/assets/images/reddit.png +0 -0
  593. package/lib/commonjs/assets/images/youtube.png +0 -0
  594. package/lib/commonjs/components/UniversalOnboarding.tsx.new +0 -455
  595. package/lib/module/assets/images/email.png +0 -0
  596. package/lib/module/assets/images/linkedin.png +0 -0
  597. package/lib/module/assets/images/reddit.png +0 -0
  598. package/lib/module/assets/images/youtube.png +0 -0
  599. package/lib/module/components/UniversalOnboarding.tsx.new +0 -455
  600. package/src/assets/images/email.png +0 -0
  601. package/src/assets/images/linkedin.png +0 -0
  602. package/src/assets/images/reddit.png +0 -0
  603. package/src/assets/images/youtube.png +0 -0
  604. package/src/components/UniversalOnboarding.tsx.new +0 -455
@@ -1,152 +1,146 @@
1
1
  import { useState, useCallback } from 'react';
2
- import { STORAGE_KEYS } from '../constants';
3
- // Create a mock storage for environments without Keychain access (like Expo Go)
4
- const mockConnectionStorage = {};
5
-
6
- // Try to import Keychain, but provide fallbacks if not available
7
- let Keychain = null;
8
- try {
9
- // This import might fail in Expo Go or environments without native modules
10
- Keychain = require('react-native-keychain');
11
- } catch (error) {
12
- console.warn('react-native-keychain module not available in useConnections, using mock storage');
13
- }
14
-
15
- // Check if Keychain is properly initialized and available
16
- const isKeychainAvailable = () => {
17
- try {
18
- return Keychain && typeof Keychain.getGenericPassword === 'function';
19
- } catch (e) {
20
- return false;
21
- }
22
- };
2
+ import { initiateNativeAuth } from '../services/platformAuthService';
3
+ import AsyncStorage from '@react-native-async-storage/async-storage';
4
+ import { getOnairosUsername } from '../services/authService';
23
5
  export const useConnections = () => {
6
+ const [connections, setConnections] = useState({});
24
7
  const [isConnecting, setIsConnecting] = useState(false);
25
- const getConnectionStatus = useCallback(async () => {
26
- try {
27
- if (isKeychainAvailable()) {
28
- try {
29
- const stored = await Keychain.getGenericPassword({
30
- service: STORAGE_KEYS.connections
31
- });
32
- if (stored && stored.password) {
33
- const parsed = JSON.parse(stored.password);
34
- // Validate the parsed data structure
35
- if (parsed && typeof parsed === 'object') {
36
- return parsed;
37
- }
38
- }
39
- } catch (keychainError) {
40
- console.warn('Keychain access failed, using fallback:', keychainError);
41
- // Clear corrupted data
42
- try {
43
- await Keychain.resetGenericPassword({
44
- service: STORAGE_KEYS.connections
45
- });
46
- } catch (resetError) {
47
- console.warn('Failed to reset keychain:', resetError);
48
- }
49
- }
50
- }
51
-
52
- // Use in-memory mock storage if Keychain is not available or failed
53
- const mockData = mockConnectionStorage[STORAGE_KEYS.connections] || {};
54
- console.log('Using mock connection storage:', mockData);
55
- return mockData;
56
- } catch (error) {
57
- console.error('Error getting connection status:', error);
58
8
 
59
- // Always return empty object as safe fallback
60
- console.log('Returning empty connections due to error');
61
- return {};
62
- }
63
- }, []);
64
- const saveConnectionStatus = useCallback(async status => {
9
+ /**
10
+ * Connect a platform using OAuth or native SDK
11
+ */
12
+ const connectPlatform = useCallback(async (platform, username) => {
65
13
  try {
66
- if (isKeychainAvailable()) {
67
- await Keychain.setGenericPassword('connections', JSON.stringify(status), {
68
- service: STORAGE_KEYS.connections
69
- });
14
+ setIsConnecting(true);
15
+
16
+ // Determine if we should use native SDK or OAuth
17
+ const useNativeSDK = platform === 'youtube' || platform === 'instagram';
18
+ let success = false;
19
+ if (useNativeSDK) {
20
+ // Use native SDK
21
+ success = await initiateNativeAuth(platform, username);
70
22
  } else {
71
- // Use in-memory mock storage if Keychain is not available
72
- mockConnectionStorage[STORAGE_KEYS.connections] = status;
23
+ // For demo purposes, we'll simulate a successful connection
24
+ await new Promise(resolve => setTimeout(() => resolve(undefined), 1000));
25
+ success = true;
73
26
  }
74
- } catch (error) {
75
- console.error('Error saving connection status:', error);
76
- // Save to mock storage as fallback
77
- mockConnectionStorage[STORAGE_KEYS.connections] = status;
78
- }
79
- }, []);
80
- const connectPlatform = useCallback(async platform => {
81
- setIsConnecting(true);
82
- try {
83
- console.log(`[Mock] Connecting to ${platform}`);
84
-
85
- // Simulate connection delay
86
- await new Promise(resolve => {
87
- setTimeout(() => resolve(), 1000);
88
- });
89
- const status = await getConnectionStatus();
90
- status[platform] = {
91
- userName: `Mock User (${platform})`,
92
- connected: true
93
- };
94
- await saveConnectionStatus(status);
95
- console.log(`[Mock] Successfully connected to ${platform}`);
96
- } catch (error) {
97
- console.error(`Error connecting to ${platform}:`, error);
98
- // In development, provide mock data even on error
99
- if (__DEV__) {
100
- const status = {
27
+ if (success) {
28
+ // Update connections state locally
29
+ setConnections(prev => ({
30
+ ...prev,
101
31
  [platform]: {
102
- userName: `Fallback User (${platform})`,
32
+ userName: username,
103
33
  connected: true
104
34
  }
105
- };
106
- await saveConnectionStatus(status);
107
- } else {
108
- throw error;
35
+ }));
36
+
37
+ // Update user account info via API
38
+ try {
39
+ const token = await AsyncStorage.getItem('auth_token');
40
+ // Get the stored Onairos username for API calls
41
+ const storedUsername = await getOnairosUsername();
42
+ const apiUsername = storedUsername || username;
43
+ console.log(`🔗 Using username for ${platform} API call:`, {
44
+ providedUsername: username,
45
+ storedUsername,
46
+ finalApiUsername: apiUsername
47
+ });
48
+ if (token) {
49
+ const response = await fetch('https://api2.onairos.uk/enoch/users/update', {
50
+ method: 'POST',
51
+ headers: {
52
+ 'Content-Type': 'application/json',
53
+ 'Authorization': token
54
+ },
55
+ body: JSON.stringify({
56
+ UpdateType: 'connection',
57
+ updateType: 'Add',
58
+ connection: platform,
59
+ username: apiUsername // Use stored Onairos username
60
+ })
61
+ });
62
+ console.log(`Platform connection update response for ${platform}:`, response.status);
63
+ }
64
+ } catch (apiError) {
65
+ console.warn(`Error updating user connections for ${platform}, but continuing:`, apiError);
66
+ // Continue even if the API call fails
67
+ }
68
+ return true;
109
69
  }
70
+ return false;
71
+ } catch (error) {
72
+ console.error(`Error connecting platform ${platform}:`, error);
73
+ return false;
110
74
  } finally {
111
75
  setIsConnecting(false);
112
76
  }
113
- }, [getConnectionStatus, saveConnectionStatus]);
114
- const disconnectPlatform = useCallback(async platform => {
77
+ }, []);
78
+
79
+ /**
80
+ * Disconnect a platform
81
+ */
82
+ const disconnectPlatform = useCallback(async (platform, username) => {
115
83
  try {
116
- const status = await getConnectionStatus();
117
- if (status && platform in status) {
118
- delete status[platform];
119
- await saveConnectionStatus(status);
120
- }
121
- } catch (error) {
122
- console.error(`Error disconnecting ${platform}:`, error);
123
- // Don't throw in development mode
124
- if (!__DEV__) {
125
- throw error;
84
+ // Update local state
85
+ setConnections(prev => {
86
+ const newConnections = {
87
+ ...prev
88
+ };
89
+ delete newConnections[platform];
90
+ return newConnections;
91
+ });
92
+
93
+ // Update user account info via API
94
+ try {
95
+ const token = await AsyncStorage.getItem('auth_token');
96
+ // Get the stored Onairos username for API calls
97
+ const storedUsername = await getOnairosUsername();
98
+ const apiUsername = storedUsername || username || 'user';
99
+ console.log(`🔗 Using username for ${platform} disconnect API call:`, {
100
+ providedUsername: username,
101
+ storedUsername,
102
+ finalApiUsername: apiUsername
103
+ });
104
+ if (token) {
105
+ const response = await fetch('https://api2.onairos.uk/enoch/users/update', {
106
+ method: 'POST',
107
+ headers: {
108
+ 'Content-Type': 'application/json',
109
+ 'Authorization': token
110
+ },
111
+ body: JSON.stringify({
112
+ UpdateType: 'connection',
113
+ updateType: 'Remove',
114
+ connection: platform,
115
+ username: apiUsername // Use stored Onairos username
116
+ })
117
+ });
118
+ console.log(`Platform disconnection update response for ${platform}:`, response.status);
119
+ }
120
+ } catch (apiError) {
121
+ console.warn(`Error updating user connections for ${platform}, but continuing:`, apiError);
122
+ // Continue even if the API call fails
126
123
  }
127
- }
128
- }, [getConnectionStatus, saveConnectionStatus]);
129
- const handleOAuthCallback = useCallback(async (platform, data) => {
130
- try {
131
- console.log(`[Mock] Handling callback for ${platform}`);
132
- const status = await getConnectionStatus();
133
- status[platform] = {
134
- userName: data.userName || `Mock User (${platform})`,
135
- connected: true
136
- };
137
- await saveConnectionStatus(status);
138
124
  return true;
139
125
  } catch (error) {
140
- console.error('Error handling callback:', error);
126
+ console.error(`Error disconnecting platform ${platform}:`, error);
141
127
  return false;
142
128
  }
143
- }, [getConnectionStatus, saveConnectionStatus]);
129
+ }, []);
130
+
131
+ /**
132
+ * Get current connection status
133
+ */
134
+ const getConnectionStatus = useCallback(async () => {
135
+ // In a real app, you might fetch this from storage or API
136
+ return connections;
137
+ }, [connections]);
144
138
  return {
145
- isConnecting,
139
+ connections,
146
140
  connectPlatform,
147
141
  disconnectPlatform,
148
142
  getConnectionStatus,
149
- handleOAuthCallback
143
+ isConnecting
150
144
  };
151
145
  };
152
146
  //# sourceMappingURL=useConnections.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useCallback","STORAGE_KEYS","mockConnectionStorage","Keychain","require","error","console","warn","isKeychainAvailable","getGenericPassword","e","useConnections","isConnecting","setIsConnecting","getConnectionStatus","stored","service","connections","password","parsed","JSON","parse","keychainError","resetGenericPassword","resetError","mockData","log","saveConnectionStatus","status","setGenericPassword","stringify","connectPlatform","platform","Promise","resolve","setTimeout","userName","connected","__DEV__","disconnectPlatform","handleOAuthCallback","data"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useConnections.ts"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AAE7C,SAASC,YAAY,QAAQ,cAAc;AAG3C;AACA,MAAMC,qBAAuD,GAAG,CAAC,CAAC;;AAElE;AACA,IAAIC,QAAa,GAAG,IAAI;AACxB,IAAI;EACF;EACAA,QAAQ,GAAGC,OAAO,CAAC,uBAAuB,CAAC;AAC7C,CAAC,CAAC,OAAOC,KAAK,EAAE;EACdC,OAAO,CAACC,IAAI,CAAC,kFAAkF,CAAC;AAClG;;AAEA;AACA,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EAChC,IAAI;IACF,OAAOL,QAAQ,IAAI,OAAOA,QAAQ,CAACM,kBAAkB,KAAK,UAAU;EACtE,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,OAAO,KAAK;EACd;AACF,CAAC;AAED,OAAO,MAAMC,cAAc,GAAGA,CAAA,KAAM;EAClC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EAEvD,MAAMe,mBAAmB,GAAGd,WAAW,CAAC,YAAuC;IAC7E,IAAI;MACF,IAAIQ,mBAAmB,CAAC,CAAC,EAAE;QACzB,IAAI;UACF,MAAMO,MAAM,GAAG,MAAMZ,QAAQ,CAACM,kBAAkB,CAAC;YAC/CO,OAAO,EAAEf,YAAY,CAACgB;UACxB,CAAC,CAAC;UACF,IAAIF,MAAM,IAAIA,MAAM,CAACG,QAAQ,EAAE;YAC7B,MAAMC,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACN,MAAM,CAACG,QAAQ,CAAC;YAC1C;YACA,IAAIC,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;cACxC,OAAOA,MAAM;YACf;UACF;QACF,CAAC,CAAC,OAAOG,aAAa,EAAE;UACtBhB,OAAO,CAACC,IAAI,CAAC,yCAAyC,EAAEe,aAAa,CAAC;UACtE;UACA,IAAI;YACF,MAAMnB,QAAQ,CAACoB,oBAAoB,CAAC;cAAEP,OAAO,EAAEf,YAAY,CAACgB;YAAY,CAAC,CAAC;UAC5E,CAAC,CAAC,OAAOO,UAAU,EAAE;YACnBlB,OAAO,CAACC,IAAI,CAAC,2BAA2B,EAAEiB,UAAU,CAAC;UACvD;QACF;MACF;;MAEA;MACA,MAAMC,QAAQ,GAAGvB,qBAAqB,CAACD,YAAY,CAACgB,WAAW,CAAC,IAAI,CAAC,CAAC;MACtEX,OAAO,CAACoB,GAAG,CAAC,gCAAgC,EAAED,QAAQ,CAAC;MACvD,OAAOA,QAAQ;IACjB,CAAC,CAAC,OAAOpB,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;;MAExD;MACAC,OAAO,CAACoB,GAAG,CAAC,0CAA0C,CAAC;MACvD,OAAO,CAAC,CAAC;IACX;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,oBAAoB,GAAG3B,WAAW,CAAC,MAAO4B,MAAwB,IAAK;IAC3E,IAAI;MACF,IAAIpB,mBAAmB,CAAC,CAAC,EAAE;QACzB,MAAML,QAAQ,CAAC0B,kBAAkB,CAC/B,aAAa,EACbT,IAAI,CAACU,SAAS,CAACF,MAAM,CAAC,EACtB;UAAEZ,OAAO,EAAEf,YAAY,CAACgB;QAAY,CACtC,CAAC;MACH,CAAC,MAAM;QACL;QACAf,qBAAqB,CAACD,YAAY,CAACgB,WAAW,CAAC,GAAGW,MAAM;MAC1D;IACF,CAAC,CAAC,OAAOvB,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,iCAAiC,EAAEA,KAAK,CAAC;MACvD;MACAH,qBAAqB,CAACD,YAAY,CAACgB,WAAW,CAAC,GAAGW,MAAM;IAC1D;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,eAAe,GAAG/B,WAAW,CAAC,MAAOgC,QAAgB,IAAK;IAC9DnB,eAAe,CAAC,IAAI,CAAC;IACrB,IAAI;MACFP,OAAO,CAACoB,GAAG,CAAC,wBAAwBM,QAAQ,EAAE,CAAC;;MAE/C;MACA,MAAM,IAAIC,OAAO,CAAQC,OAAO,IAAK;QACnCC,UAAU,CAAC,MAAMD,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC;MACnC,CAAC,CAAC;MAEF,MAAMN,MAAM,GAAG,MAAMd,mBAAmB,CAAC,CAAC;MAC1Cc,MAAM,CAACI,QAAQ,CAAC,GAAG;QACjBI,QAAQ,EAAE,cAAcJ,QAAQ,GAAG;QACnCK,SAAS,EAAE;MACb,CAAC;MACD,MAAMV,oBAAoB,CAACC,MAAM,CAAC;MAElCtB,OAAO,CAACoB,GAAG,CAAC,oCAAoCM,QAAQ,EAAE,CAAC;IAC7D,CAAC,CAAC,OAAO3B,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,uBAAuB2B,QAAQ,GAAG,EAAE3B,KAAK,CAAC;MACxD;MACA,IAAIiC,OAAO,EAAE;QACX,MAAMV,MAAM,GAAG;UACb,CAACI,QAAQ,GAAG;YACVI,QAAQ,EAAE,kBAAkBJ,QAAQ,GAAG;YACvCK,SAAS,EAAE;UACb;QACF,CAAC;QACD,MAAMV,oBAAoB,CAACC,MAAM,CAAC;MACpC,CAAC,MAAM;QACL,MAAMvB,KAAK;MACb;IACF,CAAC,SAAS;MACRQ,eAAe,CAAC,KAAK,CAAC;IACxB;EACF,CAAC,EAAE,CAACC,mBAAmB,EAAEa,oBAAoB,CAAC,CAAC;EAE/C,MAAMY,kBAAkB,GAAGvC,WAAW,CAAC,MAAOgC,QAAgB,IAAK;IACjE,IAAI;MACF,MAAMJ,MAAM,GAAG,MAAMd,mBAAmB,CAAC,CAAC;MAC1C,IAAIc,MAAM,IAAII,QAAQ,IAAIJ,MAAM,EAAE;QAChC,OAAOA,MAAM,CAACI,QAAQ,CAAC;QACvB,MAAML,oBAAoB,CAACC,MAAM,CAAC;MACpC;IACF,CAAC,CAAC,OAAOvB,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,uBAAuB2B,QAAQ,GAAG,EAAE3B,KAAK,CAAC;MACxD;MACA,IAAI,CAACiC,OAAO,EAAE;QACZ,MAAMjC,KAAK;MACb;IACF;EACF,CAAC,EAAE,CAACS,mBAAmB,EAAEa,oBAAoB,CAAC,CAAC;EAE/C,MAAMa,mBAAmB,GAAGxC,WAAW,CAAC,OAAOgC,QAAgB,EAAES,IAAS,KAAK;IAC7E,IAAI;MACFnC,OAAO,CAACoB,GAAG,CAAC,gCAAgCM,QAAQ,EAAE,CAAC;MACvD,MAAMJ,MAAM,GAAG,MAAMd,mBAAmB,CAAC,CAAC;MAC1Cc,MAAM,CAACI,QAAQ,CAAC,GAAG;QACjBI,QAAQ,EAAEK,IAAI,CAACL,QAAQ,IAAI,cAAcJ,QAAQ,GAAG;QACpDK,SAAS,EAAE;MACb,CAAC;MACD,MAAMV,oBAAoB,CAACC,MAAM,CAAC;MAClC,OAAO,IAAI;IACb,CAAC,CAAC,OAAOvB,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;MAChD,OAAO,KAAK;IACd;EACF,CAAC,EAAE,CAACS,mBAAmB,EAAEa,oBAAoB,CAAC,CAAC;EAE/C,OAAO;IACLf,YAAY;IACZmB,eAAe;IACfQ,kBAAkB;IAClBzB,mBAAmB;IACnB0B;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useState","useCallback","initiateNativeAuth","AsyncStorage","getOnairosUsername","useConnections","connections","setConnections","isConnecting","setIsConnecting","connectPlatform","platform","username","useNativeSDK","success","Promise","resolve","setTimeout","undefined","prev","userName","connected","token","getItem","storedUsername","apiUsername","console","log","providedUsername","finalApiUsername","response","fetch","method","headers","body","JSON","stringify","UpdateType","updateType","connection","status","apiError","warn","error","disconnectPlatform","newConnections","getConnectionStatus"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useConnections.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ import { useState, useEffect, useCallback } from 'react';
2
+ import { getUserConnections, getUserConnectionsByUsername, getUserConnectionsByUserId, uploadProfilePicture } from '../services/userConnectionsService';
3
+ import { getAuthToken } from '../services/authService';
4
+ import AsyncStorage from '@react-native-async-storage/async-storage';
5
+ export const useUserConnections = () => {
6
+ const [connections, setConnections] = useState([]);
7
+ const [isLoading, setIsLoading] = useState(true);
8
+ const [error, setError] = useState(null);
9
+
10
+ /**
11
+ * Load connections from API with authentication validation
12
+ */
13
+ const loadConnections = useCallback(async () => {
14
+ try {
15
+ setIsLoading(true);
16
+ setError(null);
17
+
18
+ // ✅ CRITICAL: Validate authentication before making API calls
19
+ const authToken = await getAuthToken();
20
+
21
+ // Check for demo mode (reviewer bypass)
22
+ const reviewerToken = await AsyncStorage.getItem('onairos_jwt_token');
23
+ const isDemoMode = reviewerToken === 'reviewer-bypass-token';
24
+ if (!authToken && !isDemoMode) {
25
+ console.warn('⚠️ [CONNECTIONS HOOK] No authentication token available for connections refresh');
26
+ console.warn('⚠️ [CONNECTIONS HOOK] Skipping API call to prevent unauthenticated requests');
27
+ setConnections([]);
28
+ setError('Authentication required for connections');
29
+ return;
30
+ }
31
+ if (isDemoMode) {
32
+ console.log('🎯 [DEMO MODE] Reviewer bypass detected - skipping API call for demo');
33
+ // For demo mode, return empty connections - ResultsScreen will use fallback data
34
+ setConnections([]);
35
+ setError(null);
36
+ return;
37
+ }
38
+
39
+ // At this point, authToken must be valid (not null) because we've checked both cases above
40
+ if (!authToken) {
41
+ console.error('❌ [CONNECTIONS HOOK] Unexpected null token after validation');
42
+ setConnections([]);
43
+ setError('Authentication error');
44
+ return;
45
+ }
46
+ console.log('🔄 Loading user connections with authentication...');
47
+ console.log('🔑 [CONNECTIONS HOOK] Using auth token:', `${authToken.substring(0, 20)}...`);
48
+ const fetchedConnections = await getUserConnections();
49
+ setConnections(fetchedConnections);
50
+ console.log('✅ Connections loaded:', fetchedConnections.length);
51
+ } catch (err) {
52
+ const errorMessage = err instanceof Error ? err.message : 'Failed to load connections';
53
+ console.error('❌ Error loading connections:', errorMessage);
54
+ setError(errorMessage);
55
+
56
+ // Set empty array on error - screens will handle their own fallbacks
57
+ setConnections([]);
58
+ } finally {
59
+ setIsLoading(false);
60
+ }
61
+ }, []);
62
+
63
+ /**
64
+ * Refresh connections with authentication validation
65
+ */
66
+ const refreshConnections = useCallback(async () => {
67
+ console.log('🔄 [CONNECTIONS HOOK] Refreshing connections...');
68
+ await loadConnections();
69
+ console.log('✅ [CONNECTIONS HOOK] Connections refresh completed');
70
+ }, [loadConnections]);
71
+
72
+ /**
73
+ * Get connections by username with authentication validation
74
+ */
75
+ const getConnectionsByUsername = useCallback(async username => {
76
+ try {
77
+ // ✅ Validate authentication before making API calls
78
+ const authToken = await getAuthToken();
79
+ if (!authToken) {
80
+ console.warn('⚠️ [CONNECTIONS HOOK] No authentication token available for username connections');
81
+ return [];
82
+ }
83
+ console.log('🔍 Fetching connections by username:', username);
84
+ console.log('🔑 [CONNECTIONS HOOK] Using auth token:', `${authToken.substring(0, 20)}...`);
85
+ return await getUserConnectionsByUsername(username);
86
+ } catch (error) {
87
+ console.error('❌ Error fetching connections by username:', error);
88
+ return [];
89
+ }
90
+ }, []);
91
+
92
+ /**
93
+ * Get connections by user ID with authentication validation
94
+ */
95
+ const getConnectionsByUserId = useCallback(async userId => {
96
+ try {
97
+ // ✅ Validate authentication before making API calls
98
+ const authToken = await getAuthToken();
99
+ if (!authToken) {
100
+ console.warn('⚠️ [CONNECTIONS HOOK] No authentication token available for user ID connections');
101
+ return [];
102
+ }
103
+ console.log('🔍 Fetching connections by userId:', userId);
104
+ console.log('🔑 [CONNECTIONS HOOK] Using auth token:', `${authToken.substring(0, 20)}...`);
105
+ return await getUserConnectionsByUserId(userId);
106
+ } catch (error) {
107
+ console.error('❌ Error fetching connections by userId:', error);
108
+ return [];
109
+ }
110
+ }, []);
111
+
112
+ /**
113
+ * Upload profile picture
114
+ */
115
+ const uploadUserProfilePicture = useCallback(async (imageData, fileType = 'jpg') => {
116
+ try {
117
+ console.log('📷 Uploading profile picture for user:');
118
+ const result = await uploadProfilePicture(imageData, fileType);
119
+ return result.success;
120
+ } catch (error) {
121
+ console.error('❌ Error uploading profile picture:', error);
122
+ return false;
123
+ }
124
+ }, []);
125
+
126
+ // Load connections on mount
127
+ useEffect(() => {
128
+ loadConnections();
129
+ }, [loadConnections]);
130
+ return {
131
+ connections,
132
+ isLoading,
133
+ error,
134
+ refreshConnections,
135
+ getConnectionsByUsername,
136
+ getConnectionsByUserId,
137
+ uploadUserProfilePicture
138
+ };
139
+ };
140
+ //# sourceMappingURL=useUserConnections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useState","useEffect","useCallback","getUserConnections","getUserConnectionsByUsername","getUserConnectionsByUserId","uploadProfilePicture","getAuthToken","AsyncStorage","useUserConnections","connections","setConnections","isLoading","setIsLoading","error","setError","loadConnections","authToken","reviewerToken","getItem","isDemoMode","console","warn","log","substring","fetchedConnections","length","err","errorMessage","Error","message","refreshConnections","getConnectionsByUsername","username","getConnectionsByUserId","userId","uploadUserProfilePicture","imageData","fileType","result","success"],"sourceRoot":"..\\..\\..\\src","sources":["hooks/useUserConnections.ts"],"mappings":"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","ignoreList":[]}
@@ -1,32 +1,68 @@
1
- /**
2
- * Onairos React Native SDK
3
- * A React Native implementation for Onairos personalized data integration
4
- *
5
- * PUBLIC API - Only expose what developers need
1
+ /**
2
+ * Onairos React Native SDK v4.0.0
3
+ * A React Native implementation for Onairos personalized data integration
4
+ *
5
+ * PUBLIC API - Complete redesigned UI and enhanced functionality
6
6
  */
7
7
 
8
- // Essential Types Only
8
+ // Essential Types
9
9
 
10
- // Core Components
10
+ // Core Components - Redesigned UI
11
11
  export { OnairosButton } from './components/OnairosButton';
12
12
  export { Onairos } from './components/Onairos';
13
+ export { UniversalOnboarding } from './components/UniversalOnboarding';
13
14
 
14
- // SDK Initialization
15
+ // New UI Components - Complete Welcome Flow
16
+ export { default as WelcomeScreen } from './components/WelcomeScreen';
17
+ export { PrimaryButton } from './components/PrimaryButton';
18
+ export { ModalSheet } from './components/ModalSheet';
19
+ export { ModalHeader } from './components/ModalHeader';
20
+ export { BrandMark } from './components/BrandMark';
21
+ export { HeadingGroup } from './components/HeadingGroup';
22
+ export { BodyText } from './components/BodyText';
23
+ export { SignInStep } from './components/SignInStep';
24
+ export { VerificationStep } from './components/VerificationStep';
25
+ export { default as PlatformConnectorsStep } from './components/PlatformConnectorsStep';
26
+ export { PersonalizationConsentScreen } from './components/PersonalizationConsentScreen';
27
+ export { PinCreationScreen } from './components/PinCreationScreen';
28
+
29
+ // Enhanced Hooks - Temporarily commented out for build
30
+ // export { useConnections } from './hooks/useConnections';
31
+ // export { useUserConnections } from './hooks/useUserConnections';
32
+ // export { useConnectedAccounts } from './hooks/useConnectedAccounts';
33
+ // export { useAuth } from './context/AuthContext';
34
+
35
+ // Temporarily commented out components with missing dependencies
36
+ export { default as PersonaImage } from './components/PersonaImage';
37
+ // export { default as PlatformToggle } from './components/PlatformToggle';
38
+ // export { default as PersonaLoadingScreen } from './components/PersonaLoadingScreen';
39
+
40
+ // SDK Initialization & Services
15
41
  export { initializeApiKey, ADMIN_API_KEY, extractUsernameFromJWT, extractUserDataFromJWT, decodeJWTPayload } from './services/apiKeyService';
16
42
 
17
- // Authentication & PIN Management
18
- export {
19
- // storePinAfterBiometric, // TODO: Commented out temporarily - biometric functionality disabled
20
- getStoredJwtToken, clearStoredTokens, requestEmailVerification, verifyEmailCode, checkEmailVerificationStatus } from './services/platformAuthService';
43
+ // Authentication & Enhanced Services - Temporarily limited for build
44
+ export { getOnairosUsername } from './services/authService';
45
+ export { initiateOAuth, initiateNativeAuth, hasNativeSDK, isOAuthCallback } from './services/platformAuthService';
46
+ export { updateGoogleClientIds } from './services/googleAuthService';
47
+
48
+ // Enhanced API Client
49
+ export { ApiClient } from './services/apiClient';
50
+
51
+ // Programmatic Function (for custom buttons) - Temporarily commented out
52
+ // export { executeOnairosFlow } from './utils/programmaticFlow';
21
53
 
22
- // Programmatic Function (for custom buttons)
23
- export { executeOnairosFlow } from './utils/programmaticFlow';
54
+ // Context Provider - Temporarily commented out for build
55
+ // export { AuthProvider } from './context/AuthContext';
24
56
 
25
57
  // Default export for convenience
26
58
  import { OnairosButton } from './components/OnairosButton';
27
59
  import { Onairos } from './components/Onairos';
60
+ import { UniversalOnboarding } from './components/UniversalOnboarding';
61
+ import WelcomeScreen from './components/WelcomeScreen';
28
62
  export default {
29
63
  OnairosButton,
30
- Onairos
64
+ Onairos,
65
+ UniversalOnboarding,
66
+ WelcomeScreen
31
67
  };
32
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OnairosButton","Onairos","initializeApiKey","ADMIN_API_KEY","extractUsernameFromJWT","extractUserDataFromJWT","decodeJWTPayload","getStoredJwtToken","clearStoredTokens","requestEmailVerification","verifyEmailCode","checkEmailVerificationStatus","executeOnairosFlow"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AASA;AACA,SAASA,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,OAAO,QAAQ,sBAAsB;;AAE9C;AACA,SACEC,gBAAgB,EAChBC,aAAa,EACbC,sBAAsB,EACtBC,sBAAsB,EACtBC,gBAAgB,QACX,0BAA0B;;AAEjC;AACA;AACE;AACAC,iBAAiB,EACjBC,iBAAiB,EACjBC,wBAAwB,EACxBC,eAAe,EACfC,4BAA4B,QACvB,gCAAgC;;AAEvC;AACA,SAASC,kBAAkB,QAAQ,0BAA0B;;AAE7D;AACA,SAASZ,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,eAAe;EACbD,aAAa;EACbC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["OnairosButton","Onairos","UniversalOnboarding","default","WelcomeScreen","PrimaryButton","ModalSheet","ModalHeader","BrandMark","HeadingGroup","BodyText","SignInStep","VerificationStep","PlatformConnectorsStep","PersonalizationConsentScreen","PinCreationScreen","PersonaImage","initializeApiKey","ADMIN_API_KEY","extractUsernameFromJWT","extractUserDataFromJWT","decodeJWTPayload","getOnairosUsername","initiateOAuth","initiateNativeAuth","hasNativeSDK","isOAuthCallback","updateGoogleClientIds","ApiClient"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAYA;AACA,SAASA,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,kCAAkC;;AAEtE;AACA,SAASC,OAAO,IAAIC,aAAa,QAAQ,4BAA4B;AACrE,SAASC,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,WAAW,QAAQ,0BAA0B;AACtD,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,YAAY,QAAQ,2BAA2B;AACxD,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,UAAU,QAAQ,yBAAyB;AACpD,SAASC,gBAAgB,QAAQ,+BAA+B;AAChE,SAAST,OAAO,IAAIU,sBAAsB,QAAQ,qCAAqC;AACvF,SAASC,4BAA4B,QAAQ,2CAA2C;AACxF,SAASC,iBAAiB,QAAQ,gCAAgC;;AAElE;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASZ,OAAO,IAAIa,YAAY,QAAQ,2BAA2B;AACnE;AACA;;AAEA;AACA,SACEC,gBAAgB,EAChBC,aAAa,EACbC,sBAAsB,EACtBC,sBAAsB,EACtBC,gBAAgB,QACX,0BAA0B;;AAEjC;AACA,SACEC,kBAAkB,QACb,wBAAwB;AAE/B,SACEC,aAAa,EACbC,kBAAkB,EAClBC,YAAY,EACZC,eAAe,QACV,gCAAgC;AAEvC,SACEC,qBAAqB,QAChB,8BAA8B;;AAErC;AACA,SAASC,SAAS,QAAQ,sBAAsB;;AAEhD;AACA;;AAEA;AACA;;AAEA;AACA,SAAS5B,aAAa,QAAQ,4BAA4B;AAC1D,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,OAAOE,aAAa,MAAM,4BAA4B;AAEtD,eAAe;EACbJ,aAAa;EACbC,OAAO;EACPC,mBAAmB;EACnBE;AACF,CAAC","ignoreList":[]}