@crossmint/client-sdk-react-native-ui 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +101 -1
  2. package/dist/chunk-22GIA4MK.js +1 -0
  3. package/dist/{chunk-NYIR2QUU.cjs → chunk-3NCDLYVG.cjs} +1 -1
  4. package/dist/chunk-CK4JCQY6.cjs +1 -0
  5. package/dist/{chunk-CBBMAHQE.cjs → chunk-ET7BGBIU.cjs} +1 -1
  6. package/dist/{chunk-UJCHGDRR.js → chunk-IIFEVSOK.js} +1 -1
  7. package/dist/chunk-MONDX3UY.js +1 -0
  8. package/dist/{chunk-ZMKU6VDQ.js → chunk-O7VOAPMQ.js} +1 -1
  9. package/dist/chunk-R3KSNRO2.cjs +1 -0
  10. package/dist/chunk-SYFNPOWZ.js +1 -0
  11. package/dist/chunk-XCVUMR6P.cjs +1 -0
  12. package/dist/hooks/index.cjs +1 -1
  13. package/dist/hooks/index.d.cts +3 -0
  14. package/dist/hooks/index.d.ts +3 -0
  15. package/dist/hooks/index.js +1 -1
  16. package/dist/hooks/useCrossmint.cjs +1 -1
  17. package/dist/hooks/useCrossmint.d.cts +0 -1
  18. package/dist/hooks/useCrossmint.d.ts +0 -1
  19. package/dist/hooks/useCrossmint.js +1 -1
  20. package/dist/hooks/useCrossmintAuth.cjs +1 -0
  21. package/dist/hooks/useCrossmintAuth.d.cts +19 -0
  22. package/dist/hooks/useCrossmintAuth.d.ts +19 -0
  23. package/dist/hooks/useCrossmintAuth.js +1 -0
  24. package/dist/index.cjs +1 -1
  25. package/dist/index.d.cts +4 -0
  26. package/dist/index.d.ts +4 -0
  27. package/dist/index.js +1 -1
  28. package/dist/providers/CrossmintAuthProvider.cjs +1 -0
  29. package/dist/providers/CrossmintAuthProvider.d.cts +32 -0
  30. package/dist/providers/CrossmintAuthProvider.d.ts +32 -0
  31. package/dist/providers/CrossmintAuthProvider.js +1 -0
  32. package/dist/providers/CrossmintWalletProvider.cjs +1 -1
  33. package/dist/providers/CrossmintWalletProvider.js +1 -1
  34. package/dist/providers/index.cjs +1 -1
  35. package/dist/providers/index.d.cts +3 -0
  36. package/dist/providers/index.d.ts +3 -0
  37. package/dist/providers/index.js +1 -1
  38. package/dist/testUtils.cjs +1 -1
  39. package/dist/testUtils.js +1 -1
  40. package/dist/utils/SecureStorage.cjs +1 -0
  41. package/dist/utils/SecureStorage.d.cts +10 -0
  42. package/dist/utils/SecureStorage.d.ts +10 -0
  43. package/dist/utils/SecureStorage.js +1 -0
  44. package/package.json +9 -5
  45. package/dist/chunk-5Q2IYGY3.cjs +0 -1
  46. package/dist/chunk-MHMX6QPD.cjs +0 -1
  47. package/dist/chunk-X5T23V6W.js +0 -1
  48. package/dist/chunk-XPV3ACTG.js +0 -1
  49. /package/dist/{chunk-ZTVLR2J5.cjs → chunk-7ABHEMG7.cjs} +0 -0
  50. /package/dist/{chunk-7EAURGPG.js → chunk-P4RTBQI6.js} +0 -0
package/README.md CHANGED
@@ -1 +1,101 @@
1
- # `@crossmint/client-sdk-react-native-ui`
1
+ # Crossmint React Native SDK
2
+
3
+ This package provides a React Native UI for integrating Crossmint authentication and wallet functionality into your mobile apps.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm add @crossmint/client-sdk-react-native-ui expo-secure-store expo-web-browser
9
+ ```
10
+
11
+ ## Authentication with Secure Storage
12
+
13
+ The React Native SDK uses [Expo's SecureStore](https://docs.expo.dev/versions/latest/sdk/securestore/) for secure, encrypted storage of authentication tokens. This provides a platform-native secure storage solution that encrypts sensitive data on the device.
14
+
15
+ ### Using the Default Secure Storage
16
+
17
+ The `CrossmintAuthProvider` uses SecureStorage by default:
18
+
19
+ ```tsx
20
+ import { CrossmintProvider, CrossmintAuthProvider } from "@crossmint/client-sdk-react-native-ui";
21
+
22
+ export default function App() {
23
+ return (
24
+ <CrossmintProvider
25
+ apiKey="YOUR_API_KEY"
26
+ >
27
+ <CrossmintAuthProvider>
28
+ {/* Your app content */}
29
+ </CrossmintAuthProvider>
30
+ </CrossmintProvider>
31
+ );
32
+ }
33
+ ```
34
+
35
+ ### Authentication Hooks
36
+
37
+ Once the providers are set up, you can use the authentication hooks in your components:
38
+
39
+ ```tsx
40
+ import { useCrossmintAuth } from "@crossmint/client-sdk-react-native-ui";
41
+
42
+ function ProfileScreen() {
43
+ const { user, status, logout, login } = useCrossmintAuth();
44
+
45
+ if (status === "logged-out") {
46
+ return (
47
+ <View>
48
+ <Button
49
+ title="Sign in with Google"
50
+ onPress={() => login("google")}
51
+ />
52
+ </View>
53
+ );
54
+ }
55
+
56
+ return (
57
+ <View>
58
+ <Text>Welcome, {user?.email}</Text>
59
+ <Button title="Logout" onPress={logout} />
60
+ </View>
61
+ );
62
+ }
63
+ ```
64
+
65
+ ## Custom Storage Provider
66
+
67
+ If you need to implement a custom storage solution, you can implement the `StorageProvider` interface and pass it to the `CrossmintAuthProvider`:
68
+
69
+ ```tsx
70
+ import { CrossmintAuthProvider, type StorageProvider } from "@crossmint/client-sdk-react-native-ui";
71
+
72
+ // Implement your custom storage provider
73
+ class CustomStorage implements StorageProvider {
74
+ async get(key: string): Promise<string | undefined> {
75
+ // Your implementation
76
+ }
77
+
78
+ async set(key: string, value: string, expiresAt?: string): Promise<void> {
79
+ // Your implementation
80
+ }
81
+
82
+ async remove(key: string): Promise<void> {
83
+ // Your implementation
84
+ }
85
+ }
86
+
87
+ // Use your custom storage provider
88
+ function App() {
89
+ const customStorage = new CustomStorage();
90
+
91
+ return (
92
+ <CrossmintProvider apiKey="YOUR_API_KEY">
93
+ <CrossmintAuthProvider customStorageProvider={customStorage}>
94
+ {/* Your app content */}
95
+ </CrossmintAuthProvider>
96
+ </CrossmintProvider>
97
+ );
98
+ }
99
+ ```
100
+
101
+ For more detailed documentation, please visit the [Crossmint Developer Docs](https://docs.crossmint.com/).
@@ -0,0 +1 @@
1
+ var m=Object.defineProperty,n=Object.defineProperties;var o=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var i=(c,b,a)=>b in c?m(c,b,{enumerable:!0,configurable:!0,writable:!0,value:a}):c[b]=a,r=(c,b)=>{for(var a in b||(b={}))p.call(b,a)&&i(c,a,b[a]);if(h)for(var a of h(b))q.call(b,a)&&i(c,a,b[a]);return c},s=(c,b)=>n(c,o(b));var t=(c,b,a)=>new Promise((j,g)=>{var k=d=>{try{e(a.next(d))}catch(f){g(f)}},l=d=>{try{e(a.throw(d))}catch(f){g(f)}},e=d=>d.done?j(d.value):Promise.resolve(d.value).then(k,l);e((a=a.apply(c,b)).next())});export{r as a,s as b,t as c};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5Q2IYGY3cjs = require('./chunk-5Q2IYGY3.cjs');var _chunkCBBMAHQEcjs = require('./chunk-CBBMAHQE.cjs');var _chunkMHMX6QPDcjs = require('./chunk-MHMX6QPD.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');function x({children:m}){var r;let{crossmint:t}=_chunk5Q2IYGY3cjs.a.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{appId:e}=_chunkCBBMAHQEcjs.a.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),n=_react.useMemo.call(void 0, ()=>_walletssdk.CrossmintWallets.from(t,{appId:e}),[t,e]),{state:a,getOrCreateWallet:d,clearWallet:c}=_clientsdkreactbase.useWalletState.call(void 0, {crossmintWallets:n,crossmintJwt:(r=t.jwt)!=null?r:null});return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.WalletContext.Provider,{value:_chunkMHMX6QPDcjs.b.call(void 0, _chunkMHMX6QPDcjs.a.call(void 0, {},a),{getOrCreateWallet:d,clearWallet:c}),children:m})}exports.a = x;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXCVUMR6Pcjs = require('./chunk-XCVUMR6P.cjs');var _chunkET7BGBIUcjs = require('./chunk-ET7BGBIU.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');function x({children:m}){var r;let{crossmint:t}=_chunkXCVUMR6Pcjs.d.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{appId:e}=_chunkET7BGBIUcjs.a.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),n=_react.useMemo.call(void 0, ()=>_walletssdk.CrossmintWallets.from(t,{appId:e}),[t,e]),{state:a,getOrCreateWallet:d,clearWallet:c}=_clientsdkreactbase.useWalletState.call(void 0, {crossmintWallets:n,crossmintJwt:(r=t.jwt)!=null?r:null});return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.WalletContext.Provider,{value:_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},a),{getOrCreateWallet:d,clearWallet:c}),children:m})}exports.a = x;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var m=Object.defineProperty,n=Object.defineProperties;var o=Object.getOwnPropertyDescriptors;var h=Object.getOwnPropertySymbols;var p=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var i=(c,b,a)=>b in c?m(c,b,{enumerable:!0,configurable:!0,writable:!0,value:a}):c[b]=a,r= exports.a =(c,b)=>{for(var a in b||(b={}))p.call(b,a)&&i(c,a,b[a]);if(h)for(var a of h(b))q.call(b,a)&&i(c,a,b[a]);return c},s= exports.b =(c,b)=>n(c,o(b));var t=(c,b,a)=>new Promise((j,g)=>{var k=d=>{try{e(a.next(d))}catch(f){g(f)}},l=d=>{try{e(a.throw(d))}catch(f){g(f)}},e=d=>d.done?j(d.value):Promise.resolve(d.value).then(k,l);e((a=a.apply(c,b)).next())});exports.a = r; exports.b = s; exports.c = t;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var i=_react.createContext.call(void 0, null);function v(r){let o=_react.useContext.call(void 0, i);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}function a({children:r,apiKey:o,appId:t,overrideBaseUrl:n}){let s=_react.useMemo.call(void 0, ()=>({appId:t}),[t]);return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:o,overrideBaseUrl:n,children:_jsxruntime.jsx.call(void 0, i.Provider,{value:s,children:r})})}exports.a = v; exports.b = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var i=_react.createContext.call(void 0, null);function v(r){let o=_react.useContext.call(void 0, i);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}function a({children:r,apiKey:o,appId:t,overrideBaseUrl:n}){let s=_react.useMemo.call(void 0, ()=>({appId:t}),[t]);return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:o,overrideBaseUrl:n,appId:t,children:_jsxruntime.jsx.call(void 0, i.Provider,{value:s,children:r})})}exports.a = v; exports.b = a;
@@ -1 +1 @@
1
- import{createContext as m,useContext as l,useMemo as C}from"react";import{CrossmintProvider as d}from"@crossmint/client-sdk-react-base";import{jsx as e}from"react/jsx-runtime";var i=m(null);function a(r){let o=l(i);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}function b({children:r,apiKey:o,appId:t,overrideBaseUrl:n}){let s=C(()=>({appId:t}),[t]);return e(d,{apiKey:o,overrideBaseUrl:n,children:e(i.Provider,{value:s,children:r})})}export{a,b};
1
+ import{createContext as m,useContext as l,useMemo as C}from"react";import{CrossmintProvider as d}from"@crossmint/client-sdk-react-base";import{jsx as e}from"react/jsx-runtime";var i=m(null);function a(r){let o=l(i);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}function b({children:r,apiKey:o,appId:t,overrideBaseUrl:n}){let s=C(()=>({appId:t}),[t]);return e(d,{apiKey:o,overrideBaseUrl:n,appId:t,children:e(i.Provider,{value:s,children:r})})}export{a,b};
@@ -0,0 +1 @@
1
+ import{a as M}from"./chunk-SYFNPOWZ.js";import{c as u}from"./chunk-22GIA4MK.js";import{createContext as J,useEffect as w,useMemo as j,useRef as N,useState as m,useCallback as W}from"react";import*as i from"expo-web-browser";import{CrossmintAuth as _}from"@crossmint/client-sdk-auth";import{useCrossmint as R,useWallet as rt}from"@crossmint/client-sdk-react-base";import{useContext as F}from"react";function Q(){let s=F(U);if(!s)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return s}import{jsx as $}from"react/jsx-runtime";var P={google:"",twitter:""},H={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},oauthUrlMap:P,isLoadingOauthUrlMap:!0,loginWithOAuth:()=>Promise.resolve()},U=J(H);function lt({children:s,onLoginSuccess:n,refreshRoute:a,logoutRoute:C,customStorageProvider:v}){let[g,A]=m(void 0),{crossmint:r,setJwt:l}=R("CrossmintAuthProvider must be used within CrossmintProvider"),[f,T]=m(P),[k,O]=m(!0),p=N(null),h=j(()=>v||new M,[v]),o=j(()=>{if(!p.current){let t={callbacks:{onLogout:()=>{l(void 0),A(void 0)},onTokenRefresh:e=>{console.log("[CrossmintAuthProvider] onTokenRefresh",e),l(e.jwt),A(e.user)}},refreshRoute:a,logoutRoute:C,storageProvider:h};p.current=_.from(r,t)}return p.current},[h]),[E,z]=m(!1),y=W(()=>{n==null||n()},[n]);w(()=>{r.jwt==null&&h.get("jwt").then(t=>{t!=null&&(console.log("[CrossmintAuthProvider] jwt",t),l(t))}),z(!0)},[r.jwt,l,h]),w(()=>{r.jwt!=null&&y()},[r.jwt,y]);let L=()=>{o.logout()},x=W(()=>u(this,null,function*(){O(!0);try{let e=Object.keys(P).map(d=>u(this,null,function*(){let K=yield o==null?void 0:o.getOAuthUrl(d);return{[d]:K}})),c=Object.assign({},...yield Promise.all(e));T(c)}catch(t){console.error(t)}finally{O(!1)}}),[o]);w(()=>{g==null&&x()},[x,g]);let B=()=>E?r.jwt!=null?"logged-in":"logged-out":"initializing",D=()=>u(this,null,function*(){if(r.jwt==null){console.log("User not logged in");return}let t=yield o.getUser();A(t)}),I=t=>u(this,null,function*(){try{if(!f[t]){console.error(`[CrossmintAuthProvider] OAuth URL for ${t} is not available`);return}yield i.warmUpAsync();let e=new URL(f[t]);t==="google"&&e.searchParams.append("provider_prompt","select_account");let c=yield i.openAuthSessionAsync(e.toString());if(c.type==="success"){let d=V(c.url);yield o.handleRefreshAuthMaterial(d)}yield i.coolDownAsync()}catch(e){console.error("[CrossmintAuthProvider] Error during OAuth login:",e)}});return $(U.Provider,{value:{crossmintAuth:o,logout:L,jwt:r.jwt,user:g,status:B(),getUser:D,oauthUrlMap:f,isLoadingOauthUrlMap:k,loginWithOAuth:I},children:s})}var V=s=>{let n=/[?&]oneTimeSecret=([^&#]+)/,a=s.match(n);return a?decodeURIComponent(a[1]):void 0};export{U as a,lt as b,Q as c,R as d,rt as e};
@@ -1 +1 @@
1
- import{a as i}from"./chunk-XPV3ACTG.js";import{a as l}from"./chunk-UJCHGDRR.js";import{a as o,b as s}from"./chunk-X5T23V6W.js";import{useMemo as u}from"react";import{CrossmintWallets as C}from"@crossmint/wallets-sdk";import{WalletContext as W,useWalletState as p}from"@crossmint/client-sdk-react-base";import{jsx as v}from"react/jsx-runtime";function M({children:m}){var r;let{crossmint:t}=i("CrossmintWalletProvider must be used within CrossmintProvider"),{appId:e}=l("CrossmintWalletProvider must be used within CrossmintProvider"),n=u(()=>C.from(t,{appId:e}),[t,e]),{state:a,getOrCreateWallet:d,clearWallet:c}=p({crossmintWallets:n,crossmintJwt:(r=t.jwt)!=null?r:null});return v(W.Provider,{value:s(o({},a),{getOrCreateWallet:d,clearWallet:c}),children:m})}export{M as a};
1
+ import{d as i}from"./chunk-MONDX3UY.js";import{a as l}from"./chunk-IIFEVSOK.js";import{a as o,b as s}from"./chunk-22GIA4MK.js";import{useMemo as u}from"react";import{CrossmintWallets as C}from"@crossmint/wallets-sdk";import{WalletContext as W,useWalletState as p}from"@crossmint/client-sdk-react-base";import{jsx as v}from"react/jsx-runtime";function M({children:m}){var r;let{crossmint:t}=i("CrossmintWalletProvider must be used within CrossmintProvider"),{appId:e}=l("CrossmintWalletProvider must be used within CrossmintProvider"),n=u(()=>C.from(t,{appId:e}),[t,e]),{state:a,getOrCreateWallet:d,clearWallet:c}=p({crossmintWallets:n,crossmintJwt:(r=t.jwt)!=null?r:null});return v(W.Provider,{value:s(o({},a),{getOrCreateWallet:d,clearWallet:c}),children:m})}export{M as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _exposecurestore = require('expo-secure-store'); var e = _interopRequireWildcard(_exposecurestore);var i=class{get(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{let r=yield e.getItemAsync(t);if(!r)return;try{let o=JSON.parse(r);if(o.expiresAt&&new Date(o.expiresAt)<new Date){yield this.remove(t);return}return o.value}catch(o){return r}}catch(r){console.error("Error reading from SecureStore:",r);return}})}set(t,r,o){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{if(o){let s=JSON.stringify({value:r,expiresAt:o});yield e.setItemAsync(t,s)}else yield e.setItemAsync(t,r)}catch(s){console.error("Error writing to SecureStore:",s)}})}remove(t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield e.deleteItemAsync(t)}catch(r){console.error("Error removing from SecureStore:",r)}})}isAvailable(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{return yield e.isAvailableAsync()}catch(t){return!1}})}};exports.a = i;
@@ -0,0 +1 @@
1
+ import{c as n}from"./chunk-22GIA4MK.js";import*as e from"expo-secure-store";var i=class{get(t){return n(this,null,function*(){try{let r=yield e.getItemAsync(t);if(!r)return;try{let o=JSON.parse(r);if(o.expiresAt&&new Date(o.expiresAt)<new Date){yield this.remove(t);return}return o.value}catch(o){return r}}catch(r){console.error("Error reading from SecureStore:",r);return}})}set(t,r,o){return n(this,null,function*(){try{if(o){let s=JSON.stringify({value:r,expiresAt:o});yield e.setItemAsync(t,s)}else yield e.setItemAsync(t,r)}catch(s){console.error("Error writing to SecureStore:",s)}})}remove(t){return n(this,null,function*(){try{yield e.deleteItemAsync(t)}catch(r){console.error("Error removing from SecureStore:",r)}})}isAvailable(){return n(this,null,function*(){try{return yield e.isAvailableAsync()}catch(t){return!1}})}};export{i as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _chunkR3KSNRO2cjs = require('./chunk-R3KSNRO2.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var i = _interopRequireWildcard(_expowebbrowser);var _clientsdkauth = require('@crossmint/client-sdk-auth');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function G(){let s=_react.useContext.call(void 0, U);if(!s)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return s}var _jsxruntime = require('react/jsx-runtime');var P={google:"",twitter:""},_={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},oauthUrlMap:P,isLoadingOauthUrlMap:!0,loginWithOAuth:()=>Promise.resolve()},U= exports.a =_react.createContext.call(void 0, _);function at({children:s,onLoginSuccess:n,refreshRoute:a,logoutRoute:C,customStorageProvider:v}){let[g,A]=_react.useState.call(void 0, void 0),{crossmint:r,setJwt:l}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[f,W]=_react.useState.call(void 0, P),[T,O]=_react.useState.call(void 0, !0),p=_react.useRef.call(void 0, null),h=_react.useMemo.call(void 0, ()=>v||new _chunkR3KSNRO2cjs.a,[v]),o=_react.useMemo.call(void 0, ()=>{if(!p.current){let t={callbacks:{onLogout:()=>{l(void 0),A(void 0)},onTokenRefresh:e=>{console.log("[CrossmintAuthProvider] onTokenRefresh",e),l(e.jwt),A(e.user)}},refreshRoute:a,logoutRoute:C,storageProvider:h};p.current=_clientsdkauth.CrossmintAuth.from(r,t)}return p.current},[h]),[k,E]=_react.useState.call(void 0, !1),y=_react.useCallback.call(void 0, ()=>{n==null||n()},[n]);_react.useEffect.call(void 0, ()=>{r.jwt==null&&h.get("jwt").then(t=>{t!=null&&(console.log("[CrossmintAuthProvider] jwt",t),l(t))}),E(!0)},[r.jwt,l,h]),_react.useEffect.call(void 0, ()=>{r.jwt!=null&&y()},[r.jwt,y]);let z=()=>{o.logout()},x=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){O(!0);try{let e=Object.keys(P).map(d=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let I=yield o==null?void 0:o.getOAuthUrl(d);return{[d]:I}})),c=Object.assign({},...yield Promise.all(e));W(c)}catch(t){console.error(t)}finally{O(!1)}}),[o]);_react.useEffect.call(void 0, ()=>{g==null&&x()},[x,g]);let L=()=>k?r.jwt!=null?"logged-in":"logged-out":"initializing",B=()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(r.jwt==null){console.log("User not logged in");return}let t=yield o.getUser();A(t)}),D=t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{if(!f[t]){console.error(`[CrossmintAuthProvider] OAuth URL for ${t} is not available`);return}yield i.warmUpAsync();let e=new URL(f[t]);t==="google"&&e.searchParams.append("provider_prompt","select_account");let c=yield i.openAuthSessionAsync(e.toString());if(c.type==="success"){let d=H(c.url);yield o.handleRefreshAuthMaterial(d)}yield i.coolDownAsync()}catch(e){console.error("[CrossmintAuthProvider] Error during OAuth login:",e)}});return _jsxruntime.jsx.call(void 0, U.Provider,{value:{crossmintAuth:o,logout:z,jwt:r.jwt,user:g,status:L(),getUser:B,oauthUrlMap:f,isLoadingOauthUrlMap:T,loginWithOAuth:D},children:s})}var H=s=>{let n=/[?&]oneTimeSecret=([^&#]+)/,a=s.match(n);return a?decodeURIComponent(a[1]):void 0};exports.a = U; exports.b = at; exports.c = G; exports.d = _clientsdkreactbase.useCrossmint; exports.e = _clientsdkreactbase.useWallet;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5Q2IYGY3cjs = require('../chunk-5Q2IYGY3.cjs');var _chunkCBBMAHQEcjs = require('../chunk-CBBMAHQE.cjs');require('../chunk-MHMX6QPD.cjs');exports.CrossmintProvider = _chunkCBBMAHQEcjs.b; exports.useCrossmint = _chunk5Q2IYGY3cjs.a; exports.useCrossmintMobile = _chunkCBBMAHQEcjs.a; exports.useWallet = _chunk5Q2IYGY3cjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXCVUMR6Pcjs = require('../chunk-XCVUMR6P.cjs');require('../chunk-R3KSNRO2.cjs');var _chunkET7BGBIUcjs = require('../chunk-ET7BGBIU.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunkET7BGBIUcjs.b; exports.useCrossmint = _chunkXCVUMR6Pcjs.d; exports.useCrossmintAuth = _chunkXCVUMR6Pcjs.c; exports.useCrossmintMobile = _chunkET7BGBIUcjs.a; exports.useWallet = _chunkXCVUMR6Pcjs.e;
@@ -1,5 +1,8 @@
1
1
  export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { CrossmintMobileContext, CrossmintProvider, useCrossmintMobile } from './useCrossmint.cjs';
3
+ export { useCrossmintAuth } from './useCrossmintAuth.cjs';
3
4
  import 'react/jsx-runtime';
4
5
  import 'react';
5
6
  import '@crossmint/common-sdk-base';
7
+ import '@crossmint/common-sdk-auth';
8
+ import '@crossmint/client-sdk-auth';
@@ -1,5 +1,8 @@
1
1
  export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { CrossmintMobileContext, CrossmintProvider, useCrossmintMobile } from './useCrossmint.js';
3
+ export { useCrossmintAuth } from './useCrossmintAuth.js';
3
4
  import 'react/jsx-runtime';
4
5
  import 'react';
5
6
  import '@crossmint/common-sdk-base';
7
+ import '@crossmint/common-sdk-auth';
8
+ import '@crossmint/client-sdk-auth';
@@ -1 +1 @@
1
- import{a as c,b as d}from"../chunk-XPV3ACTG.js";import{a,b}from"../chunk-UJCHGDRR.js";import"../chunk-X5T23V6W.js";export{b as CrossmintProvider,c as useCrossmint,a as useCrossmintMobile,d as useWallet};
1
+ import{c,d,e}from"../chunk-MONDX3UY.js";import"../chunk-SYFNPOWZ.js";import{a,b}from"../chunk-IIFEVSOK.js";import"../chunk-22GIA4MK.js";export{b as CrossmintProvider,d as useCrossmint,c as useCrossmintAuth,a as useCrossmintMobile,e as useWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCBBMAHQEcjs = require('../chunk-CBBMAHQE.cjs');require('../chunk-MHMX6QPD.cjs');exports.CrossmintProvider = _chunkCBBMAHQEcjs.b; exports.useCrossmintMobile = _chunkCBBMAHQEcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkET7BGBIUcjs = require('../chunk-ET7BGBIU.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintProvider = _chunkET7BGBIUcjs.b; exports.useCrossmintMobile = _chunkET7BGBIUcjs.a;
@@ -1,4 +1,3 @@
1
- import '@crossmint/client-sdk-react-base';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
2
  import { ReactNode } from 'react';
4
3
  import { Crossmint } from '@crossmint/common-sdk-base';
@@ -1,4 +1,3 @@
1
- import '@crossmint/client-sdk-react-base';
2
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
2
  import { ReactNode } from 'react';
4
3
  import { Crossmint } from '@crossmint/common-sdk-base';
@@ -1 +1 @@
1
- import{a,b}from"../chunk-UJCHGDRR.js";import"../chunk-X5T23V6W.js";export{b as CrossmintProvider,a as useCrossmintMobile};
1
+ import{a,b}from"../chunk-IIFEVSOK.js";import"../chunk-22GIA4MK.js";export{b as CrossmintProvider,a as useCrossmintMobile};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXCVUMR6Pcjs = require('../chunk-XCVUMR6P.cjs');require('../chunk-R3KSNRO2.cjs');require('../chunk-ET7BGBIU.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmintAuth = _chunkXCVUMR6Pcjs.c;
@@ -0,0 +1,19 @@
1
+ import * as _crossmint_common_sdk_auth from '@crossmint/common-sdk-auth';
2
+ import * as _crossmint_client_sdk_auth from '@crossmint/client-sdk-auth';
3
+
4
+ declare function useCrossmintAuth(): {
5
+ crossmintAuth?: _crossmint_client_sdk_auth.CrossmintAuth;
6
+ logout: () => void;
7
+ jwt?: string;
8
+ user?: _crossmint_common_sdk_auth.SDKExternalUser;
9
+ status: "logged-in" | "logged-out" | "in-progress" | "initializing";
10
+ getUser: () => void;
11
+ oauthUrlMap: {
12
+ google: string;
13
+ twitter: string;
14
+ };
15
+ isLoadingOauthUrlMap: boolean;
16
+ loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
17
+ };
18
+
19
+ export { useCrossmintAuth };
@@ -0,0 +1,19 @@
1
+ import * as _crossmint_common_sdk_auth from '@crossmint/common-sdk-auth';
2
+ import * as _crossmint_client_sdk_auth from '@crossmint/client-sdk-auth';
3
+
4
+ declare function useCrossmintAuth(): {
5
+ crossmintAuth?: _crossmint_client_sdk_auth.CrossmintAuth;
6
+ logout: () => void;
7
+ jwt?: string;
8
+ user?: _crossmint_common_sdk_auth.SDKExternalUser;
9
+ status: "logged-in" | "logged-out" | "in-progress" | "initializing";
10
+ getUser: () => void;
11
+ oauthUrlMap: {
12
+ google: string;
13
+ twitter: string;
14
+ };
15
+ isLoadingOauthUrlMap: boolean;
16
+ loginWithOAuth: (provider: _crossmint_common_sdk_auth.OAuthProvider) => Promise<void>;
17
+ };
18
+
19
+ export { useCrossmintAuth };
@@ -0,0 +1 @@
1
+ import{c as a}from"../chunk-MONDX3UY.js";import"../chunk-SYFNPOWZ.js";import"../chunk-IIFEVSOK.js";import"../chunk-22GIA4MK.js";export{a as useCrossmintAuth};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-ZTVLR2J5.cjs');var _chunkNYIR2QUUcjs = require('./chunk-NYIR2QUU.cjs');var _chunk5Q2IYGY3cjs = require('./chunk-5Q2IYGY3.cjs');var _chunkCBBMAHQEcjs = require('./chunk-CBBMAHQE.cjs');require('./chunk-MHMX6QPD.cjs');exports.CrossmintProvider = _chunkCBBMAHQEcjs.b; exports.CrossmintWalletProvider = _chunkNYIR2QUUcjs.a; exports.useCrossmint = _chunk5Q2IYGY3cjs.a; exports.useCrossmintMobile = _chunkCBBMAHQEcjs.a; exports.useWallet = _chunk5Q2IYGY3cjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-7ABHEMG7.cjs');var _chunk3NCDLYVGcjs = require('./chunk-3NCDLYVG.cjs');var _chunkXCVUMR6Pcjs = require('./chunk-XCVUMR6P.cjs');require('./chunk-R3KSNRO2.cjs');var _chunkET7BGBIUcjs = require('./chunk-ET7BGBIU.cjs');require('./chunk-CK4JCQY6.cjs');exports.AuthContext = _chunkXCVUMR6Pcjs.a; exports.CrossmintAuthProvider = _chunkXCVUMR6Pcjs.b; exports.CrossmintProvider = _chunkET7BGBIUcjs.b; exports.CrossmintWalletProvider = _chunk3NCDLYVGcjs.a; exports.useCrossmint = _chunkXCVUMR6Pcjs.d; exports.useCrossmintAuth = _chunkXCVUMR6Pcjs.c; exports.useCrossmintMobile = _chunkET7BGBIUcjs.a; exports.useWallet = _chunkXCVUMR6Pcjs.e;
package/dist/index.d.cts CHANGED
@@ -1,8 +1,12 @@
1
1
  export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { CrossmintMobileContext, CrossmintProvider, useCrossmintMobile } from './hooks/useCrossmint.cjs';
3
+ export { useCrossmintAuth } from './hooks/useCrossmintAuth.cjs';
4
+ export { AuthContext, CrossmintAuthProvider } from './providers/CrossmintAuthProvider.cjs';
3
5
  export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.cjs';
4
6
  export { EVMSmartWallet, SolanaSmartWallet } from '@crossmint/wallets-sdk';
5
7
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
8
+ export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
6
9
  import 'react/jsx-runtime';
7
10
  import 'react';
8
11
  import '@crossmint/common-sdk-base';
12
+ import '@crossmint/client-sdk-auth';
package/dist/index.d.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { CrossmintMobileContext, CrossmintProvider, useCrossmintMobile } from './hooks/useCrossmint.js';
3
+ export { useCrossmintAuth } from './hooks/useCrossmintAuth.js';
4
+ export { AuthContext, CrossmintAuthProvider } from './providers/CrossmintAuthProvider.js';
3
5
  export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.js';
4
6
  export { EVMSmartWallet, SolanaSmartWallet } from '@crossmint/wallets-sdk';
5
7
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
8
+ export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
6
9
  import 'react/jsx-runtime';
7
10
  import 'react';
8
11
  import '@crossmint/common-sdk-base';
12
+ import '@crossmint/client-sdk-auth';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-7EAURGPG.js";import{a as s}from"./chunk-ZMKU6VDQ.js";import{a as e,b as o}from"./chunk-XPV3ACTG.js";import{a as t,b as r}from"./chunk-UJCHGDRR.js";import"./chunk-X5T23V6W.js";export{r as CrossmintProvider,s as CrossmintWalletProvider,e as useCrossmint,t as useCrossmintMobile,o as useWallet};
1
+ import"./chunk-P4RTBQI6.js";import{a as n}from"./chunk-O7VOAPMQ.js";import{a as o,b as e,c as s,d as m,e as a}from"./chunk-MONDX3UY.js";import"./chunk-SYFNPOWZ.js";import{a as t,b as r}from"./chunk-IIFEVSOK.js";import"./chunk-22GIA4MK.js";export{o as AuthContext,e as CrossmintAuthProvider,r as CrossmintProvider,n as CrossmintWalletProvider,m as useCrossmint,s as useCrossmintAuth,t as useCrossmintMobile,a as useWallet};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXCVUMR6Pcjs = require('../chunk-XCVUMR6P.cjs');require('../chunk-R3KSNRO2.cjs');require('../chunk-ET7BGBIU.cjs');require('../chunk-CK4JCQY6.cjs');exports.AuthContext = _chunkXCVUMR6Pcjs.a; exports.CrossmintAuthProvider = _chunkXCVUMR6Pcjs.b;
@@ -0,0 +1,32 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { StorageProvider, CrossmintAuth } from '@crossmint/client-sdk-auth';
5
+ import { SDKExternalUser, OAuthProvider } from '@crossmint/common-sdk-auth';
6
+
7
+ type OAuthUrlMap = Record<OAuthProvider, string>;
8
+ type AuthStatus = "logged-in" | "logged-out" | "in-progress" | "initializing";
9
+ type CrossmintAuthProviderProps = {
10
+ prefetchOAuthUrls?: boolean;
11
+ onLoginSuccess?: () => void;
12
+ authModalTitle?: string;
13
+ children: ReactNode;
14
+ refreshRoute?: string;
15
+ logoutRoute?: string;
16
+ customStorageProvider?: StorageProvider;
17
+ };
18
+ type AuthContextType = {
19
+ crossmintAuth?: CrossmintAuth;
20
+ logout: () => void;
21
+ jwt?: string;
22
+ user?: SDKExternalUser;
23
+ status: AuthStatus;
24
+ getUser: () => void;
25
+ oauthUrlMap: OAuthUrlMap;
26
+ isLoadingOauthUrlMap: boolean;
27
+ loginWithOAuth: (provider: OAuthProvider) => Promise<void>;
28
+ };
29
+ declare const AuthContext: react.Context<AuthContextType>;
30
+ declare function CrossmintAuthProvider({ children, onLoginSuccess, refreshRoute, logoutRoute, customStorageProvider, }: CrossmintAuthProviderProps): react_jsx_runtime.JSX.Element;
31
+
32
+ export { AuthContext, CrossmintAuthProvider };
@@ -0,0 +1,32 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { StorageProvider, CrossmintAuth } from '@crossmint/client-sdk-auth';
5
+ import { SDKExternalUser, OAuthProvider } from '@crossmint/common-sdk-auth';
6
+
7
+ type OAuthUrlMap = Record<OAuthProvider, string>;
8
+ type AuthStatus = "logged-in" | "logged-out" | "in-progress" | "initializing";
9
+ type CrossmintAuthProviderProps = {
10
+ prefetchOAuthUrls?: boolean;
11
+ onLoginSuccess?: () => void;
12
+ authModalTitle?: string;
13
+ children: ReactNode;
14
+ refreshRoute?: string;
15
+ logoutRoute?: string;
16
+ customStorageProvider?: StorageProvider;
17
+ };
18
+ type AuthContextType = {
19
+ crossmintAuth?: CrossmintAuth;
20
+ logout: () => void;
21
+ jwt?: string;
22
+ user?: SDKExternalUser;
23
+ status: AuthStatus;
24
+ getUser: () => void;
25
+ oauthUrlMap: OAuthUrlMap;
26
+ isLoadingOauthUrlMap: boolean;
27
+ loginWithOAuth: (provider: OAuthProvider) => Promise<void>;
28
+ };
29
+ declare const AuthContext: react.Context<AuthContextType>;
30
+ declare function CrossmintAuthProvider({ children, onLoginSuccess, refreshRoute, logoutRoute, customStorageProvider, }: CrossmintAuthProviderProps): react_jsx_runtime.JSX.Element;
31
+
32
+ export { AuthContext, CrossmintAuthProvider };
@@ -0,0 +1 @@
1
+ import{a,b}from"../chunk-MONDX3UY.js";import"../chunk-SYFNPOWZ.js";import"../chunk-IIFEVSOK.js";import"../chunk-22GIA4MK.js";export{a as AuthContext,b as CrossmintAuthProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNYIR2QUUcjs = require('../chunk-NYIR2QUU.cjs');require('../chunk-5Q2IYGY3.cjs');require('../chunk-CBBMAHQE.cjs');require('../chunk-MHMX6QPD.cjs');exports.CrossmintWalletProvider = _chunkNYIR2QUUcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3NCDLYVGcjs = require('../chunk-3NCDLYVG.cjs');require('../chunk-XCVUMR6P.cjs');require('../chunk-R3KSNRO2.cjs');require('../chunk-ET7BGBIU.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletProvider = _chunk3NCDLYVGcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-ZMKU6VDQ.js";import"../chunk-XPV3ACTG.js";import"../chunk-UJCHGDRR.js";import"../chunk-X5T23V6W.js";export{a as CrossmintWalletProvider};
1
+ import{a}from"../chunk-O7VOAPMQ.js";import"../chunk-MONDX3UY.js";import"../chunk-SYFNPOWZ.js";import"../chunk-IIFEVSOK.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZTVLR2J5.cjs');var _chunkNYIR2QUUcjs = require('../chunk-NYIR2QUU.cjs');require('../chunk-5Q2IYGY3.cjs');require('../chunk-CBBMAHQE.cjs');require('../chunk-MHMX6QPD.cjs');exports.CrossmintWalletProvider = _chunkNYIR2QUUcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-7ABHEMG7.cjs');var _chunk3NCDLYVGcjs = require('../chunk-3NCDLYVG.cjs');var _chunkXCVUMR6Pcjs = require('../chunk-XCVUMR6P.cjs');require('../chunk-R3KSNRO2.cjs');require('../chunk-ET7BGBIU.cjs');require('../chunk-CK4JCQY6.cjs');exports.AuthContext = _chunkXCVUMR6Pcjs.a; exports.CrossmintAuthProvider = _chunkXCVUMR6Pcjs.b; exports.CrossmintWalletProvider = _chunk3NCDLYVGcjs.a;
@@ -1,3 +1,6 @@
1
+ export { AuthContext, CrossmintAuthProvider } from './CrossmintAuthProvider.cjs';
1
2
  export { CrossmintWalletProvider } from './CrossmintWalletProvider.cjs';
2
3
  import 'react/jsx-runtime';
3
4
  import 'react';
5
+ import '@crossmint/client-sdk-auth';
6
+ import '@crossmint/common-sdk-auth';
@@ -1,3 +1,6 @@
1
+ export { AuthContext, CrossmintAuthProvider } from './CrossmintAuthProvider.js';
1
2
  export { CrossmintWalletProvider } from './CrossmintWalletProvider.js';
2
3
  import 'react/jsx-runtime';
3
4
  import 'react';
5
+ import '@crossmint/client-sdk-auth';
6
+ import '@crossmint/common-sdk-auth';
@@ -1 +1 @@
1
- import"../chunk-7EAURGPG.js";import{a}from"../chunk-ZMKU6VDQ.js";import"../chunk-XPV3ACTG.js";import"../chunk-UJCHGDRR.js";import"../chunk-X5T23V6W.js";export{a as CrossmintWalletProvider};
1
+ import"../chunk-P4RTBQI6.js";import{a as c}from"../chunk-O7VOAPMQ.js";import{a,b}from"../chunk-MONDX3UY.js";import"../chunk-SYFNPOWZ.js";import"../chunk-IIFEVSOK.js";import"../chunk-22GIA4MK.js";export{a as AuthContext,b as CrossmintAuthProvider,c as CrossmintWalletProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-MHMX6QPD.cjs');var _="sk_development_12341234",e= exports.MOCK_APP_ID ="com.app.id";exports.MOCK_API_KEY = _; exports.MOCK_APP_ID = e;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-CK4JCQY6.cjs');var _="sk_development_12341234",e= exports.MOCK_APP_ID ="com.app.id";exports.MOCK_API_KEY = _; exports.MOCK_APP_ID = e;
package/dist/testUtils.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-X5T23V6W.js";var e="sk_development_12341234",p="com.app.id";export{e as MOCK_API_KEY,p as MOCK_APP_ID};
1
+ import"./chunk-22GIA4MK.js";var e="sk_development_12341234",p="com.app.id";export{e as MOCK_API_KEY,p as MOCK_APP_ID};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkR3KSNRO2cjs = require('../chunk-R3KSNRO2.cjs');require('../chunk-CK4JCQY6.cjs');exports.SecureStorage = _chunkR3KSNRO2cjs.a;
@@ -0,0 +1,10 @@
1
+ import { StorageProvider } from '@crossmint/client-sdk-auth';
2
+
3
+ declare class SecureStorage implements StorageProvider {
4
+ get(key: string): Promise<string | undefined>;
5
+ set(key: string, value: string, expiresAt?: string): Promise<void>;
6
+ remove(key: string): Promise<void>;
7
+ isAvailable(): Promise<boolean>;
8
+ }
9
+
10
+ export { SecureStorage };
@@ -0,0 +1,10 @@
1
+ import { StorageProvider } from '@crossmint/client-sdk-auth';
2
+
3
+ declare class SecureStorage implements StorageProvider {
4
+ get(key: string): Promise<string | undefined>;
5
+ set(key: string, value: string, expiresAt?: string): Promise<void>;
6
+ remove(key: string): Promise<void>;
7
+ isAvailable(): Promise<boolean>;
8
+ }
9
+
10
+ export { SecureStorage };
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-SYFNPOWZ.js";import"../chunk-22GIA4MK.js";export{a as SecureStorage};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-native-ui",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -18,10 +18,14 @@
18
18
  "LICENSE"
19
19
  ],
20
20
  "dependencies": {
21
- "@crossmint/common-sdk-base": "0.3.4",
22
- "@crossmint/client-sdk-base": "1.4.16",
23
- "@crossmint/client-sdk-react-base": "0.1.1",
24
- "@crossmint/wallets-sdk": "0.4.4"
21
+ "expo-secure-store": "14.0.1",
22
+ "expo-web-browser": "~14.0.2",
23
+ "@crossmint/client-sdk-auth": "1.2.1",
24
+ "@crossmint/client-sdk-base": "1.4.17",
25
+ "@crossmint/client-sdk-react-base": "0.2.0",
26
+ "@crossmint/common-sdk-auth": "1.0.24",
27
+ "@crossmint/common-sdk-base": "0.4.0",
28
+ "@crossmint/wallets-sdk": "0.5.0"
25
29
  },
26
30
  "devDependencies": {
27
31
  "@types/react": "19.0.12"
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');exports.a = _clientsdkreactbase.useCrossmint; exports.b = _clientsdkreactbase.useWallet;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var f=Object.defineProperty,g=Object.defineProperties;var h=Object.getOwnPropertyDescriptors;var d=Object.getOwnPropertySymbols;var i=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var e=(c,a,b)=>a in c?f(c,a,{enumerable:!0,configurable:!0,writable:!0,value:b}):c[a]=b,k= exports.a =(c,a)=>{for(var b in a||(a={}))i.call(a,b)&&e(c,b,a[b]);if(d)for(var b of d(a))j.call(a,b)&&e(c,b,a[b]);return c},l= exports.b =(c,a)=>g(c,h(a));exports.a = k; exports.b = l;
@@ -1 +0,0 @@
1
- var f=Object.defineProperty,g=Object.defineProperties;var h=Object.getOwnPropertyDescriptors;var d=Object.getOwnPropertySymbols;var i=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var e=(c,a,b)=>a in c?f(c,a,{enumerable:!0,configurable:!0,writable:!0,value:b}):c[a]=b,k=(c,a)=>{for(var b in a||(a={}))i.call(a,b)&&e(c,b,a[b]);if(d)for(var b of d(a))j.call(a,b)&&e(c,b,a[b]);return c},l=(c,a)=>g(c,h(a));export{k as a,l as b};
@@ -1 +0,0 @@
1
- import{useCrossmint as m,useWallet as f}from"@crossmint/client-sdk-react-base";export{m as a,f as b};
File without changes
File without changes