@crossmint/client-sdk-react-native-ui 0.3.3 → 0.3.5

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.
@@ -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; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkZPIV7DVZcjs = require('./chunk-ZPIV7DVZ.cjs');var _chunk6R7OYJL5cjs = require('./chunk-6R7OYJL5.cjs');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var n = _interopRequireWildcard(_expowebbrowser);var _clientsdkauth = require('@crossmint/client-sdk-auth');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function tt(){let s=_react.useContext.call(void 0, U);if(!s)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return s}var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _jsxruntime = require('react/jsx-runtime');var T={google:null,twitter:null},L={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve()},U= exports.a =_react.createContext.call(void 0, L);function pt({children:s,onLoginSuccess:i,refreshRoute:h,logoutRoute:v,customStorageProvider:d,appSchema:g}){let[A,f]=_react.useState.call(void 0, void 0),{crossmint:o,setJwt:m}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[B,k]=_react.useState.call(void 0, T),w=_react.useRef.call(void 0, null),u=_react.useMemo.call(void 0, ()=>d!=null?d:new _chunkZPIV7DVZcjs.a,[d]),z=Array.isArray(g)?g[0]:g,O=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":z,e=_react.useMemo.call(void 0, ()=>{if(!w.current){let t={callbacks:{onLogout:()=>{m(void 0),f(void 0)},onTokenRefresh:r=>{m(r.jwt),f(r.user)}},refreshRoute:h,logoutRoute:v,storageProvider:u};w.current=_clientsdkauth.CrossmintAuth.from(o,t)}return w.current},[u]),[I,D]=_react.useState.call(void 0, !1),S=_react.useCallback.call(void 0, ()=>{i==null||i()},[i]);_react.useEffect.call(void 0, ()=>{o.jwt==null&&(u==null||u.get("jwt").then(t=>{t!=null&&m(t)})),D(!0)},[o.jwt,m,u]),_react.useEffect.call(void 0, ()=>{o.jwt!=null&&S()},[o.jwt,S]);let K=()=>{e.logout()},b=_react.useCallback.call(void 0, ()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){try{let r=Object.keys(T).map(a=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let p=yield e==null?void 0:e.getOAuthUrl(a,{appSchema:O});return{[a]:p}})),c=Object.assign({},...yield Promise.all(r));k(c)}catch(t){console.error(t)}}),[e]);_react.useEffect.call(void 0, ()=>{A==null&&b()},[b,A]);let F=()=>I?o.jwt!=null?"logged-in":"logged-out":"initializing",G=()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){if(o.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();f(t)}),J=t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){var r;try{let c=(r=B[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:O});yield n.warmUpAsync();let a=new URL(c);if(t==="google"&&a.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield n.openBrowserAsync(a.toString());else{let p=yield n.openAuthSessionAsync(a.toString());p.type==="success"&&(yield R(p.url))}yield n.coolDownAsync()}catch(c){console.error("[CrossmintAuthProvider] Error during OAuth login:",c)}}),R=_react.useCallback.call(void 0, t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let r=t.includes("://")?Q(t):t;if(r!=null)return yield e.handleRefreshAuthMaterial(r)}),[e]);return _jsxruntime.jsx.call(void 0, U.Provider,{value:{crossmintAuth:e,logout:K,jwt:o.jwt,user:A,status:F(),getUser:G,loginWithOAuth:J,createAuthSession:R},children:s})}var Q=s=>{let i=/[?&]oneTimeSecret=([^&#]+)/,h=s.match(i);return h?decodeURIComponent(h[1]):void 0};exports.a = U; exports.b = pt; exports.c = tt; exports.d = _clientsdkreactbase.useCrossmint; exports.e = _clientsdkreactbase.useWallet;
@@ -0,0 +1 @@
1
+ import{a as j}from"./chunk-BWWCPHLC.js";import{a as l}from"./chunk-DUTPQ56Q.js";import{createContext as _,useEffect as C,useMemo as T,useRef as H,useState as x,useCallback as y}from"react";import*as n from"expo-web-browser";import{CrossmintAuth as q}from"@crossmint/client-sdk-auth";import{useCrossmint as E,useWallet as ut}from"@crossmint/client-sdk-react-base";import{useContext as V}from"react";function et(){let s=V(U);if(!s)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return s}import{Platform as L}from"react-native";import P from"expo-constants";import{jsx as Y}from"react/jsx-runtime";var B={google:null,twitter:null},Q={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve()},U=_(Q);function gt({children:s,onLoginSuccess:i,refreshRoute:h,logoutRoute:v,customStorageProvider:d,appSchema:g}){let[A,f]=x(void 0),{crossmint:o,setJwt:m}=E("CrossmintAuthProvider must be used within CrossmintProvider"),[k,z]=x(B),w=H(null),u=T(()=>d!=null?d:new j,[d]),I=Array.isArray(g)?g[0]:g,O=P.executionEnvironment==="storeClient"||P.appOwnership==="expo"||!!P.expoVersion?"exp://127.0.0.1:8081":I,e=T(()=>{if(!w.current){let t={callbacks:{onLogout:()=>{m(void 0),f(void 0)},onTokenRefresh:r=>{m(r.jwt),f(r.user)}},refreshRoute:h,logoutRoute:v,storageProvider:u};w.current=q.from(o,t)}return w.current},[u]),[D,K]=x(!1),S=y(()=>{i==null||i()},[i]);C(()=>{o.jwt==null&&(u==null||u.get("jwt").then(t=>{t!=null&&m(t)})),K(!0)},[o.jwt,m,u]),C(()=>{o.jwt!=null&&S()},[o.jwt,S]);let F=()=>{e.logout()},b=y(()=>l(this,null,function*(){try{let r=Object.keys(B).map(a=>l(this,null,function*(){let p=yield e==null?void 0:e.getOAuthUrl(a,{appSchema:O});return{[a]:p}})),c=Object.assign({},...yield Promise.all(r));z(c)}catch(t){console.error(t)}}),[e]);C(()=>{A==null&&b()},[b,A]);let G=()=>D?o.jwt!=null?"logged-in":"logged-out":"initializing",J=()=>l(this,null,function*(){if(o.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();f(t)}),N=t=>l(this,null,function*(){var r;try{let c=(r=k[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:O});yield n.warmUpAsync();let a=new URL(c);if(t==="google"&&a.searchParams.append("provider_prompt","select_account"),L.OS==="android")yield n.openBrowserAsync(a.toString());else{let p=yield n.openAuthSessionAsync(a.toString());p.type==="success"&&(yield R(p.url))}yield n.coolDownAsync()}catch(c){console.error("[CrossmintAuthProvider] Error during OAuth login:",c)}}),R=y(t=>l(this,null,function*(){let r=t.includes("://")?X(t):t;if(r!=null)return yield e.handleRefreshAuthMaterial(r)}),[e]);return Y(U.Provider,{value:{crossmintAuth:e,logout:F,jwt:o.jwt,user:A,status:G(),getUser:J,loginWithOAuth:N,createAuthSession:R},children:s})}var X=s=>{let i=/[?&]oneTimeSecret=([^&#]+)/,h=s.match(i);return h?decodeURIComponent(h[1]):void 0};export{U as a,gt as b,et as c,E as d,ut as e};
@@ -0,0 +1 @@
1
+ import{CrossmintWalletProvider as n}from"@crossmint/client-sdk-react-base";export{n as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFSX3U7NOcjs = require('../chunk-FSX3U7NO.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-6R7OYJL5.cjs');exports.useCrossmint = _chunkFSX3U7NOcjs.d; exports.useCrossmintAuth = _chunkFSX3U7NOcjs.c; exports.useWallet = _chunkFSX3U7NOcjs.e;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVRJYLBO2cjs = require('../chunk-VRJYLBO2.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-6R7OYJL5.cjs');exports.useCrossmint = _chunkVRJYLBO2cjs.d; exports.useCrossmintAuth = _chunkVRJYLBO2cjs.c; exports.useWallet = _chunkVRJYLBO2cjs.e;
@@ -1 +1 @@
1
- import{c as a,d as b,e as c}from"../chunk-PIVXUOPT.js";import"../chunk-BWWCPHLC.js";import"../chunk-DUTPQ56Q.js";export{b as useCrossmint,a as useCrossmintAuth,c as useWallet};
1
+ import{c as a,d as b,e as c}from"../chunk-WL6BVYPJ.js";import"../chunk-BWWCPHLC.js";import"../chunk-DUTPQ56Q.js";export{b as useCrossmint,a as useCrossmintAuth,c as useWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFSX3U7NOcjs = require('../chunk-FSX3U7NO.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-6R7OYJL5.cjs');exports.useCrossmintAuth = _chunkFSX3U7NOcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVRJYLBO2cjs = require('../chunk-VRJYLBO2.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-6R7OYJL5.cjs');exports.useCrossmintAuth = _chunkVRJYLBO2cjs.c;
@@ -1 +1 @@
1
- import{c as a}from"../chunk-PIVXUOPT.js";import"../chunk-BWWCPHLC.js";import"../chunk-DUTPQ56Q.js";export{a as useCrossmintAuth};
1
+ import{c as a}from"../chunk-WL6BVYPJ.js";import"../chunk-BWWCPHLC.js";import"../chunk-DUTPQ56Q.js";export{a as useCrossmintAuth};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFSX3U7NOcjs = require('./chunk-FSX3U7NO.cjs');var _chunk7WWAEYFFcjs = require('./chunk-7WWAEYFF.cjs');var _chunk4L2OHRE5cjs = require('./chunk-4L2OHRE5.cjs');require('./chunk-ZPIV7DVZ.cjs');require('./chunk-6R7OYJL5.cjs');exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunk7WWAEYFFcjs.a; exports.useCrossmint = _chunkFSX3U7NOcjs.d; exports.useCrossmintAuth = _chunkFSX3U7NOcjs.c; exports.useWallet = _chunkFSX3U7NOcjs.e;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYF74MXQIcjs = require('./chunk-YF74MXQI.cjs');var _chunkVRJYLBO2cjs = require('./chunk-VRJYLBO2.cjs');var _chunk4L2OHRE5cjs = require('./chunk-4L2OHRE5.cjs');require('./chunk-ZPIV7DVZ.cjs');require('./chunk-6R7OYJL5.cjs');exports.CrossmintAuthProvider = _chunkVRJYLBO2cjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunkYF74MXQIcjs.a; exports.useCrossmint = _chunkVRJYLBO2cjs.d; exports.useCrossmintAuth = _chunkVRJYLBO2cjs.c; exports.useWallet = _chunkVRJYLBO2cjs.e;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,8 @@
1
1
  export { CrossmintWalletProvider, useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { useCrossmintAuth } from './hooks/useCrossmintAuth.cjs';
3
3
  export { CrossmintProvider } from './providers/CrossmintProvider.cjs';
4
- export { EVMSmartWallet, SolanaSmartWallet } from '@crossmint/wallets-sdk';
4
+ export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.cjs';
5
+ export { DelegatedSigner, EVMSmartWallet, SolanaSmartWallet, WalletBalance } from '@crossmint/wallets-sdk';
5
6
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
6
7
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
7
8
  import '@crossmint/client-sdk-auth';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  export { CrossmintWalletProvider, useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { useCrossmintAuth } from './hooks/useCrossmintAuth.js';
3
3
  export { CrossmintProvider } from './providers/CrossmintProvider.js';
4
- export { EVMSmartWallet, SolanaSmartWallet } from '@crossmint/wallets-sdk';
4
+ export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.js';
5
+ export { DelegatedSigner, EVMSmartWallet, SolanaSmartWallet, WalletBalance } from '@crossmint/wallets-sdk';
5
6
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
6
7
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
7
8
  import '@crossmint/client-sdk-auth';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{c as t,d as r,e as o}from"./chunk-PIVXUOPT.js";import{a as s}from"./chunk-LSFWW47X.js";import{a as e}from"./chunk-I52CP62R.js";import"./chunk-BWWCPHLC.js";import"./chunk-DUTPQ56Q.js";export{e as CrossmintProvider,s as CrossmintWalletProvider,r as useCrossmint,t as useCrossmintAuth,o as useWallet};
1
+ import{a}from"./chunk-YDT26OWH.js";import{b as t,c as e,d as r,e as o}from"./chunk-WL6BVYPJ.js";import{a as s}from"./chunk-I52CP62R.js";import"./chunk-BWWCPHLC.js";import"./chunk-DUTPQ56Q.js";export{t as CrossmintAuthProvider,s as CrossmintProvider,a as CrossmintWalletProvider,r as useCrossmint,e as useCrossmintAuth,o as useWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFSX3U7NOcjs = require('../chunk-FSX3U7NO.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-6R7OYJL5.cjs');exports.AuthContext = _chunkFSX3U7NOcjs.a; exports.CrossmintAuthProvider = _chunkFSX3U7NOcjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVRJYLBO2cjs = require('../chunk-VRJYLBO2.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-6R7OYJL5.cjs');exports.AuthContext = _chunkVRJYLBO2cjs.a; exports.CrossmintAuthProvider = _chunkVRJYLBO2cjs.b;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-PIVXUOPT.js";import"../chunk-BWWCPHLC.js";import"../chunk-DUTPQ56Q.js";export{a as AuthContext,b as CrossmintAuthProvider};
1
+ import{a,b}from"../chunk-WL6BVYPJ.js";import"../chunk-BWWCPHLC.js";import"../chunk-DUTPQ56Q.js";export{a as AuthContext,b as CrossmintAuthProvider};
@@ -1,7 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
  import { Crossmint } from '@crossmint/common-sdk-base';
4
- import '@crossmint/client-sdk-react-base';
5
4
 
6
5
  declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, }: Omit<Crossmint, "jwt" | "appId"> & {
7
6
  children: ReactNode;
@@ -1,7 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
3
  import { Crossmint } from '@crossmint/common-sdk-base';
4
- import '@crossmint/client-sdk-react-base';
5
4
 
6
5
  declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, }: Omit<Crossmint, "jwt" | "appId"> & {
7
6
  children: ReactNode;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk7WWAEYFFcjs = require('../chunk-7WWAEYFF.cjs');var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunk7WWAEYFFcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYF74MXQIcjs = require('../chunk-YF74MXQI.cjs');var _chunkVRJYLBO2cjs = require('../chunk-VRJYLBO2.cjs');var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintAuthProvider = _chunkVRJYLBO2cjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunkYF74MXQIcjs.a;
@@ -1,5 +1,8 @@
1
1
  export { CrossmintProvider } from './CrossmintProvider.cjs';
2
+ export { CrossmintAuthProvider } from './CrossmintAuthProvider.cjs';
2
3
  export { CrossmintWalletProvider } from '@crossmint/client-sdk-react-base';
3
4
  import 'react/jsx-runtime';
4
5
  import 'react';
5
6
  import '@crossmint/common-sdk-base';
7
+ import '@crossmint/client-sdk-auth';
8
+ import '@crossmint/common-sdk-auth';
@@ -1,5 +1,8 @@
1
1
  export { CrossmintProvider } from './CrossmintProvider.js';
2
+ export { CrossmintAuthProvider } from './CrossmintAuthProvider.js';
2
3
  export { CrossmintWalletProvider } from '@crossmint/client-sdk-react-base';
3
4
  import 'react/jsx-runtime';
4
5
  import 'react';
5
6
  import '@crossmint/common-sdk-base';
7
+ import '@crossmint/client-sdk-auth';
8
+ import '@crossmint/common-sdk-auth';
@@ -1 +1 @@
1
- import{a as b}from"../chunk-LSFWW47X.js";import{a}from"../chunk-I52CP62R.js";import"../chunk-DUTPQ56Q.js";export{a as CrossmintProvider,b as CrossmintWalletProvider};
1
+ import{a as c}from"../chunk-YDT26OWH.js";import{b as a}from"../chunk-WL6BVYPJ.js";import{a as b}from"../chunk-I52CP62R.js";import"../chunk-BWWCPHLC.js";import"../chunk-DUTPQ56Q.js";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-native-ui",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -23,10 +23,10 @@
23
23
  "expo-web-browser": "~14.0.2",
24
24
  "@crossmint/client-sdk-auth": "1.2.1",
25
25
  "@crossmint/client-sdk-base": "1.4.17",
26
- "@crossmint/client-sdk-react-base": "0.2.3",
26
+ "@crossmint/client-sdk-react-base": "0.2.4",
27
27
  "@crossmint/common-sdk-auth": "1.0.24",
28
28
  "@crossmint/common-sdk-base": "0.4.0",
29
- "@crossmint/wallets-sdk": "0.5.3"
29
+ "@crossmint/wallets-sdk": "0.6.0"
30
30
  },
31
31
  "devDependencies": {
32
32
  "@types/react": "19.0.12"
@@ -1 +0,0 @@
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 _chunkZPIV7DVZcjs = require('./chunk-ZPIV7DVZ.cjs');var _chunk6R7OYJL5cjs = require('./chunk-6R7OYJL5.cjs');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var s = _interopRequireWildcard(_expowebbrowser);var _clientsdkauth = require('@crossmint/client-sdk-auth');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function Y(){let n=_react.useContext.call(void 0, U);if(!n)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return n}var _reactnative = require('react-native');var _jsxruntime = require('react/jsx-runtime');var T={google:null,twitter:null},q={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve()},U= exports.a =_react.createContext.call(void 0, q);function ct({children:n,onLoginSuccess:i,refreshRoute:h,logoutRoute:v,customStorageProvider:d,appSchema:g}){let[p,f]=_react.useState.call(void 0, void 0),{crossmint:o,setJwt:m}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[B,E]=_react.useState.call(void 0, T),w=_react.useRef.call(void 0, null),u=_react.useMemo.call(void 0, ()=>d!=null?d:new _chunkZPIV7DVZcjs.a,[d]),O=Array.isArray(g)?g[0]:g,e=_react.useMemo.call(void 0, ()=>{if(!w.current){let t={callbacks:{onLogout:()=>{m(void 0),f(void 0)},onTokenRefresh:r=>{m(r.jwt),f(r.user)}},refreshRoute:h,logoutRoute:v,storageProvider:u};w.current=_clientsdkauth.CrossmintAuth.from(o,t)}return w.current},[u]),[k,z]=_react.useState.call(void 0, !1),x=_react.useCallback.call(void 0, ()=>{i==null||i()},[i]);_react.useEffect.call(void 0, ()=>{o.jwt==null&&(u==null||u.get("jwt").then(t=>{t!=null&&(console.log("[CrossmintAuthProvider] jwt",t),m(t))})),z(!0)},[o.jwt,m,u]),_react.useEffect.call(void 0, ()=>{o.jwt!=null&&x()},[o.jwt,x]);let D=()=>{e.logout()},S=_react.useCallback.call(void 0, ()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){try{let r=Object.keys(T).map(a=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let A=yield e==null?void 0:e.getOAuthUrl(a,{appSchema:O});return{[a]:A}})),c=Object.assign({},...yield Promise.all(r));E(c)}catch(t){console.error(t)}}),[e]);_react.useEffect.call(void 0, ()=>{p==null&&S()},[S,p]);let I=()=>k?o.jwt!=null?"logged-in":"logged-out":"initializing",K=()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){if(o.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();f(t)}),F=t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){var r;try{let c=(r=B[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:O});yield s.warmUpAsync();let a=new URL(c);if(t==="google"&&a.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield s.openBrowserAsync(a.toString());else{let A=yield s.openAuthSessionAsync(a.toString());A.type==="success"&&(yield b(A.url))}yield s.coolDownAsync()}catch(c){console.error("[CrossmintAuthProvider] Error during OAuth login:",c)}}),b=_react.useCallback.call(void 0, t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let r=t.includes("://")?G(t):t;if(r!=null)return yield e.handleRefreshAuthMaterial(r)}),[e]);return _jsxruntime.jsx.call(void 0, U.Provider,{value:{crossmintAuth:e,logout:D,jwt:o.jwt,user:p,status:I(),getUser:K,loginWithOAuth:F,createAuthSession:b},children:n})}var G=n=>{let i=/[?&]oneTimeSecret=([^&#]+)/,h=n.match(i);return h?decodeURIComponent(h[1]):void 0};exports.a = U; exports.b = ct; exports.c = Y; exports.d = _clientsdkreactbase.useCrossmint; exports.e = _clientsdkreactbase.useWallet;
@@ -1 +0,0 @@
1
- import{CrossmintWalletProvider as d}from"@crossmint/client-sdk-react-base";export{d as a};
@@ -1 +0,0 @@
1
- import{a as j}from"./chunk-BWWCPHLC.js";import{a as l}from"./chunk-DUTPQ56Q.js";import{createContext as _,useEffect as C,useMemo as T,useRef as H,useState as y,useCallback as P}from"react";import*as s from"expo-web-browser";import{CrossmintAuth as V}from"@crossmint/client-sdk-auth";import{useCrossmint as W,useWallet as st}from"@crossmint/client-sdk-react-base";import{useContext as N}from"react";function Z(){let n=N(U);if(!n)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return n}import{Platform as q}from"react-native";import{jsx as Q}from"react/jsx-runtime";var B={google:null,twitter:null},G={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve()},U=_(G);function ht({children:n,onLoginSuccess:i,refreshRoute:h,logoutRoute:v,customStorageProvider:d,appSchema:g}){let[p,f]=y(void 0),{crossmint:o,setJwt:m}=W("CrossmintAuthProvider must be used within CrossmintProvider"),[E,k]=y(B),w=H(null),u=T(()=>d!=null?d:new j,[d]),O=Array.isArray(g)?g[0]:g,e=T(()=>{if(!w.current){let t={callbacks:{onLogout:()=>{m(void 0),f(void 0)},onTokenRefresh:r=>{m(r.jwt),f(r.user)}},refreshRoute:h,logoutRoute:v,storageProvider:u};w.current=V.from(o,t)}return w.current},[u]),[z,D]=y(!1),x=P(()=>{i==null||i()},[i]);C(()=>{o.jwt==null&&(u==null||u.get("jwt").then(t=>{t!=null&&(console.log("[CrossmintAuthProvider] jwt",t),m(t))})),D(!0)},[o.jwt,m,u]),C(()=>{o.jwt!=null&&x()},[o.jwt,x]);let I=()=>{e.logout()},S=P(()=>l(this,null,function*(){try{let r=Object.keys(B).map(a=>l(this,null,function*(){let A=yield e==null?void 0:e.getOAuthUrl(a,{appSchema:O});return{[a]:A}})),c=Object.assign({},...yield Promise.all(r));k(c)}catch(t){console.error(t)}}),[e]);C(()=>{p==null&&S()},[S,p]);let K=()=>z?o.jwt!=null?"logged-in":"logged-out":"initializing",F=()=>l(this,null,function*(){if(o.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();f(t)}),J=t=>l(this,null,function*(){var r;try{let c=(r=E[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:O});yield s.warmUpAsync();let a=new URL(c);if(t==="google"&&a.searchParams.append("provider_prompt","select_account"),q.OS==="android")yield s.openBrowserAsync(a.toString());else{let A=yield s.openAuthSessionAsync(a.toString());A.type==="success"&&(yield b(A.url))}yield s.coolDownAsync()}catch(c){console.error("[CrossmintAuthProvider] Error during OAuth login:",c)}}),b=P(t=>l(this,null,function*(){let r=t.includes("://")?L(t):t;if(r!=null)return yield e.handleRefreshAuthMaterial(r)}),[e]);return Q(U.Provider,{value:{crossmintAuth:e,logout:I,jwt:o.jwt,user:p,status:K(),getUser:F,loginWithOAuth:J,createAuthSession:b},children:n})}var L=n=>{let i=/[?&]oneTimeSecret=([^&#]+)/,h=n.match(i);return h?decodeURIComponent(h[1]):void 0};export{U as a,ht as b,Z as c,W as d,st as e};
File without changes