@crossmint/client-sdk-react-native-ui 0.5.3 → 0.5.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
+ import{a as W}from"./chunk-BWWCPHLC.js";import{a as h}from"./chunk-DUTPQ56Q.js";import{createContext as $,useEffect as U,useMemo as _,useRef as q,useState as d,useCallback as P}from"react";import*as i from"expo-web-browser";import{CrossmintAuth as L}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as Q}from"@crossmint/common-sdk-auth";import{useCrossmint as z,useWallet as pt}from"@crossmint/client-sdk-react-base";import{useContext as B}from"react";function st(){let o=B(A);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function it(){let o=B(A);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}import{Platform as Y}from"react-native";import O from"expo-constants";import{jsx as et}from"react/jsx-runtime";var k={google:null,twitter:null},Z={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},A=$(Z);function Ut({children:o,onLoginSuccess:u,refreshRoute:c,logoutRoute:v,customStorageProvider:p,appSchema:g}){let[f,w]=d(void 0),{crossmint:n,setJwt:S,experimental_setCustomAuth:x}=z("CrossmintAuthProvider must be used within CrossmintProvider"),[D,F]=d(k),y=q(null),a=_(()=>p!=null?p:new W,[p]),[K,b]=d(!1),[N,C]=d(!1),G=Array.isArray(g)?g[0]:g,j=O.executionEnvironment==="storeClient"||O.appOwnership==="expo"||!!O.expoVersion?"exp://127.0.0.1:8081":G,r=_(()=>{if(!y.current){let t={callbacks:{onLogout:()=>{x(void 0),w(void 0)},onTokenRefresh:e=>{w(e.user),x({email:e.user.email,jwt:e.jwt})}},refreshRoute:c,logoutRoute:v,storageProvider:a};y.current=L.from(n,t)}return y.current},[a]),E=P(()=>{u==null||u()},[u]);U(()=>{n.jwt==null?a==null||a.get(Q).then(t=>{t!=null&&S(t)}).finally(()=>{b(!0)}):b(!0)},[n.jwt,S,a]),U(()=>{n.jwt!=null&&E()},[n.jwt,E]);let J=()=>{r.logout()},R=P(()=>h(this,null,function*(){try{let e=Object.keys(k).map(l=>h(this,null,function*(){let m=yield r==null?void 0:r.getOAuthUrl(l,{appSchema:j});return{[l]:m}})),s=Object.assign({},...yield Promise.all(e));F(s)}catch(t){console.error(t)}}),[r]);U(()=>{f==null&&R()},[R,f]);let V=()=>K?N?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",H=()=>h(this,null,function*(){var e;if(n.jwt==null){console.log("User not logged in");return}let t=yield r.getUser();return w(t),x({email:t.email,jwt:(e=n.experimental_customAuth)==null?void 0:e.jwt}),t}),X=t=>h(this,null,function*(){var e;try{C(!0);let s=(e=D[t])!=null?e:yield r.getOAuthUrl(t,{appSchema:j});yield i.warmUpAsync();let l=new URL(s);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),Y.OS==="android")yield i.openBrowserAsync(l.toString());else{let m=yield i.openAuthSessionAsync(l.toString());m.type==="success"&&(yield M(m.url))}yield i.coolDownAsync()}catch(s){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",s),new Error(`Error during OAuth login: ${s}`)}}),M=P(t=>h(this,null,function*(){let e=t.includes("://")?tt(t):t;if(e!=null)try{return C(!0),yield r.handleRefreshAuthMaterial(e)}catch(s){throw s}finally{C(!1)}return null}),[r]);return et(A.Provider,{value:{crossmintAuth:r,logout:J,jwt:n.jwt,user:f,status:V(),getUser:H,loginWithOAuth:X,createAuthSession:M},children:o})}var tt=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,c=o.match(u);return c?decodeURIComponent(c[1]):void 0};export{A as a,Ut as b,st as c,it as d,z as e,pt as f};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUM4IINI3cjs = require('./chunk-UM4IINI3.cjs');var _chunk6R7OYJL5cjs = require('./chunk-6R7OYJL5.cjs');var _react = require('react');var _reactnative = require('react-native');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _commonsdkbase = require('@crossmint/common-sdk-base');var _jsxruntime = require('react/jsx-runtime');var b="https://signers.crossmint.com";function J({children:h}){let{crossmint:g}=_chunkUM4IINI3cjs.e.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:P,appId:l}=g,p=_commonsdkbase.validateAPIKey.call(void 0, P);if(!p.isValid)throw new Error("Invalid API key");let E=`${b}/?environment=${p.environment}`,c=_react.useRef.call(void 0, null),r=_react.useRef.call(void 0, null),[m,s]=_react.useState.call(void 0, !1),y=_react.useMemo.call(void 0, ()=>l!=null?`window.crossmintAppId = '${l}';`:"",[l]);_react.useEffect.call(void 0, ()=>{c.current!=null&&r.current==null&&(r.current=new (0, _clientsdkrnwindow.WebViewParent)(c,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[]);let C=_react.useCallback.call(void 0, ()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let e=r.current;if(e!=null)try{yield e.handshakeWithChild(),s(!0)}catch(i){console.error("[CrossmintWalletProvider] Handshake error:",i),s(!1)}}),[]),V=_react.useCallback.call(void 0, e=>{console.log("[CrossmintWalletProvider] Received message:",e.nativeEvent.data);let i=r.current;if(i!=null){try{let o=JSON.parse(e.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let d=o.type.split(".")[1],n=(o.data||[]).map(t=>{try{return t==="[Function]"||t==="[Circular Reference]"||t==="[Unserializable Object]"?t:JSON.parse(t)}catch(T){return t}}),a=`[WebView:${d.toUpperCase()}]`;switch(d){case"log":console.log(a,...n);break;case"error":console.error(a,...n);break;case"warn":console.warn(a,...n);break;case"info":console.info(a,...n);break;default:console.log(`[WebView Unknown:${d}]`,...n)}return}}catch(o){}i.handleMessage(e)}},[]),k=_react.useCallback.call(void 0, ()=>{if(!m||r.current==null)throw new Error("WebView not ready or handshake incomplete");return r.current},[m]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletProvider,{getHandshakeParent:k,children:[h,_jsxruntime.jsx.call(void 0, _reactnative.View,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:c,source:{uri:E},injectedGlobals:y,onLoadStart:e=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",e.nativeEvent.url)},onLoadEnd:C,onLoadProgress:({nativeEvent:e})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",e.progress)},onMessage:V,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent),s(!1)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent),s(!1)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[b]})})]})}exports.a = J;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKAGVZXHCcjs = require('./chunk-KAGVZXHC.cjs');var _chunk6R7OYJL5cjs = require('./chunk-6R7OYJL5.cjs');var _react = require('react');var _reactnative = require('react-native');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _commonsdkbase = require('@crossmint/common-sdk-base');var _jsxruntime = require('react/jsx-runtime');var b="https://signers.crossmint.com";function J({children:h}){let{crossmint:g}=_chunkKAGVZXHCcjs.e.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:P,appId:l}=g,p=_commonsdkbase.validateAPIKey.call(void 0, P);if(!p.isValid)throw new Error("Invalid API key");let E=`${b}/?environment=${p.environment}`,c=_react.useRef.call(void 0, null),r=_react.useRef.call(void 0, null),[m,s]=_react.useState.call(void 0, !1),y=_react.useMemo.call(void 0, ()=>l!=null?`window.crossmintAppId = '${l}';`:"",[l]);_react.useEffect.call(void 0, ()=>{c.current!=null&&r.current==null&&(r.current=new (0, _clientsdkrnwindow.WebViewParent)(c,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[]);let C=_react.useCallback.call(void 0, ()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let e=r.current;if(e!=null)try{yield e.handshakeWithChild(),s(!0)}catch(i){console.error("[CrossmintWalletProvider] Handshake error:",i),s(!1)}}),[]),V=_react.useCallback.call(void 0, e=>{console.log("[CrossmintWalletProvider] Received message:",e.nativeEvent.data);let i=r.current;if(i!=null){try{let o=JSON.parse(e.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let d=o.type.split(".")[1],n=(o.data||[]).map(t=>{try{return t==="[Function]"||t==="[Circular Reference]"||t==="[Unserializable Object]"?t:JSON.parse(t)}catch(T){return t}}),a=`[WebView:${d.toUpperCase()}]`;switch(d){case"log":console.log(a,...n);break;case"error":console.error(a,...n);break;case"warn":console.warn(a,...n);break;case"info":console.info(a,...n);break;default:console.log(`[WebView Unknown:${d}]`,...n)}return}}catch(o){}i.handleMessage(e)}},[]),k=_react.useCallback.call(void 0, ()=>{if(!m||r.current==null)throw new Error("WebView not ready or handshake incomplete");return r.current},[m]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletProvider,{getHandshakeParent:k,children:[h,_jsxruntime.jsx.call(void 0, _reactnative.View,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:c,source:{uri:E},injectedGlobals:y,onLoadStart:e=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",e.nativeEvent.url)},onLoadEnd:C,onLoadProgress:({nativeEvent:e})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",e.progress)},onMessage:V,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent),s(!1)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent),s(!1)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[b]})})]})}exports.a = J;
@@ -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 i = _interopRequireWildcard(_expowebbrowser);var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function nt(){let o=_react.useContext.call(void 0, A);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function st(){let o=_react.useContext.call(void 0, A);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _jsxruntime = require('react/jsx-runtime');var _={google:null,twitter:null},Y={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},A= exports.a =_react.createContext.call(void 0, Y);function Ct({children:o,onLoginSuccess:u,refreshRoute:c,logoutRoute:v,customStorageProvider:p,appSchema:g}){let[f,w]=_react.useState.call(void 0, void 0),{crossmint:n,setJwt:S,experimental_setCustomAuth:x}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[k,D]=_react.useState.call(void 0, _),y=_react.useRef.call(void 0, null),a=_react.useMemo.call(void 0, ()=>p!=null?p:new _chunkZPIV7DVZcjs.a,[p]),[F,b]=_react.useState.call(void 0, !1),[K,C]=_react.useState.call(void 0, !1),N=Array.isArray(g)?g[0]:g,j=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":N,r=_react.useMemo.call(void 0, ()=>{if(!y.current){let t={callbacks:{onLogout:()=>{x(void 0),w(void 0)},onTokenRefresh:e=>{w(e.user),x({email:e.user.email,jwt:e.jwt})}},refreshRoute:c,logoutRoute:v,storageProvider:a};y.current=_clientsdkauth.CrossmintAuth.from(n,t)}return y.current},[a]),E=_react.useCallback.call(void 0, ()=>{u==null||u()},[u]);_react.useEffect.call(void 0, ()=>{n.jwt==null?a==null||a.get(_commonsdkauth.SESSION_PREFIX).then(t=>{t!=null&&S(t)}).finally(()=>{b(!0)}):b(!0)},[n.jwt,S,a]),_react.useEffect.call(void 0, ()=>{n.jwt!=null&&E()},[n.jwt,E]);let G=()=>{r.logout()},R=_react.useCallback.call(void 0, ()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){try{let e=Object.keys(_).map(l=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let m=yield r==null?void 0:r.getOAuthUrl(l,{appSchema:j});return{[l]:m}})),s=Object.assign({},...yield Promise.all(e));D(s)}catch(t){console.error(t)}}),[r]);_react.useEffect.call(void 0, ()=>{f==null&&R()},[R,f]);let J=()=>F?K?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",V=()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){var e;if(n.jwt==null){console.log("User not logged in");return}let t=yield r.getUser();return w(t),x({email:t.email,jwt:(e=n.experimental_customAuth)==null?void 0:e.jwt}),t}),H=t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){var e;try{C(!0);let s=(e=k[t])!=null?e:yield r.getOAuthUrl(t,{appSchema:j});yield i.warmUpAsync();let l=new URL(s);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield i.openBrowserAsync(l.toString());else{let m=yield i.openAuthSessionAsync(l.toString());m.type==="success"&&(yield M(m.url))}yield i.coolDownAsync()}catch(s){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",s),new Error(`Error during OAuth login: ${s}`)}}),M=_react.useCallback.call(void 0, t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let e=t.includes("://")?Z(t):t;if(e!=null)try{return C(!0),yield r.handleRefreshAuthMaterial(e)}catch(s){throw s}finally{C(!1)}return null}),[r]);return _jsxruntime.jsx.call(void 0, A.Provider,{value:{crossmintAuth:r,logout:G,jwt:n.jwt,user:f,status:J(),getUser:V,loginWithOAuth:H,createAuthSession:M},children:o})}var Z=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,c=o.match(u);return c?decodeURIComponent(c[1]):void 0};exports.a = A; exports.b = Ct; exports.c = nt; exports.d = st; exports.e = _clientsdkreactbase.useCrossmint; exports.f = _clientsdkreactbase.useWallet;
@@ -1 +1 @@
1
- import{e as w}from"./chunk-IETKPTNG.js";import{a as f}from"./chunk-DUTPQ56Q.js";import{useCallback as u,useEffect as R,useRef as v,useState as I,useMemo as M}from"react";import{View as L}from"react-native";import{RNWebView as N,WebViewParent as O}from"@crossmint/client-sdk-rn-window";import{signerInboundEvents as U,signerOutboundEvents as A}from"@crossmint/client-signers";import{CrossmintWalletProvider as H}from"@crossmint/client-sdk-react-base";import{validateAPIKey as $}from"@crossmint/common-sdk-base";import{jsx as W,jsxs as S}from"react/jsx-runtime";var b="https://signers.crossmint.com";function z({children:h}){let{crossmint:g}=w("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:P,appId:l}=g,p=$(P);if(!p.isValid)throw new Error("Invalid API key");let E=`${b}/?environment=${p.environment}`,c=v(null),r=v(null),[m,s]=I(!1),y=M(()=>l!=null?`window.crossmintAppId = '${l}';`:"",[l]);R(()=>{c.current!=null&&r.current==null&&(r.current=new O(c,{incomingEvents:A,outgoingEvents:U}))},[]);let C=u(()=>f(this,null,function*(){let e=r.current;if(e!=null)try{yield e.handshakeWithChild(),s(!0)}catch(i){console.error("[CrossmintWalletProvider] Handshake error:",i),s(!1)}}),[]),V=u(e=>{console.log("[CrossmintWalletProvider] Received message:",e.nativeEvent.data);let i=r.current;if(i!=null){try{let o=JSON.parse(e.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let d=o.type.split(".")[1],n=(o.data||[]).map(t=>{try{return t==="[Function]"||t==="[Circular Reference]"||t==="[Unserializable Object]"?t:JSON.parse(t)}catch(T){return t}}),a=`[WebView:${d.toUpperCase()}]`;switch(d){case"log":console.log(a,...n);break;case"error":console.error(a,...n);break;case"warn":console.warn(a,...n);break;case"info":console.info(a,...n);break;default:console.log(`[WebView Unknown:${d}]`,...n)}return}}catch(o){}i.handleMessage(e)}},[]),k=u(()=>{if(!m||r.current==null)throw new Error("WebView not ready or handshake incomplete");return r.current},[m]);return S(H,{getHandshakeParent:k,children:[h,W(L,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:W(N,{ref:c,source:{uri:E},injectedGlobals:y,onLoadStart:e=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",e.nativeEvent.url)},onLoadEnd:C,onLoadProgress:({nativeEvent:e})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",e.progress)},onMessage:V,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent),s(!1)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent),s(!1)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[b]})})]})}export{z as a};
1
+ import{e as w}from"./chunk-7FUTPEOI.js";import{a as f}from"./chunk-DUTPQ56Q.js";import{useCallback as u,useEffect as R,useRef as v,useState as I,useMemo as M}from"react";import{View as L}from"react-native";import{RNWebView as N,WebViewParent as O}from"@crossmint/client-sdk-rn-window";import{signerInboundEvents as U,signerOutboundEvents as A}from"@crossmint/client-signers";import{CrossmintWalletProvider as H}from"@crossmint/client-sdk-react-base";import{validateAPIKey as $}from"@crossmint/common-sdk-base";import{jsx as W,jsxs as S}from"react/jsx-runtime";var b="https://signers.crossmint.com";function z({children:h}){let{crossmint:g}=w("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:P,appId:l}=g,p=$(P);if(!p.isValid)throw new Error("Invalid API key");let E=`${b}/?environment=${p.environment}`,c=v(null),r=v(null),[m,s]=I(!1),y=M(()=>l!=null?`window.crossmintAppId = '${l}';`:"",[l]);R(()=>{c.current!=null&&r.current==null&&(r.current=new O(c,{incomingEvents:A,outgoingEvents:U}))},[]);let C=u(()=>f(this,null,function*(){let e=r.current;if(e!=null)try{yield e.handshakeWithChild(),s(!0)}catch(i){console.error("[CrossmintWalletProvider] Handshake error:",i),s(!1)}}),[]),V=u(e=>{console.log("[CrossmintWalletProvider] Received message:",e.nativeEvent.data);let i=r.current;if(i!=null){try{let o=JSON.parse(e.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let d=o.type.split(".")[1],n=(o.data||[]).map(t=>{try{return t==="[Function]"||t==="[Circular Reference]"||t==="[Unserializable Object]"?t:JSON.parse(t)}catch(T){return t}}),a=`[WebView:${d.toUpperCase()}]`;switch(d){case"log":console.log(a,...n);break;case"error":console.error(a,...n);break;case"warn":console.warn(a,...n);break;case"info":console.info(a,...n);break;default:console.log(`[WebView Unknown:${d}]`,...n)}return}}catch(o){}i.handleMessage(e)}},[]),k=u(()=>{if(!m||r.current==null)throw new Error("WebView not ready or handshake incomplete");return r.current},[m]);return S(H,{getHandshakeParent:k,children:[h,W(L,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:W(N,{ref:c,source:{uri:E},injectedGlobals:y,onLoadStart:e=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",e.nativeEvent.url)},onLoadEnd:C,onLoadProgress:({nativeEvent:e})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",e.progress)},onMessage:V,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent),s(!1)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent),s(!1)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[b]})})]})}export{z as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');function I({children:n,apiKey:m,overrideBaseUrl:p}){var o,r,e,i,s;let d=(s=(r=(o=_expoconstants2.default.expoConfig)==null?void 0:o.ios)==null?void 0:r.bundleIdentifier)!=null?s:(i=(e=_expoconstants2.default.expoConfig)==null?void 0:e.android)==null?void 0:i.package;return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:m,appId:d,overrideBaseUrl:p,children:n})}exports.a = I;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');function g({children:t,apiKey:a,overrideBaseUrl:d}){var o,r,e,i,s;let m=(s=(r=(o=_expoconstants2.default.expoConfig)==null?void 0:o.ios)==null?void 0:r.bundleIdentifier)!=null?s:(i=(e=_expoconstants2.default.expoConfig)==null?void 0:e.android)==null?void 0:i.package;return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:a,appId:m,overrideBaseUrl:d,children:t})}exports.a = g;
@@ -0,0 +1 @@
1
+ import n from"expo-constants";import{CrossmintProvider as p}from"@crossmint/client-sdk-react-base";import{jsx as C}from"react/jsx-runtime";function P({children:t,apiKey:a,overrideBaseUrl:d}){var o,r,e,i,s;let m=(s=(r=(o=n.expoConfig)==null?void 0:o.ios)==null?void 0:r.bundleIdentifier)!=null?s:(i=(e=n.expoConfig)==null?void 0:e.android)==null?void 0:i.package;return C(p,{apiKey:a,appId:m,overrideBaseUrl:d,children:t})}export{P as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUM4IINI3cjs = require('../chunk-UM4IINI3.cjs');require('../chunk-ZPIV7DVZ.cjs');var _chunkQM2JVAWVcjs = require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.useAuth = _chunkUM4IINI3cjs.d; exports.useCrossmint = _chunkUM4IINI3cjs.e; exports.useCrossmintAuth = _chunkUM4IINI3cjs.c; exports.useWallet = _chunkUM4IINI3cjs.f; exports.useWalletEmailSigner = _chunkQM2JVAWVcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKAGVZXHCcjs = require('../chunk-KAGVZXHC.cjs');require('../chunk-ZPIV7DVZ.cjs');var _chunkQM2JVAWVcjs = require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.useAuth = _chunkKAGVZXHCcjs.d; exports.useCrossmint = _chunkKAGVZXHCcjs.e; exports.useCrossmintAuth = _chunkKAGVZXHCcjs.c; exports.useWallet = _chunkKAGVZXHCcjs.f; exports.useWalletEmailSigner = _chunkQM2JVAWVcjs.a;
@@ -1 +1 @@
1
- import{c as a,d as b,e as d,f as e}from"../chunk-IETKPTNG.js";import"../chunk-BWWCPHLC.js";import{a as c}from"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{b as useAuth,d as useCrossmint,a as useCrossmintAuth,e as useWallet,c as useWalletEmailSigner};
1
+ import{c as a,d as b,e as d,f as e}from"../chunk-7FUTPEOI.js";import"../chunk-BWWCPHLC.js";import{a as c}from"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{b as useAuth,d as useCrossmint,a as useCrossmintAuth,e as useWallet,c as useWalletEmailSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUM4IINI3cjs = require('../chunk-UM4IINI3.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.useAuth = _chunkUM4IINI3cjs.d; exports.useCrossmintAuth = _chunkUM4IINI3cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKAGVZXHCcjs = require('../chunk-KAGVZXHC.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.useAuth = _chunkKAGVZXHCcjs.d; exports.useCrossmintAuth = _chunkKAGVZXHCcjs.c;
@@ -1 +1 @@
1
- import{c as a,d as b}from"../chunk-IETKPTNG.js";import"../chunk-BWWCPHLC.js";import"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{b as useAuth,a as useCrossmintAuth};
1
+ import{c as a,d as b}from"../chunk-7FUTPEOI.js";import"../chunk-BWWCPHLC.js";import"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{b as useAuth,a as useCrossmintAuth};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-ZR6BLDCD.cjs');var _chunk4L2OHRE5cjs = require('./chunk-4L2OHRE5.cjs');var _chunkFGMMPFQ2cjs = require('./chunk-FGMMPFQ2.cjs');var _chunkUM4IINI3cjs = require('./chunk-UM4IINI3.cjs');require('./chunk-ZPIV7DVZ.cjs');var _chunkQM2JVAWVcjs = require('./chunk-QM2JVAWV.cjs');require('./chunk-6R7OYJL5.cjs');exports.CrossmintAuthProvider = _chunkUM4IINI3cjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunkFGMMPFQ2cjs.a; exports.useAuth = _chunkUM4IINI3cjs.d; exports.useCrossmint = _chunkUM4IINI3cjs.e; exports.useCrossmintAuth = _chunkUM4IINI3cjs.c; exports.useWallet = _chunkUM4IINI3cjs.f; exports.useWalletEmailSigner = _chunkQM2JVAWVcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-ZR6BLDCD.cjs');var _chunkYBYUZ7SKcjs = require('./chunk-YBYUZ7SK.cjs');var _chunkIGVX4KAMcjs = require('./chunk-IGVX4KAM.cjs');var _chunkKAGVZXHCcjs = require('./chunk-KAGVZXHC.cjs');require('./chunk-ZPIV7DVZ.cjs');var _chunkQM2JVAWVcjs = require('./chunk-QM2JVAWV.cjs');require('./chunk-6R7OYJL5.cjs');exports.CrossmintAuthProvider = _chunkKAGVZXHCcjs.b; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkIGVX4KAMcjs.a; exports.useAuth = _chunkKAGVZXHCcjs.d; exports.useCrossmint = _chunkKAGVZXHCcjs.e; exports.useCrossmintAuth = _chunkKAGVZXHCcjs.c; exports.useWallet = _chunkKAGVZXHCcjs.f; exports.useWalletEmailSigner = _chunkQM2JVAWVcjs.a;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
1
+ export { Balances, DelegatedSigner, useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { useAuth, useCrossmintAuth } from './hooks/useCrossmintAuth.cjs';
3
3
  export { EmailSignerFunctions, useWalletEmailSigner } from './hooks/useWalletEmailSigner.cjs';
4
4
  export { CrossmintProvider } from './providers/CrossmintProvider.cjs';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
1
+ export { Balances, DelegatedSigner, useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { useAuth, useCrossmintAuth } from './hooks/useCrossmintAuth.js';
3
3
  export { EmailSignerFunctions, useWalletEmailSigner } from './hooks/useWalletEmailSigner.js';
4
4
  export { CrossmintProvider } from './providers/CrossmintProvider.js';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-C62HRWJA.js";import{a as n}from"./chunk-I52CP62R.js";import{a as p}from"./chunk-EE7T3ACX.js";import{b as r,c as t,d as o,e as s,f as m}from"./chunk-IETKPTNG.js";import"./chunk-BWWCPHLC.js";import{a as e}from"./chunk-WYLNTYVI.js";import"./chunk-DUTPQ56Q.js";export{r as CrossmintAuthProvider,n as CrossmintProvider,p as CrossmintWalletProvider,o as useAuth,s as useCrossmint,t as useCrossmintAuth,m as useWallet,e as useWalletEmailSigner};
1
+ import"./chunk-C62HRWJA.js";import{a as m}from"./chunk-ZENPJSBN.js";import{a}from"./chunk-VAYO3TTH.js";import{b as e,c as t,d as r,e as s,f as n}from"./chunk-7FUTPEOI.js";import"./chunk-BWWCPHLC.js";import{a as o}from"./chunk-WYLNTYVI.js";import"./chunk-DUTPQ56Q.js";export{e as CrossmintAuthProvider,m as CrossmintProvider,a as CrossmintWalletProvider,r as useAuth,s as useCrossmint,t as useCrossmintAuth,n as useWallet,o as useWalletEmailSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUM4IINI3cjs = require('../chunk-UM4IINI3.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.AuthContext = _chunkUM4IINI3cjs.a; exports.CrossmintAuthProvider = _chunkUM4IINI3cjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKAGVZXHCcjs = require('../chunk-KAGVZXHC.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.AuthContext = _chunkKAGVZXHCcjs.a; exports.CrossmintAuthProvider = _chunkKAGVZXHCcjs.b;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-IETKPTNG.js";import"../chunk-BWWCPHLC.js";import"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{a as AuthContext,b as CrossmintAuthProvider};
1
+ import{a,b}from"../chunk-7FUTPEOI.js";import"../chunk-BWWCPHLC.js";import"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{a as AuthContext,b as CrossmintAuthProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintProvider = _chunk4L2OHRE5cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYBYUZ7SKcjs = require('../chunk-YBYUZ7SK.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a;
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { Crossmint } from '@crossmint/common-sdk-base';
3
+ import { CrossmintConfig } from '@crossmint/common-sdk-base';
4
4
 
5
- declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, }: Omit<Crossmint, "jwt" | "appId"> & {
5
+ declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, }: Pick<CrossmintConfig, "apiKey" | "overrideBaseUrl"> & {
6
6
  children: ReactNode;
7
7
  }): react_jsx_runtime.JSX.Element;
8
8
 
@@ -1,8 +1,8 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { Crossmint } from '@crossmint/common-sdk-base';
3
+ import { CrossmintConfig } from '@crossmint/common-sdk-base';
4
4
 
5
- declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, }: Omit<Crossmint, "jwt" | "appId"> & {
5
+ declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, }: Pick<CrossmintConfig, "apiKey" | "overrideBaseUrl"> & {
6
6
  children: ReactNode;
7
7
  }): react_jsx_runtime.JSX.Element;
8
8
 
@@ -1 +1 @@
1
- import{a}from"../chunk-I52CP62R.js";import"../chunk-DUTPQ56Q.js";export{a as CrossmintProvider};
1
+ import{a}from"../chunk-ZENPJSBN.js";import"../chunk-DUTPQ56Q.js";export{a as CrossmintProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFGMMPFQ2cjs = require('../chunk-FGMMPFQ2.cjs');require('../chunk-UM4IINI3.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintWalletProvider = _chunkFGMMPFQ2cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkIGVX4KAMcjs = require('../chunk-IGVX4KAM.cjs');require('../chunk-KAGVZXHC.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintWalletProvider = _chunkIGVX4KAMcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-EE7T3ACX.js";import"../chunk-IETKPTNG.js";import"../chunk-BWWCPHLC.js";import"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{a as CrossmintWalletProvider};
1
+ import{a}from"../chunk-VAYO3TTH.js";import"../chunk-7FUTPEOI.js";import"../chunk-BWWCPHLC.js";import"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{a as CrossmintWalletProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');var _chunkFGMMPFQ2cjs = require('../chunk-FGMMPFQ2.cjs');var _chunkUM4IINI3cjs = require('../chunk-UM4IINI3.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintAuthProvider = _chunkUM4IINI3cjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunkFGMMPFQ2cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var _chunkYBYUZ7SKcjs = require('../chunk-YBYUZ7SK.cjs');var _chunkIGVX4KAMcjs = require('../chunk-IGVX4KAM.cjs');var _chunkKAGVZXHCcjs = require('../chunk-KAGVZXHC.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintAuthProvider = _chunkKAGVZXHCcjs.b; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkIGVX4KAMcjs.a;
@@ -1 +1 @@
1
- import"../chunk-C62HRWJA.js";import{a as b}from"../chunk-I52CP62R.js";import{a as c}from"../chunk-EE7T3ACX.js";import{b as a}from"../chunk-IETKPTNG.js";import"../chunk-BWWCPHLC.js";import"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
1
+ import"../chunk-C62HRWJA.js";import{a as b}from"../chunk-ZENPJSBN.js";import{a as c}from"../chunk-VAYO3TTH.js";import{b as a}from"../chunk-7FUTPEOI.js";import"../chunk-BWWCPHLC.js";import"../chunk-WYLNTYVI.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.5.3",
3
+ "version": "0.5.5",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -21,17 +21,17 @@
21
21
  "@solana/web3.js": "1.98.0",
22
22
  "bs58": "^5.0.0",
23
23
  "expo-constants": "~17.0.8",
24
- "expo-secure-store": "14.0.1",
24
+ "expo-secure-store": "~14.0.0",
25
25
  "expo-web-browser": "~14.0.2",
26
26
  "react-native-webview": "13.12.5",
27
- "@crossmint/client-sdk-auth": "1.2.11",
28
- "@crossmint/client-sdk-base": "1.5.3",
29
- "@crossmint/client-sdk-react-base": "0.4.2",
27
+ "@crossmint/client-sdk-auth": "1.2.12",
28
+ "@crossmint/client-sdk-base": "1.5.4",
29
+ "@crossmint/client-sdk-react-base": "0.4.4",
30
30
  "@crossmint/client-sdk-rn-window": "0.2.2",
31
31
  "@crossmint/client-signers": "0.0.16",
32
- "@crossmint/common-sdk-auth": "1.0.34",
33
- "@crossmint/common-sdk-base": "0.7.0",
34
- "@crossmint/wallets-sdk": "0.9.3"
32
+ "@crossmint/common-sdk-auth": "1.0.35",
33
+ "@crossmint/common-sdk-base": "0.7.1",
34
+ "@crossmint/wallets-sdk": "0.9.4"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/react": "19.0.12"
@@ -1 +0,0 @@
1
- import t from"expo-constants";import{CrossmintProvider as a}from"@crossmint/client-sdk-react-base";import{jsx as C}from"react/jsx-runtime";function P({children:n,apiKey:m,overrideBaseUrl:p}){var o,r,e,i,s;let d=(s=(r=(o=t.expoConfig)==null?void 0:o.ios)==null?void 0:r.bundleIdentifier)!=null?s:(i=(e=t.expoConfig)==null?void 0:e.android)==null?void 0:i.package;return C(a,{apiKey:m,appId:d,overrideBaseUrl:p,children:n})}export{P as a};
@@ -1 +0,0 @@
1
- import{a as W}from"./chunk-BWWCPHLC.js";import{a as c}from"./chunk-DUTPQ56Q.js";import{createContext as q,useEffect as U,useMemo as k,useRef as L,useState as A,useCallback as P}from"react";import*as i from"expo-web-browser";import{CrossmintAuth as Q}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as Y}from"@crossmint/common-sdk-auth";import{useCrossmint as z,useWallet as pt}from"@crossmint/client-sdk-react-base";import{useContext as B}from"react";function st(){let o=B(d);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function it(){let o=B(d);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}import{Platform as Z}from"react-native";import v from"expo-constants";import{jsx as et}from"react/jsx-runtime";var D={google:null,twitter:null},$={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},d=q($);function Ut({children:o,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:g}){let[f,w]=A(void 0),{crossmint:n,setJwt:S,experimental_setAuth:y}=z("CrossmintAuthProvider must be used within CrossmintProvider"),[_,F]=A(D),x=L(null),a=k(()=>p!=null?p:new W,[p]),[K,b]=A(!1),[N,C]=A(!1),G=Array.isArray(g)?g[0]:g,R=v.executionEnvironment==="storeClient"||v.appOwnership==="expo"||!!v.expoVersion?"exp://127.0.0.1:8081":G,r=k(()=>{if(!x.current){let t={callbacks:{onLogout:()=>{y(void 0),w(void 0)},onTokenRefresh:e=>{w(e.user),y({email:e.user.email,jwt:e.jwt})}},refreshRoute:h,logoutRoute:O,storageProvider:a};x.current=Q.from(n,t)}return x.current},[a]),M=P(()=>{u==null||u()},[u]);U(()=>{n.jwt==null?a==null||a.get(Y).then(t=>{t!=null&&S(t)}).finally(()=>{b(!0)}):b(!0)},[n.jwt,S,a]),U(()=>{n.jwt!=null&&M()},[n.jwt,M]);let J=()=>{r.logout()},j=P(()=>c(this,null,function*(){try{let e=Object.keys(D).map(l=>c(this,null,function*(){let m=yield r==null?void 0:r.getOAuthUrl(l,{appSchema:R});return{[l]:m}})),s=Object.assign({},...yield Promise.all(e));F(s)}catch(t){console.error(t)}}),[r]);U(()=>{f==null&&j()},[j,f]);let V=()=>K?N?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",H=()=>c(this,null,function*(){if(n.jwt==null){console.log("User not logged in");return}let t=yield r.getUser();return w(t),y(t),t}),X=t=>c(this,null,function*(){var e;try{C(!0);let s=(e=_[t])!=null?e:yield r.getOAuthUrl(t,{appSchema:R});yield i.warmUpAsync();let l=new URL(s);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),Z.OS==="android")yield i.openBrowserAsync(l.toString());else{let m=yield i.openAuthSessionAsync(l.toString());m.type==="success"&&(yield E(m.url))}yield i.coolDownAsync()}catch(s){console.error("[CrossmintAuthProvider] Error during OAuth login:",s)}}),E=P(t=>c(this,null,function*(){let e=t.includes("://")?tt(t):t;if(e!=null)try{return C(!0),yield r.handleRefreshAuthMaterial(e)}catch(s){throw s}finally{C(!1)}return null}),[r]);return et(d.Provider,{value:{crossmintAuth:r,logout:J,jwt:n.jwt,user:f,status:V(),getUser:H,loginWithOAuth:X,createAuthSession:E},children:o})}var tt=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=o.match(u);return h?decodeURIComponent(h[1]):void 0};export{d as a,Ut as b,st as c,it as d,z as e,pt as f};
@@ -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; } } 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 i = _interopRequireWildcard(_expowebbrowser);var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function nt(){let o=_react.useContext.call(void 0, d);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function st(){let o=_react.useContext.call(void 0, d);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _jsxruntime = require('react/jsx-runtime');var k={google:null,twitter:null},Z={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},d= exports.a =_react.createContext.call(void 0, Z);function Ct({children:o,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:g}){let[f,w]=_react.useState.call(void 0, void 0),{crossmint:n,setJwt:S,experimental_setAuth:y}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[D,_]=_react.useState.call(void 0, k),x=_react.useRef.call(void 0, null),a=_react.useMemo.call(void 0, ()=>p!=null?p:new _chunkZPIV7DVZcjs.a,[p]),[F,b]=_react.useState.call(void 0, !1),[K,C]=_react.useState.call(void 0, !1),N=Array.isArray(g)?g[0]:g,R=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":N,r=_react.useMemo.call(void 0, ()=>{if(!x.current){let t={callbacks:{onLogout:()=>{y(void 0),w(void 0)},onTokenRefresh:e=>{w(e.user),y({email:e.user.email,jwt:e.jwt})}},refreshRoute:h,logoutRoute:O,storageProvider:a};x.current=_clientsdkauth.CrossmintAuth.from(n,t)}return x.current},[a]),M=_react.useCallback.call(void 0, ()=>{u==null||u()},[u]);_react.useEffect.call(void 0, ()=>{n.jwt==null?a==null||a.get(_commonsdkauth.SESSION_PREFIX).then(t=>{t!=null&&S(t)}).finally(()=>{b(!0)}):b(!0)},[n.jwt,S,a]),_react.useEffect.call(void 0, ()=>{n.jwt!=null&&M()},[n.jwt,M]);let G=()=>{r.logout()},j=_react.useCallback.call(void 0, ()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){try{let e=Object.keys(k).map(l=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let m=yield r==null?void 0:r.getOAuthUrl(l,{appSchema:R});return{[l]:m}})),s=Object.assign({},...yield Promise.all(e));_(s)}catch(t){console.error(t)}}),[r]);_react.useEffect.call(void 0, ()=>{f==null&&j()},[j,f]);let J=()=>F?K?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",V=()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){if(n.jwt==null){console.log("User not logged in");return}let t=yield r.getUser();return w(t),y(t),t}),H=t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){var e;try{C(!0);let s=(e=D[t])!=null?e:yield r.getOAuthUrl(t,{appSchema:R});yield i.warmUpAsync();let l=new URL(s);if(t==="google"&&l.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield i.openBrowserAsync(l.toString());else{let m=yield i.openAuthSessionAsync(l.toString());m.type==="success"&&(yield E(m.url))}yield i.coolDownAsync()}catch(s){console.error("[CrossmintAuthProvider] Error during OAuth login:",s)}}),E=_react.useCallback.call(void 0, t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let e=t.includes("://")?$(t):t;if(e!=null)try{return C(!0),yield r.handleRefreshAuthMaterial(e)}catch(s){throw s}finally{C(!1)}return null}),[r]);return _jsxruntime.jsx.call(void 0, d.Provider,{value:{crossmintAuth:r,logout:G,jwt:n.jwt,user:f,status:J(),getUser:V,loginWithOAuth:H,createAuthSession:E},children:o})}var $=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=o.match(u);return h?decodeURIComponent(h[1]):void 0};exports.a = d; exports.b = Ct; exports.c = nt; exports.d = st; exports.e = _clientsdkreactbase.useCrossmint; exports.f = _clientsdkreactbase.useWallet;