@crossmint/client-sdk-react-native-ui 0.12.1 → 0.13.1

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 (90) hide show
  1. package/dist/{chunk-H634JNJ5.js → chunk-2MGL5I63.js} +1 -1
  2. package/dist/chunk-3QSVHCEH.mjs +2 -0
  3. package/dist/{chunk-VVGLF4LI.js → chunk-52FACMQU.js} +1 -1
  4. package/dist/chunk-73JXDPC6.mjs +1 -0
  5. package/dist/chunk-7USVT6EZ.mjs +1 -0
  6. package/dist/{chunk-EYV2W3FZ.js → chunk-BA3S4JTW.js} +1 -1
  7. package/dist/chunk-D5QADN6Z.mjs +1 -0
  8. package/dist/chunk-DC5HCBPK.js +1 -0
  9. package/dist/chunk-EI5LOD4Y.js +1 -0
  10. package/dist/chunk-F7VXWATP.js +1 -0
  11. package/dist/chunk-HS74BZSE.mjs +1 -0
  12. package/dist/chunk-I4D3YJW2.js +1 -0
  13. package/dist/chunk-J477SX6P.mjs +1 -0
  14. package/dist/{chunk-5GYKWZNM.mjs → chunk-JDPJ3RQI.mjs} +1 -1
  15. package/dist/chunk-K75IJHIB.js +1 -0
  16. package/dist/chunk-MKCQJOIO.js +1 -0
  17. package/dist/chunk-MVVSGLQL.js +2 -0
  18. package/dist/{chunk-SMZYFMGS.mjs → chunk-TD4LH4X3.mjs} +1 -1
  19. package/dist/chunk-TZRTTC6Q.mjs +1 -0
  20. package/dist/chunk-UBHIBMTA.mjs +0 -0
  21. package/dist/chunk-XNDIT72O.mjs +2 -0
  22. package/dist/chunk-YJORUMPB.js +2 -0
  23. package/dist/chunk-YLJDAK2S.mjs +1 -0
  24. package/dist/chunk-ZMB227CA.js +1 -0
  25. package/dist/components/embed/index.js +1 -1
  26. package/dist/components/embed/index.mjs +1 -1
  27. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -1
  28. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.mjs +1 -1
  29. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.js +1 -1
  30. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.mjs +1 -1
  31. package/dist/components/embed/v3/index.js +1 -1
  32. package/dist/components/embed/v3/index.mjs +1 -1
  33. package/dist/components/index.d.mts +3 -0
  34. package/dist/components/index.d.ts +3 -0
  35. package/dist/components/index.js +1 -1
  36. package/dist/components/index.mjs +1 -1
  37. package/dist/components/signers/BaseCodeInput.d.mts +22 -0
  38. package/dist/components/signers/BaseCodeInput.d.ts +22 -0
  39. package/dist/components/signers/BaseCodeInput.js +1 -0
  40. package/dist/components/signers/BaseCodeInput.mjs +1 -0
  41. package/dist/components/signers/BaseConfirmation.d.mts +15 -0
  42. package/dist/components/signers/BaseConfirmation.d.ts +15 -0
  43. package/dist/components/signers/BaseConfirmation.js +1 -0
  44. package/dist/components/signers/BaseConfirmation.mjs +1 -0
  45. package/dist/components/signers/EmailSignersDialog.d.mts +18 -0
  46. package/dist/components/signers/EmailSignersDialog.d.ts +18 -0
  47. package/dist/components/signers/EmailSignersDialog.js +1 -0
  48. package/dist/components/signers/EmailSignersDialog.mjs +1 -0
  49. package/dist/components/signers/PhoneSignersDialog.d.mts +18 -0
  50. package/dist/components/signers/PhoneSignersDialog.d.ts +18 -0
  51. package/dist/components/signers/PhoneSignersDialog.js +1 -0
  52. package/dist/components/signers/PhoneSignersDialog.mjs +1 -0
  53. package/dist/components/signers/index.d.mts +5 -0
  54. package/dist/components/signers/index.d.ts +5 -0
  55. package/dist/components/signers/index.js +1 -0
  56. package/dist/components/signers/index.mjs +1 -0
  57. package/dist/hooks/index.js +1 -1
  58. package/dist/hooks/index.mjs +1 -1
  59. package/dist/hooks/useAuth.js +1 -1
  60. package/dist/hooks/useAuth.mjs +1 -1
  61. package/dist/hooks/useWalletEmailSigner.js +1 -1
  62. package/dist/hooks/useWalletEmailSigner.mjs +1 -1
  63. package/dist/index.d.mts +2 -0
  64. package/dist/index.d.ts +2 -0
  65. package/dist/index.js +1 -1
  66. package/dist/index.mjs +1 -1
  67. package/dist/providers/CrossmintAuthProvider.js +1 -1
  68. package/dist/providers/CrossmintAuthProvider.mjs +1 -1
  69. package/dist/providers/CrossmintWalletProvider.d.mts +6 -10
  70. package/dist/providers/CrossmintWalletProvider.d.ts +6 -10
  71. package/dist/providers/CrossmintWalletProvider.js +1 -1
  72. package/dist/providers/CrossmintWalletProvider.mjs +1 -1
  73. package/dist/providers/index.js +1 -1
  74. package/dist/providers/index.mjs +1 -1
  75. package/dist/styles/index.d.mts +1 -0
  76. package/dist/styles/index.d.ts +1 -0
  77. package/dist/styles/index.js +1 -0
  78. package/dist/styles/index.mjs +1 -0
  79. package/dist/styles/theme.d.mts +13 -0
  80. package/dist/styles/theme.d.ts +13 -0
  81. package/dist/styles/theme.js +1 -0
  82. package/dist/styles/theme.mjs +1 -0
  83. package/dist/utils/createCrossmintApiClient.js +1 -1
  84. package/dist/utils/createCrossmintApiClient.mjs +1 -1
  85. package/package.json +12 -10
  86. package/dist/chunk-2VHW3TQ4.mjs +0 -1
  87. package/dist/chunk-6P37H6S3.js +0 -1
  88. package/dist/chunk-UJSLOKMP.mjs +0 -1
  89. /package/dist/{chunk-5VPIUSGF.js → chunk-2PX34LDU.js} +0 -0
  90. /package/dist/{chunk-4JA5AWD6.mjs → chunk-J7Q2R6UH.mjs} +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _commonsdkbase = require('@crossmint/common-sdk-base');var e={name:"@crossmint/client-sdk-react-native-ui",version:"0.12.1",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"},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",mitt:"3.0.1",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17","@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:{"@expo/config-plugins":">=9.0.0","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16","@solana/web3.js":"^1.98.1",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"}};function p(s,n){return new (0, _commonsdkbase.CrossmintApiClient)(s,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:e.version},apiKeyExpectations:n}})}exports.a = p;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _commonsdkbase = require('@crossmint/common-sdk-base');var e={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.1",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"},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","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","@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:{"@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"}};function p(s,t){return new (0, _commonsdkbase.CrossmintApiClient)(s,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:e.version},apiKeyExpectations:t}})}exports.a = p;
@@ -0,0 +1,2 @@
1
+ import{a as C}from"./chunk-D5QADN6Z.mjs";import{a as f}from"./chunk-YLJDAK2S.mjs";import{a as e}from"./chunk-7USVT6EZ.mjs";import{View as d,StyleSheet as x,Dimensions as I,Modal as M,TouchableOpacity as R,Text as S}from"react-native";import{PhoneIcon as B,Smartphone as z,X as D}from"lucide-react-native";import{jsx as t,jsxs as T}from"react/jsx-runtime";var{width:V}=I.get("window");function L({phone:i,open:n,setOpen:k,step:w,onSubmitOTP:P,onResendOTPCode:v,onSubmitPhone:O,rejectRef:r,appearance:o}){var m,u,c,g,y,b;function s(){var h;n&&((h=r.current)==null||h.call(r,new Error("User cancelled")),k(!1))}let l=x.create({modalOverlay:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.5)",justifyContent:"center",alignItems:"center",padding:16},modalContainer:{backgroundColor:((m=o==null?void 0:o.colors)==null?void 0:m.background)||e["cm-background-primary"],borderRadius:(o==null?void 0:o.borderRadius)||12,padding:32,width:Math.min(V-32,400),maxHeight:"80%",position:"relative",alignItems:"center",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:4,elevation:5},closeButton:{position:"absolute",top:16,right:16,width:32,height:32,borderRadius:6,backgroundColor:((u=o==null?void 0:o.colors)==null?void 0:u.inputBackground)||e["cm-muted-primary"],alignItems:"center",justifyContent:"center",zIndex:1}});return n?t(M,{visible:n,transparent:!0,animationType:"fade",onRequestClose:s,statusBarTranslucent:!0,children:t(d,{style:l.modalOverlay,children:T(d,{style:l.modalContainer,children:[t(R,{style:l.closeButton,onPress:s,hitSlop:{top:10,bottom:10,left:10,right:10},children:t(D,{size:16,color:((c=o==null?void 0:o.colors)==null?void 0:c.textSecondary)||e["cm-text-secondary"]})}),w==="initial"?t(f,{contactInfo:i!=null?i:"",contactType:"phone",icon:t(B,{size:22,color:((g=o==null?void 0:o.colors)==null?void 0:g.textPrimary)||e["cm-text-primary"]}),onConfirm:O,onCancel:s,appearance:o}):t(C,{contactInfo:i!=null?i:"",contactType:"phone",icon:t(d,{style:{backgroundColor:((y=o==null?void 0:o.colors)==null?void 0:y.accent)||e["cm-accent"],borderRadius:999,padding:12},children:t(z,{size:22,color:((b=o==null?void 0:o.colors)==null?void 0:b.background)||e["cm-background-primary"]})}),title:"Check your phone",description:T(S,{children:["A temporary login code has been sent via SMS to"," ",t(S,{style:{fontWeight:"bold"},children:i})]}),helpText:`Can't receive the SMS? Check your phone number.
2
+ Some messages may take several minutes to arrive.`,onSubmitOTP:P,onResendCode:v,appearance:o,otpLength:10,keyboardType:"number-pad",autoComplete:"sms-otp",textContentType:"oneTimeCode"})]})})}):null}export{L as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEYV2W3FZjs = require('./chunk-EYV2W3FZ.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkEYV2W3FZjs.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBA3S4JTWjs = require('./chunk-BA3S4JTW.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkBA3S4JTWjs.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
@@ -0,0 +1 @@
1
+ import{CrossmintApiClient as n}from"@crossmint/common-sdk-base";var e={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.1",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"},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","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","@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:{"@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"}};function d(s,t){return new n(s,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:e.version},apiKeyExpectations:t}})}export{d as a};
@@ -0,0 +1 @@
1
+ var r={"cm-text-primary":"#00150D","cm-text-secondary":"#67797F","cm-background-primary":"#FFFFFF","cm-muted-primary":"#F0F2F4","cm-hover":"#E9ECF0","cm-border":"#D9D9D9","cm-link":"#1A74E9","cm-accent":"#4CAF50","cm-danger":"#f44336"};export{r 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 _chunkH634JNJ5js = require('./chunk-H634JNJ5.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=_chunkH634JNJ5js.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 _chunk2MGL5I63js = require('./chunk-2MGL5I63.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=_chunk2MGL5I63js.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 o}from"./chunk-7USVT6EZ.mjs";import{e as b}from"./chunk-PSSAAY7D.mjs";import{useState as g}from"react";import{View as V,Text as n,TextInput as K,TouchableOpacity as D,StyleSheet as M,ActivityIndicator as Q}from"react-native";import{jsx as e,jsxs as X}from"react/jsx-runtime";function p({icon:H,title:L,description:F,helpText:N,onSubmitOTP:W,onResendCode:y,appearance:t,otpLength:E=9,keyboardType:U="default",autoComplete:$="one-time-code",textContentType:q="oneTimeCode"}){var f,h,B,C,S,I,P,k,R,z,w,O,v;let[r,x]=g(""),[s,u]=g(!1),[c,d]=g(null),[m,T]=g(0),G=()=>b(this,null,function*(){if(r.length!==0){u(!0),d(null);try{yield W(r),x("")}catch(l){console.error("Failed to verify OTP",l),d("Invalid code. Please try again.")}finally{u(!1)}}}),J=()=>b(this,null,function*(){if(!(m>0||!y)){u(!0),d(null);try{yield y(),T(60);let l=setInterval(()=>{T(A=>A<=1?(clearInterval(l),0):A-1)},1e3)}catch(l){console.error("Failed to resend OTP",l),d("Failed to resend code. Please try again.")}finally{u(!1)}}}),i=M.create({container:{width:"100%"},iconContainer:{alignItems:"center",marginBottom:8},title:{fontSize:18,fontWeight:"600",color:((f=t==null?void 0:t.colors)==null?void 0:f.textPrimary)||o["cm-text-primary"],textAlign:"center",marginBottom:8,marginTop:16},description:{fontSize:14,color:((h=t==null?void 0:t.colors)==null?void 0:h.textSecondary)||o["cm-text-secondary"],textAlign:"center",marginBottom:24,lineHeight:20},otpInput:{borderWidth:1,borderColor:c?((B=t==null?void 0:t.colors)==null?void 0:B.danger)||o["cm-danger"]:((C=t==null?void 0:t.colors)==null?void 0:C.border)||o["cm-border"],borderRadius:(t==null?void 0:t.borderRadius)||12,backgroundColor:((S=t==null?void 0:t.colors)==null?void 0:S.inputBackground)||o["cm-muted-primary"],padding:16,fontSize:16,color:((I=t==null?void 0:t.colors)==null?void 0:I.textPrimary)||o["cm-text-primary"],marginBottom:16,textAlign:"center"},errorText:{fontSize:14,color:((P=t==null?void 0:t.colors)==null?void 0:P.danger)||o["cm-danger"],textAlign:"center",marginBottom:16},helpText:{fontSize:12,color:((k=t==null?void 0:t.colors)==null?void 0:k.textSecondary)||o["cm-text-secondary"],textAlign:"center",marginBottom:16,lineHeight:16},submitButton:{backgroundColor:((R=t==null?void 0:t.colors)==null?void 0:R.accent)||o["cm-accent"],paddingVertical:16,paddingHorizontal:32,borderRadius:(t==null?void 0:t.borderRadius)||12,alignItems:"center",marginBottom:16},submitButtonDisabled:{opacity:.6},submitButtonText:{fontSize:16,fontWeight:"500",color:((z=t==null?void 0:t.colors)==null?void 0:z.background)||o["cm-background-primary"]},resendButton:{alignSelf:"center",paddingVertical:12,paddingHorizontal:16},resendButtonText:{fontSize:14,color:((w=t==null?void 0:t.colors)==null?void 0:w.accent)||o["cm-accent"],textAlign:"center"},resendButtonDisabled:{opacity:.6}});return X(V,{style:i.container,children:[e(V,{style:i.iconContainer,children:H}),e(n,{style:i.title,children:L}),e(n,{style:i.description,children:F}),e(K,{style:i.otpInput,placeholder:"Enter code",placeholderTextColor:((O=t==null?void 0:t.colors)==null?void 0:O.textSecondary)||o["cm-text-secondary"],value:r,onChangeText:l=>{x(l),d(null)},keyboardType:U,autoComplete:$,textContentType:q,editable:!s,maxLength:E}),c&&e(n,{style:i.errorText,children:c}),e(n,{style:i.helpText,children:N}),e(D,{style:[i.submitButton,(r.length===0||s)&&i.submitButtonDisabled],onPress:G,disabled:r.length===0||s,children:s?e(Q,{color:((v=t==null?void 0:t.colors)==null?void 0:v.background)||o["cm-background-primary"]}):e(n,{style:i.submitButtonText,children:"Submit"})}),y&&e(D,{style:[i.resendButton,m>0&&i.resendButtonDisabled],onPress:J,disabled:m>0||s,children:e(n,{style:i.resendButtonText,children:m>0?`Re-send code in ${m}s`:"Re-send code"})})]})}export{p as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEI5LOD4Yjs = require('./chunk-EI5LOD4Y.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _jsxruntime = require('react/jsx-runtime');function M({contactInfo:I,contactType:e,icon:v,onConfirm:z,onCancel:R,appearance:t}){var u,g,f,b,x,C,h,T,S,B;let[l,m]=_react.useState.call(void 0, !1),[c,y]=_react.useState.call(void 0, null),V=()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){m(!0),y(null);try{yield z()}catch(A){console.error(`Failed to send ${e} code`,A),y(`Failed to send ${e==="email"?"email":"SMS"}. Please try again.`)}finally{m(!1)}}),o=_reactnative.StyleSheet.create({container:{width:"100%"},title:{fontSize:24,fontWeight:"600",color:((u=t==null?void 0:t.colors)==null?void 0:u.textPrimary)||_chunkEI5LOD4Yjs.a["cm-text-primary"],textAlign:"center",marginBottom:8},description:{fontSize:16,color:((g=t==null?void 0:t.colors)==null?void 0:g.textSecondary)||_chunkEI5LOD4Yjs.a["cm-text-secondary"],textAlign:"center",marginBottom:24,lineHeight:22},contactContainer:{borderWidth:1,borderColor:((f=t==null?void 0:t.colors)==null?void 0:f.border)||_chunkEI5LOD4Yjs.a["cm-border"],borderRadius:(t==null?void 0:t.borderRadius)||12,padding:16,marginBottom:24,flexDirection:"row",alignItems:"center"},contactText:{fontSize:16,color:((b=t==null?void 0:t.colors)==null?void 0:b.textPrimary)||_chunkEI5LOD4Yjs.a["cm-text-primary"],marginLeft:12,flex:1},errorText:{fontSize:14,color:((x=t==null?void 0:t.colors)==null?void 0:x.danger)||_chunkEI5LOD4Yjs.a["cm-danger"],textAlign:"center",marginBottom:16},buttonContainer:{flexDirection:"row",gap:12},button:{flex:1,paddingVertical:16,paddingHorizontal:24,borderRadius:999,alignItems:"center",justifyContent:"center",minHeight:52},primaryButton:{backgroundColor:((C=t==null?void 0:t.colors)==null?void 0:C.accent)||_chunkEI5LOD4Yjs.a["cm-accent"]},secondaryButton:{backgroundColor:"transparent",borderWidth:1,borderColor:((h=t==null?void 0:t.colors)==null?void 0:h.border)||_chunkEI5LOD4Yjs.a["cm-border"]},disabledButton:{opacity:.6},buttonText:{fontSize:16,fontWeight:"500",color:((T=t==null?void 0:t.colors)==null?void 0:T.background)||_chunkEI5LOD4Yjs.a["cm-background-primary"]},secondaryButtonText:{color:((S=t==null?void 0:t.colors)==null?void 0:S.textPrimary)||_chunkEI5LOD4Yjs.a["cm-text-primary"]}});return _jsxruntime.jsxs.call(void 0, _reactnative.View,{style:o.container,children:[_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:o.title,children:"Confirm it's you"}),_jsxruntime.jsxs.call(void 0, _reactnative.Text,{style:o.description,children:["You're using this wallet for the first time on this device. Click 'Send code' to get a one-time verification code",e==="phone"?" via SMS":"","."]}),_jsxruntime.jsxs.call(void 0, _reactnative.View,{style:o.contactContainer,children:[v,_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:o.contactText,children:I})]}),c&&_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:o.errorText,children:c}),_jsxruntime.jsxs.call(void 0, _reactnative.View,{style:o.buttonContainer,children:[_jsxruntime.jsx.call(void 0, _reactnative.TouchableOpacity,{style:[o.button,o.secondaryButton],onPress:R,disabled:l,children:_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:[o.buttonText,o.secondaryButtonText],children:"Cancel"})}),_jsxruntime.jsx.call(void 0, _reactnative.TouchableOpacity,{style:[o.button,o.primaryButton,l&&o.disabledButton],onPress:V,disabled:l,children:l?_jsxruntime.jsx.call(void 0, _reactnative.ActivityIndicator,{color:((B=t==null?void 0:t.colors)==null?void 0:B.background)||_chunkEI5LOD4Yjs.a["cm-background-primary"]}):_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:o.buttonText,children:"Send code"})})]})]})}exports.a = M;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var m={"cm-text-primary":"#00150D","cm-text-secondary":"#67797F","cm-background-primary":"#FFFFFF","cm-muted-primary":"#F0F2F4","cm-hover":"#E9ECF0","cm-border":"#D9D9D9","cm-link":"#1A74E9","cm-accent":"#4CAF50","cm-danger":"#f44336"};exports.a = m;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEI5LOD4Yjs = require('./chunk-EI5LOD4Y.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _jsxruntime = require('react/jsx-runtime');function a({icon:H,title:L,description:F,helpText:N,onSubmitOTP:W,onResendCode:y,appearance:t,otpLength:E=9,keyboardType:U="default",autoComplete:$="one-time-code",textContentType:q="oneTimeCode"}){var f,h,B,C,S,I,P,k,R,z,w,O,v;let[r,x]=_react.useState.call(void 0, ""),[s,u]=_react.useState.call(void 0, !1),[c,d]=_react.useState.call(void 0, null),[m,T]=_react.useState.call(void 0, 0),G=()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(r.length!==0){u(!0),d(null);try{yield W(r),x("")}catch(l){console.error("Failed to verify OTP",l),d("Invalid code. Please try again.")}finally{u(!1)}}}),J=()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){if(!(m>0||!y)){u(!0),d(null);try{yield y(),T(60);let l=setInterval(()=>{T(A=>A<=1?(clearInterval(l),0):A-1)},1e3)}catch(l){console.error("Failed to resend OTP",l),d("Failed to resend code. Please try again.")}finally{u(!1)}}}),i=_reactnative.StyleSheet.create({container:{width:"100%"},iconContainer:{alignItems:"center",marginBottom:8},title:{fontSize:18,fontWeight:"600",color:((f=t==null?void 0:t.colors)==null?void 0:f.textPrimary)||_chunkEI5LOD4Yjs.a["cm-text-primary"],textAlign:"center",marginBottom:8,marginTop:16},description:{fontSize:14,color:((h=t==null?void 0:t.colors)==null?void 0:h.textSecondary)||_chunkEI5LOD4Yjs.a["cm-text-secondary"],textAlign:"center",marginBottom:24,lineHeight:20},otpInput:{borderWidth:1,borderColor:c?((B=t==null?void 0:t.colors)==null?void 0:B.danger)||_chunkEI5LOD4Yjs.a["cm-danger"]:((C=t==null?void 0:t.colors)==null?void 0:C.border)||_chunkEI5LOD4Yjs.a["cm-border"],borderRadius:(t==null?void 0:t.borderRadius)||12,backgroundColor:((S=t==null?void 0:t.colors)==null?void 0:S.inputBackground)||_chunkEI5LOD4Yjs.a["cm-muted-primary"],padding:16,fontSize:16,color:((I=t==null?void 0:t.colors)==null?void 0:I.textPrimary)||_chunkEI5LOD4Yjs.a["cm-text-primary"],marginBottom:16,textAlign:"center"},errorText:{fontSize:14,color:((P=t==null?void 0:t.colors)==null?void 0:P.danger)||_chunkEI5LOD4Yjs.a["cm-danger"],textAlign:"center",marginBottom:16},helpText:{fontSize:12,color:((k=t==null?void 0:t.colors)==null?void 0:k.textSecondary)||_chunkEI5LOD4Yjs.a["cm-text-secondary"],textAlign:"center",marginBottom:16,lineHeight:16},submitButton:{backgroundColor:((R=t==null?void 0:t.colors)==null?void 0:R.accent)||_chunkEI5LOD4Yjs.a["cm-accent"],paddingVertical:16,paddingHorizontal:32,borderRadius:(t==null?void 0:t.borderRadius)||12,alignItems:"center",marginBottom:16},submitButtonDisabled:{opacity:.6},submitButtonText:{fontSize:16,fontWeight:"500",color:((z=t==null?void 0:t.colors)==null?void 0:z.background)||_chunkEI5LOD4Yjs.a["cm-background-primary"]},resendButton:{alignSelf:"center",paddingVertical:12,paddingHorizontal:16},resendButtonText:{fontSize:14,color:((w=t==null?void 0:t.colors)==null?void 0:w.accent)||_chunkEI5LOD4Yjs.a["cm-accent"],textAlign:"center"},resendButtonDisabled:{opacity:.6}});return _jsxruntime.jsxs.call(void 0, _reactnative.View,{style:i.container,children:[_jsxruntime.jsx.call(void 0, _reactnative.View,{style:i.iconContainer,children:H}),_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:i.title,children:L}),_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:i.description,children:F}),_jsxruntime.jsx.call(void 0, _reactnative.TextInput,{style:i.otpInput,placeholder:"Enter code",placeholderTextColor:((O=t==null?void 0:t.colors)==null?void 0:O.textSecondary)||_chunkEI5LOD4Yjs.a["cm-text-secondary"],value:r,onChangeText:l=>{x(l),d(null)},keyboardType:U,autoComplete:$,textContentType:q,editable:!s,maxLength:E}),c&&_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:i.errorText,children:c}),_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:i.helpText,children:N}),_jsxruntime.jsx.call(void 0, _reactnative.TouchableOpacity,{style:[i.submitButton,(r.length===0||s)&&i.submitButtonDisabled],onPress:G,disabled:r.length===0||s,children:s?_jsxruntime.jsx.call(void 0, _reactnative.ActivityIndicator,{color:((v=t==null?void 0:t.colors)==null?void 0:v.background)||_chunkEI5LOD4Yjs.a["cm-background-primary"]}):_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:i.submitButtonText,children:"Submit"})}),y&&_jsxruntime.jsx.call(void 0, _reactnative.TouchableOpacity,{style:[i.resendButton,m>0&&i.resendButtonDisabled],onPress:J,disabled:m>0||s,children:_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:i.resendButtonText,children:m>0?`Re-send code in ${m}s`:"Re-send code"})})]})}exports.a = a;
@@ -0,0 +1 @@
1
+ import{a as S}from"./chunk-ZCKUSOGC.mjs";import{d as v,e as A}from"./chunk-PSSAAY7D.mjs";import{createContext as L,useEffect as N,useMemo as T,useState as b,useCallback as B}from"react";import*as u from"expo-web-browser";import d from"expo-constants";import{Platform as z}from"react-native";import{CrossmintAuthBaseProvider as F,useCrossmintAuthBase as G}from"@crossmint/client-sdk-react-base";import{useCrossmint as M,useWallet as Z}from"@crossmint/client-sdk-react-base";import{useContext as k}from"react";function I(){let r=k(w);if(r==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}var R=I;import{jsx as g}from"react/jsx-runtime";var W={google:null,twitter:null},V={crossmintAuth:void 0,login:()=>{},logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},w=L(V);function _({children:r}){let{experimental_setCustomAuth:e,experimental_customAuth:t}=M(),{user:o,jwt:i}=R();return N(()=>{i==null&&(t==null?void 0:t.jwt)!=null&&e(void 0),i!=null&&e({jwt:i,email:o==null?void 0:o.email})},[e,i,o]),r}function D({children:r,appSchema:e}){let t=G(),[o,i]=b(W),[f,a]=b(!1),p=Array.isArray(e)?e[0]:e,P=d.executionEnvironment==="storeClient"||d.appOwnership==="expo"||!!d.expoVersion?"exp://127.0.0.1:8081":p,x=B(()=>A(this,null,function*(){try{let c=Object.keys(W).map(n=>A(this,null,function*(){var m;let l=yield(m=t.crossmintAuth)==null?void 0:m.getOAuthUrl(n,{appSchema:P});return{[n]:l}})),h=Object.assign({},...yield Promise.all(c));i(h)}catch(s){console.error(s)}}),[t.crossmintAuth,P]);N(()=>{t.user==null&&x()},[x,t.user]);let E=()=>t.status==="initializing"?"initializing":f?"in-progress":t.jwt!=null?"logged-in":"logged-out",j=s=>A(this,null,function*(){var c,h;try{a(!0);let n=(h=o[s])!=null?h:yield(c=t.crossmintAuth)==null?void 0:c.getOAuthUrl(s,{appSchema:P});yield u.warmUpAsync();let l=new URL(n);if(s==="google"&&l.searchParams.append("provider_prompt","select_account"),z.OS==="android")yield u.openBrowserAsync(l.toString());else{let m=yield u.openAuthSessionAsync(l.toString());m.type==="success"&&(yield y(m.url))}yield u.coolDownAsync()}catch(n){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",n),new Error(`Error during OAuth login: ${n}`)}finally{a(!1)}}),y=B(s=>A(this,null,function*(){var h;let c=s.includes("://")?$(s):s;if(c!=null)try{return a(!0),yield(h=t.crossmintAuth)==null?void 0:h.handleRefreshAuthMaterial(c)}catch(n){throw n}finally{a(!1)}return null}),[t.crossmintAuth]);return g(w.Provider,{value:{crossmintAuth:t.crossmintAuth,logout:t.logout,jwt:t.jwt,user:t.user,status:E(),getUser:t.getUser,login:()=>{},loginWithOAuth:j,createAuthSession:y},children:g(_,{children:r})})}function ct(t){var o=t,{children:r}=o,e=v(o,["children"]);var a,p;let i=(p=e.appSchema)!=null?p:(a=d.expoConfig)==null?void 0:a.scheme,f=T(()=>{var C;return(C=e.storageProvider)!=null?C:new S},[e.storageProvider]);return g(F,{onLoginSuccess:e.onLoginSuccess,refreshRoute:e.refreshRoute,logoutRoute:e.logoutRoute,storageProvider:f,children:g(D,{appSchema:i,children:r})})}var $=r=>{let e=/[?&]oneTimeSecret=([^&#]+)/,t=r.match(e);return t?decodeURIComponent(t[1]):void 0};export{w as a,ct as b,I as c,R as d,M as e,Z as f};
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ import{e as n}from"./chunk-PSSAAY7D.mjs";import{useCallback as o,useContext as u}from"react";import{CrossmintWalletBaseContext as p}from"@crossmint/client-sdk-react-base";var s=i=>()=>{throw new Error(`${i} is not available. Make sure you're using an email signer wallet.`)};function h(){let i=u(p);if(i==null)throw new Error("useWalletEmailSigner must be used within CrossmintWalletProvider");let{emailSignerState:t}=i,l=o(()=>n(this,null,function*(){var e;return t.sendEmailWithOtp||s("sendEmailWithOtp")(),yield(e=t.sendEmailWithOtp)==null?void 0:e.call(t)}),[t.sendEmailWithOtp]),a=o(e=>n(this,null,function*(){var r;return t.verifyOtp||s("verifyOtp")(),yield(r=t.verifyOtp)==null?void 0:r.call(t,e)}),[t.verifyOtp]),c=o(e=>{var r;t.reject||s("reject")(),(r=t.reject)==null||r.call(t,e)},[t.reject]);return{needsAuth:t.needsAuth,sendEmailWithOtp:l,verifyOtp:a,reject:c}}export{h as a};
@@ -1 +1 @@
1
- import{a as o}from"./chunk-SMZYFMGS.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-TD4LH4X3.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};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkSHTETN4Cjs = require('./chunk-SHTETN4C.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _expowebbrowser = require('expo-web-browser'); var u = _interopRequireWildcard(_expowebbrowser);var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _reactnative = require('react-native');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');function k(){let r=_react.useContext.call(void 0, w);if(r==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}var U=k;var _jsxruntime = require('react/jsx-runtime');var B={google:null,twitter:null},G={crossmintAuth:void 0,login:()=>{},logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},w= exports.a =_react.createContext.call(void 0, G);function V({children:r}){let{experimental_setCustomAuth:e,experimental_customAuth:t}=_clientsdkreactbase.useCrossmint.call(void 0, ),{user:o,jwt:i}=U();return _react.useEffect.call(void 0, ()=>{i==null&&(t==null?void 0:t.jwt)!=null&&e(void 0),i!=null&&e({jwt:i,email:o==null?void 0:o.email})},[e,i,o]),r}function _({children:r,appSchema:e}){let t=_clientsdkreactbase.useCrossmintAuthBase.call(void 0, ),[o,i]=_react.useState.call(void 0, B),[f,a]=_react.useState.call(void 0, !1),p=Array.isArray(e)?e[0]:e,P=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":p,x=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){try{let c=Object.keys(B).map(n=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var m;let l=yield(m=t.crossmintAuth)==null?void 0:m.getOAuthUrl(n,{appSchema:P});return{[n]:l}})),h=Object.assign({},...yield Promise.all(c));i(h)}catch(s){console.error(s)}}),[t.crossmintAuth,P]);_react.useEffect.call(void 0, ()=>{t.user==null&&x()},[x,t.user]);let N=()=>t.status==="initializing"?"initializing":f?"in-progress":t.jwt!=null?"logged-in":"logged-out",E=s=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var c,h;try{a(!0);let n=(h=o[s])!=null?h:yield(c=t.crossmintAuth)==null?void 0:c.getOAuthUrl(s,{appSchema:P});yield u.warmUpAsync();let l=new URL(n);if(s==="google"&&l.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield u.openBrowserAsync(l.toString());else{let m=yield u.openAuthSessionAsync(l.toString());m.type==="success"&&(yield y(m.url))}yield u.coolDownAsync()}catch(n){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",n),new Error(`Error during OAuth login: ${n}`)}finally{a(!1)}}),y=_react.useCallback.call(void 0, s=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var h;let c=s.includes("://")?D(s):s;if(c!=null)try{return a(!0),yield(h=t.crossmintAuth)==null?void 0:h.handleRefreshAuthMaterial(c)}catch(n){throw n}finally{a(!1)}return null}),[t.crossmintAuth]);return _jsxruntime.jsx.call(void 0, w.Provider,{value:{crossmintAuth:t.crossmintAuth,logout:t.logout,jwt:t.jwt,user:t.user,status:N(),getUser:t.getUser,login:()=>{},loginWithOAuth:E,createAuthSession:y},children:_jsxruntime.jsx.call(void 0, V,{children:r})})}function at(t){var o=t,{children:r}=o,e=_chunkJ42HASCIjs.d.call(void 0, o,["children"]);var a,p;let i=(p=e.appSchema)!=null?p:(a=_expoconstants2.default.expoConfig)==null?void 0:a.scheme,f=_react.useMemo.call(void 0, ()=>{var C;return(C=e.storageProvider)!=null?C:new _chunkSHTETN4Cjs.a},[e.storageProvider]);return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintAuthBaseProvider,{onLoginSuccess:e.onLoginSuccess,refreshRoute:e.refreshRoute,logoutRoute:e.logoutRoute,storageProvider:f,children:_jsxruntime.jsx.call(void 0, _,{appSchema:i,children:r})})}var D=r=>{let e=/[?&]oneTimeSecret=([^&#]+)/,t=r.match(e);return t?decodeURIComponent(t[1]):void 0};exports.a = w; exports.b = at; exports.c = k; exports.d = U; exports.e = _clientsdkreactbase.useCrossmint; exports.f = _clientsdkreactbase.useWallet;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var s=i=>()=>{throw new Error(`${i} is not available. Make sure you're using an email signer wallet.`)};function f(){let i=_react.useContext.call(void 0, _clientsdkreactbase.CrossmintWalletBaseContext);if(i==null)throw new Error("useWalletEmailSigner must be used within CrossmintWalletProvider");let{emailSignerState:t}=i,l=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var e;return t.sendEmailWithOtp||s("sendEmailWithOtp")(),yield(e=t.sendEmailWithOtp)==null?void 0:e.call(t)}),[t.sendEmailWithOtp]),a=_react.useCallback.call(void 0, e=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var r;return t.verifyOtp||s("verifyOtp")(),yield(r=t.verifyOtp)==null?void 0:r.call(t,e)}),[t.verifyOtp]),c=_react.useCallback.call(void 0, e=>{var r;t.reject||s("reject")(),(r=t.reject)==null||r.call(t,e)},[t.reject]);return{needsAuth:t.needsAuth,sendEmailWithOtp:l,verifyOtp:a,reject:c}}exports.a = f;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkF7VXWATPjs = require('./chunk-F7VXWATP.js');var _chunkDC5HCBPKjs = require('./chunk-DC5HCBPK.js');var _chunkEI5LOD4Yjs = require('./chunk-EI5LOD4Y.js');var _reactnative = require('react-native');var _lucidereactnative = require('lucide-react-native');var _jsxruntime = require('react/jsx-runtime');var{width:V}=_reactnative.Dimensions.get("window");function H({phone:i,open:n,setOpen:k,step:w,onSubmitOTP:P,onResendOTPCode:v,onSubmitPhone:O,rejectRef:r,appearance:o}){var m,u,c,g,y,b;function s(){var h;n&&((h=r.current)==null||h.call(r,new Error("User cancelled")),k(!1))}let l=_reactnative.StyleSheet.create({modalOverlay:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.5)",justifyContent:"center",alignItems:"center",padding:16},modalContainer:{backgroundColor:((m=o==null?void 0:o.colors)==null?void 0:m.background)||_chunkEI5LOD4Yjs.a["cm-background-primary"],borderRadius:(o==null?void 0:o.borderRadius)||12,padding:32,width:Math.min(V-32,400),maxHeight:"80%",position:"relative",alignItems:"center",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:4,elevation:5},closeButton:{position:"absolute",top:16,right:16,width:32,height:32,borderRadius:6,backgroundColor:((u=o==null?void 0:o.colors)==null?void 0:u.inputBackground)||_chunkEI5LOD4Yjs.a["cm-muted-primary"],alignItems:"center",justifyContent:"center",zIndex:1}});return n?_jsxruntime.jsx.call(void 0, _reactnative.Modal,{visible:n,transparent:!0,animationType:"fade",onRequestClose:s,statusBarTranslucent:!0,children:_jsxruntime.jsx.call(void 0, _reactnative.View,{style:l.modalOverlay,children:_jsxruntime.jsxs.call(void 0, _reactnative.View,{style:l.modalContainer,children:[_jsxruntime.jsx.call(void 0, _reactnative.TouchableOpacity,{style:l.closeButton,onPress:s,hitSlop:{top:10,bottom:10,left:10,right:10},children:_jsxruntime.jsx.call(void 0, _lucidereactnative.X,{size:16,color:((c=o==null?void 0:o.colors)==null?void 0:c.textSecondary)||_chunkEI5LOD4Yjs.a["cm-text-secondary"]})}),w==="initial"?_jsxruntime.jsx.call(void 0, _chunkDC5HCBPKjs.a,{contactInfo:i!=null?i:"",contactType:"phone",icon:_jsxruntime.jsx.call(void 0, _lucidereactnative.PhoneIcon,{size:22,color:((g=o==null?void 0:o.colors)==null?void 0:g.textPrimary)||_chunkEI5LOD4Yjs.a["cm-text-primary"]}),onConfirm:O,onCancel:s,appearance:o}):_jsxruntime.jsx.call(void 0, _chunkF7VXWATPjs.a,{contactInfo:i!=null?i:"",contactType:"phone",icon:_jsxruntime.jsx.call(void 0, _reactnative.View,{style:{backgroundColor:((y=o==null?void 0:o.colors)==null?void 0:y.accent)||_chunkEI5LOD4Yjs.a["cm-accent"],borderRadius:999,padding:12},children:_jsxruntime.jsx.call(void 0, _lucidereactnative.Smartphone,{size:22,color:((b=o==null?void 0:o.colors)==null?void 0:b.background)||_chunkEI5LOD4Yjs.a["cm-background-primary"]})}),title:"Check your phone",description:_jsxruntime.jsxs.call(void 0, _reactnative.Text,{children:["A temporary login code has been sent via SMS to"," ",_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:{fontWeight:"bold"},children:i})]}),helpText:`Can't receive the SMS? Check your phone number.
2
+ Some messages may take several minutes to arrive.`,onSubmitOTP:P,onResendCode:v,appearance:o,otpLength:10,keyboardType:"number-pad",autoComplete:"sms-otp",textContentType:"oneTimeCode"})]})})}):null}exports.a = H;
@@ -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-UJSLOKMP.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-73JXDPC6.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};
@@ -0,0 +1 @@
1
+ import{a as W}from"./chunk-XNDIT72O.mjs";import{a as g}from"./chunk-3QSVHCEH.mjs";import{a as c,e as f}from"./chunk-PSSAAY7D.mjs";import{useCallback as C,useRef as E,useMemo as w,useEffect as L,useState as N}from"react";import{View as D}from"react-native";import{RNWebView as S,WebViewParent as x}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as P,signerInboundEvents as z,signerOutboundEvents as F,SignerErrorCode as j}from"@crossmint/client-signers";import{validateAPIKey as H}from"@crossmint/common-sdk-base";import{CrossmintWalletUIBaseProvider as K,useCrossmint as B}from"@crossmint/client-sdk-react-base";import{Fragment as J,jsx as a,jsxs as y}from"react/jsx-runtime";function G({children:d,createOnLogin:V,appearance:I,headlessSigningFlow:b=!0,callbacks:k}){let{crossmint:U}=B("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:v,appId:u}=U,p=w(()=>{let e=H(v);if(!e.isValid)throw new Error("Invalid API key");return e},[v]),O=w(()=>P[p.environment],[p.environment]),i=E(null),r=E(null),[h,R]=N(!1),M=w(()=>u!=null?{crossmintAppId:u}:{},[u]);L(()=>{i.current!=null&&r.current==null&&(r.current=new x(i,{incomingEvents:F,outgoingEvents:z,recovery:{recoverableErrorCodes:[j.IndexedDbFatal]}}))},[h]);let T=C(()=>f(this,null,function*(){let e=r.current;if(e!=null)try{e.isConnected=!1,yield e.handshakeWithChild()}catch(n){console.error("[CrossmintWalletProvider] Handshake error:",n)}}),[]),A=C(e=>{let n=r.current;if(n!=null){try{let t=JSON.parse(e.nativeEvent.data);if(t&&typeof t.type=="string"&&t.type.startsWith("console.")){let m=t.type.split(".")[1],s=(t.data||[]).map(o=>{try{return o==="[Function]"||o==="[Circular Reference]"||o==="[Unserializable Object]"?o:JSON.parse(o)}catch(Q){return o}}),l=`[WebView:${m.toUpperCase()}]`;switch(m){case"log":console.log(l,...s);break;case"error":console.error(l,...s);break;case"warn":console.warn(l,...s);break;case"info":console.info(l,...s);break;default:console.log(`[WebView Unknown:${m}]`,...s)}return}}catch(t){}n.handleMessage(e)}},[]);return y(K,{createOnLogin:V,appearance:I,headlessSigningFlow:b,initializeWebView:()=>f(this,null,function*(){R(!0);let e=0,n=100;for(;r.current==null&&e<n;)yield new Promise(t=>setTimeout(t,50)),e++;if(r.current==null)throw new Error("WebView not ready or handshake incomplete")}),callbacks:k,renderUI:b?void 0:({emailSignerProps:e,phoneSignerProps:n})=>y(J,{children:[a(W,c({},e)),a(g,c({},n))]}),clientTEEConnection:()=>{if(r.current==null)throw new Error("WebView not ready or handshake incomplete");return r.current},children:[d,h&&a(D,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:a(S,{ref:i,source:{uri:O},globals:M,onLoadEnd:T,onMessage:A,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var e;return(e=i.current)==null?void 0:e.reload()},onRenderProcessGone:()=>{var e;return(e=i.current)==null?void 0:e.reload()},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[P[p.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function ae(d){return a(G,c({},d))}export{ae as a};
File without changes
@@ -0,0 +1,2 @@
1
+ import{a as C}from"./chunk-D5QADN6Z.mjs";import{a as f}from"./chunk-YLJDAK2S.mjs";import{a as e}from"./chunk-7USVT6EZ.mjs";import{View as l,Modal as v,StyleSheet as P,Dimensions as V,TouchableOpacity as M,Text as w}from"react-native";import{MailCheckIcon as R,MailIcon as B,X as E}from"lucide-react-native";import{jsx as t,jsxs as k}from"react/jsx-runtime";var{width:z}=V.get("window");function X({email:i,open:n,setOpen:T,step:x,onSubmitOTP:S,onResendOTPCode:I,onSubmitEmail:O,rejectRef:r,appearance:o}){var m,u,c,g,b,h;function s(){var y;n&&((y=r.current)==null||y.call(r,new Error),T(!1))}let d=P.create({centeredView:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.5)",justifyContent:"center",alignItems:"center",padding:16},modalView:{backgroundColor:((m=o==null?void 0:o.colors)==null?void 0:m.background)||e["cm-background-primary"],borderRadius:(o==null?void 0:o.borderRadius)||12,padding:32,alignItems:"center",width:Math.min(z-32,400),maxHeight:"80%",position:"relative",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:4,elevation:5},closeButton:{position:"absolute",top:16,right:16,width:32,height:32,borderRadius:6,backgroundColor:((u=o==null?void 0:o.colors)==null?void 0:u.inputBackground)||e["cm-muted-primary"],alignItems:"center",justifyContent:"center",zIndex:1}});return n?t(v,{visible:n,transparent:!0,animationType:"fade",onRequestClose:s,statusBarTranslucent:!0,children:t(l,{style:d.centeredView,children:k(l,{style:d.modalView,children:[t(M,{style:d.closeButton,onPress:s,hitSlop:{top:10,bottom:10,left:10,right:10},children:t(E,{size:16,color:((c=o==null?void 0:o.colors)==null?void 0:c.textSecondary)||e["cm-text-secondary"]})}),x==="initial"?t(f,{contactInfo:i!=null?i:"",contactType:"email",icon:t(B,{size:22,color:((g=o==null?void 0:o.colors)==null?void 0:g.textPrimary)||e["cm-text-primary"]}),onConfirm:O,onCancel:s,appearance:o}):t(C,{contactInfo:i!=null?i:"",contactType:"email",icon:t(l,{style:{backgroundColor:((b=o==null?void 0:o.colors)==null?void 0:b.accent)||e["cm-accent"],borderRadius:999,padding:12},children:t(R,{size:22,color:((h=o==null?void 0:o.colors)==null?void 0:h.background)||e["cm-background-primary"]})}),title:"Check your email",description:k(w,{children:["A temporary login code has been sent to"," ",t(w,{style:{fontWeight:"bold"},children:i})]}),helpText:`Can't find the email? Check spam folder.
2
+ Some emails may take several minutes to arrive.`,onSubmitOTP:S,onResendCode:I,appearance:o,otpLength:9,keyboardType:"default",autoComplete:"one-time-code",textContentType:"oneTimeCode"})]})})}):null}export{X as a};
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkF7VXWATPjs = require('./chunk-F7VXWATP.js');var _chunkDC5HCBPKjs = require('./chunk-DC5HCBPK.js');var _chunkEI5LOD4Yjs = require('./chunk-EI5LOD4Y.js');var _reactnative = require('react-native');var _lucidereactnative = require('lucide-react-native');var _jsxruntime = require('react/jsx-runtime');var{width:z}=_reactnative.Dimensions.get("window");function L({email:i,open:n,setOpen:T,step:x,onSubmitOTP:S,onResendOTPCode:I,onSubmitEmail:O,rejectRef:r,appearance:o}){var m,u,c,g,b,h;function s(){var y;n&&((y=r.current)==null||y.call(r,new Error),T(!1))}let d=_reactnative.StyleSheet.create({centeredView:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.5)",justifyContent:"center",alignItems:"center",padding:16},modalView:{backgroundColor:((m=o==null?void 0:o.colors)==null?void 0:m.background)||_chunkEI5LOD4Yjs.a["cm-background-primary"],borderRadius:(o==null?void 0:o.borderRadius)||12,padding:32,alignItems:"center",width:Math.min(z-32,400),maxHeight:"80%",position:"relative",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:4,elevation:5},closeButton:{position:"absolute",top:16,right:16,width:32,height:32,borderRadius:6,backgroundColor:((u=o==null?void 0:o.colors)==null?void 0:u.inputBackground)||_chunkEI5LOD4Yjs.a["cm-muted-primary"],alignItems:"center",justifyContent:"center",zIndex:1}});return n?_jsxruntime.jsx.call(void 0, _reactnative.Modal,{visible:n,transparent:!0,animationType:"fade",onRequestClose:s,statusBarTranslucent:!0,children:_jsxruntime.jsx.call(void 0, _reactnative.View,{style:d.centeredView,children:_jsxruntime.jsxs.call(void 0, _reactnative.View,{style:d.modalView,children:[_jsxruntime.jsx.call(void 0, _reactnative.TouchableOpacity,{style:d.closeButton,onPress:s,hitSlop:{top:10,bottom:10,left:10,right:10},children:_jsxruntime.jsx.call(void 0, _lucidereactnative.X,{size:16,color:((c=o==null?void 0:o.colors)==null?void 0:c.textSecondary)||_chunkEI5LOD4Yjs.a["cm-text-secondary"]})}),x==="initial"?_jsxruntime.jsx.call(void 0, _chunkDC5HCBPKjs.a,{contactInfo:i!=null?i:"",contactType:"email",icon:_jsxruntime.jsx.call(void 0, _lucidereactnative.MailIcon,{size:22,color:((g=o==null?void 0:o.colors)==null?void 0:g.textPrimary)||_chunkEI5LOD4Yjs.a["cm-text-primary"]}),onConfirm:O,onCancel:s,appearance:o}):_jsxruntime.jsx.call(void 0, _chunkF7VXWATPjs.a,{contactInfo:i!=null?i:"",contactType:"email",icon:_jsxruntime.jsx.call(void 0, _reactnative.View,{style:{backgroundColor:((b=o==null?void 0:o.colors)==null?void 0:b.accent)||_chunkEI5LOD4Yjs.a["cm-accent"],borderRadius:999,padding:12},children:_jsxruntime.jsx.call(void 0, _lucidereactnative.MailCheckIcon,{size:22,color:((h=o==null?void 0:o.colors)==null?void 0:h.background)||_chunkEI5LOD4Yjs.a["cm-background-primary"]})}),title:"Check your email",description:_jsxruntime.jsxs.call(void 0, _reactnative.Text,{children:["A temporary login code has been sent to"," ",_jsxruntime.jsx.call(void 0, _reactnative.Text,{style:{fontWeight:"bold"},children:i})]}),helpText:`Can't find the email? Check spam folder.
2
+ Some emails may take several minutes to arrive.`,onSubmitOTP:S,onResendCode:I,appearance:o,otpLength:9,keyboardType:"default",autoComplete:"one-time-code",textContentType:"oneTimeCode"})]})})}):null}exports.a = L;
@@ -0,0 +1 @@
1
+ import{a as i}from"./chunk-7USVT6EZ.mjs";import{e as w}from"./chunk-PSSAAY7D.mjs";import{useState as P}from"react";import{View as d,Text as n,TouchableOpacity as k,StyleSheet as W,ActivityIndicator as H}from"react-native";import{jsx as r,jsxs as s}from"react/jsx-runtime";function N({contactInfo:I,contactType:e,icon:v,onConfirm:z,onCancel:R,appearance:t}){var u,g,f,b,x,C,h,T,S,B;let[l,m]=P(!1),[c,y]=P(null),V=()=>w(this,null,function*(){m(!0),y(null);try{yield z()}catch(A){console.error(`Failed to send ${e} code`,A),y(`Failed to send ${e==="email"?"email":"SMS"}. Please try again.`)}finally{m(!1)}}),o=W.create({container:{width:"100%"},title:{fontSize:24,fontWeight:"600",color:((u=t==null?void 0:t.colors)==null?void 0:u.textPrimary)||i["cm-text-primary"],textAlign:"center",marginBottom:8},description:{fontSize:16,color:((g=t==null?void 0:t.colors)==null?void 0:g.textSecondary)||i["cm-text-secondary"],textAlign:"center",marginBottom:24,lineHeight:22},contactContainer:{borderWidth:1,borderColor:((f=t==null?void 0:t.colors)==null?void 0:f.border)||i["cm-border"],borderRadius:(t==null?void 0:t.borderRadius)||12,padding:16,marginBottom:24,flexDirection:"row",alignItems:"center"},contactText:{fontSize:16,color:((b=t==null?void 0:t.colors)==null?void 0:b.textPrimary)||i["cm-text-primary"],marginLeft:12,flex:1},errorText:{fontSize:14,color:((x=t==null?void 0:t.colors)==null?void 0:x.danger)||i["cm-danger"],textAlign:"center",marginBottom:16},buttonContainer:{flexDirection:"row",gap:12},button:{flex:1,paddingVertical:16,paddingHorizontal:24,borderRadius:999,alignItems:"center",justifyContent:"center",minHeight:52},primaryButton:{backgroundColor:((C=t==null?void 0:t.colors)==null?void 0:C.accent)||i["cm-accent"]},secondaryButton:{backgroundColor:"transparent",borderWidth:1,borderColor:((h=t==null?void 0:t.colors)==null?void 0:h.border)||i["cm-border"]},disabledButton:{opacity:.6},buttonText:{fontSize:16,fontWeight:"500",color:((T=t==null?void 0:t.colors)==null?void 0:T.background)||i["cm-background-primary"]},secondaryButtonText:{color:((S=t==null?void 0:t.colors)==null?void 0:S.textPrimary)||i["cm-text-primary"]}});return s(d,{style:o.container,children:[r(n,{style:o.title,children:"Confirm it's you"}),s(n,{style:o.description,children:["You're using this wallet for the first time on this device. Click 'Send code' to get a one-time verification code",e==="phone"?" via SMS":"","."]}),s(d,{style:o.contactContainer,children:[v,r(n,{style:o.contactText,children:I})]}),c&&r(n,{style:o.errorText,children:c}),s(d,{style:o.buttonContainer,children:[r(k,{style:[o.button,o.secondaryButton],onPress:R,disabled:l,children:r(n,{style:[o.buttonText,o.secondaryButtonText],children:"Cancel"})}),r(k,{style:[o.button,o.primaryButton,l&&o.disabledButton],onPress:V,disabled:l,children:l?r(H,{color:((B=t==null?void 0:t.colors)==null?void 0:B.background)||i["cm-background-primary"]}):r(n,{style:o.buttonText,children:"Send code"})})]})]})}export{N as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});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');function G({children:d,createOnLogin:V,appearance:I,headlessSigningFlow:b=!0,callbacks:k}){let{crossmint:U}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:v,appId:u}=U,p=_react.useMemo.call(void 0, ()=>{let e=_commonsdkbase.validateAPIKey.call(void 0, v);if(!e.isValid)throw new Error("Invalid API key");return e},[v]),O=_react.useMemo.call(void 0, ()=>_clientsigners.environmentUrlConfig[p.environment],[p.environment]),i=_react.useRef.call(void 0, null),r=_react.useRef.call(void 0, null),[h,R]=_react.useState.call(void 0, !1),M=_react.useMemo.call(void 0, ()=>u!=null?{crossmintAppId:u}:{},[u]);_react.useEffect.call(void 0, ()=>{i.current!=null&&r.current==null&&(r.current=new (0, _clientsdkrnwindow.WebViewParent)(i,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents,recovery:{recoverableErrorCodes:[_clientsigners.SignerErrorCode.IndexedDbFatal]}}))},[h]);let T=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){let e=r.current;if(e!=null)try{e.isConnected=!1,yield e.handshakeWithChild()}catch(n){console.error("[CrossmintWalletProvider] Handshake error:",n)}}),[]),A=_react.useCallback.call(void 0, e=>{let n=r.current;if(n!=null){try{let t=JSON.parse(e.nativeEvent.data);if(t&&typeof t.type=="string"&&t.type.startsWith("console.")){let m=t.type.split(".")[1],s=(t.data||[]).map(o=>{try{return o==="[Function]"||o==="[Circular Reference]"||o==="[Unserializable Object]"?o:JSON.parse(o)}catch(Q){return o}}),l=`[WebView:${m.toUpperCase()}]`;switch(m){case"log":console.log(l,...s);break;case"error":console.error(l,...s);break;case"warn":console.warn(l,...s);break;case"info":console.info(l,...s);break;default:console.log(`[WebView Unknown:${m}]`,...s)}return}}catch(t){}n.handleMessage(e)}},[]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletUIBaseProvider,{createOnLogin:V,appearance:I,headlessSigningFlow:b,initializeWebView:()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){R(!0);let e=0,n=100;for(;r.current==null&&e<n;)yield new Promise(t=>setTimeout(t,50)),e++;if(r.current==null)throw new Error("WebView not ready or handshake incomplete")}),callbacks:k,renderUI:b?void 0:({emailSignerProps:e,phoneSignerProps:n})=>_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, {},n))]}),clientTEEConnection:()=>{if(r.current==null)throw new Error("WebView not ready or handshake incomplete");return r.current},children:[d,h&&_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:i,source:{uri:O},globals:M,onLoadEnd:T,onMessage:A,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var e;return(e=i.current)==null?void 0:e.reload()},onRenderProcessGone:()=>{var e;return(e=i.current)==null?void 0:e.reload()},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[p.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function se(d){return _jsxruntime.jsx.call(void 0, G,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = se;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunkVVGLF4LIjs = require('../../chunk-VVGLF4LI.js');require('../../chunk-EYV2W3FZ.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-H634JNJ5.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkVVGLF4LIjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunk52FACMQUjs = require('../../chunk-52FACMQU.js');require('../../chunk-BA3S4JTW.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-2MGL5I63.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk52FACMQUjs.a;
@@ -1 +1 @@
1
- import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-5GYKWZNM.mjs";import"../../chunk-SMZYFMGS.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-UJSLOKMP.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-JDPJ3RQI.mjs";import"../../chunk-TD4LH4X3.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-73JXDPC6.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 _chunkVVGLF4LIjs = require('../../../chunk-VVGLF4LI.js');require('../../../chunk-EYV2W3FZ.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-H634JNJ5.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkVVGLF4LIjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk52FACMQUjs = require('../../../chunk-52FACMQU.js');require('../../../chunk-BA3S4JTW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2MGL5I63.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk52FACMQUjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-5GYKWZNM.mjs";import"../../../chunk-SMZYFMGS.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-UJSLOKMP.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import{a}from"../../../chunk-JDPJ3RQI.mjs";import"../../../chunk-TD4LH4X3.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-73JXDPC6.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 _chunkEYV2W3FZjs = require('../../../chunk-EYV2W3FZ.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-H634JNJ5.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunkEYV2W3FZjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBA3S4JTWjs = require('../../../chunk-BA3S4JTW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2MGL5I63.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunkBA3S4JTWjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-SMZYFMGS.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-UJSLOKMP.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as EmbeddedCheckoutV3WebView};
1
+ import{a}from"../../../chunk-TD4LH4X3.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-73JXDPC6.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 _chunkVVGLF4LIjs = require('../../../chunk-VVGLF4LI.js');require('../../../chunk-EYV2W3FZ.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-H634JNJ5.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkVVGLF4LIjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-72MMCJ2E.js');var _chunk52FACMQUjs = require('../../../chunk-52FACMQU.js');require('../../../chunk-BA3S4JTW.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2MGL5I63.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk52FACMQUjs.a;
@@ -1 +1 @@
1
- import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-5GYKWZNM.mjs";import"../../../chunk-SMZYFMGS.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-UJSLOKMP.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-JDPJ3RQI.mjs";import"../../../chunk-TD4LH4X3.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-73JXDPC6.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1,5 +1,8 @@
1
1
  export { CrossmintEmbeddedCheckout } from './embed/v3/CrossmintEmbeddedCheckoutV3.mjs';
2
+ export { EmailSignersDialog } from './signers/EmailSignersDialog.mjs';
3
+ export { PhoneSignersDialog } from './signers/PhoneSignersDialog.mjs';
2
4
  export { ExportPrivateKeyButton } from './wallets/ExportPrivateKeyButton.mjs';
3
5
  import 'react/jsx-runtime';
4
6
  import '@crossmint/client-sdk-base';
7
+ import 'react';
5
8
  import '@crossmint/common-sdk-base';
@@ -1,5 +1,8 @@
1
1
  export { CrossmintEmbeddedCheckout } from './embed/v3/CrossmintEmbeddedCheckoutV3.js';
2
+ export { EmailSignersDialog } from './signers/EmailSignersDialog.js';
3
+ export { PhoneSignersDialog } from './signers/PhoneSignersDialog.js';
2
4
  export { ExportPrivateKeyButton } from './wallets/ExportPrivateKeyButton.js';
3
5
  import 'react/jsx-runtime';
4
6
  import '@crossmint/client-sdk-base';
7
+ import 'react';
5
8
  import '@crossmint/common-sdk-base';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-5VPIUSGF.js');require('../chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('../chunk-UA34B5QB.js');require('../chunk-DKQZSNOO.js');require('../chunk-72MMCJ2E.js');var _chunkVVGLF4LIjs = require('../chunk-VVGLF4LI.js');require('../chunk-EYV2W3FZ.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');require('../chunk-H634JNJ5.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkVVGLF4LIjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-2PX34LDU.js');require('../chunk-AJMHVVST.js');require('../chunk-I4D3YJW2.js');require('../chunk-DKQZSNOO.js');require('../chunk-72MMCJ2E.js');var _chunk52FACMQUjs = require('../chunk-52FACMQU.js');require('../chunk-BA3S4JTW.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');var _chunkUA34B5QBjs = require('../chunk-UA34B5QB.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-2MGL5I63.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunk52FACMQUjs.a; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
@@ -1 +1 @@
1
- import"../chunk-4JA5AWD6.mjs";import"../chunk-5CLFJLE4.mjs";import{a as b}from"../chunk-EF2YTIUF.mjs";import"../chunk-TIQGKXQA.mjs";import"../chunk-MB7H3PBJ.mjs";import{a}from"../chunk-5GYKWZNM.mjs";import"../chunk-SMZYFMGS.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import"../chunk-UJSLOKMP.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout,b as ExportPrivateKeyButton};
1
+ import"../chunk-UBHIBMTA.mjs";import"../chunk-5CLFJLE4.mjs";import"../chunk-J7Q2R6UH.mjs";import"../chunk-TIQGKXQA.mjs";import"../chunk-MB7H3PBJ.mjs";import{a as c}from"../chunk-JDPJ3RQI.mjs";import"../chunk-TD4LH4X3.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import{a as d}from"../chunk-EF2YTIUF.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-73JXDPC6.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{c as CrossmintEmbeddedCheckout,a as EmailSignersDialog,d as ExportPrivateKeyButton,b as PhoneSignersDialog};
@@ -0,0 +1,22 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
+
5
+ interface BaseCodeInputProps {
6
+ contactInfo: string;
7
+ contactType: "email" | "phone";
8
+ icon: ReactNode;
9
+ title: string;
10
+ description: string | ReactNode;
11
+ helpText: string;
12
+ onSubmitOTP: (token: string) => Promise<void>;
13
+ onResendCode?: () => Promise<void>;
14
+ appearance?: UIConfig;
15
+ otpLength?: number;
16
+ keyboardType?: "default" | "number-pad";
17
+ autoComplete?: "one-time-code" | "sms-otp";
18
+ textContentType?: "oneTimeCode";
19
+ }
20
+ declare function BaseCodeInput({ icon, title, description, helpText, onSubmitOTP, onResendCode, appearance, otpLength, keyboardType, autoComplete, textContentType, }: BaseCodeInputProps): react_jsx_runtime.JSX.Element;
21
+
22
+ export { BaseCodeInput };
@@ -0,0 +1,22 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
+
5
+ interface BaseCodeInputProps {
6
+ contactInfo: string;
7
+ contactType: "email" | "phone";
8
+ icon: ReactNode;
9
+ title: string;
10
+ description: string | ReactNode;
11
+ helpText: string;
12
+ onSubmitOTP: (token: string) => Promise<void>;
13
+ onResendCode?: () => Promise<void>;
14
+ appearance?: UIConfig;
15
+ otpLength?: number;
16
+ keyboardType?: "default" | "number-pad";
17
+ autoComplete?: "one-time-code" | "sms-otp";
18
+ textContentType?: "oneTimeCode";
19
+ }
20
+ declare function BaseCodeInput({ icon, title, description, helpText, onSubmitOTP, onResendCode, appearance, otpLength, keyboardType, autoComplete, textContentType, }: BaseCodeInputProps): react_jsx_runtime.JSX.Element;
21
+
22
+ export { BaseCodeInput };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkF7VXWATPjs = require('../../chunk-F7VXWATP.js');require('../../chunk-EI5LOD4Y.js');require('../../chunk-J42HASCI.js');exports.BaseCodeInput = _chunkF7VXWATPjs.a;
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-D5QADN6Z.mjs";import"../../chunk-7USVT6EZ.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as BaseCodeInput};
@@ -0,0 +1,15 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
+
5
+ interface BaseConfirmationProps {
6
+ contactInfo: string;
7
+ contactType: "email" | "phone";
8
+ icon: ReactNode;
9
+ onConfirm: () => Promise<void>;
10
+ onCancel?: () => void;
11
+ appearance?: UIConfig;
12
+ }
13
+ declare function BaseConfirmation({ contactInfo, contactType, icon, onConfirm, onCancel, appearance, }: BaseConfirmationProps): react_jsx_runtime.JSX.Element;
14
+
15
+ export { BaseConfirmation };
@@ -0,0 +1,15 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
+
5
+ interface BaseConfirmationProps {
6
+ contactInfo: string;
7
+ contactType: "email" | "phone";
8
+ icon: ReactNode;
9
+ onConfirm: () => Promise<void>;
10
+ onCancel?: () => void;
11
+ appearance?: UIConfig;
12
+ }
13
+ declare function BaseConfirmation({ contactInfo, contactType, icon, onConfirm, onCancel, appearance, }: BaseConfirmationProps): react_jsx_runtime.JSX.Element;
14
+
15
+ export { BaseConfirmation };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkDC5HCBPKjs = require('../../chunk-DC5HCBPK.js');require('../../chunk-EI5LOD4Y.js');require('../../chunk-J42HASCI.js');exports.BaseConfirmation = _chunkDC5HCBPKjs.a;
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-YLJDAK2S.mjs";import"../../chunk-7USVT6EZ.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as BaseConfirmation};
@@ -0,0 +1,18 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { MutableRefObject } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
+
5
+ interface EmailSignersDialogProps {
6
+ email?: string;
7
+ open: boolean;
8
+ setOpen: (open: boolean) => void;
9
+ step: "initial" | "otp";
10
+ onSubmitOTP: (token: string) => Promise<void>;
11
+ onResendOTPCode: () => Promise<void>;
12
+ onSubmitEmail: () => Promise<void>;
13
+ rejectRef: MutableRefObject<((error: Error) => void) | undefined>;
14
+ appearance?: UIConfig;
15
+ }
16
+ declare function EmailSignersDialog({ email, open, setOpen, step, onSubmitOTP, onResendOTPCode, onSubmitEmail, rejectRef, appearance, }: EmailSignersDialogProps): react_jsx_runtime.JSX.Element | null;
17
+
18
+ export { EmailSignersDialog };
@@ -0,0 +1,18 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { MutableRefObject } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
+
5
+ interface EmailSignersDialogProps {
6
+ email?: string;
7
+ open: boolean;
8
+ setOpen: (open: boolean) => void;
9
+ step: "initial" | "otp";
10
+ onSubmitOTP: (token: string) => Promise<void>;
11
+ onResendOTPCode: () => Promise<void>;
12
+ onSubmitEmail: () => Promise<void>;
13
+ rejectRef: MutableRefObject<((error: Error) => void) | undefined>;
14
+ appearance?: UIConfig;
15
+ }
16
+ declare function EmailSignersDialog({ email, open, setOpen, step, onSubmitOTP, onResendOTPCode, onSubmitEmail, rejectRef, appearance, }: EmailSignersDialogProps): react_jsx_runtime.JSX.Element | null;
17
+
18
+ export { EmailSignersDialog };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYJORUMPBjs = require('../../chunk-YJORUMPB.js');require('../../chunk-F7VXWATP.js');require('../../chunk-DC5HCBPK.js');require('../../chunk-EI5LOD4Y.js');require('../../chunk-J42HASCI.js');exports.EmailSignersDialog = _chunkYJORUMPBjs.a;
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-XNDIT72O.mjs";import"../../chunk-D5QADN6Z.mjs";import"../../chunk-YLJDAK2S.mjs";import"../../chunk-7USVT6EZ.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as EmailSignersDialog};
@@ -0,0 +1,18 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { MutableRefObject } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
+
5
+ interface PhoneSignersDialogProps {
6
+ phone?: string;
7
+ open: boolean;
8
+ setOpen: (open: boolean) => void;
9
+ step: "initial" | "otp";
10
+ onSubmitOTP: (token: string) => Promise<void>;
11
+ onResendOTPCode: () => Promise<void>;
12
+ onSubmitPhone: () => Promise<void>;
13
+ rejectRef: MutableRefObject<((error: Error) => void) | undefined>;
14
+ appearance?: UIConfig;
15
+ }
16
+ declare function PhoneSignersDialog({ phone, open, setOpen, step, onSubmitOTP, onResendOTPCode, onSubmitPhone, rejectRef, appearance, }: PhoneSignersDialogProps): react_jsx_runtime.JSX.Element | null;
17
+
18
+ export { PhoneSignersDialog };
@@ -0,0 +1,18 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { MutableRefObject } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
+
5
+ interface PhoneSignersDialogProps {
6
+ phone?: string;
7
+ open: boolean;
8
+ setOpen: (open: boolean) => void;
9
+ step: "initial" | "otp";
10
+ onSubmitOTP: (token: string) => Promise<void>;
11
+ onResendOTPCode: () => Promise<void>;
12
+ onSubmitPhone: () => Promise<void>;
13
+ rejectRef: MutableRefObject<((error: Error) => void) | undefined>;
14
+ appearance?: UIConfig;
15
+ }
16
+ declare function PhoneSignersDialog({ phone, open, setOpen, step, onSubmitOTP, onResendOTPCode, onSubmitPhone, rejectRef, appearance, }: PhoneSignersDialogProps): react_jsx_runtime.JSX.Element | null;
17
+
18
+ export { PhoneSignersDialog };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMVVSGLQLjs = require('../../chunk-MVVSGLQL.js');require('../../chunk-F7VXWATP.js');require('../../chunk-DC5HCBPK.js');require('../../chunk-EI5LOD4Y.js');require('../../chunk-J42HASCI.js');exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
@@ -0,0 +1 @@
1
+ import{a}from"../../chunk-3QSVHCEH.mjs";import"../../chunk-D5QADN6Z.mjs";import"../../chunk-YLJDAK2S.mjs";import"../../chunk-7USVT6EZ.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as PhoneSignersDialog};
@@ -0,0 +1,5 @@
1
+ export { EmailSignersDialog } from './EmailSignersDialog.mjs';
2
+ export { PhoneSignersDialog } from './PhoneSignersDialog.mjs';
3
+ import 'react/jsx-runtime';
4
+ import 'react';
5
+ import '@crossmint/common-sdk-base';
@@ -0,0 +1,5 @@
1
+ export { EmailSignersDialog } from './EmailSignersDialog.js';
2
+ export { PhoneSignersDialog } from './PhoneSignersDialog.js';
3
+ import 'react/jsx-runtime';
4
+ import 'react';
5
+ import '@crossmint/common-sdk-base';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-I4D3YJW2.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-J42HASCI.js');exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
@@ -0,0 +1 @@
1
+ import"../../chunk-J7Q2R6UH.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-PSSAAY7D.mjs";export{a as EmailSignersDialog,b as PhoneSignersDialog};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6P37H6S3js = require('../chunk-6P37H6S3.js');require('../chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.useAuth = _chunk6P37H6S3js.g; exports.useCrossmint = _chunk6P37H6S3js.h; exports.useCrossmintAuth = _chunk6P37H6S3js.f; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunk6P37H6S3js.i; exports.useWalletEmailSigner = _chunk6P37H6S3js.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkK75IJHIBjs = require('../chunk-K75IJHIB.js');require('../chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');var _chunkMKCQJOIOjs = require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.useAuth = _chunkK75IJHIBjs.d; exports.useCrossmint = _chunkK75IJHIBjs.e; exports.useCrossmintAuth = _chunkK75IJHIBjs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkK75IJHIBjs.f; exports.useWalletEmailSigner = _chunkMKCQJOIOjs.a;
@@ -1 +1 @@
1
- import{c as a,f as d,g as e,h as f,i as g}from"../chunk-2VHW3TQ4.mjs";import"../chunk-ZCKUSOGC.mjs";import{a as b,b as c}from"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintCheckoutProvider,e as useAuth,f as useCrossmint,d as useCrossmintAuth,c as useCrossmintCheckout,g as useWallet,a as useWalletEmailSigner};
1
+ import{c as d,d as e,e as f,f as g}from"../chunk-HS74BZSE.mjs";import"../chunk-ZCKUSOGC.mjs";import{a as b,b as c}from"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import{a}from"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintCheckoutProvider,e as useAuth,f as useCrossmint,d as useCrossmintAuth,c as useCrossmintCheckout,g as useWallet,a as useWalletEmailSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6P37H6S3js = require('../chunk-6P37H6S3.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.useAuth = _chunk6P37H6S3js.g; exports.useCrossmintAuth = _chunk6P37H6S3js.f;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkK75IJHIBjs = require('../chunk-K75IJHIB.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.useAuth = _chunkK75IJHIBjs.d; exports.useCrossmintAuth = _chunkK75IJHIBjs.c;
@@ -1 +1 @@
1
- import{f as a,g as b}from"../chunk-2VHW3TQ4.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{b as useAuth,a as useCrossmintAuth};
1
+ import{c as a,d as b}from"../chunk-HS74BZSE.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{b as useAuth,a as useCrossmintAuth};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6P37H6S3js = require('../chunk-6P37H6S3.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.useWalletEmailSigner = _chunk6P37H6S3js.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMKCQJOIOjs = require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.useWalletEmailSigner = _chunkMKCQJOIOjs.a;
@@ -1 +1 @@
1
- import{c as a}from"../chunk-2VHW3TQ4.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as useWalletEmailSigner};
1
+ import{a}from"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{a as useWalletEmailSigner};
package/dist/index.d.mts CHANGED
@@ -6,6 +6,8 @@ export { CrossmintProvider } from './providers/CrossmintProvider.mjs';
6
6
  export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.mjs';
7
7
  export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.mjs';
8
8
  export { CrossmintEmbeddedCheckout } from './components/embed/v3/CrossmintEmbeddedCheckoutV3.mjs';
9
+ export { EmailSignersDialog } from './components/signers/EmailSignersDialog.mjs';
10
+ export { PhoneSignersDialog } from './components/signers/PhoneSignersDialog.mjs';
9
11
  export { ExportPrivateKeyButton } from './components/wallets/ExportPrivateKeyButton.mjs';
10
12
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
11
13
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
package/dist/index.d.ts CHANGED
@@ -6,6 +6,8 @@ export { CrossmintProvider } from './providers/CrossmintProvider.js';
6
6
  export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.js';
7
7
  export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.js';
8
8
  export { CrossmintEmbeddedCheckout } from './components/embed/v3/CrossmintEmbeddedCheckoutV3.js';
9
+ export { EmailSignersDialog } from './components/signers/EmailSignersDialog.js';
10
+ export { PhoneSignersDialog } from './components/signers/PhoneSignersDialog.js';
9
11
  export { ExportPrivateKeyButton } from './components/wallets/ExportPrivateKeyButton.js';
10
12
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
11
13
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-C62HRWJA.js');var _chunkO5JUQOMAjs = require('./chunk-O5JUQOMA.js');require('./chunk-5VPIUSGF.js');require('./chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('./chunk-UA34B5QB.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunkVVGLF4LIjs = require('./chunk-VVGLF4LI.js');require('./chunk-EYV2W3FZ.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');require('./chunk-H634JNJ5.js');var _chunk6P37H6S3js = require('./chunk-6P37H6S3.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 = _chunk6P37H6S3js.e; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunkVVGLF4LIjs.a; exports.CrossmintProvider = _chunkO5JUQOMAjs.a; exports.CrossmintWalletProvider = _chunk6P37H6S3js.b; exports.EVMWallet = _walletssdk.EVMWallet; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.Wallet = _walletssdk.Wallet; exports.useAuth = _chunk6P37H6S3js.g; exports.useCrossmint = _chunk6P37H6S3js.h; exports.useCrossmintAuth = _chunk6P37H6S3js.f; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunk6P37H6S3js.i; exports.useWalletEmailSigner = _chunk6P37H6S3js.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-C62HRWJA.js');var _chunkO5JUQOMAjs = require('./chunk-O5JUQOMA.js');var _chunkZMB227CAjs = require('./chunk-ZMB227CA.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');require('./chunk-I4D3YJW2.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunk52FACMQUjs = require('./chunk-52FACMQU.js');require('./chunk-BA3S4JTW.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');var _chunkUA34B5QBjs = require('./chunk-UA34B5QB.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-2MGL5I63.js');var _chunkK75IJHIBjs = require('./chunk-K75IJHIB.js');require('./chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('./chunk-77GXCNDP.js');require('./chunk-2D2RJCVX.js');var _chunkMKCQJOIOjs = require('./chunk-MKCQJOIO.js');require('./chunk-J42HASCI.js');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkK75IJHIBjs.b; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunk52FACMQUjs.a; exports.CrossmintProvider = _chunkO5JUQOMAjs.a; exports.CrossmintWalletProvider = _chunkZMB227CAjs.a; exports.EVMWallet = _walletssdk.EVMWallet; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.Wallet = _walletssdk.Wallet; exports.useAuth = _chunkK75IJHIBjs.d; exports.useCrossmint = _chunkK75IJHIBjs.e; exports.useCrossmintAuth = _chunkK75IJHIBjs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkK75IJHIBjs.f; exports.useWalletEmailSigner = _chunkMKCQJOIOjs.a;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import"./chunk-I3QSTPTV.mjs";import{a as m}from"./chunk-RQOORLYR.mjs";import"./chunk-4JA5AWD6.mjs";import"./chunk-5CLFJLE4.mjs";import{a as y}from"./chunk-EF2YTIUF.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as l}from"./chunk-5GYKWZNM.mjs";import"./chunk-SMZYFMGS.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import"./chunk-UJSLOKMP.mjs";import{b as t,c as e,e as a,f as n,g as p,h as s,i}from"./chunk-2VHW3TQ4.mjs";import"./chunk-ZCKUSOGC.mjs";import{a as r,b as o}from"./chunk-IUDQDPIN.mjs";import"./chunk-FFQ6EQCL.mjs";import"./chunk-PSSAAY7D.mjs";import{EVMWallet as h,SolanaWallet as u,Wallet as C}from"@crossmint/wallets-sdk";export{a as CrossmintAuthProvider,r as CrossmintCheckoutProvider,l as CrossmintEmbeddedCheckout,m as CrossmintProvider,t as CrossmintWalletProvider,h as EVMWallet,y as ExportPrivateKeyButton,u as SolanaWallet,C as Wallet,p as useAuth,s as useCrossmint,n as useCrossmintAuth,o as useCrossmintCheckout,i as useWallet,e as useWalletEmailSigner};
1
+ import"./chunk-I3QSTPTV.mjs";import{a as i}from"./chunk-RQOORLYR.mjs";import{a as y}from"./chunk-TZRTTC6Q.mjs";import"./chunk-UBHIBMTA.mjs";import"./chunk-5CLFJLE4.mjs";import"./chunk-J7Q2R6UH.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as c}from"./chunk-JDPJ3RQI.mjs";import"./chunk-TD4LH4X3.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import{a as x}from"./chunk-EF2YTIUF.mjs";import{a as m}from"./chunk-XNDIT72O.mjs";import{a as l}from"./chunk-3QSVHCEH.mjs";import"./chunk-D5QADN6Z.mjs";import"./chunk-YLJDAK2S.mjs";import"./chunk-7USVT6EZ.mjs";import"./chunk-73JXDPC6.mjs";import{b as o,c as a,d as n,e as p,f as s}from"./chunk-HS74BZSE.mjs";import"./chunk-ZCKUSOGC.mjs";import{a as e,b as r}from"./chunk-IUDQDPIN.mjs";import"./chunk-FFQ6EQCL.mjs";import{a as t}from"./chunk-J477SX6P.mjs";import"./chunk-PSSAAY7D.mjs";import{EVMWallet as C,SolanaWallet as W,Wallet as k}from"@crossmint/wallets-sdk";export{o as CrossmintAuthProvider,e as CrossmintCheckoutProvider,c as CrossmintEmbeddedCheckout,i as CrossmintProvider,y as CrossmintWalletProvider,C as EVMWallet,m as EmailSignersDialog,x as ExportPrivateKeyButton,l as PhoneSignersDialog,W as SolanaWallet,k as Wallet,n as useAuth,p as useCrossmint,a as useCrossmintAuth,r as useCrossmintCheckout,s as useWallet,t as useWalletEmailSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6P37H6S3js = require('../chunk-6P37H6S3.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.AuthContext = _chunk6P37H6S3js.d; exports.CrossmintAuthProvider = _chunk6P37H6S3js.e;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkK75IJHIBjs = require('../chunk-K75IJHIB.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.AuthContext = _chunkK75IJHIBjs.a; exports.CrossmintAuthProvider = _chunkK75IJHIBjs.b;
@@ -1 +1 @@
1
- import{d as a,e as b}from"../chunk-2VHW3TQ4.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as AuthContext,b as CrossmintAuthProvider};
1
+ import{a,b}from"../chunk-HS74BZSE.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{a as AuthContext,b as CrossmintAuthProvider};
@@ -1,23 +1,19 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as react from 'react';
3
2
  import { ReactNode } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
4
  import { CreateOnLogin } from '@crossmint/client-sdk-react-base';
5
5
 
6
- type CrossmintWalletEmailSignerContext = {
7
- needsAuth: boolean;
8
- sendEmailWithOtp: () => Promise<void>;
9
- verifyOtp: (otp: string) => Promise<void>;
10
- reject: (error?: Error) => void;
11
- };
12
- declare const CrossmintWalletEmailSignerContext: react.Context<CrossmintWalletEmailSignerContext>;
13
6
  interface CrossmintWalletProviderProps {
14
7
  children: ReactNode;
15
8
  createOnLogin?: CreateOnLogin;
9
+ appearance?: UIConfig;
10
+ /** When true (default), no UI is rendered and signing flows must be handled manually. When false, built-in UI components are rendered. */
11
+ headlessSigningFlow?: boolean;
16
12
  callbacks?: {
17
13
  onWalletCreationStart?: () => Promise<void>;
18
14
  onTransactionStart?: () => Promise<void>;
19
15
  };
20
16
  }
21
- declare function CrossmintWalletProvider({ children, createOnLogin, callbacks }: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
17
+ declare function CrossmintWalletProvider(props: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
22
18
 
23
- export { CrossmintWalletEmailSignerContext, CrossmintWalletProvider, type CrossmintWalletProviderProps };
19
+ export { CrossmintWalletProvider, type CrossmintWalletProviderProps };
@@ -1,23 +1,19 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import * as react from 'react';
3
2
  import { ReactNode } from 'react';
3
+ import { UIConfig } from '@crossmint/common-sdk-base';
4
4
  import { CreateOnLogin } from '@crossmint/client-sdk-react-base';
5
5
 
6
- type CrossmintWalletEmailSignerContext = {
7
- needsAuth: boolean;
8
- sendEmailWithOtp: () => Promise<void>;
9
- verifyOtp: (otp: string) => Promise<void>;
10
- reject: (error?: Error) => void;
11
- };
12
- declare const CrossmintWalletEmailSignerContext: react.Context<CrossmintWalletEmailSignerContext>;
13
6
  interface CrossmintWalletProviderProps {
14
7
  children: ReactNode;
15
8
  createOnLogin?: CreateOnLogin;
9
+ appearance?: UIConfig;
10
+ /** When true (default), no UI is rendered and signing flows must be handled manually. When false, built-in UI components are rendered. */
11
+ headlessSigningFlow?: boolean;
16
12
  callbacks?: {
17
13
  onWalletCreationStart?: () => Promise<void>;
18
14
  onTransactionStart?: () => Promise<void>;
19
15
  };
20
16
  }
21
- declare function CrossmintWalletProvider({ children, createOnLogin, callbacks }: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
17
+ declare function CrossmintWalletProvider(props: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
22
18
 
23
- export { CrossmintWalletEmailSignerContext, CrossmintWalletProvider, type CrossmintWalletProviderProps };
19
+ export { CrossmintWalletProvider, type CrossmintWalletProviderProps };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6P37H6S3js = require('../chunk-6P37H6S3.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletEmailSignerContext = _chunk6P37H6S3js.a; exports.CrossmintWalletProvider = _chunk6P37H6S3js.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZMB227CAjs = require('../chunk-ZMB227CA.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkZMB227CAjs.a;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-2VHW3TQ4.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintWalletEmailSignerContext,b as CrossmintWalletProvider};
1
+ import{a}from"../chunk-TZRTTC6Q.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.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 _chunkO5JUQOMAjs = require('../chunk-O5JUQOMA.js');var _chunk6P37H6S3js = require('../chunk-6P37H6S3.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunk6P37H6S3js.e; exports.CrossmintProvider = _chunkO5JUQOMAjs.a; exports.CrossmintWalletProvider = _chunk6P37H6S3js.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C62HRWJA.js');var _chunkO5JUQOMAjs = require('../chunk-O5JUQOMA.js');var _chunkZMB227CAjs = require('../chunk-ZMB227CA.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');var _chunkK75IJHIBjs = require('../chunk-K75IJHIB.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-MKCQJOIO.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunkK75IJHIBjs.b; exports.CrossmintProvider = _chunkO5JUQOMAjs.a; exports.CrossmintWalletProvider = _chunkZMB227CAjs.a;
@@ -1 +1 @@
1
- import"../chunk-I3QSTPTV.mjs";import{a as c}from"../chunk-RQOORLYR.mjs";import{b as a,e as b}from"../chunk-2VHW3TQ4.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintAuthProvider,c as CrossmintProvider,a as CrossmintWalletProvider};
1
+ import"../chunk-I3QSTPTV.mjs";import{a as b}from"../chunk-RQOORLYR.mjs";import{a as c}from"../chunk-TZRTTC6Q.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import{b as a}from"../chunk-HS74BZSE.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-J477SX6P.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
@@ -0,0 +1 @@
1
+ export { theme } from './theme.mjs';
@@ -0,0 +1 @@
1
+ export { theme } from './theme.js';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEI5LOD4Yjs = require('../chunk-EI5LOD4Y.js');require('../chunk-J42HASCI.js');exports.theme = _chunkEI5LOD4Yjs.a;
@@ -0,0 +1 @@
1
+ import{a as o}from"../chunk-7USVT6EZ.mjs";import"../chunk-PSSAAY7D.mjs";export{o as theme};
@@ -0,0 +1,13 @@
1
+ declare const theme: {
2
+ readonly "cm-text-primary": "#00150D";
3
+ readonly "cm-text-secondary": "#67797F";
4
+ readonly "cm-background-primary": "#FFFFFF";
5
+ readonly "cm-muted-primary": "#F0F2F4";
6
+ readonly "cm-hover": "#E9ECF0";
7
+ readonly "cm-border": "#D9D9D9";
8
+ readonly "cm-link": "#1A74E9";
9
+ readonly "cm-accent": "#4CAF50";
10
+ readonly "cm-danger": "#f44336";
11
+ };
12
+
13
+ export { theme };
@@ -0,0 +1,13 @@
1
+ declare const theme: {
2
+ readonly "cm-text-primary": "#00150D";
3
+ readonly "cm-text-secondary": "#67797F";
4
+ readonly "cm-background-primary": "#FFFFFF";
5
+ readonly "cm-muted-primary": "#F0F2F4";
6
+ readonly "cm-hover": "#E9ECF0";
7
+ readonly "cm-border": "#D9D9D9";
8
+ readonly "cm-link": "#1A74E9";
9
+ readonly "cm-accent": "#4CAF50";
10
+ readonly "cm-danger": "#f44336";
11
+ };
12
+
13
+ export { theme };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEI5LOD4Yjs = require('../chunk-EI5LOD4Y.js');require('../chunk-J42HASCI.js');exports.theme = _chunkEI5LOD4Yjs.a;
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-7USVT6EZ.mjs";import"../chunk-PSSAAY7D.mjs";export{a as theme};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkH634JNJ5js = require('../chunk-H634JNJ5.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunkH634JNJ5js.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2MGL5I63js = require('../chunk-2MGL5I63.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunk2MGL5I63js.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-UJSLOKMP.mjs";import"../chunk-PSSAAY7D.mjs";export{a as createCrossmintApiClient};
1
+ import{a}from"../chunk-73JXDPC6.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": "0.12.1",
3
+ "version": "0.13.1",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -16,16 +16,18 @@
16
16
  "dependencies": {
17
17
  "@solana/web3.js": "1.98.1",
18
18
  "bs58": "^5.0.0",
19
+ "lucide-react-native": "0.548.0",
19
20
  "mitt": "3.0.1",
21
+ "react-native-svg": "15.14.0",
20
22
  "zod": "3.22.4",
21
- "@crossmint/client-sdk-auth": "1.2.36",
22
- "@crossmint/client-sdk-base": "1.7.3",
23
- "@crossmint/client-sdk-rn-window": "0.3.9",
24
- "@crossmint/client-signers": "0.0.20",
25
- "@crossmint/common-sdk-auth": "1.0.58",
26
- "@crossmint/common-sdk-base": "0.9.7",
27
- "@crossmint/wallets-sdk": "0.18.1",
28
- "@crossmint/client-sdk-react-base": "0.7.2"
23
+ "@crossmint/client-sdk-auth": "1.2.37",
24
+ "@crossmint/client-sdk-base": "1.7.4",
25
+ "@crossmint/client-sdk-react-base": "0.7.4",
26
+ "@crossmint/client-sdk-rn-window": "0.3.10",
27
+ "@crossmint/client-signers": "0.1.0",
28
+ "@crossmint/common-sdk-auth": "1.0.59",
29
+ "@crossmint/common-sdk-base": "0.9.8",
30
+ "@crossmint/wallets-sdk": "0.18.3"
29
31
  },
30
32
  "devDependencies": {
31
33
  "@expo/config-plugins": "^9.0.17",
@@ -37,11 +39,11 @@
37
39
  },
38
40
  "peerDependencies": {
39
41
  "@expo/config-plugins": ">=9.0.0",
42
+ "@solana/web3.js": "^1.98.1",
40
43
  "expo-constants": ">=17 <19",
41
44
  "expo-device": ">=7 <9",
42
45
  "expo-secure-store": ">=14 <16",
43
46
  "expo-web-browser": ">=14 <16",
44
- "@solana/web3.js": "^1.98.1",
45
47
  "react": ">=17.0.2",
46
48
  "react-native": ">=0.74.3",
47
49
  "react-native-webview": ">=13.15.0 <14"
@@ -1 +0,0 @@
1
- import{a as F}from"./chunk-ZCKUSOGC.mjs";import{d as z,e as p}from"./chunk-PSSAAY7D.mjs";import{useCallback as K,useEffect as he,useRef as O,useMemo as N,createContext as de,useState as q}from"react";import{View as pe}from"react-native";import{RNWebView as fe,WebViewParent as ge}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as J,signerInboundEvents as ve,signerOutboundEvents as we}from"@crossmint/client-signers";import{validateAPIKey as Ae}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as Ce}from"@crossmint/client-sdk-react-base";import{useCrossmint as j,useWallet as He}from"@crossmint/client-sdk-react-base";import{useContext as ee}from"react";function Ee(){let r=ee(I);if(r==null)throw new Error("useWalletEmailSigner must be used within CrossmintWalletProvider");if(!r.sendEmailWithOtp||!r.verifyOtp||!r.reject)throw new Error("Email signer functions are not available. Make sure you're using an email signer wallet.");return{needsAuth:r.needsAuth,sendEmailWithOtp:r.sendEmailWithOtp,verifyOtp:r.verifyOtp,reject:r.reject}}import{useContext as ce}from"react";import{createContext as te,useEffect as $,useMemo as re,useState as D,useCallback as G}from"react";import*as g from"expo-web-browser";import M from"expo-constants";import{Platform as oe}from"react-native";import{CrossmintAuthBaseProvider as ne,useCrossmintAuthBase as se}from"@crossmint/client-sdk-react-base";import{jsx as k}from"react/jsx-runtime";var _={google:null,twitter:null},ie={crossmintAuth:void 0,login:()=>{},logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},L=te(ie);function ae({children:r}){let{experimental_setCustomAuth:o,experimental_customAuth:e}=j(),{user:s,jwt:l}=H();return $(()=>{l==null&&(e==null?void 0:e.jwt)!=null&&o(void 0),l!=null&&o({jwt:l,email:s==null?void 0:s.email})},[o,l,s]),r}function le({children:r,appSchema:o}){let e=se(),[s,l]=D(_),[v,u]=D(!1),C=Array.isArray(o)?o[0]:o,i=M.executionEnvironment==="storeClient"||M.appOwnership==="expo"||!!M.expoVersion?"exp://127.0.0.1:8081":C,b=G(()=>p(this,null,function*(){try{let m=Object.keys(_).map(a=>p(this,null,function*(){var A;let w=yield(A=e.crossmintAuth)==null?void 0:A.getOAuthUrl(a,{appSchema:i});return{[a]:w}})),h=Object.assign({},...yield Promise.all(m));l(h)}catch(n){console.error(n)}}),[e.crossmintAuth,i]);$(()=>{e.user==null&&b()},[b,e.user]);let B=()=>e.status==="initializing"?"initializing":v?"in-progress":e.jwt!=null?"logged-in":"logged-out",x=n=>p(this,null,function*(){var m,h;try{u(!0);let a=(h=s[n])!=null?h:yield(m=e.crossmintAuth)==null?void 0:m.getOAuthUrl(n,{appSchema:i});yield g.warmUpAsync();let w=new URL(a);if(n==="google"&&w.searchParams.append("provider_prompt","select_account"),oe.OS==="android")yield g.openBrowserAsync(w.toString());else{let A=yield g.openAuthSessionAsync(w.toString());A.type==="success"&&(yield S(A.url))}yield g.coolDownAsync()}catch(a){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",a),new Error(`Error during OAuth login: ${a}`)}finally{u(!1)}}),S=G(n=>p(this,null,function*(){var h;let m=n.includes("://")?ue(n):n;if(m!=null)try{return u(!0),yield(h=e.crossmintAuth)==null?void 0:h.handleRefreshAuthMaterial(m)}catch(a){throw a}finally{u(!1)}return null}),[e.crossmintAuth]);return k(L.Provider,{value:{crossmintAuth:e.crossmintAuth,logout:e.logout,jwt:e.jwt,user:e.user,status:B(),getUser:e.getUser,login:()=>{},loginWithOAuth:x,createAuthSession:S},children:k(ae,{children:r})})}function je(e){var s=e,{children:r}=s,o=z(s,["children"]);var u,C;let l=(C=o.appSchema)!=null?C:(u=M.expoConfig)==null?void 0:u.scheme,v=re(()=>{var c;return(c=o.storageProvider)!=null?c:new F},[o.storageProvider]);return k(ne,{onLoginSuccess:o.onLoginSuccess,refreshRoute:o.refreshRoute,logoutRoute:o.logoutRoute,storageProvider:v,children:k(le,{appSchema:l,children:r})})}var ue=r=>{let o=/[?&]oneTimeSecret=([^&#]+)/,e=r.match(o);return e?decodeURIComponent(e[1]):void 0};function me(){let r=ce(L);if(r==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}var H=me;import{jsx as T,jsxs as Pe}from"react/jsx-runtime";var y=r=>()=>{throw new Error(`${r} is not available. Make sure you're using an email signer wallet.`)},I=de({needsAuth:!1,sendEmailWithOtp:y("sendEmailWithOtp"),verifyOtp:y("verifyOtp"),reject:y("reject")});function ot({children:r,createOnLogin:o,callbacks:e}){let{crossmint:s}=j("CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:l,appId:v}=s,u=N(()=>{let t=Ae(l);if(!t.isValid)throw new Error("Invalid API key");return t},[l]),C=N(()=>J[u.environment],[u.environment]),c=O(null),i=O(null),[b,B]=q(!1),[x,S]=q(!1),n=O(y("sendEmailWithOtp")),m=O(y("verifyOtp")),h=O(y("reject")),a=N(()=>v!=null?{crossmintAppId:v}:{},[v]);he(()=>{c.current!=null&&i.current==null&&(i.current=new ge(c,{incomingEvents:we,outgoingEvents:ve}))},[x,c.current]);let w=K(()=>p(this,null,function*(){let t=i.current;if(t!=null)try{t.isConnected=!1,yield t.handshakeWithChild()}catch(f){console.error("[CrossmintWalletProvider] Handshake error:",f)}}),[]),A=K(t=>{let f=i.current;if(f!=null){try{let d=JSON.parse(t.nativeEvent.data);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let W=d.type.split(".")[1],E=(d.data||[]).map(P=>{try{return P==="[Function]"||P==="[Circular Reference]"||P==="[Unserializable Object]"?P:JSON.parse(P)}catch(ye){return P}}),R=`[WebView:${W.toUpperCase()}]`;switch(W){case"log":console.log(R,...E);break;case"error":console.error(R,...E);break;case"warn":console.warn(R,...E);break;case"info":console.info(R,...E);break;default:console.log(`[WebView Unknown:${W}]`,...E)}return}}catch(d){}f.handleMessage(t)}},[]),Q=()=>{if(i.current==null)throw new Error("WebView not ready or handshake incomplete");return i.current},X=()=>p(this,null,function*(){S(!0);let t=0,f=100;for(;i.current==null&&t<f;)yield new Promise(d=>setTimeout(d,50)),t++;if(i.current==null)throw new Error("WebView not ready or handshake incomplete")}),Y=(t,f,d,W)=>p(this,null,function*(){B(t),n.current=f,m.current=d,h.current=W}),Z=N(()=>({needsAuth:b,sendEmailWithOtp:n.current,verifyOtp:m.current,reject:h.current}),[b]);return Pe(Ce,{createOnLogin:o,onAuthRequired:Y,clientTEEConnection:Q,initializeWebView:X,callbacks:e,children:[T(I.Provider,{value:Z,children:r}),x&&T(pe,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:T(fe,{ref:c,source:{uri:C},globals:a,onLoadEnd:w,onMessage:A,onError:t=>{console.error("[CrossmintWalletProvider] WebView error:",t.nativeEvent)},onHttpError:t=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",t.nativeEvent)},onContentProcessDidTerminate:()=>{var t;return(t=c.current)==null?void 0:t.reload()},onRenderProcessGone:()=>{var t;return(t=c.current)==null?void 0:t.reload()},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[J[u.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}export{I as a,ot as b,Ee as c,L as d,je as e,me as f,H as g,j as h,He as i};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkSHTETN4Cjs = require('./chunk-SHTETN4C.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');function We(){let r=_react.useContext.call(void 0, B);if(r==null)throw new Error("useWalletEmailSigner must be used within CrossmintWalletProvider");if(!r.sendEmailWithOtp||!r.verifyOtp||!r.reject)throw new Error("Email signer functions are not available. Make sure you're using an email signer wallet.");return{needsAuth:r.needsAuth,sendEmailWithOtp:r.sendEmailWithOtp,verifyOtp:r.verifyOtp,reject:r.reject}}var _expowebbrowser = require('expo-web-browser'); var g = _interopRequireWildcard(_expowebbrowser);var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _jsxruntime = require('react/jsx-runtime');var G={google:null,twitter:null},se={crossmintAuth:void 0,login:()=>{},logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{},loginWithOAuth:()=>Promise.resolve(),createAuthSession:()=>Promise.resolve(null)},I= exports.d =_react.createContext.call(void 0, se);function ie({children:r}){let{experimental_setCustomAuth:o,experimental_customAuth:e}=_clientsdkreactbase.useCrossmint.call(void 0, ),{user:s,jwt:l}=$();return _react.useEffect.call(void 0, ()=>{l==null&&(e==null?void 0:e.jwt)!=null&&o(void 0),l!=null&&o({jwt:l,email:s==null?void 0:s.email})},[o,l,s]),r}function ae({children:r,appSchema:o}){let e=_clientsdkreactbase.useCrossmintAuthBase.call(void 0, ),[s,l]=_react.useState.call(void 0, G),[v,u]=_react.useState.call(void 0, !1),C=Array.isArray(o)?o[0]:o,i=_expoconstants2.default.executionEnvironment==="storeClient"||_expoconstants2.default.appOwnership==="expo"||!!_expoconstants2.default.expoVersion?"exp://127.0.0.1:8081":C,b=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){try{let m=Object.keys(G).map(a=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var A;let w=yield(A=e.crossmintAuth)==null?void 0:A.getOAuthUrl(a,{appSchema:i});return{[a]:w}})),h=Object.assign({},...yield Promise.all(m));l(h)}catch(n){console.error(n)}}),[e.crossmintAuth,i]);_react.useEffect.call(void 0, ()=>{e.user==null&&b()},[b,e.user]);let N=()=>e.status==="initializing"?"initializing":v?"in-progress":e.jwt!=null?"logged-in":"logged-out",x=n=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var m,h;try{u(!0);let a=(h=s[n])!=null?h:yield(m=e.crossmintAuth)==null?void 0:m.getOAuthUrl(n,{appSchema:i});yield g.warmUpAsync();let w=new URL(a);if(n==="google"&&w.searchParams.append("provider_prompt","select_account"),_reactnative.Platform.OS==="android")yield g.openBrowserAsync(w.toString());else{let A=yield g.openAuthSessionAsync(w.toString());A.type==="success"&&(yield S(A.url))}yield g.coolDownAsync()}catch(a){throw console.error("[CrossmintAuthProvider] Error during OAuth login:",a),new Error(`Error during OAuth login: ${a}`)}finally{u(!1)}}),S=_react.useCallback.call(void 0, n=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){var h;let m=n.includes("://")?le(n):n;if(m!=null)try{return u(!0),yield(h=e.crossmintAuth)==null?void 0:h.handleRefreshAuthMaterial(m)}catch(a){throw a}finally{u(!1)}return null}),[e.crossmintAuth]);return _jsxruntime.jsx.call(void 0, I.Provider,{value:{crossmintAuth:e.crossmintAuth,logout:e.logout,jwt:e.jwt,user:e.user,status:N(),getUser:e.getUser,login:()=>{},loginWithOAuth:x,createAuthSession:S},children:_jsxruntime.jsx.call(void 0, ie,{children:r})})}function ke(e){var s=e,{children:r}=s,o=_chunkJ42HASCIjs.d.call(void 0, s,["children"]);var u,C;let l=(C=o.appSchema)!=null?C:(u=_expoconstants2.default.expoConfig)==null?void 0:u.scheme,v=_react.useMemo.call(void 0, ()=>{var c;return(c=o.storageProvider)!=null?c:new _chunkSHTETN4Cjs.a},[o.storageProvider]);return _jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintAuthBaseProvider,{onLoginSuccess:o.onLoginSuccess,refreshRoute:o.refreshRoute,logoutRoute:o.logoutRoute,storageProvider:v,children:_jsxruntime.jsx.call(void 0, ae,{appSchema:l,children:r})})}var le=r=>{let o=/[?&]oneTimeSecret=([^&#]+)/,e=r.match(o);return e?decodeURIComponent(e[1]):void 0};function ce(){let r=_react.useContext.call(void 0, I);if(r==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}var $=ce;var y=r=>()=>{throw new Error(`${r} is not available. Make sure you're using an email signer wallet.`)},B= exports.a =_react.createContext.call(void 0, {needsAuth:!1,sendEmailWithOtp:y("sendEmailWithOtp"),verifyOtp:y("verifyOtp"),reject:y("reject")});function rt({children:r,createOnLogin:o,callbacks:e}){let{crossmint:s}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{apiKey:l,appId:v}=s,u=_react.useMemo.call(void 0, ()=>{let t=_commonsdkbase.validateAPIKey.call(void 0, l);if(!t.isValid)throw new Error("Invalid API key");return t},[l]),C=_react.useMemo.call(void 0, ()=>_clientsigners.environmentUrlConfig[u.environment],[u.environment]),c=_react.useRef.call(void 0, null),i=_react.useRef.call(void 0, null),[b,N]=_react.useState.call(void 0, !1),[x,S]=_react.useState.call(void 0, !1),n=_react.useRef.call(void 0, y("sendEmailWithOtp")),m=_react.useRef.call(void 0, y("verifyOtp")),h=_react.useRef.call(void 0, y("reject")),a=_react.useMemo.call(void 0, ()=>v!=null?{crossmintAppId:v}:{},[v]);_react.useEffect.call(void 0, ()=>{c.current!=null&&i.current==null&&(i.current=new (0, _clientsdkrnwindow.WebViewParent)(c,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}))},[x,c.current]);let w=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){let t=i.current;if(t!=null)try{t.isConnected=!1,yield t.handshakeWithChild()}catch(f){console.error("[CrossmintWalletProvider] Handshake error:",f)}}),[]),A=_react.useCallback.call(void 0, t=>{let f=i.current;if(f!=null){try{let d=JSON.parse(t.nativeEvent.data);if(d&&typeof d.type=="string"&&d.type.startsWith("console.")){let W=d.type.split(".")[1],E=(d.data||[]).map(P=>{try{return P==="[Function]"||P==="[Circular Reference]"||P==="[Unserializable Object]"?P:JSON.parse(P)}catch(Pe){return P}}),R=`[WebView:${W.toUpperCase()}]`;switch(W){case"log":console.log(R,...E);break;case"error":console.error(R,...E);break;case"warn":console.warn(R,...E);break;case"info":console.info(R,...E);break;default:console.log(`[WebView Unknown:${W}]`,...E)}return}}catch(d){}f.handleMessage(t)}},[]),J=()=>{if(i.current==null)throw new Error("WebView not ready or handshake incomplete");return i.current},Q=()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){S(!0);let t=0,f=100;for(;i.current==null&&t<f;)yield new Promise(d=>setTimeout(d,50)),t++;if(i.current==null)throw new Error("WebView not ready or handshake incomplete")}),X=(t,f,d,W)=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){N(t),n.current=f,m.current=d,h.current=W}),Y=_react.useMemo.call(void 0, ()=>({needsAuth:b,sendEmailWithOtp:n.current,verifyOtp:m.current,reject:h.current}),[b]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:o,onAuthRequired:X,clientTEEConnection:J,initializeWebView:Q,callbacks:e,children:[_jsxruntime.jsx.call(void 0, B.Provider,{value:Y,children:r}),x&&_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:c,source:{uri:C},globals:a,onLoadEnd:w,onMessage:A,onError:t=>{console.error("[CrossmintWalletProvider] WebView error:",t.nativeEvent)},onHttpError:t=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",t.nativeEvent)},onContentProcessDidTerminate:()=>{var t;return(t=c.current)==null?void 0:t.reload()},onRenderProcessGone:()=>{var t;return(t=c.current)==null?void 0:t.reload()},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[u.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}exports.a = B; exports.b = rt; exports.c = We; exports.d = I; exports.e = ke; exports.f = ce; exports.g = $; exports.h = _clientsdkreactbase.useCrossmint; exports.i = _clientsdkreactbase.useWallet;
@@ -1 +0,0 @@
1
- import{CrossmintApiClient as i}from"@crossmint/common-sdk-base";var e={name:"@crossmint/client-sdk-react-native-ui",version:"0.12.1",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"},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",mitt:"3.0.1",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17","@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:{"@expo/config-plugins":">=9.0.0","expo-constants":">=17 <19","expo-device":">=7 <9","expo-secure-store":">=14 <16","expo-web-browser":">=14 <16","@solana/web3.js":"^1.98.1",react:">=17.0.2","react-native":">=0.74.3","react-native-webview":">=13.15.0 <14"}};function d(s,n){return new i(s,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:e.version},apiKeyExpectations:n}})}export{d as a};
File without changes
File without changes