@crossmint/client-sdk-react-native-ui 0.6.0 → 0.6.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.
- package/dist/{chunk-CY6IQ54O.js → chunk-2R6TTKZ5.js} +1 -1
- package/dist/chunk-KGDIEZDY.js +1 -0
- package/dist/{chunk-IFRONN73.cjs → chunk-NM3K7AAX.cjs} +1 -1
- package/dist/chunk-UXTT4ZZ3.cjs +1 -0
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useCrossmintAuth.cjs +1 -1
- package/dist/hooks/useCrossmintAuth.js +1 -1
- package/dist/hooks/useWalletEmailSigner.cjs +1 -1
- package/dist/hooks/useWalletEmailSigner.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/providers/CrossmintAuthProvider.cjs +1 -1
- package/dist/providers/CrossmintAuthProvider.js +1 -1
- package/dist/providers/CrossmintAuthProviderInternal.cjs +1 -1
- package/dist/providers/CrossmintAuthProviderInternal.js +1 -1
- package/dist/providers/CrossmintWalletProvider.cjs +1 -1
- package/dist/providers/CrossmintWalletProvider.js +1 -1
- package/dist/providers/index.cjs +1 -1
- package/dist/providers/index.js +1 -1
- package/package.json +6 -6
- package/dist/chunk-LA7LM24F.js +0 -1
- package/dist/chunk-XWQOPCUS.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as m,d,h as l}from"./chunk-
|
|
1
|
+
import{b as m,d,h as l}from"./chunk-KGDIEZDY.js";import{a as n,b as s,c as u}from"./chunk-PXDN3KFO.js";import{useEffect as h}from"react";import{jsx as c}from"react/jsx-runtime";function a({children:i}){let{experimental_setCustomAuth:r,experimental_customAuth:o}=l(),{user:t,jwt:e}=d();return h(()=>{e==null&&(o==null?void 0:o.jwt)!=null&&r(void 0),e!=null&&r({jwt:e,email:t==null?void 0:t.email})},[r,e,t]),i}function A(o){var t=o,{children:i}=t,r=u(t,["children"]);return c(m,s(n({},r),{children:c(a,{children:i})}))}export{A as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as H}from"./chunk-GDMV4TA2.js";import{d as c}from"./chunk-PXDN3KFO.js";import{createContext as pe,useEffect as _,useMemo as Y,useRef as fe,useState as U,useCallback as D}from"react";import*as f from"expo-web-browser";import{CrossmintAuth as ge}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as ve}from"@crossmint/common-sdk-auth";import{useCrossmint as N,useWallet as Je}from"@crossmint/client-sdk-react-base";import{useContext as J}from"react";function We(){let e=J(T);if(!e)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return e}function be(){let e=J(T);if(!e)throw new Error("useAuth must be used within a CrossmintAuthProvider");return e}import{useCallback as q,useEffect as re,useRef as S,useState as ne,useMemo as X,createContext as oe}from"react";import{View as ie}from"react-native";import{RNWebView as se,WebViewParent as ae}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as Q,signerInboundEvents as le,signerOutboundEvents as ue}from"@crossmint/client-signers";import{validateAPIKey as ce}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as de}from"@crossmint/client-sdk-react-base";import{jsx as F,jsxs as he}from"react/jsx-runtime";var P=e=>()=>{throw new Error(`${e} is not available. Make sure you're using an email signer wallet.`)},K=oe({needsAuth:!1,sendEmailWithOtp:P("sendEmailWithOtp"),verifyOtp:P("verifyOtp"),reject:P("reject")});function je({children:e}){let{crossmint:d}=N("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:v,appId:w}=d,h=ce(v);if(!h.isValid)throw new Error("Invalid API key");let W=Q[h.environment],b=S(null),i=S(null),[A,a]=ne(!1),y=S(P("sendEmailWithOtp")),R=S(P("verifyOtp")),M=S(P("reject")),O=X(()=>w!=null?`window.crossmintAppId = '${w}';`:"",[w]);re(()=>{b.current!=null&&i.current==null&&(i.current=new ae(b,{incomingEvents:ue,outgoingEvents:le}))},[]);let m=q(()=>c(this,null,function*(){let r=i.current;if(r!=null)try{yield r.handshakeWithChild()}catch(g){console.error("[CrossmintWalletProvider] Handshake error:",g)}}),[]),B=q(r=>{let g=i.current;if(g!=null){try{let o=JSON.parse(r.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let n=o.type.split(".")[1],p=(o.data||[]).map(l=>{try{return l==="[Function]"||l==="[Circular Reference]"||l==="[Unserializable Object]"?l:JSON.parse(l)}catch($){return l}}),C=`[WebView:${n.toUpperCase()}]`;switch(n){case"log":console.log(C,...p);break;case"error":console.error(C,...p);break;case"warn":console.warn(C,...p);break;case"info":console.info(C,...p);break;default:console.log(`[WebView Unknown:${n}]`,...p)}return}}catch(o){}g.handleMessage(r)}},[]),V=()=>{if(i.current==null)throw new Error("WebView not ready or handshake incomplete");return i.current},z=(r,g,o,n)=>c(this,null,function*(){a(r),y.current=g,R.current=o,M.current=n}),x=X(()=>({needsAuth:A,sendEmailWithOtp:y.current,verifyOtp:R.current,reject:M.current}),[A]);return he(de,{onAuthRequired:z,_getEmailSignerIframe:V,children:[F(K.Provider,{value:x,children:e}),F(ie,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:F(se,{ref:b,source:{uri:W},injectedGlobals:O,onLoadStart:r=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",r.nativeEvent.url)},onLoadEnd:m,onLoadProgress:({nativeEvent:r})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",r.progress)},onMessage:B,onError:r=>{console.error("[CrossmintWalletProvider] WebView error:",r.nativeEvent)},onHttpError:r=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",r.nativeEvent)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[Q[h.environment]]})})]})}import{useContext as me}from"react";function _e(){let e=me(K);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}}import{Platform as we}from"react-native";import L from"expo-constants";import{jsx as Ce}from"react/jsx-runtime";var Z={google:null,twitter:null},Ae={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},T=pe(Ae);function ot({children:e,onLoginSuccess:d,refreshRoute:v,logoutRoute:w,customStorageProvider:h,appSchema:W}){let{crossmint:b}=N("CrossmintAuthProvider must be used within CrossmintProvider"),[i,A]=U(void 0),[a,y]=U(void 0),[R,M]=U(Z),O=fe(null),m=Y(()=>h!=null?h:new H,[h]),[B,V]=U(!1),[z,x]=U(!1),r=Array.isArray(W)?W[0]:W,o=L.executionEnvironment==="storeClient"||L.appOwnership==="expo"||!!L.expoVersion?"exp://127.0.0.1:8081":r,n=Y(()=>{if(!O.current){let t={callbacks:{onLogout:()=>{A(void 0),y(void 0)},onTokenRefresh:s=>{A(s.user),y(s.jwt)}},refreshRoute:v,logoutRoute:w,storageProvider:m};O.current=ge.from(b,t)}return O.current},[m]),p=D(()=>{d==null||d()},[d]);_(()=>{a==null?m==null||m.get(ve).then(t=>{t!=null&&y(t)}).finally(()=>{V(!0)}):V(!0)},[a,m]),_(()=>{a!=null&&p()},[a,p]);let C=()=>{n.logout()},l=D(()=>c(this,null,function*(){try{let s=Object.keys(Z).map(E=>c(this,null,function*(){let I=yield n==null?void 0:n.getOAuthUrl(E,{appSchema:o});return{[E]:I}})),u=Object.assign({},...yield Promise.all(s));M(u)}catch(t){console.error(t)}}),[n]);_(()=>{i==null&&l()},[l,i]);let $=()=>B?z?"in-progress":a!=null?"logged-in":"logged-out":"initializing",ee=()=>c(this,null,function*(){if(a==null){console.log("User not logged in");return}let t=yield n.getUser();return A(t),t}),te=t=>c(this,null,function*(){var s;try{x(!0);let u=(s=R[t])!=null?s:yield n.getOAuthUrl(t,{appSchema:o});yield f.warmUpAsync();let E=new URL(u);if(t==="google"&&E.searchParams.append("provider_prompt","select_account"),we.OS==="android")yield f.openBrowserAsync(E.toString());else{let I=yield f.openAuthSessionAsync(E.toString());I.type==="success"&&(yield G(I.url))}yield f.coolDownAsync()}catch(u){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",u),new Error(`Error during OAuth login: ${u}`)}}),G=D(t=>c(this,null,function*(){let s=t.includes("://")?ye(t):t;if(s!=null)try{return x(!0),yield n.handleRefreshAuthMaterial(s)}catch(u){throw u}finally{x(!1)}return null}),[n]);return Ce(T.Provider,{value:{crossmintAuth:n,logout:C,jwt:a,user:i,status:$(),getUser:ee,loginWithOAuth:te,createAuthSession:G},children:e})}var ye=e=>{let d=/[?&]oneTimeSecret=([^&#]+)/,v=e.match(d);return v?decodeURIComponent(v[1]):void 0};export{T as a,ot as b,We as c,be as d,K as e,je as f,_e as g,N as h,Je as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUXTT4ZZ3cjs = require('./chunk-UXTT4ZZ3.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');function a({children:i}){let{experimental_setCustomAuth:r,experimental_customAuth:o}=_chunkUXTT4ZZ3cjs.h.call(void 0, ),{user:t,jwt:e}=_chunkUXTT4ZZ3cjs.d.call(void 0, );return _react.useEffect.call(void 0, ()=>{e==null&&(o==null?void 0:o.jwt)!=null&&r(void 0),e!=null&&r({jwt:e,email:t==null?void 0:t.email})},[r,e,t]),i}function v(o){var t=o,{children:i}=t,r=_chunk2WSEHVNPcjs.c.call(void 0, t,["children"]);return _jsxruntime.jsx.call(void 0, _chunkUXTT4ZZ3cjs.b,_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},r),{children:_jsxruntime.jsx.call(void 0, a,{children:i})}))}exports.a = v;
|
|
@@ -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 _chunkK754GXKDcjs = require('./chunk-K754GXKD.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var f = _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 Pe(){let e=_react.useContext.call(void 0, j);if(!e)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return e}function We(){let e=_react.useContext.call(void 0, j);if(!e)throw new Error("useAuth must be used within a CrossmintAuthProvider");return e}var _reactnative = require('react-native');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _commonsdkbase = require('@crossmint/common-sdk-base');var _jsxruntime = require('react/jsx-runtime');var P=e=>()=>{throw new Error(`${e} is not available. Make sure you're using an email signer wallet.`)},F= exports.e =_react.createContext.call(void 0, {needsAuth:!1,sendEmailWithOtp:P("sendEmailWithOtp"),verifyOtp:P("verifyOtp"),reject:P("reject")});function ke({children:e}){let{crossmint:d}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:v,appId:w}=d,h=_commonsdkbase.validateAPIKey.call(void 0, v);if(!h.isValid)throw new Error("Invalid API key");let W=_clientsigners.environmentUrlConfig[h.environment],b=_react.useRef.call(void 0, null),i=_react.useRef.call(void 0, null),[A,a]=_react.useState.call(void 0, !1),y=_react.useRef.call(void 0, P("sendEmailWithOtp")),R=_react.useRef.call(void 0, P("verifyOtp")),M=_react.useRef.call(void 0, P("reject")),O=_react.useMemo.call(void 0, ()=>w!=null?`window.crossmintAppId = '${w}';`:"",[w]);_react.useEffect.call(void 0, ()=>{b.current!=null&&i.current==null&&(i.current=new (0, _clientsdkrnwindow.WebViewParent)(b,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[]);let m=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let r=i.current;if(r!=null)try{yield r.handshakeWithChild()}catch(g){console.error("[CrossmintWalletProvider] Handshake error:",g)}}),[]),N=_react.useCallback.call(void 0, r=>{let g=i.current;if(g!=null){try{let o=JSON.parse(r.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let n=o.type.split(".")[1],p=(o.data||[]).map(l=>{try{return l==="[Function]"||l==="[Circular Reference]"||l==="[Unserializable Object]"?l:JSON.parse(l)}catch(L){return l}}),C=`[WebView:${n.toUpperCase()}]`;switch(n){case"log":console.log(C,...p);break;case"error":console.error(C,...p);break;case"warn":console.warn(C,...p);break;case"info":console.info(C,...p);break;default:console.log(`[WebView Unknown:${n}]`,...p)}return}}catch(o){}g.handleMessage(r)}},[]),V=()=>{if(i.current==null)throw new Error("WebView not ready or handshake incomplete");return i.current},B=(r,g,o,n)=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){a(r),y.current=g,R.current=o,M.current=n}),x=_react.useMemo.call(void 0, ()=>({needsAuth:A,sendEmailWithOtp:y.current,verifyOtp:R.current,reject:M.current}),[A]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{onAuthRequired:B,_getEmailSignerIframe:V,children:[_jsxruntime.jsx.call(void 0, F.Provider,{value:x,children:e}),_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:b,source:{uri:W},injectedGlobals:O,onLoadStart:r=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",r.nativeEvent.url)},onLoadEnd:m,onLoadProgress:({nativeEvent:r})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",r.progress)},onMessage:N,onError:r=>{console.error("[CrossmintWalletProvider] WebView error:",r.nativeEvent)},onHttpError:r=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",r.nativeEvent)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[h.environment]]})})]})}function Ke(){let e=_react.useContext.call(void 0, F);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}}var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var Y={google:null,twitter:null},we={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},j= exports.a =_react.createContext.call(void 0, we);function nt({children:e,onLoginSuccess:d,refreshRoute:v,logoutRoute:w,customStorageProvider:h,appSchema:W}){let{crossmint:b}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[i,A]=_react.useState.call(void 0, void 0),[a,y]=_react.useState.call(void 0, void 0),[R,M]=_react.useState.call(void 0, Y),O=_react.useRef.call(void 0, null),m=_react.useMemo.call(void 0, ()=>h!=null?h:new _chunkK754GXKDcjs.a,[h]),[N,V]=_react.useState.call(void 0, !1),[B,x]=_react.useState.call(void 0, !1),r=Array.isArray(W)?W[0]:W,o=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":r,n=_react.useMemo.call(void 0, ()=>{if(!O.current){let t={callbacks:{onLogout:()=>{A(void 0),y(void 0)},onTokenRefresh:s=>{A(s.user),y(s.jwt)}},refreshRoute:v,logoutRoute:w,storageProvider:m};O.current=_clientsdkauth.CrossmintAuth.from(b,t)}return O.current},[m]),p=_react.useCallback.call(void 0, ()=>{d==null||d()},[d]);_react.useEffect.call(void 0, ()=>{a==null?m==null||m.get(_commonsdkauth.SESSION_PREFIX).then(t=>{t!=null&&y(t)}).finally(()=>{V(!0)}):V(!0)},[a,m]),_react.useEffect.call(void 0, ()=>{a!=null&&p()},[a,p]);let C=()=>{n.logout()},l=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){try{let s=Object.keys(Y).map(E=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let I=yield n==null?void 0:n.getOAuthUrl(E,{appSchema:o});return{[E]:I}})),u=Object.assign({},...yield Promise.all(s));M(u)}catch(t){console.error(t)}}),[n]);_react.useEffect.call(void 0, ()=>{i==null&&l()},[l,i]);let L=()=>N?B?"in-progress":a!=null?"logged-in":"logged-out":"initializing",Z=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(a==null){console.log("User not logged in");return}let t=yield n.getUser();return A(t),t}),ee=t=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var s;try{x(!0);let u=(s=R[t])!=null?s:yield n.getOAuthUrl(t,{appSchema:o});yield f.warmUpAsync();let E=new URL(u);if(t==="google"&&E.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield f.openBrowserAsync(E.toString());else{let I=yield f.openAuthSessionAsync(E.toString());I.type==="success"&&(yield $(I.url))}yield f.coolDownAsync()}catch(u){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",u),new Error(`Error during OAuth login: ${u}`)}}),$=_react.useCallback.call(void 0, t=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let s=t.includes("://")?Ae(t):t;if(s!=null)try{return x(!0),yield n.handleRefreshAuthMaterial(s)}catch(u){throw u}finally{x(!1)}return null}),[n]);return _jsxruntime.jsx.call(void 0, j.Provider,{value:{crossmintAuth:n,logout:C,jwt:a,user:i,status:L(),getUser:Z,loginWithOAuth:ee,createAuthSession:$},children:e})}var Ae=e=>{let d=/[?&]oneTimeSecret=([^&#]+)/,v=e.match(d);return v?decodeURIComponent(v[1]):void 0};exports.a = j; exports.b = nt; exports.c = Pe; exports.d = We; exports.e = F; exports.f = ke; exports.g = Ke; exports.h = _clientsdkreactbase.useCrossmint; exports.i = _clientsdkreactbase.useWallet;
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUXTT4ZZ3cjs = require('../chunk-UXTT4ZZ3.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.useAuth = _chunkUXTT4ZZ3cjs.d; exports.useCrossmint = _chunkUXTT4ZZ3cjs.h; exports.useCrossmintAuth = _chunkUXTT4ZZ3cjs.c; exports.useWallet = _chunkUXTT4ZZ3cjs.i; exports.useWalletEmailSigner = _chunkUXTT4ZZ3cjs.g;
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b,g as c,h as d,i as e}from"../chunk-
|
|
1
|
+
import{c as a,d as b,g as c,h as d,i as e}from"../chunk-KGDIEZDY.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.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
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUXTT4ZZ3cjs = require('../chunk-UXTT4ZZ3.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.useAuth = _chunkUXTT4ZZ3cjs.d; exports.useCrossmintAuth = _chunkUXTT4ZZ3cjs.c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b}from"../chunk-
|
|
1
|
+
import{c as a,d as b}from"../chunk-KGDIEZDY.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{b as useAuth,a as useCrossmintAuth};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUXTT4ZZ3cjs = require('../chunk-UXTT4ZZ3.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.useWalletEmailSigner = _chunkUXTT4ZZ3cjs.g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as a}from"../chunk-
|
|
1
|
+
import{g as a}from"../chunk-KGDIEZDY.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.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
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-ZR6BLDCD.cjs');var _chunkNM3K7AAXcjs = require('./chunk-NM3K7AAX.cjs');var _chunkUXTT4ZZ3cjs = require('./chunk-UXTT4ZZ3.cjs');require('./chunk-K754GXKD.cjs');var _chunkYBYUZ7SKcjs = require('./chunk-YBYUZ7SK.cjs');require('./chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkNM3K7AAXcjs.a; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkUXTT4ZZ3cjs.f; exports.useAuth = _chunkUXTT4ZZ3cjs.d; exports.useCrossmint = _chunkUXTT4ZZ3cjs.h; exports.useCrossmintAuth = _chunkUXTT4ZZ3cjs.c; exports.useWallet = _chunkUXTT4ZZ3cjs.i; exports.useWalletEmailSigner = _chunkUXTT4ZZ3cjs.g;
|
package/dist/index.d.cts
CHANGED
|
@@ -6,7 +6,7 @@ export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.cjs';
|
|
|
6
6
|
export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.cjs';
|
|
7
7
|
export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
|
|
8
8
|
export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
|
|
9
|
-
export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, SolanaWallet, Wallet } from '@crossmint/wallets-sdk';
|
|
9
|
+
export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, SolanaWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
|
|
10
10
|
import './providers/CrossmintAuthProviderInternal.cjs';
|
|
11
11
|
import 'react/jsx-runtime';
|
|
12
12
|
import 'react';
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.js';
|
|
|
6
6
|
export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.js';
|
|
7
7
|
export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
|
|
8
8
|
export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
|
|
9
|
-
export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, SolanaWallet, Wallet } from '@crossmint/wallets-sdk';
|
|
9
|
+
export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, SolanaWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
|
|
10
10
|
import './providers/CrossmintAuthProviderInternal.js';
|
|
11
11
|
import 'react/jsx-runtime';
|
|
12
12
|
import 'react';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-C62HRWJA.js";import{a as l}from"./chunk-
|
|
1
|
+
import"./chunk-C62HRWJA.js";import{a as l}from"./chunk-2R6TTKZ5.js";import{c as t,d as e,f as r,g as o,h as s,i as a}from"./chunk-KGDIEZDY.js";import"./chunk-GDMV4TA2.js";import{a as n}from"./chunk-ZENPJSBN.js";import"./chunk-PXDN3KFO.js";export{l as CrossmintAuthProvider,n as CrossmintProvider,r as CrossmintWalletProvider,e as useAuth,s as useCrossmint,t as useCrossmintAuth,a as useWallet,o as useWalletEmailSigner};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNM3K7AAXcjs = require('../chunk-NM3K7AAX.cjs');require('../chunk-UXTT4ZZ3.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkNM3K7AAXcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-2R6TTKZ5.js";import"../chunk-KGDIEZDY.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintAuthProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUXTT4ZZ3cjs = require('../chunk-UXTT4ZZ3.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.AuthContext = _chunkUXTT4ZZ3cjs.a; exports.CrossmintAuthProviderInternal = _chunkUXTT4ZZ3cjs.b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-KGDIEZDY.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{a as AuthContext,b as CrossmintAuthProviderInternal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUXTT4ZZ3cjs = require('../chunk-UXTT4ZZ3.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintWalletEmailSignerContext = _chunkUXTT4ZZ3cjs.e; exports.CrossmintWalletProvider = _chunkUXTT4ZZ3cjs.f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as a,f as b}from"../chunk-
|
|
1
|
+
import{e as a,f as b}from"../chunk-KGDIEZDY.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintWalletEmailSignerContext,b as CrossmintWalletProvider};
|
package/dist/providers/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var _chunkNM3K7AAXcjs = require('../chunk-NM3K7AAX.cjs');var _chunkUXTT4ZZ3cjs = require('../chunk-UXTT4ZZ3.cjs');require('../chunk-K754GXKD.cjs');var _chunkYBYUZ7SKcjs = require('../chunk-YBYUZ7SK.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkNM3K7AAXcjs.a; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkUXTT4ZZ3cjs.f;
|
package/dist/providers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunk-C62HRWJA.js";import{a as c}from"../chunk-
|
|
1
|
+
import"../chunk-C62HRWJA.js";import{a as c}from"../chunk-2R6TTKZ5.js";import{f as a}from"../chunk-KGDIEZDY.js";import"../chunk-GDMV4TA2.js";import{a as b}from"../chunk-ZENPJSBN.js";import"../chunk-PXDN3KFO.js";export{c as CrossmintAuthProvider,b as CrossmintProvider,a as CrossmintWalletProvider};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/client-sdk-react-native-ui",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
"expo-web-browser": "~14.0.2",
|
|
26
26
|
"react-native-webview": "13.12.5",
|
|
27
27
|
"@crossmint/client-sdk-auth": "1.2.14",
|
|
28
|
-
"@crossmint/client-sdk-base": "1.5.6",
|
|
29
|
-
"@crossmint/client-sdk-react-base": "0.5.0",
|
|
30
28
|
"@crossmint/client-sdk-rn-window": "0.2.2",
|
|
31
|
-
"@crossmint/client-
|
|
29
|
+
"@crossmint/client-sdk-react-base": "0.5.2",
|
|
30
|
+
"@crossmint/client-sdk-base": "1.5.6",
|
|
32
31
|
"@crossmint/common-sdk-auth": "1.0.37",
|
|
33
|
-
"@crossmint/
|
|
34
|
-
"@crossmint/wallets-sdk": "0.10.
|
|
32
|
+
"@crossmint/client-signers": "0.0.17",
|
|
33
|
+
"@crossmint/wallets-sdk": "0.10.2",
|
|
34
|
+
"@crossmint/common-sdk-base": "0.8.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/react": "19.0.12"
|
package/dist/chunk-LA7LM24F.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as H}from"./chunk-GDMV4TA2.js";import{d as c}from"./chunk-PXDN3KFO.js";import{createContext as pe,useEffect as L,useMemo as Y,useRef as fe,useState as U,useCallback as $}from"react";import*as p from"expo-web-browser";import{CrossmintAuth as ge}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as ve}from"@crossmint/common-sdk-auth";import{useCrossmint as N,useWallet as Je}from"@crossmint/client-sdk-react-base";import{useContext as J}from"react";function We(){let e=J(T);if(!e)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return e}function be(){let e=J(T);if(!e)throw new Error("useAuth must be used within a CrossmintAuthProvider");return e}import{useCallback as q,useEffect as re,useRef as S,useState as oe,useMemo as X,createContext as ne}from"react";import{View as se}from"react-native";import{RNWebView as ie,WebViewParent as ae}from"@crossmint/client-sdk-rn-window";import{signerInboundEvents as le,signerOutboundEvents as ue}from"@crossmint/client-signers";import{validateAPIKey as ce}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as de}from"@crossmint/client-sdk-react-base";import{jsx as D,jsxs as me}from"react/jsx-runtime";var Q="https://signers.crossmint.com",P=e=>()=>{throw new Error(`${e} is not available. Make sure you're using an email signer wallet.`)},F=ne({needsAuth:!1,sendEmailWithOtp:P("sendEmailWithOtp"),verifyOtp:P("verifyOtp"),reject:P("reject")});function je({children:e}){let{crossmint:d}=N("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:v,appId:w}=d,f=ce(v);if(!f.isValid)throw new Error("Invalid API key");let W=`${Q}/?environment=${f.environment}`,b=S(null),s=S(null),[A,a]=oe(!1),y=S(P("sendEmailWithOtp")),R=S(P("verifyOtp")),M=S(P("reject")),O=X(()=>w!=null?`window.crossmintAppId = '${w}';`:"",[w]);re(()=>{b.current!=null&&s.current==null&&(s.current=new ae(b,{incomingEvents:ue,outgoingEvents:le}))},[]);let m=q(()=>c(this,null,function*(){let t=s.current;if(t!=null)try{yield t.handshakeWithChild()}catch(g){console.error("[CrossmintWalletProvider] Handshake error:",g)}}),[]),_=q(t=>{console.log("[CrossmintWalletProvider] Received message:",t.nativeEvent.data);let g=s.current;if(g!=null){try{let n=JSON.parse(t.nativeEvent.data);if(n&&typeof n.type=="string"&&n.type.startsWith("console.")){let o=n.type.split(".")[1],h=(n.data||[]).map(l=>{try{return l==="[Function]"||l==="[Circular Reference]"||l==="[Unserializable Object]"?l:JSON.parse(l)}catch(K){return l}}),E=`[WebView:${o.toUpperCase()}]`;switch(o){case"log":console.log(E,...h);break;case"error":console.error(E,...h);break;case"warn":console.warn(E,...h);break;case"info":console.info(E,...h);break;default:console.log(`[WebView Unknown:${o}]`,...h)}return}}catch(n){}g.handleMessage(t)}},[]),I=()=>{if(s.current==null)throw new Error("WebView not ready or handshake incomplete");return s.current},B=(t,g,n,o)=>c(this,null,function*(){a(t),y.current=g,R.current=n,M.current=o}),x=X(()=>({needsAuth:A,sendEmailWithOtp:y.current,verifyOtp:R.current,reject:M.current}),[A]);return me(de,{onAuthRequired:B,_getEmailSignerIframe:I,children:[D(F.Provider,{value:x,children:e}),D(se,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:D(ie,{ref:b,source:{uri:W},injectedGlobals:O,onLoadStart:t=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",t.nativeEvent.url)},onLoadEnd:m,onLoadProgress:({nativeEvent:t})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",t.progress)},onMessage:_,onError:t=>{console.error("[CrossmintWalletProvider] WebView error:",t.nativeEvent)},onHttpError:t=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",t.nativeEvent)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[Q]})})]})}import{useContext as he}from"react";function Le(){let e=he(F);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}}import{Platform as we}from"react-native";import z from"expo-constants";import{jsx as Ee}from"react/jsx-runtime";var Z={google:null,twitter:null},Ae={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},T=pe(Ae);function nt({children:e,onLoginSuccess:d,refreshRoute:v,logoutRoute:w,customStorageProvider:f,appSchema:W}){let{crossmint:b}=N("CrossmintAuthProvider must be used within CrossmintProvider"),[s,A]=U(void 0),[a,y]=U(void 0),[R,M]=U(Z),O=fe(null),m=Y(()=>f!=null?f:new H,[f]),[_,I]=U(!1),[B,x]=U(!1),t=Array.isArray(W)?W[0]:W,n=z.executionEnvironment==="storeClient"||z.appOwnership==="expo"||!!z.expoVersion?"exp://127.0.0.1:8081":t,o=Y(()=>{if(!O.current){let r={callbacks:{onLogout:()=>{A(void 0),y(void 0)},onTokenRefresh:i=>{A(i.user),y(i.jwt)}},refreshRoute:v,logoutRoute:w,storageProvider:m};O.current=ge.from(b,r)}return O.current},[m]),h=$(()=>{d==null||d()},[d]);L(()=>{a==null?m==null||m.get(ve).then(r=>{r!=null&&y(r)}).finally(()=>{I(!0)}):I(!0)},[a,m]),L(()=>{a!=null&&h()},[a,h]);let E=()=>{o.logout()},l=$(()=>c(this,null,function*(){try{let i=Object.keys(Z).map(C=>c(this,null,function*(){let V=yield o==null?void 0:o.getOAuthUrl(C,{appSchema:n});return{[C]:V}})),u=Object.assign({},...yield Promise.all(i));M(u)}catch(r){console.error(r)}}),[o]);L(()=>{s==null&&l()},[l,s]);let K=()=>_?B?"in-progress":a!=null?"logged-in":"logged-out":"initializing",ee=()=>c(this,null,function*(){if(a==null){console.log("User not logged in");return}let r=yield o.getUser();return A(r),r}),te=r=>c(this,null,function*(){var i;try{x(!0);let u=(i=R[r])!=null?i:yield o.getOAuthUrl(r,{appSchema:n});yield p.warmUpAsync();let C=new URL(u);if(r==="google"&&C.searchParams.append("provider_prompt","select_account"),we.OS==="android")yield p.openBrowserAsync(C.toString());else{let V=yield p.openAuthSessionAsync(C.toString());V.type==="success"&&(yield G(V.url))}yield p.coolDownAsync()}catch(u){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",u),new Error(`Error during OAuth login: ${u}`)}}),G=$(r=>c(this,null,function*(){let i=r.includes("://")?ye(r):r;if(i!=null)try{return x(!0),yield o.handleRefreshAuthMaterial(i)}catch(u){throw u}finally{x(!1)}return null}),[o]);return Ee(T.Provider,{value:{crossmintAuth:o,logout:E,jwt:a,user:s,status:K(),getUser:ee,loginWithOAuth:te,createAuthSession:G},children:e})}var ye=e=>{let d=/[?&]oneTimeSecret=([^&#]+)/,v=e.match(d);return v?decodeURIComponent(v[1]):void 0};export{T as a,nt as b,We as c,be as d,F as e,je as f,Le as g,N as h,Je as i};
|
package/dist/chunk-XWQOPCUS.cjs
DELETED
|
@@ -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 _chunkK754GXKDcjs = require('./chunk-K754GXKD.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var p = _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 Pe(){let e=_react.useContext.call(void 0, j);if(!e)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return e}function We(){let e=_react.useContext.call(void 0, j);if(!e)throw new Error("useAuth must be used within a CrossmintAuthProvider");return e}var _reactnative = require('react-native');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _commonsdkbase = require('@crossmint/common-sdk-base');var _jsxruntime = require('react/jsx-runtime');var X="https://signers.crossmint.com",P=e=>()=>{throw new Error(`${e} is not available. Make sure you're using an email signer wallet.`)},D= exports.e =_react.createContext.call(void 0, {needsAuth:!1,sendEmailWithOtp:P("sendEmailWithOtp"),verifyOtp:P("verifyOtp"),reject:P("reject")});function ke({children:e}){let{crossmint:d}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:v,appId:w}=d,f=_commonsdkbase.validateAPIKey.call(void 0, v);if(!f.isValid)throw new Error("Invalid API key");let W=`${X}/?environment=${f.environment}`,b=_react.useRef.call(void 0, null),s=_react.useRef.call(void 0, null),[A,a]=_react.useState.call(void 0, !1),y=_react.useRef.call(void 0, P("sendEmailWithOtp")),R=_react.useRef.call(void 0, P("verifyOtp")),M=_react.useRef.call(void 0, P("reject")),O=_react.useMemo.call(void 0, ()=>w!=null?`window.crossmintAppId = '${w}';`:"",[w]);_react.useEffect.call(void 0, ()=>{b.current!=null&&s.current==null&&(s.current=new (0, _clientsdkrnwindow.WebViewParent)(b,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[]);let m=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let t=s.current;if(t!=null)try{yield t.handshakeWithChild()}catch(g){console.error("[CrossmintWalletProvider] Handshake error:",g)}}),[]),N=_react.useCallback.call(void 0, t=>{console.log("[CrossmintWalletProvider] Received message:",t.nativeEvent.data);let g=s.current;if(g!=null){try{let n=JSON.parse(t.nativeEvent.data);if(n&&typeof n.type=="string"&&n.type.startsWith("console.")){let o=n.type.split(".")[1],h=(n.data||[]).map(l=>{try{return l==="[Function]"||l==="[Circular Reference]"||l==="[Unserializable Object]"?l:JSON.parse(l)}catch(z){return l}}),E=`[WebView:${o.toUpperCase()}]`;switch(o){case"log":console.log(E,...h);break;case"error":console.error(E,...h);break;case"warn":console.warn(E,...h);break;case"info":console.info(E,...h);break;default:console.log(`[WebView Unknown:${o}]`,...h)}return}}catch(n){}g.handleMessage(t)}},[]),I=()=>{if(s.current==null)throw new Error("WebView not ready or handshake incomplete");return s.current},_=(t,g,n,o)=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){a(t),y.current=g,R.current=n,M.current=o}),x=_react.useMemo.call(void 0, ()=>({needsAuth:A,sendEmailWithOtp:y.current,verifyOtp:R.current,reject:M.current}),[A]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{onAuthRequired:_,_getEmailSignerIframe:I,children:[_jsxruntime.jsx.call(void 0, D.Provider,{value:x,children:e}),_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:b,source:{uri:W},injectedGlobals:O,onLoadStart:t=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",t.nativeEvent.url)},onLoadEnd:m,onLoadProgress:({nativeEvent:t})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",t.progress)},onMessage:N,onError:t=>{console.error("[CrossmintWalletProvider] WebView error:",t.nativeEvent)},onHttpError:t=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",t.nativeEvent)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[X]})})]})}function Fe(){let e=_react.useContext.call(void 0, D);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}}var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var Y={google:null,twitter:null},we={crossmintAuth:void 0,logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},j= exports.a =_react.createContext.call(void 0, we);function ot({children:e,onLoginSuccess:d,refreshRoute:v,logoutRoute:w,customStorageProvider:f,appSchema:W}){let{crossmint:b}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[s,A]=_react.useState.call(void 0, void 0),[a,y]=_react.useState.call(void 0, void 0),[R,M]=_react.useState.call(void 0, Y),O=_react.useRef.call(void 0, null),m=_react.useMemo.call(void 0, ()=>f!=null?f:new _chunkK754GXKDcjs.a,[f]),[N,I]=_react.useState.call(void 0, !1),[_,x]=_react.useState.call(void 0, !1),t=Array.isArray(W)?W[0]:W,n=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":t,o=_react.useMemo.call(void 0, ()=>{if(!O.current){let r={callbacks:{onLogout:()=>{A(void 0),y(void 0)},onTokenRefresh:i=>{A(i.user),y(i.jwt)}},refreshRoute:v,logoutRoute:w,storageProvider:m};O.current=_clientsdkauth.CrossmintAuth.from(b,r)}return O.current},[m]),h=_react.useCallback.call(void 0, ()=>{d==null||d()},[d]);_react.useEffect.call(void 0, ()=>{a==null?m==null||m.get(_commonsdkauth.SESSION_PREFIX).then(r=>{r!=null&&y(r)}).finally(()=>{I(!0)}):I(!0)},[a,m]),_react.useEffect.call(void 0, ()=>{a!=null&&h()},[a,h]);let E=()=>{o.logout()},l=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){try{let i=Object.keys(Y).map(C=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let V=yield o==null?void 0:o.getOAuthUrl(C,{appSchema:n});return{[C]:V}})),u=Object.assign({},...yield Promise.all(i));M(u)}catch(r){console.error(r)}}),[o]);_react.useEffect.call(void 0, ()=>{s==null&&l()},[l,s]);let z=()=>N?_?"in-progress":a!=null?"logged-in":"logged-out":"initializing",Z=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(a==null){console.log("User not logged in");return}let r=yield o.getUser();return A(r),r}),ee=r=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var i;try{x(!0);let u=(i=R[r])!=null?i:yield o.getOAuthUrl(r,{appSchema:n});yield p.warmUpAsync();let C=new URL(u);if(r==="google"&&C.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield p.openBrowserAsync(C.toString());else{let V=yield p.openAuthSessionAsync(C.toString());V.type==="success"&&(yield K(V.url))}yield p.coolDownAsync()}catch(u){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",u),new Error(`Error during OAuth login: ${u}`)}}),K=_react.useCallback.call(void 0, r=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let i=r.includes("://")?Ae(r):r;if(i!=null)try{return x(!0),yield o.handleRefreshAuthMaterial(i)}catch(u){throw u}finally{x(!1)}return null}),[o]);return _jsxruntime.jsx.call(void 0, j.Provider,{value:{crossmintAuth:o,logout:E,jwt:a,user:s,status:z(),getUser:Z,loginWithOAuth:ee,createAuthSession:K},children:e})}var Ae=e=>{let d=/[?&]oneTimeSecret=([^&#]+)/,v=e.match(d);return v?decodeURIComponent(v[1]):void 0};exports.a = j; exports.b = ot; exports.c = Pe; exports.d = We; exports.e = D; exports.f = ke; exports.g = Fe; exports.h = _clientsdkreactbase.useCrossmint; exports.i = _clientsdkreactbase.useWallet;
|