@crossmint/client-sdk-react-base 0.6.4 → 0.6.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});var _chunk56X52ZGBcjs = require('./chunk-56X52ZGB.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');function fe(){let i=_react.useContext.call(void 0, U);if(!i)throw new Error("useWallet must be used within CrossmintWalletProvider");return i}var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _jsxruntime = require('react/jsx-runtime');var W=_react.createContext.call(void 0, {crossmintAuth:void 0,logout:()=>{},status:"initializing",getUser:()=>{},login:()=>{}});function _(){let i=_react.useContext.call(void 0, W);if(i==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return i}function ee({children:i,onLoginSuccess:l,refreshRoute:u,logoutRoute:h,storageProvider:o}){let{crossmint:g}=_chunk56X52ZGBcjs.a.call(void 0, "CrossmintAuthBaseProvider must be used within CrossmintProvider"),[c,e]=_react.useState.call(void 0, void 0),[n,f]=_react.useState.call(void 0, void 0),[a,C]=_react.useState.call(void 0, !1),m=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{if(!m.current)try{m.current=_clientsdkauth.CrossmintAuth.from(g,{callbacks:{onLogout:()=>{e(void 0),f(void 0)},onTokenRefresh:r=>{e(r.user),f(r.jwt)}},refreshRoute:u,logoutRoute:h,storageProvider:o})}catch(r){console.error("Failed to initialize CrossmintAuth:",r)}},[g,u,h,o]);let s=m.current,t=_react.useCallback.call(void 0, ()=>{l==null||l()},[l]);_react.useEffect.call(void 0, ()=>{var r;if(n==null)if(o)(r=o.get)==null||r.call(o,_commonsdkauth.SESSION_PREFIX).then(d=>{d!=null&&f(d)}).finally(()=>{C(!0)});else{try{let d=_clientsdkauth.getCookie.call(void 0, _commonsdkauth.SESSION_PREFIX);f(d)}catch(d){console.error("Failed to get cookie:",d)}C(!0)}else C(!0)},[n,o]),_react.useEffect.call(void 0, ()=>{n!=null&&t()},[n,t]);let y=_react.useCallback.call(void 0, ()=>{s==null||s.logout()},[s]),x=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(n==null){console.log("User not logged in");return}let r=yield s==null?void 0:s.getUser();return e(r),r}),[n,s]),w=_react.useCallback.call(void 0, ()=>a?n!=null?"logged-in":"logged-out":"initializing",[n,a]),S=_react.useMemo.call(void 0, ()=>({crossmintAuth:s,logout:y,jwt:n,user:c,status:w(),getUser:x,login:()=>{}}),[s,y,n,c,a,x,w]);return _jsxruntime.jsx.call(void 0, W.Provider,{value:S,children:i})}function oe(){let i=_react.useContext.call(void 0, W);if(i==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}var qe=oe;var U=_react.createContext.call(void 0, {wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,clientTEEConnection:void 0});function ze({children:i,createOnLogin:l,callbacks:u,onAuthRequired:h,clientTEEConnection:o,initializeWebView:g}){let{crossmint:c,experimental_customAuth:e}=_chunk56X52ZGBcjs.a.call(void 0, "CrossmintWalletBaseProvider must be used within CrossmintProvider"),[n,f]=_react.useState.call(void 0, void 0),[a,C]=_react.useState.call(void 0, "not-loaded"),m=_react.useCallback.call(void 0, t=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var y,x,w,S,r,d,k,N,H,j,z,D;if(!((e==null?void 0:e.jwt)==null||a==="in-progress")){if(n!=null)return n;try{C("in-progress");let E=_walletssdk.CrossmintWallets.from(c),R=(x=(y=t.options)==null?void 0:y.experimental_callbacks)==null?void 0:x.onWalletCreationStart,q=(S=(w=t.options)==null?void 0:w.experimental_callbacks)==null?void 0:S.onTransactionStart;if(((r=t==null?void 0:t.signer)==null?void 0:r.type)==="email"){let p=(d=t.signer.email)!=null?d:e==null?void 0:e.email,F=(k=t.signer.onAuthRequired)!=null?k:h;if(p==null)throw new Error("Email not found in experimental_customAuth or signer. Please set email in experimental_customAuth or signer.");t.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},t.signer),{email:p,onAuthRequired:F})}if(((N=t==null?void 0:t.signer)==null?void 0:N.type)==="phone"){let p=(H=t.signer.phone)!=null?H:e==null?void 0:e.phone,F=(j=t.signer.onAuthRequired)!=null?j:h;if(p==null)throw new Error("Phone not found in signer. Please set phone in signer.");t.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},t.signer),{phone:p,onAuthRequired:F})}if(((z=t==null?void 0:t.signer)==null?void 0:z.type)==="external-wallet"){let p=((D=t.signer)==null?void 0:D.address)!=null?t.signer:e.externalWalletSigner;if(p==null)throw new Error("External wallet config not found in experimental_customAuth or signer. Please set it in experimental_customAuth or signer.");t.signer=p}(t.signer.type==="email"||t.signer.type==="phone")&&(yield g==null?void 0:g());let J=yield E.getOrCreateWallet({chain:t.chain,signer:t.signer,owner:t.owner,plugins:t.plugins,delegatedSigners:t.delegatedSigners,options:{clientTEEConnection:o==null?void 0:o(),experimental_callbacks:{onWalletCreationStart:R!=null?R:u==null?void 0:u.onWalletCreationStart,onTransactionStart:q!=null?q:u==null?void 0:u.onTransactionStart}}});return f(J),C("loaded"),J}catch(E){console.error("Failed to create wallet:",E),f(void 0),C("error");return}}}),[c,e]);_react.useEffect.call(void 0, ()=>{if(l!=null){if(l.signer.type==="email"&&(e==null?void 0:e.email)==null||l.signer.type==="external-wallet"&&(e==null?void 0:e.externalWalletSigner)==null&&l.signer.address==null)return;m(l)}},[l,m,e==null?void 0:e.email,e==null?void 0:e.externalWalletSigner]),_react.useEffect.call(void 0, ()=>{(e==null?void 0:e.jwt)==null&&a!=="not-loaded"&&(C("not-loaded"),f(void 0))},[e==null?void 0:e.jwt,a]);let s=_react.useMemo.call(void 0, ()=>({wallet:n,status:a,getOrCreateWallet:m,onAuthRequired:h,clientTEEConnection:o}),[m,n,a,h,o]);return _jsxruntime.jsx.call(void 0, U.Provider,{value:s,children:i})}exports.a = U; exports.b = ze; exports.c = fe; exports.d = W; exports.e = _; exports.f = ee; exports.g = oe; exports.h = qe;
@@ -0,0 +1 @@
1
+ import{a as A}from"./chunk-B3EC7QUJ.js";import{a as I,b as U,c as v}from"./chunk-22GIA4MK.js";import{createContext as ie,useCallback as se,useEffect as X,useMemo as le,useState as G}from"react";import{CrossmintWallets as ue}from"@crossmint/wallets-sdk";import{useContext as Q}from"react";function Ce(){let i=Q(b);if(!i)throw new Error("useWallet must be used within CrossmintWalletProvider");return i}import{useContext as oe}from"react";import{createContext as Y,useCallback as E,useContext as Z,useEffect as O,useMemo as $,useRef as V,useState as k}from"react";import{CrossmintAuth as L,getCookie as _}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as M}from"@crossmint/common-sdk-auth";import{jsx as ne}from"react/jsx-runtime";var S=Y({crossmintAuth:void 0,logout:()=>{},status:"initializing",getUser:()=>{},login:()=>{}});function ee(){let i=Z(S);if(i==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return i}function te({children:i,onLoginSuccess:l,refreshRoute:u,logoutRoute:h,storageProvider:o}){let{crossmint:g}=A("CrossmintAuthBaseProvider must be used within CrossmintProvider"),[c,e]=k(void 0),[n,f]=k(void 0),[a,C]=k(!1),m=V(null);O(()=>{if(!m.current)try{m.current=L.from(g,{callbacks:{onLogout:()=>{e(void 0),f(void 0)},onTokenRefresh:r=>{e(r.user),f(r.jwt)}},refreshRoute:u,logoutRoute:h,storageProvider:o})}catch(r){console.error("Failed to initialize CrossmintAuth:",r)}},[g,u,h,o]);let s=m.current,t=E(()=>{l==null||l()},[l]);O(()=>{var r;if(n==null)if(o)(r=o.get)==null||r.call(o,M).then(d=>{d!=null&&f(d)}).finally(()=>{C(!0)});else{try{let d=_(M);f(d)}catch(d){console.error("Failed to get cookie:",d)}C(!0)}else C(!0)},[n,o]),O(()=>{n!=null&&t()},[n,t]);let y=E(()=>{s==null||s.logout()},[s]),x=E(()=>v(this,null,function*(){if(n==null){console.log("User not logged in");return}let r=yield s==null?void 0:s.getUser();return e(r),r}),[n,s]),w=E(()=>a?n!=null?"logged-in":"logged-out":"initializing",[n,a]),B=$(()=>({crossmintAuth:s,logout:y,jwt:n,user:c,status:w(),getUser:x,login:()=>{}}),[s,y,n,c,a,x,w]);return ne(S.Provider,{value:B,children:i})}function re(){let i=oe(S);if(i==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}var Fe=re;import{jsx as ae}from"react/jsx-runtime";var b=ie({wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,clientTEEConnection:void 0});function De({children:i,createOnLogin:l,callbacks:u,onAuthRequired:h,clientTEEConnection:o,initializeWebView:g}){let{crossmint:c,experimental_customAuth:e}=A("CrossmintWalletBaseProvider must be used within CrossmintProvider"),[n,f]=G(void 0),[a,C]=G("not-loaded"),m=se(t=>v(this,null,function*(){var y,x,w,B,r,d,N,H,j,z,D,J;if(!((e==null?void 0:e.jwt)==null||a==="in-progress")){if(n!=null)return n;try{C("in-progress");let R=ue.from(c),q=(x=(y=t.options)==null?void 0:y.experimental_callbacks)==null?void 0:x.onWalletCreationStart,F=(B=(w=t.options)==null?void 0:w.experimental_callbacks)==null?void 0:B.onTransactionStart;if(((r=t==null?void 0:t.signer)==null?void 0:r.type)==="email"){let p=(d=t.signer.email)!=null?d:e==null?void 0:e.email,T=(N=t.signer.onAuthRequired)!=null?N:h;if(p==null)throw new Error("Email not found in experimental_customAuth or signer. Please set email in experimental_customAuth or signer.");t.signer=U(I({},t.signer),{email:p,onAuthRequired:T})}if(((H=t==null?void 0:t.signer)==null?void 0:H.type)==="phone"){let p=(j=t.signer.phone)!=null?j:e==null?void 0:e.phone,T=(z=t.signer.onAuthRequired)!=null?z:h;if(p==null)throw new Error("Phone not found in signer. Please set phone in signer.");t.signer=U(I({},t.signer),{phone:p,onAuthRequired:T})}if(((D=t==null?void 0:t.signer)==null?void 0:D.type)==="external-wallet"){let p=((J=t.signer)==null?void 0:J.address)!=null?t.signer:e.externalWalletSigner;if(p==null)throw new Error("External wallet config not found in experimental_customAuth or signer. Please set it in experimental_customAuth or signer.");t.signer=p}(t.signer.type==="email"||t.signer.type==="phone")&&(yield g==null?void 0:g());let K=yield R.getOrCreateWallet({chain:t.chain,signer:t.signer,owner:t.owner,plugins:t.plugins,delegatedSigners:t.delegatedSigners,options:{clientTEEConnection:o==null?void 0:o(),experimental_callbacks:{onWalletCreationStart:q!=null?q:u==null?void 0:u.onWalletCreationStart,onTransactionStart:F!=null?F:u==null?void 0:u.onTransactionStart}}});return f(K),C("loaded"),K}catch(R){console.error("Failed to create wallet:",R),f(void 0),C("error");return}}}),[c,e]);X(()=>{if(l!=null){if(l.signer.type==="email"&&(e==null?void 0:e.email)==null||l.signer.type==="external-wallet"&&(e==null?void 0:e.externalWalletSigner)==null&&l.signer.address==null)return;m(l)}},[l,m,e==null?void 0:e.email,e==null?void 0:e.externalWalletSigner]),X(()=>{(e==null?void 0:e.jwt)==null&&a!=="not-loaded"&&(C("not-loaded"),f(void 0))},[e==null?void 0:e.jwt,a]);let s=le(()=>({wallet:n,status:a,getOrCreateWallet:m,onAuthRequired:h,clientTEEConnection:o}),[m,n,a,h,o]);return ae(b.Provider,{value:s,children:i})}export{b as a,De as b,Ce as c,S as d,ee as e,te as f,re as g,Fe as h};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5J6JPJ72cjs = require('../chunk-5J6JPJ72.cjs');var _chunk56X52ZGBcjs = require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.useAuth = _chunk5J6JPJ72cjs.h; exports.useCrossmint = _chunk56X52ZGBcjs.a; exports.useCrossmintAuth = _chunk5J6JPJ72cjs.g; exports.useWallet = _chunk5J6JPJ72cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkISEAWDRYcjs = require('../chunk-ISEAWDRY.cjs');var _chunk56X52ZGBcjs = require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.useAuth = _chunkISEAWDRYcjs.h; exports.useCrossmint = _chunk56X52ZGBcjs.a; exports.useCrossmintAuth = _chunkISEAWDRYcjs.g; exports.useWallet = _chunkISEAWDRYcjs.c;
@@ -1 +1 @@
1
- import{c as b,g as c,h as d}from"../chunk-DSYMY3PC.js";import{a}from"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{d as useAuth,a as useCrossmint,c as useCrossmintAuth,b as useWallet};
1
+ import{c as b,g as c,h as d}from"../chunk-U2ORMRCN.js";import{a}from"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{d as useAuth,a as useCrossmint,c as useCrossmintAuth,b as useWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5J6JPJ72cjs = require('../chunk-5J6JPJ72.cjs');require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.useAuth = _chunk5J6JPJ72cjs.h; exports.useCrossmintAuth = _chunk5J6JPJ72cjs.g;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkISEAWDRYcjs = require('../chunk-ISEAWDRY.cjs');require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.useAuth = _chunkISEAWDRYcjs.h; exports.useCrossmintAuth = _chunkISEAWDRYcjs.g;
@@ -1 +1 @@
1
- import{g as a,h as b}from"../chunk-DSYMY3PC.js";import"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{b as useAuth,a as useCrossmintAuth};
1
+ import{g as a,h as b}from"../chunk-U2ORMRCN.js";import"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{b as useAuth,a as useCrossmintAuth};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5J6JPJ72cjs = require('../chunk-5J6JPJ72.cjs');require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunk5J6JPJ72cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkISEAWDRYcjs = require('../chunk-ISEAWDRY.cjs');require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunkISEAWDRYcjs.c;
@@ -1 +1 @@
1
- import{c as a}from"../chunk-DSYMY3PC.js";import"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
1
+ import{c as a}from"../chunk-U2ORMRCN.js";import"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-YSXSE5ZY.cjs');var _chunkPU5EOTE7cjs = require('./chunk-PU5EOTE7.cjs');var _chunk5J6JPJ72cjs = require('./chunk-5J6JPJ72.cjs');var _chunk56X52ZGBcjs = require('./chunk-56X52ZGB.cjs');var _chunk4UWLWRLDcjs = require('./chunk-4UWLWRLD.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunk5J6JPJ72cjs.d; exports.CrossmintAuthBaseProvider = _chunk5J6JPJ72cjs.f; exports.CrossmintContext = _chunk4UWLWRLDcjs.a; exports.CrossmintProvider = _chunk4UWLWRLDcjs.b; exports.CrossmintWalletBaseContext = _chunk5J6JPJ72cjs.a; exports.CrossmintWalletBaseProvider = _chunk5J6JPJ72cjs.b; exports.EVMWallet = _chunkPU5EOTE7cjs.a; exports.SolanaWallet = _chunkPU5EOTE7cjs.b; exports.StellarWallet = _chunkPU5EOTE7cjs.c; exports.useAuth = _chunk5J6JPJ72cjs.h; exports.useCrossmint = _chunk56X52ZGBcjs.a; exports.useCrossmintAuth = _chunk5J6JPJ72cjs.g; exports.useCrossmintAuthBase = _chunk5J6JPJ72cjs.e; exports.useWallet = _chunk5J6JPJ72cjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-YSXSE5ZY.cjs');var _chunkPU5EOTE7cjs = require('./chunk-PU5EOTE7.cjs');var _chunkISEAWDRYcjs = require('./chunk-ISEAWDRY.cjs');var _chunk56X52ZGBcjs = require('./chunk-56X52ZGB.cjs');var _chunk4UWLWRLDcjs = require('./chunk-4UWLWRLD.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkISEAWDRYcjs.d; exports.CrossmintAuthBaseProvider = _chunkISEAWDRYcjs.f; exports.CrossmintContext = _chunk4UWLWRLDcjs.a; exports.CrossmintProvider = _chunk4UWLWRLDcjs.b; exports.CrossmintWalletBaseContext = _chunkISEAWDRYcjs.a; exports.CrossmintWalletBaseProvider = _chunkISEAWDRYcjs.b; exports.EVMWallet = _chunkPU5EOTE7cjs.a; exports.SolanaWallet = _chunkPU5EOTE7cjs.b; exports.StellarWallet = _chunkPU5EOTE7cjs.c; exports.useAuth = _chunkISEAWDRYcjs.h; exports.useCrossmint = _chunk56X52ZGBcjs.a; exports.useCrossmintAuth = _chunkISEAWDRYcjs.g; exports.useCrossmintAuthBase = _chunkISEAWDRYcjs.e; exports.useWallet = _chunkISEAWDRYcjs.c;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import"./chunk-B35TULQO.js";import{a as d,b as g,c as h}from"./chunk-3UZONNFB.js";import{a as f,b as m,c as p,d as t,e as x,f as a,g as b,h as c}from"./chunk-DSYMY3PC.js";import{a as e}from"./chunk-B3EC7QUJ.js";import{a as o,b as r}from"./chunk-RPEGJASB.js";import"./chunk-22GIA4MK.js";export{t as CrossmintAuthBaseContext,a as CrossmintAuthBaseProvider,o as CrossmintContext,r as CrossmintProvider,f as CrossmintWalletBaseContext,m as CrossmintWalletBaseProvider,d as EVMWallet,g as SolanaWallet,h as StellarWallet,c as useAuth,e as useCrossmint,b as useCrossmintAuth,x as useCrossmintAuthBase,p as useWallet};
1
+ import"./chunk-B35TULQO.js";import{a as d,b as g,c as h}from"./chunk-3UZONNFB.js";import{a as f,b as m,c as p,d as t,e as x,f as a,g as b,h as c}from"./chunk-U2ORMRCN.js";import{a as e}from"./chunk-B3EC7QUJ.js";import{a as o,b as r}from"./chunk-RPEGJASB.js";import"./chunk-22GIA4MK.js";export{t as CrossmintAuthBaseContext,a as CrossmintAuthBaseProvider,o as CrossmintContext,r as CrossmintProvider,f as CrossmintWalletBaseContext,m as CrossmintWalletBaseProvider,d as EVMWallet,g as SolanaWallet,h as StellarWallet,c as useAuth,e as useCrossmint,b as useCrossmintAuth,x as useCrossmintAuthBase,p as useWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5J6JPJ72cjs = require('../chunk-5J6JPJ72.cjs');require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunk5J6JPJ72cjs.d; exports.CrossmintAuthBaseProvider = _chunk5J6JPJ72cjs.f; exports.useCrossmintAuthBase = _chunk5J6JPJ72cjs.e;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkISEAWDRYcjs = require('../chunk-ISEAWDRY.cjs');require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkISEAWDRYcjs.d; exports.CrossmintAuthBaseProvider = _chunkISEAWDRYcjs.f; exports.useCrossmintAuthBase = _chunkISEAWDRYcjs.e;
@@ -1 +1 @@
1
- import{d as a,e as b,f as c}from"../chunk-DSYMY3PC.js";import"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{a as CrossmintAuthBaseContext,c as CrossmintAuthBaseProvider,b as useCrossmintAuthBase};
1
+ import{d as a,e as b,f as c}from"../chunk-U2ORMRCN.js";import"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{a as CrossmintAuthBaseContext,c as CrossmintAuthBaseProvider,b as useCrossmintAuthBase};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5J6JPJ72cjs = require('../chunk-5J6JPJ72.cjs');require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletBaseContext = _chunk5J6JPJ72cjs.a; exports.CrossmintWalletBaseProvider = _chunk5J6JPJ72cjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkISEAWDRYcjs = require('../chunk-ISEAWDRY.cjs');require('../chunk-56X52ZGB.cjs');require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletBaseContext = _chunkISEAWDRYcjs.a; exports.CrossmintWalletBaseProvider = _chunkISEAWDRYcjs.b;
@@ -24,7 +24,8 @@ interface CrossmintWalletBaseProviderProps {
24
24
  };
25
25
  onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
26
26
  clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
27
+ initializeWebView?: () => Promise<void>;
27
28
  }
28
- declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, onAuthRequired, clientTEEConnection, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
29
+ declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, onAuthRequired, clientTEEConnection, initializeWebView, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
29
30
 
30
31
  export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, type CrossmintWalletBaseProviderProps };
@@ -24,7 +24,8 @@ interface CrossmintWalletBaseProviderProps {
24
24
  };
25
25
  onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
26
26
  clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
27
+ initializeWebView?: () => Promise<void>;
27
28
  }
28
- declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, onAuthRequired, clientTEEConnection, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
29
+ declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, onAuthRequired, clientTEEConnection, initializeWebView, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
29
30
 
30
31
  export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, type CrossmintWalletBaseProviderProps };
@@ -1 +1 @@
1
- import{a,b}from"../chunk-DSYMY3PC.js";import"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletBaseContext,b as CrossmintWalletBaseProvider};
1
+ import{a,b}from"../chunk-U2ORMRCN.js";import"../chunk-B3EC7QUJ.js";import"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletBaseContext,b as CrossmintWalletBaseProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5J6JPJ72cjs = require('../chunk-5J6JPJ72.cjs');require('../chunk-56X52ZGB.cjs');var _chunk4UWLWRLDcjs = require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunk5J6JPJ72cjs.d; exports.CrossmintAuthBaseProvider = _chunk5J6JPJ72cjs.f; exports.CrossmintContext = _chunk4UWLWRLDcjs.a; exports.CrossmintProvider = _chunk4UWLWRLDcjs.b; exports.CrossmintWalletBaseContext = _chunk5J6JPJ72cjs.a; exports.CrossmintWalletBaseProvider = _chunk5J6JPJ72cjs.b; exports.useCrossmintAuthBase = _chunk5J6JPJ72cjs.e;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkISEAWDRYcjs = require('../chunk-ISEAWDRY.cjs');require('../chunk-56X52ZGB.cjs');var _chunk4UWLWRLDcjs = require('../chunk-4UWLWRLD.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkISEAWDRYcjs.d; exports.CrossmintAuthBaseProvider = _chunkISEAWDRYcjs.f; exports.CrossmintContext = _chunk4UWLWRLDcjs.a; exports.CrossmintProvider = _chunk4UWLWRLDcjs.b; exports.CrossmintWalletBaseContext = _chunkISEAWDRYcjs.a; exports.CrossmintWalletBaseProvider = _chunkISEAWDRYcjs.b; exports.useCrossmintAuthBase = _chunkISEAWDRYcjs.e;
@@ -1 +1 @@
1
- import{a as c,b as d,d as e,e as f,f as g}from"../chunk-DSYMY3PC.js";import"../chunk-B3EC7QUJ.js";import{a,b}from"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{e as CrossmintAuthBaseContext,g as CrossmintAuthBaseProvider,a as CrossmintContext,b as CrossmintProvider,c as CrossmintWalletBaseContext,d as CrossmintWalletBaseProvider,f as useCrossmintAuthBase};
1
+ import{a as c,b as d,d as e,e as f,f as g}from"../chunk-U2ORMRCN.js";import"../chunk-B3EC7QUJ.js";import{a,b}from"../chunk-RPEGJASB.js";import"../chunk-22GIA4MK.js";export{e as CrossmintAuthBaseContext,g as CrossmintAuthBaseProvider,a as CrossmintContext,b as CrossmintProvider,c as CrossmintWalletBaseContext,d as CrossmintWalletBaseProvider,f as useCrossmintAuthBase};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-base",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -19,13 +19,13 @@
19
19
  ],
20
20
  "dependencies": {
21
21
  "lodash.isequal": "4.5.0",
22
- "@crossmint/common-sdk-auth": "1.0.55",
23
- "@crossmint/common-sdk-base": "0.9.5",
24
- "@crossmint/client-sdk-auth": "1.2.33",
25
- "@crossmint/client-sdk-base": "1.7.0",
22
+ "@crossmint/common-sdk-auth": "1.0.56",
23
+ "@crossmint/common-sdk-base": "0.9.6",
24
+ "@crossmint/client-sdk-auth": "1.2.34",
25
+ "@crossmint/client-sdk-base": "1.7.1",
26
26
  "@crossmint/client-sdk-window": "1.0.5",
27
27
  "@crossmint/client-signers": "0.0.20",
28
- "@crossmint/wallets-sdk": "0.15.0"
28
+ "@crossmint/wallets-sdk": "0.15.1"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/react": "19.0.12",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk56X52ZGBcjs = require('./chunk-56X52ZGB.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');function de(){let i=_react.useContext.call(void 0, I);if(!i)throw new Error("useWallet must be used within CrossmintWalletProvider");return i}var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _jsxruntime = require('react/jsx-runtime');var P=_react.createContext.call(void 0, {crossmintAuth:void 0,logout:()=>{},status:"initializing",getUser:()=>{},login:()=>{}});function L(){let i=_react.useContext.call(void 0, P);if(i==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return i}function _({children:i,onLoginSuccess:s,refreshRoute:u,logoutRoute:p,storageProvider:o}){let{crossmint:h}=_chunk56X52ZGBcjs.a.call(void 0, "CrossmintAuthBaseProvider must be used within CrossmintProvider"),[t,d]=_react.useState.call(void 0, void 0),[n,l]=_react.useState.call(void 0, void 0),[f,C]=_react.useState.call(void 0, !1),g=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{if(!g.current)try{g.current=_clientsdkauth.CrossmintAuth.from(h,{callbacks:{onLogout:()=>{d(void 0),l(void 0)},onTokenRefresh:r=>{d(r.user),l(r.jwt)}},refreshRoute:u,logoutRoute:p,storageProvider:o})}catch(r){console.error("Failed to initialize CrossmintAuth:",r)}},[h,u,p,o]);let e=g.current,c=_react.useCallback.call(void 0, ()=>{s==null||s()},[s]);_react.useEffect.call(void 0, ()=>{var r;if(n==null)if(o)(r=o.get)==null||r.call(o,_commonsdkauth.SESSION_PREFIX).then(a=>{a!=null&&l(a)}).finally(()=>{C(!0)});else{try{let a=_clientsdkauth.getCookie.call(void 0, _commonsdkauth.SESSION_PREFIX);l(a)}catch(a){console.error("Failed to get cookie:",a)}C(!0)}else C(!0)},[n,o]),_react.useEffect.call(void 0, ()=>{n!=null&&c()},[n,c]);let y=_react.useCallback.call(void 0, ()=>{e==null||e.logout()},[e]),x=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(n==null){console.log("User not logged in");return}let r=yield e==null?void 0:e.getUser();return d(r),r}),[n,e]),w=_react.useCallback.call(void 0, ()=>f?n!=null?"logged-in":"logged-out":"initializing",[n,f]),S=_react.useMemo.call(void 0, ()=>({crossmintAuth:e,logout:y,jwt:n,user:t,status:w(),getUser:x,login:()=>{}}),[e,y,n,t,f,x,w]);return _jsxruntime.jsx.call(void 0, P.Provider,{value:S,children:i})}function ne(){let i=_react.useContext.call(void 0, P);if(i==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}var Re=ne;var I=_react.createContext.call(void 0, {wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,clientTEEConnection:void 0});function He({children:i,createOnLogin:s,callbacks:u,onAuthRequired:p,clientTEEConnection:o}){let{crossmint:h,experimental_customAuth:t}=_chunk56X52ZGBcjs.a.call(void 0, "CrossmintWalletBaseProvider must be used within CrossmintProvider"),[d,n]=_react.useState.call(void 0, void 0),[l,f]=_react.useState.call(void 0, "not-loaded"),C=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var c,y,x,w,S,r,a,k,z,N,H,j;if(!((t==null?void 0:t.jwt)==null||l==="in-progress")){if(d!=null)return d;try{f("in-progress");let E=_walletssdk.CrossmintWallets.from(h),R=(y=(c=e.options)==null?void 0:c.experimental_callbacks)==null?void 0:y.onWalletCreationStart,q=(w=(x=e.options)==null?void 0:x.experimental_callbacks)==null?void 0:w.onTransactionStart;if(((S=e==null?void 0:e.signer)==null?void 0:S.type)==="email"){let m=(r=e.signer.email)!=null?r:t==null?void 0:t.email,b=(a=e.signer.onAuthRequired)!=null?a:p;if(m==null)throw new Error("Email not found in experimental_customAuth or signer. Please set email in experimental_customAuth or signer.");e.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},e.signer),{email:m,onAuthRequired:b})}if(((k=e==null?void 0:e.signer)==null?void 0:k.type)==="phone"){let m=(z=e.signer.phone)!=null?z:t==null?void 0:t.phone,b=(N=e.signer.onAuthRequired)!=null?N:p;if(m==null)throw new Error("Phone not found in signer. Please set phone in signer.");e.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},e.signer),{phone:m,onAuthRequired:b})}if(((H=e==null?void 0:e.signer)==null?void 0:H.type)==="external-wallet"){let m=((j=e.signer)==null?void 0:j.address)!=null?e.signer:t.externalWalletSigner;if(m==null)throw new Error("External wallet config not found in experimental_customAuth or signer. Please set it in experimental_customAuth or signer.");e.signer=m}let D=yield E.getOrCreateWallet({chain:e.chain,signer:e.signer,owner:e.owner,plugins:e.plugins,delegatedSigners:e.delegatedSigners,options:{clientTEEConnection:o==null?void 0:o(),experimental_callbacks:{onWalletCreationStart:R!=null?R:u==null?void 0:u.onWalletCreationStart,onTransactionStart:q!=null?q:u==null?void 0:u.onTransactionStart}}});return n(D),f("loaded"),D}catch(E){console.error("Failed to create wallet:",E),n(void 0),f("error");return}}}),[h,t]);_react.useEffect.call(void 0, ()=>{if(s!=null){if(s.signer.type==="email"&&(t==null?void 0:t.email)==null||s.signer.type==="external-wallet"&&(t==null?void 0:t.externalWalletSigner)==null&&s.signer.address==null)return;C(s)}},[s,C,t==null?void 0:t.email,t==null?void 0:t.externalWalletSigner]),_react.useEffect.call(void 0, ()=>{(t==null?void 0:t.jwt)==null&&l!=="not-loaded"&&(f("not-loaded"),n(void 0))},[t==null?void 0:t.jwt,l]);let g=_react.useMemo.call(void 0, ()=>({wallet:d,status:l,getOrCreateWallet:C,onAuthRequired:p,clientTEEConnection:o}),[C,d,l,p,o]);return _jsxruntime.jsx.call(void 0, I.Provider,{value:g,children:i})}exports.a = I; exports.b = He; exports.c = de; exports.d = P; exports.e = L; exports.f = _; exports.g = ne; exports.h = Re;
@@ -1 +0,0 @@
1
- import{a as A}from"./chunk-B3EC7QUJ.js";import{a as T,b as I,c as v}from"./chunk-22GIA4MK.js";import{createContext as re,useCallback as ie,useEffect as V,useMemo as se,useState as M}from"react";import{CrossmintWallets as le}from"@crossmint/wallets-sdk";import{useContext as X}from"react";function fe(){let i=X(U);if(!i)throw new Error("useWallet must be used within CrossmintWalletProvider");return i}import{useContext as ne}from"react";import{createContext as G,useCallback as E,useContext as Q,useEffect as O,useMemo as Y,useRef as Z,useState as k}from"react";import{CrossmintAuth as $,getCookie as L}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as K}from"@crossmint/common-sdk-auth";import{jsx as te}from"react/jsx-runtime";var S=G({crossmintAuth:void 0,logout:()=>{},status:"initializing",getUser:()=>{},login:()=>{}});function _(){let i=Q(S);if(i==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return i}function ee({children:i,onLoginSuccess:s,refreshRoute:u,logoutRoute:p,storageProvider:o}){let{crossmint:h}=A("CrossmintAuthBaseProvider must be used within CrossmintProvider"),[t,d]=k(void 0),[n,l]=k(void 0),[f,C]=k(!1),g=Z(null);O(()=>{if(!g.current)try{g.current=$.from(h,{callbacks:{onLogout:()=>{d(void 0),l(void 0)},onTokenRefresh:r=>{d(r.user),l(r.jwt)}},refreshRoute:u,logoutRoute:p,storageProvider:o})}catch(r){console.error("Failed to initialize CrossmintAuth:",r)}},[h,u,p,o]);let e=g.current,c=E(()=>{s==null||s()},[s]);O(()=>{var r;if(n==null)if(o)(r=o.get)==null||r.call(o,K).then(a=>{a!=null&&l(a)}).finally(()=>{C(!0)});else{try{let a=L(K);l(a)}catch(a){console.error("Failed to get cookie:",a)}C(!0)}else C(!0)},[n,o]),O(()=>{n!=null&&c()},[n,c]);let y=E(()=>{e==null||e.logout()},[e]),x=E(()=>v(this,null,function*(){if(n==null){console.log("User not logged in");return}let r=yield e==null?void 0:e.getUser();return d(r),r}),[n,e]),w=E(()=>f?n!=null?"logged-in":"logged-out":"initializing",[n,f]),B=Y(()=>({crossmintAuth:e,logout:y,jwt:n,user:t,status:w(),getUser:x,login:()=>{}}),[e,y,n,t,f,x,w]);return te(S.Provider,{value:B,children:i})}function oe(){let i=ne(S);if(i==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return i}var qe=oe;import{jsx as ue}from"react/jsx-runtime";var U=re({wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,clientTEEConnection:void 0});function je({children:i,createOnLogin:s,callbacks:u,onAuthRequired:p,clientTEEConnection:o}){let{crossmint:h,experimental_customAuth:t}=A("CrossmintWalletBaseProvider must be used within CrossmintProvider"),[d,n]=M(void 0),[l,f]=M("not-loaded"),C=ie(e=>v(this,null,function*(){var c,y,x,w,B,r,a,z,N,H,j,D;if(!((t==null?void 0:t.jwt)==null||l==="in-progress")){if(d!=null)return d;try{f("in-progress");let R=le.from(h),q=(y=(c=e.options)==null?void 0:c.experimental_callbacks)==null?void 0:y.onWalletCreationStart,b=(w=(x=e.options)==null?void 0:x.experimental_callbacks)==null?void 0:w.onTransactionStart;if(((B=e==null?void 0:e.signer)==null?void 0:B.type)==="email"){let m=(r=e.signer.email)!=null?r:t==null?void 0:t.email,F=(a=e.signer.onAuthRequired)!=null?a:p;if(m==null)throw new Error("Email not found in experimental_customAuth or signer. Please set email in experimental_customAuth or signer.");e.signer=I(T({},e.signer),{email:m,onAuthRequired:F})}if(((z=e==null?void 0:e.signer)==null?void 0:z.type)==="phone"){let m=(N=e.signer.phone)!=null?N:t==null?void 0:t.phone,F=(H=e.signer.onAuthRequired)!=null?H:p;if(m==null)throw new Error("Phone not found in signer. Please set phone in signer.");e.signer=I(T({},e.signer),{phone:m,onAuthRequired:F})}if(((j=e==null?void 0:e.signer)==null?void 0:j.type)==="external-wallet"){let m=((D=e.signer)==null?void 0:D.address)!=null?e.signer:t.externalWalletSigner;if(m==null)throw new Error("External wallet config not found in experimental_customAuth or signer. Please set it in experimental_customAuth or signer.");e.signer=m}let J=yield R.getOrCreateWallet({chain:e.chain,signer:e.signer,owner:e.owner,plugins:e.plugins,delegatedSigners:e.delegatedSigners,options:{clientTEEConnection:o==null?void 0:o(),experimental_callbacks:{onWalletCreationStart:q!=null?q:u==null?void 0:u.onWalletCreationStart,onTransactionStart:b!=null?b:u==null?void 0:u.onTransactionStart}}});return n(J),f("loaded"),J}catch(R){console.error("Failed to create wallet:",R),n(void 0),f("error");return}}}),[h,t]);V(()=>{if(s!=null){if(s.signer.type==="email"&&(t==null?void 0:t.email)==null||s.signer.type==="external-wallet"&&(t==null?void 0:t.externalWalletSigner)==null&&s.signer.address==null)return;C(s)}},[s,C,t==null?void 0:t.email,t==null?void 0:t.externalWalletSigner]),V(()=>{(t==null?void 0:t.jwt)==null&&l!=="not-loaded"&&(f("not-loaded"),n(void 0))},[t==null?void 0:t.jwt,l]);let g=se(()=>({wallet:d,status:l,getOrCreateWallet:C,onAuthRequired:p,clientTEEConnection:o}),[C,d,l,p,o]);return ue(U.Provider,{value:g,children:i})}export{U as a,je as b,fe as c,S as d,_ as e,ee as f,oe as g,qe as h};