@crossmint/client-sdk-react-base 0.7.15 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CrossmintWalletBaseProvider-UroldMZe.d.cts +88 -0
- package/dist/CrossmintWalletBaseProvider-x6JjRsj7.d.ts +88 -0
- package/dist/{chunk-UWAENLCQ.cjs → chunk-2ELFOPX5.cjs} +1 -1
- package/dist/chunk-B7VP62JO.js +1 -0
- package/dist/chunk-DSAHUACO.js +1 -0
- package/dist/{chunk-UYQYHE3O.js → chunk-FF2S33DL.js} +1 -1
- package/dist/chunk-JQ7VFMJR.js +1 -0
- package/dist/chunk-JV5G6BEH.cjs +1 -0
- package/dist/{chunk-PQT7XTWP.js → chunk-RYSTANTU.js} +1 -1
- package/dist/chunk-SAGHYSAM.cjs +1 -0
- package/dist/chunk-VD2K3UBK.cjs +1 -0
- package/dist/chunk-YZTKYYF3.js +1 -0
- package/dist/chunk-ZOVSCM6E.cjs +1 -0
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.d.cts +3 -2
- package/dist/hooks/index.d.ts +3 -2
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useAuth.cjs +1 -1
- package/dist/hooks/useAuth.js +1 -1
- package/dist/hooks/useCrossmint.cjs +1 -1
- package/dist/hooks/useCrossmint.d.cts +2 -1
- package/dist/hooks/useCrossmint.d.ts +2 -1
- package/dist/hooks/useCrossmint.js +1 -1
- package/dist/hooks/useSignerAuth.cjs +1 -1
- package/dist/hooks/useSignerAuth.d.cts +2 -4
- package/dist/hooks/useSignerAuth.d.ts +2 -4
- package/dist/hooks/useSignerAuth.js +1 -1
- package/dist/hooks/useWallet.cjs +1 -1
- package/dist/hooks/useWallet.d.cts +3 -2
- package/dist/hooks/useWallet.d.ts +3 -2
- package/dist/hooks/useWallet.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.js +1 -1
- package/dist/logger/init.cjs +1 -1
- package/dist/logger/init.d.cts +5 -2
- package/dist/logger/init.d.ts +5 -2
- package/dist/logger/init.js +1 -1
- package/dist/providers/CrossmintAuthBaseProvider.cjs +1 -1
- package/dist/providers/CrossmintAuthBaseProvider.js +1 -1
- package/dist/providers/CrossmintProvider.cjs +1 -1
- package/dist/providers/CrossmintProvider.d.cts +3 -3
- package/dist/providers/CrossmintProvider.d.ts +3 -3
- package/dist/providers/CrossmintProvider.js +1 -1
- package/dist/providers/CrossmintWalletBaseProvider.cjs +1 -1
- package/dist/providers/CrossmintWalletBaseProvider.d.cts +8 -36
- package/dist/providers/CrossmintWalletBaseProvider.d.ts +8 -36
- package/dist/providers/CrossmintWalletBaseProvider.js +1 -1
- package/dist/providers/CrossmintWalletUIBaseProvider.cjs +1 -1
- package/dist/providers/CrossmintWalletUIBaseProvider.d.cts +8 -58
- package/dist/providers/CrossmintWalletUIBaseProvider.d.ts +8 -58
- package/dist/providers/CrossmintWalletUIBaseProvider.js +1 -1
- package/dist/providers/LoggerProvider.d.cts +1 -1
- package/dist/providers/LoggerProvider.d.ts +1 -1
- package/dist/providers/LoggerProvider.js +1 -1
- package/dist/providers/index.cjs +1 -1
- package/dist/providers/index.d.cts +3 -3
- package/dist/providers/index.d.ts +3 -3
- package/dist/providers/index.js +1 -1
- package/package.json +6 -6
- package/dist/chunk-BBHNFSOY.cjs +0 -1
- package/dist/chunk-BP3EKJN6.js +0 -1
- package/dist/chunk-K7OZQQ55.js +0 -1
- package/dist/chunk-OHEWNH3G.js +0 -1
- package/dist/chunk-QKCWSAPH.cjs +0 -1
- package/dist/chunk-W2TASRNS.cjs +0 -1
- package/dist/chunk-X3ZY6SB5.cjs +0 -1
- package/dist/chunk-ZIP5OBIN.js +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { MutableRefObject, ReactNode } from 'react';
|
|
4
|
+
import { Wallet, Chain, WalletArgsFor, EmailSignerConfig, PhoneSignerConfig } from '@crossmint/wallets-sdk';
|
|
5
|
+
import { HandshakeParent } from '@crossmint/client-sdk-window';
|
|
6
|
+
import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
|
|
7
|
+
import { UIConfig } from '@crossmint/common-sdk-base';
|
|
8
|
+
import { CreateOnLogin } from './types/wallet.cjs';
|
|
9
|
+
import { SignerAuthState, SignerAuthHandlers } from './hooks/useSignerAuth.cjs';
|
|
10
|
+
|
|
11
|
+
interface CrossmintWalletUIBaseProviderProps {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
appearance?: UIConfig;
|
|
14
|
+
headlessSigningFlow?: boolean;
|
|
15
|
+
showPasskeyHelpers?: boolean;
|
|
16
|
+
renderUI?: (props: UIRenderProps) => ReactNode;
|
|
17
|
+
passkeyPromptState: PasskeyPromptState;
|
|
18
|
+
signerAuth: SignerAuthState & SignerAuthHandlers;
|
|
19
|
+
}
|
|
20
|
+
interface UIRenderProps {
|
|
21
|
+
emailSignerProps: {
|
|
22
|
+
email?: string;
|
|
23
|
+
open: boolean;
|
|
24
|
+
setOpen: (open: boolean) => void;
|
|
25
|
+
step: "initial" | "otp";
|
|
26
|
+
onSubmitOTP: (token: string) => Promise<void>;
|
|
27
|
+
onResendOTPCode: () => Promise<void>;
|
|
28
|
+
onSubmitEmail: () => Promise<void>;
|
|
29
|
+
rejectRef: MutableRefObject<(error?: Error) => void>;
|
|
30
|
+
appearance?: UIConfig;
|
|
31
|
+
};
|
|
32
|
+
phoneSignerProps: {
|
|
33
|
+
phone?: string;
|
|
34
|
+
open: boolean;
|
|
35
|
+
setOpen: (open: boolean) => void;
|
|
36
|
+
step: "initial" | "otp";
|
|
37
|
+
onSubmitOTP: (token: string) => Promise<void>;
|
|
38
|
+
onResendOTPCode: () => Promise<void>;
|
|
39
|
+
onSubmitPhone: () => Promise<void>;
|
|
40
|
+
rejectRef: MutableRefObject<(error?: Error) => void>;
|
|
41
|
+
appearance?: UIConfig;
|
|
42
|
+
};
|
|
43
|
+
passkeyPromptProps?: {
|
|
44
|
+
state: PasskeyPromptState;
|
|
45
|
+
appearance?: UIConfig;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
declare function CrossmintWalletUIBaseProvider({ children, appearance, headlessSigningFlow, renderUI, passkeyPromptState, signerAuth, }: CrossmintWalletUIBaseProviderProps): react_jsx_runtime.JSX.Element;
|
|
49
|
+
|
|
50
|
+
type CrossmintWalletBaseContext = {
|
|
51
|
+
wallet: Wallet<Chain> | undefined;
|
|
52
|
+
status: "not-loaded" | "in-progress" | "loaded" | "error";
|
|
53
|
+
getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<Wallet<Chain> | undefined>;
|
|
54
|
+
onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
|
|
55
|
+
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
56
|
+
emailSignerState: {
|
|
57
|
+
needsAuth: boolean;
|
|
58
|
+
sendEmailWithOtp: (() => Promise<void>) | null;
|
|
59
|
+
verifyOtp: ((otp: string) => Promise<void>) | null;
|
|
60
|
+
reject: ((error?: Error) => void) | null;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
declare const CrossmintWalletBaseContext: react.Context<CrossmintWalletBaseContext>;
|
|
64
|
+
interface CrossmintWalletBaseProviderProps {
|
|
65
|
+
children: ReactNode;
|
|
66
|
+
createOnLogin?: CreateOnLogin;
|
|
67
|
+
callbacks?: {
|
|
68
|
+
onWalletCreationStart?: () => Promise<void>;
|
|
69
|
+
onTransactionStart?: () => Promise<void>;
|
|
70
|
+
};
|
|
71
|
+
onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
|
|
72
|
+
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
73
|
+
initializeWebView?: () => Promise<void>;
|
|
74
|
+
appearance?: UIConfig;
|
|
75
|
+
headlessSigningFlow?: boolean;
|
|
76
|
+
showPasskeyHelpers?: boolean;
|
|
77
|
+
renderUI?: (props: UIRenderProps) => ReactNode;
|
|
78
|
+
}
|
|
79
|
+
type ValidPasskeyPromptType = "create-wallet" | "transaction" | "not-supported" | "create-wallet-error" | "transaction-error";
|
|
80
|
+
type PasskeyPromptState = {
|
|
81
|
+
open: boolean;
|
|
82
|
+
type?: ValidPasskeyPromptType;
|
|
83
|
+
primaryActionOnClick?: () => void;
|
|
84
|
+
secondaryActionOnClick?: () => void;
|
|
85
|
+
};
|
|
86
|
+
declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, clientTEEConnection, initializeWebView, appearance, headlessSigningFlow, showPasskeyHelpers, renderUI, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
88
|
+
export { CrossmintWalletBaseContext as C, type PasskeyPromptState as P, type UIRenderProps as U, type CrossmintWalletBaseProviderProps as a, CrossmintWalletBaseProvider as b, type CrossmintWalletUIBaseProviderProps as c, CrossmintWalletUIBaseProvider as d };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { MutableRefObject, ReactNode } from 'react';
|
|
4
|
+
import { Wallet, Chain, WalletArgsFor, EmailSignerConfig, PhoneSignerConfig } from '@crossmint/wallets-sdk';
|
|
5
|
+
import { HandshakeParent } from '@crossmint/client-sdk-window';
|
|
6
|
+
import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
|
|
7
|
+
import { UIConfig } from '@crossmint/common-sdk-base';
|
|
8
|
+
import { CreateOnLogin } from './types/wallet.js';
|
|
9
|
+
import { SignerAuthState, SignerAuthHandlers } from './hooks/useSignerAuth.js';
|
|
10
|
+
|
|
11
|
+
interface CrossmintWalletUIBaseProviderProps {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
appearance?: UIConfig;
|
|
14
|
+
headlessSigningFlow?: boolean;
|
|
15
|
+
showPasskeyHelpers?: boolean;
|
|
16
|
+
renderUI?: (props: UIRenderProps) => ReactNode;
|
|
17
|
+
passkeyPromptState: PasskeyPromptState;
|
|
18
|
+
signerAuth: SignerAuthState & SignerAuthHandlers;
|
|
19
|
+
}
|
|
20
|
+
interface UIRenderProps {
|
|
21
|
+
emailSignerProps: {
|
|
22
|
+
email?: string;
|
|
23
|
+
open: boolean;
|
|
24
|
+
setOpen: (open: boolean) => void;
|
|
25
|
+
step: "initial" | "otp";
|
|
26
|
+
onSubmitOTP: (token: string) => Promise<void>;
|
|
27
|
+
onResendOTPCode: () => Promise<void>;
|
|
28
|
+
onSubmitEmail: () => Promise<void>;
|
|
29
|
+
rejectRef: MutableRefObject<(error?: Error) => void>;
|
|
30
|
+
appearance?: UIConfig;
|
|
31
|
+
};
|
|
32
|
+
phoneSignerProps: {
|
|
33
|
+
phone?: string;
|
|
34
|
+
open: boolean;
|
|
35
|
+
setOpen: (open: boolean) => void;
|
|
36
|
+
step: "initial" | "otp";
|
|
37
|
+
onSubmitOTP: (token: string) => Promise<void>;
|
|
38
|
+
onResendOTPCode: () => Promise<void>;
|
|
39
|
+
onSubmitPhone: () => Promise<void>;
|
|
40
|
+
rejectRef: MutableRefObject<(error?: Error) => void>;
|
|
41
|
+
appearance?: UIConfig;
|
|
42
|
+
};
|
|
43
|
+
passkeyPromptProps?: {
|
|
44
|
+
state: PasskeyPromptState;
|
|
45
|
+
appearance?: UIConfig;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
declare function CrossmintWalletUIBaseProvider({ children, appearance, headlessSigningFlow, renderUI, passkeyPromptState, signerAuth, }: CrossmintWalletUIBaseProviderProps): react_jsx_runtime.JSX.Element;
|
|
49
|
+
|
|
50
|
+
type CrossmintWalletBaseContext = {
|
|
51
|
+
wallet: Wallet<Chain> | undefined;
|
|
52
|
+
status: "not-loaded" | "in-progress" | "loaded" | "error";
|
|
53
|
+
getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<Wallet<Chain> | undefined>;
|
|
54
|
+
onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
|
|
55
|
+
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
56
|
+
emailSignerState: {
|
|
57
|
+
needsAuth: boolean;
|
|
58
|
+
sendEmailWithOtp: (() => Promise<void>) | null;
|
|
59
|
+
verifyOtp: ((otp: string) => Promise<void>) | null;
|
|
60
|
+
reject: ((error?: Error) => void) | null;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
declare const CrossmintWalletBaseContext: react.Context<CrossmintWalletBaseContext>;
|
|
64
|
+
interface CrossmintWalletBaseProviderProps {
|
|
65
|
+
children: ReactNode;
|
|
66
|
+
createOnLogin?: CreateOnLogin;
|
|
67
|
+
callbacks?: {
|
|
68
|
+
onWalletCreationStart?: () => Promise<void>;
|
|
69
|
+
onTransactionStart?: () => Promise<void>;
|
|
70
|
+
};
|
|
71
|
+
onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
|
|
72
|
+
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
73
|
+
initializeWebView?: () => Promise<void>;
|
|
74
|
+
appearance?: UIConfig;
|
|
75
|
+
headlessSigningFlow?: boolean;
|
|
76
|
+
showPasskeyHelpers?: boolean;
|
|
77
|
+
renderUI?: (props: UIRenderProps) => ReactNode;
|
|
78
|
+
}
|
|
79
|
+
type ValidPasskeyPromptType = "create-wallet" | "transaction" | "not-supported" | "create-wallet-error" | "transaction-error";
|
|
80
|
+
type PasskeyPromptState = {
|
|
81
|
+
open: boolean;
|
|
82
|
+
type?: ValidPasskeyPromptType;
|
|
83
|
+
primaryActionOnClick?: () => void;
|
|
84
|
+
secondaryActionOnClick?: () => void;
|
|
85
|
+
};
|
|
86
|
+
declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, clientTEEConnection, initializeWebView, appearance, headlessSigningFlow, showPasskeyHelpers, renderUI, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
|
|
87
|
+
|
|
88
|
+
export { CrossmintWalletBaseContext as C, type PasskeyPromptState as P, type UIRenderProps as U, type CrossmintWalletBaseProviderProps as a, CrossmintWalletBaseProvider as b, type CrossmintWalletUIBaseProviderProps as c, CrossmintWalletUIBaseProvider as d };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJV5G6BEHcjs = require('./chunk-JV5G6BEH.cjs');var _react = require('react');function i(r){let o=_react.useContext.call(void 0, _chunkJV5G6BEHcjs.a);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}exports.a = i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SdkLogger as l,detectPlatform as c,validateAPIKey as k}from"@crossmint/common-sdk-base";import{BrowserDatadogSink as f,ServerDatadogSink as m}from"@crossmint/common-sdk-base";function p(i,s,a,g){let e=k(i);if(!e.isValid)throw new Error(`Invalid API key: ${e.message}`);let{environment:r,projectId:d}=e,o=new l({packageName:s,packageVersion:a,environment:r,projectId:d,consoleLogLevel:g}),n=c();if(n==="browser"){let t=new f(r);o.addSink(t)}else if(n==="server"){let t=new m(r);o.addSink(t)}return o}export{p as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as U}from"./chunk-RYSTANTU.js";import{b as se}from"./chunk-YZTKYYF3.js";import{b as K}from"./chunk-FF2S33DL.js";import{a as ie}from"./chunk-JQ7VFMJR.js";import{a as M,b as J,c as O}from"./chunk-22GIA4MK.js";import{useContext as Ee}from"react";import{createContext as Ae,useCallback as X,useEffect as le,useMemo as de,useState as q}from"react";import{CrossmintWallets as Oe}from"@crossmint/wallets-sdk";import{useContext as we}from"react";import{createContext as Pe,useCallback as k,useContext as he,useEffect as V,useMemo as ce,useRef as Se,useState as z}from"react";import{CrossmintAuth as ye,getCookie as ve}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as ae}from"@crossmint/common-sdk-auth";import{jsx as We}from"react/jsx-runtime";var T=Pe({crossmintAuth:void 0,logout:()=>{},status:"initializing",getUser:()=>{},login:()=>{}});function xe(){let s=he(T);if(s==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return s}function Re({children:s,onLoginSuccess:o,refreshRoute:p,logoutRoute:u,storageProvider:i}){let{crossmint:n}=U("CrossmintAuthBaseProvider must be used within CrossmintProvider"),[m,a]=z(void 0),[r,S]=z(void 0),[v,t]=z(!1),f=Se(null);V(()=>{if(!f.current)try{f.current=ye.from(n,{callbacks:{onLogout:()=>{a(void 0),S(void 0)},onTokenRefresh:d=>{a(d.user),S(d.jwt)}},refreshRoute:p,logoutRoute:u,storageProvider:i})}catch(d){console.error("Failed to initialize CrossmintAuth:",d)}},[n,p,u,i]);let l=f.current,C=k(()=>{o==null||o()},[o]);V(()=>{var d;if(r==null)if(i)(d=i.get)==null||d.call(i,ae).then(P=>{P!=null&&S(P)}).finally(()=>{t(!0)});else{try{let P=ve(ae);S(P)}catch(P){console.error("Failed to get cookie:",P)}t(!0)}else t(!0)},[r,i]),V(()=>{r!=null&&C()},[r,C]);let y=k(()=>{l==null||l.logout()},[l]),E=k(()=>O(this,null,function*(){if(r==null){console.log("User not logged in");return}let d=yield l==null?void 0:l.getUser();return a(d),d}),[r,l]),x=k(()=>v?r!=null?"logged-in":"logged-out":"initializing",[r,v]),b=ce(()=>({crossmintAuth:l,logout:y,jwt:r,user:m,status:x(),getUser:E,login:()=>{}}),[l,y,r,m,v,E,x]);return We(T.Provider,{value:b,children:s})}function Be(){let s=we(T);if(s==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return s}var Le=Be;import Te from"lodash.clonedeep";import{jsx as pe}from"react/jsx-runtime";var G=Ae({wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,clientTEEConnection:void 0,emailSignerState:{needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null}});function Ct({children:s,createOnLogin:o,callbacks:p,clientTEEConnection:u,initializeWebView:i,appearance:n,headlessSigningFlow:m,showPasskeyHelpers:a,renderUI:r}){let S=K(se),{crossmint:v,experimental_customAuth:t}=U("CrossmintWalletBaseProvider must be used within CrossmintProvider"),[f,l]=q(void 0),[C,y]=q("not-loaded"),[E,x]=q({open:!1}),b=ie(f==null?void 0:f.signer),{onAuthRequired:d}=b,[P,fe]=q({needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null}),j=X(h=>()=>new Promise(e=>{if(!a){e();return}x({type:h,open:!0,primaryActionOnClick:()=>{x({open:!1}),e()},secondaryActionOnClick:()=>{x({open:!1}),e()}})}),[a]),g=de(()=>{let h=p==null?void 0:p.onWalletCreationStart,e=p==null?void 0:p.onTransactionStart;return(o==null?void 0:o.signer.type)==="passkey"&&a&&(h=j("create-wallet"),e=j("transaction")),{onWalletCreationStart:h,onTransactionStart:e}},[p,o==null?void 0:o.signer.type,a,j]),w=X((h,e,B,A)=>O(this,null,function*(){if(fe({needsAuth:h,sendEmailWithOtp:e,verifyOtp:B,reject:A}),d)return yield d(h,e,B,A)}),[d]),I=X(h=>O(this,null,function*(){var B,A,Q,Y,Z,$,_,L,ee,te,oe,ne;let e=Te(h);if(!((t==null?void 0:t.jwt)==null||C==="in-progress")){if(f!=null)return f;try{y("in-progress");let F=Oe.from(v),D=(A=(B=e.options)==null?void 0:B.experimental_callbacks)==null?void 0:A.onWalletCreationStart,N=(Y=(Q=e.options)==null?void 0:Q.experimental_callbacks)==null?void 0:Y.onTransactionStart;if(((Z=e==null?void 0:e.signer)==null?void 0:Z.type)==="email"){let c=($=e.signer.email)!=null?$:t==null?void 0:t.email,H=(_=e.signer.onAuthRequired)!=null?_:w;if(c==null)throw new Error("Email not found in experimental_customAuth or signer. Please set email in experimental_customAuth or signer.");e.signer=J(M({},e.signer),{email:c,onAuthRequired:H})}if(((L=e==null?void 0:e.signer)==null?void 0:L.type)==="phone"){let c=(ee=e.signer.phone)!=null?ee:t==null?void 0:t.phone,H=(te=e.signer.onAuthRequired)!=null?te:w;if(c==null)throw new Error("Phone not found in signer. Please set phone in signer.");e.signer=J(M({},e.signer),{phone:c,onAuthRequired:H})}if(((oe=e==null?void 0:e.signer)==null?void 0:oe.type)==="external-wallet"){let c=((ne=e.signer)==null?void 0:ne.address)!=null?e.signer:t.externalWalletSigner;if(c==null)throw new Error("External wallet config not found in experimental_customAuth or signer. Please set it in experimental_customAuth or signer.");e.signer=c}(e.signer.type==="email"||e.signer.type==="phone")&&(yield i==null?void 0:i());let re=yield F.getOrCreateWallet({chain:e.chain,signer:e.signer,owner:e.owner,plugins:e.plugins,delegatedSigners:e.delegatedSigners,alias:e.alias,options:{clientTEEConnection:u==null?void 0:u(),experimental_callbacks:{onWalletCreationStart:D!=null?D:g==null?void 0:g.onWalletCreationStart,onTransactionStart:N!=null?N:g==null?void 0:g.onTransactionStart}}});return l(re),y("loaded"),re}catch(F){console.error("Failed to create wallet:",F),l(void 0),y("error");return}}}),[v,t,w,C,f,g==null?void 0:g.onWalletCreationStart,g==null?void 0:g.onTransactionStart,u,i]);le(()=>{if(o!=null){if(o.signer.type==="email"&&(t==null?void 0:t.email)==null||o.signer.type==="external-wallet"&&(t==null?void 0:t.externalWalletSigner)==null&&o.signer.address==null)return;I(o)}},[o,I,t==null?void 0:t.email,t==null?void 0:t.externalWalletSigner]),le(()=>{(t==null?void 0:t.jwt)==null&&C!=="not-loaded"&&(y("not-loaded"),l(void 0))},[t==null?void 0:t.jwt,C]);let ge=de(()=>({wallet:f,status:C,getOrCreateWallet:I,onAuthRequired:w,clientTEEConnection:u,emailSignerState:P}),[I,f,C,w,u,P]),Ce=n!=null||m!=null||a!=null||r!=null;return pe(G.Provider,{value:ge,children:Ce?pe(ue,{appearance:n,headlessSigningFlow:m,renderUI:r,passkeyPromptState:E,signerAuth:b,children:s}):s})}function me(){let s=Ee(G);if(!s)throw new Error("useWallet must be used within CrossmintWalletProvider");return s}import{Fragment as be,jsxs as Ie}from"react/jsx-runtime";function ue({children:s,appearance:o,headlessSigningFlow:p,renderUI:u,passkeyPromptState:i,signerAuth:n}){let{wallet:m}=me(),a=m==null?void 0:m.signer.type,r=m==null?void 0:m.signer.locator().split(":")[1],S={emailSignerProps:{email:a==="email"?r:void 0,open:n.emailSignerDialogOpen&&a==="email"&&r!=null,setOpen:n.setEmailSignerDialogOpen,step:n.emailSignerDialogStep,onSubmitOTP:n.emailsigners_handleOTPSubmit,onResendOTPCode:n.emailsigners_handleResendOTP,onSubmitEmail:n.emailsigners_handleSendEmailOTP,rejectRef:n.rejectRef,appearance:o},phoneSignerProps:{phone:a==="phone"?r:void 0,open:n.phoneSignerDialogOpen&&a==="phone"&&r!=null,setOpen:n.setPhoneSignerDialogOpen,step:n.phoneSignerDialogStep,onSubmitOTP:n.phonesigners_handleOTPSubmit,onResendOTPCode:n.phonesigners_handleResendOTP,onSubmitPhone:n.phonesigners_handleSendPhoneOTP,rejectRef:n.rejectRef,appearance:o},passkeyPromptProps:{state:i,appearance:o}};return Ie(be,{children:[s,!p&&u!=null&&u(S)]})}export{ue as a,G as b,Ct as c,me as d,T as e,xe as f,Re as g,Be as h,Le as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as t,useContext as r}from"react";var u=()=>t(null);function
|
|
1
|
+
import{createContext as t,useContext as r}from"react";var u=()=>t(null);function x(o){let e=r(o);if(e==null)throw new Error("useLogger must be used within LoggerProvider");return e}export{u as a,x as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as i}from"./chunk-22GIA4MK.js";import{useState as d,useRef as a,useCallback as n}from"react";var s=o=>()=>{throw new Error(`${o} is not available. Make sure you're using an email or phone signer wallet.`)};function x(o){let[u,c]=d(!1),[v,h]=d("initial"),[f,g]=d(!1),[y,P]=d("initial"),l=a(s("sendEmailWithOtp")),m=a(s("verifyOtp")),p=a(s("sendPhoneWithOtp")),O=a(s("verifyPhoneOtp")),r=a(s("reject")),b=n(()=>i(this,null,function*(){try{yield l.current(),h("otp")}catch(e){console.error("Failed to send email OTP",e),r.current(new Error("Failed to send email OTP"))}}),[]),T=n(e=>i(this,null,function*(){try{yield m.current(e),c(!1),h("initial")}catch(t){console.error("Failed to verify OTP",t),r.current(new Error("Failed to verify OTP"))}}),[]),D=n(()=>i(this,null,function*(){try{yield l.current()}catch(e){console.error("Failed to resend email OTP",e),r.current(new Error("Failed to resend email OTP"))}}),[]),R=n(()=>i(this,null,function*(){try{yield p.current(),P("otp")}catch(e){console.error("Failed to send phone OTP",e),r.current(new Error("Failed to send phone OTP"))}}),[]),E=n(e=>i(this,null,function*(){try{yield O.current(e),g(!1),P("initial")}catch(t){console.error("Failed to verify phone OTP",t),r.current(new Error("Failed to verify phone OTP"))}}),[]),w=n(()=>i(this,null,function*(){try{yield p.current()}catch(e){console.error("Failed to resend phone OTP",e),r.current(new Error("Failed to resend phone OTP"))}}),[]),F=n((e,t,S,_)=>{let j=o==null?void 0:o.locator().split(":")[1];return(o==null?void 0:o.type)==="phone"&&j!=null?(g(e),p.current=t,O.current=S):(c(e),l.current=t,m.current=S),r.current=_,Promise.resolve()},[o]);return{emailSignerDialogOpen:u,emailSignerDialogStep:v,setEmailSignerDialogOpen:c,setEmailSignerDialogStep:h,phoneSignerDialogOpen:f,phoneSignerDialogStep:y,setPhoneSignerDialogOpen:g,setPhoneSignerDialogStep:P,sendEmailWithOtpRef:l,verifyOtpRef:m,sendPhoneWithOtpRef:p,verifyPhoneOtpRef:O,rejectRef:r,emailsigners_handleSendEmailOTP:b,emailsigners_handleOTPSubmit:T,emailsigners_handleResendOTP:D,phonesigners_handleSendPhoneOTP:R,phonesigners_handleOTPSubmit:E,phonesigners_handleResendOTP:w,onAuthRequired:F}}export{x 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 _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunkZOVSCM6Ecjs = require('./chunk-ZOVSCM6E.cjs');var _react = require('react');var _commonsdkbase = require('@crossmint/common-sdk-base');var _lodashisequal = require('lodash.isequal'); var _lodashisequal2 = _interopRequireDefault(_lodashisequal);var o={name:"@crossmint/client-sdk-react-base",version:"1.0.1",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","test:vitest":"vitest run"},dependencies:{"@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/wallets-sdk":"workspace:*","lodash.isequal":"4.5.0","lodash.clonedeep":"4.5.0"},devDependencies:{"@types/react":"19.1.10","@types/lodash.isequal":"4.5.6","@types/lodash.clonedeep":"4.5.6"},peerDependencies:{react:">=17.0.2"}};var _jsxruntime = require('react/jsx-runtime');var N=_react.createContext.call(void 0, null),L= exports.b =_chunkQBEM2WHMcjs.a.call(void 0, );function P({children:x,apiKey:s,appId:f,extensionId:w,overrideBaseUrl:h}){let v=_react.useMemo.call(void 0, ()=>_chunkZOVSCM6Ecjs.a.call(void 0, s,o.name,o.version),[s]),[k,c]=_react.useState.call(void 0, 0),t=_react.useRef.call(void 0, null);t.current==null&&(t.current=new Proxy(_commonsdkbase.createCrossmint.call(void 0, {apiKey:s,overrideBaseUrl:h,appId:f,extensionId:w}),{set(e,r,n){return r==="jwt"&&e.jwt!==n&&c(i=>i+1),r==="experimental_customAuth"&&e.experimental_customAuth!==n&&c(i=>i+1),Reflect.set(e,r,n)}}));let l=_react.useCallback.call(void 0, e=>{if(t.current==null)throw new Error("CrossmintProvider is not initialized");e!==t.current.jwt&&(t.current.jwt=e,t.current.experimental_customAuth==null?t.current.experimental_customAuth={jwt:e}:t.current.experimental_customAuth.jwt=e)},[]),u=_react.useCallback.call(void 0, e=>{if(t.current==null)throw new Error("CrossmintProvider is not initialized");t.current.jwt!=(e==null?void 0:e.jwt)&&(t.current.jwt=e==null?void 0:e.jwt),_lodashisequal2.default.call(void 0, e,t.current.experimental_customAuth)||(t.current.experimental_customAuth=e)},[]),g=_react.useMemo.call(void 0, ()=>{if(!t.current)throw new Error("CrossmintProvider is not initialized");return{get crossmint(){return t.current},experimental_setCustomAuth:u,experimental_customAuth:t.current.experimental_customAuth,setJwt:l}},[u,l,k]);return _jsxruntime.jsx.call(void 0, L.Provider,{value:v,children:_jsxruntime.jsx.call(void 0, N.Provider,{value:g,children:x})})}exports.a = N; exports.b = L; exports.c = P;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
1
|
+
import{a as t}from"./chunk-YZTKYYF3.js";import{useContext as u}from"react";function c(r){let o=u(t);if(o==null)throw new Error(r!=null?r:"useCrossmint must be used within a CrossmintProvider");return o}export{c 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 _chunk2ELFOPX5cjs = require('./chunk-2ELFOPX5.cjs');var _chunkJV5G6BEHcjs = require('./chunk-JV5G6BEH.cjs');var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunkVD2K3UBKcjs = require('./chunk-VD2K3UBK.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _jsxruntime = require('react/jsx-runtime');var O=_react.createContext.call(void 0, {crossmintAuth:void 0,logout:()=>{},status:"initializing",getUser:()=>{},login:()=>{}});function ve(){let s=_react.useContext.call(void 0, O);if(s==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return s}function xe({children:s,onLoginSuccess:o,refreshRoute:p,logoutRoute:u,storageProvider:i}){let{crossmint:n}=_chunk2ELFOPX5cjs.a.call(void 0, "CrossmintAuthBaseProvider must be used within CrossmintProvider"),[m,a]=_react.useState.call(void 0, void 0),[r,S]=_react.useState.call(void 0, void 0),[v,t]=_react.useState.call(void 0, !1),f=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{if(!f.current)try{f.current=_clientsdkauth.CrossmintAuth.from(n,{callbacks:{onLogout:()=>{a(void 0),S(void 0)},onTokenRefresh:d=>{a(d.user),S(d.jwt)}},refreshRoute:p,logoutRoute:u,storageProvider:i})}catch(d){console.error("Failed to initialize CrossmintAuth:",d)}},[n,p,u,i]);let l=f.current,C=_react.useCallback.call(void 0, ()=>{o==null||o()},[o]);_react.useEffect.call(void 0, ()=>{var d;if(r==null)if(i)(d=i.get)==null||d.call(i,_commonsdkauth.SESSION_PREFIX).then(P=>{P!=null&&S(P)}).finally(()=>{t(!0)});else{try{let P=_clientsdkauth.getCookie.call(void 0, _commonsdkauth.SESSION_PREFIX);S(P)}catch(P){console.error("Failed to get cookie:",P)}t(!0)}else t(!0)},[r,i]),_react.useEffect.call(void 0, ()=>{r!=null&&C()},[r,C]);let y=_react.useCallback.call(void 0, ()=>{l==null||l.logout()},[l]),T=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(r==null){console.log("User not logged in");return}let d=yield l==null?void 0:l.getUser();return a(d),d}),[r,l]),x=_react.useCallback.call(void 0, ()=>v?r!=null?"logged-in":"logged-out":"initializing",[r,v]),E=_react.useMemo.call(void 0, ()=>({crossmintAuth:l,logout:y,jwt:r,user:m,status:x(),getUser:T,login:()=>{}}),[l,y,r,m,v,T,x]);return _jsxruntime.jsx.call(void 0, O.Provider,{value:E,children:s})}function we(){let s=_react.useContext.call(void 0, O);if(s==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return s}var _e=we;var _lodashclonedeep = require('lodash.clonedeep'); var _lodashclonedeep2 = _interopRequireDefault(_lodashclonedeep);var X=_react.createContext.call(void 0, {wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,clientTEEConnection:void 0,emailSignerState:{needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null}});function gt({children:s,createOnLogin:o,callbacks:p,clientTEEConnection:u,initializeWebView:i,appearance:n,headlessSigningFlow:m,showPasskeyHelpers:a,renderUI:r}){let S=_chunkQBEM2WHMcjs.b.call(void 0, _chunkJV5G6BEHcjs.b),{crossmint:v,experimental_customAuth:t}=_chunk2ELFOPX5cjs.a.call(void 0, "CrossmintWalletBaseProvider must be used within CrossmintProvider"),[f,l]=_react.useState.call(void 0, void 0),[C,y]=_react.useState.call(void 0, "not-loaded"),[T,x]=_react.useState.call(void 0, {open:!1}),E=_chunkVD2K3UBKcjs.a.call(void 0, f==null?void 0:f.signer),{onAuthRequired:d}=E,[P,me]=_react.useState.call(void 0, {needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null}),q=_react.useCallback.call(void 0, h=>()=>new Promise(e=>{if(!a){e();return}x({type:h,open:!0,primaryActionOnClick:()=>{x({open:!1}),e()},secondaryActionOnClick:()=>{x({open:!1}),e()}})}),[a]),g=_react.useMemo.call(void 0, ()=>{let h=p==null?void 0:p.onWalletCreationStart,e=p==null?void 0:p.onTransactionStart;return(o==null?void 0:o.signer.type)==="passkey"&&a&&(h=q("create-wallet"),e=q("transaction")),{onWalletCreationStart:h,onTransactionStart:e}},[p,o==null?void 0:o.signer.type,a,q]),W=_react.useCallback.call(void 0, (h,e,w,B)=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(me({needsAuth:h,sendEmailWithOtp:e,verifyOtp:w,reject:B}),d)return yield d(h,e,w,B)}),[d]),b=_react.useCallback.call(void 0, h=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var w,B,G,Q,Y,Z,$,_,L,ee,te,oe;let e=_lodashclonedeep2.default.call(void 0, h);if(!((t==null?void 0:t.jwt)==null||C==="in-progress")){if(f!=null)return f;try{y("in-progress");let j=_walletssdk.CrossmintWallets.from(v),F=(B=(w=e.options)==null?void 0:w.experimental_callbacks)==null?void 0:B.onWalletCreationStart,D=(Q=(G=e.options)==null?void 0:G.experimental_callbacks)==null?void 0:Q.onTransactionStart;if(((Y=e==null?void 0:e.signer)==null?void 0:Y.type)==="email"){let c=(Z=e.signer.email)!=null?Z:t==null?void 0:t.email,N=($=e.signer.onAuthRequired)!=null?$:W;if(c==null)throw new Error("Email not found in experimental_customAuth or signer. Please set email in experimental_customAuth or signer.");e.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},e.signer),{email:c,onAuthRequired:N})}if(((_=e==null?void 0:e.signer)==null?void 0:_.type)==="phone"){let c=(L=e.signer.phone)!=null?L:t==null?void 0:t.phone,N=(ee=e.signer.onAuthRequired)!=null?ee:W;if(c==null)throw new Error("Phone not found in signer. Please set phone in signer.");e.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},e.signer),{phone:c,onAuthRequired:N})}if(((te=e==null?void 0:e.signer)==null?void 0:te.type)==="external-wallet"){let c=((oe=e.signer)==null?void 0:oe.address)!=null?e.signer:t.externalWalletSigner;if(c==null)throw new Error("External wallet config not found in experimental_customAuth or signer. Please set it in experimental_customAuth or signer.");e.signer=c}(e.signer.type==="email"||e.signer.type==="phone")&&(yield i==null?void 0:i());let ne=yield j.getOrCreateWallet({chain:e.chain,signer:e.signer,owner:e.owner,plugins:e.plugins,delegatedSigners:e.delegatedSigners,alias:e.alias,options:{clientTEEConnection:u==null?void 0:u(),experimental_callbacks:{onWalletCreationStart:F!=null?F:g==null?void 0:g.onWalletCreationStart,onTransactionStart:D!=null?D:g==null?void 0:g.onTransactionStart}}});return l(ne),y("loaded"),ne}catch(j){console.error("Failed to create wallet:",j),l(void 0),y("error");return}}}),[v,t,W,C,f,g==null?void 0:g.onWalletCreationStart,g==null?void 0:g.onTransactionStart,u,i]);_react.useEffect.call(void 0, ()=>{if(o!=null){if(o.signer.type==="email"&&(t==null?void 0:t.email)==null||o.signer.type==="external-wallet"&&(t==null?void 0:t.externalWalletSigner)==null&&o.signer.address==null)return;b(o)}},[o,b,t==null?void 0:t.email,t==null?void 0:t.externalWalletSigner]),_react.useEffect.call(void 0, ()=>{(t==null?void 0:t.jwt)==null&&C!=="not-loaded"&&(y("not-loaded"),l(void 0))},[t==null?void 0:t.jwt,C]);let fe=_react.useMemo.call(void 0, ()=>({wallet:f,status:C,getOrCreateWallet:b,onAuthRequired:W,clientTEEConnection:u,emailSignerState:P}),[b,f,C,W,u,P]),ge=n!=null||m!=null||a!=null||r!=null;return _jsxruntime.jsx.call(void 0, X.Provider,{value:fe,children:ge?_jsxruntime.jsx.call(void 0, pe,{appearance:n,headlessSigningFlow:m,renderUI:r,passkeyPromptState:T,signerAuth:E,children:s}):s})}function ue(){let s=_react.useContext.call(void 0, X);if(!s)throw new Error("useWallet must be used within CrossmintWalletProvider");return s}function pe({children:s,appearance:o,headlessSigningFlow:p,renderUI:u,passkeyPromptState:i,signerAuth:n}){let{wallet:m}=ue(),a=m==null?void 0:m.signer.type,r=m==null?void 0:m.signer.locator().split(":")[1],S={emailSignerProps:{email:a==="email"?r:void 0,open:n.emailSignerDialogOpen&&a==="email"&&r!=null,setOpen:n.setEmailSignerDialogOpen,step:n.emailSignerDialogStep,onSubmitOTP:n.emailsigners_handleOTPSubmit,onResendOTPCode:n.emailsigners_handleResendOTP,onSubmitEmail:n.emailsigners_handleSendEmailOTP,rejectRef:n.rejectRef,appearance:o},phoneSignerProps:{phone:a==="phone"?r:void 0,open:n.phoneSignerDialogOpen&&a==="phone"&&r!=null,setOpen:n.setPhoneSignerDialogOpen,step:n.phoneSignerDialogStep,onSubmitOTP:n.phonesigners_handleOTPSubmit,onResendOTPCode:n.phonesigners_handleResendOTP,onSubmitPhone:n.phonesigners_handleSendPhoneOTP,rejectRef:n.rejectRef,appearance:o},passkeyPromptProps:{state:i,appearance:o}};return _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[s,!p&&u!=null&&u(S)]})}exports.a = pe; exports.b = X; exports.c = gt; exports.d = ue; exports.e = O; exports.f = ve; exports.g = xe; exports.h = we; exports.i = _e;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var s=o=>()=>{throw new Error(`${o} is not available. Make sure you're using an email or phone signer wallet.`)};function W(o){let[u,c]=_react.useState.call(void 0, !1),[v,h]=_react.useState.call(void 0, "initial"),[f,g]=_react.useState.call(void 0, !1),[y,P]=_react.useState.call(void 0, "initial"),l=_react.useRef.call(void 0, s("sendEmailWithOtp")),m=_react.useRef.call(void 0, s("verifyOtp")),p=_react.useRef.call(void 0, s("sendPhoneWithOtp")),O=_react.useRef.call(void 0, s("verifyPhoneOtp")),r=_react.useRef.call(void 0, s("reject")),b=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield l.current(),h("otp")}catch(e){console.error("Failed to send email OTP",e),r.current(new Error("Failed to send email OTP"))}}),[]),T=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield m.current(e),c(!1),h("initial")}catch(t){console.error("Failed to verify OTP",t),r.current(new Error("Failed to verify OTP"))}}),[]),D=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield l.current()}catch(e){console.error("Failed to resend email OTP",e),r.current(new Error("Failed to resend email OTP"))}}),[]),R=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield p.current(),P("otp")}catch(e){console.error("Failed to send phone OTP",e),r.current(new Error("Failed to send phone OTP"))}}),[]),E=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield O.current(e),g(!1),P("initial")}catch(t){console.error("Failed to verify phone OTP",t),r.current(new Error("Failed to verify phone OTP"))}}),[]),w=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield p.current()}catch(e){console.error("Failed to resend phone OTP",e),r.current(new Error("Failed to resend phone OTP"))}}),[]),F=_react.useCallback.call(void 0, (e,t,S,_)=>{let j=o==null?void 0:o.locator().split(":")[1];return(o==null?void 0:o.type)==="phone"&&j!=null?(g(e),p.current=t,O.current=S):(c(e),l.current=t,m.current=S),r.current=_,Promise.resolve()},[o]);return{emailSignerDialogOpen:u,emailSignerDialogStep:v,setEmailSignerDialogOpen:c,setEmailSignerDialogStep:h,phoneSignerDialogOpen:f,phoneSignerDialogStep:y,setPhoneSignerDialogOpen:g,setPhoneSignerDialogStep:P,sendEmailWithOtpRef:l,verifyOtpRef:m,sendPhoneWithOtpRef:p,verifyPhoneOtpRef:O,rejectRef:r,emailsigners_handleSendEmailOTP:b,emailsigners_handleOTPSubmit:T,emailsigners_handleResendOTP:D,phonesigners_handleSendPhoneOTP:R,phonesigners_handleOTPSubmit:E,phonesigners_handleResendOTP:w,onAuthRequired:F}}exports.a = W;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as d}from"./chunk-FF2S33DL.js";import{a as m}from"./chunk-B7VP62JO.js";import{createContext as j,useCallback as p,useMemo as a,useRef as y,useState as E}from"react";import{createCrossmint as b}from"@crossmint/common-sdk-base";import A from"lodash.isequal";var o={name:"@crossmint/client-sdk-react-base",version:"1.0.1",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","test:vitest":"vitest run"},dependencies:{"@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/wallets-sdk":"workspace:*","lodash.isequal":"4.5.0","lodash.clonedeep":"4.5.0"},devDependencies:{"@types/react":"19.1.10","@types/lodash.isequal":"4.5.6","@types/lodash.clonedeep":"4.5.6"},peerDependencies:{react:">=17.0.2"}};import{jsx as C}from"react/jsx-runtime";var N=j(null),L=d();function T({children:x,apiKey:s,appId:f,extensionId:w,overrideBaseUrl:h}){let v=a(()=>m(s,o.name,o.version),[s]),[k,c]=E(0),t=y(null);t.current==null&&(t.current=new Proxy(b({apiKey:s,overrideBaseUrl:h,appId:f,extensionId:w}),{set(e,r,n){return r==="jwt"&&e.jwt!==n&&c(i=>i+1),r==="experimental_customAuth"&&e.experimental_customAuth!==n&&c(i=>i+1),Reflect.set(e,r,n)}}));let l=p(e=>{if(t.current==null)throw new Error("CrossmintProvider is not initialized");e!==t.current.jwt&&(t.current.jwt=e,t.current.experimental_customAuth==null?t.current.experimental_customAuth={jwt:e}:t.current.experimental_customAuth.jwt=e)},[]),u=p(e=>{if(t.current==null)throw new Error("CrossmintProvider is not initialized");t.current.jwt!=(e==null?void 0:e.jwt)&&(t.current.jwt=e==null?void 0:e.jwt),A(e,t.current.experimental_customAuth)||(t.current.experimental_customAuth=e)},[]),g=a(()=>{if(!t.current)throw new Error("CrossmintProvider is not initialized");return{get crossmint(){return t.current},experimental_setCustomAuth:u,experimental_customAuth:t.current.experimental_customAuth,setJwt:l}},[u,l,k]);return C(L.Provider,{value:v,children:C(N.Provider,{value:g,children:x})})}export{N as a,L as b,T as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _commonsdkbase = require('@crossmint/common-sdk-base');function S(i,s,a,g){let e=_commonsdkbase.validateAPIKey.call(void 0, i);if(!e.isValid)throw new Error(`Invalid API key: ${e.message}`);let{environment:r,projectId:d}=e,o=new (0, _commonsdkbase.SdkLogger)({packageName:s,packageVersion:a,environment:r,projectId:d,consoleLogLevel:g}),n=_commonsdkbase.detectPlatform.call(void 0, );if(n==="browser"){let t=new (0, _commonsdkbase.BrowserDatadogSink)(r);o.addSink(t)}else if(n==="server"){let t=new (0, _commonsdkbase.ServerDatadogSink)(r);o.addSink(t)}return o}exports.a = S;
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSAGHYSAMcjs = require('../chunk-SAGHYSAM.cjs');var _chunk2ELFOPX5cjs = require('../chunk-2ELFOPX5.cjs');require('../chunk-JV5G6BEH.cjs');require('../chunk-QBEM2WHM.cjs');var _chunkVD2K3UBKcjs = require('../chunk-VD2K3UBK.cjs');require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.useAuth = _chunkSAGHYSAMcjs.i; exports.useCrossmint = _chunk2ELFOPX5cjs.a; exports.useCrossmintAuth = _chunkSAGHYSAMcjs.h; exports.useSignerAuth = _chunkVD2K3UBKcjs.a; exports.useWallet = _chunkSAGHYSAMcjs.d;
|
package/dist/hooks/index.d.cts
CHANGED
|
@@ -4,9 +4,10 @@ export { useAuth, useCrossmintAuth } from './useAuth.cjs';
|
|
|
4
4
|
export { DialogStep, SignerAuthHandlers, SignerAuthState, SignerType, useSignerAuth } from './useSignerAuth.cjs';
|
|
5
5
|
import '../providers/CrossmintProvider.cjs';
|
|
6
6
|
import 'react/jsx-runtime';
|
|
7
|
-
import '
|
|
7
|
+
import '../providers/LoggerProvider.cjs';
|
|
8
8
|
import 'react';
|
|
9
|
-
import '
|
|
9
|
+
import '@crossmint/common-sdk-base';
|
|
10
|
+
import '../CrossmintWalletBaseProvider-UroldMZe.cjs';
|
|
10
11
|
import '@crossmint/wallets-sdk';
|
|
11
12
|
import '@crossmint/client-sdk-window';
|
|
12
13
|
import '@crossmint/client-signers';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -4,9 +4,10 @@ export { useAuth, useCrossmintAuth } from './useAuth.js';
|
|
|
4
4
|
export { DialogStep, SignerAuthHandlers, SignerAuthState, SignerType, useSignerAuth } from './useSignerAuth.js';
|
|
5
5
|
import '../providers/CrossmintProvider.js';
|
|
6
6
|
import 'react/jsx-runtime';
|
|
7
|
-
import '
|
|
7
|
+
import '../providers/LoggerProvider.js';
|
|
8
8
|
import 'react';
|
|
9
|
-
import '
|
|
9
|
+
import '@crossmint/common-sdk-base';
|
|
10
|
+
import '../CrossmintWalletBaseProvider-x6JjRsj7.js';
|
|
10
11
|
import '@crossmint/wallets-sdk';
|
|
11
12
|
import '@crossmint/client-sdk-window';
|
|
12
13
|
import '@crossmint/client-signers';
|
package/dist/hooks/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{d as b,h as c,i as d}from"../chunk-DSAHUACO.js";import{a}from"../chunk-RYSTANTU.js";import"../chunk-YZTKYYF3.js";import"../chunk-FF2S33DL.js";import{a as e}from"../chunk-JQ7VFMJR.js";import"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{d as useAuth,a as useCrossmint,c as useCrossmintAuth,e as useSignerAuth,b as useWallet};
|
package/dist/hooks/useAuth.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSAGHYSAMcjs = require('../chunk-SAGHYSAM.cjs');require('../chunk-2ELFOPX5.cjs');require('../chunk-JV5G6BEH.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-VD2K3UBK.cjs');require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.useAuth = _chunkSAGHYSAMcjs.i; exports.useCrossmintAuth = _chunkSAGHYSAMcjs.h;
|
package/dist/hooks/useAuth.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as a,i as b}from"../chunk-
|
|
1
|
+
import{h as a,i as b}from"../chunk-DSAHUACO.js";import"../chunk-RYSTANTU.js";import"../chunk-YZTKYYF3.js";import"../chunk-FF2S33DL.js";import"../chunk-JQ7VFMJR.js";import"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{b as useAuth,a as useCrossmintAuth};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2ELFOPX5cjs = require('../chunk-2ELFOPX5.cjs');require('../chunk-JV5G6BEH.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.useCrossmint = _chunk2ELFOPX5cjs.a;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CrossmintContext } from '../providers/CrossmintProvider.cjs';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
|
-
import '
|
|
3
|
+
import '../providers/LoggerProvider.cjs';
|
|
4
4
|
import 'react';
|
|
5
|
+
import '@crossmint/common-sdk-base';
|
|
5
6
|
|
|
6
7
|
declare function useCrossmint(missingContextMessage?: string): CrossmintContext;
|
|
7
8
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { CrossmintContext } from '../providers/CrossmintProvider.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
|
-
import '
|
|
3
|
+
import '../providers/LoggerProvider.js';
|
|
4
4
|
import 'react';
|
|
5
|
+
import '@crossmint/common-sdk-base';
|
|
5
6
|
|
|
6
7
|
declare function useCrossmint(missingContextMessage?: string): CrossmintContext;
|
|
7
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-RYSTANTU.js";import"../chunk-YZTKYYF3.js";import"../chunk-FF2S33DL.js";import"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{a as useCrossmint};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVD2K3UBKcjs = require('../chunk-VD2K3UBK.cjs');require('../chunk-CK4JCQY6.cjs');exports.useSignerAuth = _chunkVD2K3UBKcjs.a;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import '@crossmint/common-sdk-base';
|
|
4
|
-
import '@crossmint/wallets-sdk';
|
|
2
|
+
import { Signer } from '@crossmint/wallets-sdk';
|
|
5
3
|
|
|
6
4
|
type SignerType = "email" | "phone";
|
|
7
5
|
type DialogStep = "initial" | "otp";
|
|
@@ -29,6 +27,6 @@ interface SignerAuthHandlers {
|
|
|
29
27
|
phonesigners_handleResendOTP: () => Promise<void>;
|
|
30
28
|
onAuthRequired: (needsAuth: boolean, sendMessageWithOtp: () => Promise<void>, verifyOtp: (otp: string) => Promise<void>, reject: () => void) => Promise<void>;
|
|
31
29
|
}
|
|
32
|
-
declare function useSignerAuth(
|
|
30
|
+
declare function useSignerAuth(signer?: Signer): SignerAuthState & SignerAuthHandlers;
|
|
33
31
|
|
|
34
32
|
export { type DialogStep, type SignerAuthHandlers, type SignerAuthState, type SignerType, useSignerAuth };
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import '@crossmint/common-sdk-base';
|
|
4
|
-
import '@crossmint/wallets-sdk';
|
|
2
|
+
import { Signer } from '@crossmint/wallets-sdk';
|
|
5
3
|
|
|
6
4
|
type SignerType = "email" | "phone";
|
|
7
5
|
type DialogStep = "initial" | "otp";
|
|
@@ -29,6 +27,6 @@ interface SignerAuthHandlers {
|
|
|
29
27
|
phonesigners_handleResendOTP: () => Promise<void>;
|
|
30
28
|
onAuthRequired: (needsAuth: boolean, sendMessageWithOtp: () => Promise<void>, verifyOtp: (otp: string) => Promise<void>, reject: () => void) => Promise<void>;
|
|
31
29
|
}
|
|
32
|
-
declare function useSignerAuth(
|
|
30
|
+
declare function useSignerAuth(signer?: Signer): SignerAuthState & SignerAuthHandlers;
|
|
33
31
|
|
|
34
32
|
export { type DialogStep, type SignerAuthHandlers, type SignerAuthState, type SignerType, useSignerAuth };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-JQ7VFMJR.js";import"../chunk-22GIA4MK.js";export{a as useSignerAuth};
|
package/dist/hooks/useWallet.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSAGHYSAMcjs = require('../chunk-SAGHYSAM.cjs');require('../chunk-2ELFOPX5.cjs');require('../chunk-JV5G6BEH.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-VD2K3UBK.cjs');require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.useWallet = _chunkSAGHYSAMcjs.d;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { CrossmintWalletBaseContext } from '../
|
|
1
|
+
import { C as CrossmintWalletBaseContext } from '../CrossmintWalletBaseProvider-UroldMZe.cjs';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '@crossmint/wallets-sdk';
|
|
5
5
|
import '@crossmint/client-sdk-window';
|
|
6
6
|
import '@crossmint/client-signers';
|
|
7
|
-
import '../types/wallet.cjs';
|
|
8
7
|
import '@crossmint/common-sdk-base';
|
|
8
|
+
import '../types/wallet.cjs';
|
|
9
|
+
import './useSignerAuth.cjs';
|
|
9
10
|
|
|
10
11
|
declare function useWallet(): CrossmintWalletBaseContext;
|
|
11
12
|
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { CrossmintWalletBaseContext } from '../
|
|
1
|
+
import { C as CrossmintWalletBaseContext } from '../CrossmintWalletBaseProvider-x6JjRsj7.js';
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '@crossmint/wallets-sdk';
|
|
5
5
|
import '@crossmint/client-sdk-window';
|
|
6
6
|
import '@crossmint/client-signers';
|
|
7
|
-
import '../types/wallet.js';
|
|
8
7
|
import '@crossmint/common-sdk-base';
|
|
8
|
+
import '../types/wallet.js';
|
|
9
|
+
import './useSignerAuth.js';
|
|
9
10
|
|
|
10
11
|
declare function useWallet(): CrossmintWalletBaseContext;
|
|
11
12
|
|
package/dist/hooks/useWallet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{d as a}from"../chunk-DSAHUACO.js";import"../chunk-RYSTANTU.js";import"../chunk-YZTKYYF3.js";import"../chunk-FF2S33DL.js";import"../chunk-JQ7VFMJR.js";import"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{a as useWallet};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-YSXSE5ZY.cjs');var _chunkPU5EOTE7cjs = require('./chunk-PU5EOTE7.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-YSXSE5ZY.cjs');var _chunkPU5EOTE7cjs = require('./chunk-PU5EOTE7.cjs');var _chunkSAGHYSAMcjs = require('./chunk-SAGHYSAM.cjs');var _chunk2ELFOPX5cjs = require('./chunk-2ELFOPX5.cjs');var _chunkJV5G6BEHcjs = require('./chunk-JV5G6BEH.cjs');var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunkVD2K3UBKcjs = require('./chunk-VD2K3UBK.cjs');var _chunkZOVSCM6Ecjs = require('./chunk-ZOVSCM6E.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkSAGHYSAMcjs.e; exports.CrossmintAuthBaseProvider = _chunkSAGHYSAMcjs.g; exports.CrossmintContext = _chunkJV5G6BEHcjs.a; exports.CrossmintProvider = _chunkJV5G6BEHcjs.c; exports.CrossmintWalletBaseContext = _chunkSAGHYSAMcjs.b; exports.CrossmintWalletBaseProvider = _chunkSAGHYSAMcjs.c; exports.CrossmintWalletUIBaseProvider = _chunkSAGHYSAMcjs.a; exports.EVMWallet = _chunkPU5EOTE7cjs.a; exports.LoggerContext = _chunkJV5G6BEHcjs.b; exports.SolanaWallet = _chunkPU5EOTE7cjs.b; exports.StellarWallet = _chunkPU5EOTE7cjs.c; exports.createLoggerContext = _chunkQBEM2WHMcjs.a; exports.initReactLogger = _chunkZOVSCM6Ecjs.a; exports.useAuth = _chunkSAGHYSAMcjs.i; exports.useCrossmint = _chunk2ELFOPX5cjs.a; exports.useCrossmintAuth = _chunkSAGHYSAMcjs.h; exports.useCrossmintAuthBase = _chunkSAGHYSAMcjs.f; exports.useLogger = _chunkQBEM2WHMcjs.b; exports.useSignerAuth = _chunkVD2K3UBKcjs.a; exports.useWallet = _chunkSAGHYSAMcjs.d;
|
package/dist/index.d.cts
CHANGED
|
@@ -2,8 +2,7 @@ export { useCrossmint } from './hooks/useCrossmint.cjs';
|
|
|
2
2
|
export { useWallet } from './hooks/useWallet.cjs';
|
|
3
3
|
export { useAuth, useCrossmintAuth } from './hooks/useAuth.cjs';
|
|
4
4
|
export { DialogStep, SignerAuthHandlers, SignerAuthState, SignerType, useSignerAuth } from './hooks/useSignerAuth.cjs';
|
|
5
|
-
export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, CrossmintWalletBaseProviderProps } from './
|
|
6
|
-
export { CrossmintWalletUIBaseProvider, CrossmintWalletUIBaseProviderProps, UIRenderProps } from './providers/CrossmintWalletUIBaseProvider.cjs';
|
|
5
|
+
export { C as CrossmintWalletBaseContext, b as CrossmintWalletBaseProvider, a as CrossmintWalletBaseProviderProps, d as CrossmintWalletUIBaseProvider, c as CrossmintWalletUIBaseProviderProps, P as PasskeyPromptState, U as UIRenderProps } from './CrossmintWalletBaseProvider-UroldMZe.cjs';
|
|
7
6
|
export { CrossmintContext, CrossmintProvider, LoggerContext } from './providers/CrossmintProvider.cjs';
|
|
8
7
|
export { CrossmintAuthBaseContext, CrossmintAuthBaseProvider, useCrossmintAuthBase } from './providers/CrossmintAuthBaseProvider.cjs';
|
|
9
8
|
export { createLoggerContext, useLogger } from './providers/LoggerProvider.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -2,8 +2,7 @@ export { useCrossmint } from './hooks/useCrossmint.js';
|
|
|
2
2
|
export { useWallet } from './hooks/useWallet.js';
|
|
3
3
|
export { useAuth, useCrossmintAuth } from './hooks/useAuth.js';
|
|
4
4
|
export { DialogStep, SignerAuthHandlers, SignerAuthState, SignerType, useSignerAuth } from './hooks/useSignerAuth.js';
|
|
5
|
-
export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, CrossmintWalletBaseProviderProps } from './
|
|
6
|
-
export { CrossmintWalletUIBaseProvider, CrossmintWalletUIBaseProviderProps, UIRenderProps } from './providers/CrossmintWalletUIBaseProvider.js';
|
|
5
|
+
export { C as CrossmintWalletBaseContext, b as CrossmintWalletBaseProvider, a as CrossmintWalletBaseProviderProps, d as CrossmintWalletUIBaseProvider, c as CrossmintWalletUIBaseProviderProps, P as PasskeyPromptState, U as UIRenderProps } from './CrossmintWalletBaseProvider-x6JjRsj7.js';
|
|
7
6
|
export { CrossmintContext, CrossmintProvider, LoggerContext } from './providers/CrossmintProvider.js';
|
|
8
7
|
export { CrossmintAuthBaseContext, CrossmintAuthBaseProvider, useCrossmintAuthBase } from './providers/CrossmintAuthBaseProvider.js';
|
|
9
8
|
export { createLoggerContext, useLogger } from './providers/LoggerProvider.js';
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-B35TULQO.js";import{a as l,b as n,c as q}from"./chunk-3UZONNFB.js";import{a as x,b as a,c as b,d,e as
|
|
1
|
+
import"./chunk-B35TULQO.js";import{a as l,b as n,c as q}from"./chunk-3UZONNFB.js";import{a as x,b as a,c as b,d as c,e as d,f as g,g as h,h as i,i as j}from"./chunk-DSAHUACO.js";import{a as t}from"./chunk-RYSTANTU.js";import{a as f,b as m,c as p}from"./chunk-YZTKYYF3.js";import{a as r,b as e}from"./chunk-FF2S33DL.js";import{a as k}from"./chunk-JQ7VFMJR.js";import{a as o}from"./chunk-B7VP62JO.js";import"./chunk-22GIA4MK.js";export{d as CrossmintAuthBaseContext,h as CrossmintAuthBaseProvider,f as CrossmintContext,p as CrossmintProvider,a as CrossmintWalletBaseContext,b as CrossmintWalletBaseProvider,x as CrossmintWalletUIBaseProvider,l as EVMWallet,m as LoggerContext,n as SolanaWallet,q as StellarWallet,r as createLoggerContext,o as initReactLogger,j as useAuth,t as useCrossmint,i as useCrossmintAuth,g as useCrossmintAuthBase,e as useLogger,k as useSignerAuth,c as useWallet};
|
package/dist/logger/init.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZOVSCM6Ecjs = require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.initReactLogger = _chunkZOVSCM6Ecjs.a;
|
package/dist/logger/init.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SdkLogger } from '@crossmint/common-sdk-base';
|
|
1
|
+
import { LogLevel, SdkLogger } from '@crossmint/common-sdk-base';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Initialize the SDK logger for the React Base SDK
|
|
@@ -11,8 +11,11 @@ import { SdkLogger } from '@crossmint/common-sdk-base';
|
|
|
11
11
|
* instances to coexist without conflicts.
|
|
12
12
|
*
|
|
13
13
|
* @param apiKey - API key to determine environment (development/staging/production) and project ID
|
|
14
|
+
* @param packageName - Name of the package using the logger
|
|
15
|
+
* @param packageVersion - Version of the package using the logger
|
|
16
|
+
* @param consoleLogLevel - Minimum log level for console output (defaults to "debug" for backward compatibility)
|
|
14
17
|
* @returns The initialized logger instance
|
|
15
18
|
*/
|
|
16
|
-
declare function initReactLogger(apiKey: string, packageName: string, packageVersion: string): SdkLogger;
|
|
19
|
+
declare function initReactLogger(apiKey: string, packageName: string, packageVersion: string, consoleLogLevel?: LogLevel): SdkLogger;
|
|
17
20
|
|
|
18
21
|
export { initReactLogger };
|
package/dist/logger/init.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SdkLogger } from '@crossmint/common-sdk-base';
|
|
1
|
+
import { LogLevel, SdkLogger } from '@crossmint/common-sdk-base';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Initialize the SDK logger for the React Base SDK
|
|
@@ -11,8 +11,11 @@ import { SdkLogger } from '@crossmint/common-sdk-base';
|
|
|
11
11
|
* instances to coexist without conflicts.
|
|
12
12
|
*
|
|
13
13
|
* @param apiKey - API key to determine environment (development/staging/production) and project ID
|
|
14
|
+
* @param packageName - Name of the package using the logger
|
|
15
|
+
* @param packageVersion - Version of the package using the logger
|
|
16
|
+
* @param consoleLogLevel - Minimum log level for console output (defaults to "debug" for backward compatibility)
|
|
14
17
|
* @returns The initialized logger instance
|
|
15
18
|
*/
|
|
16
|
-
declare function initReactLogger(apiKey: string, packageName: string, packageVersion: string): SdkLogger;
|
|
19
|
+
declare function initReactLogger(apiKey: string, packageName: string, packageVersion: string, consoleLogLevel?: LogLevel): SdkLogger;
|
|
17
20
|
|
|
18
21
|
export { initReactLogger };
|
package/dist/logger/init.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{a as initReactLogger};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSAGHYSAMcjs = require('../chunk-SAGHYSAM.cjs');require('../chunk-2ELFOPX5.cjs');require('../chunk-JV5G6BEH.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-VD2K3UBK.cjs');require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkSAGHYSAMcjs.e; exports.CrossmintAuthBaseProvider = _chunkSAGHYSAMcjs.g; exports.useCrossmintAuthBase = _chunkSAGHYSAMcjs.f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as a,f as b,g as c}from"../chunk-
|
|
1
|
+
import{e as a,f as b,g as c}from"../chunk-DSAHUACO.js";import"../chunk-RYSTANTU.js";import"../chunk-YZTKYYF3.js";import"../chunk-FF2S33DL.js";import"../chunk-JQ7VFMJR.js";import"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{a as CrossmintAuthBaseContext,c as CrossmintAuthBaseProvider,b as useCrossmintAuthBase};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkJV5G6BEHcjs = require('../chunk-JV5G6BEH.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintContext = _chunkJV5G6BEHcjs.a; exports.CrossmintProvider = _chunkJV5G6BEHcjs.c; exports.LoggerContext = _chunkJV5G6BEHcjs.b;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
3
|
-
import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
|
|
2
|
+
import { LoggerContext as LoggerContext$1 } from './LoggerProvider.cjs';
|
|
4
3
|
import * as react from 'react';
|
|
5
4
|
import { ReactNode } from 'react';
|
|
5
|
+
import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
|
|
6
6
|
|
|
7
7
|
interface CrossmintContext {
|
|
8
8
|
crossmint: Crossmint;
|
|
@@ -11,7 +11,7 @@ interface CrossmintContext {
|
|
|
11
11
|
setJwt: (jwt: string | undefined) => void;
|
|
12
12
|
}
|
|
13
13
|
declare const CrossmintContext: react.Context<CrossmintContext | null>;
|
|
14
|
-
declare const LoggerContext:
|
|
14
|
+
declare const LoggerContext: LoggerContext$1;
|
|
15
15
|
declare function CrossmintProvider({ children, apiKey, appId, extensionId, overrideBaseUrl, }: CrossmintConfig & {
|
|
16
16
|
children: ReactNode;
|
|
17
17
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
3
|
-
import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
|
|
2
|
+
import { LoggerContext as LoggerContext$1 } from './LoggerProvider.js';
|
|
4
3
|
import * as react from 'react';
|
|
5
4
|
import { ReactNode } from 'react';
|
|
5
|
+
import { Crossmint, CustomAuth, CrossmintConfig } from '@crossmint/common-sdk-base';
|
|
6
6
|
|
|
7
7
|
interface CrossmintContext {
|
|
8
8
|
crossmint: Crossmint;
|
|
@@ -11,7 +11,7 @@ interface CrossmintContext {
|
|
|
11
11
|
setJwt: (jwt: string | undefined) => void;
|
|
12
12
|
}
|
|
13
13
|
declare const CrossmintContext: react.Context<CrossmintContext | null>;
|
|
14
|
-
declare const LoggerContext:
|
|
14
|
+
declare const LoggerContext: LoggerContext$1;
|
|
15
15
|
declare function CrossmintProvider({ children, apiKey, appId, extensionId, overrideBaseUrl, }: CrossmintConfig & {
|
|
16
16
|
children: ReactNode;
|
|
17
17
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c}from"../chunk-
|
|
1
|
+
import{a,b,c}from"../chunk-YZTKYYF3.js";import"../chunk-FF2S33DL.js";import"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{a as CrossmintContext,c as CrossmintProvider,b as LoggerContext};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSAGHYSAMcjs = require('../chunk-SAGHYSAM.cjs');require('../chunk-2ELFOPX5.cjs');require('../chunk-JV5G6BEH.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-VD2K3UBK.cjs');require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletBaseContext = _chunkSAGHYSAMcjs.b; exports.CrossmintWalletBaseProvider = _chunkSAGHYSAMcjs.c;
|
|
@@ -1,37 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
|
|
7
|
-
import { CreateOnLogin } from '../types/wallet.cjs';
|
|
1
|
+
import 'react/jsx-runtime';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '@crossmint/wallets-sdk';
|
|
4
|
+
import '@crossmint/client-sdk-window';
|
|
5
|
+
import '@crossmint/client-signers';
|
|
8
6
|
import '@crossmint/common-sdk-base';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
status: "not-loaded" | "in-progress" | "loaded" | "error";
|
|
13
|
-
getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<Wallet<Chain> | undefined>;
|
|
14
|
-
onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
|
|
15
|
-
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
16
|
-
emailSignerState: {
|
|
17
|
-
needsAuth: boolean;
|
|
18
|
-
sendEmailWithOtp: (() => Promise<void>) | null;
|
|
19
|
-
verifyOtp: ((otp: string) => Promise<void>) | null;
|
|
20
|
-
reject: ((error?: Error) => void) | null;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
declare const CrossmintWalletBaseContext: react.Context<CrossmintWalletBaseContext>;
|
|
24
|
-
interface CrossmintWalletBaseProviderProps {
|
|
25
|
-
children: ReactNode;
|
|
26
|
-
createOnLogin?: CreateOnLogin;
|
|
27
|
-
callbacks?: {
|
|
28
|
-
onWalletCreationStart?: () => Promise<void>;
|
|
29
|
-
onTransactionStart?: () => Promise<void>;
|
|
30
|
-
};
|
|
31
|
-
onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
|
|
32
|
-
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
33
|
-
initializeWebView?: () => Promise<void>;
|
|
34
|
-
}
|
|
35
|
-
declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, onAuthRequired, clientTEEConnection, initializeWebView, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
|
|
36
|
-
|
|
37
|
-
export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, type CrossmintWalletBaseProviderProps };
|
|
7
|
+
import '../types/wallet.cjs';
|
|
8
|
+
export { C as CrossmintWalletBaseContext, b as CrossmintWalletBaseProvider, a as CrossmintWalletBaseProviderProps, P as PasskeyPromptState } from '../CrossmintWalletBaseProvider-UroldMZe.cjs';
|
|
9
|
+
import '../hooks/useSignerAuth.cjs';
|
|
@@ -1,37 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { signerOutboundEvents, signerInboundEvents } from '@crossmint/client-signers';
|
|
7
|
-
import { CreateOnLogin } from '../types/wallet.js';
|
|
1
|
+
import 'react/jsx-runtime';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '@crossmint/wallets-sdk';
|
|
4
|
+
import '@crossmint/client-sdk-window';
|
|
5
|
+
import '@crossmint/client-signers';
|
|
8
6
|
import '@crossmint/common-sdk-base';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
status: "not-loaded" | "in-progress" | "loaded" | "error";
|
|
13
|
-
getOrCreateWallet: <C extends Chain>(props: WalletArgsFor<C>) => Promise<Wallet<Chain> | undefined>;
|
|
14
|
-
onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
|
|
15
|
-
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
16
|
-
emailSignerState: {
|
|
17
|
-
needsAuth: boolean;
|
|
18
|
-
sendEmailWithOtp: (() => Promise<void>) | null;
|
|
19
|
-
verifyOtp: ((otp: string) => Promise<void>) | null;
|
|
20
|
-
reject: ((error?: Error) => void) | null;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
declare const CrossmintWalletBaseContext: react.Context<CrossmintWalletBaseContext>;
|
|
24
|
-
interface CrossmintWalletBaseProviderProps {
|
|
25
|
-
children: ReactNode;
|
|
26
|
-
createOnLogin?: CreateOnLogin;
|
|
27
|
-
callbacks?: {
|
|
28
|
-
onWalletCreationStart?: () => Promise<void>;
|
|
29
|
-
onTransactionStart?: () => Promise<void>;
|
|
30
|
-
};
|
|
31
|
-
onAuthRequired?: EmailSignerConfig["onAuthRequired"] | PhoneSignerConfig["onAuthRequired"];
|
|
32
|
-
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
33
|
-
initializeWebView?: () => Promise<void>;
|
|
34
|
-
}
|
|
35
|
-
declare function CrossmintWalletBaseProvider({ children, createOnLogin, callbacks, onAuthRequired, clientTEEConnection, initializeWebView, }: CrossmintWalletBaseProviderProps): react_jsx_runtime.JSX.Element;
|
|
36
|
-
|
|
37
|
-
export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, type CrossmintWalletBaseProviderProps };
|
|
7
|
+
import '../types/wallet.js';
|
|
8
|
+
export { C as CrossmintWalletBaseContext, b as CrossmintWalletBaseProvider, a as CrossmintWalletBaseProviderProps, P as PasskeyPromptState } from '../CrossmintWalletBaseProvider-x6JjRsj7.js';
|
|
9
|
+
import '../hooks/useSignerAuth.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{b as a,c as b}from"../chunk-DSAHUACO.js";import"../chunk-RYSTANTU.js";import"../chunk-YZTKYYF3.js";import"../chunk-FF2S33DL.js";import"../chunk-JQ7VFMJR.js";import"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletBaseContext,b as CrossmintWalletBaseProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSAGHYSAMcjs = require('../chunk-SAGHYSAM.cjs');require('../chunk-2ELFOPX5.cjs');require('../chunk-JV5G6BEH.cjs');require('../chunk-QBEM2WHM.cjs');require('../chunk-VD2K3UBK.cjs');require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintWalletUIBaseProvider = _chunkSAGHYSAMcjs.a;
|
|
@@ -1,59 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
import { CreateOnLogin } from '../types/wallet.cjs';
|
|
1
|
+
import 'react/jsx-runtime';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '@crossmint/common-sdk-base';
|
|
4
|
+
import '../hooks/useSignerAuth.cjs';
|
|
5
|
+
export { d as CrossmintWalletUIBaseProvider, c as CrossmintWalletUIBaseProviderProps, U as UIRenderProps } from '../CrossmintWalletBaseProvider-UroldMZe.cjs';
|
|
7
6
|
import '@crossmint/wallets-sdk';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
appearance?: UIConfig;
|
|
12
|
-
createOnLogin?: CreateOnLogin;
|
|
13
|
-
headlessSigningFlow?: boolean;
|
|
14
|
-
showPasskeyHelpers?: boolean;
|
|
15
|
-
callbacks?: {
|
|
16
|
-
onWalletCreationStart?: () => Promise<void>;
|
|
17
|
-
onTransactionStart?: () => Promise<void>;
|
|
18
|
-
};
|
|
19
|
-
initializeWebView?: () => Promise<void>;
|
|
20
|
-
renderUI?: (props: UIRenderProps) => ReactNode;
|
|
21
|
-
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
22
|
-
}
|
|
23
|
-
interface UIRenderProps {
|
|
24
|
-
emailSignerProps: {
|
|
25
|
-
email?: string;
|
|
26
|
-
open: boolean;
|
|
27
|
-
setOpen: (open: boolean) => void;
|
|
28
|
-
step: "initial" | "otp";
|
|
29
|
-
onSubmitOTP: (token: string) => Promise<void>;
|
|
30
|
-
onResendOTPCode: () => Promise<void>;
|
|
31
|
-
onSubmitEmail: () => Promise<void>;
|
|
32
|
-
rejectRef: MutableRefObject<(error?: Error) => void>;
|
|
33
|
-
appearance?: UIConfig;
|
|
34
|
-
};
|
|
35
|
-
phoneSignerProps: {
|
|
36
|
-
phone?: string;
|
|
37
|
-
open: boolean;
|
|
38
|
-
setOpen: (open: boolean) => void;
|
|
39
|
-
step: "initial" | "otp";
|
|
40
|
-
onSubmitOTP: (token: string) => Promise<void>;
|
|
41
|
-
onResendOTPCode: () => Promise<void>;
|
|
42
|
-
onSubmitPhone: () => Promise<void>;
|
|
43
|
-
rejectRef: MutableRefObject<(error?: Error) => void>;
|
|
44
|
-
appearance?: UIConfig;
|
|
45
|
-
};
|
|
46
|
-
passkeyPromptProps?: {
|
|
47
|
-
state: {
|
|
48
|
-
open: boolean;
|
|
49
|
-
type?: ValidPasskeyPromptType;
|
|
50
|
-
primaryActionOnClick?: () => void;
|
|
51
|
-
secondaryActionOnClick?: () => void;
|
|
52
|
-
};
|
|
53
|
-
appearance?: UIConfig;
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
type ValidPasskeyPromptType = "create-wallet" | "transaction" | "not-supported" | "create-wallet-error" | "transaction-error";
|
|
57
|
-
declare function CrossmintWalletUIBaseProvider({ children, appearance, createOnLogin, headlessSigningFlow, showPasskeyHelpers, callbacks, initializeWebView, renderUI, clientTEEConnection, }: CrossmintWalletUIBaseProviderProps): react_jsx_runtime.JSX.Element;
|
|
58
|
-
|
|
59
|
-
export { CrossmintWalletUIBaseProvider, type CrossmintWalletUIBaseProviderProps, type UIRenderProps };
|
|
7
|
+
import '@crossmint/client-sdk-window';
|
|
8
|
+
import '@crossmint/client-signers';
|
|
9
|
+
import '../types/wallet.cjs';
|
|
@@ -1,59 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
import { CreateOnLogin } from '../types/wallet.js';
|
|
1
|
+
import 'react/jsx-runtime';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '@crossmint/common-sdk-base';
|
|
4
|
+
import '../hooks/useSignerAuth.js';
|
|
5
|
+
export { d as CrossmintWalletUIBaseProvider, c as CrossmintWalletUIBaseProviderProps, U as UIRenderProps } from '../CrossmintWalletBaseProvider-x6JjRsj7.js';
|
|
7
6
|
import '@crossmint/wallets-sdk';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
appearance?: UIConfig;
|
|
12
|
-
createOnLogin?: CreateOnLogin;
|
|
13
|
-
headlessSigningFlow?: boolean;
|
|
14
|
-
showPasskeyHelpers?: boolean;
|
|
15
|
-
callbacks?: {
|
|
16
|
-
onWalletCreationStart?: () => Promise<void>;
|
|
17
|
-
onTransactionStart?: () => Promise<void>;
|
|
18
|
-
};
|
|
19
|
-
initializeWebView?: () => Promise<void>;
|
|
20
|
-
renderUI?: (props: UIRenderProps) => ReactNode;
|
|
21
|
-
clientTEEConnection?: () => HandshakeParent<typeof signerOutboundEvents, typeof signerInboundEvents>;
|
|
22
|
-
}
|
|
23
|
-
interface UIRenderProps {
|
|
24
|
-
emailSignerProps: {
|
|
25
|
-
email?: string;
|
|
26
|
-
open: boolean;
|
|
27
|
-
setOpen: (open: boolean) => void;
|
|
28
|
-
step: "initial" | "otp";
|
|
29
|
-
onSubmitOTP: (token: string) => Promise<void>;
|
|
30
|
-
onResendOTPCode: () => Promise<void>;
|
|
31
|
-
onSubmitEmail: () => Promise<void>;
|
|
32
|
-
rejectRef: MutableRefObject<(error?: Error) => void>;
|
|
33
|
-
appearance?: UIConfig;
|
|
34
|
-
};
|
|
35
|
-
phoneSignerProps: {
|
|
36
|
-
phone?: string;
|
|
37
|
-
open: boolean;
|
|
38
|
-
setOpen: (open: boolean) => void;
|
|
39
|
-
step: "initial" | "otp";
|
|
40
|
-
onSubmitOTP: (token: string) => Promise<void>;
|
|
41
|
-
onResendOTPCode: () => Promise<void>;
|
|
42
|
-
onSubmitPhone: () => Promise<void>;
|
|
43
|
-
rejectRef: MutableRefObject<(error?: Error) => void>;
|
|
44
|
-
appearance?: UIConfig;
|
|
45
|
-
};
|
|
46
|
-
passkeyPromptProps?: {
|
|
47
|
-
state: {
|
|
48
|
-
open: boolean;
|
|
49
|
-
type?: ValidPasskeyPromptType;
|
|
50
|
-
primaryActionOnClick?: () => void;
|
|
51
|
-
secondaryActionOnClick?: () => void;
|
|
52
|
-
};
|
|
53
|
-
appearance?: UIConfig;
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
type ValidPasskeyPromptType = "create-wallet" | "transaction" | "not-supported" | "create-wallet-error" | "transaction-error";
|
|
57
|
-
declare function CrossmintWalletUIBaseProvider({ children, appearance, createOnLogin, headlessSigningFlow, showPasskeyHelpers, callbacks, initializeWebView, renderUI, clientTEEConnection, }: CrossmintWalletUIBaseProviderProps): react_jsx_runtime.JSX.Element;
|
|
58
|
-
|
|
59
|
-
export { CrossmintWalletUIBaseProvider, type CrossmintWalletUIBaseProviderProps, type UIRenderProps };
|
|
7
|
+
import '@crossmint/client-sdk-window';
|
|
8
|
+
import '@crossmint/client-signers';
|
|
9
|
+
import '../types/wallet.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a}from"../chunk-DSAHUACO.js";import"../chunk-RYSTANTU.js";import"../chunk-YZTKYYF3.js";import"../chunk-FF2S33DL.js";import"../chunk-JQ7VFMJR.js";import"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{a as CrossmintWalletUIBaseProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b}from"../chunk-
|
|
1
|
+
import{a,b}from"../chunk-FF2S33DL.js";import"../chunk-22GIA4MK.js";export{a as createLoggerContext,b as useLogger};
|
package/dist/providers/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSAGHYSAMcjs = require('../chunk-SAGHYSAM.cjs');require('../chunk-2ELFOPX5.cjs');var _chunkJV5G6BEHcjs = require('../chunk-JV5G6BEH.cjs');var _chunkQBEM2WHMcjs = require('../chunk-QBEM2WHM.cjs');require('../chunk-VD2K3UBK.cjs');var _chunkZOVSCM6Ecjs = require('../chunk-ZOVSCM6E.cjs');require('../chunk-CK4JCQY6.cjs');exports.CrossmintAuthBaseContext = _chunkSAGHYSAMcjs.e; exports.CrossmintAuthBaseProvider = _chunkSAGHYSAMcjs.g; exports.CrossmintContext = _chunkJV5G6BEHcjs.a; exports.CrossmintProvider = _chunkJV5G6BEHcjs.c; exports.CrossmintWalletBaseContext = _chunkSAGHYSAMcjs.b; exports.CrossmintWalletBaseProvider = _chunkSAGHYSAMcjs.c; exports.CrossmintWalletUIBaseProvider = _chunkSAGHYSAMcjs.a; exports.LoggerContext = _chunkJV5G6BEHcjs.b; exports.createLoggerContext = _chunkQBEM2WHMcjs.a; exports.initReactLogger = _chunkZOVSCM6Ecjs.a; exports.useCrossmintAuthBase = _chunkSAGHYSAMcjs.f; exports.useLogger = _chunkQBEM2WHMcjs.b;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, CrossmintWalletBaseProviderProps } from '
|
|
2
|
-
export { CrossmintWalletUIBaseProvider, CrossmintWalletUIBaseProviderProps, UIRenderProps } from './CrossmintWalletUIBaseProvider.cjs';
|
|
1
|
+
export { C as CrossmintWalletBaseContext, b as CrossmintWalletBaseProvider, a as CrossmintWalletBaseProviderProps, d as CrossmintWalletUIBaseProvider, c as CrossmintWalletUIBaseProviderProps, P as PasskeyPromptState, U as UIRenderProps } from '../CrossmintWalletBaseProvider-UroldMZe.cjs';
|
|
3
2
|
export { CrossmintContext, CrossmintProvider, LoggerContext } from './CrossmintProvider.cjs';
|
|
4
3
|
export { CrossmintAuthBaseContext, CrossmintAuthBaseProvider, useCrossmintAuthBase } from './CrossmintAuthBaseProvider.cjs';
|
|
5
4
|
export { createLoggerContext, useLogger } from './LoggerProvider.cjs';
|
|
@@ -9,8 +8,9 @@ import 'react';
|
|
|
9
8
|
import '@crossmint/wallets-sdk';
|
|
10
9
|
import '@crossmint/client-sdk-window';
|
|
11
10
|
import '@crossmint/client-signers';
|
|
12
|
-
import '../types/wallet.cjs';
|
|
13
11
|
import '@crossmint/common-sdk-base';
|
|
12
|
+
import '../types/wallet.cjs';
|
|
13
|
+
import '../hooks/useSignerAuth.cjs';
|
|
14
14
|
import '@crossmint/client-sdk-auth';
|
|
15
15
|
import '../types/auth.cjs';
|
|
16
16
|
import '@crossmint/common-sdk-auth';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export { CrossmintWalletBaseContext, CrossmintWalletBaseProvider, CrossmintWalletBaseProviderProps } from '
|
|
2
|
-
export { CrossmintWalletUIBaseProvider, CrossmintWalletUIBaseProviderProps, UIRenderProps } from './CrossmintWalletUIBaseProvider.js';
|
|
1
|
+
export { C as CrossmintWalletBaseContext, b as CrossmintWalletBaseProvider, a as CrossmintWalletBaseProviderProps, d as CrossmintWalletUIBaseProvider, c as CrossmintWalletUIBaseProviderProps, P as PasskeyPromptState, U as UIRenderProps } from '../CrossmintWalletBaseProvider-x6JjRsj7.js';
|
|
3
2
|
export { CrossmintContext, CrossmintProvider, LoggerContext } from './CrossmintProvider.js';
|
|
4
3
|
export { CrossmintAuthBaseContext, CrossmintAuthBaseProvider, useCrossmintAuthBase } from './CrossmintAuthBaseProvider.js';
|
|
5
4
|
export { createLoggerContext, useLogger } from './LoggerProvider.js';
|
|
@@ -9,8 +8,9 @@ import 'react';
|
|
|
9
8
|
import '@crossmint/wallets-sdk';
|
|
10
9
|
import '@crossmint/client-sdk-window';
|
|
11
10
|
import '@crossmint/client-signers';
|
|
12
|
-
import '../types/wallet.js';
|
|
13
11
|
import '@crossmint/common-sdk-base';
|
|
12
|
+
import '../types/wallet.js';
|
|
13
|
+
import '../hooks/useSignerAuth.js';
|
|
14
14
|
import '@crossmint/client-sdk-auth';
|
|
15
15
|
import '../types/auth.js';
|
|
16
16
|
import '@crossmint/common-sdk-auth';
|
package/dist/providers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as g,b as h,
|
|
1
|
+
import{a as g,b as h,c as i,e as j,f as k,g as l}from"../chunk-DSAHUACO.js";import"../chunk-RYSTANTU.js";import{a as d,b as e,c as f}from"../chunk-YZTKYYF3.js";import{a as b,b as c}from"../chunk-FF2S33DL.js";import"../chunk-JQ7VFMJR.js";import{a}from"../chunk-B7VP62JO.js";import"../chunk-22GIA4MK.js";export{j as CrossmintAuthBaseContext,l as CrossmintAuthBaseProvider,d as CrossmintContext,f as CrossmintProvider,h as CrossmintWalletBaseContext,i as CrossmintWalletBaseProvider,g as CrossmintWalletUIBaseProvider,e as LoggerContext,b as createLoggerContext,a as initReactLogger,k as useCrossmintAuthBase,c as useLogger};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/client-sdk-react-base",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"lodash.isequal": "4.5.0",
|
|
22
22
|
"lodash.clonedeep": "4.5.0",
|
|
23
|
-
"@crossmint/common-sdk-auth": "1.0.
|
|
24
|
-
"@crossmint/common-sdk-base": "0.9.
|
|
25
|
-
"@crossmint/client-sdk-auth": "1.2.
|
|
26
|
-
"@crossmint/client-sdk-base": "1.7.
|
|
23
|
+
"@crossmint/common-sdk-auth": "1.0.68",
|
|
24
|
+
"@crossmint/common-sdk-base": "0.9.16",
|
|
25
|
+
"@crossmint/client-sdk-auth": "1.2.46",
|
|
26
|
+
"@crossmint/client-sdk-base": "1.7.13",
|
|
27
27
|
"@crossmint/client-sdk-window": "1.0.8",
|
|
28
28
|
"@crossmint/client-signers": "0.1.2",
|
|
29
|
-
"@crossmint/wallets-sdk": "0.18.
|
|
29
|
+
"@crossmint/wallets-sdk": "0.18.15"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/react": "19.1.10",
|
package/dist/chunk-BBHNFSOY.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _commonsdkbase = require('@crossmint/common-sdk-base');function v(i,s,a){let e=_commonsdkbase.validateAPIKey.call(void 0, i);if(!e.isValid)throw new Error(`Invalid API key: ${e.message}`);let{environment:r,projectId:d}=e,n=new (0, _commonsdkbase.SdkLogger)({packageName:s,packageVersion:a,environment:r,projectId:d}),o=_commonsdkbase.detectPlatform.call(void 0, );if(o==="browser"){let t=new (0, _commonsdkbase.BrowserDatadogSink)(r);n.addSink(t)}else if(o==="server"){let t=new (0, _commonsdkbase.ServerDatadogSink)(r);n.addSink(t)}return n}exports.a = v;
|
package/dist/chunk-BP3EKJN6.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as d}from"./chunk-UYQYHE3O.js";import{a as m}from"./chunk-ZIP5OBIN.js";import{createContext as j,useCallback as p,useMemo as a,useRef as y,useState as E}from"react";import{createCrossmint as b}from"@crossmint/common-sdk-base";import A from"lodash.isequal";var o={name:"@crossmint/client-sdk-react-base",version:"0.7.15",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","test:vitest":"vitest run"},dependencies:{"@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/wallets-sdk":"workspace:*","lodash.isequal":"4.5.0","lodash.clonedeep":"4.5.0"},devDependencies:{"@types/react":"19.1.10","@types/lodash.isequal":"4.5.6","@types/lodash.clonedeep":"4.5.6"},peerDependencies:{react:">=17.0.2"}};import{jsx as C}from"react/jsx-runtime";var N=j(null),L=d();function T({children:x,apiKey:s,appId:f,extensionId:w,overrideBaseUrl:h}){let v=a(()=>m(s,o.name,o.version),[s]),[k,c]=E(0),t=y(null);t.current==null&&(t.current=new Proxy(b({apiKey:s,overrideBaseUrl:h,appId:f,extensionId:w}),{set(e,r,n){return r==="jwt"&&e.jwt!==n&&c(i=>i+1),r==="experimental_customAuth"&&e.experimental_customAuth!==n&&c(i=>i+1),Reflect.set(e,r,n)}}));let l=p(e=>{if(t.current==null)throw new Error("CrossmintProvider is not initialized");e!==t.current.jwt&&(t.current.jwt=e,t.current.experimental_customAuth==null?t.current.experimental_customAuth={jwt:e}:t.current.experimental_customAuth.jwt=e)},[]),u=p(e=>{if(t.current==null)throw new Error("CrossmintProvider is not initialized");t.current.jwt!=(e==null?void 0:e.jwt)&&(t.current.jwt=e==null?void 0:e.jwt),A(e,t.current.experimental_customAuth)||(t.current.experimental_customAuth=e)},[]),g=a(()=>{if(!t.current)throw new Error("CrossmintProvider is not initialized");return{get crossmint(){return t.current},experimental_setCustomAuth:u,experimental_customAuth:t.current.experimental_customAuth,setJwt:l}},[u,l,k]);return C(L.Provider,{value:v,children:C(N.Provider,{value:g,children:x})})}export{N as a,L as b,T as c};
|
package/dist/chunk-K7OZQQ55.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as i}from"./chunk-22GIA4MK.js";import{useState as d,useRef as s,useCallback as n}from"react";var a=r=>()=>{throw new Error(`${r} is not available. Make sure you're using an email or phone signer wallet.`)};function W(r){let[v,h]=d(!1),[f,g]=d("initial"),[O,c]=d(!1),[y,P]=d("initial"),l=s(a("sendEmailWithOtp")),m=s(a("verifyOtp")),p=s(a("sendPhoneWithOtp")),S=s(a("verifyPhoneOtp")),o=s(a("reject")),b=n(()=>i(this,null,function*(){try{yield l.current(),g("otp")}catch(e){console.error("Failed to send email OTP",e),o.current(new Error("Failed to send email OTP"))}}),[]),T=n(e=>i(this,null,function*(){try{yield m.current(e),h(!1),g("initial")}catch(t){console.error("Failed to verify OTP",t),o.current(new Error("Failed to verify OTP"))}}),[]),D=n(()=>i(this,null,function*(){try{yield l.current()}catch(e){console.error("Failed to resend email OTP",e),o.current(new Error("Failed to resend email OTP"))}}),[]),R=n(()=>i(this,null,function*(){try{yield p.current(),P("otp")}catch(e){console.error("Failed to send phone OTP",e),o.current(new Error("Failed to send phone OTP"))}}),[]),E=n(e=>i(this,null,function*(){try{yield S.current(e),c(!1),P("initial")}catch(t){console.error("Failed to verify phone OTP",t),o.current(new Error("Failed to verify phone OTP"))}}),[]),w=n(()=>i(this,null,function*(){try{yield p.current()}catch(e){console.error("Failed to resend phone OTP",e),o.current(new Error("Failed to resend phone OTP"))}}),[]),F=n((e,t,u,_)=>i(this,null,function*(){(r==null?void 0:r.signer.type)==="phone"&&r.signer.phone?(c(e),p.current=t,S.current=u):(h(e),l.current=t,m.current=u),o.current=_}),[r==null?void 0:r.signer.type,r==null?void 0:r.signer]);return{emailSignerDialogOpen:v,emailSignerDialogStep:f,setEmailSignerDialogOpen:h,setEmailSignerDialogStep:g,phoneSignerDialogOpen:O,phoneSignerDialogStep:y,setPhoneSignerDialogOpen:c,setPhoneSignerDialogStep:P,sendEmailWithOtpRef:l,verifyOtpRef:m,sendPhoneWithOtpRef:p,verifyPhoneOtpRef:S,rejectRef:o,emailsigners_handleSendEmailOTP:b,emailsigners_handleOTPSubmit:T,emailsigners_handleResendOTP:D,phonesigners_handleSendPhoneOTP:R,phonesigners_handleOTPSubmit:E,phonesigners_handleResendOTP:w,onAuthRequired:F}}export{W as a};
|
package/dist/chunk-OHEWNH3G.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as x}from"./chunk-PQT7XTWP.js";import{a as Y}from"./chunk-K7OZQQ55.js";import{a as U,b as q,c as W}from"./chunk-22GIA4MK.js";import{createContext as ge,useCallback as L,useEffect as ee,useMemo as Pe,useState as F}from"react";import{CrossmintWallets as he}from"@crossmint/wallets-sdk";import{useContext as te}from"react";function xe(){let u=te(O);if(!u)throw new Error("useWallet must be used within CrossmintWalletProvider");return u}import{useContext as fe}from"react";import{useCallback as Z,useState as ne}from"react";import{jsxs as oe}from"react/jsx-runtime";function Te({children:u,appearance:l,createOnLogin:t,headlessSigningFlow:y,showPasskeyHelpers:i=!0,callbacks:a,initializeWebView:v,renderUI:n,clientTEEConnection:s}){let{experimental_customAuth:d}=x(),[m,f]=ne({open:!1}),r=Y(t),p=(t==null?void 0:t.signer.type)==="email"&&(t==null?void 0:t.signer.email)!=null?t.signer.email:d==null?void 0:d.email,g=(t==null?void 0:t.signer.type)==="phone"&&(t==null?void 0:t.signer.phone)!=null?t.signer.phone:d==null?void 0:d.phone,P=Z(e=>()=>new Promise(o=>{if(!i){o();return}f({type:e,open:!0,primaryActionOnClick:()=>{f({open:!1}),o()},secondaryActionOnClick:()=>{f({open:!1}),o()}})}),[i]),w=Z(()=>{let e=a==null?void 0:a.onWalletCreationStart,o=a==null?void 0:a.onTransactionStart;return(t==null?void 0:t.signer.type)==="passkey"&&i&&(e=P("create-wallet"),o=P("transaction")),{onWalletCreationStart:e,onTransactionStart:o}},[a,t==null?void 0:t.signer.type,i,P]),h={emailSignerProps:{email:p,open:r.emailSignerDialogOpen&&p!=null,setOpen:r.setEmailSignerDialogOpen,step:r.emailSignerDialogStep,onSubmitOTP:r.emailsigners_handleOTPSubmit,onResendOTPCode:r.emailsigners_handleResendOTP,onSubmitEmail:r.emailsigners_handleSendEmailOTP,rejectRef:r.rejectRef,appearance:l},phoneSignerProps:{phone:g,open:r.phoneSignerDialogOpen&&g!=null,setOpen:r.setPhoneSignerDialogOpen,step:r.phoneSignerDialogStep,onSubmitOTP:r.phonesigners_handleOTPSubmit,onResendOTPCode:r.phonesigners_handleResendOTP,onSubmitPhone:r.phonesigners_handleSendPhoneOTP,rejectRef:r.rejectRef,appearance:l},passkeyPromptProps:{state:m,appearance:l}};return oe($,{createOnLogin:t,onAuthRequired:r.onAuthRequired,initializeWebView:v,callbacks:w(),clientTEEConnection:s,children:[u,!y&&n!=null&&n(h)]})}import{createContext as re,useCallback as E,useContext as ie,useEffect as j,useMemo as se,useRef as le,useState as k}from"react";import{CrossmintAuth as ae,getCookie as de}from"@crossmint/client-sdk-auth";import{SESSION_PREFIX as _}from"@crossmint/common-sdk-auth";import{jsx as me}from"react/jsx-runtime";var A=re({crossmintAuth:void 0,logout:()=>{},status:"initializing",getUser:()=>{},login:()=>{}});function pe(){let u=ie(A);if(u==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return u}function ue({children:u,onLoginSuccess:l,refreshRoute:t,logoutRoute:y,storageProvider:i}){let{crossmint:a}=x("CrossmintAuthBaseProvider must be used within CrossmintProvider"),[v,n]=k(void 0),[s,d]=k(void 0),[m,f]=k(!1),r=le(null);j(()=>{if(!r.current)try{r.current=ae.from(a,{callbacks:{onLogout:()=>{n(void 0),d(void 0)},onTokenRefresh:o=>{n(o.user),d(o.jwt)}},refreshRoute:t,logoutRoute:y,storageProvider:i})}catch(o){console.error("Failed to initialize CrossmintAuth:",o)}},[a,t,y,i]);let p=r.current,g=E(()=>{l==null||l()},[l]);j(()=>{var o;if(s==null)if(i)(o=i.get)==null||o.call(i,_).then(C=>{C!=null&&d(C)}).finally(()=>{f(!0)});else{try{let C=de(_);d(C)}catch(C){console.error("Failed to get cookie:",C)}f(!0)}else f(!0)},[s,i]),j(()=>{s!=null&&g()},[s,g]);let P=E(()=>{p==null||p.logout()},[p]),w=E(()=>W(this,null,function*(){if(s==null){console.log("User not logged in");return}let o=yield p==null?void 0:p.getUser();return n(o),o}),[s,p]),h=E(()=>m?s!=null?"logged-in":"logged-out":"initializing",[s,m]),e=se(()=>({crossmintAuth:p,logout:P,jwt:s,user:v,status:h(),getUser:w,login:()=>{}}),[p,P,s,v,m,w,h]);return me(A.Provider,{value:e,children:u})}function Ce(){let u=fe(A);if(u==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return u}var et=Ce;import ye from"lodash.clonedeep";import{jsx as Se}from"react/jsx-runtime";var O=ge({wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,clientTEEConnection:void 0,emailSignerState:{needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null}});function $({children:u,createOnLogin:l,callbacks:t,onAuthRequired:y,clientTEEConnection:i,initializeWebView:a}){let{crossmint:v,experimental_customAuth:n}=x("CrossmintWalletBaseProvider must be used within CrossmintProvider"),[s,d]=F(void 0),[m,f]=F("not-loaded"),[r,p]=F({needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null}),g=L((h,e,o,C)=>W(this,null,function*(){if(p({needsAuth:h,sendEmailWithOtp:e,verifyOtp:o,reject:C}),y)return yield y(h,e,o,C)}),[y]),P=L(h=>W(this,null,function*(){var o,C,D,N,H,M,V,z,J,K,X,G;let e=ye(h);if(!((n==null?void 0:n.jwt)==null||m==="in-progress")){if(s!=null)return s;try{f("in-progress");let B=he.from(v),T=(C=(o=e.options)==null?void 0:o.experimental_callbacks)==null?void 0:C.onWalletCreationStart,b=(N=(D=e.options)==null?void 0:D.experimental_callbacks)==null?void 0:N.onTransactionStart;if(((H=e==null?void 0:e.signer)==null?void 0:H.type)==="email"){let S=(M=e.signer.email)!=null?M:n==null?void 0:n.email,I=(V=e.signer.onAuthRequired)!=null?V:g;if(S==null)throw new Error("Email not found in experimental_customAuth or signer. Please set email in experimental_customAuth or signer.");e.signer=q(U({},e.signer),{email:S,onAuthRequired:I})}if(((z=e==null?void 0:e.signer)==null?void 0:z.type)==="phone"){let S=(J=e.signer.phone)!=null?J:n==null?void 0:n.phone,I=(K=e.signer.onAuthRequired)!=null?K:g;if(S==null)throw new Error("Phone not found in signer. Please set phone in signer.");e.signer=q(U({},e.signer),{phone:S,onAuthRequired:I})}if(((X=e==null?void 0:e.signer)==null?void 0:X.type)==="external-wallet"){let S=((G=e.signer)==null?void 0:G.address)!=null?e.signer:n.externalWalletSigner;if(S==null)throw new Error("External wallet config not found in experimental_customAuth or signer. Please set it in experimental_customAuth or signer.");e.signer=S}(e.signer.type==="email"||e.signer.type==="phone")&&(yield a==null?void 0:a());let Q=yield B.getOrCreateWallet({chain:e.chain,signer:e.signer,owner:e.owner,plugins:e.plugins,delegatedSigners:e.delegatedSigners,alias:e.alias,options:{clientTEEConnection:i==null?void 0:i(),experimental_callbacks:{onWalletCreationStart:T!=null?T:t==null?void 0:t.onWalletCreationStart,onTransactionStart:b!=null?b:t==null?void 0:t.onTransactionStart}}});return d(Q),f("loaded"),Q}catch(B){console.error("Failed to create wallet:",B),d(void 0),f("error");return}}}),[v,n,g,m,s,t==null?void 0:t.onWalletCreationStart,t==null?void 0:t.onTransactionStart,i,a]);ee(()=>{if(l!=null){if(l.signer.type==="email"&&(n==null?void 0:n.email)==null||l.signer.type==="external-wallet"&&(n==null?void 0:n.externalWalletSigner)==null&&l.signer.address==null)return;P(l)}},[l,P,n==null?void 0:n.email,n==null?void 0:n.externalWalletSigner]),ee(()=>{(n==null?void 0:n.jwt)==null&&m!=="not-loaded"&&(f("not-loaded"),d(void 0))},[n==null?void 0:n.jwt,m]);let w=Pe(()=>({wallet:s,status:m,getOrCreateWallet:P,onAuthRequired:g,clientTEEConnection:i,emailSignerState:r}),[P,s,m,g,i,r]);return Se(O.Provider,{value:w,children:u})}export{O as a,$ as b,xe as c,Te as d,A as e,pe as f,ue as g,Ce as h,et as i};
|
package/dist/chunk-QKCWSAPH.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var a=r=>()=>{throw new Error(`${r} is not available. Make sure you're using an email or phone signer wallet.`)};function M(r){let[v,h]=_react.useState.call(void 0, !1),[f,g]=_react.useState.call(void 0, "initial"),[O,c]=_react.useState.call(void 0, !1),[y,P]=_react.useState.call(void 0, "initial"),l=_react.useRef.call(void 0, a("sendEmailWithOtp")),m=_react.useRef.call(void 0, a("verifyOtp")),p=_react.useRef.call(void 0, a("sendPhoneWithOtp")),S=_react.useRef.call(void 0, a("verifyPhoneOtp")),o=_react.useRef.call(void 0, a("reject")),b=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield l.current(),g("otp")}catch(e){console.error("Failed to send email OTP",e),o.current(new Error("Failed to send email OTP"))}}),[]),T=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield m.current(e),h(!1),g("initial")}catch(t){console.error("Failed to verify OTP",t),o.current(new Error("Failed to verify OTP"))}}),[]),D=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield l.current()}catch(e){console.error("Failed to resend email OTP",e),o.current(new Error("Failed to resend email OTP"))}}),[]),R=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield p.current(),P("otp")}catch(e){console.error("Failed to send phone OTP",e),o.current(new Error("Failed to send phone OTP"))}}),[]),E=_react.useCallback.call(void 0, e=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield S.current(e),c(!1),P("initial")}catch(t){console.error("Failed to verify phone OTP",t),o.current(new Error("Failed to verify phone OTP"))}}),[]),w=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){try{yield p.current()}catch(e){console.error("Failed to resend phone OTP",e),o.current(new Error("Failed to resend phone OTP"))}}),[]),F=_react.useCallback.call(void 0, (e,t,u,_)=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){(r==null?void 0:r.signer.type)==="phone"&&r.signer.phone?(c(e),p.current=t,S.current=u):(h(e),l.current=t,m.current=u),o.current=_}),[r==null?void 0:r.signer.type,r==null?void 0:r.signer]);return{emailSignerDialogOpen:v,emailSignerDialogStep:f,setEmailSignerDialogOpen:h,setEmailSignerDialogStep:g,phoneSignerDialogOpen:O,phoneSignerDialogStep:y,setPhoneSignerDialogOpen:c,setPhoneSignerDialogStep:P,sendEmailWithOtpRef:l,verifyOtpRef:m,sendPhoneWithOtpRef:p,verifyPhoneOtpRef:S,rejectRef:o,emailsigners_handleSendEmailOTP:b,emailsigners_handleOTPSubmit:T,emailsigners_handleResendOTP:D,phonesigners_handleSendPhoneOTP:R,phonesigners_handleOTPSubmit:E,phonesigners_handleResendOTP:w,onAuthRequired:F}}exports.a = M;
|
package/dist/chunk-W2TASRNS.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkQBEM2WHMcjs = require('./chunk-QBEM2WHM.cjs');var _chunkBBHNFSOYcjs = require('./chunk-BBHNFSOY.cjs');var _react = require('react');var _commonsdkbase = require('@crossmint/common-sdk-base');var _lodashisequal = require('lodash.isequal'); var _lodashisequal2 = _interopRequireDefault(_lodashisequal);var o={name:"@crossmint/client-sdk-react-base",version:"0.7.15",repository:"https://github.com/Crossmint/crossmint-sdk",license:"Apache-2.0",author:"Paella Labs Inc",sideEffects:!1,type:"module",exports:{import:"./dist/index.js",require:"./dist/index.cjs"},main:"./dist/index.cjs",module:"./dist/index.js",types:"./dist/index.d.ts",files:["dist","LICENSE"],scripts:{build:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch","test:vitest":"vitest run"},dependencies:{"@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/wallets-sdk":"workspace:*","lodash.isequal":"4.5.0","lodash.clonedeep":"4.5.0"},devDependencies:{"@types/react":"19.1.10","@types/lodash.isequal":"4.5.6","@types/lodash.clonedeep":"4.5.6"},peerDependencies:{react:">=17.0.2"}};var _jsxruntime = require('react/jsx-runtime');var N=_react.createContext.call(void 0, null),L= exports.b =_chunkQBEM2WHMcjs.a.call(void 0, );function P({children:x,apiKey:s,appId:f,extensionId:w,overrideBaseUrl:h}){let v=_react.useMemo.call(void 0, ()=>_chunkBBHNFSOYcjs.a.call(void 0, s,o.name,o.version),[s]),[k,c]=_react.useState.call(void 0, 0),t=_react.useRef.call(void 0, null);t.current==null&&(t.current=new Proxy(_commonsdkbase.createCrossmint.call(void 0, {apiKey:s,overrideBaseUrl:h,appId:f,extensionId:w}),{set(e,r,n){return r==="jwt"&&e.jwt!==n&&c(i=>i+1),r==="experimental_customAuth"&&e.experimental_customAuth!==n&&c(i=>i+1),Reflect.set(e,r,n)}}));let l=_react.useCallback.call(void 0, e=>{if(t.current==null)throw new Error("CrossmintProvider is not initialized");e!==t.current.jwt&&(t.current.jwt=e,t.current.experimental_customAuth==null?t.current.experimental_customAuth={jwt:e}:t.current.experimental_customAuth.jwt=e)},[]),u=_react.useCallback.call(void 0, e=>{if(t.current==null)throw new Error("CrossmintProvider is not initialized");t.current.jwt!=(e==null?void 0:e.jwt)&&(t.current.jwt=e==null?void 0:e.jwt),_lodashisequal2.default.call(void 0, e,t.current.experimental_customAuth)||(t.current.experimental_customAuth=e)},[]),g=_react.useMemo.call(void 0, ()=>{if(!t.current)throw new Error("CrossmintProvider is not initialized");return{get crossmint(){return t.current},experimental_setCustomAuth:u,experimental_customAuth:t.current.experimental_customAuth,setJwt:l}},[u,l,k]);return _jsxruntime.jsx.call(void 0, L.Provider,{value:v,children:_jsxruntime.jsx.call(void 0, N.Provider,{value:g,children:x})})}exports.a = N; exports.b = L; exports.c = P;
|
package/dist/chunk-X3ZY6SB5.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkUWAENLCQcjs = require('./chunk-UWAENLCQ.cjs');var _chunkQKCWSAPHcjs = require('./chunk-QKCWSAPH.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');function we(){let u=_react.useContext.call(void 0, q);if(!u)throw new Error("useWallet must be used within CrossmintWalletProvider");return u}var _jsxruntime = require('react/jsx-runtime');function Be({children:u,appearance:l,createOnLogin:t,headlessSigningFlow:y,showPasskeyHelpers:i=!0,callbacks:a,initializeWebView:v,renderUI:n,clientTEEConnection:s}){let{experimental_customAuth:d}=_chunkUWAENLCQcjs.a.call(void 0, ),[m,f]=_react.useState.call(void 0, {open:!1}),r=_chunkQKCWSAPHcjs.a.call(void 0, t),p=(t==null?void 0:t.signer.type)==="email"&&(t==null?void 0:t.signer.email)!=null?t.signer.email:d==null?void 0:d.email,g=(t==null?void 0:t.signer.type)==="phone"&&(t==null?void 0:t.signer.phone)!=null?t.signer.phone:d==null?void 0:d.phone,P=_react.useCallback.call(void 0, e=>()=>new Promise(o=>{if(!i){o();return}f({type:e,open:!0,primaryActionOnClick:()=>{f({open:!1}),o()},secondaryActionOnClick:()=>{f({open:!1}),o()}})}),[i]),w=_react.useCallback.call(void 0, ()=>{let e=a==null?void 0:a.onWalletCreationStart,o=a==null?void 0:a.onTransactionStart;return(t==null?void 0:t.signer.type)==="passkey"&&i&&(e=P("create-wallet"),o=P("transaction")),{onWalletCreationStart:e,onTransactionStart:o}},[a,t==null?void 0:t.signer.type,i,P]),h={emailSignerProps:{email:p,open:r.emailSignerDialogOpen&&p!=null,setOpen:r.setEmailSignerDialogOpen,step:r.emailSignerDialogStep,onSubmitOTP:r.emailsigners_handleOTPSubmit,onResendOTPCode:r.emailsigners_handleResendOTP,onSubmitEmail:r.emailsigners_handleSendEmailOTP,rejectRef:r.rejectRef,appearance:l},phoneSignerProps:{phone:g,open:r.phoneSignerDialogOpen&&g!=null,setOpen:r.setPhoneSignerDialogOpen,step:r.phoneSignerDialogStep,onSubmitOTP:r.phonesigners_handleOTPSubmit,onResendOTPCode:r.phonesigners_handleResendOTP,onSubmitPhone:r.phonesigners_handleSendPhoneOTP,rejectRef:r.rejectRef,appearance:l},passkeyPromptProps:{state:m,appearance:l}};return _jsxruntime.jsxs.call(void 0, Z,{createOnLogin:t,onAuthRequired:r.onAuthRequired,initializeWebView:v,callbacks:w(),clientTEEConnection:s,children:[u,!y&&n!=null&&n(h)]})}var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkauth = require('@crossmint/common-sdk-auth');var W=_react.createContext.call(void 0, {crossmintAuth:void 0,logout:()=>{},status:"initializing",getUser:()=>{},login:()=>{}});function de(){let u=_react.useContext.call(void 0, W);if(u==null)throw new Error("useCrossmintAuthBase must be used within CrossmintAuthBaseProvider");return u}function pe({children:u,onLoginSuccess:l,refreshRoute:t,logoutRoute:y,storageProvider:i}){let{crossmint:a}=_chunkUWAENLCQcjs.a.call(void 0, "CrossmintAuthBaseProvider must be used within CrossmintProvider"),[v,n]=_react.useState.call(void 0, void 0),[s,d]=_react.useState.call(void 0, void 0),[m,f]=_react.useState.call(void 0, !1),r=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{if(!r.current)try{r.current=_clientsdkauth.CrossmintAuth.from(a,{callbacks:{onLogout:()=>{n(void 0),d(void 0)},onTokenRefresh:o=>{n(o.user),d(o.jwt)}},refreshRoute:t,logoutRoute:y,storageProvider:i})}catch(o){console.error("Failed to initialize CrossmintAuth:",o)}},[a,t,y,i]);let p=r.current,g=_react.useCallback.call(void 0, ()=>{l==null||l()},[l]);_react.useEffect.call(void 0, ()=>{var o;if(s==null)if(i)(o=i.get)==null||o.call(i,_commonsdkauth.SESSION_PREFIX).then(C=>{C!=null&&d(C)}).finally(()=>{f(!0)});else{try{let C=_clientsdkauth.getCookie.call(void 0, _commonsdkauth.SESSION_PREFIX);d(C)}catch(C){console.error("Failed to get cookie:",C)}f(!0)}else f(!0)},[s,i]),_react.useEffect.call(void 0, ()=>{s!=null&&g()},[s,g]);let P=_react.useCallback.call(void 0, ()=>{p==null||p.logout()},[p]),w=_react.useCallback.call(void 0, ()=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(s==null){console.log("User not logged in");return}let o=yield p==null?void 0:p.getUser();return n(o),o}),[s,p]),h=_react.useCallback.call(void 0, ()=>m?s!=null?"logged-in":"logged-out":"initializing",[s,m]),e=_react.useMemo.call(void 0, ()=>({crossmintAuth:p,logout:P,jwt:s,user:v,status:h(),getUser:w,login:()=>{}}),[p,P,s,v,m,w,h]);return _jsxruntime.jsx.call(void 0, W.Provider,{value:e,children:u})}function fe(){let u=_react.useContext.call(void 0, W);if(u==null)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return u}var Le=fe;var _lodashclonedeep = require('lodash.clonedeep'); var _lodashclonedeep2 = _interopRequireDefault(_lodashclonedeep);var q=_react.createContext.call(void 0, {wallet:void 0,status:"not-loaded",getOrCreateWallet:()=>Promise.resolve(void 0),onAuthRequired:void 0,clientTEEConnection:void 0,emailSignerState:{needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null}});function Z({children:u,createOnLogin:l,callbacks:t,onAuthRequired:y,clientTEEConnection:i,initializeWebView:a}){let{crossmint:v,experimental_customAuth:n}=_chunkUWAENLCQcjs.a.call(void 0, "CrossmintWalletBaseProvider must be used within CrossmintProvider"),[s,d]=_react.useState.call(void 0, void 0),[m,f]=_react.useState.call(void 0, "not-loaded"),[r,p]=_react.useState.call(void 0, {needsAuth:!1,sendEmailWithOtp:null,verifyOtp:null,reject:null}),g=_react.useCallback.call(void 0, (h,e,o,C)=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){if(p({needsAuth:h,sendEmailWithOtp:e,verifyOtp:o,reject:C}),y)return yield y(h,e,o,C)}),[y]),P=_react.useCallback.call(void 0, h=>_chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var o,C,F,D,N,H,M,V,z,J,K,X;let e=_lodashclonedeep2.default.call(void 0, h);if(!((n==null?void 0:n.jwt)==null||m==="in-progress")){if(s!=null)return s;try{f("in-progress");let E=_walletssdk.CrossmintWallets.from(v),B=(C=(o=e.options)==null?void 0:o.experimental_callbacks)==null?void 0:C.onWalletCreationStart,T=(D=(F=e.options)==null?void 0:F.experimental_callbacks)==null?void 0:D.onTransactionStart;if(((N=e==null?void 0:e.signer)==null?void 0:N.type)==="email"){let S=(H=e.signer.email)!=null?H:n==null?void 0:n.email,b=(M=e.signer.onAuthRequired)!=null?M:g;if(S==null)throw new Error("Email not found in experimental_customAuth or signer. Please set email in experimental_customAuth or signer.");e.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},e.signer),{email:S,onAuthRequired:b})}if(((V=e==null?void 0:e.signer)==null?void 0:V.type)==="phone"){let S=(z=e.signer.phone)!=null?z:n==null?void 0:n.phone,b=(J=e.signer.onAuthRequired)!=null?J:g;if(S==null)throw new Error("Phone not found in signer. Please set phone in signer.");e.signer=_chunkCK4JCQY6cjs.b.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {},e.signer),{phone:S,onAuthRequired:b})}if(((K=e==null?void 0:e.signer)==null?void 0:K.type)==="external-wallet"){let S=((X=e.signer)==null?void 0:X.address)!=null?e.signer:n.externalWalletSigner;if(S==null)throw new Error("External wallet config not found in experimental_customAuth or signer. Please set it in experimental_customAuth or signer.");e.signer=S}(e.signer.type==="email"||e.signer.type==="phone")&&(yield a==null?void 0:a());let G=yield E.getOrCreateWallet({chain:e.chain,signer:e.signer,owner:e.owner,plugins:e.plugins,delegatedSigners:e.delegatedSigners,alias:e.alias,options:{clientTEEConnection:i==null?void 0:i(),experimental_callbacks:{onWalletCreationStart:B!=null?B:t==null?void 0:t.onWalletCreationStart,onTransactionStart:T!=null?T:t==null?void 0:t.onTransactionStart}}});return d(G),f("loaded"),G}catch(E){console.error("Failed to create wallet:",E),d(void 0),f("error");return}}}),[v,n,g,m,s,t==null?void 0:t.onWalletCreationStart,t==null?void 0:t.onTransactionStart,i,a]);_react.useEffect.call(void 0, ()=>{if(l!=null){if(l.signer.type==="email"&&(n==null?void 0:n.email)==null||l.signer.type==="external-wallet"&&(n==null?void 0:n.externalWalletSigner)==null&&l.signer.address==null)return;P(l)}},[l,P,n==null?void 0:n.email,n==null?void 0:n.externalWalletSigner]),_react.useEffect.call(void 0, ()=>{(n==null?void 0:n.jwt)==null&&m!=="not-loaded"&&(f("not-loaded"),d(void 0))},[n==null?void 0:n.jwt,m]);let w=_react.useMemo.call(void 0, ()=>({wallet:s,status:m,getOrCreateWallet:P,onAuthRequired:g,clientTEEConnection:i,emailSignerState:r}),[P,s,m,g,i,r]);return _jsxruntime.jsx.call(void 0, q.Provider,{value:w,children:u})}exports.a = q; exports.b = Z; exports.c = we; exports.d = Be; exports.e = W; exports.f = de; exports.g = pe; exports.h = fe; exports.i = Le;
|
package/dist/chunk-ZIP5OBIN.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{SdkLogger as g,detectPlatform as c,validateAPIKey as k}from"@crossmint/common-sdk-base";import{BrowserDatadogSink as l,ServerDatadogSink as f}from"@crossmint/common-sdk-base";function p(i,s,a){let e=k(i);if(!e.isValid)throw new Error(`Invalid API key: ${e.message}`);let{environment:r,projectId:d}=e,n=new g({packageName:s,packageVersion:a,environment:r,projectId:d}),o=c();if(o==="browser"){let t=new l(r);n.addSink(t)}else if(o==="server"){let t=new f(r);n.addSink(t)}return n}export{p as a};
|