@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.
Files changed (50) hide show
  1. package/README.md +9 -9
  2. package/dist/{chunk-CO7Z6V7J.js → chunk-CNCZVNYD.js} +1 -1
  3. package/dist/{chunk-FTRYYARZ.js → chunk-FGIJU5XC.js} +1 -1
  4. package/dist/chunk-KUBIDYHN.js +1 -0
  5. package/dist/{chunk-EEYMHHPI.js → chunk-MCEO6CLV.js} +1 -1
  6. package/dist/{chunk-DPFVFQAL.cjs → chunk-PKGOSQJL.cjs} +1 -1
  7. package/dist/chunk-S7IDVTO6.js +1 -0
  8. package/dist/chunk-SUVFA3WH.cjs +1 -0
  9. package/dist/{chunk-A25HRFHY.cjs → chunk-WTYWULRJ.cjs} +1 -1
  10. package/dist/{chunk-QLLHMYXA.js → chunk-XORWQW7H.js} +1 -1
  11. package/dist/{chunk-NYQDBOHF.cjs → chunk-YA65H54F.cjs} +1 -1
  12. package/dist/chunk-YHSHAWUY.cjs +1 -0
  13. package/dist/{chunk-KUHNB7E4.cjs → chunk-ZQODDAHK.cjs} +1 -1
  14. package/dist/components/embed/index.cjs +1 -1
  15. package/dist/components/embed/index.js +1 -1
  16. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +1 -1
  17. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -1
  18. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.cjs +1 -1
  19. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.js +1 -1
  20. package/dist/components/embed/v3/index.cjs +1 -1
  21. package/dist/components/embed/v3/index.js +1 -1
  22. package/dist/components/index.cjs +1 -1
  23. package/dist/components/index.js +1 -1
  24. package/dist/hooks/index.cjs +1 -1
  25. package/dist/hooks/index.d.cts +2 -0
  26. package/dist/hooks/index.d.ts +2 -0
  27. package/dist/hooks/index.js +1 -1
  28. package/dist/hooks/useCrossmintAuth.cjs +1 -1
  29. package/dist/hooks/useCrossmintAuth.js +1 -1
  30. package/dist/hooks/useCrossmintCheckout.cjs +1 -1
  31. package/dist/hooks/useCrossmintCheckout.js +1 -1
  32. package/dist/hooks/useWalletEmailSigner.cjs +1 -1
  33. package/dist/hooks/useWalletEmailSigner.js +1 -1
  34. package/dist/index.cjs +1 -1
  35. package/dist/index.d.cts +1 -0
  36. package/dist/index.d.ts +1 -0
  37. package/dist/index.js +1 -1
  38. package/dist/providers/CrossmintAuthProvider.cjs +1 -1
  39. package/dist/providers/CrossmintAuthProvider.js +1 -1
  40. package/dist/providers/CrossmintAuthProviderInternal.cjs +1 -1
  41. package/dist/providers/CrossmintAuthProviderInternal.js +1 -1
  42. package/dist/providers/CrossmintWalletProvider.cjs +1 -1
  43. package/dist/providers/CrossmintWalletProvider.js +1 -1
  44. package/dist/providers/index.cjs +1 -1
  45. package/dist/providers/index.js +1 -1
  46. package/dist/utils/createCrossmintApiClient.cjs +1 -1
  47. package/dist/utils/createCrossmintApiClient.js +1 -1
  48. package/package.json +8 -8
  49. package/dist/chunk-BAJCJQCD.js +0 -1
  50. 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-EEYMHHPI.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
+ 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.4",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.0",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
+ 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 h}from"./chunk-Z2IVCF7R.js";import{a as p}from"./chunk-FTRYYARZ.js";import{c as f}from"./chunk-ACAYDFCT.js";import{a as y}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=p(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=>{y.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:f}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?c(h,{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
+ 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 _chunkKUHNB7E4cjs = require('./chunk-KUHNB7E4.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkKUHNB7E4cjs.a,_chunk2WSEHVNPcjs.a.call(void 0, {},d))}exports.a = s;
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 _chunkVM537MIDcjs = require('./chunk-VM537MID.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}=_chunkVM537MIDcjs.h.call(void 0, ),{user:t,jwt:e}=_chunkVM537MIDcjs.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, _chunkVM537MIDcjs.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
+ "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-BAJCJQCD.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
+ 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.4",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.0",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
+ "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 _chunkNYQDBOHFcjs = require('./chunk-NYQDBOHF.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=_chunkNYQDBOHFcjs.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
+ "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 _chunkDPFVFQALcjs = require('../../chunk-DPFVFQAL.cjs');require('../../chunk-KUHNB7E4.cjs');require('../../chunk-WUK4Q4HG.cjs');require('../../chunk-NYQDBOHF.cjs');require('../../chunk-EML72AUF.cjs');require('../../chunk-ATELCOA4.cjs');require('../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkDPFVFQALcjs.a;
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-CO7Z6V7J.js";import"../../chunk-EEYMHHPI.js";import"../../chunk-Z2IVCF7R.js";import"../../chunk-FTRYYARZ.js";import"../../chunk-ACAYDFCT.js";import"../../chunk-3MAEL2N6.js";import"../../chunk-PXDN3KFO.js";export{a as CrossmintEmbeddedCheckout};
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 _chunkDPFVFQALcjs = require('../../../chunk-DPFVFQAL.cjs');require('../../../chunk-KUHNB7E4.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-NYQDBOHF.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkDPFVFQALcjs.a;
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-CO7Z6V7J.js";import"../../../chunk-EEYMHHPI.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-FTRYYARZ.js";import"../../../chunk-ACAYDFCT.js";import"../../../chunk-3MAEL2N6.js";import"../../../chunk-PXDN3KFO.js";export{a as CrossmintEmbeddedCheckout};
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 _chunkKUHNB7E4cjs = require('../../../chunk-KUHNB7E4.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-NYQDBOHF.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.EmbeddedCheckoutV3WebView = _chunkKUHNB7E4cjs.a;
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-EEYMHHPI.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-FTRYYARZ.js";import"../../../chunk-ACAYDFCT.js";import"../../../chunk-3MAEL2N6.js";import"../../../chunk-PXDN3KFO.js";export{a as EmbeddedCheckoutV3WebView};
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 _chunkDPFVFQALcjs = require('../../../chunk-DPFVFQAL.cjs');require('../../../chunk-KUHNB7E4.cjs');require('../../../chunk-WUK4Q4HG.cjs');require('../../../chunk-NYQDBOHF.cjs');require('../../../chunk-EML72AUF.cjs');require('../../../chunk-ATELCOA4.cjs');require('../../../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkDPFVFQALcjs.a;
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-CO7Z6V7J.js";import"../../../chunk-EEYMHHPI.js";import"../../../chunk-Z2IVCF7R.js";import"../../../chunk-FTRYYARZ.js";import"../../../chunk-ACAYDFCT.js";import"../../../chunk-3MAEL2N6.js";import"../../../chunk-PXDN3KFO.js";export{a as CrossmintEmbeddedCheckout};
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 _chunkDPFVFQALcjs = require('../chunk-DPFVFQAL.cjs');require('../chunk-KUHNB7E4.cjs');require('../chunk-WUK4Q4HG.cjs');require('../chunk-NYQDBOHF.cjs');require('../chunk-EML72AUF.cjs');require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintEmbeddedCheckout = _chunkDPFVFQALcjs.a;
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;
@@ -1 +1 @@
1
- import"../chunk-4E5HWFBN.js";import"../chunk-DKQZSNOO.js";import"../chunk-72MMCJ2E.js";import{a}from"../chunk-CO7Z6V7J.js";import"../chunk-EEYMHHPI.js";import"../chunk-Z2IVCF7R.js";import"../chunk-FTRYYARZ.js";import"../chunk-ACAYDFCT.js";import"../chunk-3MAEL2N6.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintEmbeddedCheckout};
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};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVM537MIDcjs = require('../chunk-VM537MID.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.useAuth = _chunkVM537MIDcjs.d; exports.useCrossmint = _chunkVM537MIDcjs.h; exports.useCrossmintAuth = _chunkVM537MIDcjs.c; exports.useWallet = _chunkVM537MIDcjs.i; exports.useWalletEmailSigner = _chunkVM537MIDcjs.g;
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;
@@ -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';
@@ -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';
@@ -1 +1 @@
1
- import{c as a,d as b,g as c,h as d,i as e}from"../chunk-BAJCJQCD.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{b as useAuth,d as useCrossmint,a as useCrossmintAuth,e as useWallet,c as useWalletEmailSigner};
1
+ 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 _chunkVM537MIDcjs = require('../chunk-VM537MID.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.useAuth = _chunkVM537MIDcjs.d; exports.useCrossmintAuth = _chunkVM537MIDcjs.c;
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-BAJCJQCD.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{b as useAuth,a as useCrossmintAuth};
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 _chunkATELCOA4cjs = require('../chunk-ATELCOA4.cjs');require('../chunk-2WSEHVNP.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.CrossmintCheckoutProvider = v; exports.useCrossmintCheckout = E;
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 as t}from"../chunk-3MAEL2N6.js";import"../chunk-PXDN3KFO.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 CrossmintCheckoutProvider,k as useCrossmintCheckout};
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 _chunkVM537MIDcjs = require('../chunk-VM537MID.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.useWalletEmailSigner = _chunkVM537MIDcjs.g;
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-BAJCJQCD.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{a as useWalletEmailSigner};
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 _chunkDPFVFQALcjs = require('./chunk-DPFVFQAL.cjs');require('./chunk-KUHNB7E4.cjs');require('./chunk-WUK4Q4HG.cjs');require('./chunk-NYQDBOHF.cjs');require('./chunk-EML72AUF.cjs');require('./chunk-ATELCOA4.cjs');var _chunkA25HRFHYcjs = require('./chunk-A25HRFHY.cjs');var _chunkVM537MIDcjs = require('./chunk-VM537MID.cjs');require('./chunk-K754GXKD.cjs');require('./chunk-2WSEHVNP.cjs');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkA25HRFHYcjs.a; exports.CrossmintEmbeddedCheckout = _chunkDPFVFQALcjs.a; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkVM537MIDcjs.f; exports.EVMWallet = _walletssdk.EVMWallet; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.Wallet = _walletssdk.Wallet; exports.useAuth = _chunkVM537MIDcjs.d; exports.useCrossmint = _chunkVM537MIDcjs.h; exports.useCrossmintAuth = _chunkVM537MIDcjs.c; exports.useWallet = _chunkVM537MIDcjs.i; exports.useWalletEmailSigner = _chunkVM537MIDcjs.g;
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 p}from"./chunk-ZENPJSBN.js";import"./chunk-4E5HWFBN.js";import"./chunk-DKQZSNOO.js";import"./chunk-72MMCJ2E.js";import{a as m}from"./chunk-CO7Z6V7J.js";import"./chunk-EEYMHHPI.js";import"./chunk-Z2IVCF7R.js";import"./chunk-FTRYYARZ.js";import"./chunk-ACAYDFCT.js";import"./chunk-3MAEL2N6.js";import{a as s}from"./chunk-QLLHMYXA.js";import{c as t,d as e,f as r,g as o,h as a,i as n}from"./chunk-BAJCJQCD.js";import"./chunk-GDMV4TA2.js";import"./chunk-PXDN3KFO.js";import{EVMWallet as E,SolanaWallet as h,Wallet as C}from"@crossmint/wallets-sdk";export{s as CrossmintAuthProvider,m as CrossmintEmbeddedCheckout,p as CrossmintProvider,r as CrossmintWalletProvider,E as EVMWallet,h as SolanaWallet,C as Wallet,e as useAuth,a as useCrossmint,t as useCrossmintAuth,n as useWallet,o as useWalletEmailSigner};
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 _chunkA25HRFHYcjs = require('../chunk-A25HRFHY.cjs');require('../chunk-VM537MID.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkA25HRFHYcjs.a;
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-QLLHMYXA.js";import"../chunk-BAJCJQCD.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintAuthProvider};
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 _chunkVM537MIDcjs = require('../chunk-VM537MID.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.AuthContext = _chunkVM537MIDcjs.a; exports.CrossmintAuthProviderInternal = _chunkVM537MIDcjs.b;
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-BAJCJQCD.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{a as AuthContext,b as CrossmintAuthProviderInternal};
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 _chunkVM537MIDcjs = require('../chunk-VM537MID.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintWalletEmailSignerContext = _chunkVM537MIDcjs.e; exports.CrossmintWalletProvider = _chunkVM537MIDcjs.f;
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-BAJCJQCD.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintWalletEmailSignerContext,b as CrossmintWalletProvider};
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};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ZR6BLDCD.cjs');var _chunkYBYUZ7SKcjs = require('../chunk-YBYUZ7SK.cjs');var _chunkA25HRFHYcjs = require('../chunk-A25HRFHY.cjs');var _chunkVM537MIDcjs = require('../chunk-VM537MID.cjs');require('../chunk-K754GXKD.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintAuthProvider = _chunkA25HRFHYcjs.a; exports.CrossmintProvider = _chunkYBYUZ7SKcjs.a; exports.CrossmintWalletProvider = _chunkVM537MIDcjs.f;
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;
@@ -1 +1 @@
1
- import"../chunk-C62HRWJA.js";import{a as b}from"../chunk-ZENPJSBN.js";import{a as c}from"../chunk-QLLHMYXA.js";import{f as a}from"../chunk-BAJCJQCD.js";import"../chunk-GDMV4TA2.js";import"../chunk-PXDN3KFO.js";export{c as CrossmintAuthProvider,b as CrossmintProvider,a as CrossmintWalletProvider};
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 _chunkNYQDBOHFcjs = require('../chunk-NYQDBOHF.cjs');require('../chunk-2WSEHVNP.cjs');exports.createCrossmintApiClient = _chunkNYQDBOHFcjs.a;
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-FTRYYARZ.js";import"../chunk-PXDN3KFO.js";export{a as createCrossmintApiClient};
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.4",
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.0",
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.24",
31
- "@crossmint/client-sdk-base": "1.5.15",
32
- "@crossmint/client-sdk-react-base": "0.5.19",
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.46",
36
- "@crossmint/common-sdk-base": "0.9.0",
37
- "@crossmint/wallets-sdk": "0.11.1"
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"
@@ -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};
@@ -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;