@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,10 +1,137 @@
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-vector-icons/MaterialIcons"),
7
- require("../constants")
8
- ];
9
- function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
10
- function _0xe166(_0x5eaf06,_0xe1661f){_0x5eaf06=_0x5eaf06-0x0;var _0x31775d=_0x5eaf();var _0x459e35=_0x31775d[_0x5eaf06];return _0x459e35;}Object[_0xe166(0x0)](exports,_0xe166(0x1),{'value':!![]}),exports['PlatformList']=void 0x0;var _react=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_MaterialIcons=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2)),_constants=__ONAIROS_REQ_FUNC__(0x3);function _interopRequireDefault(_0x4f8c08){return _0x4f8c08&&_0x4f8c08[_0xe166(0x1)]?_0x4f8c08:{'default':_0x4f8c08};}const PlatformList=({connections:_0x319157,onToggle:_0x1d5af0,isLoading:_0x93fc4e,canProceed:_0x12659d,onProceed:_0x1318f9})=>{var _0x5679b5={'SzXis':_0xe166(0x2),'FIcMq':_0xe166(0x3),'lMJTh':_0xe166(0x4),'URoSA':_0xe166(0x5),'bajaR':_0xe166(0x6)};const _0x434dac=(_0x5262c7,_0x502907)=>{const _0x1de79f=_constants[_0xe166(0x7)][_0x5262c7];if(!_0x1de79f)return null;return _react['default'][_0xe166(0x8)](_reactNative[_0xe166(0x9)],{'key':_0x5262c7,'style':styles[_0xe166(0xa)]},_react[_0xe166(0xb)][_0xe166(0x8)](_reactNative[_0xe166(0x9)],{'style':styles[_0xe166(0xc)]},_react[_0xe166(0xb)][_0xe166(0x8)](_MaterialIcons['default'],{'name':_0x1de79f[_0xe166(0xd)],'size':0x18,'color':_0x1de79f[_0xe166(0xe)]}),_react[_0xe166(0xb)][_0xe166(0x8)](_reactNative['Text'],{'style':styles[_0xe166(0xf)]},_0x1de79f[_0xe166(0x10)])),_0x1de79f['description']&&_react['default']['createElement'](_reactNative['Text'],{'style':styles[_0xe166(0x11)]},_0x1de79f[_0xe166(0x12)]),_react[_0xe166(0xb)][_0xe166(0x8)](_reactNative['TouchableOpacity'],{'style':[styles[_0xe166(0x13)],_0x502907?styles[_0xe166(0x14)]:styles[_0xe166(0x15)]],'onPress':()=>_0x1d5af0(_0x5262c7,!_0x502907),'disabled':_0x93fc4e},_0x93fc4e?_react[_0xe166(0xb)][_0xe166(0x8)](_reactNative[_0xe166(0x16)],{'color':_0x5679b5['SzXis']}):_react['default'][_0xe166(0x8)](_reactNative[_0xe166(0x17)],{'style':styles[_0xe166(0x18)]},_0x502907?_0x5679b5[_0xe166(0x19)]:_0x5679b5[_0xe166(0x1a)])));};return _react[_0xe166(0xb)][_0xe166(0x8)](_reactNative[_0xe166(0x9)],{'style':styles[_0xe166(0x1b)]},_react['default'][_0xe166(0x8)](_reactNative['Text'],{'style':styles['title']},_0x5679b5[_0xe166(0x1c)]),_react[_0xe166(0xb)][_0xe166(0x8)](_reactNative[_0xe166(0x17)],{'style':styles[_0xe166(0x1d)]},_0x5679b5[_0xe166(0x1e)]),_react[_0xe166(0xb)][_0xe166(0x8)](_reactNative[_0xe166(0x9)],{'style':styles[_0xe166(0x1f)]},Object[_0xe166(0x20)](_0x319157)['map'](([_0x25eceb,_0x5af643])=>_0x434dac(_0x25eceb,!!_0x5af643))),_react[_0xe166(0xb)][_0xe166(0x8)](_reactNative['TouchableOpacity'],{'style':[styles['proceedButton'],!_0x12659d&&styles[_0xe166(0x21)]],'onPress':_0x1318f9,'disabled':!_0x12659d||_0x93fc4e},_react[_0xe166(0xb)][_0xe166(0x8)](_reactNative['Text'],{'style':styles[_0xe166(0x22)]},_0xe166(0x23))));};exports['PlatformList']=PlatformList;const styles=_reactNative[_0xe166(0x24)][_0xe166(0x25)]({'container':{'flex':0x1,'padding':0x10},'title':{'fontSize':0x14,'fontWeight':_0xe166(0x26),'marginBottom':0x8,'color':_constants[_0xe166(0x27)]['text'][_0xe166(0x28)]},'subtitle':{'fontSize':0xe,'color':_constants['COLORS'][_0xe166(0x29)][_0xe166(0x2a)],'marginBottom':0x18},'platformsList':{'flex':0x1},'platformContainer':{'backgroundColor':'#fff','borderRadius':0xc,'padding':0x10,'marginBottom':0x10,'borderWidth':0x1,'borderColor':_constants['COLORS'][_0xe166(0x2b)]},'platformHeader':{'flexDirection':'row','alignItems':_0xe166(0x2c),'marginBottom':0x8},'platformName':{'fontSize':0x10,'fontWeight':_0xe166(0x26),'marginLeft':0xc,'color':_constants[_0xe166(0x27)][_0xe166(0x29)][_0xe166(0x28)]},'platformDescription':{'fontSize':0xe,'color':_constants[_0xe166(0x27)][_0xe166(0x29)][_0xe166(0x2a)],'marginBottom':0x10},'connectButton':{'paddingVertical':0x8,'paddingHorizontal':0x10,'borderRadius':0x8,'alignItems':_0xe166(0x2c)},'connectedButton':{'backgroundColor':_constants[_0xe166(0x27)][_0xe166(0x2d)]},'disconnectedButton':{'backgroundColor':_constants['COLORS']['primary']},'buttonText':{'color':_0xe166(0x2),'fontWeight':_0xe166(0x26)},'proceedButton':{'backgroundColor':_constants[_0xe166(0x27)][_0xe166(0x28)],'paddingVertical':0x10,'borderRadius':0xc,'alignItems':'center','marginTop':0x10},'disabledButton':{'opacity':0.5},'proceedButtonText':{'color':'#fff','fontSize':0x10,'fontWeight':'600'}});function _0x5eaf(){var _0x8bf9f2=['defineProperty','__esModule','#fff','Disconnect','Connect','Connect\x20your\x20platforms','Connect\x20at\x20least\x202\x20platforms\x20to\x20proceed','PLATFORMS','createElement','View','platformContainer','default','platformHeader','icon','color','platformName','name','platformDescription','description','connectButton','connectedButton','disconnectedButton','ActivityIndicator','Text','buttonText','FIcMq','lMJTh','container','URoSA','subtitle','bajaR','platformsList','entries','disabledButton','proceedButtonText','Proceed','StyleSheet','create','600','COLORS','primary','text','secondary','border','center','success'];_0x5eaf=function(){return _0x8bf9f2;};return _0x5eaf();}
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PlatformList = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _MaterialIcons = _interopRequireDefault(require("react-native-vector-icons/MaterialIcons"));
10
+ var _constants = require("../constants");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const PlatformList = ({
13
+ connections,
14
+ onToggle,
15
+ isLoading,
16
+ canProceed,
17
+ onProceed
18
+ }) => {
19
+ const renderPlatformItem = (platform, isConnected) => {
20
+ const platformConfig = _constants.PLATFORMS[platform];
21
+ if (!platformConfig) return null;
22
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
23
+ key: platform,
24
+ style: styles.platformContainer
25
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
26
+ style: styles.platformHeader
27
+ }, /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
28
+ name: platformConfig.icon,
29
+ size: 24,
30
+ color: platformConfig.color
31
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
32
+ style: styles.platformName
33
+ }, platformConfig.name)), platformConfig.description && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
34
+ style: styles.platformDescription
35
+ }, platformConfig.description), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
36
+ style: [styles.connectButton, isConnected ? styles.connectedButton : styles.disconnectedButton],
37
+ onPress: () => onToggle(platform, !isConnected),
38
+ disabled: isLoading
39
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
40
+ color: "#fff"
41
+ }) : /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
42
+ style: styles.buttonText
43
+ }, isConnected ? 'Disconnect' : 'Connect')));
44
+ };
45
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
46
+ style: styles.container
47
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
48
+ style: styles.title
49
+ }, "Connect your platforms"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
50
+ style: styles.subtitle
51
+ }, "Connect at least 2 platforms to proceed"), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
52
+ style: styles.platformsList
53
+ }, Object.entries(connections).map(([platform, status]) => renderPlatformItem(platform, !!status))), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
54
+ style: [styles.proceedButton, !canProceed && styles.disabledButton],
55
+ onPress: onProceed,
56
+ disabled: !canProceed || isLoading
57
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
58
+ style: styles.proceedButtonText
59
+ }, "Proceed")));
60
+ };
61
+ exports.PlatformList = PlatformList;
62
+ const styles = _reactNative.StyleSheet.create({
63
+ container: {
64
+ flex: 1,
65
+ padding: 16
66
+ },
67
+ title: {
68
+ fontSize: 20,
69
+ fontWeight: '600',
70
+ marginBottom: 8,
71
+ color: _constants.COLORS.text.primary
72
+ },
73
+ subtitle: {
74
+ fontSize: 14,
75
+ color: _constants.COLORS.text.secondary,
76
+ marginBottom: 24
77
+ },
78
+ platformsList: {
79
+ flex: 1
80
+ },
81
+ platformContainer: {
82
+ backgroundColor: '#fff',
83
+ borderRadius: 12,
84
+ padding: 16,
85
+ marginBottom: 16,
86
+ borderWidth: 1,
87
+ borderColor: _constants.COLORS.border
88
+ },
89
+ platformHeader: {
90
+ flexDirection: 'row',
91
+ alignItems: 'center',
92
+ marginBottom: 8
93
+ },
94
+ platformName: {
95
+ fontSize: 16,
96
+ fontWeight: '600',
97
+ marginLeft: 12,
98
+ color: _constants.COLORS.text.primary
99
+ },
100
+ platformDescription: {
101
+ fontSize: 14,
102
+ color: _constants.COLORS.text.secondary,
103
+ marginBottom: 16
104
+ },
105
+ connectButton: {
106
+ paddingVertical: 8,
107
+ paddingHorizontal: 16,
108
+ borderRadius: 8,
109
+ alignItems: 'center'
110
+ },
111
+ connectedButton: {
112
+ backgroundColor: _constants.COLORS.success
113
+ },
114
+ disconnectedButton: {
115
+ backgroundColor: _constants.COLORS.primary
116
+ },
117
+ buttonText: {
118
+ color: '#fff',
119
+ fontWeight: '600'
120
+ },
121
+ proceedButton: {
122
+ backgroundColor: _constants.COLORS.primary,
123
+ paddingVertical: 16,
124
+ borderRadius: 12,
125
+ alignItems: 'center',
126
+ marginTop: 16
127
+ },
128
+ disabledButton: {
129
+ opacity: 0.5
130
+ },
131
+ proceedButtonText: {
132
+ color: '#fff',
133
+ fontSize: 16,
134
+ fontWeight: '600'
135
+ }
136
+ });
137
+ //# sourceMappingURL=PlatformList.js.map
@@ -1,9 +1,180 @@
1
- 'use strict';
2
- // Onairos SDK - Asset Registry (auto-generated)
3
- var __ONAIROS_REQ_REGISTRY__ = [
4
- require("react"),
5
- require("react-native"),
6
- require("../theme")
7
- ];
8
- function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
9
- Object['defineProperty'](exports,_0xcf47(0x0),{'value':!![]}),exports['default']=void 0x0;function _0xcf47(_0x10642a,_0xcf47ca){_0x10642a=_0x10642a-0x0;const _0x18d540=_0x1064();let _0x3ecd53=_0x18d540[_0x10642a];return _0x3ecd53;}var _react=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_theme=__ONAIROS_REQ_FUNC__(0x2);function _interopRequireDefault(_0x64f818){return _0x64f818&&_0x64f818[_0xcf47(0x0)]?_0x64f818:{'default':_0x64f818};}const PlatformToggle=({platform:_0x4933db,isEnabled:_0x27e1a8,onToggle:_0x43b4a6,compact:compact=![],isLast:isLast=![],fullWidth:fullWidth=![],customIconSize:_0x59c8b4,onLongPress:_0x110bad,onPressOut:_0x29f2ab})=>{const _0x26687b={'MUpXm':function(_0x1f3b6f,_0x226840,_0x1a4b8b){return _0x1f3b6f(_0x226840,_0x1a4b8b);},'blgbH':function(_0x1968ce,_0x2f250d){return _0x1968ce&&_0x2f250d;},'pRKGs':function(_0xa7b729,_0x4a7c53){return _0xa7b729-_0x4a7c53;},'hOIJF':function(_0x46c7ca,_0x518b2b){return _0x46c7ca-_0x518b2b;},'ZFDQw':_0xcf47(0x1),'deCqd':_0xcf47(0x2),'xwhWK':'#4CD964','UeUPy':function(_0x16a036,_0x4e6ec2){return _0x16a036===_0x4e6ec2;},'TXqwm':_0xcf47(0x3),'uZNzY':_0xcf47(0x4)},_0x1f52ac=()=>{_0x26687b[_0xcf47(0x5)](_0x43b4a6,_0x4933db['id'],!_0x27e1a8);},_0x51b7db=fullWidth?styles[_0xcf47(0x6)]:compact?styles[_0xcf47(0x7)]:styles[_0xcf47(0x8)];return _react[_0xcf47(0x9)]['createElement'](_reactNative['TouchableOpacity'],{'style':[_0x51b7db,_0x26687b['blgbH'](!isLast,compact)&&styles['borderBottom']],'onLongPress':_0x110bad,'onPressOut':_0x29f2ab,'activeOpacity':_0x110bad?0.7:0x1,'disabled':!_0x110bad},_react[_0xcf47(0x9)][_0xcf47(0xa)](_reactNative['View'],{'style':styles['topRow']},_react[_0xcf47(0x9)][_0xcf47(0xa)](_reactNative[_0xcf47(0xb)],{'style':styles[_0xcf47(0xc)]},_react[_0xcf47(0x9)]['createElement'](_reactNative[_0xcf47(0xd)],{'source':_0x4933db[_0xcf47(0xe)],'style':_0x59c8b4?{'width':_0x59c8b4,'height':_0x59c8b4,'marginRight':_0x26687b[_0xcf47(0xf)](0xc,_0x26687b[_0xcf47(0x10)](_0x59c8b4,0x1c))}:fullWidth?styles[_0xcf47(0x11)]:compact?styles['compactIcon']:styles[_0xcf47(0xe)],'resizeMode':_0x26687b[_0xcf47(0x12)]}),_react[_0xcf47(0x9)][_0xcf47(0xa)](_reactNative[_0xcf47(0xb)],{'style':styles[_0xcf47(0x13)]},_react[_0xcf47(0x9)][_0xcf47(0xa)](_reactNative['Text'],{'style':fullWidth?styles[_0xcf47(0x14)]:compact?styles[_0xcf47(0x14)]:styles[_0xcf47(0x15)]},_0x4933db['name']))),_react[_0xcf47(0x9)][_0xcf47(0xa)](_reactNative[_0xcf47(0x16)],{'value':_0x27e1a8,'onValueChange':_0x1f52ac,'trackColor':{'false':_0x26687b[_0xcf47(0x17)],'true':_0x26687b[_0xcf47(0x18)]},'thumbColor':_0x26687b[_0xcf47(0x19)](_reactNative[_0xcf47(0x1a)]['OS'],_0x26687b[_0xcf47(0x1b)])?undefined:_0x27e1a8?_0x26687b[_0xcf47(0x1c)]:_0x26687b[_0xcf47(0x1c)],'ios_backgroundColor':_0x26687b[_0xcf47(0x17)],'style':compact?styles['compactSwitch']:undefined})),fullWidth&&_react[_0xcf47(0x9)][_0xcf47(0xa)](_reactNative[_0xcf47(0xb)],{'style':styles[_0xcf47(0x1d)]},_react['default'][_0xcf47(0xa)](_reactNative[_0xcf47(0x1e)],{'style':styles[_0xcf47(0x1f)]},_0x4933db[_0xcf47(0x20)])),!fullWidth&&_react[_0xcf47(0x9)][_0xcf47(0xa)](_reactNative[_0xcf47(0x1e)],{'style':compact?styles[_0xcf47(0x21)]:styles[_0xcf47(0x20)]},_0x4933db['description']));},styles=_reactNative[_0xcf47(0x22)][_0xcf47(0x23)]({'container':{'flexDirection':_0xcf47(0x24),'alignItems':'center','justifyContent':_0xcf47(0x25),'paddingVertical':0x10,'paddingHorizontal':0x10,'backgroundColor':_theme['COLORS'][_0xcf47(0x26)],'borderRadius':0xc,'marginBottom':0xc,'borderWidth':0x1,'borderColor':_0xcf47(0x2)},'compactContainer':{'flexDirection':_0xcf47(0x24),'alignItems':_0xcf47(0x27),'justifyContent':_0xcf47(0x25),'paddingVertical':0x10,'paddingHorizontal':0x10,'backgroundColor':_theme[_0xcf47(0x28)][_0xcf47(0x26)]},'fullWidthContainer':{'flexDirection':_0xcf47(0x29),'paddingVertical':0x8,'paddingHorizontal':0x2,'backgroundColor':_theme['COLORS'][_0xcf47(0x26)],'marginBottom':0x4,'marginHorizontal':0x0},'topRow':{'flexDirection':'row','alignItems':'center','justifyContent':'space-between','marginBottom':0x4},'descriptionBox':{'backgroundColor':_0xcf47(0x2a),'borderRadius':0x8,'paddingVertical':0x8,'paddingHorizontal':0x4,'marginTop':0x2},'borderBottom':{'borderBottomWidth':0x1,'borderBottomColor':_0xcf47(0x2)},'leftContent':{'flexDirection':_0xcf47(0x24),'alignItems':_0xcf47(0x27),'flex':0x1},'icon':{'width':0x20,'height':0x20,'marginRight':0xc},'compactIcon':{'width':0x1c,'height':0x1c,'marginRight':0xc},'textContent':{'flex':0x1},'platformName':{'fontSize':0x10,'fontFamily':'Inter','fontWeight':_0xcf47(0x2b),'color':_theme[_0xcf47(0x28)][_0xcf47(0x2c)],'marginBottom':0x2},'compactPlatformName':{'fontSize':0x10,'fontFamily':_0xcf47(0x2d),'fontWeight':_0xcf47(0x2b),'color':_theme[_0xcf47(0x28)][_0xcf47(0x2c)],'marginBottom':0x2},'description':{'fontSize':0xe,'fontFamily':_0xcf47(0x2d),'fontWeight':_0xcf47(0x2e),'color':_theme[_0xcf47(0x28)]['grey600'],'lineHeight':0x14},'compactDescription':{'fontSize':0xc,'fontFamily':_0xcf47(0x2d),'fontWeight':_0xcf47(0x2e),'color':_theme['COLORS'][_0xcf47(0x2f)],'lineHeight':0x10},'fullWidthDescription':{'fontSize':0xd,'fontFamily':_0xcf47(0x2d),'fontWeight':_0xcf47(0x2e),'color':_theme[_0xcf47(0x28)][_0xcf47(0x2f)],'lineHeight':0x12},'compactSwitch':{'transform':[{'scaleX':0.9},{'scaleY':0.9}]}});function _0x1064(){const _0x13f715=['__esModule','contain','#E5E5E5','ios','#FFFFFF','MUpXm','fullWidthContainer','compactContainer','container','default','createElement','View','leftContent','Image','icon','pRKGs','hOIJF','compactIcon','ZFDQw','textContent','compactPlatformName','platformName','Switch','deCqd','xwhWK','UeUPy','Platform','TXqwm','uZNzY','descriptionBox','Text','fullWidthDescription','description','compactDescription','StyleSheet','create','row','space-between','surface','center','COLORS','column','#F5F5F5','600','grey800','Inter','400','grey600'];_0x1064=function(){return _0x13f715;};return _0x1064();}var _default=exports[_0xcf47(0x9)]=PlatformToggle;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("../theme");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const PlatformToggle = ({
12
+ platform,
13
+ isEnabled,
14
+ onToggle,
15
+ compact = false,
16
+ isLast = false,
17
+ fullWidth = false,
18
+ customIconSize,
19
+ onLongPress,
20
+ onPressOut
21
+ }) => {
22
+ const handleToggle = () => {
23
+ onToggle(platform.id, !isEnabled);
24
+ };
25
+ const containerStyle = fullWidth ? styles.fullWidthContainer : compact ? styles.compactContainer : styles.container;
26
+ return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
27
+ style: [containerStyle, !isLast && compact && styles.borderBottom],
28
+ onLongPress: onLongPress,
29
+ onPressOut: onPressOut,
30
+ activeOpacity: onLongPress ? 0.7 : 1.0,
31
+ disabled: !onLongPress
32
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
33
+ style: styles.topRow
34
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
35
+ style: styles.leftContent
36
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
37
+ source: platform.icon,
38
+ style: customIconSize ? {
39
+ width: customIconSize,
40
+ height: customIconSize,
41
+ marginRight: 12 - (customIconSize - 28) // Reduce margin more to align text properly
42
+ } : fullWidth ? styles.compactIcon : compact ? styles.compactIcon : styles.icon,
43
+ resizeMode: "contain"
44
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
45
+ style: styles.textContent
46
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
47
+ style: fullWidth ? styles.compactPlatformName : compact ? styles.compactPlatformName : styles.platformName
48
+ }, platform.name))), /*#__PURE__*/_react.default.createElement(_reactNative.Switch, {
49
+ value: isEnabled,
50
+ onValueChange: handleToggle,
51
+ trackColor: {
52
+ false: '#E5E5E5',
53
+ true: '#4CD964' // Green when enabled
54
+ },
55
+ thumbColor: _reactNative.Platform.OS === 'ios' ? undefined : isEnabled ? '#FFFFFF' : '#FFFFFF',
56
+ ios_backgroundColor: "#E5E5E5",
57
+ style: compact ? styles.compactSwitch : undefined
58
+ })), fullWidth && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
59
+ style: styles.descriptionBox
60
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
61
+ style: styles.fullWidthDescription
62
+ }, platform.description)), !fullWidth && /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
63
+ style: compact ? styles.compactDescription : styles.description
64
+ }, platform.description));
65
+ };
66
+ const styles = _reactNative.StyleSheet.create({
67
+ container: {
68
+ flexDirection: 'row',
69
+ alignItems: 'center',
70
+ justifyContent: 'space-between',
71
+ paddingVertical: 16,
72
+ paddingHorizontal: 16,
73
+ backgroundColor: _theme.COLORS.surface,
74
+ borderRadius: 12,
75
+ marginBottom: 12,
76
+ borderWidth: 1,
77
+ borderColor: '#E5E5E5'
78
+ },
79
+ compactContainer: {
80
+ flexDirection: 'row',
81
+ alignItems: 'center',
82
+ justifyContent: 'space-between',
83
+ paddingVertical: 16,
84
+ paddingHorizontal: 16,
85
+ backgroundColor: _theme.COLORS.surface
86
+ },
87
+ fullWidthContainer: {
88
+ flexDirection: 'column',
89
+ // Changed to column to stack rows
90
+ paddingVertical: 8,
91
+ // Reduced from 16 to bring platforms closer
92
+ paddingHorizontal: 2,
93
+ // Much closer to edges
94
+ backgroundColor: _theme.COLORS.surface,
95
+ marginBottom: 4,
96
+ // Reduced from 12 to bring platforms closer
97
+ marginHorizontal: 0 // Ensure it spans full width
98
+ },
99
+ topRow: {
100
+ flexDirection: 'row',
101
+ alignItems: 'center',
102
+ justifyContent: 'space-between',
103
+ marginBottom: 4 // Reduced space between icon row and description box
104
+ },
105
+ descriptionBox: {
106
+ backgroundColor: '#F5F5F5',
107
+ borderRadius: 8,
108
+ paddingVertical: 8,
109
+ // Reduced from 10 to make description box smaller
110
+ paddingHorizontal: 4,
111
+ // Much closer to edges
112
+ marginTop: 2 // Reduced from 4 to bring closer to icon row
113
+ },
114
+ borderBottom: {
115
+ borderBottomWidth: 1,
116
+ borderBottomColor: '#E5E5E5'
117
+ },
118
+ leftContent: {
119
+ flexDirection: 'row',
120
+ alignItems: 'center',
121
+ flex: 1
122
+ },
123
+ icon: {
124
+ width: 32,
125
+ height: 32,
126
+ marginRight: 12
127
+ },
128
+ compactIcon: {
129
+ width: 28,
130
+ height: 28,
131
+ marginRight: 12
132
+ },
133
+ textContent: {
134
+ flex: 1
135
+ },
136
+ platformName: {
137
+ fontSize: 16,
138
+ fontFamily: 'Inter',
139
+ fontWeight: '600',
140
+ color: _theme.COLORS.grey800,
141
+ marginBottom: 2
142
+ },
143
+ compactPlatformName: {
144
+ fontSize: 16,
145
+ fontFamily: 'Inter',
146
+ fontWeight: '600',
147
+ color: _theme.COLORS.grey800,
148
+ marginBottom: 2
149
+ },
150
+ description: {
151
+ fontSize: 14,
152
+ fontFamily: 'Inter',
153
+ fontWeight: '400',
154
+ color: _theme.COLORS.grey600,
155
+ lineHeight: 20
156
+ },
157
+ compactDescription: {
158
+ fontSize: 12,
159
+ fontFamily: 'Inter',
160
+ fontWeight: '400',
161
+ color: _theme.COLORS.grey600,
162
+ lineHeight: 16
163
+ },
164
+ fullWidthDescription: {
165
+ fontSize: 13,
166
+ fontFamily: 'Inter',
167
+ fontWeight: '400',
168
+ color: _theme.COLORS.grey600,
169
+ lineHeight: 18
170
+ },
171
+ compactSwitch: {
172
+ transform: [{
173
+ scaleX: 0.9
174
+ }, {
175
+ scaleY: 0.9
176
+ }]
177
+ }
178
+ });
179
+ var _default = exports.default = PlatformToggle;
180
+ //# sourceMappingURL=PlatformToggle.js.map
@@ -1,10 +1,180 @@
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("../theme")
8
- ];
9
- function __ONAIROS_REQ_FUNC__(i) { return __ONAIROS_REQ_REGISTRY__[i]; }
10
- Object[_0x1ed6(0x0)](exports,_0x1ed6(0x1),{'value':!![]}),exports[_0x1ed6(0x2)]=exports[_0x1ed6(0x3)]=exports[_0x1ed6(0x4)]=void 0x0;var _react=_interopRequireWildcard(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_reactNativeLinearGradient=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x2)),_theme=__ONAIROS_REQ_FUNC__(0x3);function _interopRequireDefault(_0xb7346d){return _0xb7346d&&_0xb7346d['__esModule']?_0xb7346d:{'default':_0xb7346d};}function _interopRequireWildcard(_0x41e1f3,_0x40591){const _0x50de07={'ybENN':function(_0x25e7c2,_0x41e5f5){return _0x25e7c2===_0x41e5f5;},'VcEkR':_0x1ed6(0x5),'VkmEX':function(_0x56e6ce,_0x242cbc){return _0x56e6ce&&_0x242cbc;},'bRRxl':function(_0x2776f5,_0x3c142e){return _0x2776f5!=_0x3c142e;},'faHZe':_0x1ed6(0x6),'ARupr':_0x1ed6(0x7),'jsiJc':function(_0x846416,_0x190eaa){return _0x846416!==_0x190eaa;},'Huizj':_0x1ed6(0x2),'CazfH':function(_0x455041,_0x4beed0,_0x546cde,_0x28755c){return _0x455041(_0x4beed0,_0x546cde,_0x28755c);},'zQoxs':function(_0x282923,_0xb2f016){return _0x282923==_0xb2f016;}};if(_0x50de07['zQoxs']('function',typeof WeakMap))var _0x1dedae=new WeakMap(),_0x525053=new WeakMap();return(_interopRequireWildcard=function(_0x43f1f2,_0x16ec33){if(_0x50de07[_0x1ed6(0x8)]('PDkbQ',_0x50de07[_0x1ed6(0x9)])){if(_0x2912b5[_0x1ed6(0xa)](_0x5f4427))return _0x4dd3c8[_0x1ed6(0xb)](_0x1f7f1d);_0x4fb192[_0x1ed6(0xc)](_0x1ef145,_0x1d2721);}else{if(_0x50de07[_0x1ed6(0xd)](!_0x16ec33,_0x43f1f2)&&_0x43f1f2[_0x1ed6(0x1)])return _0x43f1f2;var _0x1b002c,_0x49a823,_0x5b80bb={'__proto__':null,'default':_0x43f1f2};if(_0x50de07[_0x1ed6(0x8)](null,_0x43f1f2)||_0x50de07[_0x1ed6(0xe)](_0x50de07['faHZe'],typeof _0x43f1f2)&&_0x50de07[_0x1ed6(0xe)](_0x50de07[_0x1ed6(0xf)],typeof _0x43f1f2))return _0x5b80bb;if(_0x1b002c=_0x16ec33?_0x525053:_0x1dedae){if(_0x1b002c[_0x1ed6(0xa)](_0x43f1f2))return _0x1b002c[_0x1ed6(0xb)](_0x43f1f2);_0x1b002c['set'](_0x43f1f2,_0x5b80bb);}for(const _0x38c6b6 in _0x43f1f2)_0x50de07[_0x1ed6(0x10)](_0x50de07[_0x1ed6(0x11)],_0x38c6b6)&&{}[_0x1ed6(0x12)][_0x1ed6(0x13)](_0x43f1f2,_0x38c6b6)&&((_0x49a823=(_0x1b002c=Object[_0x1ed6(0x0)])&&Object[_0x1ed6(0x14)](_0x43f1f2,_0x38c6b6))&&(_0x49a823['get']||_0x49a823[_0x1ed6(0xc)])?_0x50de07['CazfH'](_0x1b002c,_0x5b80bb,_0x38c6b6,_0x49a823):_0x5b80bb[_0x38c6b6]=_0x43f1f2[_0x38c6b6]);return _0x5b80bb;}})(_0x41e1f3,_0x40591);}const IconCircle=({size:size=0x28,children:_0x4eaeda})=>{const _0x464132={'bwjsG':function(_0x48ca96,_0x52d003){return _0x48ca96/_0x52d003;}};return _react['default']['createElement'](_reactNative[_0x1ed6(0x15)],{'style':[styles['iconCircle'],{'width':size,'height':size,'borderRadius':_0x464132[_0x1ed6(0x16)](size,0x2)}]},_react[_0x1ed6(0x2)][_0x1ed6(0x17)](_reactNativeLinearGradient[_0x1ed6(0x2)],{'colors':[_theme[_0x1ed6(0x18)]['iconCircleGradientStart'],_theme['COLORS'][_0x1ed6(0x19)]],'style':[_reactNative['StyleSheet'][_0x1ed6(0x1a)],{'borderRadius':_0x464132[_0x1ed6(0x16)](size,0x2)}],'start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x1}}),_react[_0x1ed6(0x2)]['createElement'](_reactNative[_0x1ed6(0x15)],{'style':styles[_0x1ed6(0x1b)]},_0x4eaeda||_react[_0x1ed6(0x2)]['createElement'](_reactNative[_0x1ed6(0x1c)],{'style':styles[_0x1ed6(0x1d)]},'→')));};exports[_0x1ed6(0x4)]=IconCircle;const PrimaryButton=({label:label=_0x1ed6(0x1e),onPress:_0x5e373b,iconRight:_0x49c1e9,loading:loading=![],disabled:disabled=![],testID:_0xb9aed3,style:_0x59711b,textStyle:_0x5c5326})=>{const _0x5896a3={'IYFCz':'button','aItCC':_0x1ed6(0x1f)},[_0x1b99f6,_0x421be3]=(0x0,_react[_0x1ed6(0x20)])(![]),_0x132190=()=>_0x421be3(!![]),_0x35a568=()=>_0x421be3(![]);return _react['default'][_0x1ed6(0x17)](_reactNative[_0x1ed6(0x21)],{'style':[styles[_0x1ed6(0x22)],!disabled&&styles['outerShadow'],disabled&&styles['disabled'],_0x59711b],'onPress':_0x5e373b,'onPressIn':_0x132190,'onPressOut':_0x35a568,'disabled':disabled||loading,'activeOpacity':0x1,'testID':_0xb9aed3,'accessibilityLabel':label,'accessibilityRole':_0x5896a3[_0x1ed6(0x23)]},_react['default']['createElement'](_reactNativeLinearGradient['default'],{'colors':[_theme[_0x1ed6(0x18)]['btnGradStart'],_theme['COLORS']['btnGradEnd']],'style':styles['baseGradient'],'start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x1}}),_0x1b99f6&&_react[_0x1ed6(0x2)][_0x1ed6(0x17)](_reactNative['View'],{'style':styles['pressedOverlay']}),_react['default'][_0x1ed6(0x17)](_reactNative[_0x1ed6(0x15)],{'style':styles['textContainer']},loading?_react[_0x1ed6(0x2)][_0x1ed6(0x17)](_reactNative[_0x1ed6(0x24)],{'color':_theme[_0x1ed6(0x18)][_0x1ed6(0x25)],'size':_0x5896a3[_0x1ed6(0x26)]}):_react[_0x1ed6(0x2)][_0x1ed6(0x17)](_reactNative['Text'],{'style':[styles[_0x1ed6(0x27)],_0x5c5326]},label)),_react[_0x1ed6(0x2)]['createElement'](_reactNative[_0x1ed6(0x15)],{'style':styles[_0x1ed6(0x28)]},!loading&&(_0x49c1e9||_react['default'][_0x1ed6(0x17)](IconCircle,null))));};function _0x1381(){const _0x4ff6a0=['defineProperty','__esModule','default','PrimaryButton','IconCircle','VWKkK','object','function','ybENN','VcEkR','has','get','set','VkmEX','bRRxl','ARupr','jsiJc','Huizj','hasOwnProperty','call','getOwnPropertyDescriptor','View','bwjsG','createElement','COLORS','iconCircleGradientEnd','absoluteFill','iconContent','Text','arrowText','Get\x20Started','small','useState','TouchableOpacity','outerPill','IYFCz','ActivityIndicator','btnLabel','aItCC','label','iconPosition','StyleSheet','create','btnBorder','hidden','100%','relative','#000000','absoluteFillObject','rgba(0,0,0,0.1)','absolute','center','transparent','600'];_0x1381=function(){return _0x4ff6a0;};return _0x1381();}exports[_0x1ed6(0x3)]=PrimaryButton;const styles=_reactNative[_0x1ed6(0x29)][_0x1ed6(0x2a)]({'outerPill':{'height':0x30,'borderRadius':0x64,'borderWidth':0x1,'borderColor':_theme[_0x1ed6(0x18)][_0x1ed6(0x2b)],'overflow':_0x1ed6(0x2c),'width':_0x1ed6(0x2d),'position':_0x1ed6(0x2e)},'outerShadow':{'shadowColor':_0x1ed6(0x2f),'shadowOffset':{'width':0x14,'height':0x1e},'shadowOpacity':0.1,'shadowRadius':0x28,'elevation':0x8},'disabled':{'opacity':0.65,'shadowOpacity':0x0,'elevation':0x0},'baseGradient':{..._reactNative[_0x1ed6(0x29)]['absoluteFillObject'],'borderRadius':0x64},'pressedOverlay':{..._reactNative[_0x1ed6(0x29)][_0x1ed6(0x30)],'backgroundColor':_0x1ed6(0x31),'borderRadius':0x64},'textContainer':{'position':_0x1ed6(0x32),'left':0x0,'right':0x0,'top':0x0,'bottom':0x0,'justifyContent':_0x1ed6(0x33),'alignItems':_0x1ed6(0x33),'backgroundColor':_0x1ed6(0x34)},'iconPosition':{'position':'absolute','right':0x4,'top':0x4,'bottom':0x4,'width':0x28,'justifyContent':_0x1ed6(0x33),'alignItems':'center','backgroundColor':_0x1ed6(0x34)},'label':{'fontFamily':'Inter','fontWeight':_0x1ed6(0x35),'fontSize':0x10,'color':_theme[_0x1ed6(0x18)][_0x1ed6(0x25)],'textAlign':_0x1ed6(0x33),'backgroundColor':_0x1ed6(0x34)},'iconCircle':{'justifyContent':_0x1ed6(0x33),'alignItems':'center','borderWidth':0x1,'borderColor':'rgba(0,0,0,0.25)'},'iconContent':{'justifyContent':'center','alignItems':_0x1ed6(0x33),'backgroundColor':'transparent'},'arrowText':{'fontSize':0x14,'color':_theme[_0x1ed6(0x18)][_0x1ed6(0x25)],'fontWeight':'600','opacity':0.95,'backgroundColor':_0x1ed6(0x34)}});function _0x1ed6(_0x138192,_0x1ed6a7){_0x138192=_0x138192-0x0;const _0x16b4f7=_0x1381();let _0x907db7=_0x16b4f7[_0x138192];return _0x907db7;}var _default=exports[_0x1ed6(0x2)]=PrimaryButton;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.PrimaryButton = exports.IconCircle = 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 _theme = require("../theme");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ 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); }
13
+ const IconCircle = ({
14
+ size = 40,
15
+ children
16
+ }) => {
17
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
18
+ style: [styles.iconCircle, {
19
+ width: size,
20
+ height: size,
21
+ borderRadius: size / 2
22
+ }]
23
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeLinearGradient.default, {
24
+ colors: [_theme.COLORS.iconCircleGradientStart, _theme.COLORS.iconCircleGradientEnd],
25
+ style: [_reactNative.StyleSheet.absoluteFill, {
26
+ borderRadius: size / 2
27
+ }],
28
+ start: {
29
+ x: 0,
30
+ y: 0
31
+ },
32
+ end: {
33
+ x: 0,
34
+ y: 1
35
+ }
36
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
37
+ style: styles.iconContent
38
+ }, children || /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
39
+ style: styles.arrowText
40
+ }, "\u2192")));
41
+ };
42
+ exports.IconCircle = IconCircle;
43
+ const PrimaryButton = ({
44
+ label = "Get Started",
45
+ onPress,
46
+ iconRight,
47
+ loading = false,
48
+ disabled = false,
49
+ testID,
50
+ style,
51
+ textStyle
52
+ }) => {
53
+ const [pressed, setPressed] = (0, _react.useState)(false);
54
+ const handlePressIn = () => setPressed(true);
55
+ const handlePressOut = () => setPressed(false);
56
+ return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
57
+ style: [styles.outerPill, !disabled && styles.outerShadow, disabled && styles.disabled, style],
58
+ onPress: onPress,
59
+ onPressIn: handlePressIn,
60
+ onPressOut: handlePressOut,
61
+ disabled: disabled || loading,
62
+ activeOpacity: 1,
63
+ testID: testID,
64
+ accessibilityLabel: label,
65
+ accessibilityRole: "button"
66
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeLinearGradient.default, {
67
+ colors: [_theme.COLORS.btnGradStart, _theme.COLORS.btnGradEnd],
68
+ style: styles.baseGradient,
69
+ start: {
70
+ x: 0,
71
+ y: 0
72
+ },
73
+ end: {
74
+ x: 0,
75
+ y: 1
76
+ }
77
+ }), pressed && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
78
+ style: styles.pressedOverlay
79
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
80
+ style: styles.textContainer
81
+ }, loading ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
82
+ color: _theme.COLORS.btnLabel,
83
+ size: "small"
84
+ }) : /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
85
+ style: [styles.label, textStyle]
86
+ }, label)), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
87
+ style: styles.iconPosition
88
+ }, !loading && (iconRight || /*#__PURE__*/_react.default.createElement(IconCircle, null))));
89
+ };
90
+ exports.PrimaryButton = PrimaryButton;
91
+ const styles = _reactNative.StyleSheet.create({
92
+ // Outer pill container - owns all backgrounds, border, shadow
93
+ outerPill: {
94
+ height: 48,
95
+ borderRadius: 100,
96
+ borderWidth: 1,
97
+ borderColor: _theme.COLORS.btnBorder,
98
+ // ≈20% black
99
+ overflow: 'hidden',
100
+ width: '100%',
101
+ position: 'relative'
102
+ },
103
+ outerShadow: {
104
+ // Outer shadow: 20px 30px 40px rgba(0,0,0,0.10)
105
+ shadowColor: '#000000',
106
+ shadowOffset: {
107
+ width: 20,
108
+ height: 30
109
+ },
110
+ shadowOpacity: 0.10,
111
+ shadowRadius: 40,
112
+ elevation: 8
113
+ },
114
+ disabled: {
115
+ opacity: 0.65,
116
+ shadowOpacity: 0,
117
+ elevation: 0
118
+ },
119
+ // Single base gradient - fills entire button
120
+ baseGradient: {
121
+ ..._reactNative.StyleSheet.absoluteFillObject,
122
+ borderRadius: 100
123
+ },
124
+ pressedOverlay: {
125
+ ..._reactNative.StyleSheet.absoluteFillObject,
126
+ backgroundColor: 'rgba(0,0,0,0.1)',
127
+ borderRadius: 100
128
+ },
129
+ // Absolutely centered text container
130
+ textContainer: {
131
+ position: 'absolute',
132
+ left: 0,
133
+ right: 0,
134
+ top: 0,
135
+ bottom: 0,
136
+ justifyContent: 'center',
137
+ alignItems: 'center',
138
+ backgroundColor: 'transparent'
139
+ },
140
+ // Fixed icon position on right
141
+ iconPosition: {
142
+ position: 'absolute',
143
+ right: 4,
144
+ top: 4,
145
+ bottom: 4,
146
+ width: 40,
147
+ justifyContent: 'center',
148
+ alignItems: 'center',
149
+ backgroundColor: 'transparent'
150
+ },
151
+ label: {
152
+ fontFamily: 'Inter',
153
+ fontWeight: '600',
154
+ fontSize: 16,
155
+ color: _theme.COLORS.btnLabel,
156
+ textAlign: 'center',
157
+ backgroundColor: 'transparent' // Must be transparent
158
+ },
159
+ // IconCircle styles - ONLY child with background
160
+ iconCircle: {
161
+ justifyContent: 'center',
162
+ alignItems: 'center',
163
+ borderWidth: 1,
164
+ borderColor: 'rgba(0,0,0,0.25)'
165
+ },
166
+ iconContent: {
167
+ justifyContent: 'center',
168
+ alignItems: 'center',
169
+ backgroundColor: 'transparent'
170
+ },
171
+ arrowText: {
172
+ fontSize: 20,
173
+ color: _theme.COLORS.btnLabel,
174
+ fontWeight: '600',
175
+ opacity: 0.95,
176
+ backgroundColor: 'transparent'
177
+ }
178
+ });
179
+ var _default = exports.default = PrimaryButton;
180
+ //# sourceMappingURL=PrimaryButton.js.map