@ramp-kit/react 0.1.4 → 0.1.6

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
@@ -52,11 +52,60 @@ The widget walks the user through a 3-step flow:
52
52
  | `direction` | `"onramp" \| "offramp"` | Buy (default) or sell flow |
53
53
  | `network` | `Network` | Settlement network (default `"stellar"`) |
54
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 |
55
56
  | `assets` | `RampAsset[]` | Assets to offer (from `provider.listAssets()`) |
56
57
  | `signer` | `(xdr, passphrase) => Promise<string>` | Wallet signing callback for offramps (Freighter, hardware, local key) |
57
- | `stellarConfig` | `StellarConfig` | Network for signing — `stellarConfigFor("sandbox" \| "production")` |
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"`) |
58
67
  | `onOrderCreated` | `(orderId) => void` | Fired when the order is accepted |
59
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"` |
72
+
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
+ ```
60
109
 
61
110
  ### Sell flow (offramp) with Freighter
62
111
 
@@ -83,8 +132,52 @@ The widget renders an in-widget "Sign & send" step, recovers automatically
83
132
  from expired provider transactions (`tx_too_late` → regenerate → re-sign),
84
133
  and links the settlement transaction on Stellar Expert.
85
134
 
86
- Styling: neutral inline styles plus `rk-` class names (`rk-widget`,
87
- `rk-quote`, `rk-deposit`, `rk-done`) so you can theme it from your own CSS.
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.
88
181
 
89
182
  ## Hooks (build your own UI)
90
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 | null;
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,sCA4VjB"}
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)
@@ -90,27 +124,39 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
90
124
  if (!provider)
91
125
  return null;
92
126
  const selectedAsset = assets.find((a) => a.identifier === assetId);
93
- const stepIndex = STEPS.findIndex((s) => s.key === step);
127
+ const stepIndex = STEP_ORDER.indexOf(step);
94
128
  const deposit = order?.depositInstructions;
95
129
  const isTerminalFailure = order?.status === "failed" || order?.status === "cancelled";
96
130
  const isOfframp = direction === "offramp";
97
131
  /** Unit of what the user receives: token for onramps, fiat for offramps. */
98
132
  const receiveUnit = isOfframp ? fiatCurrency : (selectedAsset?.symbol ?? "");
99
133
  const isLiveStellar = provider.name !== "mock" && network === "stellar";
100
- const explorerNet = stellarConfig?.horizonUrl?.includes("testnet") !== false
101
- ? "testnet"
102
- : "public";
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";
103
143
  const txUrl = (hash) => `https://stellar.expert/explorer/${explorerNet}/tx/${hash}`;
104
144
  const needsSignature = isOfframp && order?.status === "awaiting_signature" && order.unsignedTx;
145
+ const fmt = (value) => formatAmount(value, locale);
105
146
  const signAndSend = async () => {
106
147
  if (!order?.unsignedTx || !signer)
107
148
  return;
108
149
  setSigning(true);
109
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;
110
156
  try {
111
157
  let res;
112
158
  try {
113
- res = await signAndSubmit(order.unsignedTx, signer, stellarConfig);
159
+ res = await signAndSubmit(order.unsignedTx, signer, resolvedStellarConfig, submitOpts);
114
160
  }
115
161
  catch (err) {
116
162
  // Provider-built Stellar txs expire in ~1-2 min: regenerate + retry.
@@ -120,7 +166,7 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
120
166
  const fresh = await provider.regenerateTx(order.id);
121
167
  if (!fresh.unsignedTx)
122
168
  throw err;
123
- res = await signAndSubmit(fresh.unsignedTx, signer, stellarConfig);
169
+ res = await signAndSubmit(fresh.unsignedTx, signer, resolvedStellarConfig, submitOpts);
124
170
  }
125
171
  else {
126
172
  throw err;
@@ -129,56 +175,67 @@ export function RampWidget({ provider, customerId, fiatCurrency, direction = "on
129
175
  setSignedTxHash(res.hash);
130
176
  }
131
177
  catch (err) {
178
+ onError?.(err, "sign");
132
179
  setSignError(err.message);
133
180
  }
134
181
  finally {
135
182
  setSigning(false);
136
183
  }
137
184
  };
138
- 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: {
139
192
  ...styles.stepDot,
140
193
  ...(i < stepIndex ? styles.stepDotPast : {}),
141
194
  ...(i === stepIndex ? styles.stepDotActive : {}),
142
195
  }, children: i < stepIndex ? "✓" : i + 1 }), _jsx("span", { style: {
143
196
  ...styles.stepLabel,
144
197
  ...(i === stepIndex ? styles.stepLabelActive : {}),
145
- }, 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
146
- ? `You sell (${selectedAsset?.symbol ?? "asset"})`
147
- : `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: {
148
201
  ...styles.countdownBar,
149
202
  width: `${Math.min(100, (secondsLeft / 120) * 100)}%`,
150
- } }) }), _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
151
- ? "Signing & sending…"
152
- : `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", " ", 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"
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"
153
206
  ? "Pay this PIX charge to fund your order:"
154
- : "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: {
155
208
  ...styles.statusDot,
156
209
  background: isTerminalFailure
157
- ? "#c0392b"
210
+ ? "var(--rk-danger, #c0392b)"
158
211
  : order?.status === "processing"
159
- ? "#e67e22"
160
- : "#3498db",
161
- } }), _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
162
215
  ? selectedAsset?.symbol
163
- : order.quote.request.fiatCurrency, " ", "\u2192 ", trim(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"
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"
164
217
  ? " (sandbox payouts run in batches)"
165
218
  : "", "."] }))] }))] }));
166
219
  }
167
- function trim(value) {
220
+ function formatAmount(value, locale) {
168
221
  const n = Number(value);
169
- return Number.isFinite(n) ? n.toLocaleString("en-US", { maximumFractionDigits: 4 }) : value;
222
+ return Number.isFinite(n)
223
+ ? n.toLocaleString(locale, { maximumFractionDigits: 4 })
224
+ : value;
170
225
  }
226
+ /** Static styles read theme tokens via `var(--rk-*, fallback)`; the fallbacks are the light preset. */
171
227
  const styles = {
172
228
  widget: {
173
229
  maxWidth: 400,
174
- padding: 20,
175
- borderRadius: 14,
176
- border: "1px solid #e4e4e7",
177
- background: "#fff",
178
- 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)",
179
236
  display: "flex",
180
237
  flexDirection: "column",
181
- gap: 14,
238
+ gap: "var(--rk-gap, 14px)",
182
239
  },
183
240
  steps: { display: "flex", alignItems: "center", gap: 6 },
184
241
  stepItem: { display: "flex", alignItems: "center", gap: 6, flex: "1 1 0" },
@@ -191,28 +248,41 @@ const styles = {
191
248
  justifyContent: "center",
192
249
  fontSize: 11,
193
250
  fontWeight: 600,
194
- background: "#f4f4f5",
195
- color: "#71717a",
251
+ background: "var(--rk-subtle, #f4f4f5)",
252
+ color: "var(--rk-text-muted, #71717a)",
196
253
  flexShrink: 0,
197
254
  },
198
- stepDotActive: { background: "#18181b", color: "#fff" },
199
- stepDotPast: { background: "#dcfce7", color: "#16a34a" },
200
- stepLabel: { fontSize: 12, color: "#a1a1aa" },
201
- stepLabelActive: { color: "#18181b", fontWeight: 600 },
202
- stepLine: { flex: 1, height: 1, background: "#e4e4e7" },
203
- 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
+ },
204
273
  input: {
205
274
  padding: 10,
206
- borderRadius: 10,
207
- border: "1px solid #d4d4d8",
275
+ borderRadius: "var(--rk-radius, 10px)",
276
+ border: "1px solid var(--rk-border, #d4d4d8)",
208
277
  fontSize: 16,
209
- background: "#fff",
278
+ background: "var(--rk-surface, #fff)",
279
+ color: "var(--rk-text, #18181b)",
210
280
  },
211
281
  quoteBox: {
212
282
  padding: 14,
213
- borderRadius: 10,
214
- background: "#fafafa",
215
- border: "1px solid #f0f0f1",
283
+ borderRadius: "var(--rk-radius, 10px)",
284
+ background: "var(--rk-surface, #fafafa)",
285
+ border: "1px solid var(--rk-border, #f0f0f1)",
216
286
  display: "flex",
217
287
  flexDirection: "column",
218
288
  gap: 8,
@@ -226,20 +296,20 @@ const styles = {
226
296
  countdownTrack: {
227
297
  height: 3,
228
298
  borderRadius: 2,
229
- background: "#e4e4e7",
299
+ background: "var(--rk-border, #e4e4e7)",
230
300
  overflow: "hidden",
231
301
  },
232
302
  countdownBar: {
233
303
  height: "100%",
234
- background: "#18181b",
304
+ background: "var(--rk-primary, #18181b)",
235
305
  transition: "width 1s linear",
236
306
  },
237
307
  pill: {
238
308
  fontSize: 12,
239
309
  padding: "2px 8px",
240
310
  borderRadius: 999,
241
- background: "#f4f4f5",
242
- color: "#52525b",
311
+ background: "var(--rk-subtle, #f4f4f5)",
312
+ color: "var(--rk-text-muted, #52525b)",
243
313
  fontVariantNumeric: "tabular-nums",
244
314
  },
245
315
  railBadge: {
@@ -248,16 +318,16 @@ const styles = {
248
318
  letterSpacing: 0.5,
249
319
  padding: "3px 10px",
250
320
  borderRadius: 999,
251
- background: "#ecfdf5",
252
- color: "#047857",
253
- 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)",
254
324
  },
255
325
  button: {
256
326
  padding: "11px 16px",
257
- borderRadius: 10,
327
+ borderRadius: "var(--rk-radius, 10px)",
258
328
  border: "none",
259
- background: "#18181b",
260
- color: "#fff",
329
+ background: "var(--rk-primary, #18181b)",
330
+ color: "var(--rk-primary-text, #fff)",
261
331
  fontSize: 15,
262
332
  fontWeight: 600,
263
333
  cursor: "pointer",
@@ -265,7 +335,7 @@ const styles = {
265
335
  depositBox: { display: "flex", flexDirection: "column", gap: 10 },
266
336
  statusRow: { display: "flex", alignItems: "center", gap: 8, marginTop: 4 },
267
337
  statusDot: { width: 8, height: 8, borderRadius: "50%", flexShrink: 0 },
268
- statusText: { fontSize: 13, color: "#3f3f46" },
338
+ statusText: { fontSize: 13, color: "var(--rk-text-muted, #3f3f46)" },
269
339
  doneBox: {
270
340
  display: "flex",
271
341
  flexDirection: "column",
@@ -278,23 +348,23 @@ const styles = {
278
348
  width: 44,
279
349
  height: 44,
280
350
  borderRadius: "50%",
281
- background: "#dcfce7",
282
- color: "#16a34a",
351
+ background: "var(--rk-accent-bg, #dcfce7)",
352
+ color: "var(--rk-accent, #16a34a)",
283
353
  display: "flex",
284
354
  alignItems: "center",
285
355
  justifyContent: "center",
286
356
  fontSize: 22,
287
357
  fontWeight: 700,
288
358
  },
289
- big: { fontSize: 19, fontWeight: 600, margin: 0, color: "#18181b" },
290
- 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 },
291
361
  mono: {
292
362
  fontFamily: "ui-monospace, monospace",
293
363
  wordBreak: "break-all",
294
364
  fontSize: 13,
295
- color: "#3f3f46",
365
+ color: "var(--rk-text-muted, #3f3f46)",
296
366
  margin: 0,
297
367
  },
298
- error: { color: "#c0392b", fontSize: 13, margin: 0 },
368
+ error: { color: "var(--rk-danger, #c0392b)", fontSize: 13, margin: 0 },
299
369
  };
300
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.4",
3
+ "version": "0.1.6",
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.4"
20
+ "@ramp-kit/core": "^0.1.7"
21
21
  },
22
22
  "peerDependencies": {
23
23
  "react": ">=18"