@crossmint/client-sdk-react-native-ui 0.13.19 → 0.13.20

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 (58) hide show
  1. package/README.md +20 -0
  2. package/dist/{chunk-SQ3LRODT.js → chunk-2XVI4EV6.js} +1 -1
  3. package/dist/chunk-4HJT2QG3.mjs +1 -0
  4. package/dist/{chunk-XHJHU27G.js → chunk-7MK4FKA3.js} +1 -1
  5. package/dist/{chunk-IYVKRZKV.mjs → chunk-E3JHGSJU.mjs} +1 -1
  6. package/dist/{chunk-UJGWCSHA.js → chunk-FAYZFW22.js} +1 -1
  7. package/dist/chunk-FIKDCXZD.mjs +1 -0
  8. package/dist/{chunk-DB4FOJAL.mjs → chunk-FZK2PPIV.mjs} +1 -1
  9. package/dist/{chunk-ZABECQTY.mjs → chunk-IB2BUTJH.mjs} +1 -1
  10. package/dist/{chunk-TMY7RA6L.mjs → chunk-M672E3V7.mjs} +1 -1
  11. package/dist/{chunk-OLAA2YJF.js → chunk-Q2W64FSI.js} +1 -1
  12. package/dist/{chunk-JNN7ELU6.js → chunk-TICI5LTV.js} +1 -1
  13. package/dist/{chunk-L5WEYQYO.mjs → chunk-VDL2DQT7.mjs} +1 -1
  14. package/dist/chunk-XV77R5HP.js +1 -0
  15. package/dist/chunk-ZD4SAVMK.js +1 -0
  16. package/dist/components/embed/index.js +1 -1
  17. package/dist/components/embed/index.mjs +1 -1
  18. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -1
  19. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.mjs +1 -1
  20. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.js +1 -1
  21. package/dist/components/embed/v3/EmbeddedCheckoutV3WebView.mjs +1 -1
  22. package/dist/components/embed/v3/index.js +1 -1
  23. package/dist/components/embed/v3/index.mjs +1 -1
  24. package/dist/components/index.d.mts +1 -1
  25. package/dist/components/index.d.ts +1 -1
  26. package/dist/components/index.js +1 -1
  27. package/dist/components/index.mjs +1 -1
  28. package/dist/components/wallets/ExportPrivateKeyButton.d.mts +6 -1
  29. package/dist/components/wallets/ExportPrivateKeyButton.d.ts +6 -1
  30. package/dist/components/wallets/index.d.mts +1 -1
  31. package/dist/components/wallets/index.d.ts +1 -1
  32. package/dist/hooks/useWalletEmailSigner.d.mts +9 -0
  33. package/dist/hooks/useWalletEmailSigner.d.ts +9 -0
  34. package/dist/index.d.mts +3 -3
  35. package/dist/index.d.ts +3 -3
  36. package/dist/index.js +1 -1
  37. package/dist/index.mjs +1 -1
  38. package/dist/logger/init.js +1 -1
  39. package/dist/logger/init.mjs +1 -1
  40. package/dist/providers/CrossmintProvider.d.mts +10 -4
  41. package/dist/providers/CrossmintProvider.d.ts +10 -4
  42. package/dist/providers/CrossmintProvider.js +1 -1
  43. package/dist/providers/CrossmintProvider.mjs +1 -1
  44. package/dist/providers/CrossmintWalletProvider.d.mts +11 -1
  45. package/dist/providers/CrossmintWalletProvider.d.ts +11 -1
  46. package/dist/providers/CrossmintWalletProvider.js +1 -1
  47. package/dist/providers/CrossmintWalletProvider.mjs +1 -1
  48. package/dist/providers/index.d.mts +2 -2
  49. package/dist/providers/index.d.ts +2 -2
  50. package/dist/providers/index.js +1 -1
  51. package/dist/providers/index.mjs +1 -1
  52. package/dist/utils/createCrossmintApiClient.js +1 -1
  53. package/dist/utils/createCrossmintApiClient.mjs +1 -1
  54. package/package.json +7 -5
  55. package/dist/chunk-E3Q425UU.js +0 -1
  56. package/dist/chunk-HETD4F62.mjs +0 -1
  57. package/dist/chunk-MEDPB3RU.mjs +0 -1
  58. package/dist/chunk-PE3XIM3T.js +0 -1
package/README.md CHANGED
@@ -29,6 +29,7 @@ export default function App() {
29
29
  chain: "solana",
30
30
  signer: { type: "email" }
31
31
  }}
32
+ headlessSigningFlow={false}
32
33
  >
33
34
  <MainApp />
34
35
  </CrossmintWalletProvider>
@@ -242,6 +243,25 @@ EXPO_PUBLIC_CROSSMINT_API_KEY=your_api_key_here
242
243
  }
243
244
  ```
244
245
 
246
+ ## 📖 SDK Reference Docs Generation
247
+
248
+ ```
249
+ Source JSDoc → TypeDoc → api.json ─┐
250
+ ├→ generate-reference.mjs → MDX pages (docs/<product>/)
251
+ examples.json ─┘
252
+ ```
253
+
254
+ Run with `pnpm generate:docs` or `node scripts/generate-reference.mjs --product wallets`.
255
+
256
+ **Key details for maintainers:**
257
+
258
+ - **`api.json` and `docs/` are gitignored** — they're build artifacts, not checked in.
259
+ - **Adding a new product** only requires a new entry in the `PRODUCTS` config at the top of `generate-reference.mjs`. No other script changes needed.
260
+ - **Exports are auto-classified** by naming convention: `*Provider` → providers page, `use*` → hooks page, everything else → components page.
261
+ - **`examples.json`** holds all code snippets, keyed by export name (e.g. `"CrossmintProvider"`, `"useWallet"`). The script validates that every export has a matching example.
262
+ - **`MANUAL_RETURNS` / `EXPANDABLE_CHILDREN`** are escape hatches for cross-package types that TypeDoc can't resolve (e.g. wallet args, hook return types). If a new hook's return type shows as `unknown`, you likely need to add an entry here.
263
+ - **`skipErrorChecking: true`** in the TypeDoc config is intentional — React packages have peer deps that break type resolution without it.
264
+
245
265
  ## 📚 Examples & Documentation
246
266
 
247
267
  - **[Wallets Expo Quickstart](https://github.com/Crossmint/wallets-expo-quickstart)** - Create and interact with Crossmint wallets using Crossmint Auth for React Native.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkE3Q425UUjs = require('./chunk-E3Q425UU.js');var _commonsdkbase = require('@crossmint/common-sdk-base');function a(i,t){return new (0, _commonsdkbase.CrossmintApiClient)(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:_chunkE3Q425UUjs.a.version},apiKeyExpectations:t}})}exports.a = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZD4SAVMKjs = require('./chunk-ZD4SAVMK.js');var _commonsdkbase = require('@crossmint/common-sdk-base');function a(i,t){return new (0, _commonsdkbase.CrossmintApiClient)(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:_chunkZD4SAVMKjs.a.version},apiKeyExpectations:t}})}exports.a = a;
@@ -0,0 +1 @@
1
+ import{a as m}from"./chunk-E3JHGSJU.mjs";import{useMemo as v}from"react";import d from"expo-constants";import{CrossmintProvider as f,createLoggerContext as P}from"@crossmint/client-sdk-react-base";import{jsx as p}from"react/jsx-runtime";var l=P();function N({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=v(()=>m(o,r),[o,r]),c=(n=(t=(e=d.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=d.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return p(l.Provider,{value:g,children:p(f,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}export{l as a,N as b};
@@ -1 +1 @@
1
- "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 _chunkE3Q425UUjs = require('./chunk-E3Q425UU.js');var _commonsdkbase = require('@crossmint/common-sdk-base');var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _expodevice = require('expo-device'); var e = _interopRequireWildcard(_expodevice);function P(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=_commonsdkbase.validateAPIKey.call(void 0, n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new (0, _commonsdkbase.SdkLogger)({packageName:_chunkE3Q425UUjs.a.name,packageVersion:_chunkE3Q425UUjs.a.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=_expoconstants2.default.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=_expoconstants2.default.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new (0, _commonsdkbase.ReactNativeDatadogSink)(d,N,o);return a.addSink(h),w(a),a}function w(n){_reactnative.AppState.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}exports.a = P;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkZD4SAVMKjs = require('./chunk-ZD4SAVMK.js');var _commonsdkbase = require('@crossmint/common-sdk-base');var _reactnative = require('react-native');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _expodevice = require('expo-device'); var e = _interopRequireWildcard(_expodevice);function P(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=_commonsdkbase.validateAPIKey.call(void 0, n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new (0, _commonsdkbase.SdkLogger)({packageName:_chunkZD4SAVMKjs.a.name,packageVersion:_chunkZD4SAVMKjs.a.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=_expoconstants2.default.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=_expoconstants2.default.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new (0, _commonsdkbase.ReactNativeDatadogSink)(d,N,o);return a.addSink(h),w(a),a}function w(n){_reactnative.AppState.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}exports.a = P;
@@ -1 +1 @@
1
- import{a as r}from"./chunk-MEDPB3RU.mjs";import{SdkLogger as C,ReactNativeDatadogSink as R,validateAPIKey as S}from"@crossmint/common-sdk-base";import{AppState as b}from"react-native";import D from"expo-constants";import*as e from"expo-device";function _(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=S(n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new C({packageName:r.name,packageVersion:r.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=D.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=D.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new R(d,N,o);return a.addSink(h),w(a),a}function w(n){b.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}export{_ as a};
1
+ import{a as r}from"./chunk-FIKDCXZD.mjs";import{SdkLogger as C,ReactNativeDatadogSink as R,validateAPIKey as S}from"@crossmint/common-sdk-base";import{AppState as b}from"react-native";import D from"expo-constants";import*as e from"expo-device";function _(n,i){var s,c,f,g,v,m,u,l,p,k,L;let t=S(n);if(!t.isValid)throw new Error(`Invalid API key: ${t.message}`);let{environment:d,projectId:I}=t,a=new C({packageName:r.name,packageVersion:r.version,environment:d,projectId:I,platform:"react-native",consoleLogLevel:i}),N=(m=(v=(c=(s=D.expoConfig)==null?void 0:s.ios)==null?void 0:c.bundleIdentifier)!=null?v:(g=(f=D.expoConfig)==null?void 0:f.android)==null?void 0:g.package)!=null?m:void 0,o={};e!=null&&(o.device=(p=(l=(u=e.modelName)!=null?u:e.deviceName)!=null?l:e.brand)!=null?p:void 0,o.os_version=(k=e.osVersion)!=null?k:void 0,o.os_name=(L=e.osName)!=null?L:void 0);let h=new R(d,N,o);return a.addSink(h),w(a),a}function w(n){b.addEventListener("change",i=>{(i==="background"||i==="inactive")&&typeof n.flush=="function"&&n.flush()})}export{_ as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYQEWHOQ7js = require('./chunk-YQEWHOQ7.js');var _chunkVACQTZRTjs = require('./chunk-VACQTZRT.js');var _chunkSQ3LRODTjs = require('./chunk-SQ3LRODT.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=_chunkSQ3LRODTjs.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 _chunk2XVI4EV6js = require('./chunk-2XVI4EV6.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=_chunk2XVI4EV6js.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
+ var c={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.20",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","generate:docs":"typedoc && node scripts/generate-reference.mjs"},dependencies:{"@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-rn-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@solana/web3.js":"1.98.1",bs58:"^5.0.0","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},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"}};export{c as a};
@@ -1 +1 @@
1
- import{a as n}from"./chunk-MEDPB3RU.mjs";import{CrossmintApiClient as e}from"@crossmint/common-sdk-base";function C(i,t){return new e(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:n.version},apiKeyExpectations:t}})}export{C as a};
1
+ import{a as n}from"./chunk-FIKDCXZD.mjs";import{CrossmintApiClient as e}from"@crossmint/common-sdk-base";function C(i,t){return new e(i,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-native-ui",version:n.version},apiKeyExpectations:t}})}export{C as a};
@@ -1 +1 @@
1
- import{a as W}from"./chunk-HETD4F62.mjs";import{a as E}from"./chunk-XNDIT72O.mjs";import{a as P}from"./chunk-3QSVHCEH.mjs";import{a as w,e as m}from"./chunk-PSSAAY7D.mjs";import{useCallback as y,useRef as V,useMemo as f,useEffect as S,useState as z}from"react";import{View as x}from"react-native";import{RNWebView as _,WebViewParent as F}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as k,signerInboundEvents as j,signerOutboundEvents as H,SignerErrorCode as K}from"@crossmint/client-signers";import{validateAPIKey as B}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as G,useCrossmint as J}from"@crossmint/client-sdk-react-base";import{useLogger as $}from"@crossmint/client-sdk-react-base";import{Fragment as Q,jsx as c,jsxs as I}from"react/jsx-runtime";function q({children:d,createOnLogin:O,appearance:M,headlessSigningFlow:p=!0,callbacks:R}){let{crossmint:U}=J("CrossmintWalletProvider must be used within CrossmintProvider"),r=$(W),{apiKey:g,appId:u}=U,v=f(()=>{let e=B(g);if(!e.isValid)throw new Error("Invalid API key");return e},[g]),L=f(()=>k[v.environment],[v.environment]),a=V(null),n=V(null),[h,T]=z(!1),A=f(()=>u!=null?{crossmintAppId:u}:{},[u]);S(()=>{a.current!=null&&n.current==null&&(r.info("react-native.wallet.webview.initializing"),n.current=new F(a,{incomingEvents:H,outgoingEvents:j,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[K.IndexedDbFatal]}}),r.info("react-native.wallet.webview.initialized"))},[h,r]);let N=y(()=>m(this,null,function*(){let e=n.current;if(e!=null)try{r.info("react-native.wallet.webview.handshake.start"),e.isConnected=!1,yield e.handshakeWithChild(),r.info("react-native.wallet.webview.handshake.success")}catch(t){r.error("react-native.wallet.webview.handshake.error",{error:t instanceof Error?t.message:String(t)}),console.error("[CrossmintWalletProvider] Handshake error:",t)}}),[r]),D=y(e=>{let t=n.current;if(t!=null){try{let o=JSON.parse(e.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let b=o.type.split(".")[1],C=(o.data||[]).map(i=>{try{return i==="[Function]"||i==="[Circular Reference]"||i==="[Unserializable Object]"?i:JSON.parse(i)}catch(ee){return i}}),s=`react-native.wallet.webview.console.${b}`,l={webview_args:C};switch(b){case"log":r.info(s,l);break;case"error":r.error(s,l);break;case"warn":r.warn(s,l);break;case"info":r.info(s,l);break;case"debug":r.debug(s,l);break;default:r.info("react-native.wallet.webview.console.unknown",{webview_method:b,webview_args:C})}return}}catch(o){}t.handleMessage(e)}},[r]);return I(G,{createOnLogin:O,appearance:M,headlessSigningFlow:p,initializeWebView:()=>m(this,null,function*(){r.info("react-native.wallet.webview.init.start"),T(!0);let e=0,t=100;for(;n.current==null&&e<t;)yield new Promise(o=>setTimeout(o,50)),e++;if(n.current==null)throw r.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");r.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:R,renderUI:p?void 0:({emailSignerProps:e,phoneSignerProps:t})=>I(Q,{children:[c(E,w({},e)),c(P,w({},t))]}),clientTEEConnection:()=>{if(n.current==null)throw new Error("WebView not ready or handshake incomplete");return n.current},children:[d,h&&c(x,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:c(_,{ref:a,source:{uri:L},globals:A,onLoadEnd:N,onMessage:D,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var e;return(e=a.current)==null?void 0:e.reload()},onRenderProcessGone:()=>{var e;return(e=a.current)==null?void 0:e.reload()},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[k[v.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function ve(d){return c(q,w({},d))}export{ve as a};
1
+ import{a as W}from"./chunk-4HJT2QG3.mjs";import{a as E}from"./chunk-XNDIT72O.mjs";import{a as P}from"./chunk-3QSVHCEH.mjs";import{a as w,e as m}from"./chunk-PSSAAY7D.mjs";import{useCallback as y,useRef as V,useMemo as f,useEffect as S,useState as z}from"react";import{View as x}from"react-native";import{RNWebView as _,WebViewParent as F}from"@crossmint/client-sdk-rn-window";import{environmentUrlConfig as k,signerInboundEvents as j,signerOutboundEvents as H,SignerErrorCode as K}from"@crossmint/client-signers";import{validateAPIKey as B}from"@crossmint/common-sdk-base";import{CrossmintWalletBaseProvider as G,useCrossmint as J}from"@crossmint/client-sdk-react-base";import{useLogger as $}from"@crossmint/client-sdk-react-base";import{Fragment as Q,jsx as c,jsxs as I}from"react/jsx-runtime";function q({children:d,createOnLogin:O,appearance:M,headlessSigningFlow:p=!0,callbacks:R}){let{crossmint:U}=J("CrossmintWalletProvider must be used within CrossmintProvider"),r=$(W),{apiKey:g,appId:u}=U,v=f(()=>{let e=B(g);if(!e.isValid)throw new Error("Invalid API key");return e},[g]),L=f(()=>k[v.environment],[v.environment]),a=V(null),n=V(null),[h,T]=z(!1),A=f(()=>u!=null?{crossmintAppId:u}:{},[u]);S(()=>{a.current!=null&&n.current==null&&(r.info("react-native.wallet.webview.initializing"),n.current=new F(a,{incomingEvents:H,outgoingEvents:j,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[K.IndexedDbFatal]}}),r.info("react-native.wallet.webview.initialized"))},[h,r]);let N=y(()=>m(this,null,function*(){let e=n.current;if(e!=null)try{r.info("react-native.wallet.webview.handshake.start"),e.isConnected=!1,yield e.handshakeWithChild(),r.info("react-native.wallet.webview.handshake.success")}catch(t){r.error("react-native.wallet.webview.handshake.error",{error:t instanceof Error?t.message:String(t)}),console.error("[CrossmintWalletProvider] Handshake error:",t)}}),[r]),D=y(e=>{let t=n.current;if(t!=null){try{let o=JSON.parse(e.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let b=o.type.split(".")[1],C=(o.data||[]).map(i=>{try{return i==="[Function]"||i==="[Circular Reference]"||i==="[Unserializable Object]"?i:JSON.parse(i)}catch(ee){return i}}),s=`react-native.wallet.webview.console.${b}`,l={webview_args:C};switch(b){case"log":r.info(s,l);break;case"error":r.error(s,l);break;case"warn":r.warn(s,l);break;case"info":r.info(s,l);break;case"debug":r.debug(s,l);break;default:r.info("react-native.wallet.webview.console.unknown",{webview_method:b,webview_args:C})}return}}catch(o){}t.handleMessage(e)}},[r]);return I(G,{createOnLogin:O,appearance:M,headlessSigningFlow:p,initializeWebView:()=>m(this,null,function*(){r.info("react-native.wallet.webview.init.start"),T(!0);let e=0,t=100;for(;n.current==null&&e<t;)yield new Promise(o=>setTimeout(o,50)),e++;if(n.current==null)throw r.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");r.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:R,renderUI:p?void 0:({emailSignerProps:e,phoneSignerProps:t})=>I(Q,{children:[c(E,w({},e)),c(P,w({},t))]}),clientTEEConnection:()=>{if(n.current==null)throw new Error("WebView not ready or handshake incomplete");return n.current},children:[d,h&&c(x,{style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:c(_,{ref:a,source:{uri:L},globals:A,onLoadEnd:N,onMessage:D,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var e;return(e=a.current)==null?void 0:e.reload()},onRenderProcessGone:()=>{var e;return(e=a.current)==null?void 0:e.reload()},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[k[v.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function ve(d){return c(q,w({},d))}export{ve as a};
@@ -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-DB4FOJAL.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-FZK2PPIV.mjs";import{a as p}from"./chunk-FFQ6EQCL.mjs";import{a as d,b as m}from"./chunk-PSSAAY7D.mjs";import{useCrossmint as S}from"@crossmint/client-sdk-react-base";import{useEffect as b,useRef as l,useState as g}from"react";import{View as W}from"react-native";import{crossmintEmbeddedCheckoutV3Service as I}from"@crossmint/client-sdk-base";import{RNWebView as A,WebViewParent as M}from"@crossmint/client-sdk-rn-window";import{embeddedCheckoutV3IncomingEvents as R,embeddedCheckoutV3OutgoingEvents as O}from"@crossmint/client-sdk-base";import{jsx as c,jsxs as L}from"react/jsx-runtime";function Y(t){var u;let[e,w]=g(null),[C,v]=g(0),E=l((u=t.payment.crypto.payer)==null?void 0:u.initialChain),n=l(t);if(U(t,n.current)){let r=d({},t),o=F(t,E.current);o.shouldPreserve&&(r.payment.crypto.payer=o.updatedPayer),n.current=r}let{crossmint:i}=S(),V=f(i,{usageOrigin:"client"}),P=I({apiClient:V}),s=l(null);b(()=>{let r=s.current;if(!r||e)return;let o=new M({current:r},{incomingEvents:R,outgoingEvents:O});w(o)},[s.current,e]),b(()=>{if(e==null)return;let r=a=>v(a.height);e.on("ui:height.changed",r);let o=a=>{p.emit("order:updated",a)};return e.on("order:updated",o),()=>{e.off("ui:height.changed"),e.off("order:updated")}},[e]);let k=r=>{e&&e.handleMessage(r)};return L(W,{style:{flex:1},children:[c(A,{ref:s,globals:i.appId?{crossmintAppId:i.appId}:void 0,source:{uri:P.iframe.getUrl(n.current)},onMessage:k,style:{width:"100%",minWidth:"100%",height:C,backgroundColor:"transparent",overflow:"hidden",opacity:1,padding:0,boxShadow:"none",borderWidth:0,transform:[{translateX:0}]},allowsInlineMediaPlayback:!0,mediaPlaybackRequiresUserAction:!1,allowsBackForwardNavigationGestures:!1,allowsLinkPreview:!1,scrollEnabled:!1,bounces:!1,showsHorizontalScrollIndicator:!1,showsVerticalScrollIndicator:!1,domStorageEnabled:!0,mixedContentMode:"always",allowFileAccess:!0,allowUniversalAccessFromFileURLs:!0,geolocationEnabled:!0,userAgent:h,paymentRequestEnabled:!0}),n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?c(y,{payer:n.current.payment.crypto.payer,webViewClient:e}):c(H,{message:"If 'payment.crypto.enabled' is true, 'payment.crypto.payer' must be provided. Support for not providing a payer is not yet implemented."}):null]})}function U(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function F(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:m(d({},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}function H({message:t}){throw new Error(t)}export{Y as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUJGWCSHAjs = require('./chunk-UJGWCSHA.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkUJGWCSHAjs.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFAYZFW22js = require('./chunk-FAYZFW22.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkFAYZFW22js.a,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = s;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkPE3XIM3Tjs = require('./chunk-PE3XIM3T.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');function q({children:d,createOnLogin:O,appearance:M,headlessSigningFlow:p=!0,callbacks:R}){let{crossmint:U}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),r=_clientsdkreactbase.useLogger.call(void 0, _chunkPE3XIM3Tjs.a),{apiKey:g,appId:u}=U,v=_react.useMemo.call(void 0, ()=>{let e=_commonsdkbase.validateAPIKey.call(void 0, g);if(!e.isValid)throw new Error("Invalid API key");return e},[g]),L=_react.useMemo.call(void 0, ()=>_clientsigners.environmentUrlConfig[v.environment],[v.environment]),a=_react.useRef.call(void 0, null),n=_react.useRef.call(void 0, null),[h,T]=_react.useState.call(void 0, !1),A=_react.useMemo.call(void 0, ()=>u!=null?{crossmintAppId:u}:{},[u]);_react.useEffect.call(void 0, ()=>{a.current!=null&&n.current==null&&(r.info("react-native.wallet.webview.initializing"),n.current=new (0, _clientsdkrnwindow.WebViewParent)(a,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[_clientsigners.SignerErrorCode.IndexedDbFatal]}}),r.info("react-native.wallet.webview.initialized"))},[h,r]);let N=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){let e=n.current;if(e!=null)try{r.info("react-native.wallet.webview.handshake.start"),e.isConnected=!1,yield e.handshakeWithChild(),r.info("react-native.wallet.webview.handshake.success")}catch(t){r.error("react-native.wallet.webview.handshake.error",{error:t instanceof Error?t.message:String(t)}),console.error("[CrossmintWalletProvider] Handshake error:",t)}}),[r]),D=_react.useCallback.call(void 0, e=>{let t=n.current;if(t!=null){try{let o=JSON.parse(e.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let b=o.type.split(".")[1],C=(o.data||[]).map(i=>{try{return i==="[Function]"||i==="[Circular Reference]"||i==="[Unserializable Object]"?i:JSON.parse(i)}catch(ee){return i}}),s=`react-native.wallet.webview.console.${b}`,l={webview_args:C};switch(b){case"log":r.info(s,l);break;case"error":r.error(s,l);break;case"warn":r.warn(s,l);break;case"info":r.info(s,l);break;case"debug":r.debug(s,l);break;default:r.info("react-native.wallet.webview.console.unknown",{webview_method:b,webview_args:C})}return}}catch(o){}t.handleMessage(e)}},[r]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:O,appearance:M,headlessSigningFlow:p,initializeWebView:()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){r.info("react-native.wallet.webview.init.start"),T(!0);let e=0,t=100;for(;n.current==null&&e<t;)yield new Promise(o=>setTimeout(o,50)),e++;if(n.current==null)throw r.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");r.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:R,renderUI:p?void 0:({emailSignerProps:e,phoneSignerProps:t})=>_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, {},t))]}),clientTEEConnection:()=>{if(n.current==null)throw new Error("WebView not ready or handshake incomplete");return n.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:a,source:{uri:L},globals:A,onLoadEnd:N,onMessage:D,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var e;return(e=a.current)==null?void 0:e.reload()},onRenderProcessGone:()=>{var e;return(e=a.current)==null?void 0:e.reload()},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[v.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function ue(d){return _jsxruntime.jsx.call(void 0, q,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = ue;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXV77R5HPjs = require('./chunk-XV77R5HP.js');var _chunkYJORUMPBjs = require('./chunk-YJORUMPB.js');var _chunkMVVSGLQLjs = require('./chunk-MVVSGLQL.js');var _chunkJ42HASCIjs = require('./chunk-J42HASCI.js');var _react = require('react');var _reactnative = require('react-native');var _clientsdkrnwindow = require('@crossmint/client-sdk-rn-window');var _clientsigners = require('@crossmint/client-signers');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');function q({children:d,createOnLogin:O,appearance:M,headlessSigningFlow:p=!0,callbacks:R}){let{crossmint:U}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),r=_clientsdkreactbase.useLogger.call(void 0, _chunkXV77R5HPjs.a),{apiKey:g,appId:u}=U,v=_react.useMemo.call(void 0, ()=>{let e=_commonsdkbase.validateAPIKey.call(void 0, g);if(!e.isValid)throw new Error("Invalid API key");return e},[g]),L=_react.useMemo.call(void 0, ()=>_clientsigners.environmentUrlConfig[v.environment],[v.environment]),a=_react.useRef.call(void 0, null),n=_react.useRef.call(void 0, null),[h,T]=_react.useState.call(void 0, !1),A=_react.useMemo.call(void 0, ()=>u!=null?{crossmintAppId:u}:{},[u]);_react.useEffect.call(void 0, ()=>{a.current!=null&&n.current==null&&(r.info("react-native.wallet.webview.initializing"),n.current=new (0, _clientsdkrnwindow.WebViewParent)(a,{incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents,handshakeOptions:{timeoutMs:3e4,intervalMs:100},recovery:{recoverableErrorCodes:[_clientsigners.SignerErrorCode.IndexedDbFatal]}}),r.info("react-native.wallet.webview.initialized"))},[h,r]);let N=_react.useCallback.call(void 0, ()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){let e=n.current;if(e!=null)try{r.info("react-native.wallet.webview.handshake.start"),e.isConnected=!1,yield e.handshakeWithChild(),r.info("react-native.wallet.webview.handshake.success")}catch(t){r.error("react-native.wallet.webview.handshake.error",{error:t instanceof Error?t.message:String(t)}),console.error("[CrossmintWalletProvider] Handshake error:",t)}}),[r]),D=_react.useCallback.call(void 0, e=>{let t=n.current;if(t!=null){try{let o=JSON.parse(e.nativeEvent.data);if(o&&typeof o.type=="string"&&o.type.startsWith("console.")){let b=o.type.split(".")[1],C=(o.data||[]).map(i=>{try{return i==="[Function]"||i==="[Circular Reference]"||i==="[Unserializable Object]"?i:JSON.parse(i)}catch(ee){return i}}),s=`react-native.wallet.webview.console.${b}`,l={webview_args:C};switch(b){case"log":r.info(s,l);break;case"error":r.error(s,l);break;case"warn":r.warn(s,l);break;case"info":r.info(s,l);break;case"debug":r.debug(s,l);break;default:r.info("react-native.wallet.webview.console.unknown",{webview_method:b,webview_args:C})}return}}catch(o){}t.handleMessage(e)}},[r]);return _jsxruntime.jsxs.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:O,appearance:M,headlessSigningFlow:p,initializeWebView:()=>_chunkJ42HASCIjs.e.call(void 0, this,null,function*(){r.info("react-native.wallet.webview.init.start"),T(!0);let e=0,t=100;for(;n.current==null&&e<t;)yield new Promise(o=>setTimeout(o,50)),e++;if(n.current==null)throw r.error("react-native.wallet.webview.init.timeout",{attempts:e}),new Error("WebView not ready or handshake incomplete");r.info("react-native.wallet.webview.init.success",{attempts:e})}),callbacks:R,renderUI:p?void 0:({emailSignerProps:e,phoneSignerProps:t})=>_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, {},t))]}),clientTEEConnection:()=>{if(n.current==null)throw new Error("WebView not ready or handshake incomplete");return n.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:a,source:{uri:L},globals:A,onLoadEnd:N,onMessage:D,onError:e=>{console.error("[CrossmintWalletProvider] WebView error:",e.nativeEvent)},onHttpError:e=>{console.error("[CrossmintWalletProvider] WebView HTTP error:",e.nativeEvent)},onContentProcessDidTerminate:()=>{var e;return(e=a.current)==null?void 0:e.reload()},onRenderProcessGone:()=>{var e;return(e=a.current)==null?void 0:e.reload()},style:{width:1,height:1},javaScriptCanOpenWindowsAutomatically:!1,thirdPartyCookiesEnabled:!1,sharedCookiesEnabled:!1,incognito:!1,setSupportMultipleWindows:!1,originWhitelist:[_clientsigners.environmentUrlConfig[v.environment]],cacheEnabled:!0,cacheMode:"LOAD_DEFAULT"})})]})}function ue(d){return _jsxruntime.jsx.call(void 0, q,_chunkJ42HASCIjs.a.call(void 0, {},d))}exports.a = ue;
@@ -1 +1 @@
1
- import{a as o}from"./chunk-TMY7RA6L.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-M672E3V7.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 _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk7MK4FKA3js = require('./chunk-7MK4FKA3.js');var _react = require('react');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var l=_clientsdkreactbase.createLoggerContext.call(void 0, );function I({children:a,apiKey:o,overrideBaseUrl:C,consoleLogLevel:r}){var e,t,i,s,n;let g=_react.useMemo.call(void 0, ()=>_chunk7MK4FKA3js.a.call(void 0, o,r),[o,r]),c=(n=(t=(e=_expoconstants2.default.expoConfig)==null?void 0:e.ios)==null?void 0:t.bundleIdentifier)!=null?n:(s=(i=_expoconstants2.default.expoConfig)==null?void 0:i.android)==null?void 0:s.package;return _jsxruntime.jsx.call(void 0, l.Provider,{value:g,children:_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:o,appId:c,overrideBaseUrl:C,children:a})})}exports.a = l; exports.b = I;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var c={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.20",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",files:["dist","app.plugin.js","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","generate:docs":"typedoc && node scripts/generate-reference.mjs"},dependencies:{"@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-rn-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@solana/web3.js":"1.98.1",bs58:"^5.0.0","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17",typedoc:"0.28.16","@types/react":"19.1.10","expo-constants":"~18.0.9","expo-device":"~8.0.9","expo-secure-store":"~15.0.7","expo-web-browser":"~15.0.8"},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"}};exports.a = c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunkOLAA2YJFjs = require('../../chunk-OLAA2YJF.js');require('../../chunk-UJGWCSHA.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-SQ3LRODT.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-E3Q425UU.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkOLAA2YJFjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-DKQZSNOO.js');require('../../chunk-72MMCJ2E.js');var _chunkQ2W64FSIjs = require('../../chunk-Q2W64FSI.js');require('../../chunk-FAYZFW22.js');require('../../chunk-YQEWHOQ7.js');require('../../chunk-VACQTZRT.js');require('../../chunk-2XVI4EV6.js');require('../../chunk-2D2RJCVX.js');require('../../chunk-ZD4SAVMK.js');require('../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkQ2W64FSIjs.a;
@@ -1 +1 @@
1
- import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-L5WEYQYO.mjs";import"../../chunk-TMY7RA6L.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-DB4FOJAL.mjs";import"../../chunk-FFQ6EQCL.mjs";import"../../chunk-MEDPB3RU.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../chunk-TIQGKXQA.mjs";import"../../chunk-MB7H3PBJ.mjs";import{a}from"../../chunk-VDL2DQT7.mjs";import"../../chunk-M672E3V7.mjs";import"../../chunk-PCJMDUSI.mjs";import"../../chunk-FX23A4BR.mjs";import"../../chunk-FZK2PPIV.mjs";import"../../chunk-FFQ6EQCL.mjs";import"../../chunk-FIKDCXZD.mjs";import"../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOLAA2YJFjs = require('../../../chunk-OLAA2YJF.js');require('../../../chunk-UJGWCSHA.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-SQ3LRODT.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-E3Q425UU.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkOLAA2YJFjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQ2W64FSIjs = require('../../../chunk-Q2W64FSI.js');require('../../../chunk-FAYZFW22.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2XVI4EV6.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-ZD4SAVMK.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkQ2W64FSIjs.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-L5WEYQYO.mjs";import"../../../chunk-TMY7RA6L.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-DB4FOJAL.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-MEDPB3RU.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import{a}from"../../../chunk-VDL2DQT7.mjs";import"../../../chunk-M672E3V7.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-FZK2PPIV.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-FIKDCXZD.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUJGWCSHAjs = require('../../../chunk-UJGWCSHA.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-SQ3LRODT.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-E3Q425UU.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunkUJGWCSHAjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFAYZFW22js = require('../../../chunk-FAYZFW22.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2XVI4EV6.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-ZD4SAVMK.js');require('../../../chunk-J42HASCI.js');exports.EmbeddedCheckoutV3WebView = _chunkFAYZFW22js.a;
@@ -1 +1 @@
1
- import{a}from"../../../chunk-TMY7RA6L.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-DB4FOJAL.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-MEDPB3RU.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as EmbeddedCheckoutV3WebView};
1
+ import{a}from"../../../chunk-M672E3V7.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-FZK2PPIV.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-FIKDCXZD.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 _chunkOLAA2YJFjs = require('../../../chunk-OLAA2YJF.js');require('../../../chunk-UJGWCSHA.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-SQ3LRODT.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-E3Q425UU.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkOLAA2YJFjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../../chunk-72MMCJ2E.js');var _chunkQ2W64FSIjs = require('../../../chunk-Q2W64FSI.js');require('../../../chunk-FAYZFW22.js');require('../../../chunk-YQEWHOQ7.js');require('../../../chunk-VACQTZRT.js');require('../../../chunk-2XVI4EV6.js');require('../../../chunk-2D2RJCVX.js');require('../../../chunk-ZD4SAVMK.js');require('../../../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkQ2W64FSIjs.a;
@@ -1 +1 @@
1
- import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-L5WEYQYO.mjs";import"../../../chunk-TMY7RA6L.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-DB4FOJAL.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-MEDPB3RU.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
1
+ import"../../../chunk-MB7H3PBJ.mjs";import{a}from"../../../chunk-VDL2DQT7.mjs";import"../../../chunk-M672E3V7.mjs";import"../../../chunk-PCJMDUSI.mjs";import"../../../chunk-FX23A4BR.mjs";import"../../../chunk-FZK2PPIV.mjs";import"../../../chunk-FFQ6EQCL.mjs";import"../../../chunk-FIKDCXZD.mjs";import"../../../chunk-PSSAAY7D.mjs";export{a as CrossmintEmbeddedCheckout};
@@ -1,7 +1,7 @@
1
1
  export { CrossmintEmbeddedCheckout } from './embed/v3/CrossmintEmbeddedCheckoutV3.mjs';
2
2
  export { EmailSignersDialog } from './signers/EmailSignersDialog.mjs';
3
3
  export { PhoneSignersDialog } from './signers/PhoneSignersDialog.mjs';
4
- export { ExportPrivateKeyButton } from './wallets/ExportPrivateKeyButton.mjs';
4
+ export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './wallets/ExportPrivateKeyButton.mjs';
5
5
  import 'react/jsx-runtime';
6
6
  import '@crossmint/client-sdk-base';
7
7
  import 'react';
@@ -1,7 +1,7 @@
1
1
  export { CrossmintEmbeddedCheckout } from './embed/v3/CrossmintEmbeddedCheckoutV3.js';
2
2
  export { EmailSignersDialog } from './signers/EmailSignersDialog.js';
3
3
  export { PhoneSignersDialog } from './signers/PhoneSignersDialog.js';
4
- export { ExportPrivateKeyButton } from './wallets/ExportPrivateKeyButton.js';
4
+ export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './wallets/ExportPrivateKeyButton.js';
5
5
  import 'react/jsx-runtime';
6
6
  import '@crossmint/client-sdk-base';
7
7
  import 'react';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-2PX34LDU.js');require('../chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('../chunk-UA34B5QB.js');require('../chunk-DKQZSNOO.js');require('../chunk-72MMCJ2E.js');var _chunkOLAA2YJFjs = require('../chunk-OLAA2YJF.js');require('../chunk-UJGWCSHA.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');require('../chunk-SQ3LRODT.js');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-2D2RJCVX.js');require('../chunk-E3Q425UU.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkOLAA2YJFjs.a; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-2PX34LDU.js');require('../chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('../chunk-UA34B5QB.js');require('../chunk-DKQZSNOO.js');require('../chunk-72MMCJ2E.js');var _chunkQ2W64FSIjs = require('../chunk-Q2W64FSI.js');require('../chunk-FAYZFW22.js');require('../chunk-YQEWHOQ7.js');require('../chunk-VACQTZRT.js');require('../chunk-2XVI4EV6.js');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-2D2RJCVX.js');require('../chunk-ZD4SAVMK.js');require('../chunk-J42HASCI.js');exports.CrossmintEmbeddedCheckout = _chunkQ2W64FSIjs.a; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a;
@@ -1 +1 @@
1
- import"../chunk-UBHIBMTA.mjs";import"../chunk-5CLFJLE4.mjs";import{a as d}from"../chunk-EF2YTIUF.mjs";import"../chunk-TIQGKXQA.mjs";import"../chunk-MB7H3PBJ.mjs";import{a as c}from"../chunk-L5WEYQYO.mjs";import"../chunk-TMY7RA6L.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import"../chunk-DB4FOJAL.mjs";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-FFQ6EQCL.mjs";import"../chunk-MEDPB3RU.mjs";import"../chunk-PSSAAY7D.mjs";export{c as CrossmintEmbeddedCheckout,a as EmailSignersDialog,d as ExportPrivateKeyButton,b as PhoneSignersDialog};
1
+ import"../chunk-UBHIBMTA.mjs";import"../chunk-5CLFJLE4.mjs";import{a as d}from"../chunk-EF2YTIUF.mjs";import"../chunk-TIQGKXQA.mjs";import"../chunk-MB7H3PBJ.mjs";import{a as c}from"../chunk-VDL2DQT7.mjs";import"../chunk-M672E3V7.mjs";import"../chunk-PCJMDUSI.mjs";import"../chunk-FX23A4BR.mjs";import"../chunk-FZK2PPIV.mjs";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-FFQ6EQCL.mjs";import"../chunk-FIKDCXZD.mjs";import"../chunk-PSSAAY7D.mjs";export{c as CrossmintEmbeddedCheckout,a as EmailSignersDialog,d as ExportPrivateKeyButton,b as PhoneSignersDialog};
@@ -2,8 +2,13 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { UIConfig } from '@crossmint/common-sdk-base';
3
3
 
4
4
  interface ExportPrivateKeyButtonProps {
5
+ /** Optional appearance configuration for styling the export button. */
5
6
  appearance?: UIConfig;
6
7
  }
8
+ /**
9
+ * Renders a button that allows the user to export their wallet's private key.
10
+ * Only works with email and phone signers. Will not render for passkey or external wallet signers.
11
+ */
7
12
  declare function ExportPrivateKeyButton({ appearance }: ExportPrivateKeyButtonProps): react_jsx_runtime.JSX.Element | null;
8
13
 
9
- export { ExportPrivateKeyButton };
14
+ export { ExportPrivateKeyButton, type ExportPrivateKeyButtonProps };
@@ -2,8 +2,13 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { UIConfig } from '@crossmint/common-sdk-base';
3
3
 
4
4
  interface ExportPrivateKeyButtonProps {
5
+ /** Optional appearance configuration for styling the export button. */
5
6
  appearance?: UIConfig;
6
7
  }
8
+ /**
9
+ * Renders a button that allows the user to export their wallet's private key.
10
+ * Only works with email and phone signers. Will not render for passkey or external wallet signers.
11
+ */
7
12
  declare function ExportPrivateKeyButton({ appearance }: ExportPrivateKeyButtonProps): react_jsx_runtime.JSX.Element | null;
8
13
 
9
- export { ExportPrivateKeyButton };
14
+ export { ExportPrivateKeyButton, type ExportPrivateKeyButtonProps };
@@ -1,3 +1,3 @@
1
- export { ExportPrivateKeyButton } from './ExportPrivateKeyButton.mjs';
1
+ export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './ExportPrivateKeyButton.mjs';
2
2
  import 'react/jsx-runtime';
3
3
  import '@crossmint/common-sdk-base';
@@ -1,3 +1,3 @@
1
- export { ExportPrivateKeyButton } from './ExportPrivateKeyButton.js';
1
+ export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './ExportPrivateKeyButton.js';
2
2
  import 'react/jsx-runtime';
3
3
  import '@crossmint/common-sdk-base';
@@ -1,9 +1,18 @@
1
1
  type EmailSignerFunctions = {
2
+ /** Whether the email signer currently requires authentication (OTP verification). */
2
3
  needsAuth: boolean;
4
+ /** Sends a one-time password to the user's email address. */
3
5
  sendEmailWithOtp: () => Promise<void>;
6
+ /** Verifies the one-time password entered by the user. */
4
7
  verifyOtp: (otp: string) => Promise<void>;
8
+ /** Rejects the current authentication request with an error. */
5
9
  reject: (error: Error) => void;
6
10
  };
11
+ /**
12
+ * Hook for managing email-based signer authentication flows.
13
+ * Provides OTP send/verify functions for wallets using an email signer.
14
+ * Must be used within a {@link CrossmintWalletProvider}.
15
+ */
7
16
  declare function useWalletEmailSigner(): EmailSignerFunctions;
8
17
 
9
18
  export { type EmailSignerFunctions, useWalletEmailSigner };
@@ -1,9 +1,18 @@
1
1
  type EmailSignerFunctions = {
2
+ /** Whether the email signer currently requires authentication (OTP verification). */
2
3
  needsAuth: boolean;
4
+ /** Sends a one-time password to the user's email address. */
3
5
  sendEmailWithOtp: () => Promise<void>;
6
+ /** Verifies the one-time password entered by the user. */
4
7
  verifyOtp: (otp: string) => Promise<void>;
8
+ /** Rejects the current authentication request with an error. */
5
9
  reject: (error: Error) => void;
6
10
  };
11
+ /**
12
+ * Hook for managing email-based signer authentication flows.
13
+ * Provides OTP send/verify functions for wallets using an email signer.
14
+ * Must be used within a {@link CrossmintWalletProvider}.
15
+ */
7
16
  declare function useWalletEmailSigner(): EmailSignerFunctions;
8
17
 
9
18
  export { type EmailSignerFunctions, useWalletEmailSigner };
package/dist/index.d.mts CHANGED
@@ -2,13 +2,13 @@ export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { EmailSignerFunctions, useWalletEmailSigner } from './hooks/useWalletEmailSigner.mjs';
3
3
  export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './hooks/useCrossmintCheckout.mjs';
4
4
  export { useAuth, useCrossmintAuth } from './hooks/useAuth.mjs';
5
- export { CrossmintProvider } from './providers/CrossmintProvider.mjs';
5
+ export { CrossmintProvider, CrossmintProviderProps } from './providers/CrossmintProvider.mjs';
6
6
  export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.mjs';
7
- export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.mjs';
7
+ export { CrossmintWalletProvider, CrossmintWalletProviderProps } from './providers/CrossmintWalletProvider.mjs';
8
8
  export { CrossmintEmbeddedCheckout } from './components/embed/v3/CrossmintEmbeddedCheckoutV3.mjs';
9
9
  export { EmailSignersDialog } from './components/signers/EmailSignersDialog.mjs';
10
10
  export { PhoneSignersDialog } from './components/signers/PhoneSignersDialog.mjs';
11
- export { ExportPrivateKeyButton } from './components/wallets/ExportPrivateKeyButton.mjs';
11
+ export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './components/wallets/ExportPrivateKeyButton.mjs';
12
12
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
13
13
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
14
14
  export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, StellarWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
package/dist/index.d.ts CHANGED
@@ -2,13 +2,13 @@ export { useCrossmint, useWallet } from '@crossmint/client-sdk-react-base';
2
2
  export { EmailSignerFunctions, useWalletEmailSigner } from './hooks/useWalletEmailSigner.js';
3
3
  export { CrossmintCheckoutContext, CrossmintCheckoutProvider, useCrossmintCheckout } from './hooks/useCrossmintCheckout.js';
4
4
  export { useAuth, useCrossmintAuth } from './hooks/useAuth.js';
5
- export { CrossmintProvider } from './providers/CrossmintProvider.js';
5
+ export { CrossmintProvider, CrossmintProviderProps } from './providers/CrossmintProvider.js';
6
6
  export { CrossmintAuthProvider } from './providers/CrossmintAuthProvider.js';
7
- export { CrossmintWalletProvider } from './providers/CrossmintWalletProvider.js';
7
+ export { CrossmintWalletProvider, CrossmintWalletProviderProps } from './providers/CrossmintWalletProvider.js';
8
8
  export { CrossmintEmbeddedCheckout } from './components/embed/v3/CrossmintEmbeddedCheckoutV3.js';
9
9
  export { EmailSignersDialog } from './components/signers/EmailSignersDialog.js';
10
10
  export { PhoneSignersDialog } from './components/signers/PhoneSignersDialog.js';
11
- export { ExportPrivateKeyButton } from './components/wallets/ExportPrivateKeyButton.js';
11
+ export { ExportPrivateKeyButton, ExportPrivateKeyButtonProps } from './components/wallets/ExportPrivateKeyButton.js';
12
12
  export { CrossmintEvent, CrossmintEventMap } from '@crossmint/client-sdk-base';
13
13
  export { OAuthProvider, SDKExternalUser } from '@crossmint/common-sdk-auth';
14
14
  export { Activity, Balances, Chain, DelegatedSigner, EVMWallet, Signature, SolanaWallet, StellarWallet, Transaction, Wallet } from '@crossmint/wallets-sdk';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-C62HRWJA.js');var _chunkJNN7ELU6js = require('./chunk-JNN7ELU6.js');var _chunkPE3XIM3Tjs = require('./chunk-PE3XIM3T.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('./chunk-UA34B5QB.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunkOLAA2YJFjs = require('./chunk-OLAA2YJF.js');require('./chunk-UJGWCSHA.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');require('./chunk-SQ3LRODT.js');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');var _chunkEF5KYLDOjs = require('./chunk-EF5KYLDO.js');require('./chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('./chunk-77GXCNDP.js');require('./chunk-2D2RJCVX.js');var _chunkMKCQJOIOjs = require('./chunk-MKCQJOIO.js');require('./chunk-XHJHU27G.js');require('./chunk-E3Q425UU.js');require('./chunk-J42HASCI.js');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunkOLAA2YJFjs.a; exports.CrossmintProvider = _chunkPE3XIM3Tjs.b; exports.CrossmintWalletProvider = _chunkJNN7ELU6js.a; exports.EVMWallet = _walletssdk.EVMWallet; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.StellarWallet = _walletssdk.StellarWallet; exports.Wallet = _walletssdk.Wallet; exports.useAuth = _chunkEF5KYLDOjs.d; exports.useCrossmint = _chunkEF5KYLDOjs.e; exports.useCrossmintAuth = _chunkEF5KYLDOjs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkEF5KYLDOjs.f; exports.useWalletEmailSigner = _chunkMKCQJOIOjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-C62HRWJA.js');var _chunkTICI5LTVjs = require('./chunk-TICI5LTV.js');var _chunkXV77R5HPjs = require('./chunk-XV77R5HP.js');require('./chunk-2PX34LDU.js');require('./chunk-AJMHVVST.js');var _chunkUA34B5QBjs = require('./chunk-UA34B5QB.js');require('./chunk-DKQZSNOO.js');require('./chunk-72MMCJ2E.js');var _chunkQ2W64FSIjs = require('./chunk-Q2W64FSI.js');require('./chunk-FAYZFW22.js');require('./chunk-YQEWHOQ7.js');require('./chunk-VACQTZRT.js');require('./chunk-2XVI4EV6.js');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');var _chunkEF5KYLDOjs = require('./chunk-EF5KYLDO.js');require('./chunk-SHTETN4C.js');var _chunk77GXCNDPjs = require('./chunk-77GXCNDP.js');require('./chunk-2D2RJCVX.js');var _chunkMKCQJOIOjs = require('./chunk-MKCQJOIO.js');require('./chunk-7MK4FKA3.js');require('./chunk-ZD4SAVMK.js');require('./chunk-J42HASCI.js');var _walletssdk = require('@crossmint/wallets-sdk');exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b; exports.CrossmintCheckoutProvider = _chunk77GXCNDPjs.a; exports.CrossmintEmbeddedCheckout = _chunkQ2W64FSIjs.a; exports.CrossmintProvider = _chunkXV77R5HPjs.b; exports.CrossmintWalletProvider = _chunkTICI5LTVjs.a; exports.EVMWallet = _walletssdk.EVMWallet; exports.EmailSignersDialog = _chunkYJORUMPBjs.a; exports.ExportPrivateKeyButton = _chunkUA34B5QBjs.a; exports.PhoneSignersDialog = _chunkMVVSGLQLjs.a; exports.SolanaWallet = _walletssdk.SolanaWallet; exports.StellarWallet = _walletssdk.StellarWallet; exports.Wallet = _walletssdk.Wallet; exports.useAuth = _chunkEF5KYLDOjs.d; exports.useCrossmint = _chunkEF5KYLDOjs.e; exports.useCrossmintAuth = _chunkEF5KYLDOjs.c; exports.useCrossmintCheckout = _chunk77GXCNDPjs.b; exports.useWallet = _chunkEF5KYLDOjs.f; exports.useWalletEmailSigner = _chunkMKCQJOIOjs.a;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import"./chunk-I3QSTPTV.mjs";import{a as y}from"./chunk-ZABECQTY.mjs";import{b as s}from"./chunk-HETD4F62.mjs";import"./chunk-UBHIBMTA.mjs";import"./chunk-5CLFJLE4.mjs";import{a as x}from"./chunk-EF2YTIUF.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as c}from"./chunk-L5WEYQYO.mjs";import"./chunk-TMY7RA6L.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import"./chunk-DB4FOJAL.mjs";import"./chunk-J7Q2R6UH.mjs";import{a as i}from"./chunk-XNDIT72O.mjs";import{a as m}from"./chunk-3QSVHCEH.mjs";import"./chunk-D5QADN6Z.mjs";import"./chunk-YLJDAK2S.mjs";import"./chunk-7USVT6EZ.mjs";import{b as o,c as a,d as n,e as l,f as p}from"./chunk-LK3AO6AY.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-IYVKRZKV.mjs";import"./chunk-MEDPB3RU.mjs";import"./chunk-PSSAAY7D.mjs";import{EVMWallet as u,SolanaWallet as C,StellarWallet as k,Wallet as A}from"@crossmint/wallets-sdk";export{o as CrossmintAuthProvider,e as CrossmintCheckoutProvider,c as CrossmintEmbeddedCheckout,s as CrossmintProvider,y as CrossmintWalletProvider,u as EVMWallet,i as EmailSignersDialog,x as ExportPrivateKeyButton,m as PhoneSignersDialog,C as SolanaWallet,k as StellarWallet,A as Wallet,n as useAuth,l as useCrossmint,a as useCrossmintAuth,r as useCrossmintCheckout,p as useWallet,t as useWalletEmailSigner};
1
+ import"./chunk-I3QSTPTV.mjs";import{a as y}from"./chunk-IB2BUTJH.mjs";import{b as s}from"./chunk-4HJT2QG3.mjs";import"./chunk-UBHIBMTA.mjs";import"./chunk-5CLFJLE4.mjs";import{a as x}from"./chunk-EF2YTIUF.mjs";import"./chunk-TIQGKXQA.mjs";import"./chunk-MB7H3PBJ.mjs";import{a as c}from"./chunk-VDL2DQT7.mjs";import"./chunk-M672E3V7.mjs";import"./chunk-PCJMDUSI.mjs";import"./chunk-FX23A4BR.mjs";import"./chunk-FZK2PPIV.mjs";import"./chunk-J7Q2R6UH.mjs";import{a as i}from"./chunk-XNDIT72O.mjs";import{a as m}from"./chunk-3QSVHCEH.mjs";import"./chunk-D5QADN6Z.mjs";import"./chunk-YLJDAK2S.mjs";import"./chunk-7USVT6EZ.mjs";import{b as o,c as a,d as n,e as l,f as p}from"./chunk-LK3AO6AY.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-E3JHGSJU.mjs";import"./chunk-FIKDCXZD.mjs";import"./chunk-PSSAAY7D.mjs";import{EVMWallet as u,SolanaWallet as C,StellarWallet as k,Wallet as A}from"@crossmint/wallets-sdk";export{o as CrossmintAuthProvider,e as CrossmintCheckoutProvider,c as CrossmintEmbeddedCheckout,s as CrossmintProvider,y as CrossmintWalletProvider,u as EVMWallet,i as EmailSignersDialog,x as ExportPrivateKeyButton,m as PhoneSignersDialog,C as SolanaWallet,k as StellarWallet,A as Wallet,n as useAuth,l as useCrossmint,a as useCrossmintAuth,r as useCrossmintCheckout,p as useWallet,t as useWalletEmailSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXHJHU27Gjs = require('../chunk-XHJHU27G.js');require('../chunk-E3Q425UU.js');require('../chunk-J42HASCI.js');exports.initReactNativeLogger = _chunkXHJHU27Gjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk7MK4FKA3js = require('../chunk-7MK4FKA3.js');require('../chunk-ZD4SAVMK.js');require('../chunk-J42HASCI.js');exports.initReactNativeLogger = _chunk7MK4FKA3js.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-IYVKRZKV.mjs";import"../chunk-MEDPB3RU.mjs";import"../chunk-PSSAAY7D.mjs";export{a as initReactNativeLogger};
1
+ import{a}from"../chunk-E3JHGSJU.mjs";import"../chunk-FIKDCXZD.mjs";import"../chunk-PSSAAY7D.mjs";export{a as initReactNativeLogger};
@@ -4,8 +4,7 @@ import { ReactNode } from 'react';
4
4
  import { CrossmintConfig, ConsoleLogLevel } from '@crossmint/common-sdk-base';
5
5
 
6
6
  declare const LoggerContext: _crossmint_client_sdk_react_base_dist_providers_LoggerProvider.LoggerContext;
7
- declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, consoleLogLevel, }: Pick<CrossmintConfig, "apiKey" | "overrideBaseUrl"> & {
8
- children: ReactNode;
7
+ interface CrossmintProviderProps extends Pick<CrossmintConfig, "apiKey" | "overrideBaseUrl"> {
9
8
  /**
10
9
  * Minimum log level for console output (or "silent" to suppress all output).
11
10
  * Logs below this level will not be written to the console.
@@ -13,6 +12,13 @@ declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, consoleL
13
12
  * Defaults to "debug" (all logs shown) for backward compatibility.
14
13
  */
15
14
  consoleLogLevel?: ConsoleLogLevel;
16
- }): react_jsx_runtime.JSX.Element;
15
+ /** @internal */
16
+ children: ReactNode;
17
+ }
18
+ /**
19
+ * Root provider for the Crossmint SDK. Must wrap your entire application.
20
+ * Initializes the SDK with your API key and sets up logging.
21
+ */
22
+ declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, consoleLogLevel }: CrossmintProviderProps): react_jsx_runtime.JSX.Element;
17
23
 
18
- export { CrossmintProvider, LoggerContext };
24
+ export { CrossmintProvider, type CrossmintProviderProps, LoggerContext };
@@ -4,8 +4,7 @@ import { ReactNode } from 'react';
4
4
  import { CrossmintConfig, ConsoleLogLevel } from '@crossmint/common-sdk-base';
5
5
 
6
6
  declare const LoggerContext: _crossmint_client_sdk_react_base_dist_providers_LoggerProvider.LoggerContext;
7
- declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, consoleLogLevel, }: Pick<CrossmintConfig, "apiKey" | "overrideBaseUrl"> & {
8
- children: ReactNode;
7
+ interface CrossmintProviderProps extends Pick<CrossmintConfig, "apiKey" | "overrideBaseUrl"> {
9
8
  /**
10
9
  * Minimum log level for console output (or "silent" to suppress all output).
11
10
  * Logs below this level will not be written to the console.
@@ -13,6 +12,13 @@ declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, consoleL
13
12
  * Defaults to "debug" (all logs shown) for backward compatibility.
14
13
  */
15
14
  consoleLogLevel?: ConsoleLogLevel;
16
- }): react_jsx_runtime.JSX.Element;
15
+ /** @internal */
16
+ children: ReactNode;
17
+ }
18
+ /**
19
+ * Root provider for the Crossmint SDK. Must wrap your entire application.
20
+ * Initializes the SDK with your API key and sets up logging.
21
+ */
22
+ declare function CrossmintProvider({ children, apiKey, overrideBaseUrl, consoleLogLevel }: CrossmintProviderProps): react_jsx_runtime.JSX.Element;
17
23
 
18
- export { CrossmintProvider, LoggerContext };
24
+ export { CrossmintProvider, type CrossmintProviderProps, LoggerContext };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkPE3XIM3Tjs = require('../chunk-PE3XIM3T.js');require('../chunk-XHJHU27G.js');require('../chunk-E3Q425UU.js');require('../chunk-J42HASCI.js');exports.CrossmintProvider = _chunkPE3XIM3Tjs.b; exports.LoggerContext = _chunkPE3XIM3Tjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXV77R5HPjs = require('../chunk-XV77R5HP.js');require('../chunk-7MK4FKA3.js');require('../chunk-ZD4SAVMK.js');require('../chunk-J42HASCI.js');exports.CrossmintProvider = _chunkXV77R5HPjs.b; exports.LoggerContext = _chunkXV77R5HPjs.a;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-HETD4F62.mjs";import"../chunk-IYVKRZKV.mjs";import"../chunk-MEDPB3RU.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintProvider,a as LoggerContext};
1
+ import{a,b}from"../chunk-4HJT2QG3.mjs";import"../chunk-E3JHGSJU.mjs";import"../chunk-FIKDCXZD.mjs";import"../chunk-PSSAAY7D.mjs";export{b as CrossmintProvider,a as LoggerContext};
@@ -4,16 +4,26 @@ import { UIConfig } from '@crossmint/common-sdk-base';
4
4
  import { CreateOnLogin } from '@crossmint/client-sdk-react-base';
5
5
 
6
6
  interface CrossmintWalletProviderProps {
7
- children: ReactNode;
7
+ /** Wallet configuration for automatic creation on user login. Defines the chain and signer type for the wallet. */
8
8
  createOnLogin?: CreateOnLogin;
9
+ /** Optional appearance configuration for styling built-in UI components. */
9
10
  appearance?: UIConfig;
10
11
  /** When true (default), no UI is rendered and signing flows must be handled manually. When false, built-in UI components are rendered. */
11
12
  headlessSigningFlow?: boolean;
13
+ /** Optional lifecycle callbacks invoked during wallet creation and transaction signing. */
12
14
  callbacks?: {
15
+ /** Called when a wallet creation flow begins. */
13
16
  onWalletCreationStart?: () => Promise<void>;
17
+ /** Called when a transaction signing flow begins. */
14
18
  onTransactionStart?: () => Promise<void>;
15
19
  };
20
+ /** @internal */
21
+ children: ReactNode;
16
22
  }
23
+ /**
24
+ * Provider for wallet creation and management. Must be nested inside {@link CrossmintProvider}.
25
+ * Handles secure communication with the Crossmint signer via a hidden WebView.
26
+ */
17
27
  declare function CrossmintWalletProvider(props: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
18
28
 
19
29
  export { CrossmintWalletProvider, type CrossmintWalletProviderProps };
@@ -4,16 +4,26 @@ import { UIConfig } from '@crossmint/common-sdk-base';
4
4
  import { CreateOnLogin } from '@crossmint/client-sdk-react-base';
5
5
 
6
6
  interface CrossmintWalletProviderProps {
7
- children: ReactNode;
7
+ /** Wallet configuration for automatic creation on user login. Defines the chain and signer type for the wallet. */
8
8
  createOnLogin?: CreateOnLogin;
9
+ /** Optional appearance configuration for styling built-in UI components. */
9
10
  appearance?: UIConfig;
10
11
  /** When true (default), no UI is rendered and signing flows must be handled manually. When false, built-in UI components are rendered. */
11
12
  headlessSigningFlow?: boolean;
13
+ /** Optional lifecycle callbacks invoked during wallet creation and transaction signing. */
12
14
  callbacks?: {
15
+ /** Called when a wallet creation flow begins. */
13
16
  onWalletCreationStart?: () => Promise<void>;
17
+ /** Called when a transaction signing flow begins. */
14
18
  onTransactionStart?: () => Promise<void>;
15
19
  };
20
+ /** @internal */
21
+ children: ReactNode;
16
22
  }
23
+ /**
24
+ * Provider for wallet creation and management. Must be nested inside {@link CrossmintProvider}.
25
+ * Handles secure communication with the Crossmint signer via a hidden WebView.
26
+ */
17
27
  declare function CrossmintWalletProvider(props: CrossmintWalletProviderProps): react_jsx_runtime.JSX.Element;
18
28
 
19
29
  export { CrossmintWalletProvider, type CrossmintWalletProviderProps };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJNN7ELU6js = require('../chunk-JNN7ELU6.js');require('../chunk-PE3XIM3T.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-XHJHU27G.js');require('../chunk-E3Q425UU.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkJNN7ELU6js.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTICI5LTVjs = require('../chunk-TICI5LTV.js');require('../chunk-XV77R5HP.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');require('../chunk-7MK4FKA3.js');require('../chunk-ZD4SAVMK.js');require('../chunk-J42HASCI.js');exports.CrossmintWalletProvider = _chunkTICI5LTVjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-ZABECQTY.mjs";import"../chunk-HETD4F62.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-IYVKRZKV.mjs";import"../chunk-MEDPB3RU.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintWalletProvider};
1
+ import{a}from"../chunk-IB2BUTJH.mjs";import"../chunk-4HJT2QG3.mjs";import"../chunk-XNDIT72O.mjs";import"../chunk-3QSVHCEH.mjs";import"../chunk-D5QADN6Z.mjs";import"../chunk-YLJDAK2S.mjs";import"../chunk-7USVT6EZ.mjs";import"../chunk-E3JHGSJU.mjs";import"../chunk-FIKDCXZD.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintWalletProvider};
@@ -1,6 +1,6 @@
1
- export { CrossmintProvider } from './CrossmintProvider.mjs';
1
+ export { CrossmintProvider, CrossmintProviderProps } from './CrossmintProvider.mjs';
2
2
  export { CrossmintAuthProvider } from './CrossmintAuthProvider.mjs';
3
- export { CrossmintWalletProvider } from './CrossmintWalletProvider.mjs';
3
+ export { CrossmintWalletProvider, CrossmintWalletProviderProps } from './CrossmintWalletProvider.mjs';
4
4
  import 'react/jsx-runtime';
5
5
  import '@crossmint/client-sdk-react-base/dist/providers/LoggerProvider';
6
6
  import 'react';
@@ -1,6 +1,6 @@
1
- export { CrossmintProvider } from './CrossmintProvider.js';
1
+ export { CrossmintProvider, CrossmintProviderProps } from './CrossmintProvider.js';
2
2
  export { CrossmintAuthProvider } from './CrossmintAuthProvider.js';
3
- export { CrossmintWalletProvider } from './CrossmintWalletProvider.js';
3
+ export { CrossmintWalletProvider, CrossmintWalletProviderProps } from './CrossmintWalletProvider.js';
4
4
  import 'react/jsx-runtime';
5
5
  import '@crossmint/client-sdk-react-base/dist/providers/LoggerProvider';
6
6
  import 'react';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C62HRWJA.js');var _chunkJNN7ELU6js = require('../chunk-JNN7ELU6.js');var _chunkPE3XIM3Tjs = require('../chunk-PE3XIM3T.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');var _chunkEF5KYLDOjs = require('../chunk-EF5KYLDO.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-MKCQJOIO.js');require('../chunk-XHJHU27G.js');require('../chunk-E3Q425UU.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b; exports.CrossmintProvider = _chunkPE3XIM3Tjs.b; exports.CrossmintWalletProvider = _chunkJNN7ELU6js.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C62HRWJA.js');var _chunkTICI5LTVjs = require('../chunk-TICI5LTV.js');var _chunkXV77R5HPjs = require('../chunk-XV77R5HP.js');require('../chunk-YJORUMPB.js');require('../chunk-MVVSGLQL.js');require('../chunk-F7VXWATP.js');require('../chunk-DC5HCBPK.js');require('../chunk-EI5LOD4Y.js');var _chunkEF5KYLDOjs = require('../chunk-EF5KYLDO.js');require('../chunk-SHTETN4C.js');require('../chunk-77GXCNDP.js');require('../chunk-2D2RJCVX.js');require('../chunk-MKCQJOIO.js');require('../chunk-7MK4FKA3.js');require('../chunk-ZD4SAVMK.js');require('../chunk-J42HASCI.js');exports.CrossmintAuthProvider = _chunkEF5KYLDOjs.b; exports.CrossmintProvider = _chunkXV77R5HPjs.b; exports.CrossmintWalletProvider = _chunkTICI5LTVjs.a;
@@ -1 +1 @@
1
- import"../chunk-I3QSTPTV.mjs";import{a as c}from"../chunk-ZABECQTY.mjs";import{b}from"../chunk-HETD4F62.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-LK3AO6AY.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-J477SX6P.mjs";import"../chunk-IYVKRZKV.mjs";import"../chunk-MEDPB3RU.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
1
+ import"../chunk-I3QSTPTV.mjs";import{a as c}from"../chunk-IB2BUTJH.mjs";import{b}from"../chunk-4HJT2QG3.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-LK3AO6AY.mjs";import"../chunk-ZCKUSOGC.mjs";import"../chunk-IUDQDPIN.mjs";import"../chunk-FFQ6EQCL.mjs";import"../chunk-J477SX6P.mjs";import"../chunk-E3JHGSJU.mjs";import"../chunk-FIKDCXZD.mjs";import"../chunk-PSSAAY7D.mjs";export{a as CrossmintAuthProvider,b as CrossmintProvider,c as CrossmintWalletProvider};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSQ3LRODTjs = require('../chunk-SQ3LRODT.js');require('../chunk-E3Q425UU.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunkSQ3LRODTjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2XVI4EV6js = require('../chunk-2XVI4EV6.js');require('../chunk-ZD4SAVMK.js');require('../chunk-J42HASCI.js');exports.createCrossmintApiClient = _chunk2XVI4EV6js.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-DB4FOJAL.mjs";import"../chunk-MEDPB3RU.mjs";import"../chunk-PSSAAY7D.mjs";export{a as createCrossmintApiClient};
1
+ import{a}from"../chunk-FZK2PPIV.mjs";import"../chunk-FIKDCXZD.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.13.19",
3
+ "version": "0.13.20",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -24,15 +24,16 @@
24
24
  "zod": "3.22.4",
25
25
  "@crossmint/client-sdk-auth": "1.2.47",
26
26
  "@crossmint/client-sdk-base": "1.7.14",
27
- "@crossmint/client-sdk-react-base": "1.0.2",
28
27
  "@crossmint/client-sdk-rn-window": "0.3.15",
28
+ "@crossmint/client-sdk-react-base": "1.0.2",
29
29
  "@crossmint/client-signers": "0.1.2",
30
- "@crossmint/common-sdk-auth": "1.0.69",
31
30
  "@crossmint/common-sdk-base": "0.9.17",
32
- "@crossmint/wallets-sdk": "0.19.0"
31
+ "@crossmint/wallets-sdk": "0.19.0",
32
+ "@crossmint/common-sdk-auth": "1.0.69"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@expo/config-plugins": "^9.0.17",
36
+ "typedoc": "0.28.16",
36
37
  "@types/react": "19.1.10",
37
38
  "expo-constants": "~18.0.9",
38
39
  "expo-device": "~8.0.9",
@@ -52,6 +53,7 @@
52
53
  },
53
54
  "scripts": {
54
55
  "build": "cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",
55
- "dev": "cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch"
56
+ "dev": "cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch",
57
+ "generate:docs": "typedoc && node scripts/generate-reference.mjs"
56
58
  }
57
59
  }
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var c={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.19",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","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17","@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"}};exports.a = c;
@@ -1 +0,0 @@
1
- import{a as m}from"./chunk-IYVKRZKV.mjs";import{useMemo as f}from"react";import a from"expo-constants";import{CrossmintProvider as v,createLoggerContext as l}from"@crossmint/client-sdk-react-base";import{jsx as d}from"react/jsx-runtime";var L=l();function N({children:g,apiKey:o,overrideBaseUrl:p,consoleLogLevel:e}){var r,t,i,n,s;let C=f(()=>m(o,e),[o,e]),c=(s=(t=(r=a.expoConfig)==null?void 0:r.ios)==null?void 0:t.bundleIdentifier)!=null?s:(n=(i=a.expoConfig)==null?void 0:i.android)==null?void 0:n.package;return d(L.Provider,{value:C,children:d(v,{apiKey:o,appId:c,overrideBaseUrl:p,children:g})})}export{L as a,N as b};
@@ -1 +0,0 @@
1
- var c={name:"@crossmint/client-sdk-react-native-ui",version:"0.13.19",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","lodash.clonedeep":"4.5.0","lodash.isequal":"4.5.0","lucide-react-native":"0.548.0",mitt:"3.0.1","react-native-svg":"15.14.0",zod:"3.22.4"},devDependencies:{"@expo/config-plugins":"^9.0.17","@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"}};export{c as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkXHJHU27Gjs = require('./chunk-XHJHU27G.js');var _react = require('react');var _expoconstants = require('expo-constants'); var _expoconstants2 = _interopRequireDefault(_expoconstants);var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var L=_clientsdkreactbase.createLoggerContext.call(void 0, );function I({children:g,apiKey:o,overrideBaseUrl:p,consoleLogLevel:e}){var r,t,i,n,s;let C=_react.useMemo.call(void 0, ()=>_chunkXHJHU27Gjs.a.call(void 0, o,e),[o,e]),c=(s=(t=(r=_expoconstants2.default.expoConfig)==null?void 0:r.ios)==null?void 0:t.bundleIdentifier)!=null?s:(n=(i=_expoconstants2.default.expoConfig)==null?void 0:i.android)==null?void 0:n.package;return _jsxruntime.jsx.call(void 0, L.Provider,{value:C,children:_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,{apiKey:o,appId:c,overrideBaseUrl:p,children:g})})}exports.a = L; exports.b = I;