@onairos/react-native 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/README.md +334 -0
  2. package/lib/commonjs/components/DataRequestModal.js +176 -0
  3. package/lib/commonjs/components/DataRequestModal.js.map +1 -0
  4. package/lib/commonjs/components/Notification.js +106 -0
  5. package/lib/commonjs/components/Notification.js.map +1 -0
  6. package/lib/commonjs/components/OnairosButton.js +575 -0
  7. package/lib/commonjs/components/OnairosButton.js.map +1 -0
  8. package/lib/commonjs/components/Overlay.js +818 -0
  9. package/lib/commonjs/components/Overlay.js.map +1 -0
  10. package/lib/commonjs/components/UniversalOnboarding.js +173 -0
  11. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -0
  12. package/lib/commonjs/components/onboarding/OAuthWebView.js +137 -0
  13. package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -0
  14. package/lib/commonjs/components/onboarding/OnboardingHeader.js +74 -0
  15. package/lib/commonjs/components/onboarding/OnboardingHeader.js.map +1 -0
  16. package/lib/commonjs/components/onboarding/PinInput.js +283 -0
  17. package/lib/commonjs/components/onboarding/PinInput.js.map +1 -0
  18. package/lib/commonjs/components/onboarding/PlatformConnector.js +244 -0
  19. package/lib/commonjs/components/onboarding/PlatformConnector.js.map +1 -0
  20. package/lib/commonjs/components/screens/ConnectorScreen.js +145 -0
  21. package/lib/commonjs/components/screens/ConnectorScreen.js.map +1 -0
  22. package/lib/commonjs/components/screens/LoadingScreen.js +91 -0
  23. package/lib/commonjs/components/screens/LoadingScreen.js.map +1 -0
  24. package/lib/commonjs/components/screens/PinCreationScreen.js +61 -0
  25. package/lib/commonjs/components/screens/PinCreationScreen.js.map +1 -0
  26. package/lib/commonjs/constants/index.js +78 -0
  27. package/lib/commonjs/constants/index.js.map +1 -0
  28. package/lib/commonjs/hooks/useConnections.js +89 -0
  29. package/lib/commonjs/hooks/useConnections.js.map +1 -0
  30. package/lib/commonjs/hooks/useCredentials.js +85 -0
  31. package/lib/commonjs/hooks/useCredentials.js.map +1 -0
  32. package/lib/commonjs/index.js +282 -0
  33. package/lib/commonjs/index.js.map +1 -0
  34. package/lib/commonjs/services/oauthService.js +362 -0
  35. package/lib/commonjs/services/oauthService.js.map +1 -0
  36. package/lib/commonjs/types/declarations.d.js +2 -0
  37. package/lib/commonjs/types/declarations.d.js.map +1 -0
  38. package/lib/commonjs/types/index.js +2 -0
  39. package/lib/commonjs/types/index.js.map +1 -0
  40. package/lib/commonjs/utils/api.js +129 -0
  41. package/lib/commonjs/utils/api.js.map +1 -0
  42. package/lib/commonjs/utils/auth.js +111 -0
  43. package/lib/commonjs/utils/auth.js.map +1 -0
  44. package/lib/commonjs/utils/crypto.js +62 -0
  45. package/lib/commonjs/utils/crypto.js.map +1 -0
  46. package/lib/commonjs/utils/debugHelper.js +64 -0
  47. package/lib/commonjs/utils/debugHelper.js.map +1 -0
  48. package/lib/commonjs/utils/onairosApi.js +270 -0
  49. package/lib/commonjs/utils/onairosApi.js.map +1 -0
  50. package/lib/commonjs/utils/secureStorage.js +210 -0
  51. package/lib/commonjs/utils/secureStorage.js.map +1 -0
  52. package/lib/module/components/DataRequestModal.js +168 -0
  53. package/lib/module/components/DataRequestModal.js.map +1 -0
  54. package/lib/module/components/Notification.js +99 -0
  55. package/lib/module/components/Notification.js.map +1 -0
  56. package/lib/module/components/OnairosButton.js +550 -0
  57. package/lib/module/components/OnairosButton.js.map +1 -0
  58. package/lib/module/components/Overlay.js +825 -0
  59. package/lib/module/components/Overlay.js.map +1 -0
  60. package/lib/module/components/UniversalOnboarding.js +164 -0
  61. package/lib/module/components/UniversalOnboarding.js.map +1 -0
  62. package/lib/module/components/onboarding/OAuthWebView.js +128 -0
  63. package/lib/module/components/onboarding/OAuthWebView.js.map +1 -0
  64. package/lib/module/components/onboarding/OnboardingHeader.js +66 -0
  65. package/lib/module/components/onboarding/OnboardingHeader.js.map +1 -0
  66. package/lib/module/components/onboarding/PinInput.js +274 -0
  67. package/lib/module/components/onboarding/PinInput.js.map +1 -0
  68. package/lib/module/components/onboarding/PlatformConnector.js +235 -0
  69. package/lib/module/components/onboarding/PlatformConnector.js.map +1 -0
  70. package/lib/module/components/screens/ConnectorScreen.js +137 -0
  71. package/lib/module/components/screens/ConnectorScreen.js.map +1 -0
  72. package/lib/module/components/screens/LoadingScreen.js +83 -0
  73. package/lib/module/components/screens/LoadingScreen.js.map +1 -0
  74. package/lib/module/components/screens/PinCreationScreen.js +53 -0
  75. package/lib/module/components/screens/PinCreationScreen.js.map +1 -0
  76. package/lib/module/constants/index.js +72 -0
  77. package/lib/module/constants/index.js.map +1 -0
  78. package/lib/module/hooks/useConnections.js +81 -0
  79. package/lib/module/hooks/useConnections.js.map +1 -0
  80. package/lib/module/hooks/useCredentials.js +77 -0
  81. package/lib/module/hooks/useCredentials.js.map +1 -0
  82. package/lib/module/index.js +34 -0
  83. package/lib/module/index.js.map +1 -0
  84. package/lib/module/services/oauthService.js +352 -0
  85. package/lib/module/services/oauthService.js.map +1 -0
  86. package/lib/module/types/declarations.d.js +2 -0
  87. package/lib/module/types/declarations.d.js.map +1 -0
  88. package/lib/module/types/index.js +2 -0
  89. package/lib/module/types/index.js.map +1 -0
  90. package/lib/module/utils/api.js +117 -0
  91. package/lib/module/utils/api.js.map +1 -0
  92. package/lib/module/utils/auth.js +99 -0
  93. package/lib/module/utils/auth.js.map +1 -0
  94. package/lib/module/utils/crypto.js +54 -0
  95. package/lib/module/utils/crypto.js.map +1 -0
  96. package/lib/module/utils/debugHelper.js +54 -0
  97. package/lib/module/utils/debugHelper.js.map +1 -0
  98. package/lib/module/utils/onairosApi.js +256 -0
  99. package/lib/module/utils/onairosApi.js.map +1 -0
  100. package/lib/module/utils/secureStorage.js +196 -0
  101. package/lib/module/utils/secureStorage.js.map +1 -0
  102. package/package.json +115 -0
  103. package/src/components/DataRequestModal.tsx +187 -0
  104. package/src/components/Notification.js +101 -0
  105. package/src/components/OnairosButton.js +604 -0
  106. package/src/components/OnairosButton.tsx +182 -0
  107. package/src/components/Overlay.js +854 -0
  108. package/src/components/Overlay.tsx +272 -0
  109. package/src/components/UniversalOnboarding.tsx +184 -0
  110. package/src/components/onboarding/OAuthWebView.tsx +134 -0
  111. package/src/components/onboarding/OnboardingHeader.tsx +70 -0
  112. package/src/components/onboarding/PinInput.tsx +356 -0
  113. package/src/components/onboarding/PlatformConnector.tsx +297 -0
  114. package/src/components/screens/ConnectorScreen.tsx +152 -0
  115. package/src/components/screens/LoadingScreen.tsx +100 -0
  116. package/src/components/screens/PinCreationScreen.tsx +67 -0
  117. package/src/constants/index.ts +78 -0
  118. package/src/hooks/useConnections.ts +90 -0
  119. package/src/hooks/useCredentials.ts +83 -0
  120. package/src/index.js +14 -0
  121. package/src/index.ts +82 -0
  122. package/src/services/oauthService.ts +360 -0
  123. package/src/types/declarations.d.ts +26 -0
  124. package/src/types/index.ts +82 -0
  125. package/src/utils/api.js +112 -0
  126. package/src/utils/auth.js +104 -0
  127. package/src/utils/crypto.js +60 -0
  128. package/src/utils/debugHelper.ts +53 -0
  129. package/src/utils/onairosApi.ts +303 -0
  130. package/src/utils/secureStorage.ts +230 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","View","Text","StyleSheet","TouchableOpacity","ScrollView","Platform","Dimensions","BottomSheet","Icon","COLORS","height","get","Overlay","visible","onClose","onAccept","AppName","requestData","biometricType","OS","bottomSheetRef","snapPoints","_bottomSheetRef$curre","current","expand","_bottomSheetRef$curre2","close","getBiometricIcon","renderDataCategories","Object","entries","map","category","items","createElement","key","style","styles","categoryContainer","categoryTitle","item","description","itemContainer","name","size","color","primary","itemContent","itemTitle","itemDescription","ref","index","enablePanDownToClose","backdropComponent","animatedIndex","backdrop","opacity","interpolate","inputRange","outputRange","container","header","headerTitle","onPress","closeButton","content","appInfoContainer","appName","requestText","securityNotice","securityText","footer","cancelButton","cancelButtonText","acceptButton","acceptButtonText","buttonIcon","create","flex","backgroundColor","absoluteFillObject","flexDirection","alignItems","padding","headerBg","borderTopLeftRadius","borderTopRightRadius","fontSize","fontWeight","marginLeft","marginBottom","paddingLeft","borderRadius","borderTopWidth","borderTopColor","justifyContent","paddingVertical","borderWidth","borderColor","marginRight"],"sourceRoot":"..\\..\\..\\src","sources":["components/Overlay.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,164 @@
1
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { View, Text, StyleSheet, TouchableOpacity, Dimensions } from 'react-native';
3
+ import BottomSheet from '@gorhom/bottom-sheet';
4
+ import Icon from 'react-native-vector-icons/MaterialIcons';
5
+ import { PlatformList } from './PlatformList';
6
+ import { PinInput } from './PinInput';
7
+ import { TrainingModal } from './TrainingModal';
8
+ import { useConnections } from '../hooks/useConnections';
9
+ import { COLORS } from '../constants';
10
+ const {
11
+ height
12
+ } = Dimensions.get('window');
13
+ export const UniversalOnboarding = ({
14
+ visible,
15
+ onClose,
16
+ AppName,
17
+ requestData,
18
+ returnLink,
19
+ onComplete,
20
+ embedd,
21
+ debug,
22
+ test
23
+ }) => {
24
+ const bottomSheetRef = useRef(null);
25
+ const [step, setStep] = useState('connect');
26
+ const [connections, setConnections] = useState({});
27
+ const [pin, setPin] = useState('');
28
+ const [training, setTraining] = useState({
29
+ progress: 0,
30
+ eta: ''
31
+ });
32
+ const {
33
+ connectPlatform,
34
+ disconnectPlatform,
35
+ getConnectionStatus,
36
+ isConnecting
37
+ } = useConnections();
38
+ const snapPoints = useMemo(() => ['90%'], []);
39
+ useEffect(() => {
40
+ if (visible) {
41
+ var _bottomSheetRef$curre;
42
+ (_bottomSheetRef$curre = bottomSheetRef.current) === null || _bottomSheetRef$curre === void 0 || _bottomSheetRef$curre.expand();
43
+ loadInitialStatus();
44
+ } else {
45
+ var _bottomSheetRef$curre2;
46
+ (_bottomSheetRef$curre2 = bottomSheetRef.current) === null || _bottomSheetRef$curre2 === void 0 || _bottomSheetRef$curre2.close();
47
+ }
48
+ }, [visible]);
49
+ const loadInitialStatus = useCallback(async () => {
50
+ const status = await getConnectionStatus();
51
+ setConnections(status);
52
+ }, [getConnectionStatus]);
53
+ const handlePlatformToggle = useCallback(async (platform, connect) => {
54
+ try {
55
+ if (connect) {
56
+ await connectPlatform(platform);
57
+ } else {
58
+ await disconnectPlatform(platform);
59
+ }
60
+ await loadInitialStatus();
61
+ } catch (error) {
62
+ console.error(`Error toggling ${platform}:`, error);
63
+ }
64
+ }, [connectPlatform, disconnectPlatform, loadInitialStatus]);
65
+ const handlePinSubmit = useCallback(async userPin => {
66
+ setPin(userPin);
67
+ setStep('training');
68
+ // Simulate training progress
69
+ let progress = 0;
70
+ const interval = setInterval(() => {
71
+ progress += 0.1;
72
+ setTraining({
73
+ progress,
74
+ eta: `${Math.round((1 - progress) * 100)} seconds remaining`
75
+ });
76
+ if (progress >= 1) {
77
+ clearInterval(interval);
78
+ onComplete('https://api2.onairos.uk', 'dummy-token', {
79
+ pin: userPin,
80
+ connections
81
+ });
82
+ }
83
+ }, 1000);
84
+ }, [connections, onComplete]);
85
+ const canProceedToPin = useMemo(() => {
86
+ const connectedPlatforms = Object.values(connections).filter(Boolean).length;
87
+ return connectedPlatforms >= 2;
88
+ }, [connections]);
89
+ const renderHeader = () => /*#__PURE__*/React.createElement(View, {
90
+ style: styles.header
91
+ }, /*#__PURE__*/React.createElement(Icon, {
92
+ name: "auto_awesome",
93
+ size: 24,
94
+ color: COLORS.primary
95
+ }), /*#__PURE__*/React.createElement(Text, {
96
+ style: styles.headerTitle
97
+ }, "Connect with Onairos"), /*#__PURE__*/React.createElement(TouchableOpacity, {
98
+ onPress: onClose,
99
+ style: styles.closeButton
100
+ }, /*#__PURE__*/React.createElement(Icon, {
101
+ name: "close",
102
+ size: 24,
103
+ color: "#000"
104
+ })));
105
+ const renderContent = () => {
106
+ switch (step) {
107
+ case 'connect':
108
+ return /*#__PURE__*/React.createElement(PlatformList, {
109
+ connections: connections,
110
+ onToggle: handlePlatformToggle,
111
+ isLoading: isConnecting,
112
+ canProceed: canProceedToPin,
113
+ onProceed: () => setStep('pin')
114
+ });
115
+ case 'pin':
116
+ return /*#__PURE__*/React.createElement(PinInput, {
117
+ onSubmit: handlePinSubmit,
118
+ minLength: 8,
119
+ requireSpecialChar: true,
120
+ requireNumber: true
121
+ });
122
+ case 'training':
123
+ return /*#__PURE__*/React.createElement(TrainingModal, {
124
+ progress: training.progress,
125
+ eta: training.eta,
126
+ onCancel: onClose
127
+ });
128
+ }
129
+ };
130
+ return /*#__PURE__*/React.createElement(BottomSheet, {
131
+ ref: bottomSheetRef,
132
+ snapPoints: snapPoints,
133
+ enablePanDownToClose: true,
134
+ onClose: onClose,
135
+ index: visible ? 0 : -1
136
+ }, /*#__PURE__*/React.createElement(View, {
137
+ style: styles.container
138
+ }, renderHeader(), renderContent()));
139
+ };
140
+ const styles = StyleSheet.create({
141
+ container: {
142
+ flex: 1,
143
+ backgroundColor: '#fff'
144
+ },
145
+ header: {
146
+ flexDirection: 'row',
147
+ alignItems: 'center',
148
+ padding: 16,
149
+ backgroundColor: COLORS.headerBg,
150
+ borderTopLeftRadius: 16,
151
+ borderTopRightRadius: 16
152
+ },
153
+ headerTitle: {
154
+ flex: 1,
155
+ fontSize: 18,
156
+ fontWeight: '600',
157
+ marginLeft: 12,
158
+ color: '#000'
159
+ },
160
+ closeButton: {
161
+ padding: 8
162
+ }
163
+ });
164
+ //# sourceMappingURL=UniversalOnboarding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","Text","StyleSheet","TouchableOpacity","Dimensions","BottomSheet","Icon","PlatformList","PinInput","TrainingModal","useConnections","COLORS","height","get","UniversalOnboarding","visible","onClose","AppName","requestData","returnLink","onComplete","embedd","debug","test","bottomSheetRef","step","setStep","connections","setConnections","pin","setPin","training","setTraining","progress","eta","connectPlatform","disconnectPlatform","getConnectionStatus","isConnecting","snapPoints","_bottomSheetRef$curre","current","expand","loadInitialStatus","_bottomSheetRef$curre2","close","status","handlePlatformToggle","platform","connect","error","console","handlePinSubmit","userPin","interval","setInterval","Math","round","clearInterval","canProceedToPin","connectedPlatforms","Object","values","filter","Boolean","length","renderHeader","createElement","style","styles","header","name","size","color","primary","headerTitle","onPress","closeButton","renderContent","onToggle","isLoading","canProceed","onProceed","onSubmit","minLength","requireSpecialChar","requireNumber","onCancel","ref","enablePanDownToClose","index","container","create","flex","backgroundColor","flexDirection","alignItems","padding","headerBg","borderTopLeftRadius","borderTopRightRadius","fontSize","fontWeight","marginLeft"],"sourceRoot":"..\\..\\..\\src","sources":["components/UniversalOnboarding.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,128 @@
1
+ import React, { useCallback, useState } from 'react';
2
+ import { View, StyleSheet, ActivityIndicator, SafeAreaView, TouchableOpacity } from 'react-native';
3
+ import { WebView } from 'react-native-webview';
4
+ import Icon from 'react-native-vector-icons/MaterialIcons';
5
+ import { COLORS } from '../../constants';
6
+ export const OAuthWebView = ({
7
+ url,
8
+ platform,
9
+ onComplete,
10
+ onClose
11
+ }) => {
12
+ const [loading, setLoading] = useState(true);
13
+ const handleNavigationStateChange = useCallback(navState => {
14
+ // Check if the URL includes our redirect URI
15
+ if (navState.url.startsWith('onairosreact://auth/')) {
16
+ // OAuth flow is complete - callback will be handled by the deep link handler
17
+ onComplete();
18
+ return;
19
+ }
20
+ }, [onComplete]);
21
+ const handleLoadEnd = useCallback(() => {
22
+ setLoading(false);
23
+ }, []);
24
+ return /*#__PURE__*/React.createElement(SafeAreaView, {
25
+ style: styles.container
26
+ }, /*#__PURE__*/React.createElement(View, {
27
+ style: styles.header
28
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
29
+ onPress: onClose,
30
+ style: styles.closeButton
31
+ }, /*#__PURE__*/React.createElement(Icon, {
32
+ name: "close",
33
+ size: 24,
34
+ color: "#000"
35
+ })), /*#__PURE__*/React.createElement(View, {
36
+ style: styles.titleContainer
37
+ }, /*#__PURE__*/React.createElement(Icon, {
38
+ name: getPlatformIcon(platform),
39
+ size: 20,
40
+ color: getPlatformColor(platform)
41
+ }))), /*#__PURE__*/React.createElement(WebView, {
42
+ source: {
43
+ uri: url
44
+ },
45
+ onNavigationStateChange: handleNavigationStateChange,
46
+ onLoadEnd: handleLoadEnd,
47
+ startInLoadingState: true,
48
+ renderLoading: () => null // We'll handle our own loading UI
49
+ ,
50
+ style: styles.webView
51
+ }), loading && /*#__PURE__*/React.createElement(View, {
52
+ style: styles.loadingContainer
53
+ }, /*#__PURE__*/React.createElement(ActivityIndicator, {
54
+ size: "large",
55
+ color: COLORS.primary
56
+ })));
57
+ };
58
+
59
+ /**
60
+ * Get platform-specific icon
61
+ */
62
+ const getPlatformIcon = platform => {
63
+ switch (platform) {
64
+ case 'instagram':
65
+ return 'photo-camera';
66
+ case 'youtube':
67
+ return 'smart-display';
68
+ case 'pinterest':
69
+ return 'push-pin';
70
+ case 'reddit':
71
+ return 'forum';
72
+ default:
73
+ return 'link';
74
+ }
75
+ };
76
+
77
+ /**
78
+ * Get platform-specific color
79
+ */
80
+ const getPlatformColor = platform => {
81
+ switch (platform) {
82
+ case 'instagram':
83
+ return '#E1306C';
84
+ case 'youtube':
85
+ return '#FF0000';
86
+ case 'pinterest':
87
+ return '#E60023';
88
+ case 'reddit':
89
+ return '#FF4500';
90
+ default:
91
+ return COLORS.primary;
92
+ }
93
+ };
94
+ const styles = StyleSheet.create({
95
+ container: {
96
+ flex: 1,
97
+ backgroundColor: '#fff'
98
+ },
99
+ header: {
100
+ flexDirection: 'row',
101
+ alignItems: 'center',
102
+ height: 56,
103
+ backgroundColor: '#f8f8f8',
104
+ borderBottomWidth: 1,
105
+ borderBottomColor: '#e0e0e0',
106
+ paddingHorizontal: 16
107
+ },
108
+ titleContainer: {
109
+ flex: 1,
110
+ alignItems: 'center'
111
+ },
112
+ closeButton: {
113
+ padding: 8,
114
+ position: 'absolute',
115
+ left: 16,
116
+ zIndex: 10
117
+ },
118
+ webView: {
119
+ flex: 1
120
+ },
121
+ loadingContainer: {
122
+ ...StyleSheet.absoluteFillObject,
123
+ backgroundColor: 'rgba(255, 255, 255, 0.8)',
124
+ alignItems: 'center',
125
+ justifyContent: 'center'
126
+ }
127
+ });
128
+ //# sourceMappingURL=OAuthWebView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useState","View","StyleSheet","ActivityIndicator","SafeAreaView","TouchableOpacity","WebView","Icon","COLORS","OAuthWebView","url","platform","onComplete","onClose","loading","setLoading","handleNavigationStateChange","navState","startsWith","handleLoadEnd","createElement","style","styles","container","header","onPress","closeButton","name","size","color","titleContainer","getPlatformIcon","getPlatformColor","source","uri","onNavigationStateChange","onLoadEnd","startInLoadingState","renderLoading","webView","loadingContainer","primary","create","flex","backgroundColor","flexDirection","alignItems","height","borderBottomWidth","borderBottomColor","paddingHorizontal","padding","position","left","zIndex","absoluteFillObject","justifyContent"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OAuthWebView.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ import React from 'react';
2
+ import { View, Text, StyleSheet, TouchableOpacity } from 'react-native';
3
+ import Icon from 'react-native-vector-icons/MaterialIcons';
4
+ import { COLORS } from '../../constants';
5
+ export const OnboardingHeader = ({
6
+ title,
7
+ subtitle,
8
+ showBackButton = false,
9
+ onBack,
10
+ onClose
11
+ }) => {
12
+ return /*#__PURE__*/React.createElement(View, {
13
+ style: styles.header
14
+ }, showBackButton && /*#__PURE__*/React.createElement(TouchableOpacity, {
15
+ style: styles.backButton,
16
+ onPress: onBack
17
+ }, /*#__PURE__*/React.createElement(Icon, {
18
+ name: "arrow-back",
19
+ size: 24,
20
+ color: "#000"
21
+ })), /*#__PURE__*/React.createElement(View, {
22
+ style: styles.titleContainer
23
+ }, /*#__PURE__*/React.createElement(Text, {
24
+ style: styles.title
25
+ }, title), subtitle && /*#__PURE__*/React.createElement(Text, {
26
+ style: styles.subtitle
27
+ }, subtitle)), /*#__PURE__*/React.createElement(TouchableOpacity, {
28
+ style: styles.closeButton,
29
+ onPress: onClose
30
+ }, /*#__PURE__*/React.createElement(Icon, {
31
+ name: "close",
32
+ size: 24,
33
+ color: "#000"
34
+ })));
35
+ };
36
+ const styles = StyleSheet.create({
37
+ header: {
38
+ flexDirection: 'row',
39
+ alignItems: 'center',
40
+ padding: 16,
41
+ backgroundColor: COLORS.headerBg,
42
+ borderTopLeftRadius: 16,
43
+ borderTopRightRadius: 16
44
+ },
45
+ backButton: {
46
+ padding: 8,
47
+ marginRight: 8
48
+ },
49
+ titleContainer: {
50
+ flex: 1
51
+ },
52
+ title: {
53
+ fontSize: 18,
54
+ fontWeight: '600',
55
+ color: '#000'
56
+ },
57
+ subtitle: {
58
+ fontSize: 14,
59
+ color: '#666',
60
+ marginTop: 4
61
+ },
62
+ closeButton: {
63
+ padding: 8
64
+ }
65
+ });
66
+ //# sourceMappingURL=OnboardingHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","Text","StyleSheet","TouchableOpacity","Icon","COLORS","OnboardingHeader","title","subtitle","showBackButton","onBack","onClose","createElement","style","styles","header","backButton","onPress","name","size","color","titleContainer","closeButton","create","flexDirection","alignItems","padding","backgroundColor","headerBg","borderTopLeftRadius","borderTopRightRadius","marginRight","flex","fontSize","fontWeight","marginTop"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OnboardingHeader.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AACvE,OAAOC,IAAI,MAAM,yCAAyC;AAC1D,SAASC,MAAM,QAAQ,iBAAiB;AAUxC,OAAO,MAAMC,gBAAiD,GAAGA,CAAC;EAChEC,KAAK;EACLC,QAAQ;EACRC,cAAc,GAAG,KAAK;EACtBC,MAAM;EACNC;AACF,CAAC,KAAK;EACJ,oBACEZ,KAAA,CAAAa,aAAA,CAACZ,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACC;EAAO,GACxBN,cAAc,iBACbV,KAAA,CAAAa,aAAA,CAACT,gBAAgB;IAACU,KAAK,EAAEC,MAAM,CAACE,UAAW;IAACC,OAAO,EAAEP;EAAO,gBAC1DX,KAAA,CAAAa,aAAA,CAACR,IAAI;IAACc,IAAI,EAAC,YAAY;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAM,CAAE,CAChC,CACnB,eAEDrB,KAAA,CAAAa,aAAA,CAACZ,IAAI;IAACa,KAAK,EAAEC,MAAM,CAACO;EAAe,gBACjCtB,KAAA,CAAAa,aAAA,CAACX,IAAI;IAACY,KAAK,EAAEC,MAAM,CAACP;EAAM,GAAEA,KAAY,CAAC,EACxCC,QAAQ,iBAAIT,KAAA,CAAAa,aAAA,CAACX,IAAI;IAACY,KAAK,EAAEC,MAAM,CAACN;EAAS,GAAEA,QAAe,CACvD,CAAC,eAEPT,KAAA,CAAAa,aAAA,CAACT,gBAAgB;IAACU,KAAK,EAAEC,MAAM,CAACQ,WAAY;IAACL,OAAO,EAAEN;EAAQ,gBAC5DZ,KAAA,CAAAa,aAAA,CAACR,IAAI;IAACc,IAAI,EAAC,OAAO;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAM,CAAE,CAC3B,CACd,CAAC;AAEX,CAAC;AAED,MAAMN,MAAM,GAAGZ,UAAU,CAACqB,MAAM,CAAC;EAC/BR,MAAM,EAAE;IACNS,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,EAAE;IACXC,eAAe,EAAEtB,MAAM,CAACuB,QAAQ;IAChCC,mBAAmB,EAAE,EAAE;IACvBC,oBAAoB,EAAE;EACxB,CAAC;EACDd,UAAU,EAAE;IACVU,OAAO,EAAE,CAAC;IACVK,WAAW,EAAE;EACf,CAAC;EACDV,cAAc,EAAE;IACdW,IAAI,EAAE;EACR,CAAC;EACDzB,KAAK,EAAE;IACL0B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBd,KAAK,EAAE;EACT,CAAC;EACDZ,QAAQ,EAAE;IACRyB,QAAQ,EAAE,EAAE;IACZb,KAAK,EAAE,MAAM;IACbe,SAAS,EAAE;EACb,CAAC;EACDb,WAAW,EAAE;IACXI,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,274 @@
1
+ import React, { useState, useCallback, useEffect } from 'react';
2
+ import { View, Text, StyleSheet, TextInput, TouchableOpacity, Keyboard, KeyboardAvoidingView, Platform } from 'react-native';
3
+ import Icon from 'react-native-vector-icons/MaterialIcons';
4
+ import { COLORS } from '../../constants';
5
+ export const PinInput = ({
6
+ onSubmit,
7
+ minLength = 6,
8
+ requireSpecialChar = true,
9
+ requireNumber = true
10
+ }) => {
11
+ const [pin, setPin] = useState('');
12
+ const [confirmPin, setConfirmPin] = useState('');
13
+ const [showPin, setShowPin] = useState(false);
14
+ const [errors, setErrors] = useState([]);
15
+ const [step, setStep] = useState('create');
16
+
17
+ // Validate pin whenever it changes
18
+ useEffect(() => {
19
+ if (step === 'create') {
20
+ validatePin(pin);
21
+ }
22
+ }, [pin, step]);
23
+
24
+ // Validate PIN strength and requirements
25
+ const validatePin = useCallback(value => {
26
+ const newErrors = [];
27
+ if (value.length < minLength) {
28
+ newErrors.push(`PIN must be at least ${minLength} characters`);
29
+ }
30
+ if (requireNumber && !/\d/.test(value)) {
31
+ newErrors.push('PIN must include at least one number');
32
+ }
33
+ if (requireSpecialChar && !/[!@#$%^&*(),.?":{}|<>]/.test(value)) {
34
+ newErrors.push('PIN must include at least one special character');
35
+ }
36
+ setErrors(newErrors);
37
+ return newErrors.length === 0;
38
+ }, [minLength, requireNumber, requireSpecialChar]);
39
+
40
+ // Handle PIN submission
41
+ const handleSubmit = useCallback(() => {
42
+ if (step === 'create') {
43
+ if (validatePin(pin)) {
44
+ setStep('confirm');
45
+ }
46
+ } else {
47
+ // Confirm PIN
48
+ if (pin === confirmPin) {
49
+ Keyboard.dismiss();
50
+ onSubmit(pin);
51
+ } else {
52
+ setErrors(['PINs do not match']);
53
+ setConfirmPin('');
54
+ }
55
+ }
56
+ }, [pin, confirmPin, step, validatePin, onSubmit]);
57
+
58
+ // Go back to PIN creation step
59
+ const handleBack = useCallback(() => {
60
+ setStep('create');
61
+ setConfirmPin('');
62
+ setErrors([]);
63
+ }, []);
64
+
65
+ // Toggle PIN visibility
66
+ const togglePinVisibility = useCallback(() => {
67
+ setShowPin(!showPin);
68
+ }, [showPin]);
69
+ return /*#__PURE__*/React.createElement(KeyboardAvoidingView, {
70
+ behavior: Platform.OS === 'ios' ? 'padding' : 'height',
71
+ style: styles.container
72
+ }, /*#__PURE__*/React.createElement(View, {
73
+ style: styles.content
74
+ }, /*#__PURE__*/React.createElement(Text, {
75
+ style: styles.title
76
+ }, step === 'create' ? 'Create a PIN' : 'Confirm your PIN'), /*#__PURE__*/React.createElement(Text, {
77
+ style: styles.subtitle
78
+ }, step === 'create' ? 'This PIN will protect your Onairos account' : 'Please re-enter your PIN to confirm'), /*#__PURE__*/React.createElement(View, {
79
+ style: styles.inputContainer
80
+ }, /*#__PURE__*/React.createElement(TextInput, {
81
+ style: styles.input,
82
+ value: step === 'create' ? pin : confirmPin,
83
+ onChangeText: step === 'create' ? setPin : setConfirmPin,
84
+ secureTextEntry: !showPin,
85
+ keyboardType: "default",
86
+ autoCapitalize: "none",
87
+ autoCorrect: false,
88
+ placeholder: step === 'create' ? 'Enter PIN' : 'Confirm PIN',
89
+ placeholderTextColor: "#999",
90
+ returnKeyType: "done",
91
+ onSubmitEditing: handleSubmit
92
+ }), /*#__PURE__*/React.createElement(TouchableOpacity, {
93
+ style: styles.visibilityToggle,
94
+ onPress: togglePinVisibility
95
+ }, /*#__PURE__*/React.createElement(Icon, {
96
+ name: showPin ? 'visibility-off' : 'visibility',
97
+ size: 24,
98
+ color: "#999"
99
+ }))), errors.length > 0 && /*#__PURE__*/React.createElement(View, {
100
+ style: styles.errorContainer
101
+ }, errors.map((error, index) => /*#__PURE__*/React.createElement(View, {
102
+ key: index,
103
+ style: styles.errorItem
104
+ }, /*#__PURE__*/React.createElement(Icon, {
105
+ name: "error-outline",
106
+ size: 16,
107
+ color: "#f44336"
108
+ }), /*#__PURE__*/React.createElement(Text, {
109
+ style: styles.errorText
110
+ }, error)))), step === 'create' && /*#__PURE__*/React.createElement(View, {
111
+ style: styles.requirementsContainer
112
+ }, /*#__PURE__*/React.createElement(Text, {
113
+ style: styles.requirementsTitle
114
+ }, "PIN Requirements:"), /*#__PURE__*/React.createElement(View, {
115
+ style: styles.requirement
116
+ }, /*#__PURE__*/React.createElement(Icon, {
117
+ name: pin.length >= minLength ? 'check-circle' : 'radio-button-unchecked',
118
+ size: 16,
119
+ color: pin.length >= minLength ? '#4caf50' : '#999'
120
+ }), /*#__PURE__*/React.createElement(Text, {
121
+ style: [styles.requirementText, {
122
+ color: pin.length >= minLength ? '#4caf50' : '#999'
123
+ }]
124
+ }, "At least ", minLength, " characters")), requireNumber && /*#__PURE__*/React.createElement(View, {
125
+ style: styles.requirement
126
+ }, /*#__PURE__*/React.createElement(Icon, {
127
+ name: /\d/.test(pin) ? 'check-circle' : 'radio-button-unchecked',
128
+ size: 16,
129
+ color: /\d/.test(pin) ? '#4caf50' : '#999'
130
+ }), /*#__PURE__*/React.createElement(Text, {
131
+ style: [styles.requirementText, {
132
+ color: /\d/.test(pin) ? '#4caf50' : '#999'
133
+ }]
134
+ }, "Include at least one number")), requireSpecialChar && /*#__PURE__*/React.createElement(View, {
135
+ style: styles.requirement
136
+ }, /*#__PURE__*/React.createElement(Icon, {
137
+ name: /[!@#$%^&*(),.?":{}|<>]/.test(pin) ? 'check-circle' : 'radio-button-unchecked',
138
+ size: 16,
139
+ color: /[!@#$%^&*(),.?":{}|<>]/.test(pin) ? '#4caf50' : '#999'
140
+ }), /*#__PURE__*/React.createElement(Text, {
141
+ style: [styles.requirementText, {
142
+ color: /[!@#$%^&*(),.?":{}|<>]/.test(pin) ? '#4caf50' : '#999'
143
+ }]
144
+ }, "Include at least one special character"))), /*#__PURE__*/React.createElement(View, {
145
+ style: styles.buttonContainer
146
+ }, step === 'confirm' && /*#__PURE__*/React.createElement(TouchableOpacity, {
147
+ style: [styles.button, styles.backButton],
148
+ onPress: handleBack
149
+ }, /*#__PURE__*/React.createElement(Icon, {
150
+ name: "arrow-back",
151
+ size: 20,
152
+ color: COLORS.primary
153
+ }), /*#__PURE__*/React.createElement(Text, {
154
+ style: [styles.buttonText, styles.backButtonText]
155
+ }, "Back")), /*#__PURE__*/React.createElement(TouchableOpacity, {
156
+ style: [styles.button, styles.nextButton, step === 'create' && errors.length > 0 || step === 'confirm' && !confirmPin ? styles.disabledButton : null],
157
+ onPress: handleSubmit,
158
+ disabled: step === 'create' && errors.length > 0 || step === 'confirm' && !confirmPin
159
+ }, /*#__PURE__*/React.createElement(Text, {
160
+ style: [styles.buttonText, styles.nextButtonText]
161
+ }, step === 'create' ? 'Next' : 'Submit'), /*#__PURE__*/React.createElement(Icon, {
162
+ name: "arrow-forward",
163
+ size: 20,
164
+ color: "#fff"
165
+ })))));
166
+ };
167
+ const styles = StyleSheet.create({
168
+ container: {
169
+ flex: 1
170
+ },
171
+ content: {
172
+ padding: 24
173
+ },
174
+ title: {
175
+ fontSize: 24,
176
+ fontWeight: 'bold',
177
+ marginBottom: 8,
178
+ color: '#000'
179
+ },
180
+ subtitle: {
181
+ fontSize: 16,
182
+ color: '#666',
183
+ marginBottom: 24
184
+ },
185
+ inputContainer: {
186
+ flexDirection: 'row',
187
+ alignItems: 'center',
188
+ borderWidth: 1,
189
+ borderColor: '#ddd',
190
+ borderRadius: 8,
191
+ backgroundColor: '#f9f9f9',
192
+ marginBottom: 16
193
+ },
194
+ input: {
195
+ flex: 1,
196
+ paddingHorizontal: 16,
197
+ paddingVertical: 12,
198
+ fontSize: 16,
199
+ color: '#000'
200
+ },
201
+ visibilityToggle: {
202
+ padding: 12
203
+ },
204
+ errorContainer: {
205
+ marginBottom: 16
206
+ },
207
+ errorItem: {
208
+ flexDirection: 'row',
209
+ alignItems: 'center',
210
+ marginBottom: 4
211
+ },
212
+ errorText: {
213
+ color: '#f44336',
214
+ marginLeft: 6
215
+ },
216
+ requirementsContainer: {
217
+ backgroundColor: '#f5f5f5',
218
+ padding: 16,
219
+ borderRadius: 8,
220
+ marginBottom: 24
221
+ },
222
+ requirementsTitle: {
223
+ fontSize: 14,
224
+ fontWeight: '600',
225
+ marginBottom: 8,
226
+ color: '#000'
227
+ },
228
+ requirement: {
229
+ flexDirection: 'row',
230
+ alignItems: 'center',
231
+ marginBottom: 8
232
+ },
233
+ requirementText: {
234
+ marginLeft: 8,
235
+ fontSize: 14
236
+ },
237
+ buttonContainer: {
238
+ flexDirection: 'row',
239
+ justifyContent: 'space-between'
240
+ },
241
+ button: {
242
+ flexDirection: 'row',
243
+ alignItems: 'center',
244
+ paddingVertical: 12,
245
+ paddingHorizontal: 20,
246
+ borderRadius: 25
247
+ },
248
+ backButton: {
249
+ backgroundColor: 'transparent',
250
+ borderWidth: 1,
251
+ borderColor: COLORS.primary
252
+ },
253
+ nextButton: {
254
+ backgroundColor: COLORS.primary,
255
+ minWidth: 120,
256
+ justifyContent: 'center'
257
+ },
258
+ disabledButton: {
259
+ backgroundColor: '#ccc'
260
+ },
261
+ buttonText: {
262
+ fontSize: 16,
263
+ fontWeight: '600'
264
+ },
265
+ backButtonText: {
266
+ color: COLORS.primary,
267
+ marginLeft: 8
268
+ },
269
+ nextButtonText: {
270
+ color: '#fff',
271
+ marginRight: 8
272
+ }
273
+ });
274
+ //# sourceMappingURL=PinInput.js.map