@crossmint/client-sdk-react-native-ui 0.9.4 → 0.9.6
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/README.md +9 -9
- package/dist/{chunk-CO7Z6V7J.js → chunk-CNCZVNYD.js} +1 -1
- package/dist/{chunk-FTRYYARZ.js → chunk-FGIJU5XC.js} +1 -1
- package/dist/chunk-KUBIDYHN.js +1 -0
- package/dist/{chunk-EEYMHHPI.js → chunk-MCEO6CLV.js} +1 -1
- package/dist/{chunk-DPFVFQAL.cjs → chunk-PKGOSQJL.cjs} +1 -1
- package/dist/chunk-S7IDVTO6.js +1 -0
- package/dist/chunk-SUVFA3WH.cjs +1 -0
- package/dist/{chunk-A25HRFHY.cjs → chunk-WTYWULRJ.cjs} +1 -1
- package/dist/{chunk-QLLHMYXA.js → chunk-XORWQW7H.js} +1 -1
- package/dist/{chunk-NYQDBOHF.cjs → chunk-YA65H54F.cjs} +1 -1
- package/dist/chunk-YHSHAWUY.cjs +1 -0
- package/dist/{chunk-KUHNB7E4.cjs → chunk-ZQODDAHK.cjs} +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.d.cts +2 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useCrossmintAuth.cjs +1 -1
- package/dist/hooks/useCrossmintAuth.js +1 -1
- package/dist/hooks/useCrossmintCheckout.cjs +1 -1
- package/dist/hooks/useCrossmintCheckout.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 -0
- package/dist/index.d.ts +1 -0
- 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 +8 -8
- package/dist/chunk-BAJCJQCD.js +0 -1
- package/dist/chunk-VM537MID.cjs +0 -1
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Crossmint React Native SDK
|
|
2
2
|
|
|
3
|
-
> **Create chain-agnostic wallets for your React Native apps in minutes**
|
|
3
|
+
> **Create chain-agnostic wallets for your React Native apps in minutes**
|
|
4
4
|
> Supports Solana, 20+ EVM chains (Polygon, Base, etc.), with secure mobile authentication.
|
|
5
5
|
|
|
6
6
|
## 🚀 Quick Start
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
|
-
pnpm add @crossmint/client-sdk-react-native-ui expo-secure-store expo-web-browser
|
|
9
|
+
pnpm add @crossmint/client-sdk-react-native-ui expo-secure-store expo-web-browser expo-device
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
### 1. Setup Providers
|
|
@@ -77,9 +77,9 @@ export default function MainApp() {
|
|
|
77
77
|
if (!user) {
|
|
78
78
|
return (
|
|
79
79
|
<View style={{ padding: 20 }}>
|
|
80
|
-
<Button
|
|
81
|
-
title="Login with Google"
|
|
82
|
-
onPress={() => loginWithOAuth("google")}
|
|
80
|
+
<Button
|
|
81
|
+
title="Login with Google"
|
|
82
|
+
onPress={() => loginWithOAuth("google")}
|
|
83
83
|
/>
|
|
84
84
|
</View>
|
|
85
85
|
);
|
|
@@ -90,9 +90,9 @@ export default function MainApp() {
|
|
|
90
90
|
<View style={{ padding: 20 }}>
|
|
91
91
|
<Text>Welcome {user.email}!</Text>
|
|
92
92
|
<Text>Wallet: {wallet?.address}</Text>
|
|
93
|
-
<Button
|
|
94
|
-
title="Send 1 USDC"
|
|
95
|
-
onPress={() => wallet?.send(recipient, "usdc", "1.0")}
|
|
93
|
+
<Button
|
|
94
|
+
title="Send 1 USDC"
|
|
95
|
+
onPress={() => wallet?.send(recipient, "usdc", "1.0")}
|
|
96
96
|
/>
|
|
97
97
|
<Button title="Logout" onPress={logout} />
|
|
98
98
|
</View>
|
|
@@ -201,4 +201,4 @@ EXPO_PUBLIC_CROSSMINT_API_KEY=your_api_key_here
|
|
|
201
201
|
|
|
202
202
|
---
|
|
203
203
|
|
|
204
|
-
**Questions?** Visit our [documentation](https://docs.crossmint.com/introduction/about-crossmint) or contact our support team.
|
|
204
|
+
**Questions?** Visit our [documentation](https://docs.crossmint.com/introduction/about-crossmint) or contact our support team.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
1
|
+
import{a as o}from"./chunk-MCEO6CLV.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};
|
|
@@ -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.6",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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as t}from"./chunk-3MAEL2N6.js";import{createContext as C,useContext as m,useEffect as f,useState as n}from"react";import{jsx as a}from"react/jsx-runtime";var d=C(void 0);function E({children:e}){let[i,s]=n(void 0),[c,u]=n(void 0);return f(()=>{let r=o=>{s(o.order),u(o.orderClientSecret)};return t.on("order:updated",r),()=>{t.off("order:updated",r)}},[]),a(d.Provider,{value:{order:i,orderClientSecret:c},children:e})}function k(){let e=m(d);if(!e)throw new Error("useCrossmintCheckout must be used within a CrossmintCheckoutProvider");return e}export{E as a,k as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as y}from"./chunk-Z2IVCF7R.js";import{a as f}from"./chunk-FGIJU5XC.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
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZQODDAHKcjs = require('./chunk-ZQODDAHK.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkZQODDAHKcjs.a,_chunk2WSEHVNPcjs.a.call(void 0, {},d))}exports.a = s;
|
|
@@ -0,0 +1 @@
|
|
|
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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkATELCOA4cjs = require('./chunk-ATELCOA4.cjs');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var d=_react.createContext.call(void 0, void 0);function v({children:e}){let[i,s]=_react.useState.call(void 0, void 0),[c,u]=_react.useState.call(void 0, void 0);return _react.useEffect.call(void 0, ()=>{let r=o=>{s(o.order),u(o.orderClientSecret)};return _chunkATELCOA4cjs.a.on("order:updated",r),()=>{_chunkATELCOA4cjs.a.off("order:updated",r)}},[]),_jsxruntime.jsx.call(void 0, d.Provider,{value:{order:i,orderClientSecret:c},children:e})}function E(){let e=_react.useContext.call(void 0, d);if(!e)throw new Error("useCrossmintCheckout must be used within a CrossmintCheckoutProvider");return e}exports.a = v; exports.b = E;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYHSHAWUYcjs = require('./chunk-YHSHAWUY.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}=_chunkYHSHAWUYcjs.h.call(void 0, ),{user:t,jwt:e}=_chunkYHSHAWUYcjs.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, _chunkYHSHAWUYcjs.b,_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},r),{children:_jsxruntime.jsx.call(void 0, a,{children:i})}))}exports.a = v;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as m,d,h as l}from"./chunk-
|
|
1
|
+
import{b as m,d,h as l}from"./chunk-S7IDVTO6.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});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.6",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;
|
|
@@ -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 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;
|
|
@@ -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 _chunkYA65H54Fcjs = require('./chunk-YA65H54F.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=_chunkYA65H54Fcjs.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});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 _chunkPKGOSQJLcjs = require('../../chunk-PKGOSQJL.cjs');require('../../chunk-ZQODDAHK.cjs');require('../../chunk-WUK4Q4HG.cjs');require('../../chunk-YA65H54F.cjs');require('../../chunk-EML72AUF.cjs');require('../../chunk-ATELCOA4.cjs');require('../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkPKGOSQJLcjs.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-CNCZVNYD.js";import"../../chunk-MCEO6CLV.js";import"../../chunk-Z2IVCF7R.js";import"../../chunk-FGIJU5XC.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 _chunkPKGOSQJLcjs = require('../../../chunk-PKGOSQJL.cjs');require('../../../chunk-ZQODDAHK.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-YA65H54F.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkPKGOSQJLcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../../../chunk-
|
|
1
|
+
import{a}from"../../../chunk-CNCZVNYD.js";import"../../../chunk-MCEO6CLV.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-FGIJU5XC.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 _chunkZQODDAHKcjs = require('../../../chunk-ZQODDAHK.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-YA65H54F.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.EmbeddedCheckoutV3WebView = _chunkZQODDAHKcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../../../chunk-
|
|
1
|
+
import{a}from"../../../chunk-MCEO6CLV.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-FGIJU5XC.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 _chunkPKGOSQJLcjs = require('../../../chunk-PKGOSQJL.cjs');require('../../../chunk-ZQODDAHK.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-YA65H54F.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkPKGOSQJLcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../../../chunk-72MMCJ2E.js";import{a}from"../../../chunk-
|
|
1
|
+
import"../../../chunk-72MMCJ2E.js";import{a}from"../../../chunk-CNCZVNYD.js";import"../../../chunk-MCEO6CLV.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-FGIJU5XC.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 _chunkPKGOSQJLcjs = require('../chunk-PKGOSQJL.cjs');require('../chunk-ZQODDAHK.cjs');require('../chunk-WUK4Q4HG.cjs');require('../chunk-YA65H54F.cjs');require('../chunk-EML72AUF.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkPKGOSQJLcjs.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-CNCZVNYD.js";import"../chunk-MCEO6CLV.js";import"../chunk-Z2IVCF7R.js";import"../chunk-FGIJU5XC.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 _chunkYHSHAWUYcjs = require('../chunk-YHSHAWUY.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 = _chunkYHSHAWUYcjs.d; exports.useCrossmint = _chunkYHSHAWUYcjs.h; exports.useCrossmintAuth = _chunkYHSHAWUYcjs.c; exports.useCrossmintCheckout = _chunkSUVFA3WHcjs.b; exports.useWallet = _chunkYHSHAWUYcjs.i; exports.useWalletEmailSigner = _chunkYHSHAWUYcjs.g;
|
package/dist/hooks/index.d.cts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
|
|
2
2
|
export { useAuth, useCrossmintAuth } from './useCrossmintAuth.cjs';
|
|
3
3
|
export { EmailSignerFunctions, useWalletEmailSigner } from './useWalletEmailSigner.cjs';
|
|
4
|
+
export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './useCrossmintCheckout.cjs';
|
|
4
5
|
import '../providers/CrossmintAuthProviderInternal.cjs';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
6
7
|
import 'react';
|
|
7
8
|
import '@crossmint/client-sdk-auth';
|
|
8
9
|
import '@crossmint/common-sdk-auth';
|
|
10
|
+
import '@crossmint/client-sdk-base';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
|
|
2
2
|
export { useAuth, useCrossmintAuth } from './useCrossmintAuth.js';
|
|
3
3
|
export { EmailSignerFunctions, useWalletEmailSigner } from './useWalletEmailSigner.js';
|
|
4
|
+
export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './useCrossmintCheckout.js';
|
|
4
5
|
import '../providers/CrossmintAuthProviderInternal.js';
|
|
5
6
|
import 'react/jsx-runtime';
|
|
6
7
|
import 'react';
|
|
7
8
|
import '@crossmint/client-sdk-auth';
|
|
8
9
|
import '@crossmint/common-sdk-auth';
|
|
10
|
+
import '@crossmint/client-sdk-base';
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b,g as c,h as
|
|
1
|
+
import{c as a,d as b,g as c,h as f,i as g}from"../chunk-S7IDVTO6.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 _chunkYHSHAWUYcjs = require('../chunk-YHSHAWUY.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.useAuth = _chunkYHSHAWUYcjs.d; exports.useCrossmintAuth = _chunkYHSHAWUYcjs.c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as a,d as b}from"../chunk-
|
|
1
|
+
import{c as a,d as b}from"../chunk-S7IDVTO6.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 _chunkSUVFA3WHcjs = require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintCheckoutProvider = _chunkSUVFA3WHcjs.a; exports.useCrossmintCheckout = _chunkSUVFA3WHcjs.b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a
|
|
1
|
+
import{a,b}from"../chunk-KUBIDYHN.js";import"../chunk-3MAEL2N6.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintCheckoutProvider,b as useCrossmintCheckout};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYHSHAWUYcjs = require('../chunk-YHSHAWUY.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.useWalletEmailSigner = _chunkYHSHAWUYcjs.g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as a}from"../chunk-
|
|
1
|
+
import{g as a}from"../chunk-S7IDVTO6.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 _chunkPKGOSQJLcjs = require('./chunk-PKGOSQJL.cjs');require('./chunk-ZQODDAHK.cjs');require('./chunk-WUK4Q4HG.cjs');require('./chunk-YA65H54F.cjs');require('./chunk-EML72AUF.cjs');var _chunkWTYWULRJcjs = require('./chunk-WTYWULRJ.cjs');var _chunkYHSHAWUYcjs = require('./chunk-YHSHAWUY.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 = _chunkWTYWULRJcjs.a; exports.CrossmintCheckoutProvider = _chunkSUVFA3WHcjs.a; exports.CrossmintEmbeddedCheckout = _chunkPKGOSQJLcjs.a; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkYHSHAWUYcjs.f; exports.EVMWallet = _walletssdk.EVMWallet; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.Wallet = _walletssdk.Wallet; exports.useAuth = _chunkYHSHAWUYcjs.d; exports.useCrossmint = _chunkYHSHAWUYcjs.h; exports.useCrossmintAuth = _chunkYHSHAWUYcjs.c; exports.useCrossmintCheckout = _chunkSUVFA3WHcjs.b; exports.useWallet = _chunkYHSHAWUYcjs.i; exports.useWalletEmailSigner = _chunkYHSHAWUYcjs.g;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
|
|
2
2
|
export { useAuth, useCrossmintAuth } from './hooks/useCrossmintAuth.cjs';
|
|
3
3
|
export { EmailSignerFunctions, useWalletEmailSigner } from './hooks/useWalletEmailSigner.cjs';
|
|
4
|
+
export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './hooks/useCrossmintCheckout.cjs';
|
|
4
5
|
export { CrossmintProvider } from './providers/CrossmintProvider.cjs';
|
|
5
6
|
export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.cjs';
|
|
6
7
|
export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
|
|
2
2
|
export { useAuth, useCrossmintAuth } from './hooks/useCrossmintAuth.js';
|
|
3
3
|
export { EmailSignerFunctions, useWalletEmailSigner } from './hooks/useWalletEmailSigner.js';
|
|
4
|
+
export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './hooks/useCrossmintCheckout.js';
|
|
4
5
|
export { CrossmintProvider } from './providers/CrossmintProvider.js';
|
|
5
6
|
export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.js';
|
|
6
7
|
export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.js';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-C62HRWJA.js";import{a as
|
|
1
|
+
import"./chunk-C62HRWJA.js";import{a as m}from"./chunk-ZENPJSBN.js";import"./chunk-4E5HWFBN.js";import"./chunk-DKQZSNOO.js";import"./chunk-72MMCJ2E.js";import{a as l}from"./chunk-CNCZVNYD.js";import"./chunk-MCEO6CLV.js";import"./chunk-Z2IVCF7R.js";import"./chunk-FGIJU5XC.js";import"./chunk-ACAYDFCT.js";import{a as i}from"./chunk-XORWQW7H.js";import{c as t,d as e,f as r,g as o,h as p,i as s}from"./chunk-S7IDVTO6.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 C,SolanaWallet as S,Wallet as W}from"@crossmint/wallets-sdk";export{i as CrossmintAuthProvider,a as CrossmintCheckoutProvider,l as CrossmintEmbeddedCheckout,m as CrossmintProvider,r as CrossmintWalletProvider,C as EVMWallet,S as SolanaWallet,W 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 _chunkWTYWULRJcjs = require('../chunk-WTYWULRJ.cjs');require('../chunk-YHSHAWUY.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkWTYWULRJcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-XORWQW7H.js";import"../chunk-S7IDVTO6.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 _chunkYHSHAWUYcjs = require('../chunk-YHSHAWUY.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.AuthContext = _chunkYHSHAWUYcjs.a; exports.CrossmintAuthProviderInternal = _chunkYHSHAWUYcjs.b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-S7IDVTO6.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 _chunkYHSHAWUYcjs = require('../chunk-YHSHAWUY.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintWalletEmailSignerContext = _chunkYHSHAWUYcjs.e; exports.CrossmintWalletProvider = _chunkYHSHAWUYcjs.f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as a,f as b}from"../chunk-
|
|
1
|
+
import{e as a,f as b}from"../chunk-S7IDVTO6.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 _chunkWTYWULRJcjs = require('../chunk-WTYWULRJ.cjs');var _chunkYHSHAWUYcjs = require('../chunk-YHSHAWUY.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-SUVFA3WH.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkWTYWULRJcjs.a; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkYHSHAWUYcjs.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-XORWQW7H.js";import{f as a}from"../chunk-S7IDVTO6.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 _chunkYA65H54Fcjs = require('../chunk-YA65H54F.cjs');require('../chunk-2WSEHVNP.cjs');exports.createCrossmintApiClient = _chunkYA65H54Fcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-FGIJU5XC.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.6",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"LICENSE"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@solana/web3.js": "1.98.
|
|
21
|
+
"@solana/web3.js": "1.98.1",
|
|
22
22
|
"bs58": "^5.0.0",
|
|
23
23
|
"expo-constants": "~17.0.8",
|
|
24
24
|
"expo-device": "~7.1.4",
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
"mitt": "3.0.1",
|
|
28
28
|
"react-native-webview": "13.12.5",
|
|
29
29
|
"zod": "3.22.4",
|
|
30
|
-
"@crossmint/client-sdk-auth": "1.2.
|
|
31
|
-
"@crossmint/client-sdk-base": "1.5.
|
|
32
|
-
"@crossmint/client-sdk-react-base": "0.5.
|
|
30
|
+
"@crossmint/client-sdk-auth": "1.2.26",
|
|
31
|
+
"@crossmint/client-sdk-base": "1.5.17",
|
|
32
|
+
"@crossmint/client-sdk-react-base": "0.5.21",
|
|
33
33
|
"@crossmint/client-sdk-rn-window": "0.3.4",
|
|
34
34
|
"@crossmint/client-signers": "0.0.18",
|
|
35
|
-
"@crossmint/common-sdk-auth": "1.0.
|
|
36
|
-
"@crossmint/common-sdk-base": "0.9.
|
|
37
|
-
"@crossmint/wallets-sdk": "0.11.
|
|
35
|
+
"@crossmint/common-sdk-auth": "1.0.48",
|
|
36
|
+
"@crossmint/common-sdk-base": "0.9.2",
|
|
37
|
+
"@crossmint/wallets-sdk": "0.11.3"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/react": "19.0.12"
|
package/dist/chunk-BAJCJQCD.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
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 S,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,useState as ne,useMemo as Y,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 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 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,createOnLogin:c,callbacks:v}){let{crossmint:U}=T("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:w,appId:p}=U,W=ce(w);if(!W.isValid)throw new Error("Invalid API key");let b=Z[W.environment],f=x(null),o=x(null),[A,N]=ne(!1),R=x(P("sendEmailWithOtp")),C=x(P("verifyOtp")),a=x(P("reject")),L=Y(()=>p!=null?{crossmintAppId:p}:{},[p]);re(()=>{f.current!=null&&o.current==null&&(o.current=new ae(f,{incomingEvents:ue,outgoingEvents:le}))},[]);let M=Q(()=>u(this,null,function*(){let t=o.current;if(t!=null)try{yield t.handshakeWithChild()}catch(n){console.error("[CrossmintWalletProvider] Handshake error:",n)}}),[]),B=Q(t=>{let n=o.current;if(n!=null){try{let i=JSON.parse(t.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}}),y=`[WebView:${g.toUpperCase()}]`;switch(g){case"log":console.log(y,...d);break;case"error":console.error(y,...d);break;case"warn":console.warn(y,...d);break;case"info":console.info(y,...d);break;default:console.log(`[WebView Unknown:${g}]`,...d)}return}}catch(i){}n.handleMessage(t)}},[]),O=()=>{if(o.current==null)throw new Error("WebView not ready or handshake incomplete");return o.current},z=(t,n,i,g)=>u(this,null,function*(){N(t),R.current=n,C.current=i,a.current=g}),_=Y(()=>({needsAuth:A,sendEmailWithOtp:R.current,verifyOtp:C.current,reject:a.current}),[A]);return he(de,{createOnLogin:c,onAuthRequired:z,clientTEEConnection:O,callbacks:v,children:[F(K.Provider,{value:_,children:e}),F(ie,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:F(se,{ref:f,source:{uri:b},globals:L,onLoadStart:t=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",t.nativeEvent.url)},onLoadEnd:M,onLoadProgress:({nativeEvent:t})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",t.progress)},onMessage:B,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:[Z[W.environment]]})})]})}import{useContext as me}from"react";function Ke(){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 J from"expo-constants";import{jsx as ye}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 ot({children:e,onLoginSuccess:c,refreshRoute:v,logoutRoute:U,customStorageProvider:w,appSchema:p}){let{crossmint:W}=T("CrossmintAuthProvider must be used within CrossmintProvider"),[b,f]=S(void 0),[o,A]=S(void 0),[N,R]=S(te),C=fe(null),a=ee(()=>w!=null?w:new q,[w]),[L,M]=S(!1),[B,O]=S(!1),z=Array.isArray(p)?p[0]:p,t=J.executionEnvironment==="storeClient"||J.appOwnership==="expo"||!!J.expoVersion?"exp://127.0.0.1:8081":z,n=ee(()=>{if(!C.current){let r={callbacks:{onLogout:()=>{f(void 0),A(void 0)},onTokenRefresh:s=>{f(s.user),A(s.jwt)}},refreshRoute:v,logoutRoute:U,storageProvider:a};C.current=ge.from(W,r)}return C.current},[a]),i=H(()=>{c==null||c()},[c]);D(()=>{o==null?a==null||a.get(ve).then(r=>{r!=null&&A(r)}).finally(()=>{M(!0)}):M(!0)},[o,a]),D(()=>{o!=null&&i()},[o,i]);let g=()=>{n.logout()},d=H(()=>u(this,null,function*(){try{let s=Object.keys(te).map(E=>u(this,null,function*(){let V=yield n==null?void 0:n.getOAuthUrl(E,{appSchema:t});return{[E]:V}})),l=Object.assign({},...yield Promise.all(s));R(l)}catch(r){console.error(r)}}),[n]);D(()=>{b==null&&d()},[d,b]);let y=()=>L?B?"in-progress":o!=null?"logged-in":"logged-out":"initializing",h=()=>u(this,null,function*(){if(o==null){console.log("User not logged in");return}let r=yield n.getUser();return f(r),r}),$=r=>u(this,null,function*(){var s;try{O(!0);let l=(s=N[r])!=null?s:yield n.getOAuthUrl(r,{appSchema:t});yield m.warmUpAsync();let E=new URL(l);if(r==="google"&&E.searchParams.append("provider_prompt","select_account"),we.OS==="android")yield m.openBrowserAsync(E.toString());else{let V=yield m.openAuthSessionAsync(E.toString());V.type==="success"&&(yield G(V.url))}yield m.coolDownAsync()}catch(l){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",l),new Error(`Error during OAuth login: ${l}`)}}),G=H(r=>u(this,null,function*(){let s=r.includes("://")?Ce(r):r;if(s!=null)try{return O(!0),yield n.handleRefreshAuthMaterial(s)}catch(l){throw l}finally{O(!1)}return null}),[n]);return ye(j.Provider,{value:{crossmintAuth:n,logout:g,jwt:o,user:b,status:y(),getUser:h,loginWithOAuth:$,createAuthSession:G},children:e})}var Ce=e=>{let c=/[?&]oneTimeSecret=([^&#]+)/,v=e.match(c);return v?decodeURIComponent(v[1]):void 0};export{j as a,ot as b,We as c,be as d,K as e,je as f,Ke as g,T as h,Ge as i};
|
package/dist/chunk-VM537MID.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 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.`)},F= 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:U}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:w,appId:p}=U,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),o=_react.useRef.call(void 0, null),[A,T]=_react.useState.call(void 0, !1),R=_react.useRef.call(void 0, P("sendEmailWithOtp")),C=_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&&o.current==null&&(o.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 t=o.current;if(t!=null)try{yield t.handshakeWithChild()}catch(n){console.error("[CrossmintWalletProvider] Handshake error:",n)}}),[]),L=_react.useCallback.call(void 0, t=>{let n=o.current;if(n!=null){try{let i=JSON.parse(t.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}}),y=`[WebView:${g.toUpperCase()}]`;switch(g){case"log":console.log(y,...d);break;case"error":console.error(y,...d);break;case"warn":console.warn(y,...d);break;case"info":console.info(y,...d);break;default:console.log(`[WebView Unknown:${g}]`,...d)}return}}catch(i){}n.handleMessage(t)}},[]),O=()=>{if(o.current==null)throw new Error("WebView not ready or handshake incomplete");return o.current},B=(t,n,i,g)=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){T(t),R.current=n,C.current=i,a.current=g}),J=_react.useMemo.call(void 0, ()=>({needsAuth:A,sendEmailWithOtp:R.current,verifyOtp:C.current,reject:a.current}),[A]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:c,onAuthRequired:B,clientTEEConnection:O,callbacks:v,children:[_jsxruntime.jsx.call(void 0, F.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,onLoadStart:t=>{console.log("[CrossmintWalletProvider] WebView onLoadStart:",t.nativeEvent.url)},onLoadEnd:M,onLoadProgress:({nativeEvent:t})=>{console.log("[CrossmintWalletProvider] WebView loading progress:",t.progress)},onMessage:L,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:[_clientsigners.environmentUrlConfig[W.environment]]})})]})}function Fe(){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 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 nt({children:e,onLoginSuccess:c,refreshRoute:v,logoutRoute:U,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),[o,A]=_react.useState.call(void 0, void 0),[T,R]=_react.useState.call(void 0, ee),C=_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),[L,O]=_react.useState.call(void 0, !1),B=Array.isArray(p)?p[0]:p,t=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":B,n=_react.useMemo.call(void 0, ()=>{if(!C.current){let r={callbacks:{onLogout:()=>{f(void 0),A(void 0)},onTokenRefresh:s=>{f(s.user),A(s.jwt)}},refreshRoute:v,logoutRoute:U,storageProvider:a};C.current=_clientsdkauth.CrossmintAuth.from(W,r)}return C.current},[a]),i=_react.useCallback.call(void 0, ()=>{c==null||c()},[c]);_react.useEffect.call(void 0, ()=>{o==null?a==null||a.get(_commonsdkauth.SESSION_PREFIX).then(r=>{r!=null&&A(r)}).finally(()=>{M(!0)}):M(!0)},[o,a]),_react.useEffect.call(void 0, ()=>{o!=null&&i()},[o,i]);let g=()=>{n.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 V=yield n==null?void 0:n.getOAuthUrl(E,{appSchema:t});return{[E]:V}})),l=Object.assign({},...yield Promise.all(s));R(l)}catch(r){console.error(r)}}),[n]);_react.useEffect.call(void 0, ()=>{b==null&&d()},[d,b]);let y=()=>N?L?"in-progress":o!=null?"logged-in":"logged-out":"initializing",h=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(o==null){console.log("User not logged in");return}let r=yield n.getUser();return f(r),r}),_=r=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var s;try{O(!0);let l=(s=T[r])!=null?s:yield n.getOAuthUrl(r,{appSchema:t});yield m.warmUpAsync();let E=new URL(l);if(r==="google"&&E.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield m.openBrowserAsync(E.toString());else{let V=yield m.openAuthSessionAsync(E.toString());V.type==="success"&&(yield $(V.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, r=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){let s=r.includes("://")?Ae(r):r;if(s!=null)try{return O(!0),yield n.handleRefreshAuthMaterial(s)}catch(l){throw l}finally{O(!1)}return null}),[n]);return _jsxruntime.jsx.call(void 0, I.Provider,{value:{crossmintAuth:n,logout:g,jwt:o,user:b,status:y(),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 = nt; exports.c = Pe; exports.d = We; exports.e = F; exports.f = Ie; exports.g = Fe; exports.h = _clientsdkreactbase.useCrossmint; exports.i = _clientsdkreactbase.useWallet;
|