@crossmint/client-sdk-react-ui 4.0.0-beta.5 → 4.0.0-beta.7
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/README.md +104 -135
- package/dist/{chunk-ECHYKJH7.js → chunk-4FQYR45W.js} +1 -1
- package/dist/{chunk-QL4IGMBA.cjs → chunk-4GJZ2ZLW.cjs} +1 -1
- package/dist/{chunk-E5O6PMVH.js → chunk-4HZPXR7X.js} +1 -1
- package/dist/{chunk-QSMSSIUT.cjs → chunk-4WQL3ZTO.cjs} +1 -1
- package/dist/chunk-7CFH56RU.cjs +1 -0
- package/dist/{chunk-CBNRPNRS.js → chunk-A6TBTEWF.js} +1 -1
- package/dist/{chunk-D4AI5IYE.js → chunk-BHRXDI63.js} +1 -1
- package/dist/{chunk-PYVMLLU5.js → chunk-BRNDZIUC.js} +1 -1
- package/dist/{chunk-S6WEQSIU.js → chunk-EKG2X3MN.js} +1 -1
- package/dist/{chunk-RQMFXI3O.cjs → chunk-GTBPUBFS.cjs} +1 -1
- package/dist/{chunk-UBCZQXWY.cjs → chunk-H2LNYLBX.cjs} +1 -1
- package/dist/{chunk-PLYG3TJ2.cjs → chunk-IIIWSVPH.cjs} +1 -1
- package/dist/chunk-J2JAXO5R.js +1 -0
- package/dist/{chunk-2DEQM62J.js → chunk-JRHJOVUU.js} +1 -1
- package/dist/{chunk-E4ANWOEZ.js → chunk-KXC7HPAF.js} +1 -1
- package/dist/chunk-M2IEYEJN.js +1 -0
- package/dist/{chunk-TUARLMM5.cjs → chunk-MNYGG5Q6.cjs} +1 -1
- package/dist/{chunk-MPVMSKKW.cjs → chunk-NHYRXJBQ.cjs} +1 -1
- package/dist/{chunk-FRNXD2AW.cjs → chunk-PJBHK2JS.cjs} +1 -1
- package/dist/{chunk-MSJEU4C7.js → chunk-S5FCGQ5H.js} +1 -1
- package/dist/{chunk-BRI23OOF.cjs → chunk-SQP43YNS.cjs} +1 -1
- package/dist/{chunk-RI4OVOPG.cjs → chunk-UNS2UDDU.cjs} +1 -1
- package/dist/{chunk-ZEWTQZCV.js → chunk-WODE7YTP.js} +1 -1
- package/dist/{chunk-GKDLSPC7.js → chunk-XMG5NCDV.js} +1 -1
- package/dist/{chunk-LMLFSOTT.cjs → chunk-XYS5GEY2.cjs} +1 -1
- package/dist/chunk-YB6BIIMR.cjs +1 -0
- package/dist/components/CrossmintNFTCollectionView.cjs +1 -1
- package/dist/components/CrossmintNFTCollectionView.js +1 -1
- package/dist/components/CrossmintNFTDetail.cjs +1 -1
- package/dist/components/CrossmintNFTDetail.js +1 -1
- package/dist/components/auth/AuthForm.cjs +1 -1
- package/dist/components/auth/AuthForm.js +1 -1
- package/dist/components/auth/AuthFormDialog.cjs +1 -1
- package/dist/components/auth/AuthFormDialog.js +1 -1
- package/dist/components/auth/EmbeddedAuthForm.cjs +1 -1
- package/dist/components/auth/EmbeddedAuthForm.js +1 -1
- package/dist/components/auth/methods/email/EmailAuthFlow.cjs +1 -1
- package/dist/components/auth/methods/email/EmailAuthFlow.js +1 -1
- package/dist/components/auth/methods/email/EmailOTPInput.cjs +1 -1
- package/dist/components/auth/methods/email/EmailOTPInput.js +1 -1
- package/dist/components/auth/methods/email/EmailSignIn.cjs +1 -1
- package/dist/components/auth/methods/email/EmailSignIn.js +1 -1
- package/dist/components/auth/methods/google/ContinueWithGoogle.cjs +1 -1
- package/dist/components/auth/methods/google/ContinueWithGoogle.js +1 -1
- package/dist/components/auth/methods/google/GoogleSignIn.cjs +1 -1
- package/dist/components/auth/methods/google/GoogleSignIn.js +1 -1
- package/dist/components/auth/methods/twitter/TwitterSignIn.cjs +1 -1
- package/dist/components/auth/methods/twitter/TwitterSignIn.js +1 -1
- package/dist/components/card-management/CrossmintPaymentMethodManagement.cjs +1 -1
- package/dist/components/card-management/CrossmintPaymentMethodManagement.js +1 -1
- package/dist/components/card-management/CrossmintPaymentMethodManagementIFrame.cjs +1 -1
- package/dist/components/card-management/CrossmintPaymentMethodManagementIFrame.js +1 -1
- package/dist/components/card-management/index.cjs +1 -1
- package/dist/components/card-management/index.js +1 -1
- package/dist/components/embed/index.cjs +1 -1
- package/dist/components/embed/index.js +1 -1
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +1 -1
- package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -1
- package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +1 -1
- package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +1 -1
- package/dist/components/embed/v3/index.cjs +1 -1
- package/dist/components/embed/v3/index.js +1 -1
- package/dist/components/hosted/index.cjs +1 -1
- package/dist/components/hosted/index.js +1 -1
- package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.cjs +1 -1
- package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.js +1 -1
- package/dist/components/hosted/v3/index.cjs +1 -1
- package/dist/components/hosted/v3/index.js +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/wallets/ExportPrivateKeyButton.cjs +1 -1
- package/dist/components/wallets/ExportPrivateKeyButton.js +1 -1
- package/dist/components/wallets/index.cjs +1 -1
- package/dist/components/wallets/index.js +1 -1
- package/dist/consts/version.cjs +1 -1
- package/dist/consts/version.js +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useAuth.cjs +1 -1
- package/dist/hooks/useAuth.js +1 -1
- package/dist/hooks/useCrossmintCheckout.cjs +1 -1
- package/dist/hooks/useCrossmintCheckout.js +1 -1
- package/dist/hooks/useOAuthWindowListener.cjs +1 -1
- package/dist/hooks/useOAuthWindowListener.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/providers/CrossmintAuthProvider.cjs +1 -1
- package/dist/providers/CrossmintAuthProvider.js +1 -1
- package/dist/providers/CrossmintProvider.cjs +1 -1
- package/dist/providers/CrossmintProvider.js +1 -1
- package/dist/providers/CrossmintWalletProvider.cjs +1 -1
- package/dist/providers/CrossmintWalletProvider.d.cts +3 -1
- package/dist/providers/CrossmintWalletProvider.d.ts +3 -1
- package/dist/providers/CrossmintWalletProvider.js +1 -1
- package/dist/providers/auth/OAuthFlowProvider.cjs +1 -1
- package/dist/providers/auth/OAuthFlowProvider.js +1 -1
- package/dist/providers/index.cjs +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/utils/createCrossmintApiClient.cjs +1 -1
- package/dist/utils/createCrossmintApiClient.js +1 -1
- package/package.json +3 -3
- package/dist/chunk-QAHBZULG.js +0 -1
- package/dist/chunk-R42SMTOC.cjs +0 -1
- package/dist/chunk-TICKBIF6.cjs +0 -1
- package/dist/chunk-WSSZ3FJH.js +0 -1
package/README.md
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
# Crossmint React SDK
|
|
2
2
|
|
|
3
|
+
React SDK for integrating [Crossmint Wallets](https://docs.crossmint.com) into your application. Provides providers, hooks, and built-in UI for wallet creation, signing, OTP verification, and passkey flows.
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
> Supports Solana, 20+ EVM chains (Polygon, Base, etc.), with custodial and non-custodial options.
|
|
5
|
+
## Prerequisites
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Get a **client** API key from the [Crossmint developer console](https://docs.crossmint.com/introduction/platform/api-keys). Ensure your key has the **Wallet API** scopes enabled.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
8
10
|
|
|
9
11
|
```bash
|
|
12
|
+
npm install @crossmint/client-sdk-react-ui
|
|
13
|
+
# or
|
|
10
14
|
pnpm add @crossmint/client-sdk-react-ui
|
|
15
|
+
# or
|
|
16
|
+
yarn add @crossmint/client-sdk-react-ui
|
|
11
17
|
```
|
|
12
18
|
|
|
19
|
+
## Quick Start
|
|
13
20
|
|
|
14
21
|
### 1. Setup Providers
|
|
15
22
|
|
|
16
|
-
**
|
|
23
|
+
**With Crossmint Authentication (Recommended for quickstarts only)**
|
|
17
24
|
|
|
18
25
|
```tsx
|
|
19
26
|
"use client";
|
|
@@ -21,17 +28,17 @@ pnpm add @crossmint/client-sdk-react-ui
|
|
|
21
28
|
import {
|
|
22
29
|
CrossmintProvider,
|
|
23
30
|
CrossmintAuthProvider,
|
|
24
|
-
CrossmintWalletProvider
|
|
31
|
+
CrossmintWalletProvider,
|
|
25
32
|
} from "@crossmint/client-sdk-react-ui";
|
|
26
33
|
|
|
27
34
|
export default function App({ children }) {
|
|
28
35
|
return (
|
|
29
36
|
<CrossmintProvider apiKey={process.env.NEXT_PUBLIC_CROSSMINT_API_KEY}>
|
|
30
|
-
<CrossmintAuthProvider
|
|
37
|
+
<CrossmintAuthProvider>
|
|
31
38
|
<CrossmintWalletProvider
|
|
32
|
-
createOnLogin={{
|
|
33
|
-
chain: "
|
|
34
|
-
|
|
39
|
+
createOnLogin={{
|
|
40
|
+
chain: "base-sepolia",
|
|
41
|
+
recovery: { type: "email" },
|
|
35
42
|
}}
|
|
36
43
|
>
|
|
37
44
|
{children}
|
|
@@ -42,32 +49,30 @@ export default function App({ children }) {
|
|
|
42
49
|
}
|
|
43
50
|
```
|
|
44
51
|
|
|
45
|
-
**
|
|
46
|
-
|
|
47
|
-
Already have authentication? Skip Crossmint Auth and use wallets with your existing system:
|
|
52
|
+
**Bring Your Own Authentication**
|
|
48
53
|
|
|
49
|
-
|
|
54
|
+
Already have authentication? Skip `CrossmintAuthProvider` and use wallets with your existing auth system. See the [Custom Auth Guide](https://docs.crossmint.com/wallets/advanced/bring-your-own-auth) for full details.
|
|
50
55
|
|
|
51
56
|
```tsx
|
|
52
57
|
"use client";
|
|
53
58
|
|
|
54
59
|
import {
|
|
55
60
|
CrossmintProvider,
|
|
56
|
-
CrossmintWalletProvider
|
|
61
|
+
CrossmintWalletProvider,
|
|
57
62
|
} from "@crossmint/client-sdk-react-ui";
|
|
58
63
|
|
|
59
64
|
export default function App({ children }) {
|
|
60
65
|
return (
|
|
61
66
|
<CrossmintProvider apiKey={process.env.NEXT_PUBLIC_CROSSMINT_API_KEY}>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
<CrossmintWalletProvider
|
|
68
|
+
createOnLogin={{
|
|
69
|
+
chain: "base-sepolia",
|
|
70
|
+
recovery: {
|
|
71
|
+
type: "email",
|
|
72
|
+
email: "user@example.com",
|
|
73
|
+
},
|
|
74
|
+
}}
|
|
75
|
+
>
|
|
71
76
|
{children}
|
|
72
77
|
</CrossmintWalletProvider>
|
|
73
78
|
</CrossmintProvider>
|
|
@@ -75,158 +80,122 @@ export default function App({ children }) {
|
|
|
75
80
|
}
|
|
76
81
|
```
|
|
77
82
|
|
|
78
|
-
### 2. Use
|
|
83
|
+
### 2. Use Wallets
|
|
79
84
|
|
|
80
85
|
```tsx
|
|
81
|
-
import {
|
|
82
|
-
|
|
83
|
-
export default function MyComponent() {
|
|
84
|
-
const { login, logout, user, status } = useAuth();
|
|
85
|
-
const { wallet, status: walletStatus } = useWallet();
|
|
86
|
-
|
|
87
|
-
if (status === "logged-out") {
|
|
88
|
-
return <button onClick={login}>Sign In</button>;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if (walletStatus === "loaded") {
|
|
92
|
-
return (
|
|
93
|
-
<div>
|
|
94
|
-
<p>Welcome {user?.email}!</p>
|
|
95
|
-
<p>Wallet: {wallet?.address}</p>
|
|
96
|
-
<button onClick={() => wallet?.send(recipient, "usdc", "1.0")}>
|
|
97
|
-
Send 1 USDC
|
|
98
|
-
</button>
|
|
99
|
-
<button onClick={logout}>Logout</button>
|
|
100
|
-
</div>
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
return <div>Loading wallet...</div>;
|
|
105
|
-
}
|
|
106
|
-
```
|
|
86
|
+
import { useWallet } from "@crossmint/client-sdk-react-ui";
|
|
107
87
|
|
|
108
|
-
|
|
88
|
+
function WalletActions() {
|
|
89
|
+
const { wallet, status } = useWallet();
|
|
109
90
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
- **Social Accounts**: Google, Twitter/X, Farcaster
|
|
113
|
-
- **Web3 Wallets**: Connect external wallets for authentication
|
|
114
|
-
- **Custom UI**: Headed or headless authentication flows
|
|
91
|
+
if (status === "in-progress") return <p>Loading wallet...</p>;
|
|
92
|
+
if (!wallet) return <p>No wallet</p>;
|
|
115
93
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
accent: "#6366f1"
|
|
129
|
-
}
|
|
130
|
-
}}
|
|
131
|
-
>
|
|
94
|
+
const handleSend = async () => {
|
|
95
|
+
const tx = await wallet.send("0xRecipient", "usdc", "10");
|
|
96
|
+
console.log("Transaction:", tx.explorerLink);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
return (
|
|
100
|
+
<div>
|
|
101
|
+
<p>Wallet: {wallet.address}</p>
|
|
102
|
+
<button onClick={handleSend}>Send 10 USDC</button>
|
|
103
|
+
</div>
|
|
104
|
+
);
|
|
105
|
+
}
|
|
132
106
|
```
|
|
133
107
|
|
|
134
|
-
##
|
|
108
|
+
## Providers
|
|
109
|
+
|
|
110
|
+
| Provider | Purpose |
|
|
111
|
+
|---|---|
|
|
112
|
+
| `CrossmintProvider` | Root provider. Required for all Crossmint features. |
|
|
113
|
+
| `CrossmintAuthProvider` | Authentication (email OTP, Google, Twitter/X). Optional if using your own auth. |
|
|
114
|
+
| `CrossmintWalletProvider` | Wallet creation, device signer management, and built-in OTP/passkey UI. |
|
|
135
115
|
|
|
136
|
-
###
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
- **Unified API**: Same code works across all chains
|
|
116
|
+
### `createOnLogin` Configuration
|
|
117
|
+
|
|
118
|
+
When `createOnLogin` is set on `CrossmintWalletProvider`, a wallet is automatically created when the user logs in:
|
|
140
119
|
|
|
141
|
-
### Wallet Creation Options
|
|
142
120
|
```tsx
|
|
143
121
|
<CrossmintWalletProvider
|
|
144
122
|
createOnLogin={{
|
|
145
|
-
chain: "
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
}
|
|
123
|
+
chain: "base-sepolia", // required — the blockchain
|
|
124
|
+
recovery: { type: "email" }, // required — recovery signer config
|
|
125
|
+
signers: [{ type: "device" }], // optional — defaults to device signer
|
|
149
126
|
}}
|
|
150
127
|
>
|
|
151
128
|
```
|
|
152
129
|
|
|
153
|
-
|
|
154
|
-
```tsx
|
|
155
|
-
const { wallet, getOrCreateWallet } = useWallet();
|
|
130
|
+
## Hooks
|
|
156
131
|
|
|
157
|
-
|
|
158
|
-
const address = wallet?.address;
|
|
159
|
-
const balance = await wallet?.balances();
|
|
132
|
+
### `useWallet()`
|
|
160
133
|
|
|
161
|
-
|
|
162
|
-
const tx = await wallet?.send(recipient, "usdc", "10.5");
|
|
163
|
-
console.log("Transaction:", tx.explorerLink);
|
|
134
|
+
Returns the wallet instance and management functions:
|
|
164
135
|
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
})
|
|
136
|
+
```tsx
|
|
137
|
+
const {
|
|
138
|
+
wallet, // Wallet | undefined
|
|
139
|
+
status, // "not-loaded" | "in-progress" | "loaded" | "error"
|
|
140
|
+
getWallet, // (props: { chain, alias? }) => Promise<Wallet | undefined>
|
|
141
|
+
createWallet, // (props: ClientSideWalletCreateArgs) => Promise<Wallet | undefined>
|
|
142
|
+
createDeviceSigner, // () => Promise<DeviceSignerDescriptor> | undefined
|
|
143
|
+
createPasskeySigner, // (name: string) => Promise<RegisterSignerPasskeyParams>
|
|
144
|
+
} = useWallet();
|
|
170
145
|
```
|
|
171
146
|
|
|
172
|
-
|
|
147
|
+
### `useWalletOtpSigner()`
|
|
173
148
|
|
|
174
|
-
|
|
149
|
+
For custom OTP UI when using email/phone recovery signers:
|
|
175
150
|
|
|
176
151
|
```tsx
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
152
|
+
const { needsAuth, sendOtp, verifyOtp, reject } = useWalletOtpSigner();
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### `useAuth()`
|
|
181
156
|
|
|
182
|
-
|
|
183
|
-
<CrossmintNFTCollectionView {...props} />
|
|
157
|
+
Authentication state and login methods:
|
|
184
158
|
|
|
185
|
-
|
|
186
|
-
|
|
159
|
+
```tsx
|
|
160
|
+
const { login, logout, user, status } = useAuth();
|
|
187
161
|
```
|
|
188
162
|
|
|
189
|
-
##
|
|
163
|
+
## Components
|
|
190
164
|
|
|
191
|
-
|
|
165
|
+
### `ExportPrivateKeyButton`
|
|
192
166
|
|
|
167
|
+
Renders a button to export the wallet's private key via TEE. Only renders for email/phone signers.
|
|
193
168
|
|
|
194
|
-
```
|
|
195
|
-
|
|
169
|
+
```tsx
|
|
170
|
+
import { ExportPrivateKeyButton } from "@crossmint/client-sdk-react-ui";
|
|
171
|
+
|
|
172
|
+
<ExportPrivateKeyButton appearance={{ borderRadius: "12px" }} />
|
|
196
173
|
```
|
|
197
174
|
|
|
198
|
-
##
|
|
175
|
+
## React Native
|
|
199
176
|
|
|
200
|
-
|
|
177
|
+
For React Native apps, see [`@crossmint/client-sdk-react-native-ui`](https://www.npmjs.com/package/@crossmint/client-sdk-react-native-ui).
|
|
201
178
|
|
|
202
|
-
|
|
203
|
-
```bash
|
|
204
|
-
NEXT_PUBLIC_CROSSMINT_API_KEY=your_api_key_here
|
|
205
|
-
```
|
|
179
|
+
## Wallets SDK
|
|
206
180
|
|
|
207
|
-
|
|
181
|
+
The `wallet` object returned by `useWallet()` is a [`Wallet`](https://www.npmjs.com/package/@crossmint/wallets-sdk) instance. For wallet method documentation (send, balances, sign, etc.), see the [`@crossmint/wallets-sdk` README](https://www.npmjs.com/package/@crossmint/wallets-sdk).
|
|
208
182
|
|
|
209
|
-
|
|
210
|
-
Source JSDoc → TypeDoc → api.json ─┐
|
|
211
|
-
├→ generate-reference.mjs → MDX pages (docs/<product>/)
|
|
212
|
-
examples.json ─┘
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
Run with `pnpm generate:docs` or `node scripts/generate-reference.mjs --product wallets`.
|
|
183
|
+
## Documentation
|
|
216
184
|
|
|
217
|
-
|
|
185
|
+
- [Crossmint Wallets Docs](https://docs.crossmint.com)
|
|
186
|
+
- [SDK Reference](https://docs.crossmint.com/sdk-reference/wallets/react)
|
|
187
|
+
- [Custom Auth Guide](https://docs.crossmint.com/wallets/advanced/bring-your-own-auth)
|
|
218
188
|
|
|
219
|
-
|
|
220
|
-
- **Adding a new product** only requires a new entry in the `PRODUCTS` config at the top of `generate-reference.mjs`. No other script changes needed.
|
|
221
|
-
- **Exports are auto-classified** by naming convention: `*Provider` → providers page, `use*` → hooks page, everything else → components page.
|
|
222
|
-
- **`examples.json`** holds all code snippets, keyed by export name (e.g. `"CrossmintProvider"`, `"useWallet"`). The script validates that every export has a matching example.
|
|
223
|
-
- **`MANUAL_RETURNS` / `EXPANDABLE_CHILDREN`** are escape hatches for cross-package types that TypeDoc can't resolve (e.g. wallet args, hook return types). If a new hook's return type shows as `unknown`, you likely need to add an entry here.
|
|
224
|
-
- **`skipErrorChecking: true`** in the TypeDoc config is intentional — React packages have peer deps that break type resolution without it.
|
|
189
|
+
## SDK Reference Docs Generation
|
|
225
190
|
|
|
226
|
-
|
|
191
|
+
```
|
|
192
|
+
Source JSDoc -> TypeDoc -> api.json -+
|
|
193
|
+
+-> generate-reference.mjs -> MDX pages (docs/<product>/)
|
|
194
|
+
examples.json -+
|
|
195
|
+
```
|
|
227
196
|
|
|
228
|
-
|
|
197
|
+
Run with `pnpm generate:docs` or `node scripts/generate-reference.mjs --product wallets`.
|
|
229
198
|
|
|
230
|
-
|
|
199
|
+
## License
|
|
231
200
|
|
|
232
|
-
|
|
201
|
+
Apache-2.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
1
|
+
import{a as e}from"./chunk-M2IEYEJN.js";import{assertValidNFTCollectionViewProps as r,getNFTCollectionViewSrc as t}from"@crossmint/client-sdk-base";import{jsx as n}from"react/jsx-runtime";function w(o){r(o);let i=t(o,e);return n("iframe",{src:i,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}export{w as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMNYGG5Q6cjs = require('./chunk-MNYGG5Q6.cjs');var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _jsxruntime = require('react/jsx-runtime');var s=_react.createContext.call(void 0, void 0);function O({children:e}){let[r,d]=_react.useState.call(void 0, void 0),[c,u]=_react.useState.call(void 0, void 0),{crossmint:C}=_clientsdkreactbase.useCrossmint.call(void 0, ),m=_chunkMNYGG5Q6cjs.a.call(void 0, C,{usageOrigin:"client"});return _react.useEffect.call(void 0, ()=>{let n=t=>{if(t.origin!==new URL(m.baseUrl).origin||t.data.event!=="order:updated")return;let{order:a,orderClientSecret:f}=t.data.data;d(a),u(f)};return window.addEventListener("message",n),()=>{window.removeEventListener("message",n)}},[r]),_jsxruntime.jsx.call(void 0, s.Provider,{value:{order:r,orderClientSecret:c},children:e})}function b(){let e=_react.useContext.call(void 0, s);if(!e)throw new Error("useCrossmintCheckout must be used within a CrossmintCheckoutProvider");return e}exports.a = O; exports.b = b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
1
|
+
import{a as o}from"./chunk-S5FCGQ5H.js";import{a as e}from"./chunk-PXDN3KFO.js";import{jsx as t}from"react/jsx-runtime";function i(d){return t(o,e({},d))}export{i as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk7CFH56RUcjs = require('./chunk-7CFH56RU.cjs');var _clientsdkbase = require('@crossmint/client-sdk-base');var _jsxruntime = require('react/jsx-runtime');function m(o){_clientsdkbase.assertValidNFTCollectionViewProps.call(void 0, o);let i=_clientsdkbase.getNFTCollectionViewSrc.call(void 0, o,_chunk7CFH56RUcjs.a);return _jsxruntime.jsx.call(void 0, "iframe",{src:i,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}exports.a = m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXYS5GEY2cjs = require('./chunk-XYS5GEY2.cjs');var e=_chunkXYS5GEY2cjs.a;exports.a = e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as r}from"./chunk-
|
|
1
|
+
import{b as r}from"./chunk-BRNDZIUC.js";import{a as s,c as n}from"./chunk-PXDN3KFO.js";import{CrossmintProvider as C,initReactLogger as d,createLoggerContext as c}from"@crossmint/client-sdk-react-base";import{useMemo as p}from"react";import{jsx as i}from"react/jsx-runtime";var v=c();function u(a){var t=a,{apiKey:o,consoleLogLevel:e}=t,m=n(t,["apiKey","consoleLogLevel"]);let g=p(()=>d(o,r.name,r.version,e),[o,e]);return i(v.Provider,{value:g,children:i(C,s({apiKey:o},m))})}export{v as a,u as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as t}from"./chunk-
|
|
1
|
+
import{a as t}from"./chunk-M2IEYEJN.js";import{assertValidValidateNFTDetailProps as e,getNFTDetailSrc as i}from"@crossmint/client-sdk-base";import{jsx as s}from"react/jsx-runtime";function d(r){e(r);let o=i(r,t);return s("iframe",{src:o,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}export{d as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t="4.0.0-beta.
|
|
1
|
+
var t="4.0.0-beta.7";var c={name:"@crossmint/client-sdk-react-ui",version:t,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=16384' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=16384' tsup --watch","test:vitest":"vitest run","generate:docs":"typedoc && node scripts/generate-reference.mjs"},dependencies:{"@basis-theory/react-agentic":"1.0.2","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@dynamic-labs/ethereum":"4.28.0","@dynamic-labs/sdk-react-core":"4.28.0","@dynamic-labs/solana":"4.28.0","@dynamic-labs/sui":"4.28.0","@emotion/react":"^11.11.0","@emotion/styled":"11.14.1","@ethersproject/transactions":"5.7.0","@mysten/sui":"1.24.0","@solana/web3.js":"1.98.1",bs58:"5.0.0",clsx:"2.1.1",color:"4.2.3","input-otp":"1.4.2","lodash.isequal":"4.5.0",ox:"0.6.9","react-jss":"10.10.0","react-transition-group":"4.4.5",viem:"2.33.1",zod:"3.22.4"},devDependencies:{"@testing-library/react":"^16.0.1","@types/color":"4.2.0","@types/lodash.isequal":"4.5.6","@types/react":"^19.1.10","@types/react-dom":"^19.1.0","@types/react-transition-group":"4.4.12","pino-pretty":"^7.6.0",react:"^19.1.0","react-dom":"^19.1.0",typedoc:"0.28.16"},peerDependencies:{"@solana/web3.js":"^1.98.1",react:">=17.0.2","react-dom":">=17.0.2"}};export{t as a,c as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as n}from"./chunk-
|
|
1
|
+
import{a as n}from"./chunk-M2IEYEJN.js";import{CrossmintApiClient as e}from"@crossmint/common-sdk-base";function m(t,i){return new e(t,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-ui",version:n},apiKeyExpectations:i}})}export{m as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _chunkTRJUDJBNcjs = require('./chunk-TRJUDJBN.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _chunkTRJUDJBNcjs = require('./chunk-TRJUDJBN.cjs');var _chunkMNYGG5Q6cjs = require('./chunk-MNYGG5Q6.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _react = require('react');var _clientsdkbase = require('@crossmint/client-sdk-base');var _jsxruntime = require('react/jsx-runtime');var w=_react.lazy.call(void 0, ()=>Promise.resolve().then(() => _interopRequireWildcard(require("./components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs"))).then(t=>({default:t.CryptoWalletConnectionHandler})));function K(t){var l;let[e,C]=_react.useState.call(void 0, null),[b,P]=_react.useState.call(void 0, 0),[g,k]=_react.useState.call(void 0, !1),E=_react.useRef.call(void 0, (l=t.payment.crypto.payer)==null?void 0:l.initialChain),n=_react.useRef.call(void 0, t);if(x(t,n.current)){let r=_chunk2WSEHVNPcjs.a.call(void 0, {},t),p=H(t,E.current);p.shouldPreserve&&(r.payment.crypto.payer=p.updatedPayer),n.current=r}let{crossmint:v}=_clientsdkreactbase.useCrossmint.call(void 0, ),m=_chunkMNYGG5Q6cjs.a.call(void 0, v,{usageOrigin:"client"}),u=_clientsdkbase.crossmintEmbeddedCheckoutV3Service.call(void 0, {apiClient:m}),i=_react.useRef.call(void 0, null);return _react.useEffect.call(void 0, ()=>{let r=i.current;!r||e||C(u.iframe.createClient(r))},[i.current,e]),_react.useEffect.call(void 0, ()=>{if(e!=null)return e.on("ui:height.changed",r=>P(r.height)),()=>{e.off("ui:height.changed")}},[e]),_react.useEffect.call(void 0, ()=>{if(e==null)return;let r=e.on("crypto:load",()=>{k(!0),e.send("crypto:load.success",{})});return()=>{e.off(r)}},[e]),_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "iframe",{ref:i,src:u.iframe.getUrl(n.current),id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *; microphone; camera",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${b}px`,backgroundColor:"transparent"}}),g||n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?_jsxruntime.jsx.call(void 0, _chunkTRJUDJBNcjs.a,{payer:n.current.payment.crypto.payer,iframeClient:e}):_jsxruntime.jsx.call(void 0, w,{iframeClient:e,apiKeyEnvironment:m.parsedAPIKey.environment}):null,_jsxruntime.jsx.call(void 0, "span",{id:"crossmint-focus-target",tabIndex:-1})]})}function x(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function H(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}exports.a = K;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk7CFH56RUcjs = require('./chunk-7CFH56RU.cjs');var _clientsdkbase = require('@crossmint/client-sdk-base');var _jsxruntime = require('react/jsx-runtime');function n(r){_clientsdkbase.assertValidValidateNFTDetailProps.call(void 0, r);let o=_clientsdkbase.getNFTDetailSrc.call(void 0, r,_chunk7CFH56RUcjs.a);return _jsxruntime.jsx.call(void 0, "iframe",{src:o,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}exports.a = n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkUNS2UDDUcjs = require('./chunk-UNS2UDDU.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _jsxruntime = require('react/jsx-runtime');function r(n){return _jsxruntime.jsx.call(void 0, _chunkUNS2UDDUcjs.a,_chunk2WSEHVNPcjs.a.call(void 0, {},n))}exports.a = r;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./chunk-ETAEFFCS.js";import{a as l}from"./chunk-HHJC55PV.js";import{a as c}from"./chunk-DX2X3VXF.js";import{a as t}from"./chunk-PXDN3KFO.js";import{useEffect as g,useMemo as P}from"react";import{CrossmintWalletBaseProvider as f,useCrossmint as C}from"@crossmint/client-sdk-react-base";import{IframeDeviceSignerKeyStorage as u}from"@crossmint/wallets-sdk";import{Fragment as y,jsx as i,jsxs as S}from"react/jsx-runtime";function v(e){return({emailSignerProps:n,phoneSignerProps:r,passkeyPromptProps:o})=>S(y,{children:[e&&i(m,t({},n)),e&&i(l,t({},r)),o!=null&&i(c,t({},o))]})}function w({children:e,showPasskeyHelpers:n=!0,showOtpSignerPrompt:r=!0,appearance:o,createOnLogin:p,callbacks:d}){let{crossmint:a}=C("CrossmintWalletProvider must be used within CrossmintProvider"),s=P(()=>new u(a.apiKey),[a.apiKey]);return g(()=>()=>s.destroy(),[s]),i(f,{createOnLogin:p,appearance:o,showPasskeyHelpers:n,showOtpSignerPrompt:r,callbacks:d,renderUI:v(r),deviceSignerKeyStorage:s,children:e})}export{w as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as o}from"./chunk-
|
|
1
|
+
import{a as o}from"./chunk-EKG2X3MN.js";import{createContext as p,useContext as h,useEffect as l,useState as i}from"react";import{useCrossmint as g}from"@crossmint/client-sdk-react-base";import{jsx as k}from"react/jsx-runtime";var s=p(void 0);function b({children:e}){let[r,d]=i(void 0),[c,u]=i(void 0),{crossmint:C}=g(),m=o(C,{usageOrigin:"client"});return l(()=>{let n=t=>{if(t.origin!==new URL(m.baseUrl).origin||t.data.event!=="order:updated")return;let{order:a,orderClientSecret:f}=t.data.data;d(a),u(f)};return window.addEventListener("message",n),()=>{window.removeEventListener("message",n)}},[r]),k(s.Provider,{value:{order:r,orderClientSecret:c},children:e})}function S(){let e=h(s);if(!e)throw new Error("useCrossmintCheckout must be used within a CrossmintCheckoutProvider");return e}export{b as a,S as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as i}from"./chunk-
|
|
1
|
+
import{a as i}from"./chunk-EKG2X3MN.js";import{createPaymentMethodManagementService as g}from"@crossmint/client-sdk-base";import{useCrossmint as u}from"@crossmint/client-sdk-react-base";import{useEffect as o,useRef as y,useState as c}from"react";import{jsx as M}from"react/jsx-runtime";function I(n){let[e,s]=c(null),[l,d]=c(0),m=y(null),{crossmint:f}=u(),h=i(f,{usageOrigin:"client"}),r=g({apiClient:h});return o(()=>{let t=m.current;!t||e||s(r.iframe.createClient(t))},[m.current,e]),o(()=>{if(e!=null)return e.on("ui:height.changed",t=>d(t.height)),e.on("payment-method:selected",t=>{var a;return(a=n.onPaymentMethodSelected)==null?void 0:a.call(n,t)}),e.on("agentic-enrollment:created",t=>{var a;return(a=n.onAgenticEnrollmentCreated)==null?void 0:a.call(n,t.agenticEnrollment,t.verificationConfig)}),()=>{e.off("ui:height.changed"),e.off("payment-method:selected"),e.off("agentic-enrollment:created")}},[e]),M("iframe",{ref:m,src:r.iframe.getUrl(n),id:"crossmint-payment-method-management.iframe",role:"crossmint-payment-method-management.iframe",allow:"payment *; microphone; camera",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${l}px`,backgroundColor:"transparent"}})}export{I as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as o}from"./chunk-BRNDZIUC.js";var i=o;export{i as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk7CFH56RUcjs = require('./chunk-7CFH56RU.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');function C(t,i){return new (0, _commonsdkbase.CrossmintApiClient)(t,{internalConfig:{sdkMetadata:{name:"@crossmint/client-sdk-react-ui",version:_chunk7CFH56RUcjs.a},apiKeyExpectations:i}})}exports.a = C;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk56YL3XJWcjs = require('./chunk-56YL3XJW.cjs');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk56YL3XJWcjs = require('./chunk-56YL3XJW.cjs');var _chunkMNYGG5Q6cjs = require('./chunk-MNYGG5Q6.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _clientsdkbase = require('@crossmint/client-sdk-base');var _clsx = require('clsx'); var _clsx2 = _interopRequireDefault(_clsx);var _jsxruntime = require('react/jsx-runtime');function M(e){if(_clientsdkbase.isHostedCheckoutV3ExistingOrderProps.call(void 0, e)){let t=e,{orderId:c,clientSecret:s,locale:y,payment:S,appearance:g,onClick:E,className:I,children:v}=t,x=_chunk2WSEHVNPcjs.c.call(void 0, t,["orderId","clientSecret","locale","payment","appearance","onClick","className","children"]);return{customProps:{orderId:c,clientSecret:s,locale:y,payment:S,appearance:g},onClick:E,className:I,children:v,restButtonProps:x}}let i=e,{lineItems:p,payment:m,recipient:u,locale:l,appearance:n,metadata:r,onClick:C,className:o,children:a}=i,d=_chunk2WSEHVNPcjs.c.call(void 0, i,["lineItems","payment","recipient","locale","appearance","metadata","onClick","className","children"]);return{customProps:{lineItems:p,payment:m,recipient:u,locale:l,appearance:n,metadata:r},onClick:C,className:o,children:a,restButtonProps:d}}function q(e){let[p,m]=_react.useState.call(void 0, !1),{crossmint:u}=_clientsdkreactbase.useCrossmint.call(void 0, ),l=_chunkMNYGG5Q6cjs.a.call(void 0, u),{customProps:n,onClick:r,className:C,children:o,restButtonProps:a}=M(e),d=_clientsdkbase.crossmintHostedCheckoutV3Service.call(void 0, {apiClient:l,hostedCheckoutProps:n}),t=_clientsdkbase.crossmintHostedCheckoutV3StylesService.call(void 0, n);function i(s){s.preventDefault(),s.stopPropagation(),d.createWindow(),r&&r(s)}let c=t.generateCss();return _react.useEffect.call(void 0, ()=>{let{cleanup:s}=t.injectCss(c);return m(!0),s},[c]),p?_jsxruntime.jsxs.call(void 0, "button",_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {onClick:i,className:_clsx2.default.call(void 0, t.identifiers.buttonClassNames,C)},a),{children:[_jsxruntime.jsx.call(void 0, _chunk56YL3XJWcjs.a,{style:{marginRight:"12px",flex:"none"},displayType:"icon-only",id:t.identifiers.logoId,height:16,width:16}),o!=null?o:_jsxruntime.jsx.call(void 0, "p",{style:{margin:0},children:t.getButtonText()})]})):null}exports.a = q;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXYS5GEY2cjs = require('./chunk-XYS5GEY2.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var v=_clientsdkreactbase.createLoggerContext.call(void 0, );function x(a){var t=a,{apiKey:o,consoleLogLevel:e}=t,m=_chunk2WSEHVNPcjs.c.call(void 0, t,["apiKey","consoleLogLevel"]);let g=_react.useMemo.call(void 0, ()=>_clientsdkreactbase.initReactLogger.call(void 0, o,_chunkXYS5GEY2cjs.b.name,_chunkXYS5GEY2cjs.b.version,e),[o,e]);return _jsxruntime.jsx.call(void 0, v.Provider,{value:g,children:_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintProvider,_chunk2WSEHVNPcjs.a.call(void 0, {apiKey:o},m))})}exports.a = v; exports.b = x;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as h}from"./chunk-6SBTKAH5.js";import{a as f}from"./chunk-
|
|
1
|
+
import{a as h}from"./chunk-6SBTKAH5.js";import{a as f}from"./chunk-EKG2X3MN.js";import{a,b as y}from"./chunk-PXDN3KFO.js";import{useCrossmint as S}from"@crossmint/client-sdk-react-base";import{lazy as V,useEffect as s,useRef as c,useState as d}from"react";import{crossmintEmbeddedCheckoutV3Service as I}from"@crossmint/client-sdk-base";import{Fragment as F,jsx as o,jsxs as L}from"react/jsx-runtime";var w=V(()=>import("./components/embed/v3/crypto/CryptoWalletConnectionHandler.js").then(t=>({default:t.CryptoWalletConnectionHandler})));function N(t){var l;let[e,C]=d(null),[b,P]=d(0),[g,k]=d(!1),E=c((l=t.payment.crypto.payer)==null?void 0:l.initialChain),n=c(t);if(x(t,n.current)){let r=a({},t),p=H(t,E.current);p.shouldPreserve&&(r.payment.crypto.payer=p.updatedPayer),n.current=r}let{crossmint:v}=S(),m=f(v,{usageOrigin:"client"}),u=I({apiClient:m}),i=c(null);return s(()=>{let r=i.current;!r||e||C(u.iframe.createClient(r))},[i.current,e]),s(()=>{if(e!=null)return e.on("ui:height.changed",r=>P(r.height)),()=>{e.off("ui:height.changed")}},[e]),s(()=>{if(e==null)return;let r=e.on("crypto:load",()=>{k(!0),e.send("crypto:load.success",{})});return()=>{e.off(r)}},[e]),L(F,{children:[o("iframe",{ref:i,src:u.iframe.getUrl(n.current),id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *; microphone; camera",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${b}px`,backgroundColor:"transparent"}}),g||n.current.payment.crypto.enabled?n.current.payment.crypto.payer!=null?o(h,{payer:n.current.payment.crypto.payer,iframeClient:e}):o(w,{iframeClient:e,apiKeyEnvironment:m.parsedAPIKey.environment}):null,o("span",{id:"crossmint-focus-target",tabIndex:-1})]})}function x(t,e){return JSON.stringify(t)!==JSON.stringify(e)}function H(t,e){return t.payment.crypto.payer&&e!=null?{shouldPreserve:!0,updatedPayer:y(a({},t.payment.crypto.payer),{initialChain:e})}:{shouldPreserve:!1}}export{N as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkGTBPUBFScjs = require('./chunk-GTBPUBFS.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _jsxruntime = require('react/jsx-runtime');function s(d){return _jsxruntime.jsx.call(void 0, _chunkGTBPUBFScjs.a,_chunk2WSEHVNPcjs.a.call(void 0, {},d))}exports.a = s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMNYGG5Q6cjs = require('./chunk-MNYGG5Q6.cjs');var _clientsdkbase = require('@crossmint/client-sdk-base');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');function b(n){let[e,s]=_react.useState.call(void 0, null),[l,d]=_react.useState.call(void 0, 0),m=_react.useRef.call(void 0, null),{crossmint:f}=_clientsdkreactbase.useCrossmint.call(void 0, ),h=_chunkMNYGG5Q6cjs.a.call(void 0, f,{usageOrigin:"client"}),r=_clientsdkbase.createPaymentMethodManagementService.call(void 0, {apiClient:h});return _react.useEffect.call(void 0, ()=>{let t=m.current;!t||e||s(r.iframe.createClient(t))},[m.current,e]),_react.useEffect.call(void 0, ()=>{if(e!=null)return e.on("ui:height.changed",t=>d(t.height)),e.on("payment-method:selected",t=>{var a;return(a=n.onPaymentMethodSelected)==null?void 0:a.call(n,t)}),e.on("agentic-enrollment:created",t=>{var a;return(a=n.onAgenticEnrollmentCreated)==null?void 0:a.call(n,t.agenticEnrollment,t.verificationConfig)}),()=>{e.off("ui:height.changed"),e.off("payment-method:selected"),e.off("agentic-enrollment:created")}},[e]),_jsxruntime.jsx.call(void 0, "iframe",{ref:m,src:r.iframe.getUrl(n),id:"crossmint-payment-method-management.iframe",role:"crossmint-payment-method-management.iframe",allow:"payment *; microphone; camera",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${l}px`,backgroundColor:"transparent"}})}exports.a = b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as H}from"./chunk-EA7H4AXL.js";import{a as f}from"./chunk-
|
|
1
|
+
import{a as H}from"./chunk-EA7H4AXL.js";import{a as f}from"./chunk-EKG2X3MN.js";import{a as k,b as P,c as h}from"./chunk-PXDN3KFO.js";import{useEffect as b,useState as A}from"react";import{useCrossmint as B}from"@crossmint/client-sdk-react-base";import{crossmintHostedCheckoutV3Service as N,crossmintHostedCheckoutV3StylesService as J,isHostedCheckoutV3ExistingOrderProps as R}from"@crossmint/client-sdk-base";import X from"clsx";import{jsx as V,jsxs as O}from"react/jsx-runtime";function M(e){if(R(e)){let t=e,{orderId:c,clientSecret:s,locale:y,payment:S,appearance:g,onClick:E,className:I,children:v}=t,x=h(t,["orderId","clientSecret","locale","payment","appearance","onClick","className","children"]);return{customProps:{orderId:c,clientSecret:s,locale:y,payment:S,appearance:g},onClick:E,className:I,children:v,restButtonProps:x}}let i=e,{lineItems:p,payment:m,recipient:u,locale:l,appearance:n,metadata:r,onClick:C,className:o,children:a}=i,d=h(i,["lineItems","payment","recipient","locale","appearance","metadata","onClick","className","children"]);return{customProps:{lineItems:p,payment:m,recipient:u,locale:l,appearance:n,metadata:r},onClick:C,className:o,children:a,restButtonProps:d}}function z(e){let[p,m]=A(!1),{crossmint:u}=B(),l=f(u),{customProps:n,onClick:r,className:C,children:o,restButtonProps:a}=M(e),d=N({apiClient:l,hostedCheckoutProps:n}),t=J(n);function i(s){s.preventDefault(),s.stopPropagation(),d.createWindow(),r&&r(s)}let c=t.generateCss();return b(()=>{let{cleanup:s}=t.injectCss(c);return m(!0),s},[c]),p?O("button",P(k({onClick:i,className:X(t.identifiers.buttonClassNames,C)},a),{children:[V(H,{style:{marginRight:"12px",flex:"none"},displayType:"icon-only",id:t.identifiers.logoId,height:16,width:16}),o!=null?o:V("p",{style:{margin:0},children:t.getButtonText()})]})):null}export{z as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./chunk-
|
|
1
|
+
import{a as e}from"./chunk-KXC7HPAF.js";import{a as t}from"./chunk-PXDN3KFO.js";import{jsx as m}from"react/jsx-runtime";function s(n){return m(e,t({},n))}export{s as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var t="4.0.0-beta.
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var t="4.0.0-beta.7";var c={name:"@crossmint/client-sdk-react-ui",version:t,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=16384' tsup",dev:"cross-env NODE_OPTIONS='--max-old-space-size=16384' tsup --watch","test:vitest":"vitest run","generate:docs":"typedoc && node scripts/generate-reference.mjs"},dependencies:{"@basis-theory/react-agentic":"1.0.2","@crossmint/client-sdk-auth":"workspace:*","@crossmint/client-sdk-base":"workspace:*","@crossmint/client-sdk-react-base":"workspace:*","@crossmint/client-sdk-window":"workspace:*","@crossmint/client-signers":"workspace:*","@crossmint/common-sdk-auth":"workspace:*","@crossmint/common-sdk-base":"workspace:*","@crossmint/wallets-sdk":"workspace:*","@dynamic-labs/ethereum":"4.28.0","@dynamic-labs/sdk-react-core":"4.28.0","@dynamic-labs/solana":"4.28.0","@dynamic-labs/sui":"4.28.0","@emotion/react":"^11.11.0","@emotion/styled":"11.14.1","@ethersproject/transactions":"5.7.0","@mysten/sui":"1.24.0","@solana/web3.js":"1.98.1",bs58:"5.0.0",clsx:"2.1.1",color:"4.2.3","input-otp":"1.4.2","lodash.isequal":"4.5.0",ox:"0.6.9","react-jss":"10.10.0","react-transition-group":"4.4.5",viem:"2.33.1",zod:"3.22.4"},devDependencies:{"@testing-library/react":"^16.0.1","@types/color":"4.2.0","@types/lodash.isequal":"4.5.6","@types/react":"^19.1.10","@types/react-dom":"^19.1.0","@types/react-transition-group":"4.4.12","pino-pretty":"^7.6.0",react:"^19.1.0","react-dom":"^19.1.0",typedoc:"0.28.16"},peerDependencies:{"@solana/web3.js":"^1.98.1",react:">=17.0.2","react-dom":">=17.0.2"}};exports.a = t; exports.b = c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkHNV3LB4Acjs = require('./chunk-HNV3LB4A.cjs');var _chunkWOSI63Y5cjs = require('./chunk-WOSI63Y5.cjs');var _chunkFY5C3KSCcjs = require('./chunk-FY5C3KSC.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _react = require('react');var _clientsdkreactbase = require('@crossmint/client-sdk-react-base');var _walletssdk = require('@crossmint/wallets-sdk');var _jsxruntime = require('react/jsx-runtime');function v(e){return({emailSignerProps:n,phoneSignerProps:r,passkeyPromptProps:o})=>_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[e&&_jsxruntime.jsx.call(void 0, _chunkHNV3LB4Acjs.a,_chunk2WSEHVNPcjs.a.call(void 0, {},n)),e&&_jsxruntime.jsx.call(void 0, _chunkWOSI63Y5cjs.a,_chunk2WSEHVNPcjs.a.call(void 0, {},r)),o!=null&&_jsxruntime.jsx.call(void 0, _chunkFY5C3KSCcjs.a,_chunk2WSEHVNPcjs.a.call(void 0, {},o))]})}function R({children:e,showPasskeyHelpers:n=!0,showOtpSignerPrompt:r=!0,appearance:o,createOnLogin:p,callbacks:d}){let{crossmint:a}=_clientsdkreactbase.useCrossmint.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),s=_react.useMemo.call(void 0, ()=>new (0, _walletssdk.IframeDeviceSignerKeyStorage)(a.apiKey),[a.apiKey]);return _react.useEffect.call(void 0, ()=>()=>s.destroy(),[s]),_jsxruntime.jsx.call(void 0, _clientsdkreactbase.CrossmintWalletBaseProvider,{createOnLogin:p,appearance:o,showPasskeyHelpers:n,showOtpSignerPrompt:r,callbacks:d,renderUI:v(r),deviceSignerKeyStorage:s,children:e})}exports.a = R;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4WQL3ZTOcjs = require('../chunk-4WQL3ZTO.cjs');require('../chunk-7CFH56RU.cjs');require('../chunk-XYS5GEY2.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintNFTCollectionView = _chunk4WQL3ZTOcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-4FQYR45W.js";import"../chunk-M2IEYEJN.js";import"../chunk-BRNDZIUC.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintNFTCollectionView};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkH2LNYLBXcjs = require('../chunk-H2LNYLBX.cjs');require('../chunk-7CFH56RU.cjs');require('../chunk-XYS5GEY2.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintNFTDetail = _chunkH2LNYLBXcjs.a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-BHRXDI63.js";import"../chunk-M2IEYEJN.js";import"../chunk-BRNDZIUC.js";import"../chunk-PXDN3KFO.js";export{a as CrossmintNFTDetail};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkX4OZYT2Scjs = require('../../chunk-X4OZYT2S.cjs');require('../../chunk-B6QHHE3H.cjs');require('../../chunk-XBXL7GMY.cjs');require('../../chunk-GTOPYCJZ.cjs');require('../../chunk-MJEEI5UM.cjs');require('../../chunk-P3VXDTFO.cjs');require('../../chunk-UMWTEGO6.cjs');require('../../chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkX4OZYT2Scjs = require('../../chunk-X4OZYT2S.cjs');require('../../chunk-B6QHHE3H.cjs');require('../../chunk-XBXL7GMY.cjs');require('../../chunk-GTOPYCJZ.cjs');require('../../chunk-MJEEI5UM.cjs');require('../../chunk-P3VXDTFO.cjs');require('../../chunk-UMWTEGO6.cjs');require('../../chunk-YB6BIIMR.cjs');require('../../chunk-HNV3LB4A.cjs');require('../../chunk-WOSI63Y5.cjs');require('../../chunk-M2ROWHEX.cjs');require('../../chunk-OVJIGWD7.cjs');require('../../chunk-DJZOP4MT.cjs');require('../../chunk-AHMPKIEY.cjs');require('../../chunk-S4BKL6MR.cjs');require('../../chunk-FY5C3KSC.cjs');require('../../chunk-O3H2EYFA.cjs');require('../../chunk-XP33TL43.cjs');require('../../chunk-FQ246XXN.cjs');require('../../chunk-QYQERFYL.cjs');require('../../chunk-VXAHFAP4.cjs');require('../../chunk-EO53B7LL.cjs');require('../../chunk-BPEDL7VV.cjs');require('../../chunk-VI6TW7JT.cjs');require('../../chunk-TWX7ZBKZ.cjs');require('../../chunk-EDALAJ5I.cjs');require('../../chunk-YGN7O63X.cjs');require('../../chunk-QHI4DOG7.cjs');require('../../chunk-3X24JZVG.cjs');require('../../chunk-EAWYV5ZO.cjs');require('../../chunk-NRN4WNQL.cjs');require('../../chunk-I4GMMHQR.cjs');require('../../chunk-4GJZ2ZLW.cjs');require('../../chunk-MNYGG5Q6.cjs');require('../../chunk-7CFH56RU.cjs');require('../../chunk-XYS5GEY2.cjs');require('../../chunk-2WSEHVNP.cjs');exports.AuthForm = _chunkX4OZYT2Scjs.j;
|