@onairos/react-native 3.7.2 → 3.7.3

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 (237) hide show
  1. package/lib/commonjs/api/index.js +219 -9
  2. package/lib/commonjs/components/BodyText.js +27 -9
  3. package/lib/commonjs/components/BrandMark.js +111 -10
  4. package/lib/commonjs/components/CodeInput.js +116 -9
  5. package/lib/commonjs/components/EmailInput.js +30 -8
  6. package/lib/commonjs/components/GoogleButton.js +56 -9
  7. package/lib/commonjs/components/HeadingGroup.js +43 -9
  8. package/lib/commonjs/components/LLMDataInputModal.js +664 -14
  9. package/lib/commonjs/components/ModalHeader.js +99 -9
  10. package/lib/commonjs/components/ModalSheet.js +47 -9
  11. package/lib/commonjs/components/Onairos.js +380 -14
  12. package/lib/commonjs/components/OnairosButton.js +313 -13
  13. package/lib/commonjs/components/OnairosSignInButton.js +130 -12
  14. package/lib/commonjs/components/Overlay.js +465 -13
  15. package/lib/commonjs/components/PersonaImage.js +137 -10
  16. package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
  17. package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
  18. package/lib/commonjs/components/PinCreationScreen.js +403 -12
  19. package/lib/commonjs/components/PinInput.js +464 -9
  20. package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
  21. package/lib/commonjs/components/PlatformList.js +137 -10
  22. package/lib/commonjs/components/PlatformToggle.js +180 -9
  23. package/lib/commonjs/components/PrimaryButton.js +180 -10
  24. package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
  25. package/lib/commonjs/components/SignInStep.js +345 -12
  26. package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
  27. package/lib/commonjs/components/VerificationStep.js +176 -11
  28. package/lib/commonjs/components/WelcomeScreen.js +461 -22
  29. package/lib/commonjs/components/icons/Basicproficon.js +37 -8
  30. package/lib/commonjs/components/icons/Basicprofile.js +21 -8
  31. package/lib/commonjs/components/icons/Checkbox.js +21 -8
  32. package/lib/commonjs/components/icons/Checkmark.js +27 -8
  33. package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
  34. package/lib/commonjs/components/icons/Contenticon.js +39 -8
  35. package/lib/commonjs/components/icons/EnochE.js +41 -8
  36. package/lib/commonjs/components/icons/Personalityicon.js +30 -8
  37. package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
  38. package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
  39. package/lib/commonjs/components/icons/Userpreferences.js +21 -8
  40. package/lib/commonjs/components/icons/index.js +84 -17
  41. package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
  42. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
  43. package/lib/commonjs/components/onboarding/PinInput.js +283 -10
  44. package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
  45. package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
  46. package/lib/commonjs/config/api.js +56 -7
  47. package/lib/commonjs/constants/index.js +120 -7
  48. package/lib/commonjs/context/AuthContext.js +345 -10
  49. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
  50. package/lib/commonjs/hooks/useConnections.js +102 -8
  51. package/lib/commonjs/hooks/useCredentials.js +178 -10
  52. package/lib/commonjs/hooks/useUserConnections.js +148 -10
  53. package/lib/commonjs/index.js +439 -34
  54. package/lib/commonjs/services/apiClient.js +298 -8
  55. package/lib/commonjs/services/biometricPinService.js +180 -8
  56. package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
  57. package/lib/commonjs/services/chatGPTConversationService.js +275 -9
  58. package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
  59. package/lib/commonjs/services/claudeConversationService.js +158 -9
  60. package/lib/commonjs/services/connectedAccountsService.js +310 -10
  61. package/lib/commonjs/services/googleAuthService.js +252 -11
  62. package/lib/commonjs/services/hingeDataExtractor.js +105 -8
  63. package/lib/commonjs/services/hingeDataService.js +150 -9
  64. package/lib/commonjs/services/imageCompressionService.js +260 -7
  65. package/lib/commonjs/services/instagramDataExtractor.js +126 -8
  66. package/lib/commonjs/services/instagramDataService.js +163 -9
  67. package/lib/commonjs/services/jwtStorageService.js +276 -7
  68. package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
  69. package/lib/commonjs/services/linkedinProfileService.js +222 -9
  70. package/lib/commonjs/services/linkedinScrapingService.js +230 -8
  71. package/lib/commonjs/services/llmDataStorage.js +294 -8
  72. package/lib/commonjs/services/mobileTrainingService.js +186 -8
  73. package/lib/commonjs/services/netflixDataExtractor.js +120 -8
  74. package/lib/commonjs/services/netflixDataService.js +198 -9
  75. package/lib/commonjs/services/pinEncryptionService.js +84 -8
  76. package/lib/commonjs/services/pinStorageUtils.js +105 -7
  77. package/lib/commonjs/services/platformAuthService.js +1484 -12
  78. package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
  79. package/lib/commonjs/services/sephoraDataService.js +200 -9
  80. package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
  81. package/lib/commonjs/services/spotifyDataService.js +241 -9
  82. package/lib/commonjs/services/storageService.js +404 -8
  83. package/lib/commonjs/services/telegramDataExtractor.js +115 -8
  84. package/lib/commonjs/services/telegramDataService.js +499 -9
  85. package/lib/commonjs/services/trainingApiHelpers.js +73 -7
  86. package/lib/commonjs/services/userConnectionsService.js +340 -10
  87. package/lib/commonjs/services/youtubeMigrationService.js +416 -10
  88. package/lib/commonjs/theme/index.js +250 -7
  89. package/lib/commonjs/types/ambient.d.js +2 -1
  90. package/lib/commonjs/types/declarations.d.js +2 -1
  91. package/lib/commonjs/types/index.js +6 -1
  92. package/lib/commonjs/types/node-fix.d.js +2 -1
  93. package/lib/commonjs/types/node-override.d.js +2 -1
  94. package/lib/commonjs/types/opacity.d.js +2 -1
  95. package/lib/commonjs/types.js +14 -1
  96. package/lib/commonjs/utils/Portal.js +98 -8
  97. package/lib/commonjs/utils/api.js +130 -9
  98. package/lib/commonjs/utils/assetRegistry.js +210 -35
  99. package/lib/commonjs/utils/auth.js +112 -9
  100. package/lib/commonjs/utils/connectorTests.js +613 -29
  101. package/lib/commonjs/utils/crypto.js +62 -8
  102. package/lib/commonjs/utils/debugHelper.js +64 -1
  103. package/lib/commonjs/utils/encryption.js +76 -7
  104. package/lib/commonjs/utils/eventUtils.js +288 -1
  105. package/lib/commonjs/utils/haptics.js +66 -9
  106. package/lib/commonjs/utils/imagePreloader.js +6 -1
  107. package/lib/commonjs/utils/networkDiagnostics.js +226 -8
  108. package/lib/commonjs/utils/onairosApi.js +350 -9
  109. package/lib/commonjs/utils/programmaticFlow.js +117 -9
  110. package/lib/commonjs/utils/retryHelper.js +220 -1
  111. package/lib/commonjs/utils/secureStorage.js +349 -10
  112. package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
  113. package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
  114. package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
  115. package/lib/commonjs/utils/webviewScripts/index.js +698 -15
  116. package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
  117. package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
  118. package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
  119. package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
  120. package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
  121. package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
  122. package/lib/module/api/index.js +211 -1
  123. package/lib/module/components/BodyText.js +20 -1
  124. package/lib/module/components/BrandMark.js +104 -1
  125. package/lib/module/components/CodeInput.js +109 -1
  126. package/lib/module/components/EmailInput.js +23 -1
  127. package/lib/module/components/GoogleButton.js +49 -1
  128. package/lib/module/components/HeadingGroup.js +36 -1
  129. package/lib/module/components/LLMDataInputModal.js +656 -7
  130. package/lib/module/components/ModalHeader.js +92 -1
  131. package/lib/module/components/ModalSheet.js +39 -1
  132. package/lib/module/components/Onairos.js +373 -1
  133. package/lib/module/components/OnairosButton.js +305 -1
  134. package/lib/module/components/OnairosSignInButton.js +121 -1
  135. package/lib/module/components/Overlay.js +456 -1
  136. package/lib/module/components/PersonaImage.js +129 -1
  137. package/lib/module/components/PersonaLoadingScreen.js +310 -1
  138. package/lib/module/components/PersonalizationConsentScreen.js +460 -1
  139. package/lib/module/components/PinCreationScreen.js +396 -1
  140. package/lib/module/components/PinInput.js +456 -1
  141. package/lib/module/components/PlatformConnectorsStep.js +1302 -6
  142. package/lib/module/components/PlatformList.js +129 -1
  143. package/lib/module/components/PlatformToggle.js +173 -1
  144. package/lib/module/components/PrimaryButton.js +172 -1
  145. package/lib/module/components/SignInMatchAnimation.js +189 -1
  146. package/lib/module/components/SignInStep.js +338 -1
  147. package/lib/module/components/UniversalOnboarding.js +2770 -1
  148. package/lib/module/components/VerificationStep.js +168 -1
  149. package/lib/module/components/WelcomeScreen.js +453 -1
  150. package/lib/module/components/icons/Basicproficon.js +30 -1
  151. package/lib/module/components/icons/Basicprofile.js +14 -1
  152. package/lib/module/components/icons/Checkbox.js +14 -1
  153. package/lib/module/components/icons/Checkmark.js +20 -1
  154. package/lib/module/components/icons/Contentanalysis.js +14 -1
  155. package/lib/module/components/icons/Contenticon.js +32 -1
  156. package/lib/module/components/icons/EnochE.js +34 -1
  157. package/lib/module/components/icons/Personalityicon.js +23 -1
  158. package/lib/module/components/icons/Personalityprofile.js +14 -1
  159. package/lib/module/components/icons/Personalitytraits.js +14 -1
  160. package/lib/module/components/icons/Userpreferences.js +14 -1
  161. package/lib/module/components/icons/index.js +13 -1
  162. package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
  163. package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
  164. package/lib/module/components/onboarding/PinInput.js +274 -1
  165. package/lib/module/components/onboarding/PlatformConnector.js +240 -1
  166. package/lib/module/config/PLATFORM_APIS.md +849 -0
  167. package/lib/module/config/api.js +47 -1
  168. package/lib/module/constants/index.js +114 -1
  169. package/lib/module/context/AuthContext.js +335 -1
  170. package/lib/module/hooks/useConnectedAccounts.js +106 -1
  171. package/lib/module/hooks/useConnections.js +95 -1
  172. package/lib/module/hooks/useCredentials.js +171 -6
  173. package/lib/module/hooks/useUserConnections.js +140 -1
  174. package/lib/module/index.js +172 -1
  175. package/lib/module/services/apiClient.js +295 -1
  176. package/lib/module/services/biometricPinService.js +169 -1
  177. package/lib/module/services/chatGPTConversationExtractor.js +149 -1
  178. package/lib/module/services/chatGPTConversationService.js +268 -1
  179. package/lib/module/services/claudeConversationExtractor.js +97 -1
  180. package/lib/module/services/claudeConversationService.js +151 -1
  181. package/lib/module/services/connectedAccountsService.js +293 -1
  182. package/lib/module/services/googleAuthService.js +241 -1
  183. package/lib/module/services/hingeDataExtractor.js +99 -1
  184. package/lib/module/services/hingeDataService.js +143 -1
  185. package/lib/module/services/imageCompressionService.js +250 -1
  186. package/lib/module/services/instagramDataExtractor.js +120 -1
  187. package/lib/module/services/instagramDataService.js +156 -1
  188. package/lib/module/services/jwtStorageService.js +257 -1
  189. package/lib/module/services/linkedinDOMExtractor.js +234 -1
  190. package/lib/module/services/linkedinProfileService.js +210 -1
  191. package/lib/module/services/linkedinScrapingService.js +219 -1
  192. package/lib/module/services/llmDataStorage.js +277 -1
  193. package/lib/module/services/mobileTrainingService.js +173 -1
  194. package/lib/module/services/netflixDataExtractor.js +114 -1
  195. package/lib/module/services/netflixDataService.js +191 -1
  196. package/lib/module/services/pinEncryptionService.js +74 -6
  197. package/lib/module/services/pinStorageUtils.js +93 -1
  198. package/lib/module/services/platformAuthService.js +1461 -1
  199. package/lib/module/services/sephoraDataExtractor.js +134 -1
  200. package/lib/module/services/sephoraDataService.js +193 -1
  201. package/lib/module/services/spotifyDataExtractor.js +142 -1
  202. package/lib/module/services/spotifyDataService.js +234 -1
  203. package/lib/module/services/storageService.js +383 -1
  204. package/lib/module/services/telegramDataExtractor.js +109 -1
  205. package/lib/module/services/telegramDataService.js +493 -1
  206. package/lib/module/services/trainingApiHelpers.js +67 -1
  207. package/lib/module/services/userConnectionsService.js +329 -1
  208. package/lib/module/services/youtubeMigrationService.js +405 -1
  209. package/lib/module/theme/index.js +245 -1
  210. package/lib/module/types.js +10 -1
  211. package/lib/module/utils/Portal.js +90 -1
  212. package/lib/module/utils/api.js +118 -1
  213. package/lib/module/utils/assetRegistry.js +200 -34
  214. package/lib/module/utils/auth.js +100 -1
  215. package/lib/module/utils/connectorTests.js +600 -27
  216. package/lib/module/utils/crypto.js +54 -1
  217. package/lib/module/utils/debugHelper.js +54 -1
  218. package/lib/module/utils/encryption.js +67 -1
  219. package/lib/module/utils/eventUtils.js +270 -1
  220. package/lib/module/utils/haptics.js +59 -8
  221. package/lib/module/utils/imagePreloader.js +3 -1
  222. package/lib/module/utils/networkDiagnostics.js +217 -1
  223. package/lib/module/utils/onairosApi.js +333 -1
  224. package/lib/module/utils/programmaticFlow.js +111 -1
  225. package/lib/module/utils/retryHelper.js +211 -1
  226. package/lib/module/utils/secureStorage.js +330 -6
  227. package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
  228. package/lib/module/utils/webviewScripts/claude.js +370 -1
  229. package/lib/module/utils/webviewScripts/hinge.js +405 -1
  230. package/lib/module/utils/webviewScripts/index.js +434 -1
  231. package/lib/module/utils/webviewScripts/instagram.js +448 -1
  232. package/lib/module/utils/webviewScripts/linkedin.js +874 -1
  233. package/lib/module/utils/webviewScripts/netflix.js +376 -1
  234. package/lib/module/utils/webviewScripts/sephora.js +510 -1
  235. package/lib/module/utils/webviewScripts/spotify.js +413 -1
  236. package/lib/module/utils/webviewScripts/telegram.js +672 -1
  237. package/package.json +2 -2
@@ -1,13 +1,313 @@
1
- 'use strict';
2
- // Onairos SDK - Asset Registry (auto-generated)
3
- var __ONAIROS_REQ_REGISTRY__ = [
4
- require("react"),
5
- require("react-native"),
6
- require("react-native-linear-gradient"),
7
- require("./UniversalOnboarding"),
8
- require("./WelcomeScreen"),
9
- require("../services/apiKeyService"),
10
- require("../utils/assetRegistry")
11
- ];
12
- function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
13
- function _0xef21(){const _0x1023a5=['defineProperty','default','Sign\x20in\x20with\x20Onairos','Sign\x20up\x20with\x20Onairos','Connect\x20Onairos','object','function','RcHCM','VqbEF','AvFyx','weCqe','gvxSo','KvLjb','__esModule','iMrIC','ktbFd','hhpEn','FxJRV','get','set','log','[OnairosButton]\x20handleOnboardingComplete:\x20Setting\x20showOnboarding\x20to\x20false.','BVzrr','BGukz','ikplV','hasOwnProperty','call','getOwnPropertyDescriptor','GidGS','bmYAK','BbwZj','muzRs','Dimensions','OnairosButton','normal','#1BA9D4','black','DicQi','[OnairosButton]\x20LogEffect:\x20showOnboarding\x20state\x20changed\x20to:','[OnairosButton]\x20Error\x20in\x20handlePress:','Unknown\x20error','❌\x20[OnairosButton]\x20SDK\x20NOT\x20INITIALIZED:','pweGr','SDK\x20Not\x20Initialized','The\x20Onairos\x20SDK\x20requires\x20initialization\x20with\x20a\x20valid\x20API\x20key.\x0a\x0aDevelopers:\x20Please\x20call\x20initializeApiKey()\x20before\x20using\x20OnairosButton.','[OnairosButton]\x20SDK\x20initialized\x20with\x20API\x20key:','[OnairosButton]\x20Precheck\x20failed.\x20Setting\x20showOnboarding\x20to\x20false\x20(indirectly,\x20by\x20not\x20setting\x20to\x20true).','Precheck\x20validation\x20failed','rEFri','ODfGI','signup','MZeYY','MOGmL','QAybV','RYSKX','User\x20closed\x20onboarding','[OnairosButton]\x20Initializing.\x20Initial\x20showOnboarding:','#f5e7c1','#C7A047','pill','small','Basic\x20tier','Free\x20access','Medium','Premium\x20features','useState','xOkRp','useEffect','pzYYK','bNDoA','GQemN','resolve','oLgiv','leAlW','Onairos\x20SDK\x20not\x20initialized.\x20Developers\x20must\x20call\x20initializeApiKey()\x20with\x20a\x20valid\x20API\x20key\x20before\x20using\x20SDK\x20components.\x20Get\x20your\x20API\x20key\x20from\x20https://dashboard.onairos.uk','error','tNnlC','EsXxW','lPLxI','Alert','ngbQQ','MqMpF','UAVqX','SgXSX','message','xBDyI','XviZH','substring','...','XmYwJ','QvtDZ','JONWT','[OnairosButton]\x20handlePress:\x20Setting\x20showOnboarding\x20to\x20true.','sjqaG','hKckZ','DQiie','acLIu','Rhxgw','oyJQb','dZoTP','QEfhD','PpHyP','bsMxv','PWMGN','VfKnc','xGItW','neRon','etNhd','dxHQX','apiKey','QYcKj','useCallback','DuEYC','LHxft','bcvLA','GdUvr','iHwyI','MiBck','uEsAj','alert','giDgt','CBOtG','LkfTM','ICmHW','OYPic','uKWdk','Tddzt','gZisM','ytNEk','IlHzW','jUmWk','vMBtr','AIpIB','cKbsX','has','RtJjJ','DqHQn','RXOCz','OgWzQ','ZZroC','TrwKb','JqQOJ','ewfEm','ZipdP','CdxPr','[OnairosButton]\x20Rendering\x20JSX\x20with\x20props:','createElement','Fragment','View','TouchableOpacity','button','pillButton','strokedButton','swervButton','disabledButton','WdRkH','MByhm','DpGhb','DlYDU','hkzWX','hZFUt','buttonContent','logoContainer','Image','BRAND_IMAGES','onairosLogoAlt','contain','Text','buttonText','#FFFFFF','UniversalOnboarding','aPZWp','Small','fffLq','WTYdm','FWjHL','UVoaH','IMxiA','EEkyT','zfeWB','onairosevents://auth/callback','create','row','center','bold','transparent','600'];_0xef21=function(){return _0x1023a5;};return _0xef21();}Object[_0x3792(0x0)](exports,'__esModule',{'value':!![]}),exports[_0x3792(0x1)]=exports['OnairosButton']=void 0x0;function _0x3792(_0xef21e3,_0x37923b){_0xef21e3=_0xef21e3-0x0;const _0x2e4960=_0xef21();let _0x19d202=_0x2e4960[_0xef21e3];return _0x19d202;}var _react=_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_reactNativeLinearGradient=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2)),_UniversalOnboarding=__ONAIROS_REQ_FUNC__(0x3),_WelcomeScreen=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x4)),_apiKeyService=__ONAIROS_REQ_FUNC__(0x5),_assetRegistry=__ONAIROS_REQ_FUNC__(0x6);function _interopRequireDefault(_0x137e3a){return _0x137e3a&&_0x137e3a['__esModule']?_0x137e3a:{'default':_0x137e3a};}function _interopRequireWildcard(_0xd2e935,_0x12dfb5){const _0x24cb7f={'bmYAK':'login','BbwZj':_0x3792(0x2),'muzRs':'signup','sWWkT':_0x3792(0x3),'bOrIp':_0x3792(0x4),'VqbEF':function(_0x36211b,_0x380d03){return _0x36211b(_0x380d03);},'AvFyx':function(_0x30a75){return _0x30a75();},'weCqe':function(_0x164692,_0x47438f){return _0x164692===_0x47438f;},'gvxSo':'KvLjb','puPJt':function(_0x2207ac,_0x2ec98c){return _0x2207ac&&_0x2ec98c;},'iMrIC':function(_0x2c3962,_0x4b8d6f){return _0x2c3962!=_0x4b8d6f;},'ktbFd':_0x3792(0x5),'LoHIP':_0x3792(0x6),'hhpEn':function(_0x2fdaf5,_0x42ef27){return _0x2fdaf5!==_0x42ef27;},'wFXbF':_0x3792(0x7),'ikplV':_0x3792(0x1),'GidGS':function(_0x105697,_0x4b5fab,_0x157d38,_0x5e1be7){return _0x105697(_0x4b5fab,_0x157d38,_0x5e1be7);}};if(_0x3792(0x6)==typeof WeakMap)var _0xad165f=new WeakMap(),_0x1fa769=new WeakMap();return(_interopRequireWildcard=function(_0x2c4cd8,_0x392ddf){const _0x50523f={'BVzrr':function(_0x19f0a7,_0x4e6538){return _0x24cb7f[_0x3792(0x8)](_0x19f0a7,_0x4e6538);},'BGukz':function(_0xcd285d){return _0x24cb7f[_0x3792(0x9)](_0xcd285d);}};if(_0x24cb7f[_0x3792(0xa)](_0x24cb7f[_0x3792(0xb)],_0x3792(0xc))){if(_0x24cb7f['puPJt'](!_0x392ddf,_0x2c4cd8)&&_0x2c4cd8[_0x3792(0xd)])return _0x2c4cd8;var _0x1d3053,_0x43bdab,_0x531bee={'__proto__':null,'default':_0x2c4cd8};if(null===_0x2c4cd8||_0x24cb7f[_0x3792(0xe)](_0x24cb7f[_0x3792(0xf)],typeof _0x2c4cd8)&&_0x24cb7f['iMrIC'](_0x24cb7f['LoHIP'],typeof _0x2c4cd8))return _0x531bee;if(_0x1d3053=_0x392ddf?_0x1fa769:_0xad165f){if(_0x24cb7f[_0x3792(0x10)](_0x3792(0x11),_0x24cb7f['wFXbF'])){if(_0x1d3053['has'](_0x2c4cd8))return _0x1d3053[_0x3792(0x12)](_0x2c4cd8);_0x1d3053[_0x3792(0x13)](_0x2c4cd8,_0x531bee);}else _0x2135af[_0x3792(0x14)](_0x3792(0x15)),_0x50523f[_0x3792(0x16)](_0x333b59,![]),_0x11c610&&_0x546ddc(_0x1cd119,_0x2f54a8),_0x42060e&&_0x50523f[_0x3792(0x17)](_0x3e2175);}for(const _0xd00bcc in _0x2c4cd8)_0x24cb7f[_0x3792(0x18)]!==_0xd00bcc&&{}[_0x3792(0x19)][_0x3792(0x1a)](_0x2c4cd8,_0xd00bcc)&&((_0x43bdab=(_0x1d3053=Object['defineProperty'])&&Object[_0x3792(0x1b)](_0x2c4cd8,_0xd00bcc))&&(_0x43bdab[_0x3792(0x12)]||_0x43bdab[_0x3792(0x13)])?_0x24cb7f[_0x3792(0x1c)](_0x1d3053,_0x531bee,_0xd00bcc,_0x43bdab):_0x531bee[_0xd00bcc]=_0x2c4cd8[_0xd00bcc]);return _0x531bee;}else switch(_0x25837e){case'connect':return'Connect\x20Onairos';case _0x24cb7f[_0x3792(0x1d)]:return _0x24cb7f[_0x3792(0x1e)];case _0x24cb7f[_0x3792(0x1f)]:return _0x24cb7f['sWWkT'];default:return _0x24cb7f['bOrIp'];}})(_0xd2e935,_0x12dfb5);}const {width}=_reactNative[_0x3792(0x20)][_0x3792(0x12)]('window'),OnairosButton=exports[_0x3792(0x21)]=(0x0,_react['forwardRef'])(({AppName:_0x25ea60,buttonType:buttonType=_0x3792(0x22),buttonWidth:buttonWidth=0xb4,buttonHeight:buttonHeight=0x30,hasStroke:hasStroke=![],enabled:enabled=!![],buttonForm:buttonForm=_0x3792(0x1),onResolved:_0x35a3e0,onRejection:_0x180e91,preCheck:_0x51ae89,color:color=_0x3792(0x23),swerv:swerv=![],darkMode:darkMode=![],returnLink:_0x2ee471,preferredPlatform:_0x3f439d,autoFetch:autoFetch=![],inferenceData:_0x26caca,textLayout:textLayout='right',textColor:textColor=_0x3792(0x24),proofMode:proofMode=![],webpageName:_0x244606,debug:debug=![],testMode:testMode=![],requestData:_0x355d2c,onPress:_0x3e6c62,primaryAuthOnly:primaryAuthOnly=![],useNewWelcomeFlow:useNewWelcomeFlow=![]},_0x24d08f)=>{const _0x1d66e5={'IeToq':_0x3792(0x25),'bNDoA':_0x3792(0x26),'GQemN':function(_0x1c82b0){return _0x1c82b0();},'MqMpF':_0x3792(0x27),'UAVqX':function(_0x5a9489,_0x411a83){return _0x5a9489===_0x411a83;},'SgXSX':function(_0xf68f03,_0x35d829){return _0xf68f03 instanceof _0x35d829;},'xBDyI':_0x3792(0x28),'EsXxW':function(_0x2e4429,_0x2371f5){return _0x2e4429(_0x2371f5);},'oLgiv':'[OnairosButton]\x20handlePress\x20called.','zfeWB':function(_0x683cfc,_0x1cffe7){return _0x683cfc||_0x1cffe7;},'leAlW':function(_0x37f31b,_0x3a74d9){return _0x37f31b(_0x3a74d9);},'tNnlC':_0x3792(0x29),'lPLxI':_0x3792(0x2a),'SbAel':_0x3792(0x2b),'ngbQQ':_0x3792(0x2c),'oyJQb':_0x3792(0x2d),'XviZH':function(_0x3f3892,_0x89881a){return _0x3f3892+_0x89881a;},'bcvLA':function(_0x3a2eaa,_0x38458d){return _0x3a2eaa===_0x38458d;},'pnKdM':function(_0x90b538,_0x1e447f){return _0x90b538===_0x1e447f;},'XmYwJ':_0x3792(0x2e),'QvtDZ':function(_0x5eccb0,_0xcb32a5){return _0x5eccb0===_0xcb32a5;},'QEfhD':function(_0x292098,_0x378afb){return _0x292098===_0x378afb;},'JONWT':_0x3792(0x2f),'vWPZj':function(_0x18f776,_0x414e62){return _0x18f776(_0x414e62);},'sjqaG':function(_0x405bd2,_0x467ae1){return _0x405bd2(_0x467ae1);},'hKckZ':function(_0x3eb51b,_0x19efbe){return _0x3eb51b(_0x19efbe);},'DQiie':function(_0x4f5aed,_0x49ab0a){return _0x4f5aed!==_0x49ab0a;},'acLIu':_0x3792(0x30),'Rhxgw':_0x3792(0x31),'ZipdP':function(_0x465dcd,_0x178665){return _0x465dcd(_0x178665);},'dZoTP':function(_0x586cde,_0x3cd119){return _0x586cde===_0x3cd119;},'PpHyP':function(_0x2dabfe,_0x3f4f87){return _0x2dabfe===_0x3f4f87;},'bsMxv':'connect','PWMGN':_0x3792(0x4),'VfKnc':'Sign\x20in\x20with\x20Onairos','xGItW':_0x3792(0x32),'neRon':_0x3792(0x3),'LkfTM':function(_0x29cbbc,_0x366946,_0x4941b4){return _0x29cbbc(_0x366946,_0x4941b4);},'DuEYC':'Onairos\x20SDK\x20not\x20initialized.\x20Developers\x20must\x20call\x20initializeApiKey()\x20with\x20a\x20valid\x20API\x20key\x20before\x20using\x20SDK\x20components.\x20Get\x20your\x20API\x20key\x20from\x20https://dashboard.onairos.uk','HysPv':_0x3792(0x33),'LHxft':function(_0x32fcc0,_0x232ef8){return _0x32fcc0(_0x232ef8);},'OHsSc':_0x3792(0x34),'CBOtG':function(_0x35dff8,_0x16010d,_0x46427a){return _0x35dff8(_0x16010d,_0x46427a);},'ewfEm':function(_0x3a800a,_0x1d72dd){return _0x3a800a===_0x1d72dd;},'CdxPr':function(_0x4d9e05,_0x405850){return _0x4d9e05(_0x405850);},'ICmHW':function(_0x30484c,_0x4b1e1a){return _0x30484c&&_0x4b1e1a;},'OYPic':function(_0x30e18d,_0x1f7df8){return _0x30e18d===_0x1f7df8;},'uKWdk':function(_0x30e580,_0x520d87){return _0x30e580!=_0x520d87;},'DAiHL':_0x3792(0x5),'Tddzt':_0x3792(0x6),'GIiCy':function(_0x225ced,_0x3b79ea){return _0x225ced!==_0x3b79ea;},'bfaBf':'default','gZisM':function(_0x19ec7e,_0x13a0d5,_0x363008,_0x4aa84a){return _0x19ec7e(_0x13a0d5,_0x363008,_0x4aa84a);},'VvxQQ':function(_0x436d79,_0x35541d){return _0x436d79==_0x35541d;},'ytNEk':function(_0x38517b,_0xdc625e){return _0x38517b!==_0xdc625e;},'IlHzW':_0x3792(0x35),'RXOCz':'[OnairosButton]\x20handleOnboardingClose:\x20Setting\x20showOnboarding\x20to\x20false.','OgWzQ':function(_0x3de127,_0x5702b7){return _0x3de127!==_0x5702b7;},'ZZroC':_0x3792(0x36),'ZIKWM':function(_0xd598a7,_0x1be285){return _0xd598a7(_0x1be285);},'JqQOJ':_0x3792(0x37),'xOkRp':_0x3792(0x38),'GVqTV':function(_0x4f4037,_0x3fa1a8){return _0x4f4037||_0x3fa1a8;},'WdRkH':_0x3792(0x39),'MByhm':_0x3792(0x3a),'DpGhb':'#8B6914','DlYDU':'absolute','hkzWX':_0x3792(0x3b),'hZFUt':_0x3792(0x3c),'aPZWp':function(_0x137bb3,_0x1f9670){return _0x137bb3||_0x1f9670;},'fffLq':_0x3792(0x3d),'WTYdm':_0x3792(0x3e),'FWjHL':_0x3792(0x3f),'UVoaH':'Standard\x20tier','IMxiA':_0x3792(0x40),'EEkyT':'Large','hgcEH':'Full\x20personalization'},[_0x35b859,_0x28acd4]=(0x0,_react['useState'])(![]),[_0x170fa2,_0x5eda3f]=(0x0,_react[_0x3792(0x41)])(![]),[_0x2a9726,_0x5ea10f]=(0x0,_react[_0x3792(0x41)])(![]);console[_0x3792(0x14)](_0x1d66e5[_0x3792(0x42)],_0x2a9726),(0x0,_react[_0x3792(0x43)])(()=>{if(_0x1d66e5['IeToq']!==_0x3792(0x44))console['log'](_0x1d66e5[_0x3792(0x45)],_0x2a9726);else return _0x13214e['resolve']();},[_0x2a9726]),(0x0,_react['useImperativeHandle'])(_0x24d08f,()=>({'trigger':async()=>{return await _0x1d66e5[_0x3792(0x46)](_0x5720fd),Promise[_0x3792(0x47)]();},'reset':async()=>{return Promise[_0x3792(0x47)]();}}));const _0x5720fd=async()=>{console[_0x3792(0x14)](_0x1d66e5[_0x3792(0x48)]);if(_0x1d66e5['zfeWB'](!enabled,_0x35b859))return;_0x1d66e5[_0x3792(0x49)](_0x28acd4,!![]);try{if(!(0x0,_apiKeyService['isApiKeyInitialized'])()){const _0x375913=_0x3792(0x4a);console[_0x3792(0x4b)](_0x1d66e5[_0x3792(0x4c)],_0x375913);_0x180e91?_0x1d66e5[_0x3792(0x4d)](_0x180e91,_0x375913):_0x1d66e5['UAVqX'](_0x1d66e5[_0x3792(0x4e)],_0x1d66e5[_0x3792(0x4e)])?_reactNative[_0x3792(0x4f)]['alert'](_0x1d66e5['SbAel'],_0x1d66e5[_0x3792(0x50)],[{'text':'OK'}]):(_0x346aa5['error'](_0x1d66e5[_0x3792(0x51)],_0x2b3abf),_0x1d66e5['UAVqX'](_0x12229b,null)||_0x1d66e5[_0x3792(0x52)](_0x536aa8,void 0x0)||_0x506523(_0x1d66e5[_0x3792(0x53)](_0x11b325,_0x580d63)?_0x53565a[_0x3792(0x54)]:_0x1d66e5[_0x3792(0x55)]),_0x1d66e5[_0x3792(0x4d)](_0x44976d,![]));_0x28acd4(![]);return;}const _0x13f35a=(0x0,_apiKeyService['getApiConfig'])();if(debug){var _0x4ec187;console['log'](_0x1d66e5['oyJQb'],_0x1d66e5[_0x3792(0x56)](_0x1d66e5[_0x3792(0x52)](_0x13f35a,null)||_0x1d66e5['bcvLA'](_0x13f35a,void 0x0)||_0x1d66e5['pnKdM'](_0x4ec187=_0x13f35a['apiKey'],null)||_0x4ec187===void 0x0?void 0x0:_0x4ec187[_0x3792(0x57)](0x0,0x8),_0x3792(0x58)));}if(_0x51ae89){const _0x52ffeb=await _0x1d66e5['GQemN'](_0x51ae89);if(!_0x52ffeb){console[_0x3792(0x14)](_0x1d66e5[_0x3792(0x59)]),_0x1d66e5[_0x3792(0x5a)](_0x180e91,null)||_0x1d66e5['QEfhD'](_0x180e91,void 0x0)||_0x1d66e5[_0x3792(0x4d)](_0x180e91,_0x1d66e5[_0x3792(0x5b)]),_0x1d66e5['vWPZj'](_0x28acd4,![]);return;}}console[_0x3792(0x14)](_0x3792(0x5c)),_0x1d66e5[_0x3792(0x5d)](_0x5ea10f,!![]),_0x1d66e5[_0x3792(0x5e)](_0x28acd4,![]);}catch(_0x4e5add){_0x1d66e5[_0x3792(0x5f)](_0x1d66e5[_0x3792(0x60)],_0x1d66e5[_0x3792(0x61)])?(console['error'](_0x1d66e5[_0x3792(0x51)],_0x4e5add),_0x1d66e5['bcvLA'](_0x180e91,null)||_0x1d66e5['UAVqX'](_0x180e91,void 0x0)||_0x1d66e5['vWPZj'](_0x180e91,_0x4e5add instanceof Error?_0x4e5add[_0x3792(0x54)]:_0x1d66e5[_0x3792(0x55)]),_0x1d66e5['ZipdP'](_0x28acd4,![])):_0x7bb240();}},_0x3d1104=()=>{const _0x337f90={'etNhd':_0x1d66e5[_0x3792(0x62)],'dxHQX':function(_0x1ded2b,_0x48e1cc){return _0x1d66e5[_0x3792(0x63)](_0x1ded2b,_0x48e1cc);},'QYcKj':function(_0x21346,_0x182362){return _0x1d66e5[_0x3792(0x64)](_0x21346,_0x182362);}};if(_0x1d66e5[_0x3792(0x65)]('aqzRN','aqzRN'))switch(buttonForm){case _0x1d66e5[_0x3792(0x66)]:return _0x1d66e5[_0x3792(0x67)];case'login':return _0x1d66e5[_0x3792(0x68)];case _0x1d66e5[_0x3792(0x69)]:return _0x1d66e5[_0x3792(0x6a)];default:return _0x1d66e5['PWMGN'];}else{var _0x5d9cc6;_0x537062[_0x3792(0x14)](_0x337f90[_0x3792(0x6b)],(_0x337f90['dxHQX'](_0x4a9310,null)||_0x337f90[_0x3792(0x6c)](_0x5d1045,void 0x0)||_0x337f90['QYcKj'](_0x5d9cc6=_0x1cd413[_0x3792(0x6d)],null)||_0x337f90[_0x3792(0x6e)](_0x5d9cc6,void 0x0)?void 0x0:_0x5d9cc6[_0x3792(0x57)](0x0,0x8))+'...');}},_0x10da45=(0x0,_react[_0x3792(0x6f)])((_0x2a4d83,_0xbc154f)=>{const _0x3ce817={'iHwyI':_0x1d66e5[_0x3792(0x70)],'MiBck':_0x1d66e5[_0x3792(0x4c)],'uEsAj':function(_0x630d8c,_0x52750d){return _0x630d8c(_0x52750d);},'giDgt':_0x1d66e5[_0x3792(0x50)]};if(_0x1d66e5['HysPv']===_0x3792(0x33)){console[_0x3792(0x14)](_0x3792(0x15)),_0x1d66e5[_0x3792(0x71)](_0x5ea10f,![]);if(_0x35a3e0){if(_0x1d66e5[_0x3792(0x72)](_0x1d66e5['OHsSc'],_0x3792(0x73))){const _0x5e376d=_0x3ce817[_0x3792(0x74)];_0x5c04c1['error'](_0x3ce817[_0x3792(0x75)],_0x5e376d);_0x268f64?_0x3ce817[_0x3792(0x76)](_0x5185f4,_0x5e376d):_0x936dc5['Alert'][_0x3792(0x77)](_0x3792(0x2b),_0x3ce817[_0x3792(0x78)],[{'text':'OK'}]);_0x4841e3(![]);return;}else _0x1d66e5[_0x3792(0x79)](_0x35a3e0,_0x2a4d83,_0xbc154f);}_0x3e6c62&&_0x3e6c62();}else _0x1d66e5[_0x3792(0x7a)](_0x2b9973,_0x2cbd15,_0x41d693);},[_0x35a3e0,_0x3e6c62]),_0x16fc6c=(0x0,_react['useCallback'])(()=>{const _0x4c5ea2={'gbAbc':function(_0x37df14,_0x55da62){return _0x1d66e5[_0x3792(0x7b)](_0x37df14,_0x55da62);},'AIpIB':function(_0x5f5793,_0x169c78){return _0x1d66e5[_0x3792(0x7c)](_0x5f5793,_0x169c78);},'cKbsX':function(_0x27181c,_0x15e419){return _0x1d66e5[_0x3792(0x7d)](_0x27181c,_0x15e419);},'DXBTK':_0x1d66e5['DAiHL'],'vMBtr':_0x1d66e5[_0x3792(0x7e)],'RtJjJ':function(_0x334694,_0x42b6d7){return _0x1d66e5['GIiCy'](_0x334694,_0x42b6d7);},'cBnwi':_0x1d66e5['bfaBf'],'DqHQn':function(_0xaa389e,_0x52aa24,_0x231252,_0x10012b){return _0x1d66e5[_0x3792(0x7f)](_0xaa389e,_0x52aa24,_0x231252,_0x10012b);},'jUmWk':function(_0x3dbf3f,_0x1a8bab){return _0x1d66e5['VvxQQ'](_0x3dbf3f,_0x1a8bab);}};if(_0x1d66e5[_0x3792(0x80)](_0x1d66e5[_0x3792(0x81)],_0x1d66e5[_0x3792(0x81)])){if(_0x4c5ea2[_0x3792(0x82)](_0x4c5ea2[_0x3792(0x83)],typeof _0xadbea2))var _0x5de162=new _0x2ddf7d(),_0x46dcb8=new _0x26ae9b();return(_0x1596ca=function(_0x4b4ce4,_0x15e347){if(_0x4c5ea2['gbAbc'](!_0x15e347,_0x4b4ce4)&&_0x4b4ce4[_0x3792(0xd)])return _0x4b4ce4;var _0x2962a3,_0x1d3626,_0x1f579e={'__proto__':null,'default':_0x4b4ce4};if(_0x4c5ea2[_0x3792(0x84)](null,_0x4b4ce4)||_0x4c5ea2[_0x3792(0x85)](_0x4c5ea2['DXBTK'],typeof _0x4b4ce4)&&_0x4c5ea2[_0x3792(0x85)](_0x4c5ea2['vMBtr'],typeof _0x4b4ce4))return _0x1f579e;if(_0x2962a3=_0x15e347?_0x46dcb8:_0x5de162){if(_0x2962a3[_0x3792(0x86)](_0x4b4ce4))return _0x2962a3[_0x3792(0x12)](_0x4b4ce4);_0x2962a3['set'](_0x4b4ce4,_0x1f579e);}for(const _0x5847db in _0x4b4ce4)_0x4c5ea2[_0x3792(0x87)](_0x4c5ea2['cBnwi'],_0x5847db)&&{}[_0x3792(0x19)][_0x3792(0x1a)](_0x4b4ce4,_0x5847db)&&((_0x1d3626=(_0x2962a3=_0x1f1970['defineProperty'])&&_0x685e9[_0x3792(0x1b)](_0x4b4ce4,_0x5847db))&&(_0x1d3626[_0x3792(0x12)]||_0x1d3626[_0x3792(0x13)])?_0x4c5ea2[_0x3792(0x88)](_0x2962a3,_0x1f579e,_0x5847db,_0x1d3626):_0x1f579e[_0x5847db]=_0x4b4ce4[_0x5847db]);return _0x1f579e;})(_0x3bcf0d,_0x3a713c);}else{console['log'](_0x1d66e5[_0x3792(0x89)]),_0x1d66e5[_0x3792(0x71)](_0x5ea10f,![]);if(_0x180e91){if(_0x1d66e5[_0x3792(0x8a)](_0x1d66e5[_0x3792(0x8b)],_0x3792(0x8c)))_0x1d66e5['ZIKWM'](_0x180e91,_0x1d66e5[_0x3792(0x8d)]);else{_0xaf6092[_0x3792(0x14)](_0x1d66e5['XmYwJ']),_0x1d66e5[_0x3792(0x5a)](_0x11ca8c,null)||_0x1d66e5[_0x3792(0x8e)](_0x58e845,void 0x0)||_0x1d66e5[_0x3792(0x8f)](_0x4191bd,_0x3792(0x2f)),_0x1d66e5[_0x3792(0x90)](_0x2b919f,![]);return;}}}},[_0x180e91]);return console[_0x3792(0x14)](_0x3792(0x91),{'AppName':_0x25ea60,'buttonType':buttonType,'buttonWidth':buttonWidth,'buttonHeight':buttonHeight,'hasStroke':hasStroke,'enabled':enabled,'buttonForm':buttonForm,'onResolved':_0x35a3e0,'onRejection':_0x180e91,'preCheck':_0x51ae89,'color':color,'swerv':swerv,'darkMode':darkMode,'returnLink':_0x2ee471,'preferredPlatform':_0x3f439d,'autoFetch':autoFetch,'inferenceData':_0x26caca,'textLayout':textLayout,'textColor':textColor,'proofMode':proofMode,'webpageName':_0x244606,'debug':debug,'testMode':testMode,'requestData':_0x355d2c,'onPress':_0x3e6c62,'primaryAuthOnly':primaryAuthOnly,'useNewWelcomeFlow':useNewWelcomeFlow}),_react[_0x3792(0x1)][_0x3792(0x92)](_react[_0x3792(0x1)][_0x3792(0x93)],null,_react[_0x3792(0x1)][_0x3792(0x92)](_reactNative[_0x3792(0x94)],null,_react[_0x3792(0x1)]['createElement'](_reactNative[_0x3792(0x95)],{'style':[styles[_0x3792(0x96)],buttonType===_0x3792(0x3b)&&styles[_0x3792(0x97)],hasStroke&&styles[_0x3792(0x98)],{'width':buttonWidth,'height':buttonHeight},swerv&&styles[_0x3792(0x99)],!enabled&&styles[_0x3792(0x9a)]],'onPress':_0x5720fd,'disabled':_0x1d66e5['GVqTV'](!enabled,_0x35b859),'onPressIn':()=>_0x5eda3f(!![]),'onPressOut':()=>_0x5eda3f(![])},_react[_0x3792(0x1)][_0x3792(0x92)](_reactNativeLinearGradient[_0x3792(0x1)],{'colors':[_0x1d66e5[_0x3792(0x9b)],_0x1d66e5[_0x3792(0x9c)],_0x1d66e5[_0x3792(0x9d)]],'start':{'x':0x0,'y':0x0},'end':{'x':0x1,'y':0x0},'style':{'position':_0x1d66e5[_0x3792(0x9e)],'left':0x0,'right':0x0,'top':0x0,'bottom':0x0,'borderRadius':_0x1d66e5['OYPic'](buttonType,_0x1d66e5[_0x3792(0x9f)])?0x18:0x8}}),_0x35b859?_react[_0x3792(0x1)][_0x3792(0x92)](_reactNative['ActivityIndicator'],{'size':_0x1d66e5[_0x3792(0xa0)],'color':'#FFFFFF'}):_react[_0x3792(0x1)][_0x3792(0x92)](_reactNative['View'],{'style':styles[_0x3792(0xa1)]},_react['default'][_0x3792(0x92)](_reactNative['View'],{'style':styles[_0x3792(0xa2)]},_react[_0x3792(0x1)][_0x3792(0x92)](_reactNative[_0x3792(0xa3)],{'source':_assetRegistry[_0x3792(0xa4)][_0x3792(0xa5)],'style':styles['logoImage'],'resizeMode':_0x3792(0xa6)})),_react['default'][_0x3792(0x92)](_reactNative[_0x3792(0xa7)],{'style':[styles[_0x3792(0xa8)],{'color':_0x3792(0xa9)}]},_0x3d1104())))),useNewWelcomeFlow?_react[_0x3792(0x1)][_0x3792(0x92)](_WelcomeScreen[_0x3792(0x1)],{'visible':_0x2a9726,'onClose':_0x16fc6c,'onComplete':_0x10da45}):_react['default'][_0x3792(0x92)](_UniversalOnboarding[_0x3792(0xaa)],{'visible':_0x2a9726,'onClose':_0x16fc6c,'AppName':_0x25ea60,'requestData':_0x1d66e5[_0x3792(0xab)](_0x355d2c,{'Small':{'type':_0x3792(0xac),'descriptions':_0x1d66e5[_0x3792(0xad)],'reward':_0x1d66e5[_0x3792(0xae)]},'Medium':{'type':_0x1d66e5[_0x3792(0xaf)],'descriptions':_0x1d66e5[_0x3792(0xb0)],'reward':_0x1d66e5[_0x3792(0xb1)]},'Large':{'type':_0x1d66e5[_0x3792(0xb2)],'descriptions':'Premium\x20tier','reward':_0x1d66e5['hgcEH']}}),'returnLink':_0x1d66e5[_0x3792(0xb3)](_0x2ee471,_0x3792(0xb4)),'onComplete':_0x10da45,'debug':debug,'test':testMode,'preferredPlatform':_0x3f439d,'primaryAuthOnly':primaryAuthOnly}));}),styles=_reactNative['StyleSheet'][_0x3792(0xb5)]({'button':{'flexDirection':_0x3792(0xb6),'alignItems':_0x3792(0xb7),'justifyContent':_0x3792(0xb7),'paddingVertical':0xc,'paddingHorizontal':0x10,'borderRadius':0x8,'shadowColor':'#000','shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.2,'shadowRadius':0x4,'elevation':0x3,'overflow':'hidden'},'buttonContent':{'flexDirection':_0x3792(0xb6),'alignItems':_0x3792(0xb7),'justifyContent':_0x3792(0xb7)},'logoContainer':{'width':0x18,'height':0x18,'alignItems':_0x3792(0xb7),'justifyContent':_0x3792(0xb7),'marginRight':0x4},'logoText':{'color':_0x3792(0x3a),'fontWeight':_0x3792(0xb8),'fontSize':0xe},'logoImage':{'width':0x14,'height':0x14},'pillButton':{'borderRadius':0x18},'strokedButton':{'backgroundColor':_0x3792(0xb9),'borderWidth':0x1},'swervButton':{'transform':[{'rotate':'-2deg'}]},'disabledButton':{'opacity':0.6},'buttonText':{'fontSize':0x10,'fontWeight':_0x3792(0xba),'textAlign':'center'}});var _default=exports['default']=OnairosButton;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.OnairosButton = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeLinearGradient = _interopRequireDefault(require("react-native-linear-gradient"));
10
+ var _UniversalOnboarding = require("./UniversalOnboarding");
11
+ var _WelcomeScreen = _interopRequireDefault(require("./WelcomeScreen"));
12
+ var _apiKeyService = require("../services/apiKeyService");
13
+ var _assetRegistry = require("../utils/assetRegistry");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ const {
17
+ width
18
+ } = _reactNative.Dimensions.get('window');
19
+ const OnairosButton = exports.OnairosButton = /*#__PURE__*/(0, _react.forwardRef)(({
20
+ AppName,
21
+ buttonType = 'normal',
22
+ buttonWidth = 180,
23
+ buttonHeight = 48,
24
+ hasStroke = false,
25
+ enabled = true,
26
+ buttonForm = 'default',
27
+ onResolved,
28
+ onRejection,
29
+ preCheck,
30
+ color = '#1BA9D4',
31
+ swerv = false,
32
+ darkMode = false,
33
+ returnLink,
34
+ preferredPlatform,
35
+ autoFetch = false,
36
+ inferenceData,
37
+ textLayout = 'right',
38
+ textColor = 'black',
39
+ proofMode = false,
40
+ webpageName,
41
+ debug = false,
42
+ testMode = false,
43
+ requestData,
44
+ onPress,
45
+ primaryAuthOnly = false,
46
+ useNewWelcomeFlow = false
47
+ }, ref) => {
48
+ const [isLoading, setIsLoading] = (0, _react.useState)(false);
49
+ const [isPressed, setIsPressed] = (0, _react.useState)(false);
50
+ const [showOnboarding, setShowOnboarding] = (0, _react.useState)(false);
51
+ console.log('[OnairosButton] Initializing. Initial showOnboarding:', showOnboarding);
52
+ (0, _react.useEffect)(() => {
53
+ console.log('[OnairosButton] LogEffect: showOnboarding state changed to:', showOnboarding);
54
+ }, [showOnboarding]);
55
+
56
+ // Expose methods via ref
57
+ (0, _react.useImperativeHandle)(ref, () => ({
58
+ trigger: async () => {
59
+ await handlePress();
60
+ return Promise.resolve();
61
+ },
62
+ reset: async () => {
63
+ return Promise.resolve();
64
+ }
65
+ }));
66
+ const handlePress = async () => {
67
+ console.log('[OnairosButton] handlePress called.');
68
+ if (!enabled || isLoading) return;
69
+ setIsLoading(true);
70
+ try {
71
+ // 🔒 CRITICAL: Check if SDK is properly initialized with valid API key
72
+ if (!(0, _apiKeyService.isApiKeyInitialized)()) {
73
+ const errorMessage = 'Onairos SDK not initialized. Developers must call initializeApiKey() with a valid API key before using SDK components. Get your API key from https://dashboard.onairos.uk';
74
+ console.error('❌ [OnairosButton] SDK NOT INITIALIZED:', errorMessage);
75
+ if (onRejection) {
76
+ onRejection(errorMessage);
77
+ } else {
78
+ _reactNative.Alert.alert('SDK Not Initialized', 'The Onairos SDK requires initialization with a valid API key.\n\nDevelopers: Please call initializeApiKey() before using OnairosButton.', [{
79
+ text: 'OK'
80
+ }]);
81
+ }
82
+ setIsLoading(false);
83
+ return;
84
+ }
85
+
86
+ // Log API key status for debugging
87
+ const config = (0, _apiKeyService.getApiConfig)();
88
+ if (debug) {
89
+ var _config$apiKey;
90
+ console.log('[OnairosButton] SDK initialized with API key:', (config === null || config === void 0 || (_config$apiKey = config.apiKey) === null || _config$apiKey === void 0 ? void 0 : _config$apiKey.substring(0, 8)) + '...');
91
+ }
92
+ if (preCheck) {
93
+ const shouldProceed = await preCheck();
94
+ if (!shouldProceed) {
95
+ console.log('[OnairosButton] Precheck failed. Setting showOnboarding to false (indirectly, by not setting to true).');
96
+ onRejection === null || onRejection === void 0 || onRejection('Precheck validation failed');
97
+ setIsLoading(false);
98
+ return;
99
+ }
100
+ }
101
+ console.log('[OnairosButton] handlePress: Setting showOnboarding to true.');
102
+ setShowOnboarding(true);
103
+ setIsLoading(false);
104
+ } catch (error) {
105
+ console.error('[OnairosButton] Error in handlePress:', error);
106
+ onRejection === null || onRejection === void 0 || onRejection(error instanceof Error ? error.message : 'Unknown error');
107
+ setIsLoading(false);
108
+ }
109
+ };
110
+
111
+ // Compute button text based on buttonForm
112
+ const getButtonText = () => {
113
+ switch (buttonForm) {
114
+ case 'connect':
115
+ return 'Connect Onairos';
116
+ case 'login':
117
+ return 'Sign in with Onairos';
118
+ case 'signup':
119
+ return 'Sign up with Onairos';
120
+ default:
121
+ return 'Connect Onairos';
122
+ }
123
+ };
124
+
125
+ // Handle onboarding completion
126
+ const handleOnboardingComplete = (0, _react.useCallback)((token, email) => {
127
+ console.log('[OnairosButton] handleOnboardingComplete: Setting showOnboarding to false.');
128
+ setShowOnboarding(false);
129
+ if (onResolved) {
130
+ // Call onResolved with the token and email
131
+ onResolved(token, email);
132
+ }
133
+ if (onPress) {
134
+ onPress();
135
+ }
136
+ }, [onResolved, onPress]);
137
+
138
+ // Handle onboarding close
139
+ const handleOnboardingClose = (0, _react.useCallback)(() => {
140
+ console.log('[OnairosButton] handleOnboardingClose: Setting showOnboarding to false.');
141
+ setShowOnboarding(false);
142
+ if (onRejection) {
143
+ onRejection('User closed onboarding');
144
+ }
145
+ }, [onRejection]);
146
+ console.log('[OnairosButton] Rendering JSX with props:', {
147
+ AppName,
148
+ buttonType,
149
+ buttonWidth,
150
+ buttonHeight,
151
+ hasStroke,
152
+ enabled,
153
+ buttonForm,
154
+ onResolved,
155
+ onRejection,
156
+ preCheck,
157
+ color,
158
+ swerv,
159
+ darkMode,
160
+ returnLink,
161
+ preferredPlatform,
162
+ autoFetch,
163
+ inferenceData,
164
+ textLayout,
165
+ textColor,
166
+ proofMode,
167
+ webpageName,
168
+ debug,
169
+ testMode,
170
+ requestData,
171
+ onPress,
172
+ primaryAuthOnly,
173
+ useNewWelcomeFlow
174
+ });
175
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, null, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
176
+ style: [styles.button, buttonType === 'pill' && styles.pillButton, hasStroke && styles.strokedButton, {
177
+ width: buttonWidth,
178
+ height: buttonHeight
179
+ }, swerv && styles.swervButton, !enabled && styles.disabledButton],
180
+ onPress: handlePress,
181
+ disabled: !enabled || isLoading,
182
+ onPressIn: () => setIsPressed(true),
183
+ onPressOut: () => setIsPressed(false)
184
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeLinearGradient.default, {
185
+ colors: ['#f5e7c1', '#C7A047', '#8B6914'],
186
+ start: {
187
+ x: 0,
188
+ y: 0
189
+ },
190
+ end: {
191
+ x: 1,
192
+ y: 0
193
+ },
194
+ style: {
195
+ position: 'absolute',
196
+ left: 0,
197
+ right: 0,
198
+ top: 0,
199
+ bottom: 0,
200
+ borderRadius: buttonType === 'pill' ? 24 : 8
201
+ }
202
+ }), isLoading ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
203
+ size: "small",
204
+ color: "#FFFFFF"
205
+ }) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
206
+ style: styles.buttonContent
207
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
208
+ style: styles.logoContainer
209
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
210
+ source: _assetRegistry.BRAND_IMAGES.onairosLogoAlt,
211
+ style: styles.logoImage,
212
+ resizeMode: "contain"
213
+ })), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
214
+ style: [styles.buttonText, {
215
+ color: '#FFFFFF'
216
+ }]
217
+ }, getButtonText())))), useNewWelcomeFlow ? /*#__PURE__*/_react.default.createElement(_WelcomeScreen.default, {
218
+ visible: showOnboarding,
219
+ onClose: handleOnboardingClose,
220
+ onComplete: handleOnboardingComplete
221
+ }) : /*#__PURE__*/_react.default.createElement(_UniversalOnboarding.UniversalOnboarding, {
222
+ visible: showOnboarding,
223
+ onClose: handleOnboardingClose,
224
+ AppName: AppName,
225
+ requestData: requestData || {
226
+ Small: {
227
+ type: 'Small',
228
+ descriptions: 'Basic tier',
229
+ reward: 'Free access'
230
+ },
231
+ Medium: {
232
+ type: 'Medium',
233
+ descriptions: 'Standard tier',
234
+ reward: 'Premium features'
235
+ },
236
+ Large: {
237
+ type: 'Large',
238
+ descriptions: 'Premium tier',
239
+ reward: 'Full personalization'
240
+ }
241
+ },
242
+ returnLink: returnLink || 'onairosevents://auth/callback',
243
+ onComplete: handleOnboardingComplete,
244
+ debug: debug,
245
+ test: testMode,
246
+ preferredPlatform: preferredPlatform,
247
+ primaryAuthOnly: primaryAuthOnly
248
+ }));
249
+ });
250
+ const styles = _reactNative.StyleSheet.create({
251
+ button: {
252
+ flexDirection: 'row',
253
+ alignItems: 'center',
254
+ justifyContent: 'center',
255
+ paddingVertical: 12,
256
+ paddingHorizontal: 16,
257
+ borderRadius: 8,
258
+ shadowColor: '#000',
259
+ shadowOffset: {
260
+ width: 0,
261
+ height: 2
262
+ },
263
+ shadowOpacity: 0.2,
264
+ shadowRadius: 4,
265
+ elevation: 3,
266
+ overflow: 'hidden'
267
+ },
268
+ buttonContent: {
269
+ flexDirection: 'row',
270
+ alignItems: 'center',
271
+ justifyContent: 'center'
272
+ },
273
+ logoContainer: {
274
+ width: 24,
275
+ height: 24,
276
+ // borderRadius: 12, // Removed to eliminate circle shape
277
+ // backgroundColor: '#FFFFFF', // Removed to eliminate white background
278
+ alignItems: 'center',
279
+ justifyContent: 'center',
280
+ marginRight: 4
281
+ },
282
+ logoText: {
283
+ color: '#C7A047',
284
+ fontWeight: 'bold',
285
+ fontSize: 14
286
+ },
287
+ logoImage: {
288
+ width: 20,
289
+ height: 20
290
+ },
291
+ pillButton: {
292
+ borderRadius: 24
293
+ },
294
+ strokedButton: {
295
+ backgroundColor: 'transparent',
296
+ borderWidth: 1
297
+ },
298
+ swervButton: {
299
+ transform: [{
300
+ rotate: '-2deg'
301
+ }]
302
+ },
303
+ disabledButton: {
304
+ opacity: 0.6
305
+ },
306
+ buttonText: {
307
+ fontSize: 16,
308
+ fontWeight: '600',
309
+ textAlign: 'center'
310
+ }
311
+ });
312
+ var _default = exports.default = OnairosButton;
313
+ //# sourceMappingURL=OnairosButton.js.map
@@ -1,12 +1,130 @@
1
- 'use strict';
2
- // Onairos SDK - Asset Registry (auto-generated)
3
- var __ONAIROS_REQ_REGISTRY__ = [
4
- require("react"),
5
- require("react-native"),
6
- require("@react-native-async-storage/async-storage"),
7
- require("./WelcomeScreen"),
8
- require("../utils/haptics"),
9
- require("../utils/assetRegistry")
10
- ];
11
- function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
12
- function _0x3144(_0x54f70b,_0x314433){_0x54f70b=_0x54f70b-0x0;const _0x5b6ad4=_0x54f7();let _0x20ad9b=_0x5b6ad4[_0x54f70b];return _0x20ad9b;}function _0x54f7(){const _0x3f4c02=['defineProperty','__esModule','OnairosSignInButton','Yjhhx','WvbsL','object','function','default','tlpWR','NOjhF','uvweE','User\x20closed\x20welcome\x20screen','EnJNp','PKkqY','KScWn','DSHjp','nnOHF','XeUCX','has','set','vwyIj','kjaxw','get','YuJzj','getOwnPropertyDescriptor','nPUtH','hasOwnProperty','call','#000','🔑\x20Received\x20placeholder\x20token\x20from\x20WelcomeScreen,\x20completing\x20sign-in','🔑\x20OnairosSignInButton:\x20Returning\x20JWT\x20token\x20with\x20email:','LHPZV','hFXbF','🔍\x20OnairosSignInButton:\x20handleWelcomeComplete\x20called\x20with:','🔍\x20OnairosSignInButton:\x20Is\x20JWT\x20token?','🔑\x20Received\x20JWT\x20token\x20from\x20WelcomeScreen,\x20completing\x20sign-in','🔑\x20OnairosSignInButton:\x20Returning\x20token\x20with\x20email:','SlNOw','🔘\x20OnairosSignInButton\x20pressed,\x20showing\x20WelcomeScreen','🔘\x20showWelcomeScreen\x20state\x20set\x20to\x20true','useState','useCallback','ysMnx','BkqPp','dXaPM','gqBuo','mqRqx','HvjNq','fQjjC','getItem','user_email','then','log','pFUHO','puxbF','XqvsB','includes','length','Shzqn','CARyu','iGKKV','ImBWs','cEppl','trjZz','pwbQu','LMjge','YFmgI','SmZBb','aUTDS','createElement','container','button','dJxDo','zCqKn','ucVGF','uNdrs','RubQt','erzGr','isbDL','BDlRc','WgpQp','triggerHaptic','HapticType','BUTTON_PRESS','etUsO','View','contentRow','Image','logo','Text','SEthq','StyleSheet','create','center','row','600'];_0x54f7=function(){return _0x3f4c02;};return _0x54f7();}Object[_0x3144(0x0)](exports,_0x3144(0x1),{'value':!![]}),exports[_0x3144(0x2)]=void 0x0;var _react=_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_asyncStorage=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2)),_WelcomeScreen=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x3)),_haptics=__ONAIROS_REQ_FUNC__(0x4),_assetRegistry=__ONAIROS_REQ_FUNC__(0x5);function _interopRequireDefault(_0x36a043){return _0x36a043&&_0x36a043[_0x3144(0x1)]?_0x36a043:{'default':_0x36a043};}function _interopRequireWildcard(_0x29f97d,_0x401f46){const _0x133bd1={'ZytTW':function(_0x40029a,_0x3fbc65){return _0x40029a(_0x3fbc65);},'vwyIj':function(_0x1db14d,_0xb708f9){return _0x1db14d===_0xb708f9;},'kjaxw':function(_0x339def,_0x5477dc){return _0x339def!=_0x5477dc;},'YuJzj':function(_0x57d5dd,_0x170c2d){return _0x57d5dd!==_0x170c2d;},'zlDtR':function(_0x3c6421,_0x4f191b,_0x2e3ab8,_0x3e516d){return _0x3c6421(_0x4f191b,_0x2e3ab8,_0x3e516d);},'tlpWR':function(_0x45e9e4,_0x148bee){return _0x45e9e4===_0x148bee;},'NOjhF':_0x3144(0x3),'uvweE':_0x3144(0x4),'EnJNp':function(_0x3754c5,_0x2c9892){return _0x3754c5&&_0x2c9892;},'PKkqY':function(_0x5ac2b6,_0xe71720){return _0x5ac2b6===_0xe71720;},'KScWn':_0x3144(0x5),'DSHjp':function(_0x5e41d8,_0x314019){return _0x5e41d8!=_0x314019;},'nnOHF':_0x3144(0x6),'XeUCX':'ehAqq','nPUtH':_0x3144(0x7),'TvyVF':function(_0x23ba60,_0x3c3028,_0x10c3f9,_0x47832f){return _0x23ba60(_0x3c3028,_0x10c3f9,_0x47832f);}};if(_0x133bd1['nnOHF']==typeof WeakMap)var _0x1e74f1=new WeakMap(),_0x11070e=new WeakMap();return(_interopRequireWildcard=function(_0x4584c8,_0x3bee9d){if(_0x133bd1[_0x3144(0x8)](_0x133bd1[_0x3144(0x9)],_0x133bd1[_0x3144(0xa)]))_0x133bd1['ZytTW'](_0xef7915,_0x3144(0xb));else{if(_0x133bd1[_0x3144(0xc)](!_0x3bee9d,_0x4584c8)&&_0x4584c8[_0x3144(0x1)])return _0x4584c8;var _0x463743,_0xe68f89,_0x484a49={'__proto__':null,'default':_0x4584c8};if(_0x133bd1[_0x3144(0xd)](null,_0x4584c8)||_0x133bd1[_0x3144(0xe)]!=typeof _0x4584c8&&_0x133bd1[_0x3144(0xf)](_0x133bd1[_0x3144(0x10)],typeof _0x4584c8))return _0x484a49;if(_0x463743=_0x3bee9d?_0x11070e:_0x1e74f1){if(_0x133bd1[_0x3144(0x11)]===_0x133bd1['XeUCX']){if(_0x463743[_0x3144(0x12)](_0x4584c8))return _0x463743['get'](_0x4584c8);_0x463743[_0x3144(0x13)](_0x4584c8,_0x484a49);}else{if(!_0x40292b&&_0x5705fb&&_0x3269bd['__esModule'])return _0x3ae241;var _0x477ad9,_0x22637a,_0x30c6bb={'__proto__':null,'default':_0xc0aee9};if(_0x133bd1[_0x3144(0x14)](null,_0x17b68b)||_0x133bd1[_0x3144(0x15)](_0x3144(0x5),typeof _0x3458be)&&_0x3144(0x6)!=typeof _0x5b2173)return _0x30c6bb;if(_0x477ad9=_0x62ea43?_0x5e15a9:_0x56b9e4){if(_0x477ad9[_0x3144(0x12)](_0x1faae9))return _0x477ad9[_0x3144(0x16)](_0x5100de);_0x477ad9[_0x3144(0x13)](_0x5e5cc2,_0x30c6bb);}for(const _0x44a9fa in _0x314758)_0x133bd1[_0x3144(0x17)](_0x3144(0x7),_0x44a9fa)&&{}['hasOwnProperty']['call'](_0x3b1fbb,_0x44a9fa)&&((_0x22637a=(_0x477ad9=_0x363d6f['defineProperty'])&&_0x3cbae6[_0x3144(0x18)](_0x46c51c,_0x44a9fa))&&(_0x22637a[_0x3144(0x16)]||_0x22637a[_0x3144(0x13)])?_0x133bd1['zlDtR'](_0x477ad9,_0x30c6bb,_0x44a9fa,_0x22637a):_0x30c6bb[_0x44a9fa]=_0x201458[_0x44a9fa]);return _0x30c6bb;}}for(const _0x74c559 in _0x4584c8)_0x133bd1[_0x3144(0x19)]!==_0x74c559&&{}[_0x3144(0x1a)][_0x3144(0x1b)](_0x4584c8,_0x74c559)&&((_0xe68f89=(_0x463743=Object[_0x3144(0x0)])&&Object['getOwnPropertyDescriptor'](_0x4584c8,_0x74c559))&&(_0xe68f89[_0x3144(0x16)]||_0xe68f89[_0x3144(0x13)])?_0x133bd1['TvyVF'](_0x463743,_0x484a49,_0x74c559,_0xe68f89):_0x484a49[_0x74c559]=_0x4584c8[_0x74c559]);return _0x484a49;}})(_0x29f97d,_0x401f46);}const OnairosSignInButton=({AppName:_0x45d5b7,buttonWidth:buttonWidth=0x118,buttonHeight:buttonHeight=0x2c,color:color='#D4A536',textColor:textColor=_0x3144(0x1c),onResolved:_0x1bf748,onRejection:_0x339462,autoFocusEmailInput:autoFocusEmailInput=!![]})=>{const _0x48ba1e={'ysMnx':function(_0x49d469,_0x48d993,_0x5050f4){return _0x49d469(_0x48d993,_0x5050f4);},'BkqPp':_0x3144(0x1d),'dXaPM':_0x3144(0x1e),'gqBuo':_0x3144(0x1f),'mqRqx':function(_0x2e6635,_0x46041f){return _0x2e6635===_0x46041f;},'HvjNq':'cixTz','fQjjC':_0x3144(0x20),'XqvsB':_0x3144(0x21),'wxhsa':_0x3144(0x22),'Shzqn':function(_0x3d10ef,_0x20f139){return _0x3d10ef(_0x20f139);},'CARyu':_0x3144(0x23),'AbUjS':'user_email','Evrmy':_0x3144(0x24),'BINTe':'PXrRP','YFmgI':function(_0x5c0505,_0x3635ed){return _0x5c0505(_0x3635ed);},'SmZBb':function(_0x459897,_0x555505){return _0x459897(_0x555505);},'aUTDS':_0x3144(0xb),'uNdrs':function(_0x12b04c,_0x147fb8){return _0x12b04c||_0x147fb8;},'RubQt':function(_0x8f7abb,_0x3c38b3,_0x23f881){return _0x8f7abb(_0x3c38b3,_0x23f881);},'dJxDo':function(_0x1cf6db,_0xef85fd){return _0x1cf6db===_0xef85fd;},'zCqKn':_0x3144(0x25),'WgpQp':_0x3144(0x26),'etUsO':_0x3144(0x27),'Ssixz':'contain','SEthq':'Sign\x20in\x20with\x20Onairos'},[_0x1175c3,_0x40bc4b]=(0x0,_react[_0x3144(0x28)])(![]),[_0x364e08,_0x2a1c54]=(0x0,_react[_0x3144(0x28)])(''),_0x32bee7=(0x0,_react[_0x3144(0x29)])((_0x40a870,_0xa52161)=>{const _0x233977={'pFUHO':function(_0x5a384d,_0x3ed1f0,_0x5f2a2d){return _0x48ba1e[_0x3144(0x2a)](_0x5a384d,_0x3ed1f0,_0x5f2a2d);},'puxbF':_0x48ba1e[_0x3144(0x2b)],'xGkQW':_0x3144(0x24),'iGKKV':_0x48ba1e[_0x3144(0x2c)],'oXMkg':function(_0x55e02d,_0xa8fa1a){return _0x55e02d===_0xa8fa1a;},'ImBWs':_0x48ba1e[_0x3144(0x2d)]};if(_0x48ba1e[_0x3144(0x2e)](_0x48ba1e[_0x3144(0x2f)],_0x48ba1e[_0x3144(0x30)])){if(_0x2639f9)_0x242d14['log']('🔑\x20Received\x20JWT\x20token\x20from\x20WelcomeScreen,\x20completing\x20sign-in'),_0x367e04[_0x3144(0x7)][_0x3144(0x31)](_0x3144(0x32))[_0x3144(0x33)](_0x210f48=>{const _0x431920=_0x54011c||_0x210f48||_0x5d8270;_0x3498f0[_0x3144(0x34)]('🔑\x20OnairosSignInButton:\x20Returning\x20JWT\x20token\x20with\x20email:',_0x431920),_0x233977[_0x3144(0x35)](_0x1d1299,_0x516dfb,_0x431920);});else{_0x40e268['log'](_0x233977[_0x3144(0x36)]);const _0x4310f1=_0x5f265e||_0x4bde3d;_0x58771a[_0x3144(0x34)](_0x233977['xGkQW'],_0x4310f1),_0x301c31(_0x6646e3,_0x4310f1);}}else{console[_0x3144(0x34)](_0x48ba1e[_0x3144(0x37)],{'token':_0x40a870,'email':_0xa52161});const _0xb0b10a=_0x40a870&&_0x40a870[_0x3144(0x38)]('.')&&_0x40a870['split']('.')[_0x3144(0x39)]===0x3;console[_0x3144(0x34)](_0x48ba1e['wxhsa'],_0xb0b10a),_0x48ba1e[_0x3144(0x3a)](_0x40bc4b,![]);if(_0x1bf748){if(_0xb0b10a)console[_0x3144(0x34)](_0x48ba1e[_0x3144(0x3b)]),_asyncStorage[_0x3144(0x7)]['getItem'](_0x48ba1e['AbUjS'])[_0x3144(0x33)](_0x1fd2a7=>{const _0x3804a7={'trjZz':_0x233977[_0x3144(0x3c)],'pwbQu':function(_0x225dc8,_0xbd6d44,_0x4682b6){return _0x233977['pFUHO'](_0x225dc8,_0xbd6d44,_0x4682b6);}};if(_0x233977['oXMkg'](_0x233977[_0x3144(0x3d)],_0x3144(0x3e))){const _0xed1875=_0x165b75||_0x8c8341||_0x4eec89;_0x44b58c[_0x3144(0x34)](_0x3804a7[_0x3144(0x3f)],_0xed1875),_0x3804a7[_0x3144(0x40)](_0x10b3f5,_0x438aec,_0xed1875);}else{const _0x21af66=_0xa52161||_0x1fd2a7||_0x364e08;console[_0x3144(0x34)](_0x233977[_0x3144(0x3c)],_0x21af66),_0x233977[_0x3144(0x35)](_0x1bf748,_0x40a870,_0x21af66);}});else{console[_0x3144(0x34)](_0x3144(0x1d));const _0x270ef3=_0xa52161||_0x364e08;console[_0x3144(0x34)](_0x48ba1e['Evrmy'],_0x270ef3),_0x1bf748(_0x40a870,_0x270ef3);}}}},[_0x1bf748,_0x364e08]),_0x3ed990=(0x0,_react['useCallback'])(()=>{if(_0x48ba1e['BINTe']!==_0x3144(0x41))_0x48ba1e[_0x3144(0x42)](_0x40bc4b,![]),_0x339462&&_0x48ba1e[_0x3144(0x43)](_0x339462,_0x48ba1e[_0x3144(0x44)]);else{if(_0xdc9735['has'](_0x106424))return _0xd1e938['get'](_0x2074e0);_0x55d0fa[_0x3144(0x13)](_0x59f92b,_0x5d65a2);}},[_0x339462]);return _react[_0x3144(0x7)][_0x3144(0x45)](_reactNative['View'],{'style':styles[_0x3144(0x46)]},_react[_0x3144(0x7)][_0x3144(0x45)](_reactNative['TouchableOpacity'],{'style':[styles[_0x3144(0x47)],{'width':buttonWidth,'height':buttonHeight,'backgroundColor':color}],'onPress':()=>{if(_0x48ba1e[_0x3144(0x48)](_0x48ba1e[_0x3144(0x49)],_0x3144(0x4a))){const _0x4a9fa3={'erzGr':function(_0x5858a0,_0xe04253){return _0x48ba1e[_0x3144(0x4b)](_0x5858a0,_0xe04253);},'isbDL':_0x48ba1e[_0x3144(0x2c)],'BDlRc':function(_0x30eeb1,_0x4dfb9b,_0x2672e4){return _0x48ba1e[_0x3144(0x4c)](_0x30eeb1,_0x4dfb9b,_0x2672e4);}};_0x4e11c4[_0x3144(0x34)](_0x48ba1e[_0x3144(0x3b)]),_0x2b0562['default'][_0x3144(0x31)](_0x3144(0x32))[_0x3144(0x33)](_0x2da026=>{const _0x428522=_0x4a9fa3[_0x3144(0x4d)](_0x234908,_0x2da026)||_0x252bfe;_0x13de60[_0x3144(0x34)](_0x4a9fa3[_0x3144(0x4e)],_0x428522),_0x4a9fa3[_0x3144(0x4f)](_0x5518ec,_0x4ec29b,_0x428522);});}else console[_0x3144(0x34)](_0x48ba1e[_0x3144(0x50)]),(0x0,_haptics[_0x3144(0x51)])(_haptics[_0x3144(0x52)][_0x3144(0x53)]),_0x40bc4b(!![]),console[_0x3144(0x34)](_0x48ba1e[_0x3144(0x54)]);},'activeOpacity':0.85},_react[_0x3144(0x7)][_0x3144(0x45)](_reactNative[_0x3144(0x55)],{'style':styles[_0x3144(0x56)]},_react[_0x3144(0x7)][_0x3144(0x45)](_reactNative[_0x3144(0x57)],{'source':_assetRegistry['BRAND_IMAGES']['onairosLogoAlt'],'style':styles[_0x3144(0x58)],'resizeMode':_0x48ba1e['Ssixz'],'accessibilityLabel':'Onairos\x20logo'}),_react[_0x3144(0x7)]['createElement'](_reactNative[_0x3144(0x59)],{'style':[styles['buttonText'],{'color':textColor}]},_0x48ba1e[_0x3144(0x5a)]))),_react[_0x3144(0x7)][_0x3144(0x45)](_WelcomeScreen[_0x3144(0x7)],{'visible':_0x1175c3,'onClose':_0x3ed990,'onComplete':_0x32bee7}));};exports[_0x3144(0x2)]=OnairosSignInButton;const styles=_reactNative[_0x3144(0x5b)][_0x3144(0x5c)]({'button':{'borderRadius':0x18,'justifyContent':_0x3144(0x5d),'alignItems':_0x3144(0x5d),'shadowColor':_0x3144(0x1c),'shadowOffset':{'width':0x0,'height':0x2},'shadowOpacity':0.1,'shadowRadius':0x4,'elevation':0x2,'marginVertical':0x8},'contentRow':{'flexDirection':_0x3144(0x5e),'alignItems':_0x3144(0x5d),'justifyContent':_0x3144(0x5d)},'logo':{'width':0x1a,'height':0x1a,'marginRight':0xa},'buttonText':{'fontSize':0x10,'fontWeight':_0x3144(0x5f),'textAlign':_0x3144(0x5d)},'container':{}});
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OnairosSignInButton = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
10
+ var _WelcomeScreen = _interopRequireDefault(require("./WelcomeScreen"));
11
+ var _haptics = require("../utils/haptics");
12
+ var _assetRegistry = require("../utils/assetRegistry");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ const OnairosSignInButton = ({
16
+ AppName,
17
+ buttonWidth = 280,
18
+ buttonHeight = 44,
19
+ color = '#D4A536',
20
+ textColor = '#000',
21
+ onResolved,
22
+ onRejection,
23
+ autoFocusEmailInput = true
24
+ }) => {
25
+ const [showWelcomeScreen, setShowWelcomeScreen] = (0, _react.useState)(false);
26
+ const [userEmail, setUserEmail] = (0, _react.useState)('');
27
+ const handleWelcomeComplete = (0, _react.useCallback)((token, email) => {
28
+ console.log('🔍 OnairosSignInButton: handleWelcomeComplete called with:', {
29
+ token,
30
+ email
31
+ });
32
+
33
+ // Check if we received a JWT token (real authentication) or just a placeholder token
34
+ const isJWTToken = token && token.includes('.') && token.split('.').length === 3;
35
+ console.log('🔍 OnairosSignInButton: Is JWT token?', isJWTToken);
36
+
37
+ // Close the welcome screen
38
+ setShowWelcomeScreen(false);
39
+ if (onResolved) {
40
+ // For JWT tokens, use the provided email or get from storage
41
+ if (isJWTToken) {
42
+ console.log('🔑 Received JWT token from WelcomeScreen, completing sign-in');
43
+ _asyncStorage.default.getItem('user_email').then(storedEmail => {
44
+ const emailToUse = email || storedEmail || userEmail;
45
+ console.log('🔑 OnairosSignInButton: Returning JWT token with email:', emailToUse);
46
+ onResolved(token, emailToUse);
47
+ });
48
+ } else {
49
+ // For placeholder tokens, still complete the flow with the provided email
50
+ console.log('🔑 Received placeholder token from WelcomeScreen, completing sign-in');
51
+ const emailToUse = email || userEmail;
52
+ console.log('🔑 OnairosSignInButton: Returning token with email:', emailToUse);
53
+ onResolved(token, emailToUse);
54
+ }
55
+ }
56
+ }, [onResolved, userEmail]);
57
+ const handleWelcomeCancel = (0, _react.useCallback)(() => {
58
+ setShowWelcomeScreen(false);
59
+ if (onRejection) {
60
+ onRejection('User closed welcome screen');
61
+ }
62
+ }, [onRejection]);
63
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
64
+ style: styles.container
65
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
66
+ style: [styles.button, {
67
+ width: buttonWidth,
68
+ height: buttonHeight,
69
+ backgroundColor: color
70
+ }],
71
+ onPress: () => {
72
+ console.log('🔘 OnairosSignInButton pressed, showing WelcomeScreen');
73
+ (0, _haptics.triggerHaptic)(_haptics.HapticType.BUTTON_PRESS);
74
+ setShowWelcomeScreen(true);
75
+ console.log('🔘 showWelcomeScreen state set to true');
76
+ },
77
+ activeOpacity: 0.85
78
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
79
+ style: styles.contentRow
80
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
81
+ source: _assetRegistry.BRAND_IMAGES.onairosLogoAlt,
82
+ style: styles.logo,
83
+ resizeMode: "contain",
84
+ accessibilityLabel: "Onairos logo"
85
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
86
+ style: [styles.buttonText, {
87
+ color: textColor
88
+ }]
89
+ }, "Sign in with Onairos"))), /*#__PURE__*/_react.default.createElement(_WelcomeScreen.default, {
90
+ visible: showWelcomeScreen,
91
+ onClose: handleWelcomeCancel,
92
+ onComplete: handleWelcomeComplete
93
+ }));
94
+ };
95
+ exports.OnairosSignInButton = OnairosSignInButton;
96
+ const styles = _reactNative.StyleSheet.create({
97
+ button: {
98
+ borderRadius: 24,
99
+ justifyContent: 'center',
100
+ alignItems: 'center',
101
+ shadowColor: '#000',
102
+ shadowOffset: {
103
+ width: 0,
104
+ height: 2
105
+ },
106
+ shadowOpacity: 0.1,
107
+ shadowRadius: 4,
108
+ elevation: 2,
109
+ marginVertical: 8
110
+ },
111
+ contentRow: {
112
+ flexDirection: 'row',
113
+ alignItems: 'center',
114
+ justifyContent: 'center'
115
+ },
116
+ logo: {
117
+ width: 26,
118
+ height: 26,
119
+ marginRight: 10
120
+ },
121
+ buttonText: {
122
+ fontSize: 16,
123
+ fontWeight: '600',
124
+ textAlign: 'center'
125
+ },
126
+ container: {
127
+ // Add any necessary styles for the container
128
+ }
129
+ });
130
+ //# sourceMappingURL=OnairosSignInButton.js.map