@crossmint/client-sdk-react-native-ui 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{e as w}from"./chunk-XEPHD5OQ.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 U}from"react-native";import{RNWebView as L,WebViewParent as N}from"@crossmint/client-sdk-rn-window";import{signerInboundEvents as O,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 $}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 N(c,{incomingEvents:A,outgoingEvents:O}))},[]);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 t=JSON.parse(e.nativeEvent.data);if(t&&typeof t.type=="string"&&t.type.startsWith("console.")){let d=t.type.split(".")[1],n=(t.data||[]).map(o=>{try{return o==="[Function]"||o==="[Circular Reference]"||o==="[Unserializable Object]"?o:JSON.parse(o)}catch(S){return o}}),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(t){}i.handleMessage(e)}},[]),k=u(()=>{if(!m||r.current==null)throw new Error("WebView not ready or handshake incomplete");return r.current},[m]);return $(H,{getHandshakeParent:k,children:[h,W(U,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:W(L,{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-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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYGW7PMREcjs = require('./chunk-YGW7PMRE.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}=_chunkYGW7PMREcjs.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 t=JSON.parse(e.nativeEvent.data);if(t&&typeof t.type=="string"&&t.type.startsWith("console.")){let d=t.type.split(".")[1],n=(t.data||[]).map(o=>{try{return o==="[Function]"||o==="[Circular Reference]"||o==="[Unserializable Object]"?o:JSON.parse(o)}catch(S){return o}}),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(t){}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 _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;
@@ -0,0 +1 @@
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};
@@ -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, 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;
@@ -1 +1 @@
1
- import{WalletContext as t}from"@crossmint/client-sdk-react-base";import{useContext as i}from"react";function s(){let e=i(t);if(e==null)throw new Error("useWalletEmailSigner must be used within CrossmintWalletProvider");if(!e.sendEmailWithOtp||!e.verifyOtp||!e.reject)throw new Error("Email signer functions are not available. Make sure you're using an email signer wallet.");return{needsAuth:e.needsAuth,sendEmailWithOtp:e.sendEmailWithOtp,verifyOtp:e.verifyOtp,reject:e.reject}}export{s as a};
1
+ import{WalletContext as t}from"@crossmint/client-sdk-react-base";import{useContext as r}from"react";function s(){let e=r(t);if(e==null)throw new Error("useWalletEmailSigner must be used within CrossmintWalletProvider");if(!e.sendEmailWithOtp||!e.verifyOtp||!e.reject)throw new Error("Email signer functions are not available. Make sure you're using an email signer wallet.");return{needsAuth:e.needsAuth,sendEmailWithOtp:e.sendEmailWithOtp,verifyOtp:e.verifyOtp,reject:e.reject}}export{s as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYGW7PMREcjs = require('../chunk-YGW7PMRE.cjs');require('../chunk-ZPIV7DVZ.cjs');var _chunkROX2VK3Ycjs = require('../chunk-ROX2VK3Y.cjs');require('../chunk-6R7OYJL5.cjs');exports.useAuth = _chunkYGW7PMREcjs.d; exports.useCrossmint = _chunkYGW7PMREcjs.e; exports.useCrossmintAuth = _chunkYGW7PMREcjs.c; exports.useWallet = _chunkYGW7PMREcjs.f; exports.useWalletEmailSigner = _chunkROX2VK3Ycjs.a;
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 +1 @@
1
- import{c as a,d as b,e as d,f as e}from"../chunk-XEPHD5OQ.js";import"../chunk-BWWCPHLC.js";import{a as c}from"../chunk-SJWT5EZF.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-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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYGW7PMREcjs = require('../chunk-YGW7PMRE.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-ROX2VK3Y.cjs');require('../chunk-6R7OYJL5.cjs');exports.useAuth = _chunkYGW7PMREcjs.d; exports.useCrossmintAuth = _chunkYGW7PMREcjs.c;
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 +1 @@
1
- import{c as a,d as b}from"../chunk-XEPHD5OQ.js";import"../chunk-BWWCPHLC.js";import"../chunk-SJWT5EZF.js";import"../chunk-DUTPQ56Q.js";export{b as useAuth,a as useCrossmintAuth};
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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkROX2VK3Ycjs = require('../chunk-ROX2VK3Y.cjs');require('../chunk-6R7OYJL5.cjs');exports.useWalletEmailSigner = _chunkROX2VK3Ycjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQM2JVAWVcjs = require('../chunk-QM2JVAWV.cjs');require('../chunk-6R7OYJL5.cjs');exports.useWalletEmailSigner = _chunkQM2JVAWVcjs.a;
@@ -1,6 +1,6 @@
1
1
  type EmailSignerFunctions = {
2
2
  needsAuth: boolean;
3
- sendEmailWithOtp: (email: string) => Promise<void>;
3
+ sendEmailWithOtp: () => Promise<void>;
4
4
  verifyOtp: (otp: string) => Promise<void>;
5
5
  reject: (error: Error) => void;
6
6
  };
@@ -1,6 +1,6 @@
1
1
  type EmailSignerFunctions = {
2
2
  needsAuth: boolean;
3
- sendEmailWithOtp: (email: string) => Promise<void>;
3
+ sendEmailWithOtp: () => Promise<void>;
4
4
  verifyOtp: (otp: string) => Promise<void>;
5
5
  reject: (error: Error) => void;
6
6
  };
@@ -1 +1 @@
1
- import{a}from"../chunk-SJWT5EZF.js";import"../chunk-DUTPQ56Q.js";export{a as useWalletEmailSigner};
1
+ import{a}from"../chunk-WYLNTYVI.js";import"../chunk-DUTPQ56Q.js";export{a as useWalletEmailSigner};
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 _chunk3NUBTG2Ecjs = require('./chunk-3NUBTG2E.cjs');var _chunkYGW7PMREcjs = require('./chunk-YGW7PMRE.cjs');require('./chunk-ZPIV7DVZ.cjs');var _chunkROX2VK3Ycjs = require('./chunk-ROX2VK3Y.cjs');require('./chunk-6R7OYJL5.cjs');exports.CrossmintAuthProvider = _chunkYGW7PMREcjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunk3NUBTG2Ecjs.a; exports.useAuth = _chunkYGW7PMREcjs.d; exports.useCrossmint = _chunkYGW7PMREcjs.e; exports.useCrossmintAuth = _chunkYGW7PMREcjs.c; exports.useWallet = _chunkYGW7PMREcjs.f; exports.useWalletEmailSigner = _chunkROX2VK3Ycjs.a;
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;
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-I5NVNYVT.js";import{b as r,c as t,d as o,e as s,f as m}from"./chunk-XEPHD5OQ.js";import"./chunk-BWWCPHLC.js";import{a as e}from"./chunk-SJWT5EZF.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 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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYGW7PMREcjs = require('../chunk-YGW7PMRE.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-ROX2VK3Y.cjs');require('../chunk-6R7OYJL5.cjs');exports.AuthContext = _chunkYGW7PMREcjs.a; exports.CrossmintAuthProvider = _chunkYGW7PMREcjs.b;
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 +1 @@
1
- import{a,b}from"../chunk-XEPHD5OQ.js";import"../chunk-BWWCPHLC.js";import"../chunk-SJWT5EZF.js";import"../chunk-DUTPQ56Q.js";export{a as AuthContext,b as CrossmintAuthProvider};
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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3NUBTG2Ecjs = require('../chunk-3NUBTG2E.cjs');require('../chunk-YGW7PMRE.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-ROX2VK3Y.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintWalletProvider = _chunk3NUBTG2Ecjs.a;
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;
@@ -3,7 +3,6 @@ import { ReactNode } from 'react';
3
3
 
4
4
  interface CrossmintWalletProviderProps {
5
5
  children: ReactNode;
6
- experimental_secureEndpointUrl?: string;
7
6
  }
8
7
  declare function CrossmintWalletProvider({ children }: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
9
8
 
@@ -3,7 +3,6 @@ import { ReactNode } from 'react';
3
3
 
4
4
  interface CrossmintWalletProviderProps {
5
5
  children: ReactNode;
6
- experimental_secureEndpointUrl?: string;
7
6
  }
8
7
  declare function CrossmintWalletProvider({ children }: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
9
8
 
@@ -1 +1 @@
1
- import{a}from"../chunk-I5NVNYVT.js";import"../chunk-XEPHD5OQ.js";import"../chunk-BWWCPHLC.js";import"../chunk-SJWT5EZF.js";import"../chunk-DUTPQ56Q.js";export{a as CrossmintWalletProvider};
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 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var _chunk4L2OHRE5cjs = require('../chunk-4L2OHRE5.cjs');var _chunk3NUBTG2Ecjs = require('../chunk-3NUBTG2E.cjs');var _chunkYGW7PMREcjs = require('../chunk-YGW7PMRE.cjs');require('../chunk-ZPIV7DVZ.cjs');require('../chunk-ROX2VK3Y.cjs');require('../chunk-6R7OYJL5.cjs');exports.CrossmintAuthProvider = _chunkYGW7PMREcjs.b; exports.CrossmintProvider = _chunk4L2OHRE5cjs.a; exports.CrossmintWalletProvider = _chunk3NUBTG2Ecjs.a;
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 +1 @@
1
- import"../chunk-C62HRWJA.js";import{a as b}from"../chunk-I52CP62R.js";import{a as c}from"../chunk-I5NVNYVT.js";import{b as a}from"../chunk-XEPHD5OQ.js";import"../chunk-BWWCPHLC.js";import"../chunk-SJWT5EZF.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-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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-native-ui",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -24,14 +24,14 @@
24
24
  "expo-secure-store": "14.0.1",
25
25
  "expo-web-browser": "~14.0.2",
26
26
  "react-native-webview": "13.12.5",
27
- "@crossmint/client-sdk-base": "1.5.2",
28
- "@crossmint/client-sdk-auth": "1.2.10",
29
- "@crossmint/client-sdk-react-base": "0.3.0",
27
+ "@crossmint/client-sdk-auth": "1.2.11",
28
+ "@crossmint/client-sdk-base": "1.5.3",
29
+ "@crossmint/client-sdk-react-base": "0.4.1",
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.33",
33
- "@crossmint/common-sdk-base": "0.6.0",
34
- "@crossmint/wallets-sdk": "0.9.0"
32
+ "@crossmint/common-sdk-auth": "1.0.34",
33
+ "@crossmint/common-sdk-base": "0.7.0",
34
+ "@crossmint/wallets-sdk": "0.9.2"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/react": "19.0.12"
@@ -1 +0,0 @@
1
- import{a as W}from"./chunk-BWWCPHLC.js";import{a as c}from"./chunk-DUTPQ56Q.js";import{createContext as X,useEffect as U,useMemo as z,useRef as q,useState as g,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 B,useWallet as ht}from"@crossmint/client-sdk-react-base";import{useContext as I}from"react";function nt(){let o=I(A);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function st(){let o=I(A);if(!o)throw new Error("useAuth must be used within a CrossmintAuthProvider");return o}import{Platform as Y}from"react-native";import v from"expo-constants";import{jsx as tt}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=X(Z);function Ct({children:o,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:f}){let[w,y]=g(void 0),{crossmint:n,setJwt:d}=B("CrossmintAuthProvider must be used within CrossmintProvider"),[D,F]=g(k),x=q(null),a=z(()=>p!=null?p:new W,[p]),[K,S]=g(!1),[N,C]=g(!1),_=Array.isArray(f)?f[0]:f,b=v.executionEnvironment==="storeClient"||v.appOwnership==="expo"||!!v.expoVersion?"exp://127.0.0.1:8081":_,e=z(()=>{if(!x.current){let t={callbacks:{onLogout:()=>{d(void 0),y(void 0)},onTokenRefresh:r=>{d(r.jwt),y(r.user)}},refreshRoute:h,logoutRoute:O,storageProvider:a};x.current=L.from(n,t)}return x.current},[a]),M=P(()=>{u==null||u()},[u]);U(()=>{n.jwt==null?a==null||a.get(Q).then(t=>{t!=null&&d(t)}).finally(()=>{S(!0)}):S(!0)},[n.jwt,d,a]),U(()=>{n.jwt!=null&&M()},[n.jwt,M]);let G=()=>{e.logout()},R=P(()=>c(this,null,function*(){try{let r=Object.keys(k).map(l=>c(this,null,function*(){let m=yield e==null?void 0:e.getOAuthUrl(l,{appSchema:b});return{[l]:m}})),s=Object.assign({},...yield Promise.all(r));F(s)}catch(t){console.error(t)}}),[e]);U(()=>{w==null&&R()},[R,w]);let J=()=>K?N?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",V=()=>c(this,null,function*(){if(n.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();y(t)}),H=t=>c(this,null,function*(){var r;try{C(!0);let s=(r=D[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:b});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 E(m.url))}yield i.coolDownAsync()}catch(s){console.error("[CrossmintAuthProvider] Error during OAuth login:",s)}}),E=P(t=>c(this,null,function*(){let r=t.includes("://")?$(t):t;if(r!=null)try{return C(!0),yield e.handleRefreshAuthMaterial(r)}catch(s){throw s}finally{C(!1)}return null}),[e]);return tt(A.Provider,{value:{crossmintAuth:e,logout:G,jwt:n.jwt,user:w,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};export{A as a,Ct as b,nt as c,st as d,B as e,ht 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 ot(){let o=_react.useContext.call(void 0, A);if(!o)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return o}function nt(){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 z={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 xt({children:o,onLoginSuccess:u,refreshRoute:h,logoutRoute:O,customStorageProvider:p,appSchema:f}){let[w,y]=_react.useState.call(void 0, void 0),{crossmint:n,setJwt:d}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[k,D]=_react.useState.call(void 0, z),x=_react.useRef.call(void 0, null),a=_react.useMemo.call(void 0, ()=>p!=null?p:new _chunkZPIV7DVZcjs.a,[p]),[F,S]=_react.useState.call(void 0, !1),[K,C]=_react.useState.call(void 0, !1),N=Array.isArray(f)?f[0]:f,b=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":N,e=_react.useMemo.call(void 0, ()=>{if(!x.current){let t={callbacks:{onLogout:()=>{d(void 0),y(void 0)},onTokenRefresh:r=>{d(r.jwt),y(r.user)}},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&&d(t)}).finally(()=>{S(!0)}):S(!0)},[n.jwt,d,a]),_react.useEffect.call(void 0, ()=>{n.jwt!=null&&M()},[n.jwt,M]);let _=()=>{e.logout()},R=_react.useCallback.call(void 0, ()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){try{let r=Object.keys(z).map(l=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){let m=yield e==null?void 0:e.getOAuthUrl(l,{appSchema:b});return{[l]:m}})),s=Object.assign({},...yield Promise.all(r));D(s)}catch(t){console.error(t)}}),[e]);_react.useEffect.call(void 0, ()=>{w==null&&R()},[R,w]);let G=()=>F?K?"in-progress":n.jwt!=null?"logged-in":"logged-out":"initializing",J=()=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){if(n.jwt==null){console.log("User not logged in");return}let t=yield e.getUser();y(t)}),V=t=>_chunk6R7OYJL5cjs.a.call(void 0, this,null,function*(){var r;try{C(!0);let s=(r=k[t])!=null?r:yield e.getOAuthUrl(t,{appSchema:b});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 r=t.includes("://")?Z(t):t;if(r!=null)try{return C(!0),yield e.handleRefreshAuthMaterial(r)}catch(s){throw s}finally{C(!1)}return null}),[e]);return _jsxruntime.jsx.call(void 0, A.Provider,{value:{crossmintAuth:e,logout:_,jwt:n.jwt,user:w,status:G(),getUser:J,loginWithOAuth:V,createAuthSession:E},children:o})}var Z=o=>{let u=/[?&]oneTimeSecret=([^&#]+)/,h=o.match(u);return h?decodeURIComponent(h[1]):void 0};exports.a = A; exports.b = xt; exports.c = ot; exports.d = nt; exports.e = _clientsdkreactbase.useCrossmint; exports.f = _clientsdkreactbase.useWallet;
File without changes