@rownd/react-native 2.11.1 → 2.11.2

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 (62) hide show
  1. package/android/.gradle/7.4/checksums/checksums.lock +0 -0
  2. package/android/.gradle/7.4/checksums/md5-checksums.bin +0 -0
  3. package/android/.gradle/7.4/checksums/sha1-checksums.bin +0 -0
  4. package/android/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
  5. package/android/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
  6. package/android/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  8. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  9. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  10. package/android/build.gradle +1 -1
  11. package/android/src/main/java/com/reactnativerowndplugin/RowndPluginModule.kt +17 -0
  12. package/ios/RowndPlugin.m +3 -0
  13. package/ios/RowndPlugin.swift +23 -3
  14. package/lib/commonjs/components/RequireSignIn.js +43 -0
  15. package/lib/commonjs/components/RequireSignIn.js.map +1 -0
  16. package/lib/commonjs/components/SignedIn.js +31 -0
  17. package/lib/commonjs/components/SignedIn.js.map +1 -0
  18. package/lib/commonjs/components/SignedOut.js +31 -0
  19. package/lib/commonjs/components/SignedOut.js.map +1 -0
  20. package/lib/commonjs/hooks/rownd.js +10 -7
  21. package/lib/commonjs/hooks/rownd.js.map +1 -1
  22. package/lib/commonjs/index.js +26 -0
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/utils/nativeModule.js +5 -0
  25. package/lib/commonjs/utils/nativeModule.js.map +1 -1
  26. package/lib/module/components/RequireSignIn.js +30 -0
  27. package/lib/module/components/RequireSignIn.js.map +1 -0
  28. package/lib/module/components/SignedIn.js +20 -0
  29. package/lib/module/components/SignedIn.js.map +1 -0
  30. package/lib/module/components/SignedOut.js +20 -0
  31. package/lib/module/components/SignedOut.js.map +1 -0
  32. package/lib/module/hooks/rownd.js +11 -8
  33. package/lib/module/hooks/rownd.js.map +1 -1
  34. package/lib/module/index.js +4 -1
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/utils/nativeModule.js +3 -0
  37. package/lib/module/utils/nativeModule.js.map +1 -1
  38. package/lib/typescript/components/RequireSignIn.d.ts +9 -0
  39. package/lib/typescript/components/SignedIn.d.ts +6 -0
  40. package/lib/typescript/components/SignedOut.d.ts +6 -0
  41. package/lib/typescript/hooks/rownd.d.ts +9 -6
  42. package/lib/typescript/index.d.ts +4 -1
  43. package/lib/typescript/utils/nativeModule.d.ts +1 -0
  44. package/package.json +1 -1
  45. package/rownd-react-native.podspec +1 -1
  46. package/src/components/RequireSignIn.tsx +34 -0
  47. package/src/components/SignedIn.tsx +17 -0
  48. package/src/components/SignedOut.tsx +17 -0
  49. package/src/hooks/rownd.ts +20 -13
  50. package/src/index.tsx +4 -1
  51. package/src/utils/nativeModule.ts +4 -0
  52. package/android/.gradle/7.4/executionHistory/executionHistory.bin +0 -0
  53. package/android/.gradle/7.4/fileHashes/fileHashes.bin +0 -0
  54. package/android/.gradle/7.4/fileHashes/resourceHashesCache.bin +0 -0
  55. package/android/.gradle/file-system.probe +0 -0
  56. package/android/.idea/compiler.xml +0 -6
  57. package/android/.idea/gradle.xml +0 -18
  58. package/android/.idea/jarRepositories.xml +0 -30
  59. package/android/.idea/misc.xml +0 -10
  60. package/android/.idea/vcs.xml +0 -6
  61. package/android/local.properties +0 -8
  62. package/ios/Rownd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
@@ -1,2 +1,2 @@
1
- #Tue Nov 01 11:51:54 EDT 2022
1
+ #Mon Sep 11 09:35:22 EDT 2023
2
2
  gradle.version=7.4
@@ -136,7 +136,7 @@ dependencies {
136
136
  //noinspection GradleDynamicVersion
137
137
  implementation "com.facebook.react:react-native:+"
138
138
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
139
- implementation 'io.rownd:android:2.6.0'
139
+ implementation 'io.rownd:android:2.6.1'
140
140
  implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2"
141
141
  implementation 'androidx.compose.ui:ui-unit:1.3.0'
142
142
  implementation 'androidx.compose.ui:ui-graphics:1.3.0'
@@ -3,6 +3,7 @@ package com.reactnativerowndplugin
3
3
  import android.content.res.Configuration
4
4
  import android.os.Handler
5
5
  import android.os.Looper
6
+ import android.util.Log
6
7
  import androidx.compose.ui.graphics.Color
7
8
  import androidx.compose.ui.unit.Dp
8
9
  import androidx.compose.ui.unit.dp
@@ -13,8 +14,11 @@ import io.rownd.android.*
13
14
  import io.rownd.android.Rownd
14
15
  import io.rownd.android.RowndSignInHint
15
16
  import io.rownd.android.RowndSignInOptions
17
+ import io.rownd.android.models.ConnectionActionPayload
18
+ import io.rownd.android.models.FirebaseGetIdTokenResponse
16
19
  import io.rownd.android.models.RowndCustomizations
17
20
  import io.rownd.android.models.repos.GlobalState
21
+ import io.rownd.android.util.RowndException
18
22
  import kotlinx.coroutines.*
19
23
  import kotlinx.serialization.SerialName
20
24
  import kotlinx.serialization.json.Json
@@ -47,6 +51,7 @@ class AppCustomizations(app: FragmentActivity) : RowndCustomizations() {
47
51
  class RowndPluginModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) {
48
52
  private var uiThreadHandler = Handler(Looper.getMainLooper())
49
53
  private var coroutineScope: Job? = null
54
+ private var coroutineScope2: Job? = null
50
55
  private var isRowndJSInitialized = false
51
56
 
52
57
  override fun getName(): String {
@@ -203,4 +208,16 @@ class RowndPluginModule(reactContext: ReactApplicationContext) : ReactContextBas
203
208
  }
204
209
  }
205
210
  }
211
+
212
+ @ReactMethod
213
+ fun getFirebaseIdToken(promise: Promise) {
214
+ CoroutineScope(Dispatchers.IO).async {
215
+ try {
216
+ val token: String? = Rownd.Firebase().getIdToken().await()
217
+ promise.resolve(token ?: "")
218
+ } catch (e: Throwable) {
219
+ promise.reject("ROWND PLUGIN MODULE ERROR: ${e.message}")
220
+ }
221
+ }
222
+ }
206
223
  }
package/ios/RowndPlugin.m CHANGED
@@ -22,6 +22,9 @@ RCT_EXTERN_METHOD(getAccessToken:(NSString *)token
22
22
  withResolver:(RCTPromiseResolveBlock)resolve
23
23
  withRejecter:(RCTPromiseRejectBlock)reject)
24
24
 
25
+ RCT_EXTERN_METHOD(getFirebaseIdToken:(RCTPromiseResolveBlock)resolve
26
+ withRejecter:(RCTPromiseRejectBlock)reject)
27
+
25
28
  RCT_EXTERN_METHOD(handleSignInLink:(NSString *)url)
26
29
 
27
30
  + (BOOL)requiresMainQueueSetup
@@ -25,6 +25,15 @@ class RowndPlugin: NSObject {
25
25
 
26
26
  @objc(configure:withResolver:withRejecter:)
27
27
  func configure(config: NSDictionary, resolve:RCTPromiseResolveBlock,reject:RCTPromiseRejectBlock) -> Void {
28
+
29
+ if let apiUrl = config.value(forKey: "apiUrl") as? String {
30
+ Rownd.config.apiUrl = apiUrl
31
+ }
32
+
33
+ if let baseUrl = config.value(forKey: "baseUrl") as? String {
34
+ Rownd.config.baseUrl = baseUrl
35
+ }
36
+
28
37
  if let appKey = config.value(forKey: "appKey") as? String {
29
38
  Task {
30
39
  await Rownd.configure(launchOptions: nil, appKey: appKey);
@@ -51,7 +60,7 @@ class RowndPlugin: NSObject {
51
60
  let json = loadingAnimation.data(using: .utf8)!
52
61
  do {
53
62
  let decoder = JSONDecoder()
54
- let animation = try decoder.decode(LottieAnimation.self, from: json)
63
+ let animation = try decoder.decode(Lottie.Animation.self, from: json)
55
64
  appCustomizations.loadingAnimation = animation
56
65
  } catch {
57
66
  print("Failed to encode Loading Animation: \(error)")
@@ -136,8 +145,19 @@ class RowndPlugin: NSObject {
136
145
  }
137
146
  resolve(accessToken ?? "")
138
147
  } catch {
139
- print("Failed to fetch Rownd access token")
140
- resolve("")
148
+ reject("Error","\(error)",error)
149
+ }
150
+ }
151
+ }
152
+
153
+ @objc(getFirebaseIdToken:withRejecter:)
154
+ func getFirebaseIdToken(resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
155
+ Task {
156
+ do {
157
+ let idToken = try await Rownd.firebase.getIdToken()
158
+ resolve(idToken)
159
+ } catch {
160
+ reject("Error","\(error)",error)
141
161
  }
142
162
  }
143
163
  }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _ = require("..");
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ const RequireSignIn = _ref => {
17
+ let {
18
+ children,
19
+ initializing,
20
+ signInProps
21
+ } = _ref;
22
+ const {
23
+ is_authenticated,
24
+ is_initializing,
25
+ requestSignIn
26
+ } = (0, _.useRownd)();
27
+ (0, _react.useEffect)(() => {
28
+ if (!is_authenticated && !is_initializing) {
29
+ requestSignIn({ ...signInProps
30
+ });
31
+ }
32
+ }, [is_authenticated, is_initializing, requestSignIn]);
33
+
34
+ if (is_initializing && initializing) {
35
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, initializing);
36
+ }
37
+
38
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
39
+ };
40
+
41
+ var _default = RequireSignIn;
42
+ exports.default = _default;
43
+ //# sourceMappingURL=RequireSignIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RequireSignIn","children","initializing","signInProps","is_authenticated","is_initializing","requestSignIn","useRownd","useEffect"],"sources":["RequireSignIn.tsx"],"sourcesContent":["import React, {\n FunctionComponent,\n useEffect,\n} from 'react';\nimport { useRownd } from '..';\nimport type { RequestSignIn } from 'src/hooks/rownd';\n\nexport type ContextProps = {\n children?: React.ReactNode;\n initializing?: React.ReactNode;\n signInProps?: RequestSignIn;\n};\n\nconst RequireSignIn: FunctionComponent<ContextProps> = ({\n children,\n initializing,\n signInProps,\n}) => {\n const { is_authenticated, is_initializing, requestSignIn } = useRownd();\n\n useEffect(() => {\n if (!is_authenticated && !is_initializing) {\n requestSignIn({ ...signInProps });\n }\n }, [is_authenticated, is_initializing, requestSignIn]);\n\n if (is_initializing && initializing) {\n return <>{initializing}</>;\n }\n\n return <>{children}</>;\n};\n\nexport default RequireSignIn;\n"],"mappings":";;;;;;;AAAA;;AAIA;;;;;;AASA,MAAMA,aAA8C,GAAG,QAIjD;EAAA,IAJkD;IACtDC,QADsD;IAEtDC,YAFsD;IAGtDC;EAHsD,CAIlD;EACJ,MAAM;IAAEC,gBAAF;IAAoBC,eAApB;IAAqCC;EAArC,IAAuD,IAAAC,UAAA,GAA7D;EAEA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAI,CAACJ,gBAAD,IAAqB,CAACC,eAA1B,EAA2C;MACzCC,aAAa,CAAC,EAAE,GAAGH;MAAL,CAAD,CAAb;IACD;EACF,CAJD,EAIG,CAACC,gBAAD,EAAmBC,eAAnB,EAAoCC,aAApC,CAJH;;EAMA,IAAID,eAAe,IAAIH,YAAvB,EAAqC;IACnC,oBAAO,4DAAGA,YAAH,CAAP;EACD;;EAED,oBAAO,4DAAGD,QAAH,CAAP;AACD,CAlBD;;eAoBeD,a"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _rownd = require("../hooks/rownd");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const SignedIn = _ref => {
15
+ let {
16
+ children
17
+ } = _ref;
18
+ const {
19
+ is_authenticated
20
+ } = (0, _rownd.useRownd)();
21
+
22
+ if (!is_authenticated) {
23
+ return null;
24
+ }
25
+
26
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
27
+ };
28
+
29
+ var _default = SignedIn;
30
+ exports.default = _default;
31
+ //# sourceMappingURL=SignedIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SignedIn","children","is_authenticated","useRownd"],"sources":["SignedIn.tsx"],"sourcesContent":["import React from 'react';\nimport { useRownd } from '../hooks/rownd';\n\ninterface SignedInProps {\n children: React.ReactNode;\n}\n\nconst SignedIn: React.FC<SignedInProps> = ({ children }) => {\n const { is_authenticated } = useRownd();\n\n if (!is_authenticated) {\n return null;\n }\n return <>{children}</>;\n};\n\nexport default SignedIn;"],"mappings":";;;;;;;AAAA;;AACA;;;;AAMA,MAAMA,QAAiC,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EAC1D,MAAM;IAAEC;EAAF,IAAuB,IAAAC,eAAA,GAA7B;;EAEA,IAAI,CAACD,gBAAL,EAAuB;IACrB,OAAO,IAAP;EACD;;EACD,oBAAO,4DAAGD,QAAH,CAAP;AACD,CAPD;;eASeD,Q"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _rownd = require("../hooks/rownd");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const SignedOut = _ref => {
15
+ let {
16
+ children
17
+ } = _ref;
18
+ const {
19
+ is_authenticated
20
+ } = (0, _rownd.useRownd)();
21
+
22
+ if (is_authenticated) {
23
+ return null;
24
+ }
25
+
26
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
27
+ };
28
+
29
+ var _default = SignedOut;
30
+ exports.default = _default;
31
+ //# sourceMappingURL=SignedOut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SignedOut","children","is_authenticated","useRownd"],"sources":["SignedOut.tsx"],"sourcesContent":["import React from 'react'\nimport { useRownd } from '../hooks/rownd';\n\ninterface SignedOutProps {\n children: React.ReactNode;\n}\n\nconst SignedOut: React.FC<SignedOutProps> = ({ children }) => {\n const { is_authenticated } = useRownd();\n\n if (is_authenticated) {\n return null;\n }\n return <>{children}</>;\n};\n\nexport default SignedOut"],"mappings":";;;;;;;AAAA;;AACA;;;;AAMA,MAAMA,SAAmC,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EAC5D,MAAM;IAAEC;EAAF,IAAuB,IAAAC,eAAA,GAA7B;;EAEA,IAAID,gBAAJ,EAAsB;IACpB,OAAO,IAAP;EACD;;EACD,oBAAO,4DAAGD,QAAH,CAAP;AACD,CAPD;;eASeD,S"}
@@ -14,19 +14,22 @@ function useRownd() {
14
14
  state
15
15
  } = (0, _GlobalContext.useRowndContext)();
16
16
  return {
17
+ access_token: state.auth.access_token,
18
+ auth: state.auth,
19
+ getAccessToken: _nativeModule.getAccessToken,
20
+ firebase: {
21
+ getIdToken: _nativeModule.getFirebaseIdToken
22
+ },
23
+ is_authenticated: !!state.auth.access_token,
24
+ is_initializing: !!state.auth.app_id,
25
+ manageAccount: _nativeModule.manageAccount,
17
26
  requestSignIn: _nativeModule.requestSignIn,
18
27
  signOut: _nativeModule.signOut,
19
- manageAccount: _nativeModule.manageAccount,
20
- getAccessToken: _nativeModule.getAccessToken,
21
28
  user: {
22
29
  data: state.user.data,
23
30
  setValue: _nativeModule.setUserDataValue,
24
31
  set: _nativeModule.setUserData
25
- },
26
- is_authenticated: !!state.auth.access_token,
27
- is_initializing: !!state.auth.app_id,
28
- auth: state.auth,
29
- access_token: state.auth.access_token
32
+ }
30
33
  };
31
34
  }
32
35
  //# sourceMappingURL=rownd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useRownd","state","useRowndContext","requestSignIn","signOut","manageAccount","getAccessToken","user","data","setValue","setUserDataValue","set","setUserData","is_authenticated","auth","access_token","is_initializing","app_id"],"sources":["rownd.ts"],"sourcesContent":["import {\n requestSignIn,\n signOut,\n manageAccount,\n getAccessToken,\n setUserDataValue,\n setUserData,\n} from '../utils/nativeModule';\nimport { useRowndContext } from '../components/GlobalContext';\n\nexport type TRowndContext = {\n requestSignIn: (e?: RequestSignIn) => void;\n signOut: () => void;\n manageAccount: () => void;\n getAccessToken: (token?: string) => Promise<string>;\n user: UserContext;\n is_authenticated: boolean;\n is_initializing: boolean;\n access_token: string | null;\n auth: AuthContext;\n};\n\ntype UserContext = {\n data: {\n id?: string;\n email?: string | null;\n phone?: string | null;\n [key: string]: any;\n };\n set: (data: Record<string, any>) => void;\n setValue: (key: string, value: any) => void;\n};\n\ntype AuthContext = {\n access_token: string | null;\n app_id: string | null;\n is_verified_user?: boolean;\n};\n\nexport type RequestSignInMethods = 'google' | 'apple' | 'default' | 'guest' | 'passkey';\nexport type RequestSignInIntent = 'sign_in' | 'sign_up';\nexport type RequestSignIn = {method?: RequestSignInMethods, postSignInRedirect?: string, intent?: RequestSignInIntent}\n\nexport function useRownd(): TRowndContext {\n const { state } = useRowndContext();\n\n return {\n requestSignIn,\n signOut,\n manageAccount,\n getAccessToken,\n user: {\n data: state.user.data,\n setValue: setUserDataValue,\n set: setUserData,\n },\n is_authenticated: !!state.auth.access_token,\n is_initializing: !!state.auth.app_id,\n auth: state.auth,\n access_token: state.auth.access_token,\n };\n}\n"],"mappings":";;;;;;;AAAA;;AAQA;;AAmCO,SAASA,QAAT,GAAmC;EACxC,MAAM;IAAEC;EAAF,IAAY,IAAAC,8BAAA,GAAlB;EAEA,OAAO;IACLC,aAAa,EAAbA,2BADK;IAELC,OAAO,EAAPA,qBAFK;IAGLC,aAAa,EAAbA,2BAHK;IAILC,cAAc,EAAdA,4BAJK;IAKLC,IAAI,EAAE;MACJC,IAAI,EAAEP,KAAK,CAACM,IAAN,CAAWC,IADb;MAEJC,QAAQ,EAAEC,8BAFN;MAGJC,GAAG,EAAEC;IAHD,CALD;IAULC,gBAAgB,EAAE,CAAC,CAACZ,KAAK,CAACa,IAAN,CAAWC,YAV1B;IAWLC,eAAe,EAAE,CAAC,CAACf,KAAK,CAACa,IAAN,CAAWG,MAXzB;IAYLH,IAAI,EAAEb,KAAK,CAACa,IAZP;IAaLC,YAAY,EAAEd,KAAK,CAACa,IAAN,CAAWC;EAbpB,CAAP;AAeD"}
1
+ {"version":3,"names":["useRownd","state","useRowndContext","access_token","auth","getAccessToken","firebase","getIdToken","getFirebaseIdToken","is_authenticated","is_initializing","app_id","manageAccount","requestSignIn","signOut","user","data","setValue","setUserDataValue","set","setUserData"],"sources":["rownd.ts"],"sourcesContent":["import {\n requestSignIn,\n signOut,\n manageAccount,\n getAccessToken,\n getFirebaseIdToken,\n setUserDataValue,\n setUserData,\n} from '../utils/nativeModule';\nimport { useRowndContext } from '../components/GlobalContext';\n\nexport type TRowndContext = {\n access_token: string | null;\n auth: AuthContext;\n is_authenticated: boolean;\n is_initializing: boolean;\n firebase: {\n getIdToken: () => Promise<string>;\n }\n getAccessToken: (token?: string) => Promise<string>;\n manageAccount: () => void;\n requestSignIn: (e?: RequestSignIn) => void;\n signOut: () => void;\n user: UserContext;\n};\n\ntype UserContext = {\n data: {\n id?: string;\n email?: string | null;\n phone?: string | null;\n [key: string]: any;\n };\n set: (data: Record<string, any>) => void;\n setValue: (key: string, value: any) => void;\n};\n\ntype AuthContext = {\n access_token: string | null;\n app_id: string | null;\n is_verified_user?: boolean;\n};\n\nexport type RequestSignInMethods = 'google' | 'apple' | 'default' | 'guest' | 'passkey';\nexport type RequestSignInIntent = 'sign_in' | 'sign_up';\nexport type RequestSignIn = {method?: RequestSignInMethods, postSignInRedirect?: string, intent?: RequestSignInIntent}\n\nexport function useRownd(): TRowndContext {\n const { state } = useRowndContext();\n\n return {\n access_token: state.auth.access_token,\n auth: state.auth,\n getAccessToken,\n firebase: {\n getIdToken: getFirebaseIdToken,\n },\n is_authenticated: !!state.auth.access_token,\n is_initializing: !!state.auth.app_id,\n manageAccount,\n requestSignIn,\n signOut,\n user: {\n data: state.user.data,\n setValue: setUserDataValue,\n set: setUserData,\n }, \n };\n}\n"],"mappings":";;;;;;;AAAA;;AASA;;AAsCO,SAASA,QAAT,GAAmC;EACxC,MAAM;IAAEC;EAAF,IAAY,IAAAC,8BAAA,GAAlB;EAEA,OAAO;IACLC,YAAY,EAAEF,KAAK,CAACG,IAAN,CAAWD,YADpB;IAELC,IAAI,EAAEH,KAAK,CAACG,IAFP;IAGLC,cAAc,EAAdA,4BAHK;IAILC,QAAQ,EAAE;MACRC,UAAU,EAAEC;IADJ,CAJL;IAOLC,gBAAgB,EAAE,CAAC,CAACR,KAAK,CAACG,IAAN,CAAWD,YAP1B;IAQLO,eAAe,EAAE,CAAC,CAACT,KAAK,CAACG,IAAN,CAAWO,MARzB;IASLC,aAAa,EAAbA,2BATK;IAULC,aAAa,EAAbA,2BAVK;IAWLC,OAAO,EAAPA,qBAXK;IAYLC,IAAI,EAAE;MACJC,IAAI,EAAEf,KAAK,CAACc,IAAN,CAAWC,IADb;MAEJC,QAAQ,EAAEC,8BAFN;MAGJC,GAAG,EAAEC;IAHD;EAZD,CAAP;AAkBD"}
@@ -3,12 +3,30 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "RequireSignIn", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _RequireSignIn.default;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "RowndProvider", {
7
13
  enumerable: true,
8
14
  get: function () {
9
15
  return _GlobalContext.RowndProvider;
10
16
  }
11
17
  });
18
+ Object.defineProperty(exports, "SignedIn", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _SignedIn.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "SignedOut", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _SignedOut.default;
28
+ }
29
+ });
12
30
  Object.defineProperty(exports, "useRownd", {
13
31
  enumerable: true,
14
32
  get: function () {
@@ -19,4 +37,12 @@ Object.defineProperty(exports, "useRownd", {
19
37
  var _GlobalContext = require("./components/GlobalContext");
20
38
 
21
39
  var _rownd = require("./hooks/rownd");
40
+
41
+ var _RequireSignIn = _interopRequireDefault(require("./components/RequireSignIn"));
42
+
43
+ var _SignedIn = _interopRequireDefault(require("./components/SignedIn"));
44
+
45
+ var _SignedOut = _interopRequireDefault(require("./components/SignedOut"));
46
+
47
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["import { RowndProvider } from './components/GlobalContext';\nimport { useRownd } from './hooks/rownd';\n\nexport { RowndProvider, useRownd };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["import { RowndProvider } from './components/GlobalContext';\nimport { useRownd } from './hooks/rownd';\nimport RequireSignIn from './components/RequireSignIn';\nimport SignedIn from './components/SignedIn';\nimport SignedOut from './components/SignedOut';\n\nexport { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA"}
@@ -7,6 +7,7 @@ exports.Rownd = exports.LINKING_ERROR = exports.IOSRowndEventEmitter = void 0;
7
7
  exports.configure = configure;
8
8
  exports.customizations = customizations;
9
9
  exports.getAccessToken = getAccessToken;
10
+ exports.getFirebaseIdToken = getFirebaseIdToken;
10
11
  exports.handleSignInLink = handleSignInLink;
11
12
  exports.manageAccount = manageAccount;
12
13
  exports.requestSignIn = requestSignIn;
@@ -70,6 +71,10 @@ function getAccessToken(token) {
70
71
  return Rownd.getAccessToken(token || null);
71
72
  }
72
73
 
74
+ function getFirebaseIdToken() {
75
+ return Rownd.getFirebaseIdToken();
76
+ }
77
+
73
78
  function setUserDataValue(key, value) {
74
79
  return Rownd.setUserDataValue(key, _reactNative.Platform.OS === 'android' ? {
75
80
  value
@@ -1 +1 @@
1
- {"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","Rownd","NativeModules","RowndPlugin","Proxy","get","Error","IOSRowndEventEmitter","OS","RowndPluginEventEmitter","configure","config","customizations","customizationConfig","requestSignIn","method","postSignInRedirect","intent","signOut","manageAccount","getAccessToken","token","setUserDataValue","key","value","setUserData","data","handleSignInLink","url"],"sources":["nativeModule.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { RequestSignIn } from 'src/hooks/rownd';\nimport type { Customizations, IConfig } from './config';\n\nexport const LINKING_ERROR =\n `The package '@rownd/react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport const Rownd = NativeModules.RowndPlugin\n ? NativeModules.RowndPlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const IOSRowndEventEmitter =\n Platform.OS !== 'ios'\n ? null\n : NativeModules.RowndPluginEventEmitter\n ? NativeModules.RowndPluginEventEmitter\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport function configure(config: IConfig): Promise<string> {\n return Rownd.configure(config);\n}\n\nexport function customizations(customizationConfig: Customizations) {\n return Rownd.customizations(customizationConfig);\n}\n\nexport function requestSignIn(config?: RequestSignIn) {\n if (!config) {\n return Rownd.requestSignIn({ method: 'default' });\n }\n return Rownd.requestSignIn({\n method: config?.method,\n postSignInRedirect: config?.postSignInRedirect,\n intent: config?.intent\n });\n}\n\nexport function signOut() {\n return Rownd.signOut();\n}\n\nexport function manageAccount() {\n return Rownd.manageAccount();\n}\n\nexport function getAccessToken(token?: string): Promise<string> {\n return Rownd.getAccessToken(token || null);\n}\n\nexport function setUserDataValue(key: string, value: any) {\n return Rownd.setUserDataValue(\n key,\n Platform.OS === 'android' ? { value } : value\n );\n}\n\nexport function setUserData(data: Record<string, any>) {\n return Rownd.setUserData(data);\n}\n\nexport function handleSignInLink(url: string) {\n return Rownd.handleSignInLink(url);\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;;AAIO,MAAMA,aAAa,GACvB,8EAAD,GACAC,qBAAA,CAASC,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJK;;AAMA,MAAMC,KAAK,GAAGC,0BAAA,CAAcC,WAAd,GACjBD,0BAAA,CAAcC,WADG,GAEjB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUV,aAAV,CAAN;EACD;;AAHH,CAFF,CAFG;;AAWA,MAAMW,oBAAoB,GAC/BV,qBAAA,CAASW,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEIN,0BAAA,CAAcO,uBAAd,GACAP,0BAAA,CAAcO,uBADd,GAEA,IAAIL,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUV,aAAV,CAAN;EACD;;AAHH,CAFF,CALC;;;AAcA,SAASc,SAAT,CAAmBC,MAAnB,EAAqD;EAC1D,OAAOV,KAAK,CAACS,SAAN,CAAgBC,MAAhB,CAAP;AACD;;AAEM,SAASC,cAAT,CAAwBC,mBAAxB,EAA6D;EAClE,OAAOZ,KAAK,CAACW,cAAN,CAAqBC,mBAArB,CAAP;AACD;;AAEM,SAASC,aAAT,CAAuBH,MAAvB,EAA+C;EACpD,IAAI,CAACA,MAAL,EAAa;IACX,OAAOV,KAAK,CAACa,aAAN,CAAoB;MAAEC,MAAM,EAAE;IAAV,CAApB,CAAP;EACD;;EACD,OAAOd,KAAK,CAACa,aAAN,CAAoB;IACzBC,MAAM,EAAEJ,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEI,MADS;IAEzBC,kBAAkB,EAAEL,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEK,kBAFH;IAGzBC,MAAM,EAAEN,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEM;EAHS,CAApB,CAAP;AAKD;;AAEM,SAASC,OAAT,GAAmB;EACxB,OAAOjB,KAAK,CAACiB,OAAN,EAAP;AACD;;AAEM,SAASC,aAAT,GAAyB;EAC9B,OAAOlB,KAAK,CAACkB,aAAN,EAAP;AACD;;AAEM,SAASC,cAAT,CAAwBC,KAAxB,EAAyD;EAC9D,OAAOpB,KAAK,CAACmB,cAAN,CAAqBC,KAAK,IAAI,IAA9B,CAAP;AACD;;AAEM,SAASC,gBAAT,CAA0BC,GAA1B,EAAuCC,KAAvC,EAAmD;EACxD,OAAOvB,KAAK,CAACqB,gBAAN,CACLC,GADK,EAEL1B,qBAAA,CAASW,EAAT,KAAgB,SAAhB,GAA4B;IAAEgB;EAAF,CAA5B,GAAwCA,KAFnC,CAAP;AAID;;AAEM,SAASC,WAAT,CAAqBC,IAArB,EAAgD;EACrD,OAAOzB,KAAK,CAACwB,WAAN,CAAkBC,IAAlB,CAAP;AACD;;AAEM,SAASC,gBAAT,CAA0BC,GAA1B,EAAuC;EAC5C,OAAO3B,KAAK,CAAC0B,gBAAN,CAAuBC,GAAvB,CAAP;AACD"}
1
+ {"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","Rownd","NativeModules","RowndPlugin","Proxy","get","Error","IOSRowndEventEmitter","OS","RowndPluginEventEmitter","configure","config","customizations","customizationConfig","requestSignIn","method","postSignInRedirect","intent","signOut","manageAccount","getAccessToken","token","getFirebaseIdToken","setUserDataValue","key","value","setUserData","data","handleSignInLink","url"],"sources":["nativeModule.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { RequestSignIn } from 'src/hooks/rownd';\nimport type { Customizations, IConfig } from './config';\n\nexport const LINKING_ERROR =\n `The package '@rownd/react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport const Rownd = NativeModules.RowndPlugin\n ? NativeModules.RowndPlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const IOSRowndEventEmitter =\n Platform.OS !== 'ios'\n ? null\n : NativeModules.RowndPluginEventEmitter\n ? NativeModules.RowndPluginEventEmitter\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport function configure(config: IConfig): Promise<string> {\n return Rownd.configure(config);\n}\n\nexport function customizations(customizationConfig: Customizations) {\n return Rownd.customizations(customizationConfig);\n}\n\nexport function requestSignIn(config?: RequestSignIn) {\n if (!config) {\n return Rownd.requestSignIn({ method: 'default' });\n }\n return Rownd.requestSignIn({\n method: config?.method,\n postSignInRedirect: config?.postSignInRedirect,\n intent: config?.intent\n });\n}\n\nexport function signOut() {\n return Rownd.signOut();\n}\n\nexport function manageAccount() {\n return Rownd.manageAccount();\n}\n\nexport function getAccessToken(token?: string): Promise<string> {\n return Rownd.getAccessToken(token || null);\n}\n\nexport function getFirebaseIdToken(): Promise<string> {\n return Rownd.getFirebaseIdToken();\n}\n\nexport function setUserDataValue(key: string, value: any) {\n return Rownd.setUserDataValue(\n key,\n Platform.OS === 'android' ? { value } : value\n );\n}\n\nexport function setUserData(data: Record<string, any>) {\n return Rownd.setUserData(data);\n}\n\nexport function handleSignInLink(url: string) {\n return Rownd.handleSignInLink(url);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAIO,MAAMA,aAAa,GACvB,8EAAD,GACAC,qBAAA,CAASC,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJK;;AAMA,MAAMC,KAAK,GAAGC,0BAAA,CAAcC,WAAd,GACjBD,0BAAA,CAAcC,WADG,GAEjB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUV,aAAV,CAAN;EACD;;AAHH,CAFF,CAFG;;AAWA,MAAMW,oBAAoB,GAC/BV,qBAAA,CAASW,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEIN,0BAAA,CAAcO,uBAAd,GACAP,0BAAA,CAAcO,uBADd,GAEA,IAAIL,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUV,aAAV,CAAN;EACD;;AAHH,CAFF,CALC;;;AAcA,SAASc,SAAT,CAAmBC,MAAnB,EAAqD;EAC1D,OAAOV,KAAK,CAACS,SAAN,CAAgBC,MAAhB,CAAP;AACD;;AAEM,SAASC,cAAT,CAAwBC,mBAAxB,EAA6D;EAClE,OAAOZ,KAAK,CAACW,cAAN,CAAqBC,mBAArB,CAAP;AACD;;AAEM,SAASC,aAAT,CAAuBH,MAAvB,EAA+C;EACpD,IAAI,CAACA,MAAL,EAAa;IACX,OAAOV,KAAK,CAACa,aAAN,CAAoB;MAAEC,MAAM,EAAE;IAAV,CAApB,CAAP;EACD;;EACD,OAAOd,KAAK,CAACa,aAAN,CAAoB;IACzBC,MAAM,EAAEJ,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEI,MADS;IAEzBC,kBAAkB,EAAEL,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEK,kBAFH;IAGzBC,MAAM,EAAEN,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEM;EAHS,CAApB,CAAP;AAKD;;AAEM,SAASC,OAAT,GAAmB;EACxB,OAAOjB,KAAK,CAACiB,OAAN,EAAP;AACD;;AAEM,SAASC,aAAT,GAAyB;EAC9B,OAAOlB,KAAK,CAACkB,aAAN,EAAP;AACD;;AAEM,SAASC,cAAT,CAAwBC,KAAxB,EAAyD;EAC9D,OAAOpB,KAAK,CAACmB,cAAN,CAAqBC,KAAK,IAAI,IAA9B,CAAP;AACD;;AAEM,SAASC,kBAAT,GAA+C;EACpD,OAAOrB,KAAK,CAACqB,kBAAN,EAAP;AACD;;AAEM,SAASC,gBAAT,CAA0BC,GAA1B,EAAuCC,KAAvC,EAAmD;EACxD,OAAOxB,KAAK,CAACsB,gBAAN,CACLC,GADK,EAEL3B,qBAAA,CAASW,EAAT,KAAgB,SAAhB,GAA4B;IAAEiB;EAAF,CAA5B,GAAwCA,KAFnC,CAAP;AAID;;AAEM,SAASC,WAAT,CAAqBC,IAArB,EAAgD;EACrD,OAAO1B,KAAK,CAACyB,WAAN,CAAkBC,IAAlB,CAAP;AACD;;AAEM,SAASC,gBAAT,CAA0BC,GAA1B,EAAuC;EAC5C,OAAO5B,KAAK,CAAC2B,gBAAN,CAAuBC,GAAvB,CAAP;AACD"}
@@ -0,0 +1,30 @@
1
+ import React, { useEffect } from 'react';
2
+ import { useRownd } from '..';
3
+
4
+ const RequireSignIn = _ref => {
5
+ let {
6
+ children,
7
+ initializing,
8
+ signInProps
9
+ } = _ref;
10
+ const {
11
+ is_authenticated,
12
+ is_initializing,
13
+ requestSignIn
14
+ } = useRownd();
15
+ useEffect(() => {
16
+ if (!is_authenticated && !is_initializing) {
17
+ requestSignIn({ ...signInProps
18
+ });
19
+ }
20
+ }, [is_authenticated, is_initializing, requestSignIn]);
21
+
22
+ if (is_initializing && initializing) {
23
+ return /*#__PURE__*/React.createElement(React.Fragment, null, initializing);
24
+ }
25
+
26
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
27
+ };
28
+
29
+ export default RequireSignIn;
30
+ //# sourceMappingURL=RequireSignIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useRownd","RequireSignIn","children","initializing","signInProps","is_authenticated","is_initializing","requestSignIn"],"sources":["RequireSignIn.tsx"],"sourcesContent":["import React, {\n FunctionComponent,\n useEffect,\n} from 'react';\nimport { useRownd } from '..';\nimport type { RequestSignIn } from 'src/hooks/rownd';\n\nexport type ContextProps = {\n children?: React.ReactNode;\n initializing?: React.ReactNode;\n signInProps?: RequestSignIn;\n};\n\nconst RequireSignIn: FunctionComponent<ContextProps> = ({\n children,\n initializing,\n signInProps,\n}) => {\n const { is_authenticated, is_initializing, requestSignIn } = useRownd();\n\n useEffect(() => {\n if (!is_authenticated && !is_initializing) {\n requestSignIn({ ...signInProps });\n }\n }, [is_authenticated, is_initializing, requestSignIn]);\n\n if (is_initializing && initializing) {\n return <>{initializing}</>;\n }\n\n return <>{children}</>;\n};\n\nexport default RequireSignIn;\n"],"mappings":"AAAA,OAAOA,KAAP,IAEEC,SAFF,QAGO,OAHP;AAIA,SAASC,QAAT,QAAyB,IAAzB;;AASA,MAAMC,aAA8C,GAAG,QAIjD;EAAA,IAJkD;IACtDC,QADsD;IAEtDC,YAFsD;IAGtDC;EAHsD,CAIlD;EACJ,MAAM;IAAEC,gBAAF;IAAoBC,eAApB;IAAqCC;EAArC,IAAuDP,QAAQ,EAArE;EAEAD,SAAS,CAAC,MAAM;IACd,IAAI,CAACM,gBAAD,IAAqB,CAACC,eAA1B,EAA2C;MACzCC,aAAa,CAAC,EAAE,GAAGH;MAAL,CAAD,CAAb;IACD;EACF,CAJQ,EAIN,CAACC,gBAAD,EAAmBC,eAAnB,EAAoCC,aAApC,CAJM,CAAT;;EAMA,IAAID,eAAe,IAAIH,YAAvB,EAAqC;IACnC,oBAAO,0CAAGA,YAAH,CAAP;EACD;;EAED,oBAAO,0CAAGD,QAAH,CAAP;AACD,CAlBD;;AAoBA,eAAeD,aAAf"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { useRownd } from '../hooks/rownd';
3
+
4
+ const SignedIn = _ref => {
5
+ let {
6
+ children
7
+ } = _ref;
8
+ const {
9
+ is_authenticated
10
+ } = useRownd();
11
+
12
+ if (!is_authenticated) {
13
+ return null;
14
+ }
15
+
16
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
17
+ };
18
+
19
+ export default SignedIn;
20
+ //# sourceMappingURL=SignedIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRownd","SignedIn","children","is_authenticated"],"sources":["SignedIn.tsx"],"sourcesContent":["import React from 'react';\nimport { useRownd } from '../hooks/rownd';\n\ninterface SignedInProps {\n children: React.ReactNode;\n}\n\nconst SignedIn: React.FC<SignedInProps> = ({ children }) => {\n const { is_authenticated } = useRownd();\n\n if (!is_authenticated) {\n return null;\n }\n return <>{children}</>;\n};\n\nexport default SignedIn;"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;;AAMA,MAAMC,QAAiC,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EAC1D,MAAM;IAAEC;EAAF,IAAuBH,QAAQ,EAArC;;EAEA,IAAI,CAACG,gBAAL,EAAuB;IACrB,OAAO,IAAP;EACD;;EACD,oBAAO,0CAAGD,QAAH,CAAP;AACD,CAPD;;AASA,eAAeD,QAAf"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { useRownd } from '../hooks/rownd';
3
+
4
+ const SignedOut = _ref => {
5
+ let {
6
+ children
7
+ } = _ref;
8
+ const {
9
+ is_authenticated
10
+ } = useRownd();
11
+
12
+ if (is_authenticated) {
13
+ return null;
14
+ }
15
+
16
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
17
+ };
18
+
19
+ export default SignedOut;
20
+ //# sourceMappingURL=SignedOut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRownd","SignedOut","children","is_authenticated"],"sources":["SignedOut.tsx"],"sourcesContent":["import React from 'react'\nimport { useRownd } from '../hooks/rownd';\n\ninterface SignedOutProps {\n children: React.ReactNode;\n}\n\nconst SignedOut: React.FC<SignedOutProps> = ({ children }) => {\n const { is_authenticated } = useRownd();\n\n if (is_authenticated) {\n return null;\n }\n return <>{children}</>;\n};\n\nexport default SignedOut"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;;AAMA,MAAMC,SAAmC,GAAG,QAAkB;EAAA,IAAjB;IAAEC;EAAF,CAAiB;EAC5D,MAAM;IAAEC;EAAF,IAAuBH,QAAQ,EAArC;;EAEA,IAAIG,gBAAJ,EAAsB;IACpB,OAAO,IAAP;EACD;;EACD,oBAAO,0CAAGD,QAAH,CAAP;AACD,CAPD;;AASA,eAAeD,SAAf"}
@@ -1,23 +1,26 @@
1
- import { requestSignIn, signOut, manageAccount, getAccessToken, setUserDataValue, setUserData } from '../utils/nativeModule';
1
+ import { requestSignIn, signOut, manageAccount, getAccessToken, getFirebaseIdToken, setUserDataValue, setUserData } from '../utils/nativeModule';
2
2
  import { useRowndContext } from '../components/GlobalContext';
3
3
  export function useRownd() {
4
4
  const {
5
5
  state
6
6
  } = useRowndContext();
7
7
  return {
8
+ access_token: state.auth.access_token,
9
+ auth: state.auth,
10
+ getAccessToken,
11
+ firebase: {
12
+ getIdToken: getFirebaseIdToken
13
+ },
14
+ is_authenticated: !!state.auth.access_token,
15
+ is_initializing: !!state.auth.app_id,
16
+ manageAccount,
8
17
  requestSignIn,
9
18
  signOut,
10
- manageAccount,
11
- getAccessToken,
12
19
  user: {
13
20
  data: state.user.data,
14
21
  setValue: setUserDataValue,
15
22
  set: setUserData
16
- },
17
- is_authenticated: !!state.auth.access_token,
18
- is_initializing: !!state.auth.app_id,
19
- auth: state.auth,
20
- access_token: state.auth.access_token
23
+ }
21
24
  };
22
25
  }
23
26
  //# sourceMappingURL=rownd.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["requestSignIn","signOut","manageAccount","getAccessToken","setUserDataValue","setUserData","useRowndContext","useRownd","state","user","data","setValue","set","is_authenticated","auth","access_token","is_initializing","app_id"],"sources":["rownd.ts"],"sourcesContent":["import {\n requestSignIn,\n signOut,\n manageAccount,\n getAccessToken,\n setUserDataValue,\n setUserData,\n} from '../utils/nativeModule';\nimport { useRowndContext } from '../components/GlobalContext';\n\nexport type TRowndContext = {\n requestSignIn: (e?: RequestSignIn) => void;\n signOut: () => void;\n manageAccount: () => void;\n getAccessToken: (token?: string) => Promise<string>;\n user: UserContext;\n is_authenticated: boolean;\n is_initializing: boolean;\n access_token: string | null;\n auth: AuthContext;\n};\n\ntype UserContext = {\n data: {\n id?: string;\n email?: string | null;\n phone?: string | null;\n [key: string]: any;\n };\n set: (data: Record<string, any>) => void;\n setValue: (key: string, value: any) => void;\n};\n\ntype AuthContext = {\n access_token: string | null;\n app_id: string | null;\n is_verified_user?: boolean;\n};\n\nexport type RequestSignInMethods = 'google' | 'apple' | 'default' | 'guest' | 'passkey';\nexport type RequestSignInIntent = 'sign_in' | 'sign_up';\nexport type RequestSignIn = {method?: RequestSignInMethods, postSignInRedirect?: string, intent?: RequestSignInIntent}\n\nexport function useRownd(): TRowndContext {\n const { state } = useRowndContext();\n\n return {\n requestSignIn,\n signOut,\n manageAccount,\n getAccessToken,\n user: {\n data: state.user.data,\n setValue: setUserDataValue,\n set: setUserData,\n },\n is_authenticated: !!state.auth.access_token,\n is_initializing: !!state.auth.app_id,\n auth: state.auth,\n access_token: state.auth.access_token,\n };\n}\n"],"mappings":"AAAA,SACEA,aADF,EAEEC,OAFF,EAGEC,aAHF,EAIEC,cAJF,EAKEC,gBALF,EAMEC,WANF,QAOO,uBAPP;AAQA,SAASC,eAAT,QAAgC,6BAAhC;AAmCA,OAAO,SAASC,QAAT,GAAmC;EACxC,MAAM;IAAEC;EAAF,IAAYF,eAAe,EAAjC;EAEA,OAAO;IACLN,aADK;IAELC,OAFK;IAGLC,aAHK;IAILC,cAJK;IAKLM,IAAI,EAAE;MACJC,IAAI,EAAEF,KAAK,CAACC,IAAN,CAAWC,IADb;MAEJC,QAAQ,EAAEP,gBAFN;MAGJQ,GAAG,EAAEP;IAHD,CALD;IAULQ,gBAAgB,EAAE,CAAC,CAACL,KAAK,CAACM,IAAN,CAAWC,YAV1B;IAWLC,eAAe,EAAE,CAAC,CAACR,KAAK,CAACM,IAAN,CAAWG,MAXzB;IAYLH,IAAI,EAAEN,KAAK,CAACM,IAZP;IAaLC,YAAY,EAAEP,KAAK,CAACM,IAAN,CAAWC;EAbpB,CAAP;AAeD"}
1
+ {"version":3,"names":["requestSignIn","signOut","manageAccount","getAccessToken","getFirebaseIdToken","setUserDataValue","setUserData","useRowndContext","useRownd","state","access_token","auth","firebase","getIdToken","is_authenticated","is_initializing","app_id","user","data","setValue","set"],"sources":["rownd.ts"],"sourcesContent":["import {\n requestSignIn,\n signOut,\n manageAccount,\n getAccessToken,\n getFirebaseIdToken,\n setUserDataValue,\n setUserData,\n} from '../utils/nativeModule';\nimport { useRowndContext } from '../components/GlobalContext';\n\nexport type TRowndContext = {\n access_token: string | null;\n auth: AuthContext;\n is_authenticated: boolean;\n is_initializing: boolean;\n firebase: {\n getIdToken: () => Promise<string>;\n }\n getAccessToken: (token?: string) => Promise<string>;\n manageAccount: () => void;\n requestSignIn: (e?: RequestSignIn) => void;\n signOut: () => void;\n user: UserContext;\n};\n\ntype UserContext = {\n data: {\n id?: string;\n email?: string | null;\n phone?: string | null;\n [key: string]: any;\n };\n set: (data: Record<string, any>) => void;\n setValue: (key: string, value: any) => void;\n};\n\ntype AuthContext = {\n access_token: string | null;\n app_id: string | null;\n is_verified_user?: boolean;\n};\n\nexport type RequestSignInMethods = 'google' | 'apple' | 'default' | 'guest' | 'passkey';\nexport type RequestSignInIntent = 'sign_in' | 'sign_up';\nexport type RequestSignIn = {method?: RequestSignInMethods, postSignInRedirect?: string, intent?: RequestSignInIntent}\n\nexport function useRownd(): TRowndContext {\n const { state } = useRowndContext();\n\n return {\n access_token: state.auth.access_token,\n auth: state.auth,\n getAccessToken,\n firebase: {\n getIdToken: getFirebaseIdToken,\n },\n is_authenticated: !!state.auth.access_token,\n is_initializing: !!state.auth.app_id,\n manageAccount,\n requestSignIn,\n signOut,\n user: {\n data: state.user.data,\n setValue: setUserDataValue,\n set: setUserData,\n }, \n };\n}\n"],"mappings":"AAAA,SACEA,aADF,EAEEC,OAFF,EAGEC,aAHF,EAIEC,cAJF,EAKEC,kBALF,EAMEC,gBANF,EAOEC,WAPF,QAQO,uBARP;AASA,SAASC,eAAT,QAAgC,6BAAhC;AAsCA,OAAO,SAASC,QAAT,GAAmC;EACxC,MAAM;IAAEC;EAAF,IAAYF,eAAe,EAAjC;EAEA,OAAO;IACLG,YAAY,EAAED,KAAK,CAACE,IAAN,CAAWD,YADpB;IAELC,IAAI,EAAEF,KAAK,CAACE,IAFP;IAGLR,cAHK;IAILS,QAAQ,EAAE;MACRC,UAAU,EAAET;IADJ,CAJL;IAOLU,gBAAgB,EAAE,CAAC,CAACL,KAAK,CAACE,IAAN,CAAWD,YAP1B;IAQLK,eAAe,EAAE,CAAC,CAACN,KAAK,CAACE,IAAN,CAAWK,MARzB;IASLd,aATK;IAULF,aAVK;IAWLC,OAXK;IAYLgB,IAAI,EAAE;MACJC,IAAI,EAAET,KAAK,CAACQ,IAAN,CAAWC,IADb;MAEJC,QAAQ,EAAEd,gBAFN;MAGJe,GAAG,EAAEd;IAHD;EAZD,CAAP;AAkBD"}
@@ -1,4 +1,7 @@
1
1
  import { RowndProvider } from './components/GlobalContext';
2
2
  import { useRownd } from './hooks/rownd';
3
- export { RowndProvider, useRownd };
3
+ import RequireSignIn from './components/RequireSignIn';
4
+ import SignedIn from './components/SignedIn';
5
+ import SignedOut from './components/SignedOut';
6
+ export { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };
4
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["RowndProvider","useRownd"],"sources":["index.tsx"],"sourcesContent":["import { RowndProvider } from './components/GlobalContext';\nimport { useRownd } from './hooks/rownd';\n\nexport { RowndProvider, useRownd };\n"],"mappings":"AAAA,SAASA,aAAT,QAA8B,4BAA9B;AACA,SAASC,QAAT,QAAyB,eAAzB;AAEA,SAASD,aAAT,EAAwBC,QAAxB"}
1
+ {"version":3,"names":["RowndProvider","useRownd","RequireSignIn","SignedIn","SignedOut"],"sources":["index.tsx"],"sourcesContent":["import { RowndProvider } from './components/GlobalContext';\nimport { useRownd } from './hooks/rownd';\nimport RequireSignIn from './components/RequireSignIn';\nimport SignedIn from './components/SignedIn';\nimport SignedOut from './components/SignedOut';\n\nexport { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };\n"],"mappings":"AAAA,SAASA,aAAT,QAA8B,4BAA9B;AACA,SAASC,QAAT,QAAyB,eAAzB;AACA,OAAOC,aAAP,MAA0B,4BAA1B;AACA,OAAOC,QAAP,MAAqB,uBAArB;AACA,OAAOC,SAAP,MAAsB,wBAAtB;AAEA,SAASJ,aAAT,EAAwBC,QAAxB,EAAkCC,aAAlC,EAAiDC,QAAjD,EAA2DC,SAA3D"}
@@ -43,6 +43,9 @@ export function manageAccount() {
43
43
  export function getAccessToken(token) {
44
44
  return Rownd.getAccessToken(token || null);
45
45
  }
46
+ export function getFirebaseIdToken() {
47
+ return Rownd.getFirebaseIdToken();
48
+ }
46
49
  export function setUserDataValue(key, value) {
47
50
  return Rownd.setUserDataValue(key, Platform.OS === 'android' ? {
48
51
  value
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","Rownd","RowndPlugin","Proxy","get","Error","IOSRowndEventEmitter","OS","RowndPluginEventEmitter","configure","config","customizations","customizationConfig","requestSignIn","method","postSignInRedirect","intent","signOut","manageAccount","getAccessToken","token","setUserDataValue","key","value","setUserData","data","handleSignInLink","url"],"sources":["nativeModule.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { RequestSignIn } from 'src/hooks/rownd';\nimport type { Customizations, IConfig } from './config';\n\nexport const LINKING_ERROR =\n `The package '@rownd/react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport const Rownd = NativeModules.RowndPlugin\n ? NativeModules.RowndPlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const IOSRowndEventEmitter =\n Platform.OS !== 'ios'\n ? null\n : NativeModules.RowndPluginEventEmitter\n ? NativeModules.RowndPluginEventEmitter\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport function configure(config: IConfig): Promise<string> {\n return Rownd.configure(config);\n}\n\nexport function customizations(customizationConfig: Customizations) {\n return Rownd.customizations(customizationConfig);\n}\n\nexport function requestSignIn(config?: RequestSignIn) {\n if (!config) {\n return Rownd.requestSignIn({ method: 'default' });\n }\n return Rownd.requestSignIn({\n method: config?.method,\n postSignInRedirect: config?.postSignInRedirect,\n intent: config?.intent\n });\n}\n\nexport function signOut() {\n return Rownd.signOut();\n}\n\nexport function manageAccount() {\n return Rownd.manageAccount();\n}\n\nexport function getAccessToken(token?: string): Promise<string> {\n return Rownd.getAccessToken(token || null);\n}\n\nexport function setUserDataValue(key: string, value: any) {\n return Rownd.setUserDataValue(\n key,\n Platform.OS === 'android' ? { value } : value\n );\n}\n\nexport function setUserData(data: Record<string, any>) {\n return Rownd.setUserData(data);\n}\n\nexport function handleSignInLink(url: string) {\n return Rownd.handleSignInLink(url);\n}\n"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,QAAxB,QAAwC,cAAxC;AAIA,OAAO,MAAMC,aAAa,GACvB,8EAAD,GACAD,QAAQ,CAACE,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJK;AAMP,OAAO,MAAMC,KAAK,GAAGN,aAAa,CAACO,WAAd,GACjBP,aAAa,CAACO,WADG,GAEjB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CAFG;AAWP,OAAO,MAAMS,oBAAoB,GAC/BV,QAAQ,CAACW,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEIZ,aAAa,CAACa,uBAAd,GACAb,aAAa,CAACa,uBADd,GAEA,IAAIL,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CALC;AAcP,OAAO,SAASY,SAAT,CAAmBC,MAAnB,EAAqD;EAC1D,OAAOT,KAAK,CAACQ,SAAN,CAAgBC,MAAhB,CAAP;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,mBAAxB,EAA6D;EAClE,OAAOX,KAAK,CAACU,cAAN,CAAqBC,mBAArB,CAAP;AACD;AAED,OAAO,SAASC,aAAT,CAAuBH,MAAvB,EAA+C;EACpD,IAAI,CAACA,MAAL,EAAa;IACX,OAAOT,KAAK,CAACY,aAAN,CAAoB;MAAEC,MAAM,EAAE;IAAV,CAApB,CAAP;EACD;;EACD,OAAOb,KAAK,CAACY,aAAN,CAAoB;IACzBC,MAAM,EAAEJ,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEI,MADS;IAEzBC,kBAAkB,EAAEL,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEK,kBAFH;IAGzBC,MAAM,EAAEN,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEM;EAHS,CAApB,CAAP;AAKD;AAED,OAAO,SAASC,OAAT,GAAmB;EACxB,OAAOhB,KAAK,CAACgB,OAAN,EAAP;AACD;AAED,OAAO,SAASC,aAAT,GAAyB;EAC9B,OAAOjB,KAAK,CAACiB,aAAN,EAAP;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,KAAxB,EAAyD;EAC9D,OAAOnB,KAAK,CAACkB,cAAN,CAAqBC,KAAK,IAAI,IAA9B,CAAP;AACD;AAED,OAAO,SAASC,gBAAT,CAA0BC,GAA1B,EAAuCC,KAAvC,EAAmD;EACxD,OAAOtB,KAAK,CAACoB,gBAAN,CACLC,GADK,EAEL1B,QAAQ,CAACW,EAAT,KAAgB,SAAhB,GAA4B;IAAEgB;EAAF,CAA5B,GAAwCA,KAFnC,CAAP;AAID;AAED,OAAO,SAASC,WAAT,CAAqBC,IAArB,EAAgD;EACrD,OAAOxB,KAAK,CAACuB,WAAN,CAAkBC,IAAlB,CAAP;AACD;AAED,OAAO,SAASC,gBAAT,CAA0BC,GAA1B,EAAuC;EAC5C,OAAO1B,KAAK,CAACyB,gBAAN,CAAuBC,GAAvB,CAAP;AACD"}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","Rownd","RowndPlugin","Proxy","get","Error","IOSRowndEventEmitter","OS","RowndPluginEventEmitter","configure","config","customizations","customizationConfig","requestSignIn","method","postSignInRedirect","intent","signOut","manageAccount","getAccessToken","token","getFirebaseIdToken","setUserDataValue","key","value","setUserData","data","handleSignInLink","url"],"sources":["nativeModule.ts"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport type { RequestSignIn } from 'src/hooks/rownd';\nimport type { Customizations, IConfig } from './config';\n\nexport const LINKING_ERROR =\n `The package '@rownd/react-native' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nexport const Rownd = NativeModules.RowndPlugin\n ? NativeModules.RowndPlugin\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const IOSRowndEventEmitter =\n Platform.OS !== 'ios'\n ? null\n : NativeModules.RowndPluginEventEmitter\n ? NativeModules.RowndPluginEventEmitter\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport function configure(config: IConfig): Promise<string> {\n return Rownd.configure(config);\n}\n\nexport function customizations(customizationConfig: Customizations) {\n return Rownd.customizations(customizationConfig);\n}\n\nexport function requestSignIn(config?: RequestSignIn) {\n if (!config) {\n return Rownd.requestSignIn({ method: 'default' });\n }\n return Rownd.requestSignIn({\n method: config?.method,\n postSignInRedirect: config?.postSignInRedirect,\n intent: config?.intent\n });\n}\n\nexport function signOut() {\n return Rownd.signOut();\n}\n\nexport function manageAccount() {\n return Rownd.manageAccount();\n}\n\nexport function getAccessToken(token?: string): Promise<string> {\n return Rownd.getAccessToken(token || null);\n}\n\nexport function getFirebaseIdToken(): Promise<string> {\n return Rownd.getFirebaseIdToken();\n}\n\nexport function setUserDataValue(key: string, value: any) {\n return Rownd.setUserDataValue(\n key,\n Platform.OS === 'android' ? { value } : value\n );\n}\n\nexport function setUserData(data: Record<string, any>) {\n return Rownd.setUserData(data);\n}\n\nexport function handleSignInLink(url: string) {\n return Rownd.handleSignInLink(url);\n}\n"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,QAAxB,QAAwC,cAAxC;AAIA,OAAO,MAAMC,aAAa,GACvB,8EAAD,GACAD,QAAQ,CAACE,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJK;AAMP,OAAO,MAAMC,KAAK,GAAGN,aAAa,CAACO,WAAd,GACjBP,aAAa,CAACO,WADG,GAEjB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CAFG;AAWP,OAAO,MAAMS,oBAAoB,GAC/BV,QAAQ,CAACW,EAAT,KAAgB,KAAhB,GACI,IADJ,GAEIZ,aAAa,CAACa,uBAAd,GACAb,aAAa,CAACa,uBADd,GAEA,IAAIL,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUR,aAAV,CAAN;EACD;;AAHH,CAFF,CALC;AAcP,OAAO,SAASY,SAAT,CAAmBC,MAAnB,EAAqD;EAC1D,OAAOT,KAAK,CAACQ,SAAN,CAAgBC,MAAhB,CAAP;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,mBAAxB,EAA6D;EAClE,OAAOX,KAAK,CAACU,cAAN,CAAqBC,mBAArB,CAAP;AACD;AAED,OAAO,SAASC,aAAT,CAAuBH,MAAvB,EAA+C;EACpD,IAAI,CAACA,MAAL,EAAa;IACX,OAAOT,KAAK,CAACY,aAAN,CAAoB;MAAEC,MAAM,EAAE;IAAV,CAApB,CAAP;EACD;;EACD,OAAOb,KAAK,CAACY,aAAN,CAAoB;IACzBC,MAAM,EAAEJ,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEI,MADS;IAEzBC,kBAAkB,EAAEL,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEK,kBAFH;IAGzBC,MAAM,EAAEN,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEM;EAHS,CAApB,CAAP;AAKD;AAED,OAAO,SAASC,OAAT,GAAmB;EACxB,OAAOhB,KAAK,CAACgB,OAAN,EAAP;AACD;AAED,OAAO,SAASC,aAAT,GAAyB;EAC9B,OAAOjB,KAAK,CAACiB,aAAN,EAAP;AACD;AAED,OAAO,SAASC,cAAT,CAAwBC,KAAxB,EAAyD;EAC9D,OAAOnB,KAAK,CAACkB,cAAN,CAAqBC,KAAK,IAAI,IAA9B,CAAP;AACD;AAED,OAAO,SAASC,kBAAT,GAA+C;EACpD,OAAOpB,KAAK,CAACoB,kBAAN,EAAP;AACD;AAED,OAAO,SAASC,gBAAT,CAA0BC,GAA1B,EAAuCC,KAAvC,EAAmD;EACxD,OAAOvB,KAAK,CAACqB,gBAAN,CACLC,GADK,EAEL3B,QAAQ,CAACW,EAAT,KAAgB,SAAhB,GAA4B;IAAEiB;EAAF,CAA5B,GAAwCA,KAFnC,CAAP;AAID;AAED,OAAO,SAASC,WAAT,CAAqBC,IAArB,EAAgD;EACrD,OAAOzB,KAAK,CAACwB,WAAN,CAAkBC,IAAlB,CAAP;AACD;AAED,OAAO,SAASC,gBAAT,CAA0BC,GAA1B,EAAuC;EAC5C,OAAO3B,KAAK,CAAC0B,gBAAN,CAAuBC,GAAvB,CAAP;AACD"}
@@ -0,0 +1,9 @@
1
+ import React, { FunctionComponent } from 'react';
2
+ import type { RequestSignIn } from 'src/hooks/rownd';
3
+ export declare type ContextProps = {
4
+ children?: React.ReactNode;
5
+ initializing?: React.ReactNode;
6
+ signInProps?: RequestSignIn;
7
+ };
8
+ declare const RequireSignIn: FunctionComponent<ContextProps>;
9
+ export default RequireSignIn;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface SignedInProps {
3
+ children: React.ReactNode;
4
+ }
5
+ declare const SignedIn: React.FC<SignedInProps>;
6
+ export default SignedIn;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface SignedOutProps {
3
+ children: React.ReactNode;
4
+ }
5
+ declare const SignedOut: React.FC<SignedOutProps>;
6
+ export default SignedOut;
@@ -1,13 +1,16 @@
1
1
  export declare type TRowndContext = {
2
+ access_token: string | null;
3
+ auth: AuthContext;
4
+ is_authenticated: boolean;
5
+ is_initializing: boolean;
6
+ firebase: {
7
+ getIdToken: () => Promise<string>;
8
+ };
9
+ getAccessToken: (token?: string) => Promise<string>;
10
+ manageAccount: () => void;
2
11
  requestSignIn: (e?: RequestSignIn) => void;
3
12
  signOut: () => void;
4
- manageAccount: () => void;
5
- getAccessToken: (token?: string) => Promise<string>;
6
13
  user: UserContext;
7
- is_authenticated: boolean;
8
- is_initializing: boolean;
9
- access_token: string | null;
10
- auth: AuthContext;
11
14
  };
12
15
  declare type UserContext = {
13
16
  data: {
@@ -1,3 +1,6 @@
1
1
  import { RowndProvider } from './components/GlobalContext';
2
2
  import { useRownd } from './hooks/rownd';
3
- export { RowndProvider, useRownd };
3
+ import RequireSignIn from './components/RequireSignIn';
4
+ import SignedIn from './components/SignedIn';
5
+ import SignedOut from './components/SignedOut';
6
+ export { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };
@@ -9,6 +9,7 @@ export declare function requestSignIn(config?: RequestSignIn): any;
9
9
  export declare function signOut(): any;
10
10
  export declare function manageAccount(): any;
11
11
  export declare function getAccessToken(token?: string): Promise<string>;
12
+ export declare function getFirebaseIdToken(): Promise<string>;
12
13
  export declare function setUserDataValue(key: string, value: any): any;
13
14
  export declare function setUserData(data: Record<string, any>): any;
14
15
  export declare function handleSignInLink(url: string): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rownd/react-native",
3
- "version": "2.11.1",
3
+ "version": "2.11.2",
4
4
  "description": "test",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency "Rownd", "~> 2.7.0"
20
+ s.dependency "Rownd", "~> 2.8.1"
21
21
 
22
22
  # Don't install the dependencies when we run `pod install` in the old architecture.
23
23
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
@@ -0,0 +1,34 @@
1
+ import React, {
2
+ FunctionComponent,
3
+ useEffect,
4
+ } from 'react';
5
+ import { useRownd } from '..';
6
+ import type { RequestSignIn } from 'src/hooks/rownd';
7
+
8
+ export type ContextProps = {
9
+ children?: React.ReactNode;
10
+ initializing?: React.ReactNode;
11
+ signInProps?: RequestSignIn;
12
+ };
13
+
14
+ const RequireSignIn: FunctionComponent<ContextProps> = ({
15
+ children,
16
+ initializing,
17
+ signInProps,
18
+ }) => {
19
+ const { is_authenticated, is_initializing, requestSignIn } = useRownd();
20
+
21
+ useEffect(() => {
22
+ if (!is_authenticated && !is_initializing) {
23
+ requestSignIn({ ...signInProps });
24
+ }
25
+ }, [is_authenticated, is_initializing, requestSignIn]);
26
+
27
+ if (is_initializing && initializing) {
28
+ return <>{initializing}</>;
29
+ }
30
+
31
+ return <>{children}</>;
32
+ };
33
+
34
+ export default RequireSignIn;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { useRownd } from '../hooks/rownd';
3
+
4
+ interface SignedInProps {
5
+ children: React.ReactNode;
6
+ }
7
+
8
+ const SignedIn: React.FC<SignedInProps> = ({ children }) => {
9
+ const { is_authenticated } = useRownd();
10
+
11
+ if (!is_authenticated) {
12
+ return null;
13
+ }
14
+ return <>{children}</>;
15
+ };
16
+
17
+ export default SignedIn;
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import { useRownd } from '../hooks/rownd';
3
+
4
+ interface SignedOutProps {
5
+ children: React.ReactNode;
6
+ }
7
+
8
+ const SignedOut: React.FC<SignedOutProps> = ({ children }) => {
9
+ const { is_authenticated } = useRownd();
10
+
11
+ if (is_authenticated) {
12
+ return null;
13
+ }
14
+ return <>{children}</>;
15
+ };
16
+
17
+ export default SignedOut
@@ -3,21 +3,25 @@ import {
3
3
  signOut,
4
4
  manageAccount,
5
5
  getAccessToken,
6
+ getFirebaseIdToken,
6
7
  setUserDataValue,
7
8
  setUserData,
8
9
  } from '../utils/nativeModule';
9
10
  import { useRowndContext } from '../components/GlobalContext';
10
11
 
11
12
  export type TRowndContext = {
13
+ access_token: string | null;
14
+ auth: AuthContext;
15
+ is_authenticated: boolean;
16
+ is_initializing: boolean;
17
+ firebase: {
18
+ getIdToken: () => Promise<string>;
19
+ }
20
+ getAccessToken: (token?: string) => Promise<string>;
21
+ manageAccount: () => void;
12
22
  requestSignIn: (e?: RequestSignIn) => void;
13
23
  signOut: () => void;
14
- manageAccount: () => void;
15
- getAccessToken: (token?: string) => Promise<string>;
16
24
  user: UserContext;
17
- is_authenticated: boolean;
18
- is_initializing: boolean;
19
- access_token: string | null;
20
- auth: AuthContext;
21
25
  };
22
26
 
23
27
  type UserContext = {
@@ -45,18 +49,21 @@ export function useRownd(): TRowndContext {
45
49
  const { state } = useRowndContext();
46
50
 
47
51
  return {
52
+ access_token: state.auth.access_token,
53
+ auth: state.auth,
54
+ getAccessToken,
55
+ firebase: {
56
+ getIdToken: getFirebaseIdToken,
57
+ },
58
+ is_authenticated: !!state.auth.access_token,
59
+ is_initializing: !!state.auth.app_id,
60
+ manageAccount,
48
61
  requestSignIn,
49
62
  signOut,
50
- manageAccount,
51
- getAccessToken,
52
63
  user: {
53
64
  data: state.user.data,
54
65
  setValue: setUserDataValue,
55
66
  set: setUserData,
56
- },
57
- is_authenticated: !!state.auth.access_token,
58
- is_initializing: !!state.auth.app_id,
59
- auth: state.auth,
60
- access_token: state.auth.access_token,
67
+ },
61
68
  };
62
69
  }
package/src/index.tsx CHANGED
@@ -1,4 +1,7 @@
1
1
  import { RowndProvider } from './components/GlobalContext';
2
2
  import { useRownd } from './hooks/rownd';
3
+ import RequireSignIn from './components/RequireSignIn';
4
+ import SignedIn from './components/SignedIn';
5
+ import SignedOut from './components/SignedOut';
3
6
 
4
- export { RowndProvider, useRownd };
7
+ export { RowndProvider, useRownd, RequireSignIn, SignedIn, SignedOut };
@@ -64,6 +64,10 @@ export function getAccessToken(token?: string): Promise<string> {
64
64
  return Rownd.getAccessToken(token || null);
65
65
  }
66
66
 
67
+ export function getFirebaseIdToken(): Promise<string> {
68
+ return Rownd.getFirebaseIdToken();
69
+ }
70
+
67
71
  export function setUserDataValue(key: string, value: any) {
68
72
  return Rownd.setUserDataValue(
69
73
  key,
Binary file
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="CompilerConfiguration">
4
- <bytecodeTargetLevel target="11" />
5
- </component>
6
- </project>
@@ -1,18 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="GradleMigrationSettings" migrationVersion="1" />
4
- <component name="GradleSettings">
5
- <option name="linkedExternalProjectsSettings">
6
- <GradleProjectSettings>
7
- <option name="testRunner" value="GRADLE" />
8
- <option name="distributionType" value="DEFAULT_WRAPPED" />
9
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
10
- <option name="modules">
11
- <set>
12
- <option value="$PROJECT_DIR$" />
13
- </set>
14
- </option>
15
- </GradleProjectSettings>
16
- </option>
17
- </component>
18
- </project>
@@ -1,30 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="RemoteRepositoriesConfiguration">
4
- <remote-repository>
5
- <option name="id" value="central" />
6
- <option name="name" value="Maven Central repository" />
7
- <option name="url" value="https://repo1.maven.org/maven2" />
8
- </remote-repository>
9
- <remote-repository>
10
- <option name="id" value="jboss.community" />
11
- <option name="name" value="JBoss Community repository" />
12
- <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
13
- </remote-repository>
14
- <remote-repository>
15
- <option name="id" value="React Native sources" />
16
- <option name="name" value="React Native sources" />
17
- <option name="url" value="file:$PROJECT_DIR$/../node_modules/react-native/android/" />
18
- </remote-repository>
19
- <remote-repository>
20
- <option name="id" value="MavenRepo" />
21
- <option name="name" value="MavenRepo" />
22
- <option name="url" value="https://repo.maven.apache.org/maven2/" />
23
- </remote-repository>
24
- <remote-repository>
25
- <option name="id" value="Google" />
26
- <option name="name" value="Google" />
27
- <option name="url" value="https://dl.google.com/dl/android/maven2/" />
28
- </remote-repository>
29
- </component>
30
- </project>
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ExternalStorageConfigurationManager" enabled="true" />
4
- <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
5
- <output url="file://$PROJECT_DIR$/build/classes" />
6
- </component>
7
- <component name="ProjectType">
8
- <option name="id" value="Android" />
9
- </component>
10
- </project>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
5
- </component>
6
- </project>
@@ -1,8 +0,0 @@
1
- ## This file must *NOT* be checked into Version Control Systems,
2
- # as it contains information specific to your local configuration.
3
- #
4
- # Location of the SDK. This is only used by Gradle.
5
- # For customization when using a Version Control System, please read the
6
- # header note.
7
- #Tue Nov 01 11:51:46 EDT 2022
8
- sdk.dir=/Users/michaelmurray/Library/Android/sdk
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- </Workspace>