@onairos/react-native 3.0.8 → 3.0.10

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 (33) hide show
  1. package/lib/commonjs/assets/images/onairos_logo.svg +6 -0
  2. package/lib/commonjs/components/Onairos.js +214 -60
  3. package/lib/commonjs/components/Onairos.js.map +1 -1
  4. package/lib/commonjs/components/OnairosButton.js +105 -42
  5. package/lib/commonjs/components/OnairosButton.js.map +1 -1
  6. package/lib/commonjs/components/Overlay.js +26 -23
  7. package/lib/commonjs/components/Overlay.js.map +1 -1
  8. package/lib/commonjs/components/UniversalOnboarding.js +98 -26
  9. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
  10. package/lib/module/assets/images/onairos_logo.svg +6 -0
  11. package/lib/module/components/Onairos.js +217 -62
  12. package/lib/module/components/Onairos.js.map +1 -1
  13. package/lib/module/components/OnairosButton.js +107 -43
  14. package/lib/module/components/OnairosButton.js.map +1 -1
  15. package/lib/module/components/Overlay.js +27 -24
  16. package/lib/module/components/Overlay.js.map +1 -1
  17. package/lib/module/components/UniversalOnboarding.js +100 -28
  18. package/lib/module/components/UniversalOnboarding.js.map +1 -1
  19. package/lib/typescript/components/Onairos.d.ts +26 -24
  20. package/lib/typescript/components/Onairos.d.ts.map +1 -1
  21. package/lib/typescript/components/OnairosButton.d.ts +5 -1
  22. package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
  23. package/lib/typescript/components/Overlay.d.ts.map +1 -1
  24. package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
  25. package/lib/typescript/types.d.ts +2 -1
  26. package/lib/typescript/types.d.ts.map +1 -1
  27. package/package.json +5 -3
  28. package/src/assets/images/onairos_logo.svg +6 -0
  29. package/src/components/Onairos.tsx +283 -89
  30. package/src/components/OnairosButton.tsx +110 -46
  31. package/src/components/Overlay.tsx +118 -110
  32. package/src/components/UniversalOnboarding.tsx +105 -28
  33. package/src/types.ts +2 -1
@@ -1,81 +1,236 @@
1
- import React, { useState, useCallback, useEffect } from 'react';
2
- import { View } from 'react-native';
3
- import { OnairosButton } from './OnairosButton';
4
- import { hasCredentials, getCredentials } from '../utils/secureStorage';
5
- /**
6
- * Main Onairos component - wraps OnairosButton with additional state management and logic
7
- */
8
- export const Onairos = ({
9
- AppName,
1
+ import React, { forwardRef, useImperativeHandle, useState, useCallback } from 'react';
2
+ import { StyleSheet, View, TouchableOpacity, Text } from 'react-native';
3
+ import { SvgXml } from 'react-native-svg';
4
+ import { UniversalOnboarding } from './UniversalOnboarding';
5
+ import { Overlay } from './Overlay';
6
+ import { hasCredentials, getCredentials, deleteCredentials } from '../utils/secureStorage';
7
+ import { onairosApi } from '../api';
8
+ import { Portal } from '../utils/Portal';
9
+ // Import the Onairos logo SVG
10
+ const onairosLogoSvg = `<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
11
+ <rect width="40" height="40" rx="8" fill="currentColor"/>
12
+ <path d="M20 10C14.48 10 10 14.48 10 20C10 25.52 14.48 30 20 30C25.52 30 30 25.52 30 20C30 14.48 25.52 10 20 10ZM20 28C15.59 28 12 24.41 12 20C12 15.59 15.59 12 20 12C24.41 12 28 15.59 28 20C28 24.41 24.41 28 20 28Z" fill="white"/>
13
+ <path d="M20 15C18.9 15 18 15.9 18 17V19C18 20.1 18.9 21 20 21C21.1 21 22 20.1 22 19V17C22 15.9 21.1 15 20 15Z" fill="white"/>
14
+ <path d="M20 24C19.448 24 19 24.448 19 25C19 25.552 19.448 26 20 26C20.552 26 21 25.552 21 25C21 24.448 20.552 24 20 24Z" fill="white"/>
15
+ </svg>`;
16
+ export const Onairos = /*#__PURE__*/forwardRef(({
10
17
  returnLink,
11
- requestData,
18
+ prefillUrl,
19
+ AppName,
12
20
  buttonType = 'normal',
13
- buttonForm = 'default',
14
- buttonWidth,
21
+ requestData,
22
+ buttonWidth = 180,
15
23
  buttonHeight,
24
+ hasStroke = false,
25
+ enabled = true,
26
+ buttonForm = 'default',
27
+ onRejection,
28
+ onResolved,
29
+ preCheck,
16
30
  color,
17
- hasStroke,
31
+ debug = false,
32
+ darkMode = false,
18
33
  preferredPlatform,
19
- onResolved,
20
- onRejection,
21
- testMode = false,
22
- containerStyle
23
- }) => {
24
- const [isInitialized, setIsInitialized] = useState(false);
25
- const [hasExistingCredentials, setHasExistingCredentials] = useState(false);
26
- const initialize = useCallback(async () => {
34
+ testMode = false
35
+ }, ref) => {
36
+ const [showOnboarding, setShowOnboarding] = useState(false);
37
+ const [showOverlay, setShowOverlay] = useState(false);
38
+ const [storedCredentials, setStoredCredentials] = useState(null);
39
+ const [isLoading, setIsLoading] = useState(false);
40
+ const [isPressed, setIsPressed] = useState(false);
41
+
42
+ // Expose methods for external control
43
+ useImperativeHandle(ref, () => ({
44
+ trigger: async () => {
45
+ await handlePress();
46
+ },
47
+ reset: async () => {
48
+ await deleteCredentials();
49
+ }
50
+ }));
51
+
52
+ // Compute button text based on buttonForm
53
+ const getButtonText = () => {
54
+ if (buttonForm === 'connect') {
55
+ return 'Connect with Onairos';
56
+ } else {
57
+ return 'Sign in with Onairos';
58
+ }
59
+ };
60
+
61
+ // Calculate background color based on props and state
62
+ const getBackgroundColor = () => {
63
+ if (!enabled) {
64
+ return darkMode ? '#3A3A3A' : '#e0e0e0';
65
+ }
66
+ if (isPressed) {
67
+ return color ? typeof color === 'string' ? `${color}80` : color : darkMode ? '#32323280' : '#f5f5f580';
68
+ }
69
+ return color || (darkMode ? '#2A2A2A' : '#ffffff');
70
+ };
71
+
72
+ // Calculate text color based on background luminance
73
+ const getTextColor = () => {
74
+ if (!enabled) {
75
+ return darkMode ? '#777777' : '#AAAAAA';
76
+ }
77
+ if (darkMode) {
78
+ return '#FFFFFF';
79
+ }
80
+ const bgColor = getBackgroundColor();
81
+ // Simple luminance check - in a real app, this would use a proper algorithm
82
+ return bgColor === '#ffffff' || bgColor === '#f5f5f580' || bgColor.includes('#f') ? '#000000' : '#FFFFFF';
83
+ };
84
+ const handlePress = async () => {
85
+ if (!enabled || isLoading) return;
86
+ setIsLoading(true);
27
87
  try {
28
- // Check for existing credentials
29
- const credentialsExist = await hasCredentials();
30
- setHasExistingCredentials(credentialsExist);
31
- if (credentialsExist) {
32
- // Load credentials to verify they are valid
88
+ if (preCheck) {
89
+ const shouldProceed = await preCheck();
90
+ if (!shouldProceed) {
91
+ onRejection === null || onRejection === void 0 || onRejection('Precheck validation failed');
92
+ setIsLoading(false);
93
+ return;
94
+ }
95
+ }
96
+
97
+ // Check if credentials exist
98
+ const hasStoredCreds = await hasCredentials();
99
+ if (hasStoredCreds) {
100
+ // If credentials exist, fetch them and verify
33
101
  const credentials = await getCredentials();
34
- if (!credentials || !credentials.username || !credentials.userPin) {
35
- setHasExistingCredentials(false);
102
+ if (!credentials || !credentials.username) {
103
+ // Invalid credentials, clear and start fresh
104
+ await deleteCredentials();
105
+ setShowOnboarding(true);
106
+ setIsLoading(false);
107
+ return;
36
108
  }
109
+ try {
110
+ // Validate credentials with server
111
+ const isValid = await onairosApi.validateCredentials(credentials.username);
112
+ if (!isValid) {
113
+ // Clear invalid credentials
114
+ await deleteCredentials();
115
+ setShowOnboarding(true);
116
+ setIsLoading(false);
117
+ return;
118
+ }
119
+
120
+ // Store and display overlay with valid credentials
121
+ setStoredCredentials(credentials);
122
+ setShowOverlay(true);
123
+ } catch (validationError) {
124
+ console.warn('Validation error, proceeding to onboarding:', validationError);
125
+ setShowOnboarding(true);
126
+ }
127
+ } else {
128
+ // If no credentials, show onboarding
129
+ setShowOnboarding(true);
37
130
  }
38
131
  } catch (error) {
39
- console.error('Error initializing Onairos:', error);
132
+ console.error('Error during button press flow:', error);
133
+ // Fall back to onboarding on error
134
+ setShowOnboarding(true);
135
+ onRejection === null || onRejection === void 0 || onRejection(error instanceof Error ? error.message : 'Unknown error');
40
136
  } finally {
41
- setIsInitialized(true);
137
+ setIsLoading(false);
42
138
  }
43
- }, []);
44
- useEffect(() => {
45
- initialize();
46
- }, [initialize]);
47
- const handleResolved = useCallback((apiUrl, token, userData) => {
139
+ };
140
+ const handleOnboardingComplete = useCallback((apiUrl, token, data) => {
141
+ setShowOnboarding(false);
48
142
  if (onResolved) {
49
- onResolved(apiUrl, token, userData);
143
+ onResolved(apiUrl, token, data);
50
144
  }
51
145
  }, [onResolved]);
52
- const handleRejection = useCallback(error => {
53
- if (onRejection) {
54
- onRejection(error);
146
+ const handleOverlayResolved = useCallback((apiUrl, token, data) => {
147
+ setShowOverlay(false);
148
+ if (onResolved) {
149
+ onResolved(apiUrl, token, data);
55
150
  }
56
- }, [onRejection]);
57
- if (!isInitialized) {
58
- // Could render a loading state here if needed
59
- return null;
60
- }
61
- return /*#__PURE__*/React.createElement(View, {
62
- style: containerStyle
63
- }, /*#__PURE__*/React.createElement(OnairosButton, {
151
+ }, [onResolved]);
152
+
153
+ // Apply custom styling based on props
154
+ const buttonStyle = [styles.button, {
155
+ width: buttonWidth,
156
+ height: buttonHeight || 48,
157
+ backgroundColor: getBackgroundColor(),
158
+ borderWidth: hasStroke ? 1 : 0,
159
+ borderColor: darkMode ? '#555555' : '#000000',
160
+ borderRadius: buttonType === 'pill' ? 24 : 8
161
+ }];
162
+ const textStyle = {
163
+ ...styles.buttonText,
164
+ color: getTextColor(),
165
+ opacity: enabled ? 1 : 0.7
166
+ };
167
+ const logoColor = getTextColor();
168
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TouchableOpacity, {
169
+ style: buttonStyle,
170
+ onPress: handlePress,
171
+ disabled: !enabled || isLoading,
172
+ accessibilityLabel: "Sign in with Onairos",
173
+ onPressIn: () => setIsPressed(true),
174
+ onPressOut: () => setIsPressed(false)
175
+ }, /*#__PURE__*/React.createElement(View, {
176
+ style: styles.buttonContent
177
+ }, /*#__PURE__*/React.createElement(SvgXml, {
178
+ xml: onairosLogoSvg.replace('currentColor', logoColor),
179
+ width: 24,
180
+ height: 24,
181
+ style: styles.logo
182
+ }), /*#__PURE__*/React.createElement(Text, {
183
+ style: textStyle
184
+ }, getButtonText()))), showOnboarding && /*#__PURE__*/React.createElement(UniversalOnboarding, {
185
+ visible: showOnboarding,
186
+ onClose: () => {
187
+ setShowOnboarding(false);
188
+ onRejection === null || onRejection === void 0 || onRejection('User closed onboarding');
189
+ },
64
190
  AppName: AppName,
65
- returnLink: returnLink,
66
191
  requestData: requestData,
67
- buttonType: buttonType,
68
- buttonForm: buttonForm,
69
- buttonWidth: buttonWidth,
70
- buttonHeight: buttonHeight,
71
- color: color,
72
- hasStroke: hasStroke,
73
- enabled: true,
74
- preferredPlatform: preferredPlatform,
75
- onResolved: handleResolved,
76
- onRejection: handleRejection,
77
- preCheck: async () => true,
78
- testMode: testMode
79
- }));
80
- };
192
+ returnLink: returnLink || '',
193
+ onComplete: handleOnboardingComplete,
194
+ debug: debug,
195
+ test: testMode,
196
+ preferredPlatform: preferredPlatform
197
+ }), showOverlay && storedCredentials && /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(Overlay, {
198
+ data: requestData || {},
199
+ username: storedCredentials.username,
200
+ modelKey: storedCredentials.userPin || '',
201
+ onResolved: handleOverlayResolved,
202
+ appName: AppName,
203
+ darkMode: darkMode
204
+ })));
205
+ });
206
+ const styles = StyleSheet.create({
207
+ button: {
208
+ flexDirection: 'row',
209
+ alignItems: 'center',
210
+ justifyContent: 'center',
211
+ paddingVertical: 12,
212
+ paddingHorizontal: 16,
213
+ shadowColor: '#000',
214
+ shadowOffset: {
215
+ width: 0,
216
+ height: 2
217
+ },
218
+ shadowOpacity: 0.1,
219
+ shadowRadius: 4,
220
+ elevation: 2
221
+ },
222
+ buttonContent: {
223
+ flexDirection: 'row',
224
+ alignItems: 'center',
225
+ justifyContent: 'center'
226
+ },
227
+ logo: {
228
+ marginRight: 8
229
+ },
230
+ buttonText: {
231
+ fontSize: 16,
232
+ fontWeight: '600',
233
+ textAlign: 'center'
234
+ }
235
+ });
81
236
  //# sourceMappingURL=Onairos.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useCallback","useEffect","View","OnairosButton","hasCredentials","getCredentials","Onairos","AppName","returnLink","requestData","buttonType","buttonForm","buttonWidth","buttonHeight","color","hasStroke","preferredPlatform","onResolved","onRejection","testMode","containerStyle","isInitialized","setIsInitialized","hasExistingCredentials","setHasExistingCredentials","initialize","credentialsExist","credentials","username","userPin","error","console","handleResolved","apiUrl","token","userData","handleRejection","createElement","style","enabled","preCheck"],"sourceRoot":"..\\..\\..\\src","sources":["components/Onairos.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,QAAQ,OAAO;AAC/D,SAAmBC,IAAI,QAAQ,cAAc;AAC7C,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,SAASC,cAAc,EAAEC,cAAc,QAAQ,wBAAwB;AA4BvE;AACA;AACA;AACA,OAAO,MAAMC,OAA+B,GAAGA,CAAC;EAC9CC,OAAO;EACPC,UAAU;EACVC,WAAW;EACXC,UAAU,GAAG,QAAQ;EACrBC,UAAU,GAAG,SAAS;EACtBC,WAAW;EACXC,YAAY;EACZC,KAAK;EACLC,SAAS;EACTC,iBAAiB;EACjBC,UAAU;EACVC,WAAW;EACXC,QAAQ,GAAG,KAAK;EAChBC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGvB,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACwB,sBAAsB,EAAEC,yBAAyB,CAAC,GAAGzB,QAAQ,CAAC,KAAK,CAAC;EAE3E,MAAM0B,UAAU,GAAGzB,WAAW,CAAC,YAAY;IACzC,IAAI;MACF;MACA,MAAM0B,gBAAgB,GAAG,MAAMtB,cAAc,CAAC,CAAC;MAC/CoB,yBAAyB,CAACE,gBAAgB,CAAC;MAE3C,IAAIA,gBAAgB,EAAE;QACpB;QACA,MAAMC,WAAW,GAAG,MAAMtB,cAAc,CAAC,CAAC;QAC1C,IAAI,CAACsB,WAAW,IAAI,CAACA,WAAW,CAACC,QAAQ,IAAI,CAACD,WAAW,CAACE,OAAO,EAAE;UACjEL,yBAAyB,CAAC,KAAK,CAAC;QAClC;MACF;IACF,CAAC,CAAC,OAAOM,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACrD,CAAC,SAAS;MACRR,gBAAgB,CAAC,IAAI,CAAC;IACxB;EACF,CAAC,EAAE,EAAE,CAAC;EAENrB,SAAS,CAAC,MAAM;IACdwB,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMO,cAAc,GAAGhC,WAAW,CAAC,CAACiC,MAAc,EAAEC,KAAa,EAAEC,QAAa,KAAK;IACnF,IAAIlB,UAAU,EAAE;MACdA,UAAU,CAACgB,MAAM,EAAEC,KAAK,EAAEC,QAAQ,CAAC;IACrC;EACF,CAAC,EAAE,CAAClB,UAAU,CAAC,CAAC;EAEhB,MAAMmB,eAAe,GAAGpC,WAAW,CAAE8B,KAAc,IAAK;IACtD,IAAIZ,WAAW,EAAE;MACfA,WAAW,CAACY,KAAK,CAAC;IACpB;EACF,CAAC,EAAE,CAACZ,WAAW,CAAC,CAAC;EAEjB,IAAI,CAACG,aAAa,EAAE;IAClB;IACA,OAAO,IAAI;EACb;EAEA,oBACEvB,KAAA,CAAAuC,aAAA,CAACnC,IAAI;IAACoC,KAAK,EAAElB;EAAe,gBAC1BtB,KAAA,CAAAuC,aAAA,CAAClC,aAAa;IACZI,OAAO,EAAEA,OAAQ;IACjBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,YAAY,EAAEA,YAAa;IAC3BC,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEA,SAAU;IACrBwB,OAAO,EAAE,IAAK;IACdvB,iBAAiB,EAAEA,iBAAkB;IACrCC,UAAU,EAAEe,cAAe;IAC3Bd,WAAW,EAAEkB,eAAgB;IAC7BI,QAAQ,EAAE,MAAAA,CAAA,KAAY,IAAK;IAC3BrB,QAAQ,EAAEA;EAAS,CACpB,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","forwardRef","useImperativeHandle","useState","useCallback","StyleSheet","View","TouchableOpacity","Text","SvgXml","UniversalOnboarding","Overlay","hasCredentials","getCredentials","deleteCredentials","onairosApi","Portal","onairosLogoSvg","Onairos","returnLink","prefillUrl","AppName","buttonType","requestData","buttonWidth","buttonHeight","hasStroke","enabled","buttonForm","onRejection","onResolved","preCheck","color","debug","darkMode","preferredPlatform","testMode","ref","showOnboarding","setShowOnboarding","showOverlay","setShowOverlay","storedCredentials","setStoredCredentials","isLoading","setIsLoading","isPressed","setIsPressed","trigger","handlePress","reset","getButtonText","getBackgroundColor","getTextColor","bgColor","includes","shouldProceed","hasStoredCreds","credentials","username","isValid","validateCredentials","validationError","console","warn","error","Error","message","handleOnboardingComplete","apiUrl","token","data","handleOverlayResolved","buttonStyle","styles","button","width","height","backgroundColor","borderWidth","borderColor","borderRadius","textStyle","buttonText","opacity","logoColor","createElement","Fragment","style","onPress","disabled","accessibilityLabel","onPressIn","onPressOut","buttonContent","xml","replace","logo","visible","onClose","onComplete","test","modelKey","userPin","appName","create","flexDirection","alignItems","justifyContent","paddingVertical","paddingHorizontal","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","marginRight","fontSize","fontWeight","textAlign"],"sourceRoot":"..\\..\\..\\src","sources":["components/Onairos.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,23 +1,31 @@
1
- import React, { useState, useCallback } from 'react';
2
- import { TouchableOpacity, Text, StyleSheet, ActivityIndicator } from 'react-native';
1
+ import React, { useState, useCallback, forwardRef, useImperativeHandle } from 'react';
2
+ import { TouchableOpacity, Text, StyleSheet, View, ActivityIndicator } from 'react-native';
3
+ import { SvgXml } from 'react-native-svg';
3
4
  import { UniversalOnboarding } from './UniversalOnboarding';
4
5
  import { Overlay } from './Overlay';
5
6
  import { hasCredentials, getCredentials, deleteCredentials as clearCredentials } from '../utils/secureStorage';
6
7
  import { onairosApi } from '../api';
7
8
  import { Portal } from '../utils/Portal';
8
9
 
10
+ // Import the Onairos logo SVG
11
+ const onairosLogoSvg = `<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
12
+ <rect width="40" height="40" rx="8" fill="currentColor"/>
13
+ <path d="M20 10C14.48 10 10 14.48 10 20C10 25.52 14.48 30 20 30C25.52 30 30 25.52 30 20C30 14.48 25.52 10 20 10ZM20 28C15.59 28 12 24.41 12 20C12 15.59 15.59 12 20 12C24.41 12 28 15.59 28 20C28 24.41 24.41 28 20 28Z" fill="white"/>
14
+ <path d="M20 15C18.9 15 18 15.9 18 17V19C18 20.1 18.9 21 20 21C21.1 21 22 20.1 22 19V17C22 15.9 21.1 15 20 15Z" fill="white"/>
15
+ <path d="M20 24C19.448 24 19 24.448 19 25C19 25.552 19.448 26 20 26C20.552 26 21 25.552 21 25C21 24.448 20.552 24 20 24Z" fill="white"/>
16
+ </svg>`;
9
17
  /**
10
18
  * OnairosButton Component - A sign-in button similar to Google/Apple sign-in
11
19
  */
12
- export const OnairosButton = ({
20
+ export const OnairosButton = /*#__PURE__*/forwardRef(({
13
21
  returnLink,
14
22
  prefillUrl,
15
23
  AppName,
16
24
  buttonType = 'normal',
17
25
  requestData,
18
- buttonWidth = 240,
26
+ buttonWidth = 180,
19
27
  buttonHeight = 48,
20
- hasStroke = true,
28
+ hasStroke = false,
21
29
  enabled = true,
22
30
  buttonForm = 'default',
23
31
  onRejection,
@@ -26,14 +34,58 @@ export const OnairosButton = ({
26
34
  color,
27
35
  swerv = false,
28
36
  debug = false,
37
+ darkMode = false,
29
38
  preferredPlatform,
30
39
  testMode = false
31
- }) => {
40
+ }, ref) => {
32
41
  const [showOnboarding, setShowOnboarding] = useState(false);
33
42
  const [showOverlay, setShowOverlay] = useState(false);
34
43
  const [storedCredentials, setStoredCredentials] = useState(null);
35
44
  const [isLoading, setIsLoading] = useState(false);
36
- const isDarkMode = color === 'black' || !color && !hasStroke;
45
+ const [isPressed, setIsPressed] = useState(false);
46
+
47
+ // Expose methods via ref
48
+ useImperativeHandle(ref, () => ({
49
+ trigger: async () => {
50
+ await handlePress();
51
+ },
52
+ reset: async () => {
53
+ await clearCredentials();
54
+ }
55
+ }));
56
+
57
+ // Compute button text based on buttonForm
58
+ const getButtonText = () => {
59
+ if (buttonForm === 'connect' || buttonForm === 'signup') {
60
+ return 'Connect with Onairos';
61
+ } else {
62
+ return 'Sign in with Onairos';
63
+ }
64
+ };
65
+
66
+ // Calculate background color based on props and state
67
+ const getBackgroundColor = () => {
68
+ if (!enabled) {
69
+ return darkMode ? '#3A3A3A' : '#e0e0e0';
70
+ }
71
+ if (isPressed) {
72
+ return color ? typeof color === 'string' ? `${color}80` : color : darkMode ? '#32323280' : '#f5f5f580';
73
+ }
74
+ return color || (darkMode ? '#2A2A2A' : '#ffffff');
75
+ };
76
+
77
+ // Calculate text color based on background luminance
78
+ const getTextColor = () => {
79
+ if (!enabled) {
80
+ return darkMode ? '#777777' : '#AAAAAA';
81
+ }
82
+ if (darkMode) {
83
+ return '#FFFFFF';
84
+ }
85
+ const bgColor = getBackgroundColor();
86
+ // Simple luminance check
87
+ return bgColor === '#ffffff' || bgColor === '#f5f5f580' || bgColor.includes('#f') ? '#000000' : '#FFFFFF';
88
+ };
37
89
  const handlePress = async () => {
38
90
  if (!enabled || isLoading) return;
39
91
  setIsLoading(true);
@@ -60,7 +112,7 @@ export const OnairosButton = ({
60
112
  return;
61
113
  }
62
114
  try {
63
- // Validate credentials with server - catch errors here to prevent crashing
115
+ // Validate credentials with server
64
116
  const isValid = await onairosApi.validateCredentials(credentials.username);
65
117
  if (!isValid) {
66
118
  // Clear invalid credentials
@@ -106,26 +158,38 @@ export const OnairosButton = ({
106
158
  // Calculate button styles based on props
107
159
  const buttonStyle = [styles.button, buttonType === 'pill' && styles.pillButton, hasStroke && styles.strokedButton, {
108
160
  width: buttonWidth,
109
- height: buttonHeight
110
- }, color ? {
111
- backgroundColor: color
112
- } : null, isDarkMode ? styles.darkButton : styles.lightButton, swerv && styles.swervButton, !enabled && styles.disabledButton].filter(Boolean);
161
+ height: buttonHeight,
162
+ backgroundColor: getBackgroundColor(),
163
+ borderColor: darkMode ? '#555555' : '#000000'
164
+ }, swerv && styles.swervButton, !enabled && styles.disabledButton].filter(Boolean);
113
165
 
114
- // Calculate text styles based on props
115
- const textStyle = [styles.buttonText, isDarkMode ? styles.lightText : styles.darkText, !enabled && styles.disabledText].filter(Boolean);
166
+ // Calculate text color
167
+ const textColor = getTextColor();
168
+ const logoColor = textColor;
116
169
 
117
170
  // Render components
118
171
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TouchableOpacity, {
119
172
  style: buttonStyle,
120
173
  onPress: handlePress,
121
174
  disabled: !enabled || isLoading,
122
- accessibilityLabel: `Sign in with Onairos`
175
+ accessibilityLabel: `Sign in with Onairos`,
176
+ onPressIn: () => setIsPressed(true),
177
+ onPressOut: () => setIsPressed(false)
123
178
  }, isLoading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
124
179
  size: "small",
125
- color: isDarkMode ? '#fff' : '#000'
126
- }) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Text, {
127
- style: textStyle
128
- }, "Sign in with Onairos"))), showOnboarding && /*#__PURE__*/React.createElement(UniversalOnboarding, {
180
+ color: textColor
181
+ }) : /*#__PURE__*/React.createElement(View, {
182
+ style: styles.buttonContent
183
+ }, /*#__PURE__*/React.createElement(SvgXml, {
184
+ xml: onairosLogoSvg.replace('currentColor', logoColor),
185
+ width: 24,
186
+ height: 24,
187
+ style: styles.logo
188
+ }), /*#__PURE__*/React.createElement(Text, {
189
+ style: [styles.buttonText, {
190
+ color: textColor
191
+ }]
192
+ }, getButtonText()))), showOnboarding && /*#__PURE__*/React.createElement(UniversalOnboarding, {
129
193
  visible: showOnboarding,
130
194
  onClose: () => {
131
195
  setShowOnboarding(false);
@@ -133,18 +197,20 @@ export const OnairosButton = ({
133
197
  },
134
198
  AppName: AppName,
135
199
  requestData: requestData,
136
- returnLink: returnLink,
200
+ returnLink: returnLink || '',
137
201
  onComplete: handleOnboardingComplete,
138
202
  debug: debug,
139
- test: testMode
203
+ test: testMode,
204
+ preferredPlatform: preferredPlatform
140
205
  }), showOverlay && storedCredentials && /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(Overlay, {
141
206
  data: requestData || {},
142
207
  username: storedCredentials.username,
143
208
  modelKey: storedCredentials.userPin || '',
144
209
  onResolved: handleOverlayResolved,
145
- appName: AppName
210
+ appName: AppName,
211
+ darkMode: darkMode
146
212
  })));
147
- };
213
+ });
148
214
  const styles = StyleSheet.create({
149
215
  button: {
150
216
  flexDirection: 'row',
@@ -152,29 +218,36 @@ const styles = StyleSheet.create({
152
218
  justifyContent: 'center',
153
219
  paddingVertical: 12,
154
220
  paddingHorizontal: 16,
155
- borderRadius: 4
221
+ borderRadius: 8,
222
+ shadowColor: '#000',
223
+ shadowOffset: {
224
+ width: 0,
225
+ height: 2
226
+ },
227
+ shadowOpacity: 0.1,
228
+ shadowRadius: 4,
229
+ elevation: 2
230
+ },
231
+ buttonContent: {
232
+ flexDirection: 'row',
233
+ alignItems: 'center',
234
+ justifyContent: 'center'
235
+ },
236
+ logo: {
237
+ marginRight: 8
156
238
  },
157
239
  pillButton: {
158
240
  borderRadius: 24
159
241
  },
160
242
  strokedButton: {
161
243
  backgroundColor: 'transparent',
162
- borderWidth: 1,
163
- borderColor: '#000'
244
+ borderWidth: 1
164
245
  },
165
246
  swervButton: {
166
247
  transform: [{
167
248
  rotate: '-2deg'
168
249
  }]
169
250
  },
170
- darkButton: {
171
- backgroundColor: '#000',
172
- borderColor: '#000'
173
- },
174
- lightButton: {
175
- backgroundColor: '#fff',
176
- borderColor: '#000'
177
- },
178
251
  disabledButton: {
179
252
  opacity: 0.6
180
253
  },
@@ -182,15 +255,6 @@ const styles = StyleSheet.create({
182
255
  fontSize: 16,
183
256
  fontWeight: '600',
184
257
  textAlign: 'center'
185
- },
186
- lightText: {
187
- color: '#fff'
188
- },
189
- darkText: {
190
- color: '#000'
191
- },
192
- disabledText: {
193
- opacity: 0.7
194
258
  }
195
259
  });
196
260
  //# sourceMappingURL=OnairosButton.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useCallback","TouchableOpacity","Text","StyleSheet","ActivityIndicator","UniversalOnboarding","Overlay","hasCredentials","getCredentials","deleteCredentials","clearCredentials","onairosApi","Portal","OnairosButton","returnLink","prefillUrl","AppName","buttonType","requestData","buttonWidth","buttonHeight","hasStroke","enabled","buttonForm","onRejection","onResolved","preCheck","color","swerv","debug","preferredPlatform","testMode","showOnboarding","setShowOnboarding","showOverlay","setShowOverlay","storedCredentials","setStoredCredentials","isLoading","setIsLoading","isDarkMode","handlePress","shouldProceed","hasStoredCreds","credentials","username","isValid","validateCredentials","validationError","console","warn","error","Error","message","handleOnboardingComplete","apiUrl","token","data","handleOverlayResolved","buttonStyle","styles","button","pillButton","strokedButton","width","height","backgroundColor","darkButton","lightButton","swervButton","disabledButton","filter","Boolean","textStyle","buttonText","lightText","darkText","disabledText","createElement","Fragment","style","onPress","disabled","accessibilityLabel","size","visible","onClose","onComplete","test","modelKey","userPin","appName","create","flexDirection","alignItems","justifyContent","paddingVertical","paddingHorizontal","borderRadius","borderWidth","borderColor","transform","rotate","opacity","fontSize","fontWeight","textAlign"],"sourceRoot":"..\\..\\..\\src","sources":["components/OnairosButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useCallback","forwardRef","useImperativeHandle","TouchableOpacity","Text","StyleSheet","View","ActivityIndicator","SvgXml","UniversalOnboarding","Overlay","hasCredentials","getCredentials","deleteCredentials","clearCredentials","onairosApi","Portal","onairosLogoSvg","OnairosButton","returnLink","prefillUrl","AppName","buttonType","requestData","buttonWidth","buttonHeight","hasStroke","enabled","buttonForm","onRejection","onResolved","preCheck","color","swerv","debug","darkMode","preferredPlatform","testMode","ref","showOnboarding","setShowOnboarding","showOverlay","setShowOverlay","storedCredentials","setStoredCredentials","isLoading","setIsLoading","isPressed","setIsPressed","trigger","handlePress","reset","getButtonText","getBackgroundColor","getTextColor","bgColor","includes","shouldProceed","hasStoredCreds","credentials","username","isValid","validateCredentials","validationError","console","warn","error","Error","message","handleOnboardingComplete","apiUrl","token","data","handleOverlayResolved","buttonStyle","styles","button","pillButton","strokedButton","width","height","backgroundColor","borderColor","swervButton","disabledButton","filter","Boolean","textColor","logoColor","createElement","Fragment","style","onPress","disabled","accessibilityLabel","onPressIn","onPressOut","size","buttonContent","xml","replace","logo","buttonText","visible","onClose","onComplete","test","modelKey","userPin","appName","create","flexDirection","alignItems","justifyContent","paddingVertical","paddingHorizontal","borderRadius","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","marginRight","borderWidth","transform","rotate","opacity","fontSize","fontWeight","textAlign"],"sourceRoot":"..\\..\\..\\src","sources":["components/OnairosButton.tsx"],"mappings":"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","ignoreList":[]}