@onairos/react-native 3.1.15 → 3.1.17

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 (191) hide show
  1. package/README.md +404 -0
  2. package/lib/commonjs/assets/images/Checkbox.svg +3 -3
  3. package/lib/commonjs/assets/images/EnochE.svg +19 -19
  4. package/lib/commonjs/assets/images/Personalityprofile.svg +3 -3
  5. package/lib/commonjs/assets/images/Personalitytraits.svg +3 -3
  6. package/lib/commonjs/assets/images/Userpreferences.svg +3 -3
  7. package/lib/commonjs/assets/images/arrow.svg +20 -20
  8. package/lib/commonjs/assets/images/basicproficon.svg +43 -43
  9. package/lib/commonjs/assets/images/basicprofile.svg +3 -3
  10. package/lib/commonjs/assets/images/checkmark.svg +4 -4
  11. package/lib/commonjs/assets/images/contentanalysis.svg +3 -3
  12. package/lib/commonjs/assets/images/contenticon.svg +23 -23
  13. package/lib/commonjs/assets/images/personalityicon.svg +18 -18
  14. package/lib/commonjs/assets/images/x-close.svg +3 -3
  15. package/lib/commonjs/components/OnairosSignInButton.js +32 -74
  16. package/lib/commonjs/components/OnairosSignInButton.js.map +1 -1
  17. package/lib/commonjs/components/UniversalOnboarding.js +4 -4
  18. package/lib/commonjs/config/api.js +2 -2
  19. package/lib/commonjs/hooks/useConnections.js +6 -6
  20. package/lib/commonjs/hooks/useUserConnections.js +10 -10
  21. package/lib/commonjs/index.js +5 -12
  22. package/lib/commonjs/index.js.map +1 -1
  23. package/lib/commonjs/services/apiClient.js +35 -35
  24. package/lib/commonjs/services/apiKeyService.js +99 -99
  25. package/lib/commonjs/services/authService.js +82 -82
  26. package/lib/commonjs/services/biometricPinService.js +10 -10
  27. package/lib/commonjs/services/connectedAccountsService.js +32 -32
  28. package/lib/commonjs/services/googleAuthService.js +15 -15
  29. package/lib/commonjs/services/imageCompressionService.js +15 -15
  30. package/lib/commonjs/services/jwtStorageService.js +59 -59
  31. package/lib/commonjs/services/mobileTrainingService.js +14 -14
  32. package/lib/commonjs/services/pinEncryptionService.js +10 -10
  33. package/lib/commonjs/services/pinStorageUtils.js +15 -15
  34. package/lib/commonjs/services/platformAuthService.js +47 -47
  35. package/lib/commonjs/services/storageService.js +31 -31
  36. package/lib/commonjs/services/trainingApiHelpers.js +33 -33
  37. package/lib/commonjs/services/userConnectionsService.js +24 -24
  38. package/lib/commonjs/utils/Portal.js +4 -4
  39. package/lib/commonjs/utils/api.js +24 -24
  40. package/lib/commonjs/utils/auth.js +18 -18
  41. package/lib/commonjs/utils/crypto.js +13 -13
  42. package/lib/commonjs/utils/encryption.js +12 -12
  43. package/lib/commonjs/utils/eventUtils.js +52 -52
  44. package/lib/commonjs/utils/programmaticFlow.js +16 -16
  45. package/lib/commonjs/utils/retryHelper.js +27 -27
  46. package/lib/module/assets/images/Checkbox.svg +3 -3
  47. package/lib/module/assets/images/EnochE.svg +19 -19
  48. package/lib/module/assets/images/Personalityprofile.svg +3 -3
  49. package/lib/module/assets/images/Personalitytraits.svg +3 -3
  50. package/lib/module/assets/images/Userpreferences.svg +3 -3
  51. package/lib/module/assets/images/arrow.svg +20 -20
  52. package/lib/module/assets/images/basicproficon.svg +43 -43
  53. package/lib/module/assets/images/basicprofile.svg +3 -3
  54. package/lib/module/assets/images/checkmark.svg +4 -4
  55. package/lib/module/assets/images/contentanalysis.svg +3 -3
  56. package/lib/module/assets/images/contenticon.svg +23 -23
  57. package/lib/module/assets/images/personalityicon.svg +18 -18
  58. package/lib/module/assets/images/x-close.svg +3 -3
  59. package/lib/module/components/OnairosSignInButton.js +32 -74
  60. package/lib/module/components/OnairosSignInButton.js.map +1 -1
  61. package/lib/module/components/UniversalOnboarding.js +4 -4
  62. package/lib/module/config/api.js +2 -2
  63. package/lib/module/hooks/useConnections.js +6 -6
  64. package/lib/module/hooks/useUserConnections.js +10 -10
  65. package/lib/module/index.js +5 -6
  66. package/lib/module/index.js.map +1 -1
  67. package/lib/module/services/apiClient.js +35 -35
  68. package/lib/module/services/apiKeyService.js +99 -99
  69. package/lib/module/services/authService.js +82 -82
  70. package/lib/module/services/biometricPinService.js +10 -10
  71. package/lib/module/services/connectedAccountsService.js +32 -32
  72. package/lib/module/services/googleAuthService.js +15 -15
  73. package/lib/module/services/imageCompressionService.js +15 -15
  74. package/lib/module/services/jwtStorageService.js +59 -59
  75. package/lib/module/services/mobileTrainingService.js +14 -14
  76. package/lib/module/services/pinEncryptionService.js +10 -10
  77. package/lib/module/services/pinStorageUtils.js +15 -15
  78. package/lib/module/services/platformAuthService.js +47 -47
  79. package/lib/module/services/storageService.js +31 -31
  80. package/lib/module/services/trainingApiHelpers.js +33 -33
  81. package/lib/module/services/userConnectionsService.js +24 -24
  82. package/lib/module/utils/Portal.js +4 -4
  83. package/lib/module/utils/api.js +24 -24
  84. package/lib/module/utils/auth.js +18 -18
  85. package/lib/module/utils/crypto.js +13 -13
  86. package/lib/module/utils/encryption.js +12 -12
  87. package/lib/module/utils/eventUtils.js +52 -52
  88. package/lib/module/utils/programmaticFlow.js +16 -16
  89. package/lib/module/utils/retryHelper.js +27 -27
  90. package/lib/typescript/components/OnairosSignInButton.d.ts.map +1 -1
  91. package/lib/typescript/index.d.ts +0 -1
  92. package/lib/typescript/index.d.ts.map +1 -1
  93. package/package.json +163 -163
  94. package/src/api/index.ts +151 -151
  95. package/src/assets/images/Checkbox.svg +3 -3
  96. package/src/assets/images/EnochE.svg +19 -19
  97. package/src/assets/images/Personalityprofile.svg +3 -3
  98. package/src/assets/images/Personalitytraits.svg +3 -3
  99. package/src/assets/images/Userpreferences.svg +3 -3
  100. package/src/assets/images/arrow.svg +20 -20
  101. package/src/assets/images/basicproficon.svg +43 -43
  102. package/src/assets/images/basicprofile.svg +3 -3
  103. package/src/assets/images/checkmark.svg +4 -4
  104. package/src/assets/images/contentanalysis.svg +3 -3
  105. package/src/assets/images/contenticon.svg +23 -23
  106. package/src/assets/images/personalityicon.svg +18 -18
  107. package/src/assets/images/x-close.svg +3 -3
  108. package/src/components/BodyText.tsx +33 -33
  109. package/src/components/BrandMark.tsx +62 -62
  110. package/src/components/CodeInput.tsx +32 -32
  111. package/src/components/DataRequestScreen.tsx +355 -355
  112. package/src/components/EmailInput.tsx +31 -31
  113. package/src/components/EmailVerificationModal.tsx +363 -363
  114. package/src/components/ExistingUserDataConfirmation.tsx +506 -506
  115. package/src/components/GoogleButton.tsx +55 -55
  116. package/src/components/HeadingGroup.tsx +49 -49
  117. package/src/components/ModalHeader.tsx +125 -125
  118. package/src/components/ModalSheet.tsx +57 -57
  119. package/src/components/Onairos.tsx +422 -422
  120. package/src/components/OnairosButton.tsx +339 -339
  121. package/src/components/OnairosSignInButton.tsx +130 -166
  122. package/src/components/Overlay.tsx +506 -506
  123. package/src/components/PersonaImage.tsx +79 -79
  124. package/src/components/PersonaLoadingScreen.tsx +201 -201
  125. package/src/components/PersonalizationConsentScreen.tsx +410 -410
  126. package/src/components/PinCreationScreen.tsx +492 -492
  127. package/src/components/PinInput.tsx +555 -555
  128. package/src/components/PlatformConnectorsStep.tsx +891 -891
  129. package/src/components/PlatformList.tsx +144 -144
  130. package/src/components/PlatformToggle.tsx +226 -226
  131. package/src/components/PrimaryButton.tsx +213 -213
  132. package/src/components/SignInMatchAnimation.tsx +225 -225
  133. package/src/components/SignInStep.tsx +217 -217
  134. package/src/components/TrainingModal.tsx +1047 -1047
  135. package/src/components/UniversalOnboarding.tsx +2887 -2887
  136. package/src/components/VerificationStep.tsx +198 -198
  137. package/src/components/WelcomeScreen.tsx +473 -473
  138. package/src/components/icons/Basicproficon.tsx +30 -30
  139. package/src/components/icons/Basicprofile.tsx +17 -17
  140. package/src/components/icons/Checkbox.tsx +17 -17
  141. package/src/components/icons/Checkmark.tsx +24 -24
  142. package/src/components/icons/Contentanalysis.tsx +17 -17
  143. package/src/components/icons/Contenticon.tsx +30 -30
  144. package/src/components/icons/EnochE.tsx +39 -39
  145. package/src/components/icons/Personalityicon.tsx +22 -22
  146. package/src/components/icons/Personalityprofile.tsx +17 -17
  147. package/src/components/icons/Personalitytraits.tsx +17 -17
  148. package/src/components/icons/Userpreferences.tsx +17 -17
  149. package/src/components/icons/index.ts +12 -12
  150. package/src/components/onboarding/OAuthWebView.tsx +232 -232
  151. package/src/config/api.ts +25 -25
  152. package/src/context/AuthContext.tsx +393 -393
  153. package/src/hooks/useConnectedAccounts.ts +138 -138
  154. package/src/hooks/useConnections.ts +161 -161
  155. package/src/hooks/useCredentials.ts +174 -174
  156. package/src/hooks/useUserConnections.ts +165 -165
  157. package/src/index.js +14 -14
  158. package/src/index.ts +94 -95
  159. package/src/services/apiClient.ts +336 -336
  160. package/src/services/apiKeyService.ts +919 -919
  161. package/src/services/authService.ts +1008 -1008
  162. package/src/services/biometricPinService.ts +192 -192
  163. package/src/services/connectedAccountsService.ts +289 -289
  164. package/src/services/googleAuthService.ts +279 -279
  165. package/src/services/imageCompressionService.ts +302 -302
  166. package/src/services/jwtStorageService.ts +256 -256
  167. package/src/services/mobileTrainingService.ts +203 -203
  168. package/src/services/pinEncryptionService.ts +75 -75
  169. package/src/services/pinStorageUtils.ts +96 -96
  170. package/src/services/platformAuthService.ts +1346 -1346
  171. package/src/services/storageService.ts +451 -451
  172. package/src/services/trainingApiHelpers.ts +66 -66
  173. package/src/services/userConnectionsService.ts +556 -556
  174. package/src/services/youtubeMigrationService.ts +453 -453
  175. package/src/theme/index.ts +239 -239
  176. package/src/types/ambient.d.ts +28 -28
  177. package/src/types/index.ts +265 -265
  178. package/src/types/node-fix.d.ts +18 -18
  179. package/src/types/node-override.d.ts +23 -23
  180. package/src/types/opacity.d.ts +15 -15
  181. package/src/types/types.d.ts +17 -17
  182. package/src/utils/Portal.tsx +82 -82
  183. package/src/utils/api.js +111 -111
  184. package/src/utils/auth.js +103 -103
  185. package/src/utils/crypto.js +59 -59
  186. package/src/utils/encryption.ts +68 -68
  187. package/src/utils/eventUtils.ts +302 -302
  188. package/src/utils/haptics.ts +58 -58
  189. package/src/utils/imagePreloader.ts +2 -2
  190. package/src/utils/programmaticFlow.ts +112 -112
  191. package/src/utils/retryHelper.ts +274 -274
@@ -1,145 +1,145 @@
1
- import React from 'react';
2
- import { View, Text, StyleSheet, TouchableOpacity, ActivityIndicator } from 'react-native';
3
- import Icon from 'react-native-vector-icons/MaterialIcons';
4
- import { COLORS, PLATFORMS } from '../constants';
5
- import type { PlatformListProps } from '../types';
6
-
7
- export const PlatformList: React.FC<PlatformListProps> = ({
8
- connections,
9
- onToggle,
10
- isLoading,
11
- canProceed,
12
- onProceed,
13
- }) => {
14
- const renderPlatformItem = (platform: string, isConnected: boolean) => {
15
- const platformConfig = PLATFORMS[platform];
16
- if (!platformConfig) return null;
17
-
18
- return (
19
- <View key={platform} style={styles.platformContainer}>
20
- <View style={styles.platformHeader}>
21
- <Icon name={platformConfig.icon} size={24} color={platformConfig.color} />
22
- <Text style={styles.platformName}>{platformConfig.name}</Text>
23
- </View>
24
- {platformConfig.description && (
25
- <Text style={styles.platformDescription}>{platformConfig.description}</Text>
26
- )}
27
- <TouchableOpacity
28
- style={[
29
- styles.connectButton,
30
- isConnected ? styles.connectedButton : styles.disconnectedButton,
31
- ]}
32
- onPress={() => onToggle(platform, !isConnected)}
33
- disabled={isLoading}
34
- >
35
- {isLoading ? (
36
- <ActivityIndicator color="#fff" />
37
- ) : (
38
- <Text style={styles.buttonText}>
39
- {isConnected ? 'Disconnect' : 'Connect'}
40
- </Text>
41
- )}
42
- </TouchableOpacity>
43
- </View>
44
- );
45
- };
46
-
47
- return (
48
- <View style={styles.container}>
49
- <Text style={styles.title}>Connect your platforms</Text>
50
- <Text style={styles.subtitle}>
51
- Connect at least 2 platforms to proceed
52
- </Text>
53
-
54
- <View style={styles.platformsList}>
55
- {Object.entries(connections).map(([platform, status]) =>
56
- renderPlatformItem(platform, !!status)
57
- )}
58
- </View>
59
-
60
- <TouchableOpacity
61
- style={[styles.proceedButton, !canProceed && styles.disabledButton]}
62
- onPress={onProceed}
63
- disabled={!canProceed || isLoading}
64
- >
65
- <Text style={styles.proceedButtonText}>Proceed</Text>
66
- </TouchableOpacity>
67
- </View>
68
- );
69
- };
70
-
71
- const styles = StyleSheet.create({
72
- container: {
73
- flex: 1,
74
- padding: 16,
75
- },
76
- title: {
77
- fontSize: 20,
78
- fontWeight: '600',
79
- marginBottom: 8,
80
- color: COLORS.text.primary,
81
- },
82
- subtitle: {
83
- fontSize: 14,
84
- color: COLORS.text.secondary,
85
- marginBottom: 24,
86
- },
87
- platformsList: {
88
- flex: 1,
89
- },
90
- platformContainer: {
91
- backgroundColor: '#fff',
92
- borderRadius: 12,
93
- padding: 16,
94
- marginBottom: 16,
95
- borderWidth: 1,
96
- borderColor: COLORS.border,
97
- },
98
- platformHeader: {
99
- flexDirection: 'row',
100
- alignItems: 'center',
101
- marginBottom: 8,
102
- },
103
- platformName: {
104
- fontSize: 16,
105
- fontWeight: '600',
106
- marginLeft: 12,
107
- color: COLORS.text.primary,
108
- },
109
- platformDescription: {
110
- fontSize: 14,
111
- color: COLORS.text.secondary,
112
- marginBottom: 16,
113
- },
114
- connectButton: {
115
- paddingVertical: 8,
116
- paddingHorizontal: 16,
117
- borderRadius: 8,
118
- alignItems: 'center',
119
- },
120
- connectedButton: {
121
- backgroundColor: COLORS.success,
122
- },
123
- disconnectedButton: {
124
- backgroundColor: COLORS.primary,
125
- },
126
- buttonText: {
127
- color: '#fff',
128
- fontWeight: '600',
129
- },
130
- proceedButton: {
131
- backgroundColor: COLORS.primary,
132
- paddingVertical: 16,
133
- borderRadius: 12,
134
- alignItems: 'center',
135
- marginTop: 16,
136
- },
137
- disabledButton: {
138
- opacity: 0.5,
139
- },
140
- proceedButtonText: {
141
- color: '#fff',
142
- fontSize: 16,
143
- fontWeight: '600',
144
- },
1
+ import React from 'react';
2
+ import { View, Text, StyleSheet, TouchableOpacity, ActivityIndicator } from 'react-native';
3
+ import Icon from 'react-native-vector-icons/MaterialIcons';
4
+ import { COLORS, PLATFORMS } from '../constants';
5
+ import type { PlatformListProps } from '../types';
6
+
7
+ export const PlatformList: React.FC<PlatformListProps> = ({
8
+ connections,
9
+ onToggle,
10
+ isLoading,
11
+ canProceed,
12
+ onProceed,
13
+ }) => {
14
+ const renderPlatformItem = (platform: string, isConnected: boolean) => {
15
+ const platformConfig = PLATFORMS[platform];
16
+ if (!platformConfig) return null;
17
+
18
+ return (
19
+ <View key={platform} style={styles.platformContainer}>
20
+ <View style={styles.platformHeader}>
21
+ <Icon name={platformConfig.icon} size={24} color={platformConfig.color} />
22
+ <Text style={styles.platformName}>{platformConfig.name}</Text>
23
+ </View>
24
+ {platformConfig.description && (
25
+ <Text style={styles.platformDescription}>{platformConfig.description}</Text>
26
+ )}
27
+ <TouchableOpacity
28
+ style={[
29
+ styles.connectButton,
30
+ isConnected ? styles.connectedButton : styles.disconnectedButton,
31
+ ]}
32
+ onPress={() => onToggle(platform, !isConnected)}
33
+ disabled={isLoading}
34
+ >
35
+ {isLoading ? (
36
+ <ActivityIndicator color="#fff" />
37
+ ) : (
38
+ <Text style={styles.buttonText}>
39
+ {isConnected ? 'Disconnect' : 'Connect'}
40
+ </Text>
41
+ )}
42
+ </TouchableOpacity>
43
+ </View>
44
+ );
45
+ };
46
+
47
+ return (
48
+ <View style={styles.container}>
49
+ <Text style={styles.title}>Connect your platforms</Text>
50
+ <Text style={styles.subtitle}>
51
+ Connect at least 2 platforms to proceed
52
+ </Text>
53
+
54
+ <View style={styles.platformsList}>
55
+ {Object.entries(connections).map(([platform, status]) =>
56
+ renderPlatformItem(platform, !!status)
57
+ )}
58
+ </View>
59
+
60
+ <TouchableOpacity
61
+ style={[styles.proceedButton, !canProceed && styles.disabledButton]}
62
+ onPress={onProceed}
63
+ disabled={!canProceed || isLoading}
64
+ >
65
+ <Text style={styles.proceedButtonText}>Proceed</Text>
66
+ </TouchableOpacity>
67
+ </View>
68
+ );
69
+ };
70
+
71
+ const styles = StyleSheet.create({
72
+ container: {
73
+ flex: 1,
74
+ padding: 16,
75
+ },
76
+ title: {
77
+ fontSize: 20,
78
+ fontWeight: '600',
79
+ marginBottom: 8,
80
+ color: COLORS.text.primary,
81
+ },
82
+ subtitle: {
83
+ fontSize: 14,
84
+ color: COLORS.text.secondary,
85
+ marginBottom: 24,
86
+ },
87
+ platformsList: {
88
+ flex: 1,
89
+ },
90
+ platformContainer: {
91
+ backgroundColor: '#fff',
92
+ borderRadius: 12,
93
+ padding: 16,
94
+ marginBottom: 16,
95
+ borderWidth: 1,
96
+ borderColor: COLORS.border,
97
+ },
98
+ platformHeader: {
99
+ flexDirection: 'row',
100
+ alignItems: 'center',
101
+ marginBottom: 8,
102
+ },
103
+ platformName: {
104
+ fontSize: 16,
105
+ fontWeight: '600',
106
+ marginLeft: 12,
107
+ color: COLORS.text.primary,
108
+ },
109
+ platformDescription: {
110
+ fontSize: 14,
111
+ color: COLORS.text.secondary,
112
+ marginBottom: 16,
113
+ },
114
+ connectButton: {
115
+ paddingVertical: 8,
116
+ paddingHorizontal: 16,
117
+ borderRadius: 8,
118
+ alignItems: 'center',
119
+ },
120
+ connectedButton: {
121
+ backgroundColor: COLORS.success,
122
+ },
123
+ disconnectedButton: {
124
+ backgroundColor: COLORS.primary,
125
+ },
126
+ buttonText: {
127
+ color: '#fff',
128
+ fontWeight: '600',
129
+ },
130
+ proceedButton: {
131
+ backgroundColor: COLORS.primary,
132
+ paddingVertical: 16,
133
+ borderRadius: 12,
134
+ alignItems: 'center',
135
+ marginTop: 16,
136
+ },
137
+ disabledButton: {
138
+ opacity: 0.5,
139
+ },
140
+ proceedButtonText: {
141
+ color: '#fff',
142
+ fontSize: 16,
143
+ fontWeight: '600',
144
+ },
145
145
  });