@onairos/react-native 3.7.1 → 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 (241) hide show
  1. package/lib/commonjs/api/index.js +219 -9
  2. package/lib/commonjs/assets/icons/spotify.png +0 -0
  3. package/lib/commonjs/assets/images/spotify.png +0 -0
  4. package/lib/commonjs/components/BodyText.js +27 -9
  5. package/lib/commonjs/components/BrandMark.js +111 -10
  6. package/lib/commonjs/components/CodeInput.js +116 -9
  7. package/lib/commonjs/components/EmailInput.js +30 -8
  8. package/lib/commonjs/components/GoogleButton.js +56 -9
  9. package/lib/commonjs/components/HeadingGroup.js +43 -9
  10. package/lib/commonjs/components/LLMDataInputModal.js +664 -14
  11. package/lib/commonjs/components/ModalHeader.js +99 -9
  12. package/lib/commonjs/components/ModalSheet.js +47 -9
  13. package/lib/commonjs/components/Onairos.js +380 -14
  14. package/lib/commonjs/components/OnairosButton.js +313 -13
  15. package/lib/commonjs/components/OnairosSignInButton.js +130 -12
  16. package/lib/commonjs/components/Overlay.js +465 -13
  17. package/lib/commonjs/components/PersonaImage.js +137 -10
  18. package/lib/commonjs/components/PersonaLoadingScreen.js +318 -12
  19. package/lib/commonjs/components/PersonalizationConsentScreen.js +467 -13
  20. package/lib/commonjs/components/PinCreationScreen.js +403 -12
  21. package/lib/commonjs/components/PinInput.js +464 -9
  22. package/lib/commonjs/components/PlatformConnectorsStep.js +1311 -23
  23. package/lib/commonjs/components/PlatformList.js +137 -10
  24. package/lib/commonjs/components/PlatformToggle.js +180 -9
  25. package/lib/commonjs/components/PrimaryButton.js +180 -10
  26. package/lib/commonjs/components/SignInMatchAnimation.js +197 -9
  27. package/lib/commonjs/components/SignInStep.js +345 -12
  28. package/lib/commonjs/components/UniversalOnboarding.js +2780 -30
  29. package/lib/commonjs/components/VerificationStep.js +176 -11
  30. package/lib/commonjs/components/WelcomeScreen.js +461 -22
  31. package/lib/commonjs/components/icons/Basicproficon.js +37 -8
  32. package/lib/commonjs/components/icons/Basicprofile.js +21 -8
  33. package/lib/commonjs/components/icons/Checkbox.js +21 -8
  34. package/lib/commonjs/components/icons/Checkmark.js +27 -8
  35. package/lib/commonjs/components/icons/Contentanalysis.js +21 -8
  36. package/lib/commonjs/components/icons/Contenticon.js +39 -8
  37. package/lib/commonjs/components/icons/EnochE.js +41 -8
  38. package/lib/commonjs/components/icons/Personalityicon.js +30 -8
  39. package/lib/commonjs/components/icons/Personalityprofile.js +21 -8
  40. package/lib/commonjs/components/icons/Personalitytraits.js +21 -8
  41. package/lib/commonjs/components/icons/Userpreferences.js +21 -8
  42. package/lib/commonjs/components/icons/index.js +84 -17
  43. package/lib/commonjs/components/onboarding/OAuthWebView.js +1754 -18
  44. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -10
  45. package/lib/commonjs/components/onboarding/PinInput.js +283 -10
  46. package/lib/commonjs/components/onboarding/PlatformConnector.js +249 -11
  47. package/lib/commonjs/config/PLATFORM_APIS.md +849 -0
  48. package/lib/commonjs/config/api.js +56 -7
  49. package/lib/commonjs/constants/index.js +120 -7
  50. package/lib/commonjs/context/AuthContext.js +345 -10
  51. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -9
  52. package/lib/commonjs/hooks/useConnections.js +102 -8
  53. package/lib/commonjs/hooks/useCredentials.js +178 -10
  54. package/lib/commonjs/hooks/useUserConnections.js +148 -10
  55. package/lib/commonjs/index.js +439 -34
  56. package/lib/commonjs/services/apiClient.js +298 -8
  57. package/lib/commonjs/services/biometricPinService.js +180 -8
  58. package/lib/commonjs/services/chatGPTConversationExtractor.js +155 -8
  59. package/lib/commonjs/services/chatGPTConversationService.js +275 -9
  60. package/lib/commonjs/services/claudeConversationExtractor.js +103 -8
  61. package/lib/commonjs/services/claudeConversationService.js +158 -9
  62. package/lib/commonjs/services/connectedAccountsService.js +310 -10
  63. package/lib/commonjs/services/googleAuthService.js +252 -11
  64. package/lib/commonjs/services/hingeDataExtractor.js +105 -8
  65. package/lib/commonjs/services/hingeDataService.js +150 -9
  66. package/lib/commonjs/services/imageCompressionService.js +260 -7
  67. package/lib/commonjs/services/instagramDataExtractor.js +126 -8
  68. package/lib/commonjs/services/instagramDataService.js +163 -9
  69. package/lib/commonjs/services/jwtStorageService.js +276 -7
  70. package/lib/commonjs/services/linkedinDOMExtractor.js +245 -7
  71. package/lib/commonjs/services/linkedinProfileService.js +222 -9
  72. package/lib/commonjs/services/linkedinScrapingService.js +230 -8
  73. package/lib/commonjs/services/llmDataStorage.js +294 -8
  74. package/lib/commonjs/services/mobileTrainingService.js +186 -8
  75. package/lib/commonjs/services/netflixDataExtractor.js +120 -8
  76. package/lib/commonjs/services/netflixDataService.js +198 -9
  77. package/lib/commonjs/services/pinEncryptionService.js +84 -8
  78. package/lib/commonjs/services/pinStorageUtils.js +105 -7
  79. package/lib/commonjs/services/platformAuthService.js +1484 -12
  80. package/lib/commonjs/services/sephoraDataExtractor.js +140 -8
  81. package/lib/commonjs/services/sephoraDataService.js +200 -9
  82. package/lib/commonjs/services/spotifyDataExtractor.js +148 -8
  83. package/lib/commonjs/services/spotifyDataService.js +241 -9
  84. package/lib/commonjs/services/storageService.js +404 -8
  85. package/lib/commonjs/services/telegramDataExtractor.js +115 -8
  86. package/lib/commonjs/services/telegramDataService.js +499 -9
  87. package/lib/commonjs/services/trainingApiHelpers.js +73 -7
  88. package/lib/commonjs/services/userConnectionsService.js +340 -10
  89. package/lib/commonjs/services/youtubeMigrationService.js +416 -10
  90. package/lib/commonjs/theme/index.js +250 -7
  91. package/lib/commonjs/types/ambient.d.js +2 -1
  92. package/lib/commonjs/types/declarations.d.js +2 -1
  93. package/lib/commonjs/types/index.js +6 -1
  94. package/lib/commonjs/types/node-fix.d.js +2 -1
  95. package/lib/commonjs/types/node-override.d.js +2 -1
  96. package/lib/commonjs/types/opacity.d.js +2 -1
  97. package/lib/commonjs/types.js +14 -1
  98. package/lib/commonjs/utils/Portal.js +98 -8
  99. package/lib/commonjs/utils/api.js +130 -9
  100. package/lib/commonjs/utils/assetRegistry.js +210 -35
  101. package/lib/commonjs/utils/auth.js +112 -9
  102. package/lib/commonjs/utils/connectorTests.js +613 -29
  103. package/lib/commonjs/utils/crypto.js +62 -8
  104. package/lib/commonjs/utils/debugHelper.js +64 -1
  105. package/lib/commonjs/utils/encryption.js +76 -7
  106. package/lib/commonjs/utils/eventUtils.js +288 -1
  107. package/lib/commonjs/utils/haptics.js +66 -9
  108. package/lib/commonjs/utils/imagePreloader.js +6 -1
  109. package/lib/commonjs/utils/networkDiagnostics.js +226 -8
  110. package/lib/commonjs/utils/onairosApi.js +350 -9
  111. package/lib/commonjs/utils/programmaticFlow.js +117 -9
  112. package/lib/commonjs/utils/retryHelper.js +220 -1
  113. package/lib/commonjs/utils/secureStorage.js +349 -10
  114. package/lib/commonjs/utils/webviewScripts/chatgpt.js +551 -1
  115. package/lib/commonjs/utils/webviewScripts/claude.js +376 -1
  116. package/lib/commonjs/utils/webviewScripts/hinge.js +411 -1
  117. package/lib/commonjs/utils/webviewScripts/index.js +698 -15
  118. package/lib/commonjs/utils/webviewScripts/instagram.js +454 -1
  119. package/lib/commonjs/utils/webviewScripts/linkedin.js +880 -1
  120. package/lib/commonjs/utils/webviewScripts/netflix.js +382 -1
  121. package/lib/commonjs/utils/webviewScripts/sephora.js +516 -1
  122. package/lib/commonjs/utils/webviewScripts/spotify.js +419 -1
  123. package/lib/commonjs/utils/webviewScripts/telegram.js +678 -1
  124. package/lib/module/api/index.js +211 -1
  125. package/lib/module/assets/icons/spotify.png +0 -0
  126. package/lib/module/assets/images/spotify.png +0 -0
  127. package/lib/module/components/BodyText.js +20 -1
  128. package/lib/module/components/BrandMark.js +104 -1
  129. package/lib/module/components/CodeInput.js +109 -1
  130. package/lib/module/components/EmailInput.js +23 -1
  131. package/lib/module/components/GoogleButton.js +49 -1
  132. package/lib/module/components/HeadingGroup.js +36 -1
  133. package/lib/module/components/LLMDataInputModal.js +656 -7
  134. package/lib/module/components/ModalHeader.js +92 -1
  135. package/lib/module/components/ModalSheet.js +39 -1
  136. package/lib/module/components/Onairos.js +373 -1
  137. package/lib/module/components/OnairosButton.js +305 -1
  138. package/lib/module/components/OnairosSignInButton.js +121 -1
  139. package/lib/module/components/Overlay.js +456 -1
  140. package/lib/module/components/PersonaImage.js +129 -1
  141. package/lib/module/components/PersonaLoadingScreen.js +310 -1
  142. package/lib/module/components/PersonalizationConsentScreen.js +460 -1
  143. package/lib/module/components/PinCreationScreen.js +396 -1
  144. package/lib/module/components/PinInput.js +456 -1
  145. package/lib/module/components/PlatformConnectorsStep.js +1302 -6
  146. package/lib/module/components/PlatformList.js +129 -1
  147. package/lib/module/components/PlatformToggle.js +173 -1
  148. package/lib/module/components/PrimaryButton.js +172 -1
  149. package/lib/module/components/SignInMatchAnimation.js +189 -1
  150. package/lib/module/components/SignInStep.js +338 -1
  151. package/lib/module/components/UniversalOnboarding.js +2770 -1
  152. package/lib/module/components/VerificationStep.js +168 -1
  153. package/lib/module/components/WelcomeScreen.js +453 -1
  154. package/lib/module/components/icons/Basicproficon.js +30 -1
  155. package/lib/module/components/icons/Basicprofile.js +14 -1
  156. package/lib/module/components/icons/Checkbox.js +14 -1
  157. package/lib/module/components/icons/Checkmark.js +20 -1
  158. package/lib/module/components/icons/Contentanalysis.js +14 -1
  159. package/lib/module/components/icons/Contenticon.js +32 -1
  160. package/lib/module/components/icons/EnochE.js +34 -1
  161. package/lib/module/components/icons/Personalityicon.js +23 -1
  162. package/lib/module/components/icons/Personalityprofile.js +14 -1
  163. package/lib/module/components/icons/Personalitytraits.js +14 -1
  164. package/lib/module/components/icons/Userpreferences.js +14 -1
  165. package/lib/module/components/icons/index.js +13 -1
  166. package/lib/module/components/onboarding/OAuthWebView.js +1746 -1
  167. package/lib/module/components/onboarding/OnboardingHeader.js +66 -1
  168. package/lib/module/components/onboarding/PinInput.js +274 -1
  169. package/lib/module/components/onboarding/PlatformConnector.js +240 -1
  170. package/lib/module/config/PLATFORM_APIS.md +849 -0
  171. package/lib/module/config/api.js +47 -1
  172. package/lib/module/constants/index.js +114 -1
  173. package/lib/module/context/AuthContext.js +335 -1
  174. package/lib/module/hooks/useConnectedAccounts.js +106 -1
  175. package/lib/module/hooks/useConnections.js +95 -1
  176. package/lib/module/hooks/useCredentials.js +171 -6
  177. package/lib/module/hooks/useUserConnections.js +140 -1
  178. package/lib/module/index.js +172 -1
  179. package/lib/module/services/apiClient.js +295 -1
  180. package/lib/module/services/biometricPinService.js +169 -1
  181. package/lib/module/services/chatGPTConversationExtractor.js +149 -1
  182. package/lib/module/services/chatGPTConversationService.js +268 -1
  183. package/lib/module/services/claudeConversationExtractor.js +97 -1
  184. package/lib/module/services/claudeConversationService.js +151 -1
  185. package/lib/module/services/connectedAccountsService.js +293 -1
  186. package/lib/module/services/googleAuthService.js +241 -1
  187. package/lib/module/services/hingeDataExtractor.js +99 -1
  188. package/lib/module/services/hingeDataService.js +143 -1
  189. package/lib/module/services/imageCompressionService.js +250 -1
  190. package/lib/module/services/instagramDataExtractor.js +120 -1
  191. package/lib/module/services/instagramDataService.js +156 -1
  192. package/lib/module/services/jwtStorageService.js +257 -1
  193. package/lib/module/services/linkedinDOMExtractor.js +234 -1
  194. package/lib/module/services/linkedinProfileService.js +210 -1
  195. package/lib/module/services/linkedinScrapingService.js +219 -1
  196. package/lib/module/services/llmDataStorage.js +277 -1
  197. package/lib/module/services/mobileTrainingService.js +173 -1
  198. package/lib/module/services/netflixDataExtractor.js +114 -1
  199. package/lib/module/services/netflixDataService.js +191 -1
  200. package/lib/module/services/pinEncryptionService.js +74 -6
  201. package/lib/module/services/pinStorageUtils.js +93 -1
  202. package/lib/module/services/platformAuthService.js +1461 -1
  203. package/lib/module/services/sephoraDataExtractor.js +134 -1
  204. package/lib/module/services/sephoraDataService.js +193 -1
  205. package/lib/module/services/spotifyDataExtractor.js +142 -1
  206. package/lib/module/services/spotifyDataService.js +234 -1
  207. package/lib/module/services/storageService.js +383 -1
  208. package/lib/module/services/telegramDataExtractor.js +109 -1
  209. package/lib/module/services/telegramDataService.js +493 -1
  210. package/lib/module/services/trainingApiHelpers.js +67 -1
  211. package/lib/module/services/userConnectionsService.js +329 -1
  212. package/lib/module/services/youtubeMigrationService.js +405 -1
  213. package/lib/module/theme/index.js +245 -1
  214. package/lib/module/types.js +10 -1
  215. package/lib/module/utils/Portal.js +90 -1
  216. package/lib/module/utils/api.js +118 -1
  217. package/lib/module/utils/assetRegistry.js +200 -34
  218. package/lib/module/utils/auth.js +100 -1
  219. package/lib/module/utils/connectorTests.js +600 -27
  220. package/lib/module/utils/crypto.js +54 -1
  221. package/lib/module/utils/debugHelper.js +54 -1
  222. package/lib/module/utils/encryption.js +67 -1
  223. package/lib/module/utils/eventUtils.js +270 -1
  224. package/lib/module/utils/haptics.js +59 -8
  225. package/lib/module/utils/imagePreloader.js +3 -1
  226. package/lib/module/utils/networkDiagnostics.js +217 -1
  227. package/lib/module/utils/onairosApi.js +333 -1
  228. package/lib/module/utils/programmaticFlow.js +111 -1
  229. package/lib/module/utils/retryHelper.js +211 -1
  230. package/lib/module/utils/secureStorage.js +330 -6
  231. package/lib/module/utils/webviewScripts/chatgpt.js +545 -1
  232. package/lib/module/utils/webviewScripts/claude.js +370 -1
  233. package/lib/module/utils/webviewScripts/hinge.js +405 -1
  234. package/lib/module/utils/webviewScripts/index.js +434 -1
  235. package/lib/module/utils/webviewScripts/instagram.js +448 -1
  236. package/lib/module/utils/webviewScripts/linkedin.js +874 -1
  237. package/lib/module/utils/webviewScripts/netflix.js +376 -1
  238. package/lib/module/utils/webviewScripts/sephora.js +510 -1
  239. package/lib/module/utils/webviewScripts/spotify.js +413 -1
  240. package/lib/module/utils/webviewScripts/telegram.js +672 -1
  241. 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
- Object[_0x1a4d(0x0)](exports,_0x1a4d(0x1),{'value':!![]}),exports[_0x1a4d(0x2)]=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(_0x154bfc){return _0x154bfc&&_0x154bfc[_0x1a4d(0x1)]?_0x154bfc:{'default':_0x154bfc};}const PlatformList=({connections:_0x4d1d94,onToggle:_0x5e2a02,isLoading:_0x3e1209,canProceed:_0x49763d,onProceed:_0x275b7e})=>{var _0x6b5c45={'TXtpP':_0x1a4d(0x3),'BcIee':_0x1a4d(0x4),'vFqWU':_0x1a4d(0x5),'fwadp':_0x1a4d(0x6)};const _0x3760b0=(_0xdd9447,_0x13982d)=>{const _0x4f6ee1=_constants[_0x1a4d(0x7)][_0xdd9447];if(!_0x4f6ee1)return null;return _react['default'][_0x1a4d(0x8)](_reactNative[_0x1a4d(0x9)],{'key':_0xdd9447,'style':styles[_0x1a4d(0xa)]},_react[_0x1a4d(0xb)][_0x1a4d(0x8)](_reactNative[_0x1a4d(0x9)],{'style':styles[_0x1a4d(0xc)]},_react['default'][_0x1a4d(0x8)](_MaterialIcons['default'],{'name':_0x4f6ee1['icon'],'size':0x18,'color':_0x4f6ee1[_0x1a4d(0xd)]}),_react[_0x1a4d(0xb)]['createElement'](_reactNative[_0x1a4d(0xe)],{'style':styles[_0x1a4d(0xf)]},_0x4f6ee1[_0x1a4d(0x10)])),_0x4f6ee1[_0x1a4d(0x11)]&&_react[_0x1a4d(0xb)]['createElement'](_reactNative['Text'],{'style':styles[_0x1a4d(0x12)]},_0x4f6ee1['description']),_react[_0x1a4d(0xb)]['createElement'](_reactNative[_0x1a4d(0x13)],{'style':[styles[_0x1a4d(0x14)],_0x13982d?styles[_0x1a4d(0x15)]:styles['disconnectedButton']],'onPress':()=>_0x5e2a02(_0xdd9447,!_0x13982d),'disabled':_0x3e1209},_0x3e1209?_react['default'][_0x1a4d(0x8)](_reactNative['ActivityIndicator'],{'color':_0x6b5c45['TXtpP']}):_react[_0x1a4d(0xb)][_0x1a4d(0x8)](_reactNative['Text'],{'style':styles[_0x1a4d(0x16)]},_0x13982d?_0x1a4d(0x17):_0x6b5c45[_0x1a4d(0x18)])));};return _react[_0x1a4d(0xb)][_0x1a4d(0x8)](_reactNative['View'],{'style':styles[_0x1a4d(0x19)]},_react[_0x1a4d(0xb)][_0x1a4d(0x8)](_reactNative[_0x1a4d(0xe)],{'style':styles[_0x1a4d(0x1a)]},_0x6b5c45[_0x1a4d(0x1b)]),_react[_0x1a4d(0xb)][_0x1a4d(0x8)](_reactNative[_0x1a4d(0xe)],{'style':styles[_0x1a4d(0x1c)]},'Connect\x20at\x20least\x202\x20platforms\x20to\x20proceed'),_react[_0x1a4d(0xb)][_0x1a4d(0x8)](_reactNative[_0x1a4d(0x9)],{'style':styles['platformsList']},Object[_0x1a4d(0x1d)](_0x4d1d94)['map'](([_0x573c37,_0xaff251])=>_0x3760b0(_0x573c37,!!_0xaff251))),_react['default'][_0x1a4d(0x8)](_reactNative[_0x1a4d(0x13)],{'style':[styles['proceedButton'],!_0x49763d&&styles[_0x1a4d(0x1e)]],'onPress':_0x275b7e,'disabled':!_0x49763d||_0x3e1209},_react[_0x1a4d(0xb)][_0x1a4d(0x8)](_reactNative[_0x1a4d(0xe)],{'style':styles[_0x1a4d(0x1f)]},_0x6b5c45['fwadp'])));};exports[_0x1a4d(0x2)]=PlatformList;function _0x19bc(){var _0x29073e=['defineProperty','__esModule','PlatformList','#fff','Connect','Connect\x20your\x20platforms','Proceed','PLATFORMS','createElement','View','platformContainer','default','platformHeader','color','Text','platformName','name','description','platformDescription','TouchableOpacity','connectButton','connectedButton','buttonText','Disconnect','BcIee','container','title','vFqWU','subtitle','entries','disabledButton','proceedButtonText','StyleSheet','create','600','COLORS','text','primary','secondary','border','center'];_0x19bc=function(){return _0x29073e;};return _0x19bc();}function _0x1a4d(_0x19bc74,_0x1a4d71){_0x19bc74=_0x19bc74-0x0;var _0x386f86=_0x19bc();var _0x4ebe58=_0x386f86[_0x19bc74];return _0x4ebe58;}const styles=_reactNative[_0x1a4d(0x20)][_0x1a4d(0x21)]({'container':{'flex':0x1,'padding':0x10},'title':{'fontSize':0x14,'fontWeight':_0x1a4d(0x22),'marginBottom':0x8,'color':_constants[_0x1a4d(0x23)][_0x1a4d(0x24)][_0x1a4d(0x25)]},'subtitle':{'fontSize':0xe,'color':_constants[_0x1a4d(0x23)][_0x1a4d(0x24)][_0x1a4d(0x26)],'marginBottom':0x18},'platformsList':{'flex':0x1},'platformContainer':{'backgroundColor':_0x1a4d(0x3),'borderRadius':0xc,'padding':0x10,'marginBottom':0x10,'borderWidth':0x1,'borderColor':_constants['COLORS'][_0x1a4d(0x27)]},'platformHeader':{'flexDirection':'row','alignItems':_0x1a4d(0x28),'marginBottom':0x8},'platformName':{'fontSize':0x10,'fontWeight':_0x1a4d(0x22),'marginLeft':0xc,'color':_constants[_0x1a4d(0x23)][_0x1a4d(0x24)][_0x1a4d(0x25)]},'platformDescription':{'fontSize':0xe,'color':_constants[_0x1a4d(0x23)]['text'][_0x1a4d(0x26)],'marginBottom':0x10},'connectButton':{'paddingVertical':0x8,'paddingHorizontal':0x10,'borderRadius':0x8,'alignItems':_0x1a4d(0x28)},'connectedButton':{'backgroundColor':_constants[_0x1a4d(0x23)]['success']},'disconnectedButton':{'backgroundColor':_constants[_0x1a4d(0x23)]['primary']},'buttonText':{'color':_0x1a4d(0x3),'fontWeight':_0x1a4d(0x22)},'proceedButton':{'backgroundColor':_constants[_0x1a4d(0x23)][_0x1a4d(0x25)],'paddingVertical':0x10,'borderRadius':0xc,'alignItems':_0x1a4d(0x28),'marginTop':0x10},'disabledButton':{'opacity':0.5},'proceedButtonText':{'color':_0x1a4d(0x3),'fontSize':0x10,'fontWeight':_0x1a4d(0x22)}});
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,_0x1e31(0x0),{'value':!![]}),exports[_0x1e31(0x1)]=void 0x0;var _react=_interopRequireDefault(__ONAIROS_REQ_FUNC__(0x0)),_reactNative=__ONAIROS_REQ_FUNC__(0x1),_theme=__ONAIROS_REQ_FUNC__(0x2);function _0x1fd8(){const _0x533827=['__esModule','default','#E5E5E5','#4CD964','ios','#FFFFFF','DSjiu','TouchableOpacity','borderBottom','View','createElement','icon','WJKfj','textContent','Text','compactPlatformName','name','Switch','eInWi','QEIRR','YlSmz','hYXjX','UfCup','compactSwitch','fullWidthDescription','description','create','row','center','space-between','COLORS','surface','column','#F5F5F5','Inter','600','grey800','grey600','400'];_0x1fd8=function(){return _0x533827;};return _0x1fd8();}function _interopRequireDefault(_0x1e0345){return _0x1e0345&&_0x1e0345['__esModule']?_0x1e0345:{'default':_0x1e0345};}const PlatformToggle=({platform:_0x248af3,isEnabled:_0x5095e3,onToggle:_0x2d7d8c,compact:compact=![],isLast:isLast=![],fullWidth:fullWidth=![],customIconSize:_0x38daac,onLongPress:_0x1056e9,onPressOut:_0x1810b9})=>{const _0x171eb6={'DSjiu':function(_0x47ef79,_0x29ecbd,_0x52f878){return _0x47ef79(_0x29ecbd,_0x52f878);},'KGOoZ':function(_0x238138,_0x44a4a0){return _0x238138&&_0x44a4a0;},'WJKfj':function(_0x44b77c,_0x1d43ac){return _0x44b77c-_0x1d43ac;},'zroJl':'contain','eInWi':_0x1e31(0x2),'QEIRR':_0x1e31(0x3),'YlSmz':function(_0x38be95,_0x42084f){return _0x38be95===_0x42084f;},'hYXjX':_0x1e31(0x4),'UfCup':_0x1e31(0x5)},_0x3971ca=()=>{_0x171eb6[_0x1e31(0x6)](_0x2d7d8c,_0x248af3['id'],!_0x5095e3);},_0x56b07a=fullWidth?styles['fullWidthContainer']:compact?styles['compactContainer']:styles['container'];return _react[_0x1e31(0x1)]['createElement'](_reactNative[_0x1e31(0x7)],{'style':[_0x56b07a,_0x171eb6['KGOoZ'](!isLast,compact)&&styles[_0x1e31(0x8)]],'onLongPress':_0x1056e9,'onPressOut':_0x1810b9,'activeOpacity':_0x1056e9?0.7:0x1,'disabled':!_0x1056e9},_react[_0x1e31(0x1)]['createElement'](_reactNative[_0x1e31(0x9)],{'style':styles['topRow']},_react['default'][_0x1e31(0xa)](_reactNative[_0x1e31(0x9)],{'style':styles['leftContent']},_react[_0x1e31(0x1)][_0x1e31(0xa)](_reactNative['Image'],{'source':_0x248af3[_0x1e31(0xb)],'style':_0x38daac?{'width':_0x38daac,'height':_0x38daac,'marginRight':_0x171eb6[_0x1e31(0xc)](0xc,_0x171eb6[_0x1e31(0xc)](_0x38daac,0x1c))}:fullWidth?styles['compactIcon']:compact?styles['compactIcon']:styles[_0x1e31(0xb)],'resizeMode':_0x171eb6['zroJl']}),_react['default'][_0x1e31(0xa)](_reactNative[_0x1e31(0x9)],{'style':styles[_0x1e31(0xd)]},_react[_0x1e31(0x1)][_0x1e31(0xa)](_reactNative[_0x1e31(0xe)],{'style':fullWidth?styles[_0x1e31(0xf)]:compact?styles[_0x1e31(0xf)]:styles['platformName']},_0x248af3[_0x1e31(0x10)]))),_react[_0x1e31(0x1)][_0x1e31(0xa)](_reactNative[_0x1e31(0x11)],{'value':_0x5095e3,'onValueChange':_0x3971ca,'trackColor':{'false':_0x171eb6[_0x1e31(0x12)],'true':_0x171eb6[_0x1e31(0x13)]},'thumbColor':_0x171eb6[_0x1e31(0x14)](_reactNative['Platform']['OS'],_0x171eb6[_0x1e31(0x15)])?undefined:_0x5095e3?_0x171eb6[_0x1e31(0x16)]:_0x171eb6[_0x1e31(0x16)],'ios_backgroundColor':_0x171eb6[_0x1e31(0x12)],'style':compact?styles[_0x1e31(0x17)]:undefined})),fullWidth&&_react[_0x1e31(0x1)][_0x1e31(0xa)](_reactNative[_0x1e31(0x9)],{'style':styles['descriptionBox']},_react[_0x1e31(0x1)][_0x1e31(0xa)](_reactNative[_0x1e31(0xe)],{'style':styles[_0x1e31(0x18)]},_0x248af3[_0x1e31(0x19)])),!fullWidth&&_react[_0x1e31(0x1)]['createElement'](_reactNative[_0x1e31(0xe)],{'style':compact?styles['compactDescription']:styles['description']},_0x248af3[_0x1e31(0x19)]));},styles=_reactNative['StyleSheet'][_0x1e31(0x1a)]({'container':{'flexDirection':_0x1e31(0x1b),'alignItems':_0x1e31(0x1c),'justifyContent':_0x1e31(0x1d),'paddingVertical':0x10,'paddingHorizontal':0x10,'backgroundColor':_theme[_0x1e31(0x1e)][_0x1e31(0x1f)],'borderRadius':0xc,'marginBottom':0xc,'borderWidth':0x1,'borderColor':'#E5E5E5'},'compactContainer':{'flexDirection':_0x1e31(0x1b),'alignItems':'center','justifyContent':_0x1e31(0x1d),'paddingVertical':0x10,'paddingHorizontal':0x10,'backgroundColor':_theme[_0x1e31(0x1e)][_0x1e31(0x1f)]},'fullWidthContainer':{'flexDirection':_0x1e31(0x20),'paddingVertical':0x8,'paddingHorizontal':0x2,'backgroundColor':_theme[_0x1e31(0x1e)]['surface'],'marginBottom':0x4,'marginHorizontal':0x0},'topRow':{'flexDirection':'row','alignItems':_0x1e31(0x1c),'justifyContent':_0x1e31(0x1d),'marginBottom':0x4},'descriptionBox':{'backgroundColor':_0x1e31(0x21),'borderRadius':0x8,'paddingVertical':0x8,'paddingHorizontal':0x4,'marginTop':0x2},'borderBottom':{'borderBottomWidth':0x1,'borderBottomColor':_0x1e31(0x2)},'leftContent':{'flexDirection':'row','alignItems':_0x1e31(0x1c),'flex':0x1},'icon':{'width':0x20,'height':0x20,'marginRight':0xc},'compactIcon':{'width':0x1c,'height':0x1c,'marginRight':0xc},'textContent':{'flex':0x1},'platformName':{'fontSize':0x10,'fontFamily':_0x1e31(0x22),'fontWeight':_0x1e31(0x23),'color':_theme[_0x1e31(0x1e)]['grey800'],'marginBottom':0x2},'compactPlatformName':{'fontSize':0x10,'fontFamily':_0x1e31(0x22),'fontWeight':_0x1e31(0x23),'color':_theme[_0x1e31(0x1e)][_0x1e31(0x24)],'marginBottom':0x2},'description':{'fontSize':0xe,'fontFamily':_0x1e31(0x22),'fontWeight':'400','color':_theme[_0x1e31(0x1e)][_0x1e31(0x25)],'lineHeight':0x14},'compactDescription':{'fontSize':0xc,'fontFamily':_0x1e31(0x22),'fontWeight':_0x1e31(0x26),'color':_theme['COLORS'][_0x1e31(0x25)],'lineHeight':0x10},'fullWidthDescription':{'fontSize':0xd,'fontFamily':'Inter','fontWeight':_0x1e31(0x26),'color':_theme[_0x1e31(0x1e)]['grey600'],'lineHeight':0x12},'compactSwitch':{'transform':[{'scaleX':0.9},{'scaleY':0.9}]}});function _0x1e31(_0x1fd8ba,_0x1e316c){_0x1fd8ba=_0x1fd8ba-0x0;const _0x35fe5a=_0x1fd8();let _0x38d459=_0x35fe5a[_0x1fd8ba];return _0x38d459;}var _default=exports['default']=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
- function _0x279d(_0x1c6d72,_0x279d9d){_0x1c6d72=_0x1c6d72-0x0;const _0x12d1e6=_0x1c6d();let _0x4323ed=_0x12d1e6[_0x1c6d72];return _0x4323ed;}Object[_0x279d(0x0)](exports,_0x279d(0x1),{'value':!![]}),exports[_0x279d(0x2)]=exports['PrimaryButton']=exports['IconCircle']=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(_0x48ce26){return _0x48ce26&&_0x48ce26[_0x279d(0x1)]?_0x48ce26:{'default':_0x48ce26};}function _interopRequireWildcard(_0x5be162,_0xeb7849){const _0x1843ae={'fDguM':_0x279d(0x3),'wOdee':function(_0x1d363c,_0x38f626){return _0x1d363c!=_0x38f626;},'MAEAT':_0x279d(0x4),'zIVBd':_0x279d(0x5),'YUeDk':function(_0xbaef3c,_0x82550f){return _0xbaef3c!==_0x82550f;},'MjqnY':_0x279d(0x2),'lysfP':function(_0x2b27a1,_0x2de3e1){return _0x2b27a1==_0x2de3e1;},'JQBsT':'function'};if(_0x1843ae[_0x279d(0x6)](_0x1843ae[_0x279d(0x7)],typeof WeakMap))var _0x12caae=new WeakMap(),_0x2faab8=new WeakMap();return(_interopRequireWildcard=function(_0x533d4a,_0x38b476){const _0x4e76a9={'KsxDc':_0x1843ae['fDguM']};if(!_0x38b476&&_0x533d4a&&_0x533d4a[_0x279d(0x1)])return _0x533d4a;var _0x19e86c,_0x2923d9,_0x5a442b={'__proto__':null,'default':_0x533d4a};if(null===_0x533d4a||_0x1843ae[_0x279d(0x8)](_0x1843ae['MAEAT'],typeof _0x533d4a)&&_0x1843ae[_0x279d(0x8)](_0x279d(0x9),typeof _0x533d4a))return _0x5a442b;if(_0x19e86c=_0x38b476?_0x2faab8:_0x12caae){if(_0x1843ae['zIVBd']===_0x279d(0x5)){if(_0x19e86c[_0x279d(0xa)](_0x533d4a))return _0x19e86c[_0x279d(0xb)](_0x533d4a);_0x19e86c['set'](_0x533d4a,_0x5a442b);}else{const [_0x24c2f6,_0x332201]=(0x0,_0x3a75a7[_0x279d(0xc)])(![]),_0x48f9db=()=>_0x332201(!![]),_0x585b5c=()=>_0x332201(![]);return _0x23a257[_0x279d(0x2)][_0x279d(0xd)](_0x3b03fe[_0x279d(0xe)],{'style':[_0x24d07e[_0x279d(0xf)],!_0x6dce1e&&_0x2b91f2[_0x279d(0x10)],_0x3b76b9&&_0x7f1bfd['disabled'],_0x326569],'onPress':_0x255080,'onPressIn':_0x48f9db,'onPressOut':_0x585b5c,'disabled':_0x49ce90||_0x516609,'activeOpacity':0x1,'testID':_0x2f2456,'accessibilityLabel':_0x35be4d,'accessibilityRole':_0x279d(0x11)},_0x5890b0[_0x279d(0x2)]['createElement'](_0x4ec960[_0x279d(0x2)],{'colors':[_0x449101[_0x279d(0x12)][_0x279d(0x13)],_0x395f47[_0x279d(0x12)][_0x279d(0x14)]],'style':_0x3eabae[_0x279d(0x15)],'start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x1}}),_0x24c2f6&&_0x29df14[_0x279d(0x2)][_0x279d(0xd)](_0x128ed1[_0x279d(0x16)],{'style':_0x13367e['pressedOverlay']}),_0x5ccf04['default']['createElement'](_0x536cff[_0x279d(0x16)],{'style':_0x3eb27f[_0x279d(0x17)]},_0x4b85b8?_0x44f459[_0x279d(0x2)][_0x279d(0xd)](_0x601825[_0x279d(0x18)],{'color':_0x559824['COLORS'][_0x279d(0x19)],'size':_0x4e76a9[_0x279d(0x1a)]}):_0x4552e8[_0x279d(0x2)][_0x279d(0xd)](_0x186f16['Text'],{'style':[_0x51cd71[_0x279d(0x1b)],_0x7d9c65]},_0x4b61b6)),_0x523264[_0x279d(0x2)]['createElement'](_0x27e019[_0x279d(0x16)],{'style':_0xe6d715[_0x279d(0x1c)]},!_0x52d864&&(_0x4144dd||_0x10e23b[_0x279d(0x2)]['createElement'](_0x46dfc3,null))));}}for(const _0x341107 in _0x533d4a)_0x1843ae[_0x279d(0x1d)](_0x1843ae[_0x279d(0x1e)],_0x341107)&&{}[_0x279d(0x1f)]['call'](_0x533d4a,_0x341107)&&((_0x2923d9=(_0x19e86c=Object[_0x279d(0x0)])&&Object[_0x279d(0x20)](_0x533d4a,_0x341107))&&(_0x2923d9[_0x279d(0xb)]||_0x2923d9[_0x279d(0x21)])?_0x19e86c(_0x5a442b,_0x341107,_0x2923d9):_0x5a442b[_0x341107]=_0x533d4a[_0x341107]);return _0x5a442b;})(_0x5be162,_0xeb7849);}const IconCircle=({size:size=0x28,children:_0x4d02d0})=>{const _0x3f0f5c={'arszi':function(_0x1636c4,_0x369991){return _0x1636c4/_0x369991;}};return _react[_0x279d(0x2)]['createElement'](_reactNative[_0x279d(0x16)],{'style':[styles[_0x279d(0x22)],{'width':size,'height':size,'borderRadius':size/0x2}]},_react[_0x279d(0x2)]['createElement'](_reactNativeLinearGradient['default'],{'colors':[_theme[_0x279d(0x12)][_0x279d(0x23)],_theme[_0x279d(0x12)][_0x279d(0x24)]],'style':[_reactNative[_0x279d(0x25)]['absoluteFill'],{'borderRadius':_0x3f0f5c['arszi'](size,0x2)}],'start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x1}}),_react['default'][_0x279d(0xd)](_reactNative[_0x279d(0x16)],{'style':styles[_0x279d(0x26)]},_0x4d02d0||_react[_0x279d(0x2)]['createElement'](_reactNative[_0x279d(0x27)],{'style':styles[_0x279d(0x28)]},'→')));};exports[_0x279d(0x29)]=IconCircle;const PrimaryButton=({label:label=_0x279d(0x2a),onPress:_0x565eb8,iconRight:_0xccf5ab,loading:loading=![],disabled:disabled=![],testID:_0x2af040,style:_0x56a4c6,textStyle:_0x447191})=>{const _0x3e2943={'klsNX':function(_0x2e8a07,_0x9622e3){return _0x2e8a07||_0x9622e3;},'PUHCk':'button'},[_0x2290cf,_0x48802d]=(0x0,_react[_0x279d(0xc)])(![]),_0x536a26=()=>_0x48802d(!![]),_0x112b88=()=>_0x48802d(![]);return _react['default'][_0x279d(0xd)](_reactNative[_0x279d(0xe)],{'style':[styles['outerPill'],!disabled&&styles[_0x279d(0x10)],disabled&&styles[_0x279d(0x2b)],_0x56a4c6],'onPress':_0x565eb8,'onPressIn':_0x536a26,'onPressOut':_0x112b88,'disabled':_0x3e2943[_0x279d(0x2c)](disabled,loading),'activeOpacity':0x1,'testID':_0x2af040,'accessibilityLabel':label,'accessibilityRole':_0x3e2943[_0x279d(0x2d)]},_react[_0x279d(0x2)]['createElement'](_reactNativeLinearGradient['default'],{'colors':[_theme[_0x279d(0x12)][_0x279d(0x13)],_theme[_0x279d(0x12)][_0x279d(0x14)]],'style':styles[_0x279d(0x15)],'start':{'x':0x0,'y':0x0},'end':{'x':0x0,'y':0x1}}),_0x2290cf&&_react[_0x279d(0x2)][_0x279d(0xd)](_reactNative[_0x279d(0x16)],{'style':styles[_0x279d(0x2e)]}),_react[_0x279d(0x2)]['createElement'](_reactNative[_0x279d(0x16)],{'style':styles['textContainer']},loading?_react[_0x279d(0x2)][_0x279d(0xd)](_reactNative[_0x279d(0x18)],{'color':_theme[_0x279d(0x12)]['btnLabel'],'size':_0x279d(0x3)}):_react[_0x279d(0x2)][_0x279d(0xd)](_reactNative[_0x279d(0x27)],{'style':[styles['label'],_0x447191]},label)),_react[_0x279d(0x2)]['createElement'](_reactNative[_0x279d(0x16)],{'style':styles['iconPosition']},!loading&&(_0xccf5ab||_react[_0x279d(0x2)][_0x279d(0xd)](IconCircle,null))));};exports['PrimaryButton']=PrimaryButton;const styles=_reactNative[_0x279d(0x25)]['create']({'outerPill':{'height':0x30,'borderRadius':0x64,'borderWidth':0x1,'borderColor':_theme[_0x279d(0x12)]['btnBorder'],'overflow':_0x279d(0x2f),'width':_0x279d(0x30),'position':'relative'},'outerShadow':{'shadowColor':'#000000','shadowOffset':{'width':0x14,'height':0x1e},'shadowOpacity':0.1,'shadowRadius':0x28,'elevation':0x8},'disabled':{'opacity':0.65,'shadowOpacity':0x0,'elevation':0x0},'baseGradient':{..._reactNative[_0x279d(0x25)][_0x279d(0x31)],'borderRadius':0x64},'pressedOverlay':{..._reactNative[_0x279d(0x25)][_0x279d(0x31)],'backgroundColor':_0x279d(0x32),'borderRadius':0x64},'textContainer':{'position':'absolute','left':0x0,'right':0x0,'top':0x0,'bottom':0x0,'justifyContent':'center','alignItems':_0x279d(0x33),'backgroundColor':_0x279d(0x34)},'iconPosition':{'position':_0x279d(0x35),'right':0x4,'top':0x4,'bottom':0x4,'width':0x28,'justifyContent':'center','alignItems':'center','backgroundColor':_0x279d(0x34)},'label':{'fontFamily':_0x279d(0x36),'fontWeight':'600','fontSize':0x10,'color':_theme[_0x279d(0x12)][_0x279d(0x19)],'textAlign':'center','backgroundColor':_0x279d(0x34)},'iconCircle':{'justifyContent':_0x279d(0x33),'alignItems':'center','borderWidth':0x1,'borderColor':_0x279d(0x37)},'iconContent':{'justifyContent':_0x279d(0x33),'alignItems':'center','backgroundColor':_0x279d(0x34)},'arrowText':{'fontSize':0x14,'color':_theme['COLORS'][_0x279d(0x19)],'fontWeight':_0x279d(0x38),'opacity':0.95,'backgroundColor':_0x279d(0x34)}});function _0x1c6d(){const _0x4bc405=['defineProperty','__esModule','default','small','object','CfCyu','lysfP','JQBsT','wOdee','function','has','get','useState','createElement','TouchableOpacity','outerPill','outerShadow','button','COLORS','btnGradStart','btnGradEnd','baseGradient','View','textContainer','ActivityIndicator','btnLabel','KsxDc','label','iconPosition','YUeDk','MjqnY','hasOwnProperty','getOwnPropertyDescriptor','set','iconCircle','iconCircleGradientStart','iconCircleGradientEnd','StyleSheet','iconContent','Text','arrowText','IconCircle','Get\x20Started','disabled','klsNX','PUHCk','pressedOverlay','hidden','100%','absoluteFillObject','rgba(0,0,0,0.1)','center','transparent','absolute','Inter','rgba(0,0,0,0.25)','600'];_0x1c6d=function(){return _0x4bc405;};return _0x1c6d();}var _default=exports[_0x279d(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