@onairos/react-native 3.1.17 → 3.2.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 (729) hide show
  1. package/README.md +374 -403
  2. package/lib/commonjs/api/index.js +1 -75
  3. package/lib/commonjs/api/index.js.map +1 -1
  4. package/lib/commonjs/assets/images/email.png +0 -0
  5. package/lib/commonjs/assets/images/linkedin.png +0 -0
  6. package/lib/commonjs/assets/images/reddit.png +0 -0
  7. package/lib/commonjs/assets/images/youtube.png +0 -0
  8. package/lib/commonjs/components/DataRequestModal.js.map +1 -1
  9. package/lib/commonjs/components/DataRequestScreen.js.map +1 -1
  10. package/lib/commonjs/components/EmailVerificationModal.js.map +1 -1
  11. package/lib/commonjs/components/Onairos.js +3 -1
  12. package/lib/commonjs/components/Onairos.js.map +1 -1
  13. package/lib/commonjs/components/OnairosButton.js +190 -171
  14. package/lib/commonjs/components/OnairosButton.js.map +1 -1
  15. package/lib/commonjs/components/Overlay.js +5 -5
  16. package/lib/commonjs/components/Overlay.js.map +1 -1
  17. package/lib/commonjs/components/PinInput.js +120 -282
  18. package/lib/commonjs/components/PinInput.js.map +1 -1
  19. package/lib/commonjs/components/PlatformList.js.map +1 -1
  20. package/lib/commonjs/components/TrainingModal.js +563 -808
  21. package/lib/commonjs/components/TrainingModal.js.map +1 -1
  22. package/lib/commonjs/components/UniversalOnboarding.js +1283 -2304
  23. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
  24. package/lib/commonjs/components/UniversalOnboarding.tsx.new +455 -0
  25. package/lib/commonjs/components/onboarding/OAuthWebView.js +743 -134
  26. package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
  27. package/lib/commonjs/components/onboarding/OnboardingHeader.js.map +1 -1
  28. package/lib/commonjs/components/onboarding/PinInput.js.map +1 -1
  29. package/lib/commonjs/components/onboarding/PlatformConnector.js.map +1 -1
  30. package/lib/commonjs/components/screens/ConnectorScreen.js.map +1 -1
  31. package/lib/commonjs/components/screens/LoadingScreen.js.map +1 -1
  32. package/lib/commonjs/components/screens/PinCreationScreen.js.map +1 -1
  33. package/lib/commonjs/constants/index.js.map +1 -1
  34. package/lib/commonjs/hooks/useConnections.js +125 -120
  35. package/lib/commonjs/hooks/useConnections.js.map +1 -1
  36. package/lib/commonjs/hooks/useCredentials.js.map +1 -1
  37. package/lib/commonjs/index.js +31 -193
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/services/apiKeyService.js +102 -101
  40. package/lib/commonjs/services/apiKeyService.js.map +1 -1
  41. package/lib/commonjs/services/oauthService.js.map +1 -1
  42. package/lib/commonjs/services/platformAuthService.js +722 -956
  43. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  44. package/lib/commonjs/types/ambient.d.js.map +1 -1
  45. package/lib/commonjs/types/declarations.d.js.map +1 -1
  46. package/lib/commonjs/types/index.d.js.map +1 -1
  47. package/lib/commonjs/types/index.js.map +1 -1
  48. package/lib/commonjs/types/node-fix.d.js.map +1 -1
  49. package/lib/commonjs/types/node-override.d.js.map +1 -1
  50. package/lib/commonjs/types/opacity.d.js.map +1 -1
  51. package/lib/commonjs/types/types.d.js.map +1 -1
  52. package/lib/commonjs/types.js.map +1 -1
  53. package/lib/commonjs/utils/Portal.js +4 -4
  54. package/lib/commonjs/utils/Portal.js.map +1 -1
  55. package/lib/commonjs/utils/api.js +24 -24
  56. package/lib/commonjs/utils/api.js.map +1 -1
  57. package/lib/commonjs/utils/auth.js +18 -18
  58. package/lib/commonjs/utils/auth.js.map +1 -1
  59. package/lib/commonjs/utils/crypto.js +13 -13
  60. package/lib/commonjs/utils/crypto.js.map +1 -1
  61. package/lib/commonjs/utils/debugHelper.js.map +1 -1
  62. package/lib/commonjs/utils/encryption.js +12 -12
  63. package/lib/commonjs/utils/encryption.js.map +1 -1
  64. package/lib/commonjs/utils/onairosApi.js.map +1 -1
  65. package/lib/commonjs/utils/programmaticFlow.js +16 -16
  66. package/lib/commonjs/utils/programmaticFlow.js.map +1 -1
  67. package/lib/commonjs/utils/retryHelper.js +27 -27
  68. package/lib/commonjs/utils/retryHelper.js.map +1 -1
  69. package/lib/commonjs/utils/secureStorage.js.map +1 -1
  70. package/lib/module/api/index.js +0 -72
  71. package/lib/module/api/index.js.map +1 -1
  72. package/lib/module/assets/images/email.png +0 -0
  73. package/lib/module/assets/images/linkedin.png +0 -0
  74. package/lib/module/assets/images/reddit.png +0 -0
  75. package/lib/module/assets/images/youtube.png +0 -0
  76. package/lib/module/components/DataRequestModal.js.map +1 -1
  77. package/lib/module/components/DataRequestScreen.js.map +1 -1
  78. package/lib/module/components/EmailVerificationModal.js.map +1 -1
  79. package/lib/module/components/Onairos.js +3 -1
  80. package/lib/module/components/Onairos.js.map +1 -1
  81. package/lib/module/components/OnairosButton.js +192 -172
  82. package/lib/module/components/OnairosButton.js.map +1 -1
  83. package/lib/module/components/Overlay.js +5 -5
  84. package/lib/module/components/Overlay.js.map +1 -1
  85. package/lib/module/components/PinInput.js +120 -283
  86. package/lib/module/components/PinInput.js.map +1 -1
  87. package/lib/module/components/PlatformList.js.map +1 -1
  88. package/lib/module/components/TrainingModal.js +565 -809
  89. package/lib/module/components/TrainingModal.js.map +1 -1
  90. package/lib/module/components/UniversalOnboarding.js +1284 -2307
  91. package/lib/module/components/UniversalOnboarding.js.map +1 -1
  92. package/lib/module/components/UniversalOnboarding.tsx.new +455 -0
  93. package/lib/module/components/onboarding/OAuthWebView.js +744 -136
  94. package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
  95. package/lib/module/components/onboarding/OnboardingHeader.js.map +1 -1
  96. package/lib/module/components/onboarding/PinInput.js.map +1 -1
  97. package/lib/module/components/onboarding/PlatformConnector.js.map +1 -1
  98. package/lib/module/components/screens/ConnectorScreen.js.map +1 -1
  99. package/lib/module/components/screens/LoadingScreen.js.map +1 -1
  100. package/lib/module/components/screens/PinCreationScreen.js.map +1 -1
  101. package/lib/module/constants/index.js.map +1 -1
  102. package/lib/module/hooks/useConnections.js +125 -119
  103. package/lib/module/hooks/useConnections.js.map +1 -1
  104. package/lib/module/hooks/useCredentials.js.map +1 -1
  105. package/lib/module/index.js +15 -51
  106. package/lib/module/index.js.map +1 -1
  107. package/lib/module/services/apiKeyService.js +102 -101
  108. package/lib/module/services/apiKeyService.js.map +1 -1
  109. package/lib/module/services/oauthService.js.map +1 -1
  110. package/lib/module/services/platformAuthService.js +704 -943
  111. package/lib/module/services/platformAuthService.js.map +1 -1
  112. package/lib/module/types/ambient.d.js.map +1 -1
  113. package/lib/module/types/declarations.d.js.map +1 -1
  114. package/lib/module/types/index.d.js.map +1 -1
  115. package/lib/module/types/index.js.map +1 -1
  116. package/lib/module/types/node-fix.d.js.map +1 -1
  117. package/lib/module/types/node-override.d.js.map +1 -1
  118. package/lib/module/types/opacity.d.js.map +1 -1
  119. package/lib/module/types/types.d.js.map +1 -1
  120. package/lib/module/types.js.map +1 -1
  121. package/lib/module/utils/Portal.js +4 -4
  122. package/lib/module/utils/Portal.js.map +1 -1
  123. package/lib/module/utils/api.js +24 -24
  124. package/lib/module/utils/api.js.map +1 -1
  125. package/lib/module/utils/auth.js +18 -18
  126. package/lib/module/utils/auth.js.map +1 -1
  127. package/lib/module/utils/crypto.js +13 -13
  128. package/lib/module/utils/crypto.js.map +1 -1
  129. package/lib/module/utils/debugHelper.js.map +1 -1
  130. package/lib/module/utils/encryption.js +12 -12
  131. package/lib/module/utils/encryption.js.map +1 -1
  132. package/lib/module/utils/onairosApi.js.map +1 -1
  133. package/lib/module/utils/programmaticFlow.js +16 -16
  134. package/lib/module/utils/programmaticFlow.js.map +1 -1
  135. package/lib/module/utils/retryHelper.js +27 -27
  136. package/lib/module/utils/retryHelper.js.map +1 -1
  137. package/lib/module/utils/secureStorage.js.map +1 -1
  138. package/lib/typescript/api/index.d.ts +7 -15
  139. package/lib/typescript/api/index.d.ts.map +1 -1
  140. package/lib/typescript/components/DataRequestModal.d.ts +10 -10
  141. package/lib/typescript/components/DataRequestScreen.d.ts +10 -10
  142. package/lib/typescript/components/EmailVerificationModal.d.ts +10 -10
  143. package/lib/typescript/components/Onairos.d.ts +3 -3
  144. package/lib/typescript/components/Onairos.d.ts.map +1 -1
  145. package/lib/typescript/components/OnairosButton.d.ts +11 -36
  146. package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
  147. package/lib/typescript/components/Overlay.d.ts +3 -3
  148. package/lib/typescript/components/PinInput.d.ts +3 -13
  149. package/lib/typescript/components/PinInput.d.ts.map +1 -1
  150. package/lib/typescript/components/PlatformList.d.ts +3 -3
  151. package/lib/typescript/components/TrainingModal.d.ts +3 -14
  152. package/lib/typescript/components/TrainingModal.d.ts.map +1 -1
  153. package/lib/typescript/components/UniversalOnboarding.d.ts +3 -16
  154. package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
  155. package/lib/typescript/components/onboarding/OAuthWebView.d.ts +9 -9
  156. package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -1
  157. package/lib/typescript/components/onboarding/OnboardingHeader.d.ts +10 -10
  158. package/lib/typescript/components/onboarding/PinInput.d.ts +3 -3
  159. package/lib/typescript/components/onboarding/PlatformConnector.d.ts +12 -12
  160. package/lib/typescript/components/screens/ConnectorScreen.d.ts +8 -8
  161. package/lib/typescript/components/screens/LoadingScreen.d.ts +8 -8
  162. package/lib/typescript/components/screens/PinCreationScreen.d.ts +9 -9
  163. package/lib/typescript/constants/index.d.ts +52 -52
  164. package/lib/typescript/hooks/useConnections.d.ts +8 -13
  165. package/lib/typescript/hooks/useConnections.d.ts.map +1 -1
  166. package/lib/typescript/hooks/useCredentials.d.ts +8 -8
  167. package/lib/typescript/index.d.ts +17 -35
  168. package/lib/typescript/index.d.ts.map +1 -1
  169. package/lib/typescript/services/apiKeyService.d.ts +131 -131
  170. package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
  171. package/lib/typescript/services/oauthService.d.ts +49 -49
  172. package/lib/typescript/services/platformAuthService.d.ts +143 -68
  173. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  174. package/lib/typescript/types/index.d.ts +225 -264
  175. package/lib/typescript/types/index.d.ts.map +1 -1
  176. package/lib/typescript/types.d.ts +266 -266
  177. package/lib/typescript/utils/Portal.d.ts +13 -13
  178. package/lib/typescript/utils/api.d.ts +5 -5
  179. package/lib/typescript/utils/auth.d.ts +5 -5
  180. package/lib/typescript/utils/crypto.d.ts +3 -3
  181. package/lib/typescript/utils/debugHelper.d.ts +28 -28
  182. package/lib/typescript/utils/encryption.d.ts +18 -18
  183. package/lib/typescript/utils/onairosApi.d.ts +86 -86
  184. package/lib/typescript/utils/programmaticFlow.d.ts +22 -22
  185. package/lib/typescript/utils/retryHelper.d.ts +68 -68
  186. package/lib/typescript/utils/secureStorage.d.ts +93 -93
  187. package/package.json +149 -163
  188. package/src/api/index.ts +110 -151
  189. package/src/assets/images/email.png +0 -0
  190. package/src/assets/images/linkedin.png +0 -0
  191. package/src/assets/images/reddit.png +0 -0
  192. package/src/assets/images/youtube.png +0 -0
  193. package/src/components/DataRequestScreen.tsx +355 -355
  194. package/src/components/EmailVerificationModal.tsx +363 -363
  195. package/src/components/Onairos.tsx +424 -422
  196. package/src/components/OnairosButton.tsx +359 -339
  197. package/src/components/Overlay.tsx +506 -506
  198. package/src/components/PinInput.tsx +343 -555
  199. package/src/components/PlatformList.tsx +144 -144
  200. package/src/components/TrainingModal.tsx +737 -1047
  201. package/src/components/UniversalOnboarding.tsx +1820 -2888
  202. package/src/components/UniversalOnboarding.tsx.new +455 -0
  203. package/src/components/onboarding/OAuthWebView.tsx +838 -232
  204. package/src/hooks/useConnections.ts +163 -161
  205. package/src/hooks/useCredentials.ts +174 -174
  206. package/src/index.js +14 -14
  207. package/src/index.ts +49 -94
  208. package/src/services/apiKeyService.ts +921 -919
  209. package/src/services/platformAuthService.ts +1113 -1346
  210. package/src/types/ambient.d.ts +28 -28
  211. package/src/types/index.ts +238 -265
  212. package/src/types/node-fix.d.ts +18 -18
  213. package/src/types/node-override.d.ts +23 -23
  214. package/src/types/opacity.d.ts +15 -15
  215. package/src/types/types.d.ts +17 -17
  216. package/src/utils/Portal.tsx +82 -82
  217. package/src/utils/api.js +111 -111
  218. package/src/utils/auth.js +103 -103
  219. package/src/utils/crypto.js +59 -59
  220. package/src/utils/encryption.ts +68 -68
  221. package/src/utils/programmaticFlow.ts +112 -112
  222. package/src/utils/retryHelper.ts +274 -274
  223. package/types/index.d.ts +213 -213
  224. package/types/node-env.d.ts +14 -14
  225. package/lib/commonjs/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  226. package/lib/commonjs/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  227. package/lib/commonjs/assets/icons/Facebookicon.png +0 -0
  228. package/lib/commonjs/assets/icons/Gmail.png +0 -0
  229. package/lib/commonjs/assets/icons/Linkedinicon.png +0 -0
  230. package/lib/commonjs/assets/icons/Redditicon.png +0 -0
  231. package/lib/commonjs/assets/icons/YouTubeicon2.png +0 -0
  232. package/lib/commonjs/assets/icons/YouTubeicon3.png +0 -0
  233. package/lib/commonjs/assets/icons/farcaster.png +0 -0
  234. package/lib/commonjs/assets/icons/instagram.png +0 -0
  235. package/lib/commonjs/assets/icons/pinterest.png +0 -0
  236. package/lib/commonjs/assets/icons/swerv_logo.png +0 -0
  237. package/lib/commonjs/assets/icons/twitter.jpg +0 -0
  238. package/lib/commonjs/assets/images/Checkbox.svg +0 -3
  239. package/lib/commonjs/assets/images/EnochE.svg +0 -19
  240. package/lib/commonjs/assets/images/Enochicon1.png +0 -0
  241. package/lib/commonjs/assets/images/Face_ID_logo.png +0 -0
  242. package/lib/commonjs/assets/images/Facebookicon.png +0 -0
  243. package/lib/commonjs/assets/images/Gmail.png +0 -0
  244. package/lib/commonjs/assets/images/Googlelogo.png +0 -0
  245. package/lib/commonjs/assets/images/Linkedinicon.png +0 -0
  246. package/lib/commonjs/assets/images/Onairoslogo.png +0 -0
  247. package/lib/commonjs/assets/images/Personalityprofile.svg +0 -3
  248. package/lib/commonjs/assets/images/Personalitytraits.svg +0 -3
  249. package/lib/commonjs/assets/images/Redditicon.png +0 -0
  250. package/lib/commonjs/assets/images/Userpreferences.svg +0 -3
  251. package/lib/commonjs/assets/images/YouTubeicon3.png +0 -0
  252. package/lib/commonjs/assets/images/arrow.svg +0 -20
  253. package/lib/commonjs/assets/images/basicproficon.svg +0 -43
  254. package/lib/commonjs/assets/images/basicprofile.svg +0 -3
  255. package/lib/commonjs/assets/images/checkmark.svg +0 -4
  256. package/lib/commonjs/assets/images/contentanalysis.svg +0 -3
  257. package/lib/commonjs/assets/images/contenticon.svg +0 -23
  258. package/lib/commonjs/assets/images/persona1.png +0 -0
  259. package/lib/commonjs/assets/images/persona2.png +0 -0
  260. package/lib/commonjs/assets/images/persona3.png +0 -0
  261. package/lib/commonjs/assets/images/persona4.png +0 -0
  262. package/lib/commonjs/assets/images/persona5.png +0 -0
  263. package/lib/commonjs/assets/images/personalityicon.svg +0 -18
  264. package/lib/commonjs/assets/images/x-close.svg +0 -3
  265. package/lib/commonjs/components/BodyText.js +0 -27
  266. package/lib/commonjs/components/BodyText.js.map +0 -1
  267. package/lib/commonjs/components/BrandMark.js +0 -44
  268. package/lib/commonjs/components/BrandMark.js.map +0 -1
  269. package/lib/commonjs/components/CodeInput.js +0 -30
  270. package/lib/commonjs/components/CodeInput.js.map +0 -1
  271. package/lib/commonjs/components/EmailInput.js +0 -30
  272. package/lib/commonjs/components/EmailInput.js.map +0 -1
  273. package/lib/commonjs/components/ExistingUserDataConfirmation.js +0 -474
  274. package/lib/commonjs/components/ExistingUserDataConfirmation.js.map +0 -1
  275. package/lib/commonjs/components/GoogleButton.js +0 -55
  276. package/lib/commonjs/components/GoogleButton.js.map +0 -1
  277. package/lib/commonjs/components/HeadingGroup.js +0 -43
  278. package/lib/commonjs/components/HeadingGroup.js.map +0 -1
  279. package/lib/commonjs/components/ModalHeader.js +0 -99
  280. package/lib/commonjs/components/ModalHeader.js.map +0 -1
  281. package/lib/commonjs/components/ModalSheet.js +0 -41
  282. package/lib/commonjs/components/ModalSheet.js.map +0 -1
  283. package/lib/commonjs/components/OnairosSignInButton.js +0 -127
  284. package/lib/commonjs/components/OnairosSignInButton.js.map +0 -1
  285. package/lib/commonjs/components/PersonaImage.js +0 -60
  286. package/lib/commonjs/components/PersonaImage.js.map +0 -1
  287. package/lib/commonjs/components/PersonaLoadingScreen.js +0 -156
  288. package/lib/commonjs/components/PersonaLoadingScreen.js.map +0 -1
  289. package/lib/commonjs/components/PersonalizationConsentScreen.js +0 -316
  290. package/lib/commonjs/components/PersonalizationConsentScreen.js.map +0 -1
  291. package/lib/commonjs/components/PinCreationScreen.js +0 -393
  292. package/lib/commonjs/components/PinCreationScreen.js.map +0 -1
  293. package/lib/commonjs/components/PlatformConnectorsStep.js +0 -828
  294. package/lib/commonjs/components/PlatformConnectorsStep.js.map +0 -1
  295. package/lib/commonjs/components/PlatformToggle.js +0 -180
  296. package/lib/commonjs/components/PlatformToggle.js.map +0 -1
  297. package/lib/commonjs/components/PrimaryButton.js +0 -180
  298. package/lib/commonjs/components/PrimaryButton.js.map +0 -1
  299. package/lib/commonjs/components/SignInMatchAnimation.js +0 -197
  300. package/lib/commonjs/components/SignInMatchAnimation.js.map +0 -1
  301. package/lib/commonjs/components/SignInStep.js +0 -179
  302. package/lib/commonjs/components/SignInStep.js.map +0 -1
  303. package/lib/commonjs/components/VerificationStep.js +0 -154
  304. package/lib/commonjs/components/VerificationStep.js.map +0 -1
  305. package/lib/commonjs/components/WelcomeScreen.js +0 -385
  306. package/lib/commonjs/components/WelcomeScreen.js.map +0 -1
  307. package/lib/commonjs/components/icons/Basicproficon.js +0 -37
  308. package/lib/commonjs/components/icons/Basicproficon.js.map +0 -1
  309. package/lib/commonjs/components/icons/Basicprofile.js +0 -21
  310. package/lib/commonjs/components/icons/Basicprofile.js.map +0 -1
  311. package/lib/commonjs/components/icons/Checkbox.js +0 -21
  312. package/lib/commonjs/components/icons/Checkbox.js.map +0 -1
  313. package/lib/commonjs/components/icons/Checkmark.js +0 -27
  314. package/lib/commonjs/components/icons/Checkmark.js.map +0 -1
  315. package/lib/commonjs/components/icons/Contentanalysis.js +0 -21
  316. package/lib/commonjs/components/icons/Contentanalysis.js.map +0 -1
  317. package/lib/commonjs/components/icons/Contenticon.js +0 -39
  318. package/lib/commonjs/components/icons/Contenticon.js.map +0 -1
  319. package/lib/commonjs/components/icons/EnochE.js +0 -41
  320. package/lib/commonjs/components/icons/EnochE.js.map +0 -1
  321. package/lib/commonjs/components/icons/Personalityicon.js +0 -30
  322. package/lib/commonjs/components/icons/Personalityicon.js.map +0 -1
  323. package/lib/commonjs/components/icons/Personalityprofile.js +0 -21
  324. package/lib/commonjs/components/icons/Personalityprofile.js.map +0 -1
  325. package/lib/commonjs/components/icons/Personalitytraits.js +0 -21
  326. package/lib/commonjs/components/icons/Personalitytraits.js.map +0 -1
  327. package/lib/commonjs/components/icons/Userpreferences.js +0 -21
  328. package/lib/commonjs/components/icons/Userpreferences.js.map +0 -1
  329. package/lib/commonjs/components/icons/index.js +0 -84
  330. package/lib/commonjs/components/icons/index.js.map +0 -1
  331. package/lib/commonjs/config/api.js +0 -34
  332. package/lib/commonjs/config/api.js.map +0 -1
  333. package/lib/commonjs/context/AuthContext.js +0 -345
  334. package/lib/commonjs/context/AuthContext.js.map +0 -1
  335. package/lib/commonjs/hooks/useConnectedAccounts.js +0 -111
  336. package/lib/commonjs/hooks/useConnectedAccounts.js.map +0 -1
  337. package/lib/commonjs/hooks/useUserConnections.js +0 -148
  338. package/lib/commonjs/hooks/useUserConnections.js.map +0 -1
  339. package/lib/commonjs/services/apiClient.js +0 -302
  340. package/lib/commonjs/services/apiClient.js.map +0 -1
  341. package/lib/commonjs/services/authService.js +0 -935
  342. package/lib/commonjs/services/authService.js.map +0 -1
  343. package/lib/commonjs/services/biometricPinService.js +0 -184
  344. package/lib/commonjs/services/biometricPinService.js.map +0 -1
  345. package/lib/commonjs/services/connectedAccountsService.js +0 -268
  346. package/lib/commonjs/services/connectedAccountsService.js.map +0 -1
  347. package/lib/commonjs/services/googleAuthService.js +0 -268
  348. package/lib/commonjs/services/googleAuthService.js.map +0 -1
  349. package/lib/commonjs/services/imageCompressionService.js +0 -260
  350. package/lib/commonjs/services/imageCompressionService.js.map +0 -1
  351. package/lib/commonjs/services/jwtStorageService.js +0 -256
  352. package/lib/commonjs/services/jwtStorageService.js.map +0 -1
  353. package/lib/commonjs/services/mobileTrainingService.js +0 -185
  354. package/lib/commonjs/services/mobileTrainingService.js.map +0 -1
  355. package/lib/commonjs/services/pinEncryptionService.js +0 -84
  356. package/lib/commonjs/services/pinEncryptionService.js.map +0 -1
  357. package/lib/commonjs/services/pinStorageUtils.js +0 -105
  358. package/lib/commonjs/services/pinStorageUtils.js.map +0 -1
  359. package/lib/commonjs/services/storageService.js +0 -404
  360. package/lib/commonjs/services/storageService.js.map +0 -1
  361. package/lib/commonjs/services/trainingApiHelpers.js +0 -73
  362. package/lib/commonjs/services/trainingApiHelpers.js.map +0 -1
  363. package/lib/commonjs/services/userConnectionsService.js +0 -486
  364. package/lib/commonjs/services/userConnectionsService.js.map +0 -1
  365. package/lib/commonjs/services/youtubeMigrationService.js +0 -415
  366. package/lib/commonjs/services/youtubeMigrationService.js.map +0 -1
  367. package/lib/commonjs/theme/index.js +0 -249
  368. package/lib/commonjs/theme/index.js.map +0 -1
  369. package/lib/commonjs/utils/eventUtils.js +0 -288
  370. package/lib/commonjs/utils/eventUtils.js.map +0 -1
  371. package/lib/commonjs/utils/haptics.js +0 -66
  372. package/lib/commonjs/utils/haptics.js.map +0 -1
  373. package/lib/commonjs/utils/imagePreloader.js +0 -6
  374. package/lib/commonjs/utils/imagePreloader.js.map +0 -1
  375. package/lib/module/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  376. package/lib/module/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  377. package/lib/module/assets/icons/Facebookicon.png +0 -0
  378. package/lib/module/assets/icons/Gmail.png +0 -0
  379. package/lib/module/assets/icons/Linkedinicon.png +0 -0
  380. package/lib/module/assets/icons/Redditicon.png +0 -0
  381. package/lib/module/assets/icons/YouTubeicon2.png +0 -0
  382. package/lib/module/assets/icons/YouTubeicon3.png +0 -0
  383. package/lib/module/assets/icons/farcaster.png +0 -0
  384. package/lib/module/assets/icons/instagram.png +0 -0
  385. package/lib/module/assets/icons/pinterest.png +0 -0
  386. package/lib/module/assets/icons/swerv_logo.png +0 -0
  387. package/lib/module/assets/icons/twitter.jpg +0 -0
  388. package/lib/module/assets/images/Checkbox.svg +0 -3
  389. package/lib/module/assets/images/EnochE.svg +0 -19
  390. package/lib/module/assets/images/Enochicon1.png +0 -0
  391. package/lib/module/assets/images/Face_ID_logo.png +0 -0
  392. package/lib/module/assets/images/Facebookicon.png +0 -0
  393. package/lib/module/assets/images/Gmail.png +0 -0
  394. package/lib/module/assets/images/Googlelogo.png +0 -0
  395. package/lib/module/assets/images/Linkedinicon.png +0 -0
  396. package/lib/module/assets/images/Onairoslogo.png +0 -0
  397. package/lib/module/assets/images/Personalityprofile.svg +0 -3
  398. package/lib/module/assets/images/Personalitytraits.svg +0 -3
  399. package/lib/module/assets/images/Redditicon.png +0 -0
  400. package/lib/module/assets/images/Userpreferences.svg +0 -3
  401. package/lib/module/assets/images/YouTubeicon3.png +0 -0
  402. package/lib/module/assets/images/arrow.svg +0 -20
  403. package/lib/module/assets/images/basicproficon.svg +0 -43
  404. package/lib/module/assets/images/basicprofile.svg +0 -3
  405. package/lib/module/assets/images/checkmark.svg +0 -4
  406. package/lib/module/assets/images/contentanalysis.svg +0 -3
  407. package/lib/module/assets/images/contenticon.svg +0 -23
  408. package/lib/module/assets/images/persona1.png +0 -0
  409. package/lib/module/assets/images/persona2.png +0 -0
  410. package/lib/module/assets/images/persona3.png +0 -0
  411. package/lib/module/assets/images/persona4.png +0 -0
  412. package/lib/module/assets/images/persona5.png +0 -0
  413. package/lib/module/assets/images/personalityicon.svg +0 -18
  414. package/lib/module/assets/images/x-close.svg +0 -3
  415. package/lib/module/components/BodyText.js +0 -20
  416. package/lib/module/components/BodyText.js.map +0 -1
  417. package/lib/module/components/BrandMark.js +0 -37
  418. package/lib/module/components/BrandMark.js.map +0 -1
  419. package/lib/module/components/CodeInput.js +0 -23
  420. package/lib/module/components/CodeInput.js.map +0 -1
  421. package/lib/module/components/EmailInput.js +0 -23
  422. package/lib/module/components/EmailInput.js.map +0 -1
  423. package/lib/module/components/ExistingUserDataConfirmation.js +0 -465
  424. package/lib/module/components/ExistingUserDataConfirmation.js.map +0 -1
  425. package/lib/module/components/GoogleButton.js +0 -48
  426. package/lib/module/components/GoogleButton.js.map +0 -1
  427. package/lib/module/components/HeadingGroup.js +0 -36
  428. package/lib/module/components/HeadingGroup.js.map +0 -1
  429. package/lib/module/components/ModalHeader.js +0 -92
  430. package/lib/module/components/ModalHeader.js.map +0 -1
  431. package/lib/module/components/ModalSheet.js +0 -34
  432. package/lib/module/components/ModalSheet.js.map +0 -1
  433. package/lib/module/components/OnairosSignInButton.js +0 -118
  434. package/lib/module/components/OnairosSignInButton.js.map +0 -1
  435. package/lib/module/components/PersonaImage.js +0 -53
  436. package/lib/module/components/PersonaImage.js.map +0 -1
  437. package/lib/module/components/PersonaLoadingScreen.js +0 -148
  438. package/lib/module/components/PersonaLoadingScreen.js.map +0 -1
  439. package/lib/module/components/PersonalizationConsentScreen.js +0 -309
  440. package/lib/module/components/PersonalizationConsentScreen.js.map +0 -1
  441. package/lib/module/components/PinCreationScreen.js +0 -386
  442. package/lib/module/components/PinCreationScreen.js.map +0 -1
  443. package/lib/module/components/PlatformConnectorsStep.js +0 -820
  444. package/lib/module/components/PlatformConnectorsStep.js.map +0 -1
  445. package/lib/module/components/PlatformToggle.js +0 -173
  446. package/lib/module/components/PlatformToggle.js.map +0 -1
  447. package/lib/module/components/PrimaryButton.js +0 -172
  448. package/lib/module/components/PrimaryButton.js.map +0 -1
  449. package/lib/module/components/SignInMatchAnimation.js +0 -189
  450. package/lib/module/components/SignInMatchAnimation.js.map +0 -1
  451. package/lib/module/components/SignInStep.js +0 -171
  452. package/lib/module/components/SignInStep.js.map +0 -1
  453. package/lib/module/components/VerificationStep.js +0 -146
  454. package/lib/module/components/VerificationStep.js.map +0 -1
  455. package/lib/module/components/WelcomeScreen.js +0 -378
  456. package/lib/module/components/WelcomeScreen.js.map +0 -1
  457. package/lib/module/components/icons/Basicproficon.js +0 -30
  458. package/lib/module/components/icons/Basicproficon.js.map +0 -1
  459. package/lib/module/components/icons/Basicprofile.js +0 -14
  460. package/lib/module/components/icons/Basicprofile.js.map +0 -1
  461. package/lib/module/components/icons/Checkbox.js +0 -14
  462. package/lib/module/components/icons/Checkbox.js.map +0 -1
  463. package/lib/module/components/icons/Checkmark.js +0 -20
  464. package/lib/module/components/icons/Checkmark.js.map +0 -1
  465. package/lib/module/components/icons/Contentanalysis.js +0 -14
  466. package/lib/module/components/icons/Contentanalysis.js.map +0 -1
  467. package/lib/module/components/icons/Contenticon.js +0 -32
  468. package/lib/module/components/icons/Contenticon.js.map +0 -1
  469. package/lib/module/components/icons/EnochE.js +0 -34
  470. package/lib/module/components/icons/EnochE.js.map +0 -1
  471. package/lib/module/components/icons/Personalityicon.js +0 -23
  472. package/lib/module/components/icons/Personalityicon.js.map +0 -1
  473. package/lib/module/components/icons/Personalityprofile.js +0 -14
  474. package/lib/module/components/icons/Personalityprofile.js.map +0 -1
  475. package/lib/module/components/icons/Personalitytraits.js +0 -14
  476. package/lib/module/components/icons/Personalitytraits.js.map +0 -1
  477. package/lib/module/components/icons/Userpreferences.js +0 -14
  478. package/lib/module/components/icons/Userpreferences.js.map +0 -1
  479. package/lib/module/components/icons/index.js +0 -13
  480. package/lib/module/components/icons/index.js.map +0 -1
  481. package/lib/module/config/api.js +0 -26
  482. package/lib/module/config/api.js.map +0 -1
  483. package/lib/module/context/AuthContext.js +0 -335
  484. package/lib/module/context/AuthContext.js.map +0 -1
  485. package/lib/module/hooks/useConnectedAccounts.js +0 -106
  486. package/lib/module/hooks/useConnectedAccounts.js.map +0 -1
  487. package/lib/module/hooks/useUserConnections.js +0 -140
  488. package/lib/module/hooks/useUserConnections.js.map +0 -1
  489. package/lib/module/services/apiClient.js +0 -298
  490. package/lib/module/services/apiClient.js.map +0 -1
  491. package/lib/module/services/authService.js +0 -905
  492. package/lib/module/services/authService.js.map +0 -1
  493. package/lib/module/services/biometricPinService.js +0 -173
  494. package/lib/module/services/biometricPinService.js.map +0 -1
  495. package/lib/module/services/connectedAccountsService.js +0 -255
  496. package/lib/module/services/connectedAccountsService.js.map +0 -1
  497. package/lib/module/services/googleAuthService.js +0 -258
  498. package/lib/module/services/googleAuthService.js.map +0 -1
  499. package/lib/module/services/imageCompressionService.js +0 -250
  500. package/lib/module/services/imageCompressionService.js.map +0 -1
  501. package/lib/module/services/jwtStorageService.js +0 -239
  502. package/lib/module/services/jwtStorageService.js.map +0 -1
  503. package/lib/module/services/mobileTrainingService.js +0 -172
  504. package/lib/module/services/mobileTrainingService.js.map +0 -1
  505. package/lib/module/services/pinEncryptionService.js +0 -75
  506. package/lib/module/services/pinEncryptionService.js.map +0 -1
  507. package/lib/module/services/pinStorageUtils.js +0 -93
  508. package/lib/module/services/pinStorageUtils.js.map +0 -1
  509. package/lib/module/services/storageService.js +0 -383
  510. package/lib/module/services/storageService.js.map +0 -1
  511. package/lib/module/services/trainingApiHelpers.js +0 -67
  512. package/lib/module/services/trainingApiHelpers.js.map +0 -1
  513. package/lib/module/services/userConnectionsService.js +0 -476
  514. package/lib/module/services/userConnectionsService.js.map +0 -1
  515. package/lib/module/services/youtubeMigrationService.js +0 -404
  516. package/lib/module/services/youtubeMigrationService.js.map +0 -1
  517. package/lib/module/theme/index.js +0 -244
  518. package/lib/module/theme/index.js.map +0 -1
  519. package/lib/module/utils/eventUtils.js +0 -270
  520. package/lib/module/utils/eventUtils.js.map +0 -1
  521. package/lib/module/utils/haptics.js +0 -59
  522. package/lib/module/utils/haptics.js.map +0 -1
  523. package/lib/module/utils/imagePreloader.js +0 -3
  524. package/lib/module/utils/imagePreloader.js.map +0 -1
  525. package/lib/typescript/components/BodyText.d.ts +0 -10
  526. package/lib/typescript/components/BodyText.d.ts.map +0 -1
  527. package/lib/typescript/components/BrandMark.d.ts +0 -11
  528. package/lib/typescript/components/BrandMark.d.ts.map +0 -1
  529. package/lib/typescript/components/CodeInput.d.ts +0 -10
  530. package/lib/typescript/components/CodeInput.d.ts.map +0 -1
  531. package/lib/typescript/components/EmailInput.d.ts +0 -8
  532. package/lib/typescript/components/EmailInput.d.ts.map +0 -1
  533. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts +0 -12
  534. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts.map +0 -1
  535. package/lib/typescript/components/GoogleButton.d.ts +0 -11
  536. package/lib/typescript/components/GoogleButton.d.ts.map +0 -1
  537. package/lib/typescript/components/HeadingGroup.d.ts +0 -11
  538. package/lib/typescript/components/HeadingGroup.d.ts.map +0 -1
  539. package/lib/typescript/components/ModalHeader.d.ts +0 -11
  540. package/lib/typescript/components/ModalHeader.d.ts.map +0 -1
  541. package/lib/typescript/components/ModalSheet.d.ts +0 -13
  542. package/lib/typescript/components/ModalSheet.d.ts.map +0 -1
  543. package/lib/typescript/components/OnairosSignInButton.d.ts +0 -14
  544. package/lib/typescript/components/OnairosSignInButton.d.ts.map +0 -1
  545. package/lib/typescript/components/PersonaImage.d.ts +0 -8
  546. package/lib/typescript/components/PersonaImage.d.ts.map +0 -1
  547. package/lib/typescript/components/PersonaLoadingScreen.d.ts +0 -10
  548. package/lib/typescript/components/PersonaLoadingScreen.d.ts.map +0 -1
  549. package/lib/typescript/components/PersonalizationConsentScreen.d.ts +0 -10
  550. package/lib/typescript/components/PersonalizationConsentScreen.d.ts.map +0 -1
  551. package/lib/typescript/components/PinCreationScreen.d.ts +0 -10
  552. package/lib/typescript/components/PinCreationScreen.d.ts.map +0 -1
  553. package/lib/typescript/components/PlatformConnectorsStep.d.ts +0 -11
  554. package/lib/typescript/components/PlatformConnectorsStep.d.ts.map +0 -1
  555. package/lib/typescript/components/PlatformToggle.d.ts +0 -20
  556. package/lib/typescript/components/PlatformToggle.d.ts.map +0 -1
  557. package/lib/typescript/components/PrimaryButton.d.ts +0 -22
  558. package/lib/typescript/components/PrimaryButton.d.ts.map +0 -1
  559. package/lib/typescript/components/SignInMatchAnimation.d.ts +0 -9
  560. package/lib/typescript/components/SignInMatchAnimation.d.ts.map +0 -1
  561. package/lib/typescript/components/SignInStep.d.ts +0 -12
  562. package/lib/typescript/components/SignInStep.d.ts.map +0 -1
  563. package/lib/typescript/components/VerificationStep.d.ts +0 -13
  564. package/lib/typescript/components/VerificationStep.d.ts.map +0 -1
  565. package/lib/typescript/components/WelcomeScreen.d.ts +0 -9
  566. package/lib/typescript/components/WelcomeScreen.d.ts.map +0 -1
  567. package/lib/typescript/components/icons/Basicproficon.d.ts +0 -5
  568. package/lib/typescript/components/icons/Basicproficon.d.ts.map +0 -1
  569. package/lib/typescript/components/icons/Basicprofile.d.ts +0 -5
  570. package/lib/typescript/components/icons/Basicprofile.d.ts.map +0 -1
  571. package/lib/typescript/components/icons/Checkbox.d.ts +0 -5
  572. package/lib/typescript/components/icons/Checkbox.d.ts.map +0 -1
  573. package/lib/typescript/components/icons/Checkmark.d.ts +0 -5
  574. package/lib/typescript/components/icons/Checkmark.d.ts.map +0 -1
  575. package/lib/typescript/components/icons/Contentanalysis.d.ts +0 -5
  576. package/lib/typescript/components/icons/Contentanalysis.d.ts.map +0 -1
  577. package/lib/typescript/components/icons/Contenticon.d.ts +0 -5
  578. package/lib/typescript/components/icons/Contenticon.d.ts.map +0 -1
  579. package/lib/typescript/components/icons/EnochE.d.ts +0 -5
  580. package/lib/typescript/components/icons/EnochE.d.ts.map +0 -1
  581. package/lib/typescript/components/icons/Personalityicon.d.ts +0 -5
  582. package/lib/typescript/components/icons/Personalityicon.d.ts.map +0 -1
  583. package/lib/typescript/components/icons/Personalityprofile.d.ts +0 -5
  584. package/lib/typescript/components/icons/Personalityprofile.d.ts.map +0 -1
  585. package/lib/typescript/components/icons/Personalitytraits.d.ts +0 -5
  586. package/lib/typescript/components/icons/Personalitytraits.d.ts.map +0 -1
  587. package/lib/typescript/components/icons/Userpreferences.d.ts +0 -5
  588. package/lib/typescript/components/icons/Userpreferences.d.ts.map +0 -1
  589. package/lib/typescript/components/icons/index.d.ts +0 -12
  590. package/lib/typescript/components/icons/index.d.ts.map +0 -1
  591. package/lib/typescript/config/api.d.ts +0 -24
  592. package/lib/typescript/config/api.d.ts.map +0 -1
  593. package/lib/typescript/context/AuthContext.d.ts +0 -34
  594. package/lib/typescript/context/AuthContext.d.ts.map +0 -1
  595. package/lib/typescript/hooks/useConnectedAccounts.d.ts +0 -11
  596. package/lib/typescript/hooks/useConnectedAccounts.d.ts.map +0 -1
  597. package/lib/typescript/hooks/useUserConnections.d.ts +0 -12
  598. package/lib/typescript/hooks/useUserConnections.d.ts.map +0 -1
  599. package/lib/typescript/services/apiClient.d.ts +0 -91
  600. package/lib/typescript/services/apiClient.d.ts.map +0 -1
  601. package/lib/typescript/services/authService.d.ts +0 -216
  602. package/lib/typescript/services/authService.d.ts.map +0 -1
  603. package/lib/typescript/services/biometricPinService.d.ts +0 -29
  604. package/lib/typescript/services/biometricPinService.d.ts.map +0 -1
  605. package/lib/typescript/services/connectedAccountsService.d.ts +0 -56
  606. package/lib/typescript/services/connectedAccountsService.d.ts.map +0 -1
  607. package/lib/typescript/services/googleAuthService.d.ts +0 -63
  608. package/lib/typescript/services/googleAuthService.d.ts.map +0 -1
  609. package/lib/typescript/services/imageCompressionService.d.ts +0 -37
  610. package/lib/typescript/services/imageCompressionService.d.ts.map +0 -1
  611. package/lib/typescript/services/jwtStorageService.d.ts +0 -86
  612. package/lib/typescript/services/jwtStorageService.d.ts.map +0 -1
  613. package/lib/typescript/services/mobileTrainingService.d.ts +0 -45
  614. package/lib/typescript/services/mobileTrainingService.d.ts.map +0 -1
  615. package/lib/typescript/services/pinEncryptionService.d.ts +0 -17
  616. package/lib/typescript/services/pinEncryptionService.d.ts.map +0 -1
  617. package/lib/typescript/services/pinStorageUtils.d.ts +0 -25
  618. package/lib/typescript/services/pinStorageUtils.d.ts.map +0 -1
  619. package/lib/typescript/services/storageService.d.ts +0 -128
  620. package/lib/typescript/services/storageService.d.ts.map +0 -1
  621. package/lib/typescript/services/trainingApiHelpers.d.ts +0 -38
  622. package/lib/typescript/services/trainingApiHelpers.d.ts.map +0 -1
  623. package/lib/typescript/services/userConnectionsService.d.ts +0 -90
  624. package/lib/typescript/services/userConnectionsService.d.ts.map +0 -1
  625. package/lib/typescript/services/youtubeMigrationService.d.ts +0 -12
  626. package/lib/typescript/services/youtubeMigrationService.d.ts.map +0 -1
  627. package/lib/typescript/theme/index.d.ts +0 -416
  628. package/lib/typescript/theme/index.d.ts.map +0 -1
  629. package/lib/typescript/utils/eventUtils.d.ts +0 -108
  630. package/lib/typescript/utils/eventUtils.d.ts.map +0 -1
  631. package/lib/typescript/utils/haptics.d.ts +0 -11
  632. package/lib/typescript/utils/haptics.d.ts.map +0 -1
  633. package/lib/typescript/utils/imagePreloader.d.ts +0 -2
  634. package/lib/typescript/utils/imagePreloader.d.ts.map +0 -1
  635. package/src/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  636. package/src/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  637. package/src/assets/icons/Facebookicon.png +0 -0
  638. package/src/assets/icons/Gmail.png +0 -0
  639. package/src/assets/icons/Linkedinicon.png +0 -0
  640. package/src/assets/icons/Redditicon.png +0 -0
  641. package/src/assets/icons/YouTubeicon2.png +0 -0
  642. package/src/assets/icons/YouTubeicon3.png +0 -0
  643. package/src/assets/icons/farcaster.png +0 -0
  644. package/src/assets/icons/instagram.png +0 -0
  645. package/src/assets/icons/pinterest.png +0 -0
  646. package/src/assets/icons/swerv_logo.png +0 -0
  647. package/src/assets/icons/twitter.jpg +0 -0
  648. package/src/assets/images/Checkbox.svg +0 -3
  649. package/src/assets/images/EnochE.svg +0 -19
  650. package/src/assets/images/Enochicon1.png +0 -0
  651. package/src/assets/images/Face_ID_logo.png +0 -0
  652. package/src/assets/images/Facebookicon.png +0 -0
  653. package/src/assets/images/Gmail.png +0 -0
  654. package/src/assets/images/Googlelogo.png +0 -0
  655. package/src/assets/images/Linkedinicon.png +0 -0
  656. package/src/assets/images/Onairoslogo.png +0 -0
  657. package/src/assets/images/Personalityprofile.svg +0 -3
  658. package/src/assets/images/Personalitytraits.svg +0 -3
  659. package/src/assets/images/Redditicon.png +0 -0
  660. package/src/assets/images/Userpreferences.svg +0 -3
  661. package/src/assets/images/YouTubeicon3.png +0 -0
  662. package/src/assets/images/arrow.svg +0 -20
  663. package/src/assets/images/basicproficon.svg +0 -43
  664. package/src/assets/images/basicprofile.svg +0 -3
  665. package/src/assets/images/checkmark.svg +0 -4
  666. package/src/assets/images/contentanalysis.svg +0 -3
  667. package/src/assets/images/contenticon.svg +0 -23
  668. package/src/assets/images/persona1.png +0 -0
  669. package/src/assets/images/persona2.png +0 -0
  670. package/src/assets/images/persona3.png +0 -0
  671. package/src/assets/images/persona4.png +0 -0
  672. package/src/assets/images/persona5.png +0 -0
  673. package/src/assets/images/personalityicon.svg +0 -18
  674. package/src/assets/images/x-close.svg +0 -3
  675. package/src/components/BodyText.tsx +0 -33
  676. package/src/components/BrandMark.tsx +0 -62
  677. package/src/components/CodeInput.tsx +0 -32
  678. package/src/components/EmailInput.tsx +0 -31
  679. package/src/components/ExistingUserDataConfirmation.tsx +0 -507
  680. package/src/components/GoogleButton.tsx +0 -55
  681. package/src/components/HeadingGroup.tsx +0 -49
  682. package/src/components/ModalHeader.tsx +0 -125
  683. package/src/components/ModalSheet.tsx +0 -57
  684. package/src/components/OnairosSignInButton.tsx +0 -130
  685. package/src/components/PersonaImage.tsx +0 -79
  686. package/src/components/PersonaLoadingScreen.tsx +0 -201
  687. package/src/components/PersonalizationConsentScreen.tsx +0 -410
  688. package/src/components/PinCreationScreen.tsx +0 -492
  689. package/src/components/PlatformConnectorsStep.tsx +0 -892
  690. package/src/components/PlatformToggle.tsx +0 -226
  691. package/src/components/PrimaryButton.tsx +0 -214
  692. package/src/components/SignInMatchAnimation.tsx +0 -225
  693. package/src/components/SignInStep.tsx +0 -217
  694. package/src/components/VerificationStep.tsx +0 -198
  695. package/src/components/WelcomeScreen.tsx +0 -473
  696. package/src/components/icons/Basicproficon.tsx +0 -30
  697. package/src/components/icons/Basicprofile.tsx +0 -17
  698. package/src/components/icons/Checkbox.tsx +0 -17
  699. package/src/components/icons/Checkmark.tsx +0 -24
  700. package/src/components/icons/Contentanalysis.tsx +0 -17
  701. package/src/components/icons/Contenticon.tsx +0 -30
  702. package/src/components/icons/EnochE.tsx +0 -39
  703. package/src/components/icons/Personalityicon.tsx +0 -22
  704. package/src/components/icons/Personalityprofile.tsx +0 -17
  705. package/src/components/icons/Personalitytraits.tsx +0 -17
  706. package/src/components/icons/Userpreferences.tsx +0 -17
  707. package/src/components/icons/index.ts +0 -12
  708. package/src/config/api.ts +0 -25
  709. package/src/context/AuthContext.tsx +0 -393
  710. package/src/hooks/useConnectedAccounts.ts +0 -139
  711. package/src/hooks/useUserConnections.ts +0 -166
  712. package/src/services/apiClient.ts +0 -337
  713. package/src/services/authService.ts +0 -1008
  714. package/src/services/biometricPinService.ts +0 -193
  715. package/src/services/connectedAccountsService.ts +0 -290
  716. package/src/services/googleAuthService.ts +0 -279
  717. package/src/services/imageCompressionService.ts +0 -303
  718. package/src/services/jwtStorageService.ts +0 -257
  719. package/src/services/mobileTrainingService.ts +0 -204
  720. package/src/services/pinEncryptionService.ts +0 -76
  721. package/src/services/pinStorageUtils.ts +0 -97
  722. package/src/services/storageService.ts +0 -452
  723. package/src/services/trainingApiHelpers.ts +0 -67
  724. package/src/services/userConnectionsService.ts +0 -557
  725. package/src/services/youtubeMigrationService.ts +0 -454
  726. package/src/theme/index.ts +0 -239
  727. package/src/utils/eventUtils.ts +0 -303
  728. package/src/utils/haptics.ts +0 -59
  729. package/src/utils/imagePreloader.ts +0 -2
@@ -1,555 +1,343 @@
1
- import React, { useState, useCallback } from 'react';
2
- import {
3
- View,
4
- Text,
5
- StyleSheet,
6
- TextInput,
7
- TouchableOpacity,
8
- Dimensions,
9
- Keyboard,
10
- ActivityIndicator,
11
- } from 'react-native';
12
- import { biometricPinService } from '../services/biometricPinService';
13
-
14
- const { width } = Dimensions.get('window');
15
-
16
- export interface PinInputProps {
17
- onSubmit: (pin: string) => void;
18
- minLength?: number;
19
- requireSpecialChar?: boolean;
20
- requireNumber?: boolean;
21
- onBack?: () => void;
22
- // New prop to enable biometric storage
23
- enableBiometricStorage?: boolean;
24
- // ✅ NEW: Background training optimization props
25
- onBackgroundTrainingStart?: () => Promise<void>;
26
- showBackgroundProgress?: boolean;
27
- backgroundProgressText?: string;
28
- }
29
-
30
- type InfoStatus = 'default' | 'biometric-unavailable' | 'biometric-failed' | 'storage-error' | 'authenticating';
31
-
32
- export const PinInput: React.FC<PinInputProps> = ({
33
- onSubmit,
34
- minLength = 8,
35
- requireSpecialChar = true,
36
- requireNumber = true,
37
- onBack,
38
- enableBiometricStorage = true,
39
- // NEW: Background training optimization props
40
- onBackgroundTrainingStart,
41
- showBackgroundProgress = false,
42
- backgroundProgressText = "Training is starting in the background...",
43
- }) => {
44
- const [pin, setPin] = useState('');
45
- const [error, setError] = useState<string | null>(null);
46
- const [showPin, setShowPin] = useState(false);
47
- const [isStoringPin, setIsStoringPin] = useState(false);
48
- const [infoStatus, setInfoStatus] = useState<InfoStatus>('default');
49
- // ✅ NEW: Background training state
50
- const [isBackgroundTrainingStarted, setIsBackgroundTrainingStarted] = useState(false);
51
-
52
- // ✅ UPDATED: Make background training conditional, not automatic on mount
53
- React.useEffect(() => {
54
- // Only start background training if explicitly requested and not already started
55
- // This prevents automatic training on component mount
56
- if (onBackgroundTrainingStart && !isBackgroundTrainingStarted && showBackgroundProgress) {
57
- console.log('🚀 [PIN INPUT] Background training explicitly requested...');
58
- setIsBackgroundTrainingStarted(true);
59
-
60
- onBackgroundTrainingStart().catch(error => {
61
- console.error('❌ [PIN INPUT] Background training failed:', error);
62
- setIsBackgroundTrainingStarted(false);
63
- });
64
- }
65
- }, [onBackgroundTrainingStart, isBackgroundTrainingStarted, showBackgroundProgress]);
66
-
67
- const validatePin = useCallback((value: string) => {
68
- if (value.length < minLength) {
69
- return `PIN must be at least ${minLength} characters`;
70
- }
71
- if (requireSpecialChar && !/[!@#$%^&*(),.?":{}|<>]/.test(value)) {
72
- return 'PIN must include a special character';
73
- }
74
- if (requireNumber && !/\d/.test(value)) {
75
- return 'PIN must include a number';
76
- }
77
- return null;
78
- }, [minLength, requireSpecialChar, requireNumber]);
79
-
80
- const handleSubmit = useCallback(async () => {
81
- console.log('🔍 [PIN INPUT] handleSubmit called with PIN length:', pin.length);
82
-
83
- const validationError = validatePin(pin);
84
- if (validationError) {
85
- console.log('❌ [PIN INPUT] Validation failed:', validationError);
86
- setError(validationError);
87
- return;
88
- }
89
-
90
- console.log('✅ [PIN INPUT] PIN validation passed');
91
-
92
- // If biometric storage is enabled, store PIN securely
93
- if (enableBiometricStorage) {
94
- console.log('🔐 [PIN INPUT] Biometric storage enabled, starting biometric flow...');
95
- setIsStoringPin(true);
96
- setInfoStatus('authenticating');
97
-
98
- try {
99
- // Check if biometric is available
100
- const biometricAvailable = await biometricPinService.isBiometricAvailable();
101
- console.log('📱 [PIN INPUT] Biometric available:', biometricAvailable);
102
-
103
- if (!biometricAvailable) {
104
- console.error('❌ [PIN INPUT] Face ID not available on this device');
105
- setInfoStatus('biometric-unavailable');
106
- setIsStoringPin(false);
107
- return;
108
- }
109
-
110
- // Immediately attempt to store PIN with biometric authentication
111
- console.log('🔐 [PIN INPUT] Triggering biometric authentication for PIN storage...');
112
-
113
- const stored = await biometricPinService.storePinWithBiometric(pin);
114
-
115
- if (stored) {
116
- console.log('✅ [PIN INPUT] PIN stored successfully with biometric protection');
117
-
118
- // Verify the PIN was actually stored by checking if it can be retrieved
119
- const isStored = await biometricPinService.isPinStored();
120
- if (isStored) {
121
- console.log('✅ [PIN INPUT] PIN storage verified - proceeding with onboarding');
122
- onSubmit(pin);
123
- } else {
124
- console.error('❌ [PIN INPUT] PIN storage verification failed');
125
- setInfoStatus('storage-error');
126
- setIsStoringPin(false);
127
- }
128
- } else {
129
- // Biometric authentication was cancelled or failed
130
- console.warn('⚠️ [PIN INPUT] Biometric authentication failed or was cancelled');
131
- setInfoStatus('biometric-failed');
132
- setIsStoringPin(false);
133
- }
134
- } catch (error) {
135
- console.error('❌ [PIN INPUT] Error handling biometric PIN storage:', error);
136
- setInfoStatus('storage-error');
137
- setIsStoringPin(false);
138
- }
139
- } else {
140
- // Biometric storage disabled, proceed normally
141
- console.log('🔐 [PIN INPUT] Biometric storage disabled, proceeding normally');
142
- onSubmit(pin);
143
- }
144
- }, [pin, validatePin, onSubmit, enableBiometricStorage]);
145
-
146
- const handlePinChange = useCallback((value: string) => {
147
- setPin(value);
148
- setError(null);
149
- setInfoStatus('default');
150
-
151
- // Debug logging to help troubleshoot
152
- console.log('🔍 [PIN INPUT] PIN changed:', {
153
- length: value.length,
154
- hasSpecialChar: /[!@#$%^&*(),.?":{}|<>]/.test(value),
155
- hasNumber: /\d/.test(value),
156
- isValid: !validatePin(value)
157
- });
158
- }, [validatePin]);
159
-
160
- const handleContinueWithoutBiometric = useCallback(() => {
161
- console.warn('⚠️ [PIN INPUT] User chose to continue without biometric security');
162
- onSubmit(pin);
163
- }, [pin, onSubmit]);
164
-
165
- const handleRetry = useCallback(() => {
166
- setInfoStatus('default');
167
- handleSubmit();
168
- }, [handleSubmit]);
169
-
170
- const getInfoMessage = () => {
171
- switch (infoStatus) {
172
- case 'biometric-unavailable':
173
- return {
174
- title: 'Biometric Authentication Not Available',
175
- message: 'This device does not support Face ID or Touch ID. Please enable biometric authentication in your device settings to secure your PIN.',
176
- type: 'warning' as const,
177
- showActions: true,
178
- };
179
- case 'biometric-failed':
180
- return {
181
- title: 'Biometric Authentication Failed',
182
- message: 'Biometric authentication was cancelled or failed. Your PIN needs to be secured with biometric authentication to proceed.',
183
- type: 'warning' as const,
184
- showActions: true,
185
- };
186
- case 'storage-error':
187
- return {
188
- title: 'Storage Error',
189
- message: 'An error occurred while securing your PIN. Would you like to try again?',
190
- type: 'error' as const,
191
- showActions: true,
192
- };
193
- case 'authenticating':
194
- return {
195
- title: 'Authenticating...',
196
- message: 'Please complete biometric authentication to secure your PIN.',
197
- type: 'info' as const,
198
- showActions: false,
199
- };
200
- default:
201
- return {
202
- title: 'Secure PIN Storage',
203
- message: 'Your PIN will be securely stored locally on your device using biometric authentication (Face ID or Touch ID) for enhanced security.',
204
- type: 'info' as const,
205
- showActions: false,
206
- };
207
- }
208
- };
209
-
210
- const infoMessage = getInfoMessage();
211
-
212
- return (
213
- <View style={styles.container}>
214
- <View style={styles.inputSection}>
215
- <View style={styles.header}>
216
- {onBack && (
217
- <TouchableOpacity style={styles.backButton} onPress={onBack}>
218
- <Text style={{ fontSize: 24 }}>←</Text>
219
- </TouchableOpacity>
220
- )}
221
- <Text style={styles.title}>Create a PIN</Text>
222
- </View>
223
-
224
- <Text style={styles.subtitle}>
225
- A PIN so only you have access to your data
226
- </Text>
227
-
228
- {/* ✅ NEW: Background training progress indicator */}
229
- {showBackgroundProgress && isBackgroundTrainingStarted && (
230
- <View style={styles.backgroundProgressContainer}>
231
- <Text style={styles.backgroundProgressText}>
232
- {backgroundProgressText}
233
- </Text>
234
- <View style={styles.backgroundProgressIndicator}>
235
- <ActivityIndicator size="small" color="#007AFF" />
236
- </View>
237
- </View>
238
- )}
239
-
240
- <View style={styles.inputContainer}>
241
- <TextInput
242
- style={styles.input}
243
- value={pin}
244
- onChangeText={handlePinChange}
245
- secureTextEntry={!showPin}
246
- placeholder="e.g. MyPin123!"
247
- keyboardType="default"
248
- maxLength={20}
249
- autoCapitalize="none"
250
- autoCorrect={false}
251
- returnKeyType="done"
252
- onSubmitEditing={() => Keyboard.dismiss()}
253
- />
254
- <TouchableOpacity
255
- style={styles.visibilityButton}
256
- onPress={() => setShowPin(!showPin)}
257
- >
258
- <Text>{showPin ? '👁️' : '👁️‍🗨️'}</Text>
259
- </TouchableOpacity>
260
- </View>
261
- </View>
262
-
263
- {error && <Text style={styles.error}>{error}</Text>}
264
-
265
- <View style={styles.requirements}>
266
- <Text style={styles.requirementTitle}>PIN Requirements:</Text>
267
- <Text style={[styles.requirement, pin.length >= minLength && styles.requirementMet]}>
268
- At least {minLength} characters
269
- </Text>
270
- {requireSpecialChar && (
271
- <Text
272
- style={[
273
- styles.requirement,
274
- /[!@#$%^&*(),.?":{}|<>]/.test(pin) && styles.requirementMet,
275
- ]}
276
- >
277
- Include a special character
278
- </Text>
279
- )}
280
- {requireNumber && (
281
- <Text
282
- style={[
283
- styles.requirement,
284
- /\d/.test(pin) && styles.requirementMet,
285
- ]}
286
- >
287
- Include a number
288
- </Text>
289
- )}
290
- </View>
291
-
292
- {/* Inline Information Section */}
293
- <View style={[
294
- styles.infoContainer,
295
- infoMessage.type === 'info' && styles.infoContainerInfo,
296
- infoMessage.type === 'warning' && styles.infoContainerWarning,
297
- infoMessage.type === 'error' && styles.infoContainerError,
298
- ]}>
299
- <Text style={[
300
- styles.infoTitle,
301
- infoMessage.type === 'info' && styles.infoTitleInfo,
302
- infoMessage.type === 'warning' && styles.infoTitleWarning,
303
- infoMessage.type === 'error' && styles.infoTitleError,
304
- ]}>
305
- {infoMessage.title}
306
- </Text>
307
- <Text style={[
308
- styles.infoMessage,
309
- infoMessage.type === 'info' && styles.infoMessageInfo,
310
- infoMessage.type === 'warning' && styles.infoMessageWarning,
311
- infoMessage.type === 'error' && styles.infoMessageError,
312
- ]}>
313
- {infoMessage.message}
314
- </Text>
315
-
316
- {infoMessage.showActions && (
317
- <View style={styles.infoActions}>
318
- <TouchableOpacity
319
- style={styles.infoActionButton}
320
- onPress={handleRetry}
321
- >
322
- <Text style={styles.infoActionButtonText}>Try Again</Text>
323
- </TouchableOpacity>
324
- <TouchableOpacity
325
- style={[styles.infoActionButton, styles.infoActionButtonSecondary]}
326
- onPress={handleContinueWithoutBiometric}
327
- >
328
- <Text style={[styles.infoActionButtonText, styles.infoActionButtonSecondaryText]}>
329
- Continue Without Biometric
330
- </Text>
331
- </TouchableOpacity>
332
- </View>
333
- )}
334
- </View>
335
-
336
- <View style={styles.footer}>
337
- {onBack && (
338
- <TouchableOpacity
339
- style={styles.cancelButton}
340
- onPress={onBack}
341
- >
342
- <Text style={styles.cancelButtonText}>Back</Text>
343
- </TouchableOpacity>
344
- )}
345
-
346
- <TouchableOpacity
347
- style={[styles.submitButton, (!pin || isStoringPin || validatePin(pin)) && styles.submitButtonDisabled]}
348
- onPress={handleSubmit}
349
- disabled={!pin || isStoringPin || !!validatePin(pin)}
350
- >
351
- <Text style={styles.submitButtonText}>
352
- {isStoringPin ? 'Authenticating...' : 'Continue'}
353
- </Text>
354
- </TouchableOpacity>
355
- </View>
356
- </View>
357
- );
358
- };
359
-
360
- const styles = StyleSheet.create({
361
- container: {
362
- flex: 1,
363
- padding: 16,
364
- width: width,
365
- backgroundColor: '#fff',
366
- justifyContent: 'flex-start',
367
- },
368
- inputSection: {
369
- width: '100%',
370
- marginTop: 0,
371
- paddingTop: 0,
372
- },
373
- header: {
374
- flexDirection: 'row',
375
- alignItems: 'center',
376
- justifyContent: 'space-between',
377
- marginBottom: 16,
378
- paddingVertical: 8,
379
- },
380
- backButton: {
381
- padding: 8,
382
- },
383
- title: {
384
- fontSize: 20,
385
- fontWeight: '600',
386
- color: '#333',
387
- textAlign: 'center',
388
- flex: 1,
389
- marginBottom: 8,
390
- },
391
- subtitle: {
392
- fontSize: 14,
393
- color: '#666',
394
- marginBottom: 24,
395
- textAlign: 'center',
396
- },
397
- inputContainer: {
398
- flexDirection: 'row',
399
- alignItems: 'center',
400
- borderWidth: 1,
401
- borderColor: '#CCCCCC',
402
- borderRadius: 8,
403
- marginBottom: 16,
404
- },
405
- input: {
406
- flex: 1,
407
- padding: 12,
408
- fontSize: 16,
409
- },
410
- visibilityButton: {
411
- padding: 12,
412
- },
413
- // Info Container Styles
414
- infoContainer: {
415
- padding: 16,
416
- borderRadius: 12,
417
- marginBottom: 16,
418
- borderWidth: 1,
419
- },
420
- infoContainerInfo: {
421
- backgroundColor: '#E3F2FD',
422
- borderColor: '#2196F3',
423
- },
424
- infoContainerWarning: {
425
- backgroundColor: '#FFF3E0',
426
- borderColor: '#FF9800',
427
- },
428
- infoContainerError: {
429
- backgroundColor: '#FFEBEE',
430
- borderColor: '#F44336',
431
- },
432
- infoTitle: {
433
- fontSize: 16,
434
- fontWeight: '600',
435
- marginBottom: 8,
436
- },
437
- infoTitleInfo: {
438
- color: '#1976D2',
439
- },
440
- infoTitleWarning: {
441
- color: '#F57C00',
442
- },
443
- infoTitleError: {
444
- color: '#D32F2F',
445
- },
446
- infoMessage: {
447
- fontSize: 14,
448
- lineHeight: 20,
449
- marginBottom: 12,
450
- },
451
- infoMessageInfo: {
452
- color: '#1565C0',
453
- },
454
- infoMessageWarning: {
455
- color: '#E65100',
456
- },
457
- infoMessageError: {
458
- color: '#C62828',
459
- },
460
- infoActions: {
461
- flexDirection: 'row',
462
- justifyContent: 'space-between',
463
- marginTop: 8,
464
- },
465
- infoActionButton: {
466
- flex: 1,
467
- paddingVertical: 10,
468
- paddingHorizontal: 16,
469
- borderRadius: 8,
470
- backgroundColor: '#007AFF',
471
- marginHorizontal: 4,
472
- alignItems: 'center',
473
- },
474
- infoActionButtonSecondary: {
475
- backgroundColor: 'transparent',
476
- borderWidth: 1,
477
- borderColor: '#007AFF',
478
- },
479
- infoActionButtonText: {
480
- color: '#fff',
481
- fontSize: 14,
482
- fontWeight: '600',
483
- },
484
- infoActionButtonSecondaryText: {
485
- color: '#007AFF',
486
- },
487
- error: {
488
- color: '#FF3B30',
489
- marginBottom: 16,
490
- },
491
- requirements: {
492
- marginBottom: 24,
493
- },
494
- requirementTitle: {
495
- fontSize: 14,
496
- fontWeight: '600',
497
- marginBottom: 8,
498
- color: '#333',
499
- },
500
- requirement: {
501
- fontSize: 14,
502
- color: '#666',
503
- marginBottom: 4,
504
- },
505
- requirementMet: {
506
- color: '#34C759',
507
- },
508
- footer: {
509
- flexDirection: 'row',
510
- alignItems: 'center',
511
- justifyContent: 'space-between',
512
- marginTop: 24,
513
- borderTopWidth: 1,
514
- borderTopColor: '#eee',
515
- paddingTop: 16,
516
- },
517
- cancelButton: {
518
- paddingVertical: 8,
519
- paddingHorizontal: 16,
520
- },
521
- cancelButtonText: {
522
- color: '#666',
523
- fontSize: 16,
524
- },
525
- submitButton: {
526
- paddingVertical: 16,
527
- paddingHorizontal: 32,
528
- borderRadius: 16,
529
- backgroundColor: '#000000',
530
- alignItems: 'center',
531
- },
532
- submitButtonDisabled: {
533
- opacity: 0.5,
534
- },
535
- submitButtonText: {
536
- color: '#fff',
537
- fontSize: 16,
538
- fontWeight: '600',
539
- },
540
- // ✅ NEW: Background training progress styles
541
- backgroundProgressContainer: {
542
- flexDirection: 'row',
543
- alignItems: 'center',
544
- justifyContent: 'center',
545
- marginBottom: 16,
546
- },
547
- backgroundProgressText: {
548
- fontSize: 14,
549
- color: '#666',
550
- marginRight: 10,
551
- },
552
- backgroundProgressIndicator: {
553
- padding: 5,
554
- },
555
- });
1
+ import React, { useState, useCallback, useRef } from 'react';
2
+ import {
3
+ View,
4
+ Text,
5
+ StyleSheet,
6
+ TextInput,
7
+ TouchableOpacity,
8
+ Keyboard,
9
+ Dimensions,
10
+ Modal,
11
+ TouchableWithoutFeedback,
12
+ } from 'react-native';
13
+ import Icon from 'react-native-vector-icons/MaterialIcons';
14
+ import { COLORS } from '../constants';
15
+ import type { PinInputProps } from '../types';
16
+
17
+ const { width } = Dimensions.get('window');
18
+
19
+ export const PinInput: React.FC<PinInputProps> = ({
20
+ onSubmit,
21
+ minLength = 8,
22
+ requireSpecialChar = true,
23
+ requireNumber = true,
24
+ onBack,
25
+ }) => {
26
+ const [pin, setPin] = useState('');
27
+ const [error, setError] = useState<string | null>(null);
28
+ const [showPin, setShowPin] = useState(false);
29
+ const [showTooltip, setShowTooltip] = useState(false);
30
+
31
+ const validatePin = useCallback((value: string) => {
32
+ if (value.length < minLength) {
33
+ return `PIN must be at least ${minLength} characters`;
34
+ }
35
+ if (requireSpecialChar && !/[!@#$%^&*(),.?":{}|<>]/.test(value)) {
36
+ return 'PIN must include a special character';
37
+ }
38
+ if (requireNumber && !/\d/.test(value)) {
39
+ return 'PIN must include a number';
40
+ }
41
+ return null;
42
+ }, [minLength, requireSpecialChar, requireNumber]);
43
+
44
+ const handleSubmit = useCallback(() => {
45
+ const validationError = validatePin(pin);
46
+ if (validationError) {
47
+ setError(validationError);
48
+ return;
49
+ }
50
+ onSubmit(pin);
51
+ }, [pin, validatePin, onSubmit]);
52
+
53
+ const handlePinChange = useCallback((value: string) => {
54
+ setPin(value);
55
+ setError(null);
56
+ }, []);
57
+
58
+ return (
59
+ <View style={styles.container}>
60
+ <View style={styles.header}>
61
+ {onBack && (
62
+ <TouchableOpacity style={styles.backButton} onPress={onBack}>
63
+ <Icon name="arrow-back" size={24} color={COLORS.text.primary} />
64
+ </TouchableOpacity>
65
+ )}
66
+ <Text style={styles.title}>Create your PIN</Text>
67
+ <TouchableOpacity
68
+ style={styles.helpButton}
69
+ onPress={() => setShowTooltip(true)}
70
+ >
71
+ <Icon name="help" size={24} color={COLORS.text.primary} />
72
+ </TouchableOpacity>
73
+ </View>
74
+
75
+ <Text style={styles.subtitle}>
76
+ This PIN will be used to secure your account
77
+ </Text>
78
+
79
+ <View style={styles.inputContainer}>
80
+ <TextInput
81
+ style={styles.input}
82
+ value={pin}
83
+ onChangeText={handlePinChange}
84
+ secureTextEntry={!showPin}
85
+ placeholder="Enter PIN"
86
+ keyboardType="default"
87
+ maxLength={20}
88
+ autoCapitalize="none"
89
+ autoCorrect={false}
90
+ />
91
+ <TouchableOpacity
92
+ style={styles.visibilityButton}
93
+ onPress={() => setShowPin(!showPin)}
94
+ >
95
+ <Icon
96
+ name={showPin ? 'visibility-off' : 'visibility'}
97
+ size={24}
98
+ color={COLORS.text.secondary}
99
+ />
100
+ </TouchableOpacity>
101
+ </View>
102
+
103
+ {error && <Text style={styles.error}>{error}</Text>}
104
+
105
+ <View style={styles.requirements}>
106
+ <Text style={styles.requirementTitle}>PIN Requirements:</Text>
107
+ <Text style={[styles.requirement, pin.length >= minLength && styles.requirementMet]}>
108
+ • At least {minLength} characters
109
+ </Text>
110
+ {requireSpecialChar && (
111
+ <Text
112
+ style={[
113
+ styles.requirement,
114
+ /[!@#$%^&*(),.?":{}|<>]/.test(pin) && styles.requirementMet,
115
+ ]}
116
+ >
117
+ • Include a special character
118
+ </Text>
119
+ )}
120
+ {requireNumber && (
121
+ <Text
122
+ style={[
123
+ styles.requirement,
124
+ /\d/.test(pin) && styles.requirementMet,
125
+ ]}
126
+ >
127
+ • Include a number
128
+ </Text>
129
+ )}
130
+ </View>
131
+
132
+ <View style={styles.footer}>
133
+ {onBack && (
134
+ <TouchableOpacity
135
+ style={styles.cancelButton}
136
+ onPress={onBack}
137
+ >
138
+ <Text style={styles.cancelButtonText}>Back</Text>
139
+ </TouchableOpacity>
140
+ )}
141
+
142
+ <TouchableOpacity
143
+ style={[styles.submitButton, !pin && styles.submitButtonDisabled]}
144
+ onPress={handleSubmit}
145
+ disabled={!pin}
146
+ >
147
+ <Text style={styles.submitButtonText}>Continue</Text>
148
+ </TouchableOpacity>
149
+ </View>
150
+
151
+ {/* PIN Information Tooltip Modal */}
152
+ <Modal
153
+ visible={showTooltip}
154
+ transparent
155
+ animationType="fade"
156
+ onRequestClose={() => setShowTooltip(false)}
157
+ >
158
+ <TouchableWithoutFeedback onPress={() => setShowTooltip(false)}>
159
+ <View style={styles.tooltipOverlay}>
160
+ <View style={styles.tooltipContainer}>
161
+ <Text style={styles.tooltipTitle}>About Your PIN</Text>
162
+ <Text style={styles.tooltipText}>
163
+ Your PIN is used to secure your account and protect your data. It will be required whenever you access sensitive information or perform important actions.
164
+ </Text>
165
+ <Text style={styles.tooltipText}>
166
+ For maximum security, your PIN should:
167
+ </Text>
168
+ <Text style={styles.tooltipBullet}>• Be at least {minLength} characters</Text>
169
+ {requireSpecialChar && (
170
+ <Text style={styles.tooltipBullet}>• Include special characters like !@#$%^&*()</Text>
171
+ )}
172
+ {requireNumber && (
173
+ <Text style={styles.tooltipBullet}>• Include at least one number</Text>
174
+ )}
175
+ <Text style={styles.tooltipText}>
176
+ Your PIN is stored securely and encrypted on your device.
177
+ </Text>
178
+ <TouchableOpacity
179
+ style={styles.tooltipButton}
180
+ onPress={() => setShowTooltip(false)}
181
+ >
182
+ <Text style={styles.tooltipButtonText}>Got it</Text>
183
+ </TouchableOpacity>
184
+ </View>
185
+ </View>
186
+ </TouchableWithoutFeedback>
187
+ </Modal>
188
+ </View>
189
+ );
190
+ };
191
+
192
+ const styles = StyleSheet.create({
193
+ container: {
194
+ flex: 1,
195
+ padding: 16,
196
+ width: width,
197
+ backgroundColor: '#fff',
198
+ },
199
+ header: {
200
+ flexDirection: 'row',
201
+ alignItems: 'center',
202
+ justifyContent: 'space-between',
203
+ marginBottom: 16,
204
+ paddingVertical: 8,
205
+ },
206
+ backButton: {
207
+ padding: 8,
208
+ },
209
+ helpButton: {
210
+ padding: 8,
211
+ width: 40,
212
+ alignItems: 'center',
213
+ },
214
+ title: {
215
+ fontSize: 20,
216
+ fontWeight: '600',
217
+ color: COLORS.text.primary,
218
+ textAlign: 'center',
219
+ flex: 1,
220
+ },
221
+ subtitle: {
222
+ fontSize: 14,
223
+ color: COLORS.text.secondary,
224
+ marginBottom: 24,
225
+ textAlign: 'center',
226
+ },
227
+ inputContainer: {
228
+ flexDirection: 'row',
229
+ alignItems: 'center',
230
+ borderWidth: 1,
231
+ borderColor: COLORS.border,
232
+ borderRadius: 8,
233
+ marginBottom: 16,
234
+ },
235
+ input: {
236
+ flex: 1,
237
+ padding: 12,
238
+ fontSize: 16,
239
+ },
240
+ visibilityButton: {
241
+ padding: 12,
242
+ },
243
+ error: {
244
+ color: COLORS.error,
245
+ marginBottom: 16,
246
+ },
247
+ requirements: {
248
+ marginBottom: 24,
249
+ },
250
+ requirementTitle: {
251
+ fontSize: 14,
252
+ fontWeight: '600',
253
+ marginBottom: 8,
254
+ color: COLORS.text.primary,
255
+ },
256
+ requirement: {
257
+ fontSize: 14,
258
+ color: COLORS.text.secondary,
259
+ marginBottom: 4,
260
+ },
261
+ requirementMet: {
262
+ color: COLORS.success,
263
+ },
264
+ footer: {
265
+ flexDirection: 'row',
266
+ alignItems: 'center',
267
+ justifyContent: 'space-between',
268
+ marginTop: 24,
269
+ borderTopWidth: 1,
270
+ borderTopColor: '#eee',
271
+ paddingTop: 16,
272
+ },
273
+ cancelButton: {
274
+ paddingVertical: 8,
275
+ paddingHorizontal: 16,
276
+ },
277
+ cancelButtonText: {
278
+ color: '#666',
279
+ fontSize: 16,
280
+ },
281
+ submitButton: {
282
+ paddingVertical: 16,
283
+ paddingHorizontal: 32,
284
+ borderRadius: 16,
285
+ backgroundColor: COLORS.primary,
286
+ borderWidth: 1,
287
+ borderColor: COLORS.primary,
288
+ alignItems: 'center',
289
+ },
290
+ submitButtonDisabled: {
291
+ opacity: 0.5,
292
+ },
293
+ submitButtonText: {
294
+ color: '#fff',
295
+ fontSize: 16,
296
+ fontWeight: '600',
297
+ },
298
+ tooltipOverlay: {
299
+ flex: 1,
300
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
301
+ justifyContent: 'center',
302
+ alignItems: 'center',
303
+ padding: 20,
304
+ },
305
+ tooltipContainer: {
306
+ backgroundColor: '#fff',
307
+ borderRadius: 16,
308
+ padding: 20,
309
+ width: '90%',
310
+ maxWidth: 400,
311
+ },
312
+ tooltipTitle: {
313
+ fontSize: 18,
314
+ fontWeight: '600',
315
+ marginBottom: 12,
316
+ color: COLORS.text.primary,
317
+ textAlign: 'center',
318
+ },
319
+ tooltipText: {
320
+ fontSize: 14,
321
+ color: COLORS.text.secondary,
322
+ marginBottom: 12,
323
+ },
324
+ tooltipBullet: {
325
+ fontSize: 14,
326
+ color: COLORS.text.secondary,
327
+ marginBottom: 6,
328
+ marginLeft: 10,
329
+ },
330
+ tooltipButton: {
331
+ backgroundColor: COLORS.primary,
332
+ paddingVertical: 12,
333
+ paddingHorizontal: 24,
334
+ borderRadius: 8,
335
+ alignSelf: 'center',
336
+ marginTop: 12,
337
+ },
338
+ tooltipButtonText: {
339
+ color: '#fff',
340
+ fontSize: 16,
341
+ fontWeight: '600',
342
+ },
343
+ });