@ramp-kit/react 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -49,14 +49,135 @@ The widget walks the user through a 3-step flow:
49
49
  | `provider` | `RampProvider` | Any @ramp-kit/core provider instance |
50
50
  | `customerId` | `string` | Provider-side customer id (org UUID for Etherfuse, userAnyId for Manteca) |
51
51
  | `fiatCurrency` | `"BRL" \| "MXN" \| …` | Fiat leg of the ramp |
52
+ | `direction` | `"onramp" \| "offramp"` | Buy (default) or sell flow |
52
53
  | `network` | `Network` | Settlement network (default `"stellar"`) |
53
- | `walletAddress` | `string?` | Destination wallet for onramps |
54
+ | `walletAddress` | `string?` | Destination wallet (onramp) / source wallet (offramp) |
55
+ | `payoutDestination` | `{ address: string }?` | Offramp fiat payout account (CBU/CLABE/IBAN/PIX key). Required for Manteca offramps |
54
56
  | `assets` | `RampAsset[]` | Assets to offer (from `provider.listAssets()`) |
57
+ | `signer` | `(xdr, passphrase) => Promise<string>` | Wallet signing callback for offramps (Freighter, hardware, local key) |
58
+ | `environment` | `"testnet" \| "mainnet" \| "sandbox" \| "production"` | Network the flow runs on. Derives `stellarConfig`, picks the explorer, and warns on a provider mismatch |
59
+ | `stellarConfig` | `StellarConfig` | Explicit signing network — overrides `environment`. Use `stellarConfigFor(...)` |
60
+ | `theme` | `"light" \| "dark" \| RampTheme` | Color/radius/font tokens (default `"light"`) |
61
+ | `size` | `"sm" \| "md"` | Compact or default spacing (default `"md"`) |
62
+ | `showStepper` | `boolean` | Show the numbered step header (default `true`) |
63
+ | `className` | `string?` | Extra class on the root, alongside `rk-widget` |
64
+ | `style` | `CSSProperties?` | Inline styles merged onto the root (wins over the theme) |
65
+ | `labels` | `Partial<RampLabels>` | Override any visible copy (steps, statuses, buttons) — e.g. for i18n |
66
+ | `locale` | `string` | BCP-47 locale for amount formatting (default `"en-US"`) |
55
67
  | `onOrderCreated` | `(orderId) => void` | Fired when the order is accepted |
56
68
  | `onSettled` | `(orderId) => void` | Fired when funds are delivered |
69
+ | `onQuote` | `(quote) => void` | Fired whenever a fresh quote arrives |
70
+ | `onStepChange` | `(step) => void` | Fired when the flow advances between steps |
71
+ | `onError` | `(error, context) => void` | Fired on any error, tagged `"quote" \| "order" \| "sign"` |
57
72
 
58
- Styling: neutral inline styles plus `rk-` class names (`rk-widget`,
59
- `rk-quote`, `rk-deposit`, `rk-done`) so you can theme it from your own CSS.
73
+ ### Theming
74
+
75
+ Every color, radius and font is a `--rk-*` CSS variable. Pass a `theme` preset
76
+ or a token set — set only what you want; the rest keep their defaults:
77
+
78
+ ```tsx
79
+ <RampWidget
80
+ {...props}
81
+ theme={{
82
+ background: "#0b1e2d",
83
+ surface: "#12293b",
84
+ text: "#e6f1f7",
85
+ primary: "#38bdf8",
86
+ primaryText: "#04222f",
87
+ accent: "#34d399",
88
+ radius: 16,
89
+ }}
90
+ />;
91
+ ```
92
+
93
+ `theme="dark"` ships a full dark palette. You can also override the
94
+ `--rk-*` variables (or the `rk-widget` / `rk-quote` / `rk-deposit` / `rk-done`
95
+ classes) from your own CSS. Translate the copy with `labels`:
96
+
97
+ ```tsx
98
+ <RampWidget
99
+ {...props}
100
+ locale="pt-BR"
101
+ labels={{
102
+ steps: { amount: "Valor", deposit: "Transferência", done: "Pronto" },
103
+ youPay: "Você paga",
104
+ youReceive: "Você recebe",
105
+ continueButton: "Continuar",
106
+ }}
107
+ />;
108
+ ```
109
+
110
+ ### Sell flow (offramp) with Freighter
111
+
112
+ ```tsx
113
+ import { signTransaction } from "@stellar/freighter-api";
114
+ import { stellarConfigFor } from "@ramp-kit/core";
115
+
116
+ <RampWidget
117
+ provider={provider}
118
+ customerId={orgId}
119
+ direction="offramp"
120
+ fiatCurrency="BRL"
121
+ walletAddress={userAddress}
122
+ assets={assets}
123
+ signer={async (xdr, networkPassphrase) => {
124
+ const res = await signTransaction(xdr, { networkPassphrase, address: userAddress });
125
+ return res.signedTxXdr;
126
+ }}
127
+ stellarConfig={stellarConfigFor("sandbox")}
128
+ />;
129
+ ```
130
+
131
+ The widget renders an in-widget "Sign & send" step, recovers automatically
132
+ from expired provider transactions (`tx_too_late` → regenerate → re-sign),
133
+ and links the settlement transaction on Stellar Expert.
134
+
135
+ Styling: theme tokens via the `theme` prop or `--rk-*` CSS variables, plus
136
+ `rk-` class hooks (`rk-widget`, `rk-quote`, `rk-deposit`, `rk-done`).
137
+
138
+ ## Going to production (testnet → mainnet)
139
+
140
+ Once you hold **production credentials** (see the checklist below), flipping to
141
+ mainnet is a single value used in two places — the provider and the widget:
142
+
143
+ ```tsx
144
+ import { EtherfuseProvider } from "@ramp-kit/core";
145
+
146
+ // One flag drives everything. "production" and "mainnet" are equivalent here.
147
+ const environment = "production";
148
+
149
+ const provider = new EtherfuseProvider({
150
+ apiKey: process.env.ETHERFUSE_API_KEY!, // production key
151
+ environment, // flips the API base URL to mainnet
152
+ baseUrl: "https://api.myapp.com/ramp/etherfuse", // your @ramp-kit/server
153
+ });
154
+
155
+ <RampWidget
156
+ provider={provider}
157
+ environment={environment} // derives mainnet Horizon + passphrase + explorer
158
+ customerId={realCustomerId}
159
+ fiatCurrency="BRL"
160
+ walletAddress={userWallet}
161
+ assets={await provider.listAssets("stellar")}
162
+ />;
163
+ ```
164
+
165
+ Pass the **same** `environment` to the provider and the widget. If they differ,
166
+ the widget logs a console warning so a testnet UI never signs against mainnet
167
+ funds by accident. Omit `environment` and it stays on testnet (default).
168
+
169
+ **The switch is code; it doesn't create the credentials.** Working on mainnet
170
+ also requires, per provider (one-time, outside the SDK):
171
+
172
+ - **Etherfuse:** production KYB approval → `api_prod_…` key; real registered
173
+ bank accounts (real CLABE/RFC/PIX); real end-user KYC (no sandbox auto-approve).
174
+ - **Manteca:** commercial onboarding → production `md-api-key`, per-country
175
+ permissions, real onboarded users.
176
+ - **Stellar:** the wallet must be on the Public network with real XLM for fees
177
+ and reserves. The kit already prices fees dynamically and fee-bumps under
178
+ congestion, so mainnet submission is handled.
179
+
180
+ Full operational checklist: `skills/ramp-kit/references/production.md` in the repo.
60
181
 
61
182
  ## Hooks (build your own UI)
62
183
 
@@ -1,4 +1,5 @@
1
- import { type FiatCurrency, type Network, type RampAsset, type RampDirection, type RampProvider, type StellarConfig } from "@ramp-kit/core";
1
+ import { type FiatCurrency, type Network, type RampAsset, type RampDirection, type RampProvider, type RampQuote, type StellarConfig } from "@ramp-kit/core";
2
+ import { type RampLabels, type RampThemeInput } from "./theme.js";
2
3
  export interface RampWidgetProps {
3
4
  provider: RampProvider;
4
5
  /** Provider-side customer id (org UUID for Etherfuse, userAnyId for Manteca). */
@@ -9,6 +10,15 @@ export interface RampWidgetProps {
9
10
  network?: Network;
10
11
  /** Destination wallet for onramps; source wallet for offramps. */
11
12
  walletAddress?: string;
13
+ /**
14
+ * Offramp fiat payout account (CBU, CLABE, IBAN, PIX key…) plus any
15
+ * provider-specific extras. Required for Manteca offramps; ignored by
16
+ * providers with pre-registered accounts (Etherfuse).
17
+ */
18
+ payoutDestination?: {
19
+ address: string;
20
+ [key: string]: unknown;
21
+ };
12
22
  /** Assets to offer. Fetch with provider.listAssets() and pass down. */
13
23
  assets: RampAsset[];
14
24
  /**
@@ -17,17 +27,53 @@ export interface RampWidgetProps {
17
27
  * signed XDR. Required for the in-widget "Sign & send" step.
18
28
  */
19
29
  signer?: (xdr: string, networkPassphrase: string) => Promise<string>;
20
- /** Horizon/network for signing (use stellarConfigFor(environment)). */
30
+ /**
31
+ * Network the whole flow runs on: "testnet" (default) or "mainnet". Also
32
+ * accepts the core vocabulary ("sandbox"/"production") so you can pass the
33
+ * SAME value you gave the provider. When `stellarConfig` is omitted it is
34
+ * derived from this; it also selects the block explorer and warns if the
35
+ * provider was built for a different environment.
36
+ */
37
+ environment?: "testnet" | "mainnet" | "sandbox" | "production";
38
+ /**
39
+ * Horizon/network for signing. Overrides `environment`; usually you set one
40
+ * or the other. Use stellarConfigFor("sandbox" | "production").
41
+ */
21
42
  stellarConfig?: StellarConfig;
43
+ /** "light" (default), "dark", or a custom token set. */
44
+ theme?: RampThemeInput;
45
+ /** Compact ("sm") or default ("md") spacing. */
46
+ size?: "sm" | "md";
47
+ /** Show the numbered step header. Default true. */
48
+ showStepper?: boolean;
49
+ /** Class added to the root, alongside "rk-widget". */
50
+ className?: string;
51
+ /** Inline styles merged onto the root (wins over the theme). */
52
+ style?: React.CSSProperties;
53
+ /** Override any visible copy (steps, statuses, buttons) — e.g. for i18n. */
54
+ labels?: DeepPartial<RampLabels>;
55
+ /** BCP-47 locale for amount formatting. Default "en-US". */
56
+ locale?: string;
22
57
  onOrderCreated?: (orderId: string) => void;
23
58
  onSettled?: (orderId: string) => void;
59
+ /** Fired whenever a fresh quote arrives. */
60
+ onQuote?: (quote: RampQuote) => void;
61
+ /** Fired when the flow advances between steps. */
62
+ onStepChange?: (step: Step) => void;
63
+ /** Fired on any error, tagged with where it happened. */
64
+ onError?: (error: Error, context: "quote" | "order" | "sign") => void;
24
65
  }
66
+ type DeepPartial<T> = {
67
+ [K in keyof T]?: T[K] extends object ? Partial<T[K]> : T[K];
68
+ };
69
+ type Step = "amount" | "deposit" | "done";
25
70
  /**
26
- * Embeddable onramp flow: amount + asset → live quote → order →
27
- * deposit instructions → status tracking until settled.
71
+ * Embeddable ramp flow: amount + asset → live quote → order → deposit
72
+ * instructions → status tracking until settled.
28
73
  *
29
- * Neutral inline styles + `rk-` class names so it drops into any app
30
- * and can be themed via CSS.
74
+ * Themeable via the `theme` prop (or `--rk-*` CSS variables) and `rk-` class
75
+ * hooks; all copy is overridable through `labels`.
31
76
  */
32
- export declare function RampWidget({ provider, customerId, fiatCurrency, direction, network, walletAddress, assets, signer, stellarConfig, onOrderCreated, onSettled, }: RampWidgetProps): import("react").JSX.Element;
77
+ export declare function RampWidget({ provider, customerId, fiatCurrency, direction, network, walletAddress, payoutDestination, assets, signer, environment, stellarConfig, theme, size, showStepper, className, style, labels: labelOverrides, locale, onOrderCreated, onSettled, onQuote, onStepChange, onError, }: RampWidgetProps): import("react").JSX.Element | null;
78
+ export {};
33
79
  //# sourceMappingURL=RampWidget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RampWidget.d.ts","sourceRoot":"","sources":["../src/RampWidget.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,OAAO,EAEZ,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,iFAAiF;IACjF,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,sEAAsE;IACtE,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,uEAAuE;IACvE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAoBD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAoB,EACpB,OAAmB,EACnB,aAAa,EACb,MAAM,EACN,MAAM,EACN,aAAa,EACb,cAAc,EACd,SAAS,GACV,EAAE,eAAe,+BA+SjB"}
1
+ {"version":3,"file":"RampWidget.d.ts","sourceRoot":"","sources":["../src/RampWidget.tsx"],"names":[],"mappings":"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"}
@@ -1,29 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useState } from "react";
3
- import { RampError, signAndSubmit, } from "@ramp-kit/core";
3
+ import { RampError, signAndSubmit, stellarConfigFor, } from "@ramp-kit/core";
4
4
  import { useQuote, useOrder } from "./hooks.js";
5
- const STEPS = [
6
- { key: "amount", label: "Amount" },
7
- { key: "deposit", label: "Transfer" },
8
- { key: "done", label: "Done" },
9
- ];
10
- const STATUS_LABEL = {
11
- created: "Order created",
12
- awaiting_deposit: "Waiting for your deposit",
13
- awaiting_signature: "Waiting for your signature",
14
- processing: "Exchanging & settling on-chain",
15
- settled: "Funds delivered",
16
- failed: "Order failed",
17
- cancelled: "Order cancelled",
18
- };
5
+ import { resolveLabels, resolveTheme, sizeVars, } from "./theme.js";
6
+ const STEP_ORDER = ["amount", "deposit", "done"];
19
7
  /**
20
- * Embeddable onramp flow: amount + asset → live quote → order →
21
- * deposit instructions → status tracking until settled.
8
+ * Embeddable ramp flow: amount + asset → live quote → order → deposit
9
+ * instructions → status tracking until settled.
22
10
  *
23
- * Neutral inline styles + `rk-` class names so it drops into any app
24
- * and can be themed via CSS.
11
+ * Themeable via the `theme` prop (or `--rk-*` CSS variables) and `rk-` class
12
+ * hooks; all copy is overridable through `labels`.
25
13
  */
26
- export function RampWidget({ provider, customerId, fiatCurrency, direction = "onramp", network = "stellar", walletAddress, assets, signer, stellarConfig, onOrderCreated, onSettled, }) {
14
+ export function RampWidget({ provider, customerId, fiatCurrency, direction = "onramp", network = "stellar", walletAddress, payoutDestination, assets, signer, environment, stellarConfig, theme = "light", size = "md", showStepper = true, className, style, labels: labelOverrides, locale = "en-US", onOrderCreated, onSettled, onQuote, onStepChange, onError, }) {
27
15
  const [amount, setAmount] = useState("");
28
16
  const [assetId, setAssetId] = useState(assets[0]?.identifier ?? "");
29
17
  const [orderId, setOrderId] = useState(null);
@@ -33,6 +21,18 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
33
21
  const [signing, setSigning] = useState(false);
34
22
  const [signedTxHash, setSignedTxHash] = useState(null);
35
23
  const [signError, setSignError] = useState(null);
24
+ const labels = useMemo(() => resolveLabels(labelOverrides), [labelOverrides]);
25
+ const goStep = (next) => {
26
+ setStep(next);
27
+ onStepChange?.(next);
28
+ };
29
+ // Normalize "testnet/mainnet" and "sandbox/production" to one vocabulary.
30
+ const isMainnet = environment === "mainnet" || environment === "production";
31
+ const coreEnv = environment
32
+ ? isMainnet
33
+ ? "production"
34
+ : "sandbox"
35
+ : undefined;
36
36
  // Keep selection valid when the asset list changes (e.g. provider swap).
37
37
  useEffect(() => {
38
38
  if (!assets.some((a) => a.identifier === assetId)) {
@@ -51,17 +51,50 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
51
51
  sourceAmount: amount,
52
52
  customerId,
53
53
  walletAddress,
54
+ payoutDestination,
54
55
  };
55
- }, [amount, assetId, direction, fiatCurrency, network, customerId, walletAddress]);
56
+ // eslint-disable-next-line react-hooks/exhaustive-deps
57
+ }, [
58
+ amount,
59
+ assetId,
60
+ direction,
61
+ fiatCurrency,
62
+ network,
63
+ customerId,
64
+ walletAddress,
65
+ payoutDestination?.address,
66
+ ]);
56
67
  const { quote, loading, error, secondsLeft } = useQuote(step === "amount" ? provider : null, request);
57
- const { order } = useOrder(provider, orderId);
68
+ const { order, error: orderError } = useOrder(provider, orderId);
69
+ useEffect(() => {
70
+ if (quote)
71
+ onQuote?.(quote);
72
+ // eslint-disable-next-line react-hooks/exhaustive-deps
73
+ }, [quote?.id]);
74
+ useEffect(() => {
75
+ if (error)
76
+ onError?.(error, "quote");
77
+ // eslint-disable-next-line react-hooks/exhaustive-deps
78
+ }, [error]);
79
+ useEffect(() => {
80
+ if (orderError)
81
+ onError?.(orderError, "order");
82
+ // eslint-disable-next-line react-hooks/exhaustive-deps
83
+ }, [orderError]);
58
84
  useEffect(() => {
59
85
  if (order?.status === "settled") {
60
- setStep("done");
86
+ goStep("done");
61
87
  onSettled?.(order.id);
62
88
  }
63
89
  // eslint-disable-next-line react-hooks/exhaustive-deps
64
90
  }, [order?.status, order?.id]);
91
+ // Catch a testnet/mainnet mismatch before it moves funds on the wrong net.
92
+ useEffect(() => {
93
+ if (coreEnv && provider?.environment && provider.environment !== coreEnv) {
94
+ console.warn(`[RampWidget] environment="${environment}" but the provider targets "${provider.environment}" — API calls and funds would hit different networks. Build the provider with the matching environment.`);
95
+ }
96
+ // eslint-disable-next-line react-hooks/exhaustive-deps
97
+ }, [coreEnv, provider]);
65
98
  const confirm = async () => {
66
99
  if (!quote)
67
100
  return;
@@ -71,9 +104,10 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
71
104
  const created = await provider.createOrder(quote);
72
105
  setOrderId(created.id);
73
106
  onOrderCreated?.(created.id);
74
- setStep("deposit");
107
+ goStep("deposit");
75
108
  }
76
109
  catch (err) {
110
+ onError?.(err, "order");
77
111
  const message = err.message;
78
112
  // Sandbox accounts can be compliant yet lack rail provisioning.
79
113
  setSubmitError(/proxy account/i.test(message)
@@ -84,23 +118,45 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
84
118
  setSubmitting(false);
85
119
  }
86
120
  };
121
+ // Defensive: consumers can momentarily pass a null provider during
122
+ // provider switches (state resets lag one render). Render nothing instead
123
+ // of crashing the host app. Placed after all hooks to keep hook order.
124
+ if (!provider)
125
+ return null;
87
126
  const selectedAsset = assets.find((a) => a.identifier === assetId);
88
- const stepIndex = STEPS.findIndex((s) => s.key === step);
127
+ const stepIndex = STEP_ORDER.indexOf(step);
89
128
  const deposit = order?.depositInstructions;
90
129
  const isTerminalFailure = order?.status === "failed" || order?.status === "cancelled";
91
130
  const isOfframp = direction === "offramp";
92
131
  /** Unit of what the user receives: token for onramps, fiat for offramps. */
93
132
  const receiveUnit = isOfframp ? fiatCurrency : (selectedAsset?.symbol ?? "");
133
+ const isLiveStellar = provider.name !== "mock" && network === "stellar";
134
+ // `environment` overrides; fall back to sniffing the Horizon URL.
135
+ const resolvedStellarConfig = stellarConfig ?? (coreEnv ? stellarConfigFor(coreEnv) : undefined);
136
+ const explorerNet = environment
137
+ ? isMainnet
138
+ ? "public"
139
+ : "testnet"
140
+ : resolvedStellarConfig?.horizonUrl?.includes("testnet") !== false
141
+ ? "testnet"
142
+ : "public";
143
+ const txUrl = (hash) => `https://stellar.expert/explorer/${explorerNet}/tx/${hash}`;
94
144
  const needsSignature = isOfframp && order?.status === "awaiting_signature" && order.unsignedTx;
145
+ const fmt = (value) => formatAmount(value, locale);
95
146
  const signAndSend = async () => {
96
147
  if (!order?.unsignedTx || !signer)
97
148
  return;
98
149
  setSigning(true);
99
150
  setSignError(null);
151
+ // On mainnet the user pays a fee-bump if the provider's fee is too low
152
+ // for current congestion; Horizon timeouts resubmit automatically.
153
+ const submitOpts = walletAddress?.startsWith("G")
154
+ ? { feeBump: { feeSourcePublicKey: walletAddress } }
155
+ : undefined;
100
156
  try {
101
157
  let res;
102
158
  try {
103
- res = await signAndSubmit(order.unsignedTx, signer, stellarConfig);
159
+ res = await signAndSubmit(order.unsignedTx, signer, resolvedStellarConfig, submitOpts);
104
160
  }
105
161
  catch (err) {
106
162
  // Provider-built Stellar txs expire in ~1-2 min: regenerate + retry.
@@ -110,7 +166,7 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
110
166
  const fresh = await provider.regenerateTx(order.id);
111
167
  if (!fresh.unsignedTx)
112
168
  throw err;
113
- res = await signAndSubmit(fresh.unsignedTx, signer, stellarConfig);
169
+ res = await signAndSubmit(fresh.unsignedTx, signer, resolvedStellarConfig, submitOpts);
114
170
  }
115
171
  else {
116
172
  throw err;
@@ -119,54 +175,67 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
119
175
  setSignedTxHash(res.hash);
120
176
  }
121
177
  catch (err) {
178
+ onError?.(err, "sign");
122
179
  setSignError(err.message);
123
180
  }
124
181
  finally {
125
182
  setSigning(false);
126
183
  }
127
184
  };
128
- return (_jsxs("div", { className: "rk-widget", style: styles.widget, children: [_jsx("div", { className: "rk-steps", style: styles.steps, children: STEPS.map((s, i) => (_jsxs("div", { style: styles.stepItem, children: [_jsx("div", { style: {
185
+ const rootStyle = {
186
+ ...styles.widget,
187
+ ...resolveTheme(theme),
188
+ ...sizeVars(size),
189
+ ...style,
190
+ };
191
+ return (_jsxs("div", { className: ["rk-widget", className].filter(Boolean).join(" "), style: rootStyle, children: [showStepper && (_jsx("div", { className: "rk-steps", style: styles.steps, children: STEP_ORDER.map((key, i) => (_jsxs("div", { style: styles.stepItem, children: [_jsx("div", { style: {
129
192
  ...styles.stepDot,
130
193
  ...(i < stepIndex ? styles.stepDotPast : {}),
131
194
  ...(i === stepIndex ? styles.stepDotActive : {}),
132
195
  }, children: i < stepIndex ? "✓" : i + 1 }), _jsx("span", { style: {
133
196
  ...styles.stepLabel,
134
197
  ...(i === stepIndex ? styles.stepLabelActive : {}),
135
- }, children: s.label }), i < STEPS.length - 1 && _jsx("div", { style: styles.stepLine })] }, s.key))) }), step === "amount" && (_jsxs(_Fragment, { children: [_jsxs("label", { style: styles.label, children: [isOfframp
136
- ? `You sell (${selectedAsset?.symbol ?? "asset"})`
137
- : `You pay (${fiatCurrency})`, _jsx("input", { style: styles.input, type: "number", min: "0", value: amount, placeholder: isOfframp ? "5" : "100", onChange: (e) => setAmount(e.target.value) })] }), _jsxs("label", { style: styles.label, children: [isOfframp ? "Asset to sell" : "You receive", _jsx("select", { style: styles.input, value: assetId, onChange: (e) => setAssetId(e.target.value), children: assets.map((a) => (_jsxs("option", { value: a.identifier, children: [a.symbol, " \u00B7 ", a.network] }, a.identifier))) })] }), loading && _jsx("p", { style: styles.muted, children: "Fetching live quote\u2026" }), error && _jsx("p", { style: styles.error, children: error.message }), quote && !loading && (_jsxs("div", { className: "rk-quote", style: styles.quoteBox, children: [_jsxs("div", { style: styles.quoteRow, children: [_jsxs("span", { style: styles.big, children: ["\u2248 ", trim(quote.targetAmount), " ", receiveUnit] }), _jsxs("span", { style: styles.pill, children: [secondsLeft, "s"] })] }), _jsx("div", { style: styles.countdownTrack, children: _jsx("div", { style: {
198
+ }, children: labels.steps[key] }), i < STEP_ORDER.length - 1 && _jsx("div", { style: styles.stepLine })] }, key))) })), step === "amount" && (_jsxs(_Fragment, { children: [_jsxs("label", { style: styles.label, children: [isOfframp
199
+ ? `${labels.youSell} (${selectedAsset?.symbol ?? "asset"})`
200
+ : `${labels.youPay} (${fiatCurrency})`, _jsx("input", { style: styles.input, type: "number", min: "0", value: amount, placeholder: isOfframp ? "5" : "100", onChange: (e) => setAmount(e.target.value) })] }), _jsxs("label", { style: styles.label, children: [isOfframp ? labels.assetToSell : labels.youReceive, _jsx("select", { style: styles.input, value: assetId, onChange: (e) => setAssetId(e.target.value), children: assets.map((a) => (_jsxs("option", { value: a.identifier, children: [a.symbol, " \u00B7 ", a.network] }, a.identifier))) })] }), loading && _jsx("p", { style: styles.muted, children: labels.fetchingQuote }), error && _jsx("p", { style: styles.error, children: error.message }), quote && !loading && (_jsxs("div", { className: "rk-quote", style: styles.quoteBox, children: [_jsxs("div", { style: styles.quoteRow, children: [_jsxs("span", { style: styles.big, children: ["\u2248 ", fmt(quote.targetAmount), " ", receiveUnit] }), _jsxs("span", { style: styles.pill, children: [secondsLeft, "s"] })] }), _jsx("div", { style: styles.countdownTrack, children: _jsx("div", { style: {
138
201
  ...styles.countdownBar,
139
202
  width: `${Math.min(100, (secondsLeft / 120) * 100)}%`,
140
- } }) }), _jsxs("p", { style: styles.muted, children: ["Rate ", trim(quote.rate), quote.fees ? ` · fee ${quote.fees} ${fiatCurrency}` : ""] }), _jsx("button", { style: styles.button, disabled: submitting, onClick: confirm, children: submitting ? "Creating order…" : "Continue" }), submitError && _jsx("p", { style: styles.error, children: submitError })] }))] })), step === "deposit" && (_jsxs("div", { className: "rk-deposit", style: styles.depositBox, children: [isOfframp ? (_jsxs(_Fragment, { children: [needsSignature && !signedTxHash && (_jsxs(_Fragment, { children: [_jsxs("p", { style: styles.muted, children: ["Send your ", selectedAsset?.symbol, " on-chain to fund the payout \u2014 the provider pre-built the transaction, your wallet just signs it:"] }), signer ? (_jsx("button", { style: styles.button, disabled: signing, onClick: signAndSend, children: signing
141
- ? "Signing & sending…"
142
- : `Sign & send ${amount} ${selectedAsset?.symbol}` })) : (_jsx("p", { style: styles.error, children: "No signer configured \u2014 pass the `signer` prop to enable in-widget signing." })), signError && _jsx("p", { style: styles.error, children: signError })] })), signedTxHash && (_jsxs("p", { style: styles.muted, children: ["Transaction sent (", signedTxHash.slice(0, 10), "\u2026) \u2014 the provider pays out ", fiatCurrency, " once it confirms."] }))] })) : deposit ? (_jsxs(_Fragment, { children: [_jsxs("div", { style: styles.quoteRow, children: [_jsx("span", { style: styles.railBadge, children: deposit.rail }), _jsxs("span", { style: styles.big, children: [deposit.amount, " ", deposit.currency] })] }), _jsx("p", { style: styles.muted, children: deposit.rail === "PIX"
203
+ } }) }), _jsxs("p", { style: styles.muted, children: [labels.rate, " ", fmt(quote.rate), quote.fees ? ` · ${labels.fee} ${quote.fees} ${fiatCurrency}` : ""] }), _jsx("button", { style: styles.button, disabled: submitting, onClick: confirm, children: submitting ? labels.creatingOrder : labels.continueButton }), submitError && _jsx("p", { style: styles.error, children: submitError })] }))] })), step === "deposit" && (_jsxs("div", { className: "rk-deposit", style: styles.depositBox, children: [isOfframp ? (_jsxs(_Fragment, { children: [needsSignature && !signedTxHash && (_jsxs(_Fragment, { children: [_jsxs("p", { style: styles.muted, children: ["Send your ", selectedAsset?.symbol, " on-chain to fund the payout \u2014 the provider pre-built the transaction, your wallet just signs it:"] }), signer ? (_jsx("button", { style: styles.button, disabled: signing, onClick: signAndSend, children: signing
204
+ ? labels.signing
205
+ : `${labels.signAndSend} ${amount} ${selectedAsset?.symbol}` })) : (_jsx("p", { style: styles.error, children: labels.noSigner })), signError && _jsx("p", { style: styles.error, children: signError })] })), signedTxHash && (_jsxs("p", { style: styles.muted, children: ["Transaction sent", " ", isLiveStellar ? (_jsxs("a", { href: txUrl(signedTxHash), target: "_blank", rel: "noreferrer", children: [signedTxHash.slice(0, 10), "\u2026 \u2197"] })) : (_jsxs(_Fragment, { children: ["(", signedTxHash.slice(0, 10), "\u2026)"] })), " ", "\u2014 the provider pays out ", fiatCurrency, " once it confirms."] }))] })) : deposit ? (_jsxs(_Fragment, { children: [_jsxs("div", { style: styles.quoteRow, children: [_jsx("span", { style: styles.railBadge, children: deposit.rail }), _jsxs("span", { style: styles.big, children: [deposit.amount, " ", deposit.currency] })] }), _jsx("p", { style: styles.muted, children: deposit.rail === "PIX"
143
206
  ? "Pay this PIX charge to fund your order:"
144
- : "Send the exact amount to this account:" }), _jsxs("p", { style: styles.mono, children: [deposit.address, deposit.alias ? ` · ${deposit.alias}` : ""] })] })) : (_jsx("p", { style: styles.muted, children: "Loading deposit instructions\u2026" })), _jsxs("div", { style: styles.statusRow, children: [_jsx("span", { style: {
207
+ : "Send the exact amount to this account:" }), _jsxs("p", { style: styles.mono, children: [deposit.address, deposit.alias ? ` · ${deposit.alias}` : ""] })] })) : (_jsx("p", { style: styles.muted, children: labels.loadingDeposit })), _jsxs("div", { style: styles.statusRow, children: [_jsx("span", { style: {
145
208
  ...styles.statusDot,
146
209
  background: isTerminalFailure
147
- ? "#c0392b"
210
+ ? "var(--rk-danger, #c0392b)"
148
211
  : order?.status === "processing"
149
- ? "#e67e22"
150
- : "#3498db",
151
- } }), _jsx("span", { style: styles.statusText, children: STATUS_LABEL[order?.status ?? "created"] })] }), isTerminalFailure && (_jsx("p", { style: styles.error, children: order?.failureReason ?? "Order failed" }))] })), step === "done" && (_jsxs("div", { className: "rk-done", style: styles.doneBox, children: [_jsx("div", { style: styles.doneIcon, children: "\u2713" }), _jsx("p", { style: styles.big, children: "Funds delivered" }), order?.quote && (_jsxs("p", { style: styles.muted, children: [order.quote.request.sourceAmount, " ", isOfframp
212
+ ? "var(--rk-warning, #e67e22)"
213
+ : "var(--rk-info, #3498db)",
214
+ } }), _jsx("span", { style: styles.statusText, children: labels.status[order?.status ?? "created"] })] }), isTerminalFailure && (_jsx("p", { style: styles.error, children: order?.failureReason ?? labels.status.failed }))] })), step === "done" && (_jsxs("div", { className: "rk-done", style: styles.doneBox, children: [_jsx("div", { style: styles.doneIcon, children: "\u2713" }), _jsx("p", { style: styles.big, children: labels.fundsDelivered }), order?.quote && (_jsxs("p", { style: styles.muted, children: [order.quote.request.sourceAmount, " ", isOfframp
152
215
  ? selectedAsset?.symbol
153
- : order.quote.request.fiatCurrency, " ", "\u2192 ", trim(order.quote.targetAmount), " ", receiveUnit, isOfframp ? " via PIX/SPEI" : ` on ${network}`] })), order?.txHash && (_jsxs("p", { style: styles.mono, children: ["tx ", order.txHash.slice(0, 10), "\u2026", order.txHash.slice(-8)] }))] }))] }));
216
+ : order.quote.request.fiatCurrency, " ", "\u2192 ", fmt(order.quote.targetAmount), " ", receiveUnit, isOfframp ? " via PIX/SPEI" : ` on ${network}`] })), (order?.txHash ?? signedTxHash) && (_jsx("p", { style: styles.mono, children: isLiveStellar ? (_jsx("a", { href: txUrl((order?.txHash ?? signedTxHash)), target: "_blank", rel: "noreferrer", children: "View transaction on Stellar Expert \u2197" })) : (_jsxs(_Fragment, { children: ["tx ", (order?.txHash ?? signedTxHash).slice(0, 10), "\u2026", (order?.txHash ?? signedTxHash).slice(-8)] })) })), isOfframp && (_jsxs("p", { style: styles.muted, children: [fiatCurrency, " payout is processed by the provider to your registered bank account", provider.name === "etherfuse"
217
+ ? " (sandbox payouts run in batches)"
218
+ : "", "."] }))] }))] }));
154
219
  }
155
- function trim(value) {
220
+ function formatAmount(value, locale) {
156
221
  const n = Number(value);
157
- return Number.isFinite(n) ? n.toLocaleString("en-US", { maximumFractionDigits: 4 }) : value;
222
+ return Number.isFinite(n)
223
+ ? n.toLocaleString(locale, { maximumFractionDigits: 4 })
224
+ : value;
158
225
  }
226
+ /** Static styles read theme tokens via `var(--rk-*, fallback)`; the fallbacks are the light preset. */
159
227
  const styles = {
160
228
  widget: {
161
229
  maxWidth: 400,
162
- padding: 20,
163
- borderRadius: 14,
164
- border: "1px solid #e4e4e7",
165
- background: "#fff",
166
- fontFamily: "system-ui, sans-serif",
230
+ padding: "var(--rk-pad, 20px)",
231
+ borderRadius: "var(--rk-radius-lg, 14px)",
232
+ border: "1px solid var(--rk-border, #e4e4e7)",
233
+ background: "var(--rk-bg, #fff)",
234
+ color: "var(--rk-text, #18181b)",
235
+ fontFamily: "var(--rk-font, system-ui, sans-serif)",
167
236
  display: "flex",
168
237
  flexDirection: "column",
169
- gap: 14,
238
+ gap: "var(--rk-gap, 14px)",
170
239
  },
171
240
  steps: { display: "flex", alignItems: "center", gap: 6 },
172
241
  stepItem: { display: "flex", alignItems: "center", gap: 6, flex: "1 1 0" },
@@ -179,28 +248,41 @@ const styles = {
179
248
  justifyContent: "center",
180
249
  fontSize: 11,
181
250
  fontWeight: 600,
182
- background: "#f4f4f5",
183
- color: "#71717a",
251
+ background: "var(--rk-subtle, #f4f4f5)",
252
+ color: "var(--rk-text-muted, #71717a)",
184
253
  flexShrink: 0,
185
254
  },
186
- stepDotActive: { background: "#18181b", color: "#fff" },
187
- stepDotPast: { background: "#dcfce7", color: "#16a34a" },
188
- stepLabel: { fontSize: 12, color: "#a1a1aa" },
189
- stepLabelActive: { color: "#18181b", fontWeight: 600 },
190
- stepLine: { flex: 1, height: 1, background: "#e4e4e7" },
191
- label: { display: "flex", flexDirection: "column", gap: 4, fontSize: 13, color: "#3f3f46" },
255
+ stepDotActive: {
256
+ background: "var(--rk-primary, #18181b)",
257
+ color: "var(--rk-primary-text, #fff)",
258
+ },
259
+ stepDotPast: {
260
+ background: "var(--rk-accent-bg, #dcfce7)",
261
+ color: "var(--rk-accent, #16a34a)",
262
+ },
263
+ stepLabel: { fontSize: 12, color: "var(--rk-text-muted, #a1a1aa)" },
264
+ stepLabelActive: { color: "var(--rk-text, #18181b)", fontWeight: 600 },
265
+ stepLine: { flex: 1, height: 1, background: "var(--rk-border, #e4e4e7)" },
266
+ label: {
267
+ display: "flex",
268
+ flexDirection: "column",
269
+ gap: 4,
270
+ fontSize: 13,
271
+ color: "var(--rk-text-muted, #3f3f46)",
272
+ },
192
273
  input: {
193
274
  padding: 10,
194
- borderRadius: 10,
195
- border: "1px solid #d4d4d8",
275
+ borderRadius: "var(--rk-radius, 10px)",
276
+ border: "1px solid var(--rk-border, #d4d4d8)",
196
277
  fontSize: 16,
197
- background: "#fff",
278
+ background: "var(--rk-surface, #fff)",
279
+ color: "var(--rk-text, #18181b)",
198
280
  },
199
281
  quoteBox: {
200
282
  padding: 14,
201
- borderRadius: 10,
202
- background: "#fafafa",
203
- border: "1px solid #f0f0f1",
283
+ borderRadius: "var(--rk-radius, 10px)",
284
+ background: "var(--rk-surface, #fafafa)",
285
+ border: "1px solid var(--rk-border, #f0f0f1)",
204
286
  display: "flex",
205
287
  flexDirection: "column",
206
288
  gap: 8,
@@ -214,20 +296,20 @@ const styles = {
214
296
  countdownTrack: {
215
297
  height: 3,
216
298
  borderRadius: 2,
217
- background: "#e4e4e7",
299
+ background: "var(--rk-border, #e4e4e7)",
218
300
  overflow: "hidden",
219
301
  },
220
302
  countdownBar: {
221
303
  height: "100%",
222
- background: "#18181b",
304
+ background: "var(--rk-primary, #18181b)",
223
305
  transition: "width 1s linear",
224
306
  },
225
307
  pill: {
226
308
  fontSize: 12,
227
309
  padding: "2px 8px",
228
310
  borderRadius: 999,
229
- background: "#f4f4f5",
230
- color: "#52525b",
311
+ background: "var(--rk-subtle, #f4f4f5)",
312
+ color: "var(--rk-text-muted, #52525b)",
231
313
  fontVariantNumeric: "tabular-nums",
232
314
  },
233
315
  railBadge: {
@@ -236,16 +318,16 @@ const styles = {
236
318
  letterSpacing: 0.5,
237
319
  padding: "3px 10px",
238
320
  borderRadius: 999,
239
- background: "#ecfdf5",
240
- color: "#047857",
241
- border: "1px solid #a7f3d0",
321
+ background: "var(--rk-accent-bg, #ecfdf5)",
322
+ color: "var(--rk-accent, #047857)",
323
+ border: "1px solid var(--rk-accent, #a7f3d0)",
242
324
  },
243
325
  button: {
244
326
  padding: "11px 16px",
245
- borderRadius: 10,
327
+ borderRadius: "var(--rk-radius, 10px)",
246
328
  border: "none",
247
- background: "#18181b",
248
- color: "#fff",
329
+ background: "var(--rk-primary, #18181b)",
330
+ color: "var(--rk-primary-text, #fff)",
249
331
  fontSize: 15,
250
332
  fontWeight: 600,
251
333
  cursor: "pointer",
@@ -253,7 +335,7 @@ const styles = {
253
335
  depositBox: { display: "flex", flexDirection: "column", gap: 10 },
254
336
  statusRow: { display: "flex", alignItems: "center", gap: 8, marginTop: 4 },
255
337
  statusDot: { width: 8, height: 8, borderRadius: "50%", flexShrink: 0 },
256
- statusText: { fontSize: 13, color: "#3f3f46" },
338
+ statusText: { fontSize: 13, color: "var(--rk-text-muted, #3f3f46)" },
257
339
  doneBox: {
258
340
  display: "flex",
259
341
  flexDirection: "column",
@@ -266,23 +348,23 @@ const styles = {
266
348
  width: 44,
267
349
  height: 44,
268
350
  borderRadius: "50%",
269
- background: "#dcfce7",
270
- color: "#16a34a",
351
+ background: "var(--rk-accent-bg, #dcfce7)",
352
+ color: "var(--rk-accent, #16a34a)",
271
353
  display: "flex",
272
354
  alignItems: "center",
273
355
  justifyContent: "center",
274
356
  fontSize: 22,
275
357
  fontWeight: 700,
276
358
  },
277
- big: { fontSize: 19, fontWeight: 600, margin: 0, color: "#18181b" },
278
- muted: { fontSize: 13, color: "#71717a", margin: 0 },
359
+ big: { fontSize: 19, fontWeight: 600, margin: 0, color: "var(--rk-text, #18181b)" },
360
+ muted: { fontSize: 13, color: "var(--rk-text-muted, #71717a)", margin: 0 },
279
361
  mono: {
280
362
  fontFamily: "ui-monospace, monospace",
281
363
  wordBreak: "break-all",
282
364
  fontSize: 13,
283
- color: "#3f3f46",
365
+ color: "var(--rk-text-muted, #3f3f46)",
284
366
  margin: 0,
285
367
  },
286
- error: { color: "#c0392b", fontSize: 13, margin: 0 },
368
+ error: { color: "var(--rk-danger, #c0392b)", fontSize: 13, margin: 0 },
287
369
  };
288
370
  //# sourceMappingURL=RampWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RampWidget.js","sourceRoot":"","sources":["../src/RampWidget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RampWidget.js","sourceRoot":"","sources":["../src/RampWidget.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,4 +2,6 @@ export { useQuote, useOrder } from "./hooks.js";
2
2
  export type { UseQuoteResult, UseOrderResult } from "./hooks.js";
3
3
  export { RampWidget } from "./RampWidget.js";
4
4
  export type { RampWidgetProps } from "./RampWidget.js";
5
+ export { resolveTheme, resolveLabels, DEFAULT_LABELS } from "./theme.js";
6
+ export type { RampTheme, RampThemeInput, RampLabels } from "./theme.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export { useQuote, useOrder } from "./hooks.js";
2
2
  export { RampWidget } from "./RampWidget.js";
3
+ export { resolveTheme, resolveLabels, DEFAULT_LABELS } from "./theme.js";
3
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,76 @@
1
+ import type { CSSProperties } from "react";
2
+ /**
3
+ * Theme tokens for <RampWidget/>. Every field maps to a `--rk-*` CSS variable
4
+ * the styles read, so setting one (e.g. `background`) overrides just that and
5
+ * leaves the rest at their preset defaults. Numbers become px.
6
+ */
7
+ export interface RampTheme {
8
+ /** Widget container background. */
9
+ background?: string;
10
+ /** Raised surfaces (quote box). */
11
+ surface?: string;
12
+ /** Faint fills (pills, step dots). */
13
+ subtle?: string;
14
+ /** Borders and separators. */
15
+ border?: string;
16
+ /** Primary text. */
17
+ text?: string;
18
+ /** Secondary / muted text. */
19
+ textMuted?: string;
20
+ /** Primary action color (buttons, active step, progress bar). */
21
+ primary?: string;
22
+ /** Text on top of `primary`. */
23
+ primaryText?: string;
24
+ /** Success accent (completed steps, rail badge). */
25
+ accent?: string;
26
+ /** Success accent background. */
27
+ accentBg?: string;
28
+ /** Error / failure color. */
29
+ danger?: string;
30
+ /** In-progress status color. */
31
+ warning?: string;
32
+ /** Neutral/pending status color. */
33
+ info?: string;
34
+ /** Control corner radius (px when a number). */
35
+ radius?: number | string;
36
+ /** Container corner radius (px when a number). */
37
+ radiusLg?: number | string;
38
+ fontFamily?: string;
39
+ }
40
+ /** A named preset or a custom token set. */
41
+ export type RampThemeInput = "light" | "dark" | RampTheme;
42
+ /** Turn a theme input into the `--rk-*` custom properties to set on the root. */
43
+ export declare function resolveTheme(input?: RampThemeInput): CSSProperties;
44
+ /** Visible copy, all overridable. Currency/asset/amount are appended by the widget. */
45
+ export interface RampLabels {
46
+ steps: {
47
+ amount: string;
48
+ deposit: string;
49
+ done: string;
50
+ };
51
+ status: Record<string, string>;
52
+ youPay: string;
53
+ youSell: string;
54
+ youReceive: string;
55
+ assetToSell: string;
56
+ fetchingQuote: string;
57
+ rate: string;
58
+ fee: string;
59
+ continueButton: string;
60
+ creatingOrder: string;
61
+ fundsDelivered: string;
62
+ signAndSend: string;
63
+ signing: string;
64
+ loadingDeposit: string;
65
+ noSigner: string;
66
+ }
67
+ export declare const DEFAULT_LABELS: RampLabels;
68
+ /** Deep-merge caller overrides over the defaults (steps/status merged too). */
69
+ export declare function resolveLabels(overrides?: DeepPartial<RampLabels>): RampLabels;
70
+ type DeepPartial<T> = {
71
+ [K in keyof T]?: T[K] extends object ? Partial<T[K]> : T[K];
72
+ };
73
+ /** Compact vs. default spacing, exposed as `--rk-pad` / `--rk-gap`. */
74
+ export declare function sizeVars(size: "sm" | "md"): CSSProperties;
75
+ export {};
76
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAsC1D,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,GAAE,cAAwB,GAAG,aAAa,CAW3E;AAED,uFAAuF;AACvF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,UAyB5B,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,UAAU,CAQ7E;AAED,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC5D,CAAC;AAEF,uEAAuE;AACvE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,aAAa,CAMzD"}
package/dist/theme.js ADDED
@@ -0,0 +1,91 @@
1
+ const VARS = {
2
+ background: "--rk-bg",
3
+ surface: "--rk-surface",
4
+ subtle: "--rk-subtle",
5
+ border: "--rk-border",
6
+ text: "--rk-text",
7
+ textMuted: "--rk-text-muted",
8
+ primary: "--rk-primary",
9
+ primaryText: "--rk-primary-text",
10
+ accent: "--rk-accent",
11
+ accentBg: "--rk-accent-bg",
12
+ danger: "--rk-danger",
13
+ warning: "--rk-warning",
14
+ info: "--rk-info",
15
+ radius: "--rk-radius",
16
+ radiusLg: "--rk-radius-lg",
17
+ fontFamily: "--rk-font",
18
+ };
19
+ /** Dark preset. Light is the styles' built-in fallbacks, so its preset is {}. */
20
+ const DARK = {
21
+ background: "#18181b",
22
+ surface: "#27272a",
23
+ subtle: "#3f3f46",
24
+ border: "#3f3f46",
25
+ text: "#fafafa",
26
+ textMuted: "#a1a1aa",
27
+ primary: "#fafafa",
28
+ primaryText: "#18181b",
29
+ accent: "#4ade80",
30
+ accentBg: "#14532d",
31
+ danger: "#f87171",
32
+ warning: "#fb923c",
33
+ info: "#60a5fa",
34
+ };
35
+ /** Turn a theme input into the `--rk-*` custom properties to set on the root. */
36
+ export function resolveTheme(input = "light") {
37
+ const theme = input === "light" ? {} : input === "dark" ? DARK : input;
38
+ const vars = {};
39
+ for (const key of Object.keys(VARS)) {
40
+ const value = theme[key];
41
+ if (value !== undefined) {
42
+ vars[VARS[key]] = typeof value === "number" ? `${value}px` : String(value);
43
+ }
44
+ }
45
+ return vars;
46
+ }
47
+ export const DEFAULT_LABELS = {
48
+ steps: { amount: "Amount", deposit: "Transfer", done: "Done" },
49
+ status: {
50
+ created: "Order created",
51
+ awaiting_deposit: "Waiting for your deposit",
52
+ awaiting_signature: "Waiting for your signature",
53
+ processing: "Exchanging & settling on-chain",
54
+ settled: "Funds delivered",
55
+ failed: "Order failed",
56
+ cancelled: "Order cancelled",
57
+ },
58
+ youPay: "You pay",
59
+ youSell: "You sell",
60
+ youReceive: "You receive",
61
+ assetToSell: "Asset to sell",
62
+ fetchingQuote: "Fetching live quote…",
63
+ rate: "Rate",
64
+ fee: "fee",
65
+ continueButton: "Continue",
66
+ creatingOrder: "Creating order…",
67
+ fundsDelivered: "Funds delivered",
68
+ signAndSend: "Sign & send",
69
+ signing: "Signing & sending…",
70
+ loadingDeposit: "Loading deposit instructions…",
71
+ noSigner: "No signer configured — pass the `signer` prop to enable in-widget signing.",
72
+ };
73
+ /** Deep-merge caller overrides over the defaults (steps/status merged too). */
74
+ export function resolveLabels(overrides) {
75
+ if (!overrides)
76
+ return DEFAULT_LABELS;
77
+ return {
78
+ ...DEFAULT_LABELS,
79
+ ...overrides,
80
+ steps: { ...DEFAULT_LABELS.steps, ...overrides.steps },
81
+ status: { ...DEFAULT_LABELS.status, ...overrides.status },
82
+ };
83
+ }
84
+ /** Compact vs. default spacing, exposed as `--rk-pad` / `--rk-gap`. */
85
+ export function sizeVars(size) {
86
+ const vars = size === "sm"
87
+ ? { "--rk-pad": "14px", "--rk-gap": "10px" }
88
+ : { "--rk-pad": "20px", "--rk-gap": "14px" };
89
+ return vars;
90
+ }
91
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ramp-kit/react",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "React onramp widget and hooks for LATAM ramps on Stellar: 3-step embeddable flow with live quote countdown, PIX/SPEI deposit instructions and order tracking to settlement, over any @ramp-kit/core provider",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  "README.md"
18
18
  ],
19
19
  "dependencies": {
20
- "@ramp-kit/core": "0.1.3"
20
+ "@ramp-kit/core": "0.1.6"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": ">=18"