@crossmint/client-sdk-react-native-ui 1.0.0-beta.4 → 1.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/chunk-3MXWZO3W.mjs +1 -0
  2. package/dist/chunk-4HT7GY6N.js +1 -0
  3. package/dist/{chunk-WWN5R3X2.mjs → chunk-4PMKF2DM.mjs} +1 -1
  4. package/dist/{chunk-45ZTGEVP.mjs → chunk-4XMG3KIU.mjs} +1 -1
  5. package/dist/{chunk-A7BCHGBQ.js → chunk-6BGT7YJW.js} +1 -1
  6. package/dist/chunk-F4GXM2ZD.js +1 -0
  7. package/dist/{chunk-UMYAK2CT.js → chunk-HQFWYQ4L.js} +1 -1
  8. package/dist/{chunk-BPPN5Q6Y.mjs → chunk-LLHUAEZP.mjs} +1 -1
  9. package/dist/{chunk-5NA7YJYT.mjs → chunk-QVLCNPNG.mjs} +1 -1
  10. package/dist/{chunk-QV5Y4WDD.js → chunk-RFFLL7AO.js} +1 -1
  11. package/dist/{chunk-XGBJ4HA3.mjs → chunk-RO3XNRC3.mjs} +1 -1
  12. package/dist/{chunk-5Q523RQT.mjs → chunk-VGA23PJK.mjs} +1 -1
  13. package/dist/{chunk-VNOIGRIG.js → chunk-X64DPUQJ.js} +1 -1
  14. package/dist/chunk-XSBVXPEK.mjs +1 -0
  15. package/dist/{chunk-JCGFTIMB.js → chunk-YVITECJT.js} +1 -1
  16. package/dist/{chunk-CKURJIEU.js → chunk-ZM4HMYQX.js} +1 -1
  17. package/dist/components/embed/index.js +1 -1
  18. package/dist/components/embed/index.mjs +1 -1
  19. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -1
  20. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.mjs +1 -1
  21. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.js +1 -1
  22. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.mjs +1 -1
  23. package/dist/components/embed/v3/index.js +1 -1
  24. package/dist/components/embed/v3/index.mjs +1 -1
  25. package/dist/components/index.js +1 -1
  26. package/dist/components/index.mjs +1 -1
  27. package/dist/components/wallets/ExportPrivateKeyButton.js +1 -1
  28. package/dist/components/wallets/ExportPrivateKeyButton.mjs +1 -1
  29. package/dist/components/wallets/index.js +1 -1
  30. package/dist/components/wallets/index.mjs +1 -1
  31. package/dist/index.d.mts +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/index.mjs +1 -1
  35. package/dist/logger/init.js +1 -1
  36. package/dist/logger/init.mjs +1 -1
  37. package/dist/providers/CrossmintProvider.js +1 -1
  38. package/dist/providers/CrossmintProvider.mjs +1 -1
  39. package/dist/providers/CrossmintWalletProvider.d.mts +2 -3
  40. package/dist/providers/CrossmintWalletProvider.d.ts +2 -3
  41. package/dist/providers/CrossmintWalletProvider.js +1 -1
  42. package/dist/providers/CrossmintWalletProvider.mjs +1 -1
  43. package/dist/providers/index.js +1 -1
  44. package/dist/providers/index.mjs +1 -1
  45. package/dist/utils/createCrossmintApiClient.js +1 -1
  46. package/dist/utils/createCrossmintApiClient.mjs +1 -1
  47. package/package.json +5 -7
  48. package/dist/chunk-A2MEND3D.js +0 -1
  49. package/dist/chunk-PNHVW6FM.mjs +0 -1
  50. package/dist/chunk-YPZNI4AB.js +0 -1
  51. package/dist/chunk-ZDRK4SFH.mjs +0 -1
@@ -0,0 +1 @@
1
+ import{e as p}from"./chunk-PSSAAY7D.mjs";import{useState as v,useCallback as s,useRef as u,useEffect as y}from"react";import{View as g,Text as x,StyleSheet as V,Alert as f}from"react-native";import{useWallet as h,useCrossmint as C}from"@crossmint/client-sdk-react-base";import{environmentUrlConfig as W,exportSignerInboundEvents as P,exportSignerOutboundEvents as S}from"@crossmint/client-signers";import{isExportableSignerAdapter as b}from"@crossmint/wallets-sdk";import{validateAPIKey as F}from"@crossmint/common-sdk-base";import{WebViewParent as I,RNWebView as k}from"@crossmint/client-sdk-rn-window";import{jsx as o}from"react/jsx-runtime";function z({appearance:K}){let{wallet:r}=h(),{crossmint:i}=C(),a=u(null),l=u(null),[c,w]=v("");y(()=>{if(i!=null)try{let e=F(i.apiKey);if(e.isValid){let t=W[e.environment];w(`${t}/export`)}}catch(e){console.error("Failed to get TEE URL:",e)}},[i]);let E=s(e=>p(this,null,function*(){if(!(r==null||a.current==null||e.nativeEvent.loading))try{if(r.signer!=null&&b(r.signer)){let t=new I(a,{incomingEvents:S,outgoingEvents:P});l.current=t,yield t.handshakeWithChild(),yield r.signer._exportPrivateKey(t)}}catch(t){console.error("Failed to export private key:",t),f.alert("Export Failed","Failed to export private key. Please try again.")}}),[r]),d=s(e=>{let{nativeEvent:t}=e;console.error("WebView error:",t),f.alert("Export Failed","Failed to load export interface. Please try again.")},[]),m=s(e=>{l.current&&l.current.handleMessage(e)},[]);return c===""||r==null||r.signer==null||!b(r.signer)?null:o(g,{style:n.webViewContainer,children:o(k,{ref:a,source:{uri:c},style:n.webView,javaScriptEnabled:!0,domStorageEnabled:!0,onLoadEnd:E,onError:d,onHttpError:d,onMessage:m,startInLoadingState:!0,renderLoading:()=>o(g,{style:n.loadingContainer,children:o(x,{style:n.loadingText,children:"Loading..."})})})})}var n=V.create({webViewContainer:{height:56,borderWidth:1,borderColor:"#E5E5E5",borderRadius:12,overflow:"hidden"},webView:{flex:1},loadingContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"#F5F5F5"},loadingText:{fontSize:16,color:"#666666"}});export{z as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _clientsigners = require('@crossmint/client-signers');var _walletssdk = require('@crossmint/wallets-sdk');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _jsxruntime = require('react/jsx-runtime');function j({appearance:K}){let{wallet:r}=_clientsdkreactbase.useWallet.call(void 0, ),{crossmint:i}=_clientsdkreactbase.useCrossmint.call(void 0, ),a=_react.useRef.call(void 0, null),l=_react.useRef.call(void 0, null),[c,w]=_react.useState.call(void 0, "");_react.useEffect.call(void 0, ()=>{if(i!=null)try{let e=_commonsdkbase.validateAPIKey.call(void 0, i.apiKey);if(e.isValid){let t=_clientsigners.environmentUrlConfig[e.environment];w(`${t}/export`)}}catch(e){console.error("Failed to get TEE URL:",e)}},[i]);let E=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(!(r==null||a.current==null||e.nativeEvent.loading))try{if(r.signer!=null&&_walletssdk.isExportableSignerAdapter.call(void 0, r.signer)){let t=new (0, _clientsdkrnwindow.WebViewParent)(a,{incomingEvents:_clientsigners.exportSignerOutboundEvents,outgoingEvents:_clientsigners.exportSignerInboundEvents});l.current=t,yield t.handshakeWithChild(),yield r.signer._exportPrivateKey(t)}}catch(t){console.error("Failed to export private key:",t),_reactnative.Alert.alert("Export Failed","Failed to export private key. Please try again.")}}),[r]),d=_react.useCallback.call(void 0, e=>{let{nativeEvent:t}=e;console.error("WebView error:",t),_reactnative.Alert.alert("Export Failed","Failed to load export interface. Please try again.")},[]),m=_react.useCallback.call(void 0, e=>{l.current&&l.current.handleMessage(e)},[]);return c===""||r==null||r.signer==null||!_walletssdk.isExportableSignerAdapter.call(void 0, r.signer)?null:_jsxruntime.jsx.call(void 0, _reactnative.View,{style:n.webViewContainer,children:_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:a,source:{uri:c},style:n.webView,javaScriptEnabled:!0,domStorageEnabled:!0,onLoadEnd:E,onError:d,onHttpError:d,onMessage:m,startInLoadingState:!0,renderLoading:()=>_jsxruntime.jsx.call(void 0, _reactnative.View,{style:n.loadingContainer,children:_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:n.loadingText,children:"Loading..."})})})})}var n=_reactnative.StyleSheet.create({webViewContainer:{height:56,borderWidth:1,borderColor:"#E5E5E5",borderRadius:12,overflow:"hidden"},webView:{flex:1},loadingContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"#F5F5F5"},loadingText:{fontSize:16,color:"#666666"}});exports.a = j;
@@ -1 +1 @@
1
- import{c as h}from"./chunk-PCJMDUSI.mjs";import{a as y}from"./chunk-FX23A4BR.mjs";import{a as f}from"./chunk-5NA7YJYT.mjs";import{a as p}from"./chunk-FFQ6EQCL.mjs";import{a as d,b as m}from"./chunk-PSSAAY7D.mjs";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 R,embeddedCheckoutV3OutgoingEvents as O}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:R,outgoingEvents:O});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,paymentRequestEnabled:!0}),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
+ import{c as h}from"./chunk-PCJMDUSI.mjs";import{a as y}from"./chunk-FX23A4BR.mjs";import{a as f}from"./chunk-QVLCNPNG.mjs";import{a as p}from"./chunk-FFQ6EQCL.mjs";import{a as d,b as m}from"./chunk-PSSAAY7D.mjs";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 R,embeddedCheckoutV3OutgoingEvents as O}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:R,outgoingEvents:O});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,paymentRequestEnabled:!0}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?c(y,{payer:n.current.payment.crypto.payer,webViewClient:e}):c(H,{message:"If 'payment.crypto.enabled' is true, 'payment.crypto.payer' must be provided. Support for not providing a payer is not yet implemented."}):null]})}function U(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function F(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:m(d({},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}export{Y as a};
@@ -1 +1 @@
1
- import{a as o}from"./chunk-WWN5R3X2.mjs";import{a as e}from"./chunk-PSSAAY7D.mjs";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-4PMKF2DM.mjs";import{a as e}from"./chunk-PSSAAY7D.mjs";import{jsx as t}from"react/jsx-runtime";function i(d){return t(o,e({},d))}export{i as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkUMYAK2CTjs = require('./chunk-UMYAK2CT.js');var _react = require('react');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var l=_clientsdkreactbase.createLoggerContext.call(void 0, );function I({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=_react.useMemo.call(void 0, ()=>_chunkUMYAK2CTjs.a.call(void 0, o,r),[o,r]),c=(n=(t=(e=_expoconstants2.default.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=_expoconstants2.default.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return _jsxruntime.jsx.call(void 0, l.Provider,{value:g,children:_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}exports.a = l; exports.b = I;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkHQFWYQ4Ljs = require('./chunk-HQFWYQ4L.js');var _react = require('react');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var l=_clientsdkreactbase.createLoggerContext.call(void 0, );function I({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=_react.useMemo.call(void 0, ()=>_chunkHQFWYQ4Ljs.a.call(void 0, o,r),[o,r]),c=(n=(t=(e=_expoconstants2.default.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=_expoconstants2.default.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return _jsxruntime.jsx.call(void 0, l.Provider,{value:g,children:_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}exports.a = l; exports.b = I;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6BGT7YJWjs = require('./chunk-6BGT7YJW.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');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 _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _expodevicesigner = require('@crossmint/expo-device-signer');var _jsxruntime = require('react/jsx-runtime');function se({children:y,createOnLogin:A,appearance:G,headlessSigningFlow:S=!0,callbacks:z,deviceSignerKeyStorage:k}){let H=_react.useMemo.call(void 0, ()=>k!=null?k:new _expodevicesigner.NativeDeviceSignerKeyStorage,[]),{crossmint:K}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),n=_clientsdkreactbase.useLogger.call(void 0, _chunk6BGT7YJWjs.a),{apiKey:R,appId:E}=K,W=_react.useMemo.call(void 0, ()=>{let e=_commonsdkbase.validateAPIKey.call(void 0, R);if(!e.isValid)throw new Error("Invalid API key");return e},[R]),x=_react.useMemo.call(void 0, ()=>_clientsigners.environmentUrlConfig[W.environment],[W.environment]),f=_react.useRef.call(void 0, null),t=_react.useRef.call(void 0, null),[D,_]=_react.useState.call(void 0, !1),v=_react.useRef.call(void 0, !1),s=_react.useRef.call(void 0, !1),i=_react.useRef.call(void 0, 0),P=_react.useRef.call(void 0, 0),F=_react.useMemo.call(void 0, ()=>E!=null?{crossmintAppId:E}:{},[E]),l=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(t.current!=null){let r=t.current;if(s.current){n.info("react-native.wallet.webview.handshake.skip.in-progress",{trigger:e,generation:i.current});return}if(v.current&&r.isConnected){n.info("react-native.wallet.webview.handshake.skip.already-connected",{trigger:e,generation:i.current});return}s.current=!0;let a=Date.now();P.current=a;let o=i.current;try{n.info("react-native.wallet.webview.handshake.start",{trigger:e,generation:o,platform:_reactnative.Platform.OS}),v.current=!0,r.isConnected=!1,yield r.handshakeWithChild();let c=Date.now()-a;n.info("react-native.wallet.webview.handshake.success",{trigger:e,generation:o,durationMs:c})}catch(c){let d=Date.now()-a;o===i.current&&(v.current=!1),n.error("react-native.wallet.webview.handshake.error",{trigger:e,generation:o,durationMs:d,error:c instanceof Error?c.message:String(c)}),console.error("[CrossmintWalletProvider] Handshake error:",c)}finally{o===i.current&&(s.current=!1)}}else n.warn("react-native.wallet.webview.handshake.skip",{trigger:e,reason:"parent not initialized"})}),[n]);_react.useEffect.call(void 0, ()=>{f.current!=null&&t.current==null&&(n.info("react-native.wallet.webview.initializing"),t.current=new (0, _clientsdkrnwindow.WebViewParent)(f,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[_clientsigners.SignerErrorCode.IndexedDbFatal]}}),n.info("react-native.wallet.webview.initialized"),l("eager"))},[D,n,l]);let j=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var e,r;n.info("react-native.wallet.webview.onLoadEnd",{handshakeInProgress:s.current,isConnected:(r=(e=t.current)==null?void 0:e.isConnected)!=null?r:!1,generation:i.current}),yield l("onLoadEnd")}),[n,l]),B=_react.useCallback.call(void 0, e=>{var o,c;let r=t.current;if(r==null)return;let a=e.nativeEvent.data;if(a==="frame-ready"){n.info("react-native.wallet.webview.frame-ready.received",{handshakeInProgress:s.current,isConnected:(c=(o=t.current)==null?void 0:o.isConnected)!=null?c:!1,generation:i.current,msSinceHandshakeStart:P.current>0?Date.now()-P.current:null}),l("frame-ready");return}try{let d=JSON.parse(a);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let I=d.type.split(".")[1],O=(d.data||[]).map(u=>{try{return u==="[Function]"||u==="[Circular Reference]"||u==="[Unserializable Object]"?u:JSON.parse(u)}catch(we){return u}}),m=`react-native.wallet.webview.console.${I}`,b={webview_args:O};switch(I){case"log":n.info(m,b);break;case"error":n.error(m,b);break;case"warn":n.warn(m,b);break;case"info":n.info(m,b);break;case"debug":n.debug(m,b);break;default:n.info("react-native.wallet.webview.console.unknown",{webview_method:I,webview_args:O})}return}}catch(d){}r.handleMessage(e)},[n,l]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:A,appearance:G,headlessSigningFlow:S,initializeWebView:()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){n.info("react-native.wallet.webview.init.start"),_(!0);let e=0,r=100;for(;t.current==null&&e<r;)yield new Promise(a=>setTimeout(a,50)),e++;if(t.current==null)throw n.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");n.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:z,renderUI:S?void 0:({emailSignerProps:e,phoneSignerProps:r})=>_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _chunkYJORUMPBjs.a,_chunkJ42HASCIjs.a.call(void 0, {},e)),_jsxruntime.jsx.call(void 0, _chunkMVVSGLQLjs.a,_chunkJ42HASCIjs.a.call(void 0, {},r))]}),clientTEEConnection:()=>{if(t.current==null)throw new Error("WebView not ready or handshake incomplete");return t.current},deviceSignerKeyStorage:H,children:[y,D&&_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:x},globals:F,onLoadEnd:j,onMessage:B,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.terminated",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},onRenderProcessGone:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.renderGone",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[W.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function Pe(y){return _jsxruntime.jsx.call(void 0, se,_chunkJ42HASCIjs.a.call(void 0, {},y))}exports.a = Pe;
@@ -1 +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 _chunkJCGFTIMBjs = require('./chunk-JCGFTIMB.js');var _commonsdkbase = require('@crossmint/common-sdk-base');var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _expodevice = require('expo-device'); var e = _interopRequireWildcard(_expodevice);function P(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=_commonsdkbase.validateAPIKey.call(void 0, n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new (0, _commonsdkbase.SdkLogger)({packageName:_chunkJCGFTIMBjs.a.name,packageVersion:_chunkJCGFTIMBjs.a.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=_expoconstants2.default.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=_expoconstants2.default.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new (0, _commonsdkbase.ReactNativeDatadogSink)(d,N,o);return a.addSink(h),w(a),a}function w(n){_reactnative.AppState.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}exports.a = P;
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 _chunkYVITECJTjs = require('./chunk-YVITECJT.js');var _commonsdkbase = require('@crossmint/common-sdk-base');var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _expodevice = require('expo-device'); var e = _interopRequireWildcard(_expodevice);function P(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=_commonsdkbase.validateAPIKey.call(void 0, n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new (0, _commonsdkbase.SdkLogger)({packageName:_chunkYVITECJTjs.a.name,packageVersion:_chunkYVITECJTjs.a.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=_expoconstants2.default.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=_expoconstants2.default.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new (0, _commonsdkbase.ReactNativeDatadogSink)(d,N,o);return a.addSink(h),w(a),a}function w(n){_reactnative.AppState.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}exports.a = P;
@@ -1 +1 @@
1
- import{a as r}from"./chunk-5Q523RQT.mjs";import{SdkLogger as C,ReactNativeDatadogSink as R,validateAPIKey as S}from"@crossmint/common-sdk-base";import{AppState as b}from"react-native";import D from"expo-constants";import*as e from"expo-device";function _(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=S(n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new C({packageName:r.name,packageVersion:r.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=D.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=D.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new R(d,N,o);return a.addSink(h),w(a),a}function w(n){b.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}export{_ as a};
1
+ import{a as r}from"./chunk-VGA23PJK.mjs";import{SdkLogger as C,ReactNativeDatadogSink as R,validateAPIKey as S}from"@crossmint/common-sdk-base";import{AppState as b}from"react-native";import D from"expo-constants";import*as e from"expo-device";function _(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=S(n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new C({packageName:r.name,packageVersion:r.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=D.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=D.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new R(d,N,o);return a.addSink(h),w(a),a}function w(n){b.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}export{_ as a};
@@ -1 +1 @@
1
- import{a as n}from"./chunk-5Q523RQT.mjs";import{CrossmintApiClient as e}from"@crossmint/common-sdk-base";function C(i,t){return new e(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:n.version},apiKeyExpectations:t}})}export{C as a};
1
+ import{a as n}from"./chunk-VGA23PJK.mjs";import{CrossmintApiClient as e}from"@crossmint/common-sdk-base";function C(i,t){return new e(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:n.version},apiKeyExpectations:t}})}export{C as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJCGFTIMBjs = require('./chunk-JCGFTIMB.js');var _commonsdkbase = require('@crossmint/common-sdk-base');function a(i,t){return new (0, _commonsdkbase.CrossmintApiClient)(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:_chunkJCGFTIMBjs.a.version},apiKeyExpectations:t}})}exports.a = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYVITECJTjs = require('./chunk-YVITECJT.js');var _commonsdkbase = require('@crossmint/common-sdk-base');function a(i,t){return new (0, _commonsdkbase.CrossmintApiClient)(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:_chunkYVITECJTjs.a.version},apiKeyExpectations:t}})}exports.a = a;
@@ -1 +1 @@
1
- import{a as m}from"./chunk-BPPN5Q6Y.mjs";import{useMemo as v}from"react";import d from"expo-constants";import{CrossmintProvider as f,createLoggerContext as P}from"@crossmint/client-sdk-react-base";import{jsx as p}from"react/jsx-runtime";var l=P();function N({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=v(()=>m(o,r),[o,r]),c=(n=(t=(e=d.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=d.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return p(l.Provider,{value:g,children:p(f,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}export{l as a,N as b};
1
+ import{a as m}from"./chunk-LLHUAEZP.mjs";import{useMemo as v}from"react";import d from"expo-constants";import{CrossmintProvider as f,createLoggerContext as P}from"@crossmint/client-sdk-react-base";import{jsx as p}from"react/jsx-runtime";var l=P();function N({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=v(()=>m(o,r),[o,r]),c=(n=(t=(e=d.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=d.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return p(l.Provider,{value:g,children:p(f,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}export{l as a,N as b};
@@ -1 +1 @@
1
- var o={name:"@crossmint/client-sdk-react-native-ui",version:"1.0.0-beta.4",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","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","generate:docs":"typedoc && node scripts/generate-reference.mjs"},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","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},optionalDependencies:{"@crossmint/expo-device-signer":"workspace:*"},peerDependencies:{"@crossmint/expo-device-signer":"0.1.0-beta.2","@expo/config-plugins":">=9.0.0","@solana/web3.js":"^1.98.1","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"},peerDependenciesMeta:{"@crossmint/expo-device-signer":{optional:!0}}};export{o as a};
1
+ var c={name:"@crossmint/client-sdk-react-native-ui",version:"1.0.0-beta.5",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","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","generate:docs":"typedoc && node scripts/generate-reference.mjs"},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","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4","@crossmint/expo-device-signer":"workspace:*"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},peerDependencies:{"@crossmint/expo-device-signer":"0.1.0-beta.3","@expo/config-plugins":">=9.0.0","@solana/web3.js":"^1.98.1","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"},peerDependenciesMeta:{"@crossmint/expo-device-signer":{optional:!0}}};export{c as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYQEWHOQ7js = require('./chunk-YQEWHOQ7.js');var _chunkVACQTZRTjs = require('./chunk-VACQTZRT.js');var _chunkQV5Y4WDDjs = require('./chunk-QV5Y4WDD.js');var _chunk2D2RJCVXjs = require('./chunk-2D2RJCVX.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');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=_chunkJ42HASCIjs.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=_chunkQV5Y4WDDjs.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=>{_chunk2D2RJCVXjs.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:_chunkYQEWHOQ7js.c,paymentRequestEnabled:!0}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?_jsxruntime.jsx.call(void 0, _chunkVACQTZRTjs.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:_chunkJ42HASCIjs.b.call(void 0, _chunkJ42HASCIjs.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 _chunkYQEWHOQ7js = require('./chunk-YQEWHOQ7.js');var _chunkVACQTZRTjs = require('./chunk-VACQTZRT.js');var _chunkRFFLL7AOjs = require('./chunk-RFFLL7AO.js');var _chunk2D2RJCVXjs = require('./chunk-2D2RJCVX.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');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=_chunkJ42HASCIjs.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=_chunkRFFLL7AOjs.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=>{_chunk2D2RJCVXjs.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:_chunkYQEWHOQ7js.c,paymentRequestEnabled:!0}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?_jsxruntime.jsx.call(void 0, _chunkVACQTZRTjs.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:_chunkJ42HASCIjs.b.call(void 0, _chunkJ42HASCIjs.a.call(void 0, {},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}exports.a = Q;
@@ -0,0 +1 @@
1
+ import{a as M}from"./chunk-RO3XNRC3.mjs";import{a as L}from"./chunk-XNDIT72O.mjs";import{a as T}from"./chunk-3QSVHCEH.mjs";import{a as p,e as g}from"./chunk-PSSAAY7D.mjs";import{useCallback as V,useRef as w,useMemo as C,useEffect as J,useState as $}from"react";import{Platform as q,View as Q}from"react-native";import{RNWebView as X,WebViewParent as Y}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as U,signerInboundEvents as Z,signerOutboundEvents as ee,SignerErrorCode as ne}from"@crossmint/client-signers";import{validateAPIKey as re}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as te,useCrossmint as ae}from"@crossmint/client-sdk-react-base";import{NativeDeviceSignerKeyStorage as oe}from"@crossmint/expo-device-signer";import{useLogger as ie}from"@crossmint/client-sdk-react-base";import{Fragment as ce,jsx as h,jsxs as N}from"react/jsx-runtime";function se({children:y,createOnLogin:A,appearance:G,headlessSigningFlow:S=!0,callbacks:z,deviceSignerKeyStorage:k}){let H=C(()=>k!=null?k:new oe,[]),{crossmint:K}=ae("CrossmintWalletProvider must be used within CrossmintProvider"),n=ie(M),{apiKey:R,appId:E}=K,W=C(()=>{let e=re(R);if(!e.isValid)throw new Error("Invalid API key");return e},[R]),x=C(()=>U[W.environment],[W.environment]),f=w(null),t=w(null),[D,_]=$(!1),v=w(!1),s=w(!1),i=w(0),P=w(0),F=C(()=>E!=null?{crossmintAppId:E}:{},[E]),l=V(e=>g(this,null,function*(){if(t.current!=null){let r=t.current;if(s.current){n.info("react-native.wallet.webview.handshake.skip.in-progress",{trigger:e,generation:i.current});return}if(v.current&&r.isConnected){n.info("react-native.wallet.webview.handshake.skip.already-connected",{trigger:e,generation:i.current});return}s.current=!0;let a=Date.now();P.current=a;let o=i.current;try{n.info("react-native.wallet.webview.handshake.start",{trigger:e,generation:o,platform:q.OS}),v.current=!0,r.isConnected=!1,yield r.handshakeWithChild();let c=Date.now()-a;n.info("react-native.wallet.webview.handshake.success",{trigger:e,generation:o,durationMs:c})}catch(c){let d=Date.now()-a;o===i.current&&(v.current=!1),n.error("react-native.wallet.webview.handshake.error",{trigger:e,generation:o,durationMs:d,error:c instanceof Error?c.message:String(c)}),console.error("[CrossmintWalletProvider] Handshake error:",c)}finally{o===i.current&&(s.current=!1)}}else n.warn("react-native.wallet.webview.handshake.skip",{trigger:e,reason:"parent not initialized"})}),[n]);J(()=>{f.current!=null&&t.current==null&&(n.info("react-native.wallet.webview.initializing"),t.current=new Y(f,{incomingEvents:ee,outgoingEvents:Z,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[ne.IndexedDbFatal]}}),n.info("react-native.wallet.webview.initialized"),l("eager"))},[D,n,l]);let j=V(()=>g(this,null,function*(){var e,r;n.info("react-native.wallet.webview.onLoadEnd",{handshakeInProgress:s.current,isConnected:(r=(e=t.current)==null?void 0:e.isConnected)!=null?r:!1,generation:i.current}),yield l("onLoadEnd")}),[n,l]),B=V(e=>{var o,c;let r=t.current;if(r==null)return;let a=e.nativeEvent.data;if(a==="frame-ready"){n.info("react-native.wallet.webview.frame-ready.received",{handshakeInProgress:s.current,isConnected:(c=(o=t.current)==null?void 0:o.isConnected)!=null?c:!1,generation:i.current,msSinceHandshakeStart:P.current>0?Date.now()-P.current:null}),l("frame-ready");return}try{let d=JSON.parse(a);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let I=d.type.split(".")[1],O=(d.data||[]).map(u=>{try{return u==="[Function]"||u==="[Circular Reference]"||u==="[Unserializable Object]"?u:JSON.parse(u)}catch(we){return u}}),m=`react-native.wallet.webview.console.${I}`,b={webview_args:O};switch(I){case"log":n.info(m,b);break;case"error":n.error(m,b);break;case"warn":n.warn(m,b);break;case"info":n.info(m,b);break;case"debug":n.debug(m,b);break;default:n.info("react-native.wallet.webview.console.unknown",{webview_method:I,webview_args:O})}return}}catch(d){}r.handleMessage(e)},[n,l]);return N(te,{createOnLogin:A,appearance:G,headlessSigningFlow:S,initializeWebView:()=>g(this,null,function*(){n.info("react-native.wallet.webview.init.start"),_(!0);let e=0,r=100;for(;t.current==null&&e<r;)yield new Promise(a=>setTimeout(a,50)),e++;if(t.current==null)throw n.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");n.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:z,renderUI:S?void 0:({emailSignerProps:e,phoneSignerProps:r})=>N(ce,{children:[h(L,p({},e)),h(T,p({},r))]}),clientTEEConnection:()=>{if(t.current==null)throw new Error("WebView not ready or handshake incomplete");return t.current},deviceSignerKeyStorage:H,children:[y,D&&h(Q,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:h(X,{ref:f,source:{uri:x},globals:F,onLoadEnd:j,onMessage:B,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.terminated",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},onRenderProcessGone:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.renderGone",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[U[W.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function Ie(y){return h(se,p({},y))}export{Ie as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var o={name:"@crossmint/client-sdk-react-native-ui",version:"1.0.0-beta.4",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","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","generate:docs":"typedoc && node scripts/generate-reference.mjs"},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","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},optionalDependencies:{"@crossmint/expo-device-signer":"workspace:*"},peerDependencies:{"@crossmint/expo-device-signer":"0.1.0-beta.2","@expo/config-plugins":">=9.0.0","@solana/web3.js":"^1.98.1","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"},peerDependenciesMeta:{"@crossmint/expo-device-signer":{optional:!0}}};exports.a = o;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var c={name:"@crossmint/client-sdk-react-native-ui",version:"1.0.0-beta.5",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","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","generate:docs":"typedoc && node scripts/generate-reference.mjs"},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","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4","@crossmint/expo-device-signer":"workspace:*"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},peerDependencies:{"@crossmint/expo-device-signer":"0.1.0-beta.3","@expo/config-plugins":">=9.0.0","@solana/web3.js":"^1.98.1","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"},peerDependenciesMeta:{"@crossmint/expo-device-signer":{optional:!0}}};exports.a = c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVNOIGRIGjs = require('./chunk-VNOIGRIG.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkVNOIGRIGjs.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkX64DPUQJjs = require('./chunk-X64DPUQJ.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkX64DPUQJjs.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunkCKURJIEUjs = require('../../chunk-CKURJIEU.js');require('../../chunk-VNOIGRIG.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-QV5Y4WDD.js');require('../../chunk-JCGFTIMB.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkCKURJIEUjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunkZM4HMYQXjs = require('../../chunk-ZM4HMYQX.js');require('../../chunk-X64DPUQJ.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-RFFLL7AO.js');require('../../chunk-YVITECJT.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkZM4HMYQXjs.a;
@@ -1 +1 @@
1
- import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-45ZTGEVP.mjs";import"../../chunk-WWN5R3X2.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-5NA7YJYT.mjs";import"../../chunk-5Q523RQT.mjs";import"../../chunk-FFQ6EQCL.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-4XMG3KIU.mjs";import"../../chunk-4PMKF2DM.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-QVLCNPNG.mjs";import"../../chunk-VGA23PJK.mjs";import"../../chunk-FFQ6EQCL.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCKURJIEUjs = require('../../../chunk-CKURJIEU.js');require('../../../chunk-VNOIGRIG.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-QV5Y4WDD.js');require('../../../chunk-JCGFTIMB.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkCKURJIEUjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZM4HMYQXjs = require('../../../chunk-ZM4HMYQX.js');require('../../../chunk-X64DPUQJ.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-RFFLL7AO.js');require('../../../chunk-YVITECJT.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkZM4HMYQXjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-45ZTGEVP.mjs";import"../../../chunk-WWN5R3X2.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-5NA7YJYT.mjs";import"../../../chunk-5Q523RQT.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import{a}from"../../../chunk-4XMG3KIU.mjs";import"../../../chunk-4PMKF2DM.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-QVLCNPNG.mjs";import"../../../chunk-VGA23PJK.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVNOIGRIGjs = require('../../../chunk-VNOIGRIG.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-QV5Y4WDD.js');require('../../../chunk-JCGFTIMB.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunkVNOIGRIGjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkX64DPUQJjs = require('../../../chunk-X64DPUQJ.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-RFFLL7AO.js');require('../../../chunk-YVITECJT.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunkX64DPUQJjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-WWN5R3X2.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-5NA7YJYT.mjs";import"../../../chunk-5Q523RQT.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as EmbeddedCheckoutV3WebView};
1
+ import{a}from"../../../chunk-4PMKF2DM.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-QVLCNPNG.mjs";import"../../../chunk-VGA23PJK.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as EmbeddedCheckoutV3WebView};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-72MMCJ2E.js');var _chunkCKURJIEUjs = require('../../../chunk-CKURJIEU.js');require('../../../chunk-VNOIGRIG.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-QV5Y4WDD.js');require('../../../chunk-JCGFTIMB.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkCKURJIEUjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-72MMCJ2E.js');var _chunkZM4HMYQXjs = require('../../../chunk-ZM4HMYQX.js');require('../../../chunk-X64DPUQJ.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-RFFLL7AO.js');require('../../../chunk-YVITECJT.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkZM4HMYQXjs.a;
@@ -1 +1 @@
1
- import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-45ZTGEVP.mjs";import"../../../chunk-WWN5R3X2.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-5NA7YJYT.mjs";import"../../../chunk-5Q523RQT.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-4XMG3KIU.mjs";import"../../../chunk-4PMKF2DM.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-QVLCNPNG.mjs";import"../../../chunk-VGA23PJK.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-2PX34LDU.js');require('../chunk-AJMHVVST.js');require('../chunk-DKQZSNOO.js');require('../chunk-72MMCJ2E.js');var _chunkCKURJIEUjs = require('../chunk-CKURJIEU.js');require('../chunk-VNOIGRIG.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');require('../chunk-I4D3YJW2.js');var _chunkA2MEND3Djs = require('../chunk-A2MEND3D.js');var _chunkYJORUMPBjs = require('../chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-QV5Y4WDD.js');require('../chunk-JCGFTIMB.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkCKURJIEUjs.a; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkA2MEND3Djs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-2PX34LDU.js');require('../chunk-AJMHVVST.js');require('../chunk-DKQZSNOO.js');require('../chunk-72MMCJ2E.js');var _chunkZM4HMYQXjs = require('../chunk-ZM4HMYQX.js');require('../chunk-X64DPUQJ.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');require('../chunk-I4D3YJW2.js');var _chunk4HT7GY6Njs = require('../chunk-4HT7GY6N.js');var _chunkYJORUMPBjs = require('../chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-RFFLL7AO.js');require('../chunk-YVITECJT.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkZM4HMYQXjs.a; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunk4HT7GY6Njs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
@@ -1 +1 @@
1
- import"../chunk-UBHIBMTA.mjs";import"../chunk-5CLFJLE4.mjs";import"../chunk-TIQGKXQA.mjs";import"../chunk-MB7H3PBJ.mjs";import{a as c}from"../chunk-45ZTGEVP.mjs";import"../chunk-WWN5R3X2.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import"../chunk-J7Q2R6UH.mjs";import{a as d}from"../chunk-PNHVW6FM.mjs";import{a}from"../chunk-XNDIT72O.mjs";import{a as b}from"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-5NA7YJYT.mjs";import"../chunk-5Q523RQT.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{c as CrossmintEmbeddedCheckout,a as EmailSignersDialog,d as ExportPrivateKeyButton,b as PhoneSignersDialog};
1
+ import"../chunk-UBHIBMTA.mjs";import"../chunk-5CLFJLE4.mjs";import"../chunk-TIQGKXQA.mjs";import"../chunk-MB7H3PBJ.mjs";import{a as c}from"../chunk-4XMG3KIU.mjs";import"../chunk-4PMKF2DM.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import"../chunk-J7Q2R6UH.mjs";import{a as d}from"../chunk-3MXWZO3W.mjs";import{a}from"../chunk-XNDIT72O.mjs";import{a as b}from"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-QVLCNPNG.mjs";import"../chunk-VGA23PJK.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{c as CrossmintEmbeddedCheckout,a as EmailSignersDialog,d as ExportPrivateKeyButton,b as PhoneSignersDialog};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkA2MEND3Djs = require('../../chunk-A2MEND3D.js');require('../../chunk-J42HASCI.js');exports.ExportPrivateKeyButton = _chunkA2MEND3Djs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4HT7GY6Njs = require('../../chunk-4HT7GY6N.js');require('../../chunk-J42HASCI.js');exports.ExportPrivateKeyButton = _chunk4HT7GY6Njs.a;
@@ -1 +1 @@
1
- import{a}from"../../chunk-PNHVW6FM.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as ExportPrivateKeyButton};
1
+ import{a}from"../../chunk-3MXWZO3W.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as ExportPrivateKeyButton};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-AJMHVVST.js');var _chunkA2MEND3Djs = require('../../chunk-A2MEND3D.js');require('../../chunk-J42HASCI.js');exports.ExportPrivateKeyButton = _chunkA2MEND3Djs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-AJMHVVST.js');var _chunk4HT7GY6Njs = require('../../chunk-4HT7GY6N.js');require('../../chunk-J42HASCI.js');exports.ExportPrivateKeyButton = _chunk4HT7GY6Njs.a;
@@ -1 +1 @@
1
- import"../../chunk-5CLFJLE4.mjs";import{a}from"../../chunk-PNHVW6FM.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as ExportPrivateKeyButton};
1
+ import"../../chunk-5CLFJLE4.mjs";import{a}from"../../chunk-3MXWZO3W.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as ExportPrivateKeyButton};
package/dist/index.d.mts CHANGED
@@ -10,7 +10,7 @@ export { PhoneSignersDialog } from './components/signers/PhoneSignersDialog.mjs'
10
10
  export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './components/wallets/ExportPrivateKeyButton.mjs';
11
11
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
12
12
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
13
- export { Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, StellarWallet, Transaction, Transfers, Wallet } from '@crossmint/wallets-sdk';
13
+ export { Balances, Chain, EVMWallet, Signature, Signer, SolanaWallet, StellarWallet, Transaction, Transfers, Wallet } from '@crossmint/wallets-sdk';
14
14
  import 'react/jsx-runtime';
15
15
  import 'react';
16
16
  import '@crossmint/client-sdk-react-base/dist/providers/LoggerProvider';
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { PhoneSignersDialog } from './components/signers/PhoneSignersDialog.js';
10
10
  export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './components/wallets/ExportPrivateKeyButton.js';
11
11
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
12
12
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
13
- export { Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, StellarWallet, Transaction, Transfers, Wallet } from '@crossmint/wallets-sdk';
13
+ export { Balances, Chain, EVMWallet, Signature, Signer, SolanaWallet, StellarWallet, Transaction, Transfers, Wallet } from '@crossmint/wallets-sdk';
14
14
  import 'react/jsx-runtime';
15
15
  import 'react';
16
16
  import '@crossmint/client-sdk-react-base/dist/providers/LoggerProvider';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-C62HRWJA.js');var _chunkYPZNI4ABjs = require('./chunk-YPZNI4AB.js');var _chunkA7BCHGBQjs = require('./chunk-A7BCHGBQ.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunkCKURJIEUjs = require('./chunk-CKURJIEU.js');require('./chunk-VNOIGRIG.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');require('./chunk-I4D3YJW2.js');var _chunkA2MEND3Djs = require('./chunk-A2MEND3D.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');require('./chunk-F7VXWATP.js');require('./chunk-DC5HCBPK.js');require('./chunk-EI5LOD4Y.js');require('./chunk-QV5Y4WDD.js');require('./chunk-UMYAK2CT.js');require('./chunk-JCGFTIMB.js');var _chunkOGYBEE5Ajs = require('./chunk-OGYBEE5A.js');require('./chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('./chunk-77GXCNDP.js');require('./chunk-2D2RJCVX.js');require('./chunk-J42HASCI.js');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkOGYBEE5Ajs.b; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunkCKURJIEUjs.a; exports.CrossmintProvider = _chunkA7BCHGBQjs.b; exports.CrossmintWalletProvider = _chunkYPZNI4ABjs.a; exports.EVMWallet = _walletssdk.EVMWallet; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkA2MEND3Djs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.StellarWallet = _walletssdk.StellarWallet; exports.Wallet = _walletssdk.Wallet; exports.useCrossmint = _chunkOGYBEE5Ajs.d; exports.useCrossmintAuth = _chunkOGYBEE5Ajs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkOGYBEE5Ajs.e; exports.useWalletOtpSigner = _chunkOGYBEE5Ajs.f;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-C62HRWJA.js');var _chunkF4GXM2ZDjs = require('./chunk-F4GXM2ZD.js');var _chunk6BGT7YJWjs = require('./chunk-6BGT7YJW.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunkZM4HMYQXjs = require('./chunk-ZM4HMYQX.js');require('./chunk-X64DPUQJ.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');require('./chunk-I4D3YJW2.js');var _chunk4HT7GY6Njs = require('./chunk-4HT7GY6N.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');require('./chunk-F7VXWATP.js');require('./chunk-DC5HCBPK.js');require('./chunk-EI5LOD4Y.js');require('./chunk-RFFLL7AO.js');require('./chunk-HQFWYQ4L.js');require('./chunk-YVITECJT.js');var _chunkOGYBEE5Ajs = require('./chunk-OGYBEE5A.js');require('./chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('./chunk-77GXCNDP.js');require('./chunk-2D2RJCVX.js');require('./chunk-J42HASCI.js');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkOGYBEE5Ajs.b; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunkZM4HMYQXjs.a; exports.CrossmintProvider = _chunk6BGT7YJWjs.b; exports.CrossmintWalletProvider = _chunkF4GXM2ZDjs.a; exports.EVMWallet = _walletssdk.EVMWallet; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunk4HT7GY6Njs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.StellarWallet = _walletssdk.StellarWallet; exports.Wallet = _walletssdk.Wallet; exports.useCrossmint = _chunkOGYBEE5Ajs.d; exports.useCrossmintAuth = _chunkOGYBEE5Ajs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkOGYBEE5Ajs.e; exports.useWalletOtpSigner = _chunkOGYBEE5Ajs.f;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import"./chunk-I3QSTPTV.mjs";import{a as i}from"./chunk-ZDRK4SFH.mjs";import{b as l}from"./chunk-XGBJ4HA3.mjs";import"./chunk-UBHIBMTA.mjs";import"./chunk-5CLFJLE4.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as y}from"./chunk-45ZTGEVP.mjs";import"./chunk-WWN5R3X2.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import"./chunk-J7Q2R6UH.mjs";import{a as f}from"./chunk-PNHVW6FM.mjs";import{a as p}from"./chunk-XNDIT72O.mjs";import{a as m}from"./chunk-3QSVHCEH.mjs";import"./chunk-D5QADN6Z.mjs";import"./chunk-YLJDAK2S.mjs";import"./chunk-7USVT6EZ.mjs";import"./chunk-5NA7YJYT.mjs";import"./chunk-BPPN5Q6Y.mjs";import"./chunk-5Q523RQT.mjs";import{b as r,c as o,d as a,e as n,f as s}from"./chunk-F5O5W34O.mjs";import"./chunk-ZCKUSOGC.mjs";import{a as e,b as t}from"./chunk-IUDQDPIN.mjs";import"./chunk-FFQ6EQCL.mjs";import"./chunk-PSSAAY7D.mjs";import{EVMWallet as u,SolanaWallet as v,StellarWallet as C,Wallet as k}from"@crossmint/wallets-sdk";export{r as CrossmintAuthProvider,e as CrossmintCheckoutProvider,y as CrossmintEmbeddedCheckout,l as CrossmintProvider,i as CrossmintWalletProvider,u as EVMWallet,p as EmailSignersDialog,f as ExportPrivateKeyButton,m as PhoneSignersDialog,v as SolanaWallet,C as StellarWallet,k as Wallet,a as useCrossmint,o as useCrossmintAuth,t as useCrossmintCheckout,n as useWallet,s as useWalletOtpSigner};
1
+ import"./chunk-I3QSTPTV.mjs";import{a as i}from"./chunk-XSBVXPEK.mjs";import{b as p}from"./chunk-RO3XNRC3.mjs";import"./chunk-UBHIBMTA.mjs";import"./chunk-5CLFJLE4.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as y}from"./chunk-4XMG3KIU.mjs";import"./chunk-4PMKF2DM.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import"./chunk-J7Q2R6UH.mjs";import{a as f}from"./chunk-3MXWZO3W.mjs";import{a as l}from"./chunk-XNDIT72O.mjs";import{a as m}from"./chunk-3QSVHCEH.mjs";import"./chunk-D5QADN6Z.mjs";import"./chunk-YLJDAK2S.mjs";import"./chunk-7USVT6EZ.mjs";import"./chunk-QVLCNPNG.mjs";import"./chunk-LLHUAEZP.mjs";import"./chunk-VGA23PJK.mjs";import{b as r,c as o,d as a,e as n,f as s}from"./chunk-F5O5W34O.mjs";import"./chunk-ZCKUSOGC.mjs";import{a as t,b as e}from"./chunk-IUDQDPIN.mjs";import"./chunk-FFQ6EQCL.mjs";import"./chunk-PSSAAY7D.mjs";import{EVMWallet as v,SolanaWallet as C,StellarWallet as g,Wallet as k}from"@crossmint/wallets-sdk";export{r as CrossmintAuthProvider,t as CrossmintCheckoutProvider,y as CrossmintEmbeddedCheckout,p as CrossmintProvider,i as CrossmintWalletProvider,v as EVMWallet,l as EmailSignersDialog,f as ExportPrivateKeyButton,m as PhoneSignersDialog,C as SolanaWallet,g as StellarWallet,k as Wallet,a as useCrossmint,o as useCrossmintAuth,e as useCrossmintCheckout,n as useWallet,s as useWalletOtpSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUMYAK2CTjs = require('../chunk-UMYAK2CT.js');require('../chunk-JCGFTIMB.js');require('../chunk-J42HASCI.js');exports.initReactNativeLogger = _chunkUMYAK2CTjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHQFWYQ4Ljs = require('../chunk-HQFWYQ4L.js');require('../chunk-YVITECJT.js');require('../chunk-J42HASCI.js');exports.initReactNativeLogger = _chunkHQFWYQ4Ljs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-BPPN5Q6Y.mjs";import"../chunk-5Q523RQT.mjs";import"../chunk-PSSAAY7D.mjs";export{a as initReactNativeLogger};
1
+ import{a}from"../chunk-LLHUAEZP.mjs";import"../chunk-VGA23PJK.mjs";import"../chunk-PSSAAY7D.mjs";export{a as initReactNativeLogger};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkA7BCHGBQjs = require('../chunk-A7BCHGBQ.js');require('../chunk-UMYAK2CT.js');require('../chunk-JCGFTIMB.js');require('../chunk-J42HASCI.js');exports.CrossmintProvider = _chunkA7BCHGBQjs.b; exports.LoggerContext = _chunkA7BCHGBQjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6BGT7YJWjs = require('../chunk-6BGT7YJW.js');require('../chunk-HQFWYQ4L.js');require('../chunk-YVITECJT.js');require('../chunk-J42HASCI.js');exports.CrossmintProvider = _chunk6BGT7YJWjs.b; exports.LoggerContext = _chunk6BGT7YJWjs.a;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-XGBJ4HA3.mjs";import"../chunk-BPPN5Q6Y.mjs";import"../chunk-5Q523RQT.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintProvider,a as LoggerContext};
1
+ import{a,b}from"../chunk-RO3XNRC3.mjs";import"../chunk-LLHUAEZP.mjs";import"../chunk-VGA23PJK.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintProvider,a as LoggerContext};
@@ -19,9 +19,8 @@ interface CrossmintWalletProviderProps {
19
19
  onTransactionStart?: () => Promise<void>;
20
20
  };
21
21
  /**
22
- * Override the device signer key storage implementation. Defaults to `NativeDeviceSignerKeyStorage`
23
- * (Secure Enclave on iOS, Android Keystore on Android) when `@crossmint/expo-device-signer` is installed.
24
- * Useful for testing or environments where the native module is unavailable.
22
+ * Storage implementation for device signer keys. Defaults to `NativeDeviceSignerKeyStorage`
23
+ * (Secure Enclave on iOS, Android Keystore on Android). Override for testing or custom storage.
25
24
  */
26
25
  deviceSignerKeyStorage?: DeviceSignerKeyStorage;
27
26
  /** @internal */
@@ -19,9 +19,8 @@ interface CrossmintWalletProviderProps {
19
19
  onTransactionStart?: () => Promise<void>;
20
20
  };
21
21
  /**
22
- * Override the device signer key storage implementation. Defaults to `NativeDeviceSignerKeyStorage`
23
- * (Secure Enclave on iOS, Android Keystore on Android) when `@crossmint/expo-device-signer` is installed.
24
- * Useful for testing or environments where the native module is unavailable.
22
+ * Storage implementation for device signer keys. Defaults to `NativeDeviceSignerKeyStorage`
23
+ * (Secure Enclave on iOS, Android Keystore on Android). Override for testing or custom storage.
25
24
  */
26
25
  deviceSignerKeyStorage?: DeviceSignerKeyStorage;
27
26
  /** @internal */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYPZNI4ABjs = require('../chunk-YPZNI4AB.js');require('../chunk-A7BCHGBQ.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-UMYAK2CT.js');require('../chunk-JCGFTIMB.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkYPZNI4ABjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkF4GXM2ZDjs = require('../chunk-F4GXM2ZD.js');require('../chunk-6BGT7YJW.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-HQFWYQ4L.js');require('../chunk-YVITECJT.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkF4GXM2ZDjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-ZDRK4SFH.mjs";import"../chunk-XGBJ4HA3.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-BPPN5Q6Y.mjs";import"../chunk-5Q523RQT.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintWalletProvider};
1
+ import{a}from"../chunk-XSBVXPEK.mjs";import"../chunk-RO3XNRC3.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-LLHUAEZP.mjs";import"../chunk-VGA23PJK.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintWalletProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C62HRWJA.js');var _chunkYPZNI4ABjs = require('../chunk-YPZNI4AB.js');var _chunkA7BCHGBQjs = require('../chunk-A7BCHGBQ.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-UMYAK2CT.js');require('../chunk-JCGFTIMB.js');var _chunkOGYBEE5Ajs = require('../chunk-OGYBEE5A.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunkOGYBEE5Ajs.b; exports.CrossmintProvider = _chunkA7BCHGBQjs.b; exports.CrossmintWalletProvider = _chunkYPZNI4ABjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C62HRWJA.js');var _chunkF4GXM2ZDjs = require('../chunk-F4GXM2ZD.js');var _chunk6BGT7YJWjs = require('../chunk-6BGT7YJW.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-HQFWYQ4L.js');require('../chunk-YVITECJT.js');var _chunkOGYBEE5Ajs = require('../chunk-OGYBEE5A.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunkOGYBEE5Ajs.b; exports.CrossmintProvider = _chunk6BGT7YJWjs.b; exports.CrossmintWalletProvider = _chunkF4GXM2ZDjs.a;
@@ -1 +1 @@
1
- import"../chunk-I3QSTPTV.mjs";import{a as c}from"../chunk-ZDRK4SFH.mjs";import{b}from"../chunk-XGBJ4HA3.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-BPPN5Q6Y.mjs";import"../chunk-5Q523RQT.mjs";import{b as a}from"../chunk-F5O5W34O.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
1
+ import"../chunk-I3QSTPTV.mjs";import{a as c}from"../chunk-XSBVXPEK.mjs";import{b}from"../chunk-RO3XNRC3.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-LLHUAEZP.mjs";import"../chunk-VGA23PJK.mjs";import{b as a}from"../chunk-F5O5W34O.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQV5Y4WDDjs = require('../chunk-QV5Y4WDD.js');require('../chunk-JCGFTIMB.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunkQV5Y4WDDjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRFFLL7AOjs = require('../chunk-RFFLL7AO.js');require('../chunk-YVITECJT.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunkRFFLL7AOjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-5NA7YJYT.mjs";import"../chunk-5Q523RQT.mjs";import"../chunk-PSSAAY7D.mjs";export{a as createCrossmintApiClient};
1
+ import{a}from"../chunk-QVLCNPNG.mjs";import"../chunk-VGA23PJK.mjs";import"../chunk-PSSAAY7D.mjs";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": "1.0.0-beta.4",
3
+ "version": "1.0.0-beta.5",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -24,12 +24,13 @@
24
24
  "zod": "3.22.4",
25
25
  "@crossmint/client-sdk-auth": "1.3.0-beta.1",
26
26
  "@crossmint/client-sdk-base": "2.0.3-beta.1",
27
- "@crossmint/client-sdk-react-base": "2.0.0-beta.4",
27
+ "@crossmint/client-sdk-react-base": "2.0.0-beta.5",
28
28
  "@crossmint/client-sdk-rn-window": "0.3.15",
29
29
  "@crossmint/client-signers": "0.1.2",
30
30
  "@crossmint/common-sdk-auth": "1.1.0-beta.1",
31
31
  "@crossmint/common-sdk-base": "0.10.0-beta.1",
32
- "@crossmint/wallets-sdk": "1.0.0-beta.4"
32
+ "@crossmint/wallets-sdk": "1.0.0-beta.5",
33
+ "@crossmint/expo-device-signer": "0.1.0-beta.3"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@expo/config-plugins": "^9.0.17",
@@ -40,11 +41,8 @@
40
41
  "expo-secure-store": "~15.0.7",
41
42
  "expo-web-browser": "~15.0.8"
42
43
  },
43
- "optionalDependencies": {
44
- "@crossmint/expo-device-signer": "0.1.0-beta.2"
45
- },
46
44
  "peerDependencies": {
47
- "@crossmint/expo-device-signer": "0.1.0-beta.2",
45
+ "@crossmint/expo-device-signer": "0.1.0-beta.3",
48
46
  "@expo/config-plugins": ">=9.0.0",
49
47
  "@solana/web3.js": "^1.98.1",
50
48
  "expo-constants": ">=17 <19",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _clientsigners = require('@crossmint/client-signers');var _walletssdk = require('@crossmint/wallets-sdk');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _jsxruntime = require('react/jsx-runtime');function j({appearance:K}){let{wallet:r}=_clientsdkreactbase.useWallet.call(void 0, ),{crossmint:i}=_clientsdkreactbase.useCrossmint.call(void 0, ),a=_react.useRef.call(void 0, null),l=_react.useRef.call(void 0, null),[c,w]=_react.useState.call(void 0, "");_react.useEffect.call(void 0, ()=>{if(i!=null)try{let e=_commonsdkbase.validateAPIKey.call(void 0, i.apiKey);if(e.isValid){let t=_clientsigners.environmentUrlConfig[e.environment];w(`${t}/export`)}}catch(e){console.error("Failed to get TEE URL:",e)}},[i]);let E=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(!(r==null||a.current==null||e.nativeEvent.loading))try{if(r.signer!=null&&_walletssdk.isExportableSigner.call(void 0, r.signer)){let t=new (0, _clientsdkrnwindow.WebViewParent)(a,{incomingEvents:_clientsigners.exportSignerOutboundEvents,outgoingEvents:_clientsigners.exportSignerInboundEvents});l.current=t,yield t.handshakeWithChild(),yield r.signer._exportPrivateKey(t)}}catch(t){console.error("Failed to export private key:",t),_reactnative.Alert.alert("Export Failed","Failed to export private key. Please try again.")}}),[r]),d=_react.useCallback.call(void 0, e=>{let{nativeEvent:t}=e;console.error("WebView error:",t),_reactnative.Alert.alert("Export Failed","Failed to load export interface. Please try again.")},[]),m=_react.useCallback.call(void 0, e=>{l.current&&l.current.handleMessage(e)},[]);return c===""||r==null||r.signer==null||!_walletssdk.isExportableSigner.call(void 0, r.signer)?null:_jsxruntime.jsx.call(void 0, _reactnative.View,{style:n.webViewContainer,children:_jsxruntime.jsx.call(void 0, _clientsdkrnwindow.RNWebView,{ref:a,source:{uri:c},style:n.webView,javaScriptEnabled:!0,domStorageEnabled:!0,onLoadEnd:E,onError:d,onHttpError:d,onMessage:m,startInLoadingState:!0,renderLoading:()=>_jsxruntime.jsx.call(void 0, _reactnative.View,{style:n.loadingContainer,children:_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:n.loadingText,children:"Loading..."})})})})}var n=_reactnative.StyleSheet.create({webViewContainer:{height:56,borderWidth:1,borderColor:"#E5E5E5",borderRadius:12,overflow:"hidden"},webView:{flex:1},loadingContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"#F5F5F5"},loadingText:{fontSize:16,color:"#666666"}});exports.a = j;
@@ -1 +0,0 @@
1
- import{e as p}from"./chunk-PSSAAY7D.mjs";import{useState as v,useCallback as s,useRef as u,useEffect as y}from"react";import{View as g,Text as x,StyleSheet as V,Alert as f}from"react-native";import{useWallet as h,useCrossmint as C}from"@crossmint/client-sdk-react-base";import{environmentUrlConfig as W,exportSignerInboundEvents as P,exportSignerOutboundEvents as S}from"@crossmint/client-signers";import{isExportableSigner as b}from"@crossmint/wallets-sdk";import{validateAPIKey as F}from"@crossmint/common-sdk-base";import{WebViewParent as I,RNWebView as k}from"@crossmint/client-sdk-rn-window";import{jsx as o}from"react/jsx-runtime";function z({appearance:K}){let{wallet:r}=h(),{crossmint:i}=C(),a=u(null),l=u(null),[c,w]=v("");y(()=>{if(i!=null)try{let e=F(i.apiKey);if(e.isValid){let t=W[e.environment];w(`${t}/export`)}}catch(e){console.error("Failed to get TEE URL:",e)}},[i]);let E=s(e=>p(this,null,function*(){if(!(r==null||a.current==null||e.nativeEvent.loading))try{if(r.signer!=null&&b(r.signer)){let t=new I(a,{incomingEvents:S,outgoingEvents:P});l.current=t,yield t.handshakeWithChild(),yield r.signer._exportPrivateKey(t)}}catch(t){console.error("Failed to export private key:",t),f.alert("Export Failed","Failed to export private key. Please try again.")}}),[r]),d=s(e=>{let{nativeEvent:t}=e;console.error("WebView error:",t),f.alert("Export Failed","Failed to load export interface. Please try again.")},[]),m=s(e=>{l.current&&l.current.handleMessage(e)},[]);return c===""||r==null||r.signer==null||!b(r.signer)?null:o(g,{style:n.webViewContainer,children:o(k,{ref:a,source:{uri:c},style:n.webView,javaScriptEnabled:!0,domStorageEnabled:!0,onLoadEnd:E,onError:d,onHttpError:d,onMessage:m,startInLoadingState:!0,renderLoading:()=>o(g,{style:n.loadingContainer,children:o(x,{style:n.loadingText,children:"Loading..."})})})})}var n=V.create({webViewContainer:{height:56,borderWidth:1,borderColor:"#E5E5E5",borderRadius:12,overflow:"hidden"},webView:{flex:1},loadingContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"#F5F5F5"},loadingText:{fontSize:16,color:"#666666"}});export{z as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkA7BCHGBQjs = require('./chunk-A7BCHGBQ.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');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 _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var V=null;try{V=_chunkJ42HASCIjs.c.call(void 0, "@crossmint/expo-device-signer").NativeDeviceSignerKeyStorage}catch(p){}function ce({children:p,createOnLogin:G,appearance:K,headlessSigningFlow:D=!0,callbacks:z,deviceSignerKeyStorage:k}){let H=_react.useMemo.call(void 0, ()=>k!=null?k:V!=null?new V:void 0,[]),{crossmint:_}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),n=_clientsdkreactbase.useLogger.call(void 0, _chunkA7BCHGBQjs.a),{apiKey:R,appId:E}=_,W=_react.useMemo.call(void 0, ()=>{let e=_commonsdkbase.validateAPIKey.call(void 0, R);if(!e.isValid)throw new Error("Invalid API key");return e},[R]),x=_react.useMemo.call(void 0, ()=>_clientsigners.environmentUrlConfig[W.environment],[W.environment]),f=_react.useRef.call(void 0, null),t=_react.useRef.call(void 0, null),[O,F]=_react.useState.call(void 0, !1),v=_react.useRef.call(void 0, !1),s=_react.useRef.call(void 0, !1),i=_react.useRef.call(void 0, 0),P=_react.useRef.call(void 0, 0),j=_react.useMemo.call(void 0, ()=>E!=null?{crossmintAppId:E}:{},[E]),l=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(t.current!=null){let r=t.current;if(s.current){n.info("react-native.wallet.webview.handshake.skip.in-progress",{trigger:e,generation:i.current});return}if(v.current&&r.isConnected){n.info("react-native.wallet.webview.handshake.skip.already-connected",{trigger:e,generation:i.current});return}s.current=!0;let a=Date.now();P.current=a;let o=i.current;try{n.info("react-native.wallet.webview.handshake.start",{trigger:e,generation:o,platform:_reactnative.Platform.OS}),v.current=!0,r.isConnected=!1,yield r.handshakeWithChild();let c=Date.now()-a;n.info("react-native.wallet.webview.handshake.success",{trigger:e,generation:o,durationMs:c})}catch(c){let d=Date.now()-a;o===i.current&&(v.current=!1),n.error("react-native.wallet.webview.handshake.error",{trigger:e,generation:o,durationMs:d,error:c instanceof Error?c.message:String(c)}),console.error("[CrossmintWalletProvider] Handshake error:",c)}finally{o===i.current&&(s.current=!1)}}else n.warn("react-native.wallet.webview.handshake.skip",{trigger:e,reason:"parent not initialized"})}),[n]);_react.useEffect.call(void 0, ()=>{f.current!=null&&t.current==null&&(n.info("react-native.wallet.webview.initializing"),t.current=new (0, _clientsdkrnwindow.WebViewParent)(f,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[_clientsigners.SignerErrorCode.IndexedDbFatal]}}),n.info("react-native.wallet.webview.initialized"),l("eager"))},[O,n,l]);let B=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var e,r;n.info("react-native.wallet.webview.onLoadEnd",{handshakeInProgress:s.current,isConnected:(r=(e=t.current)==null?void 0:e.isConnected)!=null?r:!1,generation:i.current}),yield l("onLoadEnd")}),[n,l]),J=_react.useCallback.call(void 0, e=>{var o,c;let r=t.current;if(r==null)return;let a=e.nativeEvent.data;if(a==="frame-ready"){n.info("react-native.wallet.webview.frame-ready.received",{handshakeInProgress:s.current,isConnected:(c=(o=t.current)==null?void 0:o.isConnected)!=null?c:!1,generation:i.current,msSinceHandshakeStart:P.current>0?Date.now()-P.current:null}),l("frame-ready");return}try{let d=JSON.parse(a);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let I=d.type.split(".")[1],M=(d.data||[]).map(u=>{try{return u==="[Function]"||u==="[Circular Reference]"||u==="[Unserializable Object]"?u:JSON.parse(u)}catch(fe){return u}}),m=`react-native.wallet.webview.console.${I}`,b={webview_args:M};switch(I){case"log":n.info(m,b);break;case"error":n.error(m,b);break;case"warn":n.warn(m,b);break;case"info":n.info(m,b);break;case"debug":n.debug(m,b);break;default:n.info("react-native.wallet.webview.console.unknown",{webview_method:I,webview_args:M})}return}}catch(d){}r.handleMessage(e)},[n,l]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:G,appearance:K,headlessSigningFlow:D,initializeWebView:()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){n.info("react-native.wallet.webview.init.start"),F(!0);let e=0,r=100;for(;t.current==null&&e<r;)yield new Promise(a=>setTimeout(a,50)),e++;if(t.current==null)throw n.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");n.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:z,renderUI:D?void 0:({emailSignerProps:e,phoneSignerProps:r})=>_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _chunkYJORUMPBjs.a,_chunkJ42HASCIjs.a.call(void 0, {},e)),_jsxruntime.jsx.call(void 0, _chunkMVVSGLQLjs.a,_chunkJ42HASCIjs.a.call(void 0, {},r))]}),clientTEEConnection:()=>{if(t.current==null)throw new Error("WebView not ready or handshake incomplete");return t.current},deviceSignerKeyStorage:H,children:[p,O&&_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:x},globals:j,onLoadEnd:B,onMessage:J,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.terminated",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},onRenderProcessGone:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.renderGone",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[W.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function Pe(p){return _jsxruntime.jsx.call(void 0, ce,_chunkJ42HASCIjs.a.call(void 0, {},p))}exports.a = Pe;
@@ -1 +0,0 @@
1
- import{a as L}from"./chunk-XGBJ4HA3.mjs";import{a as T}from"./chunk-XNDIT72O.mjs";import{a as U}from"./chunk-3QSVHCEH.mjs";import{a as g,c as q,e as C}from"./chunk-PSSAAY7D.mjs";import{useCallback as S,useRef as w,useMemo as y,useEffect as $,useState as Q}from"react";import{Platform as X,View as Y}from"react-native";import{RNWebView as Z,WebViewParent as ee}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as N,signerInboundEvents as ne,signerOutboundEvents as re,SignerErrorCode as te}from"@crossmint/client-signers";import{validateAPIKey as ae}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as oe,useCrossmint as ie}from"@crossmint/client-sdk-react-base";import{useLogger as se}from"@crossmint/client-sdk-react-base";import{Fragment as le,jsx as h,jsxs as A}from"react/jsx-runtime";var V=null;try{V=q("@crossmint/expo-device-signer").NativeDeviceSignerKeyStorage}catch(p){}function ce({children:p,createOnLogin:G,appearance:K,headlessSigningFlow:D=!0,callbacks:z,deviceSignerKeyStorage:k}){let H=y(()=>k!=null?k:V!=null?new V:void 0,[]),{crossmint:_}=ie("CrossmintWalletProvider must be used within CrossmintProvider"),n=se(L),{apiKey:R,appId:E}=_,W=y(()=>{let e=ae(R);if(!e.isValid)throw new Error("Invalid API key");return e},[R]),x=y(()=>N[W.environment],[W.environment]),f=w(null),t=w(null),[O,F]=Q(!1),v=w(!1),s=w(!1),i=w(0),P=w(0),j=y(()=>E!=null?{crossmintAppId:E}:{},[E]),l=S(e=>C(this,null,function*(){if(t.current!=null){let r=t.current;if(s.current){n.info("react-native.wallet.webview.handshake.skip.in-progress",{trigger:e,generation:i.current});return}if(v.current&&r.isConnected){n.info("react-native.wallet.webview.handshake.skip.already-connected",{trigger:e,generation:i.current});return}s.current=!0;let a=Date.now();P.current=a;let o=i.current;try{n.info("react-native.wallet.webview.handshake.start",{trigger:e,generation:o,platform:X.OS}),v.current=!0,r.isConnected=!1,yield r.handshakeWithChild();let c=Date.now()-a;n.info("react-native.wallet.webview.handshake.success",{trigger:e,generation:o,durationMs:c})}catch(c){let d=Date.now()-a;o===i.current&&(v.current=!1),n.error("react-native.wallet.webview.handshake.error",{trigger:e,generation:o,durationMs:d,error:c instanceof Error?c.message:String(c)}),console.error("[CrossmintWalletProvider] Handshake error:",c)}finally{o===i.current&&(s.current=!1)}}else n.warn("react-native.wallet.webview.handshake.skip",{trigger:e,reason:"parent not initialized"})}),[n]);$(()=>{f.current!=null&&t.current==null&&(n.info("react-native.wallet.webview.initializing"),t.current=new ee(f,{incomingEvents:re,outgoingEvents:ne,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[te.IndexedDbFatal]}}),n.info("react-native.wallet.webview.initialized"),l("eager"))},[O,n,l]);let B=S(()=>C(this,null,function*(){var e,r;n.info("react-native.wallet.webview.onLoadEnd",{handshakeInProgress:s.current,isConnected:(r=(e=t.current)==null?void 0:e.isConnected)!=null?r:!1,generation:i.current}),yield l("onLoadEnd")}),[n,l]),J=S(e=>{var o,c;let r=t.current;if(r==null)return;let a=e.nativeEvent.data;if(a==="frame-ready"){n.info("react-native.wallet.webview.frame-ready.received",{handshakeInProgress:s.current,isConnected:(c=(o=t.current)==null?void 0:o.isConnected)!=null?c:!1,generation:i.current,msSinceHandshakeStart:P.current>0?Date.now()-P.current:null}),l("frame-ready");return}try{let d=JSON.parse(a);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let I=d.type.split(".")[1],M=(d.data||[]).map(u=>{try{return u==="[Function]"||u==="[Circular Reference]"||u==="[Unserializable Object]"?u:JSON.parse(u)}catch(fe){return u}}),m=`react-native.wallet.webview.console.${I}`,b={webview_args:M};switch(I){case"log":n.info(m,b);break;case"error":n.error(m,b);break;case"warn":n.warn(m,b);break;case"info":n.info(m,b);break;case"debug":n.debug(m,b);break;default:n.info("react-native.wallet.webview.console.unknown",{webview_method:I,webview_args:M})}return}}catch(d){}r.handleMessage(e)},[n,l]);return A(oe,{createOnLogin:G,appearance:K,headlessSigningFlow:D,initializeWebView:()=>C(this,null,function*(){n.info("react-native.wallet.webview.init.start"),F(!0);let e=0,r=100;for(;t.current==null&&e<r;)yield new Promise(a=>setTimeout(a,50)),e++;if(t.current==null)throw n.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");n.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:z,renderUI:D?void 0:({emailSignerProps:e,phoneSignerProps:r})=>A(le,{children:[h(T,g({},e)),h(U,g({},r))]}),clientTEEConnection:()=>{if(t.current==null)throw new Error("WebView not ready or handshake incomplete");return t.current},deviceSignerKeyStorage:H,children:[p,O&&h(Y,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:h(Z,{ref:f,source:{uri:x},globals:j,onLoadEnd:B,onMessage:J,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.terminated",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},onRenderProcessGone:()=>{var r,a,o;let e=i.current;i.current++,n.warn("react-native.wallet.webview.process.renderGone",{prevGeneration:e,newGeneration:i.current,wasConnected:(a=(r=t.current)==null?void 0:r.isConnected)!=null?a:!1,hadHandshakeInProgress:s.current}),v.current=!1,s.current=!1,t.current!=null&&(t.current.isConnected=!1),(o=f.current)==null||o.reload(),l("eager")},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[N[W.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function Ie(p){return h(ce,g({},p))}export{Ie as a};