@crossmint/client-sdk-react-native-ui 0.9.7 → 0.9.9
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-QLQBD4PV.js → chunk-3MXRZUWB.js} +1 -1
- package/dist/{chunk-A545ZEC5.js → chunk-5D2ODNMI.js} +1 -1
- package/dist/chunk-EFKMIJME.cjs +1 -0
- package/dist/{chunk-FKHSVA7G.cjs → chunk-LSN35NPE.cjs} +1 -1
- package/dist/{chunk-P4ANGONO.cjs → chunk-PELFTZSI.cjs} +1 -1
- package/dist/{chunk-JHXBXANL.cjs → chunk-TJRVKZKB.cjs} +1 -1
- package/dist/{chunk-WTYWULRJ.cjs → chunk-TZTLU3KK.cjs} +1 -1
- package/dist/chunk-WJHEKLGY.js +1 -0
- package/dist/{chunk-VXKR3GHC.js → chunk-Z3OPDAHS.js} +1 -1
- package/dist/{chunk-XORWQW7H.js → chunk-Z5BMENLL.js} +1 -1
- package/dist/components/embed/index.cjs +1 -1
- package/dist/components/embed/index.js +1 -1
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +1 -1
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -1
- package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.cjs +1 -1
- package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.js +1 -1
- package/dist/components/embed/v3/index.cjs +1 -1
- package/dist/components/embed/v3/index.js +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.js +1 -1
- 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/dist/utils/createCrossmintApiClient.cjs +1 -1
- package/dist/utils/createCrossmintApiClient.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-S7IDVTO6.js +0 -1
- package/dist/chunk-YHSHAWUY.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as y}from"./chunk-Z2IVCF7R.js";import{a as f}from"./chunk-
|
|
1
|
+
import{a as y}from"./chunk-Z2IVCF7R.js";import{a as f}from"./chunk-Z3OPDAHS.js";import{c as h}from"./chunk-ACAYDFCT.js";import{a as p}from"./chunk-3MAEL2N6.js";import{a as d,b as m}from"./chunk-PXDN3KFO.js";import{useCrossmint as S}from"@crossmint/client-sdk-react-base";import{useEffect as b,useRef as l,useState as g}from"react";import{View as W}from"react-native";import{crossmintEmbeddedCheckoutV3Service as I}from"@crossmint/client-sdk-base";import{RNWebView as A,WebViewParent as M}from"@crossmint/client-sdk-rn-window";import{embeddedCheckoutV3IncomingEvents as O,embeddedCheckoutV3OutgoingEvents as R}from"@crossmint/client-sdk-base";import{jsx as c,jsxs as L}from"react/jsx-runtime";function Y(t){var u;let[e,w]=g(null),[C,v]=g(0),E=l((u=t.payment.crypto.payer)==null?void 0:u.initialChain),n=l(t);if(U(t,n.current)){let r=d({},t),o=F(t,E.current);o.shouldPreserve&&(r.payment.crypto.payer=o.updatedPayer),n.current=r}let{crossmint:i}=S(),V=f(i,{usageOrigin:"client"}),P=I({apiClient:V}),s=l(null);b(()=>{let r=s.current;if(!r||e)return;let o=new M({current:r},{incomingEvents:O,outgoingEvents:R});w(o)},[s.current,e]),b(()=>{if(e==null)return;let r=a=>v(a.height);e.on("ui:height.changed",r);let o=a=>{p.emit("order:updated",a)};return e.on("order:updated",o),()=>{e.off("ui:height.changed"),e.off("order:updated")}},[e]);let k=r=>{e&&e.handleMessage(r)};return L(W,{style:{flex:1},children:[c(A,{ref:s,globals:i.appId?{crossmintAppId:i.appId}:void 0,source:{uri:P.iframe.getUrl(n.current)},onMessage:k,style:{width:"100%",minWidth:"100%",height:C,backgroundColor:"transparent",overflow:"hidden",opacity:1,padding:0,boxShadow:"none",borderWidth:0,transform:[{translateX:0}]},allowsInlineMediaPlayback:!0,mediaPlaybackRequiresUserAction:!1,allowsBackForwardNavigationGestures:!1,allowsLinkPreview:!1,scrollEnabled:!1,bounces:!1,showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,domStorageEnabled:!0,mixedContentMode:"always",allowFileAccess:!0,allowUniversalAccessFromFileURLs:!0,geolocationEnabled:!0,userAgent:h}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?c(y,{payer:n.current.payment.crypto.payer,webViewClient:e}):c(H,{message:"If 'payment.crypto.enabled' is true, 'payment.crypto.payer' must be provided. Support for not providing a payer is not yet implemented."}):null]})}function U(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function F(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:m(d({},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}export{Y as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
1
|
+
import{a as o}from"./chunk-3MXRZUWB.js";import{a as e}from"./chunk-PXDN3KFO.js";import{jsx as t}from"react/jsx-runtime";function i(d){return t(o,e({},d))}export{i as a};
|
|
@@ -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 m = _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, I);if(!e)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return e}function We(){let e=_react.useContext.call(void 0, I);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.`)},K= exports.e =_react.createContext.call(void 0, {needsAuth:!1,sendEmailWithOtp:P("sendEmailWithOtp"),verifyOtp:P("verifyOtp"),reject:P("reject")});function Ie({children:e,createOnLogin:c,callbacks:v}){let{crossmint:S}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:w,appId:p}=S,W=_commonsdkbase.validateAPIKey.call(void 0, w);if(!W.isValid)throw new Error("Invalid API key");let b=_clientsigners.environmentUrlConfig[W.environment],f=_react.useRef.call(void 0, null),n=_react.useRef.call(void 0, null),[A,T]=_react.useState.call(void 0, !1),R=_react.useRef.call(void 0, P("sendEmailWithOtp")),y=_react.useRef.call(void 0, P("verifyOtp")),a=_react.useRef.call(void 0, P("reject")),N=_react.useMemo.call(void 0, ()=>p!=null?{crossmintAppId:p}:{},[p]);_react.useEffect.call(void 0, ()=>{f.current!=null&&n.current==null&&(n.current=new (0, _clientsdkrnwindow.WebViewParent)(f,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[]);let M=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let o=n.current;if(o!=null)try{yield o.handshakeWithChild()}catch(r){console.error("[CrossmintWalletProvider] Handshake error:",r)}}),[]),B=_react.useCallback.call(void 0, o=>{let r=n.current;if(r!=null){try{let i=JSON.parse(o.nativeEvent.data);if(i&&typeof i.type=="string"&&i.type.startsWith("console.")){let g=i.type.split(".")[1],d=(i.data||[]).map(h=>{try{return h==="[Function]"||h==="[Circular Reference]"||h==="[Unserializable Object]"?h:JSON.parse(h)}catch(_){return h}}),C=`[WebView:${g.toUpperCase()}]`;switch(g){case"log":console.log(C,...d);break;case"error":console.error(C,...d);break;case"warn":console.warn(C,...d);break;case"info":console.info(C,...d);break;default:console.log(`[WebView Unknown:${g}]`,...d)}return}}catch(i){}r.handleMessage(o)}},[]),O=()=>{if(n.current==null)throw new Error("WebView not ready or handshake incomplete");return n.current},z=(o,r,i,g)=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){T(o),R.current=r,y.current=i,a.current=g}),J=_react.useMemo.call(void 0, ()=>({needsAuth:A,sendEmailWithOtp:R.current,verifyOtp:y.current,reject:a.current}),[A]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:c,onAuthRequired:z,clientTEEConnection:O,callbacks:v,children:[_jsxruntime.jsx.call(void 0, K.Provider,{value:J,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:f,source:{uri:b},globals:N,onLoadEnd:M,onMessage:B,onError:o=>{console.error("[CrossmintWalletProvider] WebView error:",o.nativeEvent)},onHttpError:o=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",o.nativeEvent)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[W.environment]]})})]})}function Ke(){let e=_react.useContext.call(void 0, 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}}var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var ee={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)},I= exports.a =_react.createContext.call(void 0, we);function ot({children:e,onLoginSuccess:c,refreshRoute:v,logoutRoute:S,customStorageProvider:w,appSchema:p}){let{crossmint:W}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[b,f]=_react.useState.call(void 0, void 0),[n,A]=_react.useState.call(void 0, void 0),[T,R]=_react.useState.call(void 0, ee),y=_react.useRef.call(void 0, null),a=_react.useMemo.call(void 0, ()=>w!=null?w:new _chunkK754GXKDcjs.a,[w]),[N,M]=_react.useState.call(void 0, !1),[B,O]=_react.useState.call(void 0, !1),z=Array.isArray(p)?p[0]:p,o=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":z,r=_react.useMemo.call(void 0, ()=>{if(!y.current){let t={callbacks:{onLogout:()=>{f(void 0),A(void 0)},onTokenRefresh:s=>{f(s.user),A(s.jwt)}},refreshRoute:v,logoutRoute:S,storageProvider:a};y.current=_clientsdkauth.CrossmintAuth.from(W,t)}return y.current},[a]),i=_react.useCallback.call(void 0, ()=>{c==null||c()},[c]);_react.useEffect.call(void 0, ()=>{n==null?a==null||a.get(_commonsdkauth.SESSION_PREFIX).then(t=>{t!=null&&A(t)}).finally(()=>{M(!0)}):M(!0)},[n,a]),_react.useEffect.call(void 0, ()=>{n!=null&&i()},[n,i]);let g=()=>{r.logout()},d=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){try{let s=Object.keys(ee).map(E=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let k=yield r==null?void 0:r.getOAuthUrl(E,{appSchema:o});return{[E]:k}})),l=Object.assign({},...yield Promise.all(s));R(l)}catch(t){console.error(t)}}),[r]);_react.useEffect.call(void 0, ()=>{b==null&&d()},[d,b]);let C=()=>N?B?"in-progress":n!=null?"logged-in":"logged-out":"initializing",h=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(n==null){console.log("User not logged in");return}let t=yield r.getUser();return f(t),t}),_=t=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var s;try{O(!0);let l=(s=T[t])!=null?s:yield r.getOAuthUrl(t,{appSchema:o});yield m.warmUpAsync();let E=new URL(l);if(t==="google"&&E.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield m.openBrowserAsync(E.toString());else{let k=yield m.openAuthSessionAsync(E.toString());k.type==="success"&&(yield $(k.url))}yield m.coolDownAsync()}catch(l){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",l),new Error(`Error during OAuth login: ${l}`)}}),$=_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 O(!0),yield r.handleRefreshAuthMaterial(s)}catch(l){throw l}finally{O(!1)}return null}),[r]);return _jsxruntime.jsx.call(void 0, I.Provider,{value:{crossmintAuth:r,logout:g,jwt:n,user:b,status:C(),getUser:h,loginWithOAuth:_,createAuthSession:$},children:e})}var Ae=e=>{let c=/[?&]oneTimeSecret=([^&#]+)/,v=e.match(c);return v?decodeURIComponent(v[1]):void 0};exports.a = I; exports.b = ot; exports.c = Pe; exports.d = We; exports.e = K; exports.f = Ie; exports.g = Ke; exports.h = _clientsdkreactbase.useCrossmint; exports.i = _clientsdkreactbase.useWallet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _commonsdkbase = require('@crossmint/common-sdk-base');var e={name:"@crossmint/client-sdk-react-native-ui",version:"0.9.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _commonsdkbase = require('@crossmint/common-sdk-base');var e={name:"@crossmint/client-sdk-react-native-ui",version:"0.9.9",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch"},dependencies:{"@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-rn-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@solana/web3.js":"1.98.1",bs58:"^5.0.0","expo-constants":"~17.0.8","expo-device":"~7.1.4","expo-secure-store":"~14.0.0","expo-web-browser":"~14.0.2",mitt:"3.0.1","react-native-webview":"13.12.5",zod:"3.22.4"},devDependencies:{"@types/react":"19.0.12"},peerDependencies:{react:">=17.0.2","react-native":">=0.74.3"}};function p(s,t){return new (0, _commonsdkbase.CrossmintApiClient)(s,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:e.version},apiKeyExpectations:t}})}exports.a = p;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTJRVKZKBcjs = require('./chunk-TJRVKZKB.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkTJRVKZKBcjs.a,_chunk2WSEHVNPcjs.a.call(void 0, {},d))}exports.a = s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWUK4Q4HGcjs = require('./chunk-WUK4Q4HG.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWUK4Q4HGcjs = require('./chunk-WUK4Q4HG.cjs');var _chunkLSN35NPEcjs = require('./chunk-LSN35NPE.cjs');var _chunkEML72AUFcjs = require('./chunk-EML72AUF.cjs');var _chunkATELCOA4cjs = require('./chunk-ATELCOA4.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _react = require('react');var _reactnative = require('react-native');var _clientsdkbase = require('@crossmint/client-sdk-base');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _jsxruntime = require('react/jsx-runtime');function Q(t){var u;let[e,w]=_react.useState.call(void 0, null),[C,v]=_react.useState.call(void 0, 0),E=_react.useRef.call(void 0, (u=t.payment.crypto.payer)==null?void 0:u.initialChain),n=_react.useRef.call(void 0, t);if(U(t,n.current)){let r=_chunk2WSEHVNPcjs.a.call(void 0, {},t),o=F(t,E.current);o.shouldPreserve&&(r.payment.crypto.payer=o.updatedPayer),n.current=r}let{crossmint:i}=_clientsdkreactbase.useCrossmint.call(void 0, ),V=_chunkLSN35NPEcjs.a.call(void 0, i,{usageOrigin:"client"}),P=_clientsdkbase.crossmintEmbeddedCheckoutV3Service.call(void 0, {apiClient:V}),s=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{let r=s.current;if(!r||e)return;let o=new (0, _clientsdkrnwindow.WebViewParent)({current:r},{incomingEvents:_clientsdkbase.embeddedCheckoutV3IncomingEvents,outgoingEvents:_clientsdkbase.embeddedCheckoutV3OutgoingEvents});w(o)},[s.current,e]),_react.useEffect.call(void 0, ()=>{if(e==null)return;let r=a=>v(a.height);e.on("ui:height.changed",r);let o=a=>{_chunkATELCOA4cjs.a.emit("order:updated",a)};return e.on("order:updated",o),()=>{e.off("ui:height.changed"),e.off("order:updated")}},[e]);let k=r=>{e&&e.handleMessage(r)};return _jsxruntime.jsxs.call(void 0, _reactnative.View,{style:{flex:1},children:[_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:s,globals:i.appId?{crossmintAppId:i.appId}:void 0,source:{uri:P.iframe.getUrl(n.current)},onMessage:k,style:{width:"100%",minWidth:"100%",height:C,backgroundColor:"transparent",overflow:"hidden",opacity:1,padding:0,boxShadow:"none",borderWidth:0,transform:[{translateX:0}]},allowsInlineMediaPlayback:!0,mediaPlaybackRequiresUserAction:!1,allowsBackForwardNavigationGestures:!1,allowsLinkPreview:!1,scrollEnabled:!1,bounces:!1,showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,domStorageEnabled:!0,mixedContentMode:"always",allowFileAccess:!0,allowUniversalAccessFromFileURLs:!0,geolocationEnabled:!0,userAgent:_chunkEML72AUFcjs.c}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?_jsxruntime.jsx.call(void 0, _chunkWUK4Q4HGcjs.a,{payer:n.current.payment.crypto.payer,webViewClient:e}):_jsxruntime.jsx.call(void 0, H,{message:"If 'payment.crypto.enabled' is true, 'payment.crypto.payer' must be provided. Support for not providing a payer is not yet implemented."}):null]})}function U(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function F(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}exports.a = Q;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEFKMIJMEcjs = require('./chunk-EFKMIJME.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}=_chunkEFKMIJMEcjs.h.call(void 0, ),{user:t,jwt:e}=_chunkEFKMIJMEcjs.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, _chunkEFKMIJMEcjs.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
|
+
import{a as q}from"./chunk-GDMV4TA2.js";import{d as u}from"./chunk-PXDN3KFO.js";import{createContext as pe,useEffect as D,useMemo as ee,useRef as fe,useState as U,useCallback as H}from"react";import*as m 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 T,useWallet as Ge}from"@crossmint/client-sdk-react-base";import{useContext as X}from"react";function We(){let e=X(j);if(!e)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return e}function be(){let e=X(j);if(!e)throw new Error("useAuth must be used within a CrossmintAuthProvider");return e}import{useCallback as Q,useEffect as re,useRef as x,useMemo as Y,createContext as ne,useState 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 Z,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 K,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.`)},L=ne({needsAuth:!1,sendEmailWithOtp:P("sendEmailWithOtp"),verifyOtp:P("verifyOtp"),reject:P("reject")});function je({children:e,createOnLogin:c,callbacks:v}){let{crossmint:S}=T("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:w,appId:p}=S,W=ce(w);if(!W.isValid)throw new Error("Invalid API key");let b=Z[W.environment],f=x(null),n=x(null),[A,N]=oe(!1),R=x(P("sendEmailWithOtp")),y=x(P("verifyOtp")),a=x(P("reject")),B=Y(()=>p!=null?{crossmintAppId:p}:{},[p]);re(()=>{f.current!=null&&n.current==null&&(n.current=new ae(f,{incomingEvents:ue,outgoingEvents:le}))},[]);let M=Q(()=>u(this,null,function*(){let o=n.current;if(o!=null)try{yield o.handshakeWithChild()}catch(r){console.error("[CrossmintWalletProvider] Handshake error:",r)}}),[]),z=Q(o=>{let r=n.current;if(r!=null){try{let i=JSON.parse(o.nativeEvent.data);if(i&&typeof i.type=="string"&&i.type.startsWith("console.")){let g=i.type.split(".")[1],d=(i.data||[]).map(h=>{try{return h==="[Function]"||h==="[Circular Reference]"||h==="[Unserializable Object]"?h:JSON.parse(h)}catch($){return h}}),C=`[WebView:${g.toUpperCase()}]`;switch(g){case"log":console.log(C,...d);break;case"error":console.error(C,...d);break;case"warn":console.warn(C,...d);break;case"info":console.info(C,...d);break;default:console.log(`[WebView Unknown:${g}]`,...d)}return}}catch(i){}r.handleMessage(o)}},[]),O=()=>{if(n.current==null)throw new Error("WebView not ready or handshake incomplete");return n.current},F=(o,r,i,g)=>u(this,null,function*(){N(o),R.current=r,y.current=i,a.current=g}),_=Y(()=>({needsAuth:A,sendEmailWithOtp:R.current,verifyOtp:y.current,reject:a.current}),[A]);return he(de,{createOnLogin:c,onAuthRequired:F,clientTEEConnection:O,callbacks:v,children:[K(L.Provider,{value:_,children:e}),K(ie,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:K(se,{ref:f,source:{uri:b},globals:B,onLoadEnd:M,onMessage:z,onError:o=>{console.error("[CrossmintWalletProvider] WebView error:",o.nativeEvent)},onHttpError:o=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",o.nativeEvent)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[Z[W.environment]]})})]})}import{useContext as me}from"react";function Le(){let e=me(L);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 J from"expo-constants";import{jsx as Ce}from"react/jsx-runtime";var te={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)},j=pe(Ae);function it({children:e,onLoginSuccess:c,refreshRoute:v,logoutRoute:S,customStorageProvider:w,appSchema:p}){let{crossmint:W}=T("CrossmintAuthProvider must be used within CrossmintProvider"),[b,f]=U(void 0),[n,A]=U(void 0),[N,R]=U(te),y=fe(null),a=ee(()=>w!=null?w:new q,[w]),[B,M]=U(!1),[z,O]=U(!1),F=Array.isArray(p)?p[0]:p,o=J.executionEnvironment==="storeClient"||J.appOwnership==="expo"||!!J.expoVersion?"exp://127.0.0.1:8081":F,r=ee(()=>{if(!y.current){let t={callbacks:{onLogout:()=>{f(void 0),A(void 0)},onTokenRefresh:s=>{f(s.user),A(s.jwt)}},refreshRoute:v,logoutRoute:S,storageProvider:a};y.current=ge.from(W,t)}return y.current},[a]),i=H(()=>{c==null||c()},[c]);D(()=>{n==null?a==null||a.get(ve).then(t=>{t!=null&&A(t)}).finally(()=>{M(!0)}):M(!0)},[n,a]),D(()=>{n!=null&&i()},[n,i]);let g=()=>{r.logout()},d=H(()=>u(this,null,function*(){try{let s=Object.keys(te).map(E=>u(this,null,function*(){let k=yield r==null?void 0:r.getOAuthUrl(E,{appSchema:o});return{[E]:k}})),l=Object.assign({},...yield Promise.all(s));R(l)}catch(t){console.error(t)}}),[r]);D(()=>{b==null&&d()},[d,b]);let C=()=>B?z?"in-progress":n!=null?"logged-in":"logged-out":"initializing",h=()=>u(this,null,function*(){if(n==null){console.log("User not logged in");return}let t=yield r.getUser();return f(t),t}),$=t=>u(this,null,function*(){var s;try{O(!0);let l=(s=N[t])!=null?s:yield r.getOAuthUrl(t,{appSchema:o});yield m.warmUpAsync();let E=new URL(l);if(t==="google"&&E.searchParams.append("provider_prompt","select_account"),we.OS==="android")yield m.openBrowserAsync(E.toString());else{let k=yield m.openAuthSessionAsync(E.toString());k.type==="success"&&(yield G(k.url))}yield m.coolDownAsync()}catch(l){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",l),new Error(`Error during OAuth login: ${l}`)}}),G=H(t=>u(this,null,function*(){let s=t.includes("://")?ye(t):t;if(s!=null)try{return O(!0),yield r.handleRefreshAuthMaterial(s)}catch(l){throw l}finally{O(!1)}return null}),[r]);return Ce(j.Provider,{value:{crossmintAuth:r,logout:g,jwt:n,user:b,status:C(),getUser:h,loginWithOAuth:$,createAuthSession:G},children:e})}var ye=e=>{let c=/[?&]oneTimeSecret=([^&#]+)/,v=e.match(c);return v?decodeURIComponent(v[1]):void 0};export{j as a,it as b,We as c,be as d,L as e,je as f,Le as g,T as h,Ge as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CrossmintApiClient as n}from"@crossmint/common-sdk-base";var e={name:"@crossmint/client-sdk-react-native-ui",version:"0.9.
|
|
1
|
+
import{CrossmintApiClient as n}from"@crossmint/common-sdk-base";var e={name:"@crossmint/client-sdk-react-native-ui",version:"0.9.9",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch"},dependencies:{"@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-rn-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@solana/web3.js":"1.98.1",bs58:"^5.0.0","expo-constants":"~17.0.8","expo-device":"~7.1.4","expo-secure-store":"~14.0.0","expo-web-browser":"~14.0.2",mitt:"3.0.1","react-native-webview":"13.12.5",zod:"3.22.4"},devDependencies:{"@types/react":"19.0.12"},peerDependencies:{react:">=17.0.2","react-native":">=0.74.3"}};function d(s,t){return new n(s,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:e.version},apiKeyExpectations:t}})}export{d as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as m,d,h as l}from"./chunk-
|
|
1
|
+
import{b as m,d,h as l}from"./chunk-WJHEKLGY.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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-GMML4EMB.cjs');require('../../chunk-2VQLMU5A.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-GMML4EMB.cjs');require('../../chunk-2VQLMU5A.cjs');var _chunkPELFTZSIcjs = require('../../chunk-PELFTZSI.cjs');require('../../chunk-TJRVKZKB.cjs');require('../../chunk-WUK4Q4HG.cjs');require('../../chunk-LSN35NPE.cjs');require('../../chunk-EML72AUF.cjs');require('../../chunk-ATELCOA4.cjs');require('../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkPELFTZSIcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../chunk-DKQZSNOO.js";import"../../chunk-72MMCJ2E.js";import{a}from"../../chunk-
|
|
1
|
+
import"../../chunk-DKQZSNOO.js";import"../../chunk-72MMCJ2E.js";import{a}from"../../chunk-5D2ODNMI.js";import"../../chunk-3MXRZUWB.js";import"../../chunk-Z2IVCF7R.js";import"../../chunk-Z3OPDAHS.js";import"../../chunk-ACAYDFCT.js";import"../../chunk-3MAEL2N6.js";import"../../chunk-PXDN3KFO.js";export{a as CrossmintEmbeddedCheckout};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkPELFTZSIcjs = require('../../../chunk-PELFTZSI.cjs');require('../../../chunk-TJRVKZKB.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-LSN35NPE.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkPELFTZSIcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../../../chunk-
|
|
1
|
+
import{a}from"../../../chunk-5D2ODNMI.js";import"../../../chunk-3MXRZUWB.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-Z3OPDAHS.js";import"../../../chunk-ACAYDFCT.js";import"../../../chunk-3MAEL2N6.js";import"../../../chunk-PXDN3KFO.js";export{a as CrossmintEmbeddedCheckout};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTJRVKZKBcjs = require('../../../chunk-TJRVKZKB.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-LSN35NPE.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.EmbeddedCheckoutV3WebView = _chunkTJRVKZKBcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../../../chunk-
|
|
1
|
+
import{a}from"../../../chunk-3MXRZUWB.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-Z3OPDAHS.js";import"../../../chunk-ACAYDFCT.js";import"../../../chunk-3MAEL2N6.js";import"../../../chunk-PXDN3KFO.js";export{a as EmbeddedCheckoutV3WebView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-2VQLMU5A.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-2VQLMU5A.cjs');var _chunkPELFTZSIcjs = require('../../../chunk-PELFTZSI.cjs');require('../../../chunk-TJRVKZKB.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-LSN35NPE.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkPELFTZSIcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../../chunk-72MMCJ2E.js";import{a}from"../../../chunk-
|
|
1
|
+
import"../../../chunk-72MMCJ2E.js";import{a}from"../../../chunk-5D2ODNMI.js";import"../../../chunk-3MXRZUWB.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-Z3OPDAHS.js";import"../../../chunk-ACAYDFCT.js";import"../../../chunk-3MAEL2N6.js";import"../../../chunk-PXDN3KFO.js";export{a as CrossmintEmbeddedCheckout};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XHW5MUJ6.cjs');require('../chunk-GMML4EMB.cjs');require('../chunk-2VQLMU5A.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-XHW5MUJ6.cjs');require('../chunk-GMML4EMB.cjs');require('../chunk-2VQLMU5A.cjs');var _chunkPELFTZSIcjs = require('../chunk-PELFTZSI.cjs');require('../chunk-TJRVKZKB.cjs');require('../chunk-WUK4Q4HG.cjs');require('../chunk-LSN35NPE.cjs');require('../chunk-EML72AUF.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkPELFTZSIcjs.a;
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunk-4E5HWFBN.js";import"../chunk-DKQZSNOO.js";import"../chunk-72MMCJ2E.js";import{a}from"../chunk-
|
|
1
|
+
import"../chunk-4E5HWFBN.js";import"../chunk-DKQZSNOO.js";import"../chunk-72MMCJ2E.js";import{a}from"../chunk-5D2ODNMI.js";import"../chunk-3MXRZUWB.js";import"../chunk-Z2IVCF7R.js";import"../chunk-Z3OPDAHS.js";import"../chunk-ACAYDFCT.js";import"../chunk-3MAEL2N6.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintEmbeddedCheckout};
|
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 _chunkEFKMIJMEcjs = require('../chunk-EFKMIJME.cjs');require('../chunk-K754GXKD.cjs');var _chunkSUVFA3WHcjs = require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintCheckoutProvider = _chunkSUVFA3WHcjs.a; exports.useAuth = _chunkEFKMIJMEcjs.d; exports.useCrossmint = _chunkEFKMIJMEcjs.h; exports.useCrossmintAuth = _chunkEFKMIJMEcjs.c; exports.useCrossmintCheckout = _chunkSUVFA3WHcjs.b; exports.useWallet = _chunkEFKMIJMEcjs.i; exports.useWalletEmailSigner = _chunkEFKMIJMEcjs.g;
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b,g as c,h as f,i as g}from"../chunk-
|
|
1
|
+
import{c as a,d as b,g as c,h as f,i as g}from"../chunk-WJHEKLGY.js";import"../chunk-GDMV4TA2.js";import{a as d,b as e}from"../chunk-KUBIDYHN.js";import"../chunk-3MAEL2N6.js";import"../chunk-PXDN3KFO.js";export{d as CrossmintCheckoutProvider,b as useAuth,f as useCrossmint,a as useCrossmintAuth,e as useCrossmintCheckout,g 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 _chunkEFKMIJMEcjs = require('../chunk-EFKMIJME.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.useAuth = _chunkEFKMIJMEcjs.d; exports.useCrossmintAuth = _chunkEFKMIJMEcjs.c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b}from"../chunk-
|
|
1
|
+
import{c as a,d as b}from"../chunk-WJHEKLGY.js";import"../chunk-GDMV4TA2.js";import"../chunk-KUBIDYHN.js";import"../chunk-3MAEL2N6.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 _chunkEFKMIJMEcjs = require('../chunk-EFKMIJME.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.useWalletEmailSigner = _chunkEFKMIJMEcjs.g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as a}from"../chunk-
|
|
1
|
+
import{g as a}from"../chunk-WJHEKLGY.js";import"../chunk-GDMV4TA2.js";import"../chunk-KUBIDYHN.js";import"../chunk-3MAEL2N6.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 _chunkYBYUZ7SKcjs = require('./chunk-YBYUZ7SK.cjs');require('./chunk-XHW5MUJ6.cjs');require('./chunk-GMML4EMB.cjs');require('./chunk-2VQLMU5A.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-ZR6BLDCD.cjs');var _chunkYBYUZ7SKcjs = require('./chunk-YBYUZ7SK.cjs');require('./chunk-XHW5MUJ6.cjs');require('./chunk-GMML4EMB.cjs');require('./chunk-2VQLMU5A.cjs');var _chunkPELFTZSIcjs = require('./chunk-PELFTZSI.cjs');require('./chunk-TJRVKZKB.cjs');require('./chunk-WUK4Q4HG.cjs');require('./chunk-LSN35NPE.cjs');require('./chunk-EML72AUF.cjs');var _chunkTZTLU3KKcjs = require('./chunk-TZTLU3KK.cjs');var _chunkEFKMIJMEcjs = require('./chunk-EFKMIJME.cjs');require('./chunk-K754GXKD.cjs');var _chunkSUVFA3WHcjs = require('./chunk-SUVFA3WH.cjs');require('./chunk-ATELCOA4.cjs');require('./chunk-2WSEHVNP.cjs');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkTZTLU3KKcjs.a; exports.CrossmintCheckoutProvider = _chunkSUVFA3WHcjs.a; exports.CrossmintEmbeddedCheckout = _chunkPELFTZSIcjs.a; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkEFKMIJMEcjs.f; exports.EVMWallet = _walletssdk.EVMWallet; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.Wallet = _walletssdk.Wallet; exports.useAuth = _chunkEFKMIJMEcjs.d; exports.useCrossmint = _chunkEFKMIJMEcjs.h; exports.useCrossmintAuth = _chunkEFKMIJMEcjs.c; exports.useCrossmintCheckout = _chunkSUVFA3WHcjs.b; exports.useWallet = _chunkEFKMIJMEcjs.i; exports.useWalletEmailSigner = _chunkEFKMIJMEcjs.g;
|
package/dist/index.d.cts
CHANGED
|
@@ -8,7 +8,7 @@ export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.cjs
|
|
|
8
8
|
export { CrossmintEmbeddedCheckout } from './components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs';
|
|
9
9
|
export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
|
|
10
10
|
export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
|
|
11
|
-
export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, SolanaWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
|
|
11
|
+
export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
|
|
12
12
|
import './providers/CrossmintAuthProviderInternal.cjs';
|
|
13
13
|
import 'react/jsx-runtime';
|
|
14
14
|
import 'react';
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.js'
|
|
|
8
8
|
export { CrossmintEmbeddedCheckout } from './components/embed/v3/CrossmintEmbeddedCheckoutV3.js';
|
|
9
9
|
export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
|
|
10
10
|
export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
|
|
11
|
-
export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, SolanaWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
|
|
11
|
+
export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
|
|
12
12
|
import './providers/CrossmintAuthProviderInternal.js';
|
|
13
13
|
import 'react/jsx-runtime';
|
|
14
14
|
import 'react';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-C62HRWJA.js";import{a as
|
|
1
|
+
import"./chunk-C62HRWJA.js";import{a as i}from"./chunk-ZENPJSBN.js";import"./chunk-4E5HWFBN.js";import"./chunk-DKQZSNOO.js";import"./chunk-72MMCJ2E.js";import{a as l}from"./chunk-5D2ODNMI.js";import"./chunk-3MXRZUWB.js";import"./chunk-Z2IVCF7R.js";import"./chunk-Z3OPDAHS.js";import"./chunk-ACAYDFCT.js";import{a as m}from"./chunk-Z5BMENLL.js";import{c as t,d as e,f as r,g as o,h as p,i as s}from"./chunk-WJHEKLGY.js";import"./chunk-GDMV4TA2.js";import{a,b as n}from"./chunk-KUBIDYHN.js";import"./chunk-3MAEL2N6.js";import"./chunk-PXDN3KFO.js";import{EVMWallet as g,SolanaWallet as h,Wallet as u}from"@crossmint/wallets-sdk";export{m as CrossmintAuthProvider,a as CrossmintCheckoutProvider,l as CrossmintEmbeddedCheckout,i as CrossmintProvider,r as CrossmintWalletProvider,g as EVMWallet,h as SolanaWallet,u as Wallet,e as useAuth,p as useCrossmint,t as useCrossmintAuth,n as useCrossmintCheckout,s 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 _chunkTZTLU3KKcjs = require('../chunk-TZTLU3KK.cjs');require('../chunk-EFKMIJME.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkTZTLU3KKcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-Z5BMENLL.js";import"../chunk-WJHEKLGY.js";import"../chunk-GDMV4TA2.js";import"../chunk-KUBIDYHN.js";import"../chunk-3MAEL2N6.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 _chunkEFKMIJMEcjs = require('../chunk-EFKMIJME.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.AuthContext = _chunkEFKMIJMEcjs.a; exports.CrossmintAuthProviderInternal = _chunkEFKMIJMEcjs.b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-WJHEKLGY.js";import"../chunk-GDMV4TA2.js";import"../chunk-KUBIDYHN.js";import"../chunk-3MAEL2N6.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 _chunkEFKMIJMEcjs = require('../chunk-EFKMIJME.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintWalletEmailSignerContext = _chunkEFKMIJMEcjs.e; exports.CrossmintWalletProvider = _chunkEFKMIJMEcjs.f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as a,f as b}from"../chunk-
|
|
1
|
+
import{e as a,f as b}from"../chunk-WJHEKLGY.js";import"../chunk-GDMV4TA2.js";import"../chunk-KUBIDYHN.js";import"../chunk-3MAEL2N6.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 _chunkYBYUZ7SKcjs = require('../chunk-YBYUZ7SK.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var _chunkYBYUZ7SKcjs = require('../chunk-YBYUZ7SK.cjs');var _chunkTZTLU3KKcjs = require('../chunk-TZTLU3KK.cjs');var _chunkEFKMIJMEcjs = require('../chunk-EFKMIJME.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkTZTLU3KKcjs.a; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkEFKMIJMEcjs.f;
|
package/dist/providers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../chunk-C62HRWJA.js";import{a as b}from"../chunk-ZENPJSBN.js";import{a as c}from"../chunk-
|
|
1
|
+
import"../chunk-C62HRWJA.js";import{a as b}from"../chunk-ZENPJSBN.js";import{a as c}from"../chunk-Z5BMENLL.js";import{f as a}from"../chunk-WJHEKLGY.js";import"../chunk-GDMV4TA2.js";import"../chunk-KUBIDYHN.js";import"../chunk-3MAEL2N6.js";import"../chunk-PXDN3KFO.js";export{c as CrossmintAuthProvider,b as CrossmintProvider,a as CrossmintWalletProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLSN35NPEcjs = require('../chunk-LSN35NPE.cjs');require('../chunk-2WSEHVNP.cjs');exports.createCrossmintApiClient = _chunkLSN35NPEcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-Z3OPDAHS.js";import"../chunk-PXDN3KFO.js";export{a as createCrossmintApiClient};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/client-sdk-react-native-ui",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.9",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"zod": "3.22.4",
|
|
30
30
|
"@crossmint/client-sdk-auth": "1.2.27",
|
|
31
31
|
"@crossmint/client-sdk-base": "1.5.18",
|
|
32
|
-
"@crossmint/client-sdk-react-base": "0.5.
|
|
32
|
+
"@crossmint/client-sdk-react-base": "0.5.24",
|
|
33
33
|
"@crossmint/client-sdk-rn-window": "0.3.4",
|
|
34
34
|
"@crossmint/client-signers": "0.0.18",
|
|
35
35
|
"@crossmint/common-sdk-auth": "1.0.49",
|
|
36
36
|
"@crossmint/common-sdk-base": "0.9.3",
|
|
37
|
-
"@crossmint/wallets-sdk": "0.11.
|
|
37
|
+
"@crossmint/wallets-sdk": "0.11.6"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/react": "19.0.12"
|
package/dist/chunk-S7IDVTO6.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as G}from"./chunk-GDMV4TA2.js";import{d as l}from"./chunk-PXDN3KFO.js";import{createContext as me,useEffect as D,useMemo as Z,useRef as pe,useState as U,useCallback as H}from"react";import*as m from"expo-web-browser";import{CrossmintAuth as fe}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as ge}from"@crossmint/common-sdk-auth";import{useCrossmint as L,useWallet as $e}from"@crossmint/client-sdk-react-base";import{useContext as q}from"react";function Pe(){let e=q(T);if(!e)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return e}function We(){let e=q(T);if(!e)throw new Error("useAuth must be used within a CrossmintAuthProvider");return e}import{useCallback as X,useEffect as re,useRef as P,useMemo as Q,createContext as ne}from"react";import{View as oe}from"react-native";import{RNWebView as ie,WebViewParent as se}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as Y,signerInboundEvents as ae,signerOutboundEvents as le}from"@crossmint/client-signers";import{validateAPIKey as ue}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as ce}from"@crossmint/client-sdk-react-base";import{jsx as F,jsxs as de}from"react/jsx-runtime";var W=e=>()=>{throw new Error(`${e} is not available. Make sure you're using an email signer wallet.`)},K=ne({needsAuth:!1,sendEmailWithOtp:W("sendEmailWithOtp"),verifyOtp:W("verifyOtp"),reject:W("reject")});function Ie({children:e,createOnLogin:u,callbacks:w}){let{crossmint:S}=L("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:A,appId:p}=S,b=ue(A);if(!b.isValid)throw new Error("Invalid API key");let O=Y[b.environment],f=P(null),o=P(null),C=P(!1),R=P(W("sendEmailWithOtp")),M=P(W("verifyOtp")),y=P(W("reject")),c=Q(()=>p!=null?{crossmintAppId:p}:{},[p]);re(()=>{f.current!=null&&o.current==null&&(o.current=new se(f,{incomingEvents:le,outgoingEvents:ae}))},[]);let N=X(()=>l(this,null,function*(){let n=o.current;if(n!=null)try{yield n.handshakeWithChild()}catch(s){console.error("[CrossmintWalletProvider] Handshake error:",s)}}),[]),V=X(n=>{let s=o.current;if(s!=null){try{let t=JSON.parse(n.nativeEvent.data);if(t&&typeof t.type=="string"&&t.type.startsWith("console.")){let d=t.type.split(".")[1],g=(t.data||[]).map(h=>{try{return h==="[Function]"||h==="[Circular Reference]"||h==="[Unserializable Object]"?h:JSON.parse(h)}catch(_){return h}}),v=`[WebView:${d.toUpperCase()}]`;switch(d){case"log":console.log(v,...g);break;case"error":console.error(v,...g);break;case"warn":console.warn(v,...g);break;case"info":console.info(v,...g);break;default:console.log(`[WebView Unknown:${d}]`,...g)}return}}catch(t){}s.handleMessage(n)}},[]),B=()=>{if(o.current==null)throw new Error("WebView not ready or handshake incomplete");return o.current},x=(n,s,t,d)=>l(this,null,function*(){C.current=n,R.current=s,M.current=t,y.current=d}),z=Q(()=>({needsAuth:C.current,sendEmailWithOtp:R.current,verifyOtp:M.current,reject:y.current}),[]);return de(ce,{createOnLogin:u,onAuthRequired:x,clientTEEConnection:B,callbacks:w,children:[F(K.Provider,{value:z,children:e}),F(oe,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:F(ie,{ref:f,source:{uri:O},globals:c,onLoadStart:n=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",n.nativeEvent.url)},onLoadEnd:N,onLoadProgress:({nativeEvent:n})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",n.progress)},onMessage:V,onError:n=>{console.error("[CrossmintWalletProvider] WebView error:",n.nativeEvent)},onHttpError:n=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",n.nativeEvent)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[Y[b.environment]]})})]})}import{useContext as he}from"react";function Fe(){let e=he(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 ve}from"react-native";import J from"expo-constants";import{jsx as Ce}from"react/jsx-runtime";var ee={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)},T=me(we);function ot({children:e,onLoginSuccess:u,refreshRoute:w,logoutRoute:S,customStorageProvider:A,appSchema:p}){let{crossmint:b}=L("CrossmintAuthProvider must be used within CrossmintProvider"),[O,f]=U(void 0),[o,C]=U(void 0),[R,M]=U(ee),y=pe(null),c=Z(()=>A!=null?A:new G,[A]),[N,V]=U(!1),[B,x]=U(!1),z=Array.isArray(p)?p[0]:p,s=J.executionEnvironment==="storeClient"||J.appOwnership==="expo"||!!J.expoVersion?"exp://127.0.0.1:8081":z,t=Z(()=>{if(!y.current){let r={callbacks:{onLogout:()=>{f(void 0),C(void 0)},onTokenRefresh:i=>{f(i.user),C(i.jwt)}},refreshRoute:w,logoutRoute:S,storageProvider:c};y.current=fe.from(b,r)}return y.current},[c]),d=H(()=>{u==null||u()},[u]);D(()=>{o==null?c==null||c.get(ge).then(r=>{r!=null&&C(r)}).finally(()=>{V(!0)}):V(!0)},[o,c]),D(()=>{o!=null&&d()},[o,d]);let g=()=>{t.logout()},v=H(()=>l(this,null,function*(){try{let i=Object.keys(ee).map(E=>l(this,null,function*(){let k=yield t==null?void 0:t.getOAuthUrl(E,{appSchema:s});return{[E]:k}})),a=Object.assign({},...yield Promise.all(i));M(a)}catch(r){console.error(r)}}),[t]);D(()=>{O==null&&v()},[v,O]);let h=()=>N?B?"in-progress":o!=null?"logged-in":"logged-out":"initializing",_=()=>l(this,null,function*(){if(o==null){console.log("User not logged in");return}let r=yield t.getUser();return f(r),r}),te=r=>l(this,null,function*(){var i;try{x(!0);let a=(i=R[r])!=null?i:yield t.getOAuthUrl(r,{appSchema:s});yield m.warmUpAsync();let E=new URL(a);if(r==="google"&&E.searchParams.append("provider_prompt","select_account"),ve.OS==="android")yield m.openBrowserAsync(E.toString());else{let k=yield m.openAuthSessionAsync(E.toString());k.type==="success"&&(yield $(k.url))}yield m.coolDownAsync()}catch(a){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",a),new Error(`Error during OAuth login: ${a}`)}}),$=H(r=>l(this,null,function*(){let i=r.includes("://")?Ae(r):r;if(i!=null)try{return x(!0),yield t.handleRefreshAuthMaterial(i)}catch(a){throw a}finally{x(!1)}return null}),[t]);return Ce(T.Provider,{value:{crossmintAuth:t,logout:g,jwt:o,user:O,status:h(),getUser:_,loginWithOAuth:te,createAuthSession:$},children:e})}var Ae=e=>{let u=/[?&]oneTimeSecret=([^&#]+)/,w=e.match(u);return w?decodeURIComponent(w[1]):void 0};export{T as a,ot as b,Pe as c,We as d,K as e,Ie as f,Fe as g,L as h,$e as i};
|
package/dist/chunk-YHSHAWUY.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 m = _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 Ee(){let e=_react.useContext.call(void 0, j);if(!e)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return e}function Pe(){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 W=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:W("sendEmailWithOtp"),verifyOtp:W("verifyOtp"),reject:W("reject")});function ke({children:e,createOnLogin:u,callbacks:w}){let{crossmint:S}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:A,appId:p}=S,b=_commonsdkbase.validateAPIKey.call(void 0, A);if(!b.isValid)throw new Error("Invalid API key");let O=_clientsigners.environmentUrlConfig[b.environment],f=_react.useRef.call(void 0, null),o=_react.useRef.call(void 0, null),C=_react.useRef.call(void 0, !1),R=_react.useRef.call(void 0, W("sendEmailWithOtp")),M=_react.useRef.call(void 0, W("verifyOtp")),y=_react.useRef.call(void 0, W("reject")),c=_react.useMemo.call(void 0, ()=>p!=null?{crossmintAppId:p}:{},[p]);_react.useEffect.call(void 0, ()=>{f.current!=null&&o.current==null&&(o.current=new (0, _clientsdkrnwindow.WebViewParent)(f,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[]);let L=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let n=o.current;if(n!=null)try{yield n.handshakeWithChild()}catch(s){console.error("[CrossmintWalletProvider] Handshake error:",s)}}),[]),V=_react.useCallback.call(void 0, n=>{let s=o.current;if(s!=null){try{let t=JSON.parse(n.nativeEvent.data);if(t&&typeof t.type=="string"&&t.type.startsWith("console.")){let d=t.type.split(".")[1],g=(t.data||[]).map(h=>{try{return h==="[Function]"||h==="[Circular Reference]"||h==="[Unserializable Object]"?h:JSON.parse(h)}catch(J){return h}}),v=`[WebView:${d.toUpperCase()}]`;switch(d){case"log":console.log(v,...g);break;case"error":console.error(v,...g);break;case"warn":console.warn(v,...g);break;case"info":console.info(v,...g);break;default:console.log(`[WebView Unknown:${d}]`,...g)}return}}catch(t){}s.handleMessage(n)}},[]),N=()=>{if(o.current==null)throw new Error("WebView not ready or handshake incomplete");return o.current},x=(n,s,t,d)=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){C.current=n,R.current=s,M.current=t,y.current=d}),B=_react.useMemo.call(void 0, ()=>({needsAuth:C.current,sendEmailWithOtp:R.current,verifyOtp:M.current,reject:y.current}),[]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:u,onAuthRequired:x,clientTEEConnection:N,callbacks:w,children:[_jsxruntime.jsx.call(void 0, F.Provider,{value:B,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:f,source:{uri:O},globals:c,onLoadStart:n=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",n.nativeEvent.url)},onLoadEnd:L,onLoadProgress:({nativeEvent:n})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",n.progress)},onMessage:V,onError:n=>{console.error("[CrossmintWalletProvider] WebView error:",n.nativeEvent)},onHttpError:n=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",n.nativeEvent)},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[b.environment]]})})]})}function ze(){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 Z={google:null,twitter:null},ve={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, ve);function nt({children:e,onLoginSuccess:u,refreshRoute:w,logoutRoute:S,customStorageProvider:A,appSchema:p}){let{crossmint:b}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),[O,f]=_react.useState.call(void 0, void 0),[o,C]=_react.useState.call(void 0, void 0),[R,M]=_react.useState.call(void 0, Z),y=_react.useRef.call(void 0, null),c=_react.useMemo.call(void 0, ()=>A!=null?A:new _chunkK754GXKDcjs.a,[A]),[L,V]=_react.useState.call(void 0, !1),[N,x]=_react.useState.call(void 0, !1),B=Array.isArray(p)?p[0]:p,s=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":B,t=_react.useMemo.call(void 0, ()=>{if(!y.current){let r={callbacks:{onLogout:()=>{f(void 0),C(void 0)},onTokenRefresh:i=>{f(i.user),C(i.jwt)}},refreshRoute:w,logoutRoute:S,storageProvider:c};y.current=_clientsdkauth.CrossmintAuth.from(b,r)}return y.current},[c]),d=_react.useCallback.call(void 0, ()=>{u==null||u()},[u]);_react.useEffect.call(void 0, ()=>{o==null?c==null||c.get(_commonsdkauth.SESSION_PREFIX).then(r=>{r!=null&&C(r)}).finally(()=>{V(!0)}):V(!0)},[o,c]),_react.useEffect.call(void 0, ()=>{o!=null&&d()},[o,d]);let g=()=>{t.logout()},v=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){try{let i=Object.keys(Z).map(E=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let k=yield t==null?void 0:t.getOAuthUrl(E,{appSchema:s});return{[E]:k}})),a=Object.assign({},...yield Promise.all(i));M(a)}catch(r){console.error(r)}}),[t]);_react.useEffect.call(void 0, ()=>{O==null&&v()},[v,O]);let h=()=>L?N?"in-progress":o!=null?"logged-in":"logged-out":"initializing",J=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(o==null){console.log("User not logged in");return}let r=yield t.getUser();return f(r),r}),ee=r=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var i;try{x(!0);let a=(i=R[r])!=null?i:yield t.getOAuthUrl(r,{appSchema:s});yield m.warmUpAsync();let E=new URL(a);if(r==="google"&&E.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield m.openBrowserAsync(E.toString());else{let k=yield m.openAuthSessionAsync(E.toString());k.type==="success"&&(yield _(k.url))}yield m.coolDownAsync()}catch(a){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",a),new Error(`Error during OAuth login: ${a}`)}}),_=_react.useCallback.call(void 0, r=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let i=r.includes("://")?we(r):r;if(i!=null)try{return x(!0),yield t.handleRefreshAuthMaterial(i)}catch(a){throw a}finally{x(!1)}return null}),[t]);return _jsxruntime.jsx.call(void 0, j.Provider,{value:{crossmintAuth:t,logout:g,jwt:o,user:O,status:h(),getUser:J,loginWithOAuth:ee,createAuthSession:_},children:e})}var we=e=>{let u=/[?&]oneTimeSecret=([^&#]+)/,w=e.match(u);return w?decodeURIComponent(w[1]):void 0};exports.a = j; exports.b = nt; exports.c = Ee; exports.d = Pe; exports.e = F; exports.f = ke; exports.g = ze; exports.h = _clientsdkreactbase.useCrossmint; exports.i = _clientsdkreactbase.useWallet;
|