kaleido-ui 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.
@@ -105,12 +105,68 @@
105
105
  --color-network-arkade: #7C3AED;
106
106
  --color-network-spark: #FF6D00;
107
107
  --color-network-lightning: #F6C343;
108
+ --color-network-bitcoin-chip: #44341F;
109
+ --color-network-rgb-chip: #44282B;
110
+ --color-network-arkade-chip: #362B55;
111
+ --color-network-spark-chip: #284338;
112
+ --color-network-lightning-chip: #3D421F;
113
+ --color-network-bitcoin-text: #F2B063;
114
+ --color-network-rgb-text: #E87872;
115
+ --color-network-arkade-text: #A98CF2;
116
+ --color-network-spark-text: #D6E5DE;
117
+ --color-network-lightning-text: #E4D56F;
118
+
119
+ /* Asset icon brand colors */
120
+ --color-asset-eth: #627EEA;
121
+ --color-asset-usdt: #26A17B;
122
+ --color-asset-usdc: #2775CA;
108
123
 
109
124
  /* Transaction colors */
110
125
  --color-tx-sent: #F94040;
111
126
  --color-tx-receive: #2BEE79;
112
127
  --color-tx-swap: #4290FF;
113
128
 
129
+ /* Intent colors */
130
+ --color-success: #2BEE79;
131
+ --color-warning: #FACC15;
132
+ --color-danger: #F94040;
133
+ --color-info: #4290FF;
134
+
135
+ /* Surface elevation (translucent overlays for dark theme) */
136
+ --color-surface-base: rgba(255, 255, 255, 0.03);
137
+ --color-surface-card: rgba(255, 255, 255, 0.05);
138
+ --color-surface-elevated: rgba(255, 255, 255, 0.08);
139
+ --color-surface-overlay: rgba(0, 0, 0, 0.20);
140
+ --color-surface-overlay-strong: rgba(0, 0, 0, 0.35);
141
+ --color-surface-scrim: rgba(0, 0, 0, 0.60);
142
+
143
+ /* Border ladder */
144
+ --color-border-subtle: rgba(255, 255, 255, 0.04);
145
+ --color-border-default: rgba(255, 255, 255, 0.08);
146
+ --color-border-strong: rgba(255, 255, 255, 0.15);
147
+
148
+ /* Text ladder for dark surfaces */
149
+ --color-text-primary: #ffffff;
150
+ --color-text-secondary: rgba(255, 255, 255, 0.65);
151
+ --color-text-muted: rgba(255, 255, 255, 0.45);
152
+ --color-text-dimmed: rgba(255, 255, 255, 0.35);
153
+ --color-text-disabled: rgba(255, 255, 255, 0.25);
154
+ --color-text-on-accent: #051B10;
155
+
156
+ /* Scrollbar colors */
157
+ --color-scrollbar-thumb: rgba(255, 255, 255, 0.16);
158
+ --color-scrollbar-thumb-hover: rgba(43, 238, 121, 0.55);
159
+ --color-scrollbar-track: transparent;
160
+ --spacing-scrollbar: 2px;
161
+ --spacing-scrollbar-hover: 6px;
162
+ --spacing-scrollbar-thumb-min: 24px;
163
+
164
+ /* Layers */
165
+ --z-header: 50;
166
+ --z-nav: 2147483646;
167
+ --z-scrollbar: 2147483645;
168
+ --z-modal: 2147483647;
169
+
114
170
  /* Typography */
115
171
  --font-sans: 'Satoshi', system-ui, -apple-system, sans-serif;
116
172
  --font-display: 'Satoshi', system-ui, -apple-system, sans-serif;
@@ -132,6 +188,41 @@
132
188
  --text-display: 36px;
133
189
  --text-display--line-height: 40px;
134
190
 
191
+ /* Letter spacing — uppercase eyebrow labels */
192
+ --tracking-eyebrow: 0.18em;
193
+ --tracking-eyebrow-wide: 0.22em;
194
+
195
+ /* Icon-size scale (text-icon-{xxs..5xl}) — for Material Symbols glyphs */
196
+ --text-icon-xxs: 11px;
197
+ --text-icon-xxs--line-height: 1;
198
+ --text-icon-xs: 13px;
199
+ --text-icon-xs--line-height: 1;
200
+ --text-icon-sm: 14px;
201
+ --text-icon-sm--line-height: 1;
202
+ --text-icon-md: 16px;
203
+ --text-icon-md--line-height: 1;
204
+ --text-icon-lg: 18px;
205
+ --text-icon-lg--line-height: 1;
206
+ --text-icon-xl: 20px;
207
+ --text-icon-xl--line-height: 1;
208
+ --text-icon-2xl: 24px;
209
+ --text-icon-2xl--line-height: 1;
210
+ --text-icon-3xl: 28px;
211
+ --text-icon-3xl--line-height: 1;
212
+ --text-icon-4xl: 32px;
213
+ --text-icon-4xl--line-height: 1;
214
+ --text-icon-5xl: 40px;
215
+ --text-icon-5xl--line-height: 1;
216
+ --text-icon-6xl: 64px;
217
+ --text-icon-6xl--line-height: 1;
218
+
219
+ /* Icon box-size scale (size-icon-{sm,md,lg,nav,control}) — for SVG icons */
220
+ --spacing-icon-sm: 14px;
221
+ --spacing-icon-md: 16px;
222
+ --spacing-icon-lg: 18px;
223
+ --spacing-icon-nav: 22px;
224
+ --spacing-icon-control: 34px;
225
+
135
226
  /* Border radius */
136
227
  --radius-none: 0px;
137
228
  --radius-xs: 2px;
@@ -149,10 +240,25 @@
149
240
  --radius-pill: 9999px;
150
241
 
151
242
  /* Shadows */
152
- --shadow-glow: 0 0 20px rgba(10, 10, 10, 0.15);
153
- --shadow-glow-strong: 0 0 30px rgba(10, 10, 10, 0.25);
154
- --shadow-glow-subtle: 0 0 15px rgba(10, 10, 10, 0.12);
155
- --shadow-glow-accent: 0 4px 30px rgba(10, 10, 10, 0.18);
243
+ --shadow-glow: 0 0 20px rgba(10, 10, 10, 0.15);
244
+ --shadow-glow-strong: 0 0 30px rgba(10, 10, 10, 0.25);
245
+ --shadow-glow-subtle: 0 0 15px rgba(10, 10, 10, 0.12);
246
+ --shadow-glow-accent: 0 4px 30px rgba(10, 10, 10, 0.18);
247
+ --shadow-header: 0 10px 24px rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.04);
248
+ --shadow-glow-primary-soft: 0 0 8px rgba(43, 238, 121, 0.5);
249
+ --shadow-glow-primary: 0 0 30px rgba(43, 238, 121, 0.45);
250
+ --shadow-glow-primary-strong: 0 0 40px rgba(43, 238, 121, 0.5);
251
+ --shadow-popover: 0 18px 55px rgba(0, 0, 0, 0.65);
252
+ --shadow-toast: 0 0 30px rgba(0, 0, 0, 0.3);
253
+
254
+ /* Drop-shadows (Tailwind v4 emits drop-shadow-* utilities from --drop-shadow-*) */
255
+ --drop-shadow-glow-primary-soft: 0 0 8px rgba(43, 238, 121, 0.5);
256
+ --drop-shadow-glow-primary: 0 0 30px rgba(43, 238, 121, 0.45);
257
+
258
+ /* Gradients (use as background-image: var(--gradient-page)) */
259
+ --gradient-page: radial-gradient(ellipse at 60% 10%, rgba(255, 255, 255, 0.06) 0%, transparent 55%), radial-gradient(ellipse at 30% 85%, rgba(124, 58, 237, 0.08) 0%, transparent 50%);
260
+ --gradient-card-sheen: linear-gradient(to bottom right, rgba(255, 255, 255, 0.01), rgba(43, 238, 121, 0.04));
261
+ --gradient-headline: linear-gradient(to right, #ffffff, #ffffff, rgba(255, 255, 255, 0.45));
156
262
 
157
263
  /* Transitions */
158
264
  --transition-fast: 150ms ease-out;
@@ -248,3 +354,34 @@
248
354
  transform: translateY(0);
249
355
  }
250
356
  }
357
+
358
+ /* ── Reusable utilities backed by tokens ───────────────────────────────── */
359
+ /* Page-shell radial wash. Usage: <div className="bg-page-radial"> */
360
+ .bg-page-radial {
361
+ background-image: var(--gradient-page);
362
+ }
363
+ /* Receive-panel sheen used by SwapInputCard. */
364
+ .bg-card-sheen {
365
+ background-image: var(--gradient-card-sheen);
366
+ }
367
+ /* Brand headline gradient. Pair with bg-clip-text + text-transparent
368
+ on the consuming element (the HeadlineGradient component does this). */
369
+ .bg-gradient-headline {
370
+ background-image: var(--gradient-headline);
371
+ }
372
+ /* Legacy app scroll region. Prefer the ScrollArea component for visible overlay scrollbars. */
373
+ .app-scrollbar {
374
+ -ms-overflow-style: none;
375
+ scrollbar-width: none;
376
+ }
377
+ .app-scrollbar::-webkit-scrollbar {
378
+ display: none;
379
+ }
380
+ /* Hidden horizontal scroller utility used by compact chip rows. */
381
+ .no-scrollbar {
382
+ -ms-overflow-style: none;
383
+ scrollbar-width: none;
384
+ }
385
+ .no-scrollbar::-webkit-scrollbar {
386
+ display: none;
387
+ }
@@ -85,11 +85,43 @@ var colors = {
85
85
  textSecondary: darkSemanticColors.mutedFg,
86
86
  textMuted: darkSemanticColors.border,
87
87
  textDimmed: darkSemanticColors.ring,
88
- /** Semantic */
88
+ /** Semantic intent colors (use as text-success, bg-warning/15, etc.) */
89
89
  success: darkSemanticColors.primary,
90
- warning: darkSemanticColors.chart3,
90
+ warning: "#FACC15",
91
+ danger: "#F94040",
92
+ info: "#4290FF",
93
+ /** @deprecated alias for `danger` — kept for back-compat. */
91
94
  error: darkSemanticColors.destructive,
92
- info: darkSemanticColors.chart1,
95
+ /** Surface elevation — translucent overlays applied over the page background */
96
+ surface: {
97
+ base: "rgba(255, 255, 255, 0.03)",
98
+ card: "rgba(255, 255, 255, 0.05)",
99
+ elevated: "rgba(255, 255, 255, 0.08)",
100
+ overlay: "rgba(0, 0, 0, 0.20)",
101
+ overlayStrong: "rgba(0, 0, 0, 0.35)",
102
+ scrim: "rgba(0, 0, 0, 0.60)"
103
+ },
104
+ /** Border ladder — translucent edges on dark surfaces */
105
+ borderToken: {
106
+ subtle: "rgba(255, 255, 255, 0.04)",
107
+ default: "rgba(255, 255, 255, 0.08)",
108
+ strong: "rgba(255, 255, 255, 0.15)"
109
+ },
110
+ /** Text ladder for dark surfaces */
111
+ text: {
112
+ primary: "#ffffff",
113
+ secondary: "rgba(255, 255, 255, 0.65)",
114
+ muted: "rgba(255, 255, 255, 0.45)",
115
+ dimmed: "rgba(255, 255, 255, 0.35)",
116
+ disabled: "rgba(255, 255, 255, 0.25)",
117
+ onAccent: "#051B10"
118
+ },
119
+ /** Scrollbar treatment for app-owned scroll regions */
120
+ scrollbar: {
121
+ thumb: "rgba(255, 255, 255, 0.16)",
122
+ thumbHover: "rgba(43, 238, 121, 0.55)",
123
+ track: "transparent"
124
+ },
93
125
  /** Network / Layer */
94
126
  network: {
95
127
  bitcoin: "#F7931A",
@@ -98,6 +130,26 @@ var colors = {
98
130
  spark: "#FF6D00",
99
131
  lightning: "#F6C343"
100
132
  },
133
+ networkChip: {
134
+ bitcoin: "#44341F",
135
+ rgb: "#44282B",
136
+ arkade: "#362B55",
137
+ spark: "#284338",
138
+ lightning: "#3D421F"
139
+ },
140
+ networkText: {
141
+ bitcoin: "#F2B063",
142
+ rgb: "#E87872",
143
+ arkade: "#A98CF2",
144
+ spark: "#D6E5DE",
145
+ lightning: "#E4D56F"
146
+ },
147
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
148
+ assetIcon: {
149
+ eth: "#627EEA",
150
+ usdt: "#26A17B",
151
+ usdc: "#2775CA"
152
+ },
101
153
  /** Transaction direction */
102
154
  tx: {
103
155
  sent: "#F94040",
@@ -156,9 +208,9 @@ var import_jsx_runtime2 = require("react/jsx-runtime");
156
208
  var statusConfig = {
157
209
  success: { color: colors.primary, bg: `${colors.primary}1A`, borderColor: `${colors.primary}33`, label: "Success" },
158
210
  completed: { color: colors.primary, bg: `${colors.primary}1A`, borderColor: `${colors.primary}33`, label: "Completed" },
159
- pending: { color: "#EAB308", bg: "#EAB3081A", borderColor: "#EAB30833", label: "Pending" },
160
- failed: { color: "#EF4444", bg: "#EF44441A", borderColor: "#EF444433", label: "Failed" },
161
- error: { color: "#EF4444", bg: "#EF44441A", borderColor: "#EF444433", label: "Error" }
211
+ pending: { color: colors.warning, bg: `${colors.warning}1A`, borderColor: `${colors.warning}33`, label: "Pending" },
212
+ failed: { color: colors.danger, bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, label: "Failed" },
213
+ error: { color: colors.danger, bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, label: "Error" }
162
214
  };
163
215
  function StatusBadge({ status, style }) {
164
216
  const config = statusConfig[status];
@@ -216,10 +268,10 @@ var styles2 = import_react_native2.StyleSheet.create({
216
268
  var import_react_native3 = require("react-native");
217
269
  var import_jsx_runtime4 = require("react/jsx-runtime");
218
270
  var variantConfig = {
219
- error: { bg: "#EF44441A", borderColor: "#EF444433", iconColor: "#F87171" },
220
- warning: { bg: "#F59E0B1A", borderColor: "#F59E0B33", iconColor: "#FBBF24" },
221
- info: { bg: "#3B82F61A", borderColor: "#3B82F633", iconColor: "#60A5FA" },
222
- success: { bg: `${colors.primary}1A`, borderColor: `${colors.primary}33`, iconColor: colors.primary }
271
+ error: { bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, iconColor: colors.danger },
272
+ warning: { bg: `${colors.warning}1A`, borderColor: `${colors.warning}33`, iconColor: colors.warning },
273
+ info: { bg: `${colors.info}1A`, borderColor: `${colors.info}33`, iconColor: colors.info },
274
+ success: { bg: `${colors.success}1A`, borderColor: `${colors.success}33`, iconColor: colors.success }
223
275
  };
224
276
  function AlertBanner({ variant = "info", children, style }) {
225
277
  const config = variantConfig[variant];
@@ -236,7 +288,7 @@ var styles3 = import_react_native3.StyleSheet.create({
236
288
  },
237
289
  text: {
238
290
  fontSize: 14,
239
- color: "#FFFFFF",
291
+ color: colors.text.primary,
240
292
  flex: 1
241
293
  }
242
294
  });
@@ -252,7 +304,7 @@ var styles4 = import_react_native4.StyleSheet.create({
252
304
  fontSize: 10,
253
305
  fontWeight: "900",
254
306
  letterSpacing: 2.2,
255
- color: "rgba(255, 255, 255, 0.3)"
307
+ color: colors.text.dimmed
256
308
  }
257
309
  });
258
310
 
@@ -302,7 +354,17 @@ var shadow = {
302
354
  glow: "0 0 20px rgba(10, 10, 10, 0.15)",
303
355
  glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)",
304
356
  glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)",
305
- glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)"
357
+ glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)",
358
+ /** Header separation shadow for sticky app chrome. */
359
+ header: "0 10px 24px rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.04)",
360
+ /** Brand green glow — drives all primary CTA / focus halos. */
361
+ glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)",
362
+ glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)",
363
+ glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)",
364
+ /** Floating popover / modal elevation on dark surfaces. */
365
+ popover: "0 18px 55px rgba(0, 0, 0, 0.65)",
366
+ /** Toast / inline-notification elevation. */
367
+ toast: "0 0 30px rgba(0, 0, 0, 0.3)"
306
368
  };
307
369
 
308
370
  // src/tokens/transitions.ts
@@ -26,9 +26,9 @@ declare const kaleidoswapTokens: {
26
26
  readonly textPrimary: "#ffffff";
27
27
  readonly textSecondary: "rgba(255, 255, 255, 0.55)";
28
28
  readonly success: "#2BEE79";
29
- readonly warning: "#F7931A";
29
+ readonly warning: "#FACC15";
30
30
  readonly error: "hsl(0 62% 50%)";
31
- readonly info: "#2BEE79";
31
+ readonly info: "#4290FF";
32
32
  readonly network: {
33
33
  readonly bitcoin: "#F7931A";
34
34
  readonly rgb: "#DD352E";
@@ -69,19 +69,19 @@ declare function NetworkBadge({ network, style }: NetworkBadgeProps): react_jsx_
69
69
 
70
70
  declare const variantConfig: {
71
71
  readonly error: {
72
- readonly bg: "#EF44441A";
73
- readonly borderColor: "#EF444433";
74
- readonly iconColor: "#F87171";
72
+ readonly bg: "#F940401A";
73
+ readonly borderColor: "#F9404033";
74
+ readonly iconColor: "#F94040";
75
75
  };
76
76
  readonly warning: {
77
- readonly bg: "#F59E0B1A";
78
- readonly borderColor: "#F59E0B33";
79
- readonly iconColor: "#FBBF24";
77
+ readonly bg: "#FACC151A";
78
+ readonly borderColor: "#FACC1533";
79
+ readonly iconColor: "#FACC15";
80
80
  };
81
81
  readonly info: {
82
- readonly bg: "#3B82F61A";
83
- readonly borderColor: "#3B82F633";
84
- readonly iconColor: "#60A5FA";
82
+ readonly bg: "#4290FF1A";
83
+ readonly borderColor: "#4290FF33";
84
+ readonly iconColor: "#4290FF";
85
85
  };
86
86
  readonly success: {
87
87
  readonly bg: "#2BEE791A";
@@ -107,11 +107,43 @@ declare const colors: {
107
107
  readonly textSecondary: "rgba(255, 255, 255, 0.55)";
108
108
  readonly textMuted: "hsl(150 20% 24%)";
109
109
  readonly textDimmed: "#2BEE79";
110
- /** Semantic */
110
+ /** Semantic intent colors (use as text-success, bg-warning/15, etc.) */
111
111
  readonly success: "#2BEE79";
112
- readonly warning: "#F7931A";
112
+ readonly warning: "#FACC15";
113
+ readonly danger: "#F94040";
114
+ readonly info: "#4290FF";
115
+ /** @deprecated alias for `danger` — kept for back-compat. */
113
116
  readonly error: "hsl(0 62% 50%)";
114
- readonly info: "#2BEE79";
117
+ /** Surface elevation — translucent overlays applied over the page background */
118
+ readonly surface: {
119
+ readonly base: "rgba(255, 255, 255, 0.03)";
120
+ readonly card: "rgba(255, 255, 255, 0.05)";
121
+ readonly elevated: "rgba(255, 255, 255, 0.08)";
122
+ readonly overlay: "rgba(0, 0, 0, 0.20)";
123
+ readonly overlayStrong: "rgba(0, 0, 0, 0.35)";
124
+ readonly scrim: "rgba(0, 0, 0, 0.60)";
125
+ };
126
+ /** Border ladder — translucent edges on dark surfaces */
127
+ readonly borderToken: {
128
+ readonly subtle: "rgba(255, 255, 255, 0.04)";
129
+ readonly default: "rgba(255, 255, 255, 0.08)";
130
+ readonly strong: "rgba(255, 255, 255, 0.15)";
131
+ };
132
+ /** Text ladder for dark surfaces */
133
+ readonly text: {
134
+ readonly primary: "#ffffff";
135
+ readonly secondary: "rgba(255, 255, 255, 0.65)";
136
+ readonly muted: "rgba(255, 255, 255, 0.45)";
137
+ readonly dimmed: "rgba(255, 255, 255, 0.35)";
138
+ readonly disabled: "rgba(255, 255, 255, 0.25)";
139
+ readonly onAccent: "#051B10";
140
+ };
141
+ /** Scrollbar treatment for app-owned scroll regions */
142
+ readonly scrollbar: {
143
+ readonly thumb: "rgba(255, 255, 255, 0.16)";
144
+ readonly thumbHover: "rgba(43, 238, 121, 0.55)";
145
+ readonly track: "transparent";
146
+ };
115
147
  /** Network / Layer */
116
148
  readonly network: {
117
149
  readonly bitcoin: "#F7931A";
@@ -120,6 +152,26 @@ declare const colors: {
120
152
  readonly spark: "#FF6D00";
121
153
  readonly lightning: "#F6C343";
122
154
  };
155
+ readonly networkChip: {
156
+ readonly bitcoin: "#44341F";
157
+ readonly rgb: "#44282B";
158
+ readonly arkade: "#362B55";
159
+ readonly spark: "#284338";
160
+ readonly lightning: "#3D421F";
161
+ };
162
+ readonly networkText: {
163
+ readonly bitcoin: "#F2B063";
164
+ readonly rgb: "#E87872";
165
+ readonly arkade: "#A98CF2";
166
+ readonly spark: "#D6E5DE";
167
+ readonly lightning: "#E4D56F";
168
+ };
169
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
170
+ readonly assetIcon: {
171
+ readonly eth: "#627EEA";
172
+ readonly usdt: "#26A17B";
173
+ readonly usdc: "#2775CA";
174
+ };
123
175
  /** Transaction direction */
124
176
  readonly tx: {
125
177
  readonly sent: "#F94040";
@@ -208,6 +260,16 @@ declare const shadow: {
208
260
  readonly glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)";
209
261
  readonly glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)";
210
262
  readonly glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)";
263
+ /** Header separation shadow for sticky app chrome. */
264
+ readonly header: "0 10px 24px rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.04)";
265
+ /** Brand green glow — drives all primary CTA / focus halos. */
266
+ readonly glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)";
267
+ readonly glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)";
268
+ readonly glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)";
269
+ /** Floating popover / modal elevation on dark surfaces. */
270
+ readonly popover: "0 18px 55px rgba(0, 0, 0, 0.65)";
271
+ /** Toast / inline-notification elevation. */
272
+ readonly toast: "0 0 30px rgba(0, 0, 0, 0.3)";
211
273
  };
212
274
 
213
275
  /**
@@ -26,9 +26,9 @@ declare const kaleidoswapTokens: {
26
26
  readonly textPrimary: "#ffffff";
27
27
  readonly textSecondary: "rgba(255, 255, 255, 0.55)";
28
28
  readonly success: "#2BEE79";
29
- readonly warning: "#F7931A";
29
+ readonly warning: "#FACC15";
30
30
  readonly error: "hsl(0 62% 50%)";
31
- readonly info: "#2BEE79";
31
+ readonly info: "#4290FF";
32
32
  readonly network: {
33
33
  readonly bitcoin: "#F7931A";
34
34
  readonly rgb: "#DD352E";
@@ -69,19 +69,19 @@ declare function NetworkBadge({ network, style }: NetworkBadgeProps): react_jsx_
69
69
 
70
70
  declare const variantConfig: {
71
71
  readonly error: {
72
- readonly bg: "#EF44441A";
73
- readonly borderColor: "#EF444433";
74
- readonly iconColor: "#F87171";
72
+ readonly bg: "#F940401A";
73
+ readonly borderColor: "#F9404033";
74
+ readonly iconColor: "#F94040";
75
75
  };
76
76
  readonly warning: {
77
- readonly bg: "#F59E0B1A";
78
- readonly borderColor: "#F59E0B33";
79
- readonly iconColor: "#FBBF24";
77
+ readonly bg: "#FACC151A";
78
+ readonly borderColor: "#FACC1533";
79
+ readonly iconColor: "#FACC15";
80
80
  };
81
81
  readonly info: {
82
- readonly bg: "#3B82F61A";
83
- readonly borderColor: "#3B82F633";
84
- readonly iconColor: "#60A5FA";
82
+ readonly bg: "#4290FF1A";
83
+ readonly borderColor: "#4290FF33";
84
+ readonly iconColor: "#4290FF";
85
85
  };
86
86
  readonly success: {
87
87
  readonly bg: "#2BEE791A";
@@ -107,11 +107,43 @@ declare const colors: {
107
107
  readonly textSecondary: "rgba(255, 255, 255, 0.55)";
108
108
  readonly textMuted: "hsl(150 20% 24%)";
109
109
  readonly textDimmed: "#2BEE79";
110
- /** Semantic */
110
+ /** Semantic intent colors (use as text-success, bg-warning/15, etc.) */
111
111
  readonly success: "#2BEE79";
112
- readonly warning: "#F7931A";
112
+ readonly warning: "#FACC15";
113
+ readonly danger: "#F94040";
114
+ readonly info: "#4290FF";
115
+ /** @deprecated alias for `danger` — kept for back-compat. */
113
116
  readonly error: "hsl(0 62% 50%)";
114
- readonly info: "#2BEE79";
117
+ /** Surface elevation — translucent overlays applied over the page background */
118
+ readonly surface: {
119
+ readonly base: "rgba(255, 255, 255, 0.03)";
120
+ readonly card: "rgba(255, 255, 255, 0.05)";
121
+ readonly elevated: "rgba(255, 255, 255, 0.08)";
122
+ readonly overlay: "rgba(0, 0, 0, 0.20)";
123
+ readonly overlayStrong: "rgba(0, 0, 0, 0.35)";
124
+ readonly scrim: "rgba(0, 0, 0, 0.60)";
125
+ };
126
+ /** Border ladder — translucent edges on dark surfaces */
127
+ readonly borderToken: {
128
+ readonly subtle: "rgba(255, 255, 255, 0.04)";
129
+ readonly default: "rgba(255, 255, 255, 0.08)";
130
+ readonly strong: "rgba(255, 255, 255, 0.15)";
131
+ };
132
+ /** Text ladder for dark surfaces */
133
+ readonly text: {
134
+ readonly primary: "#ffffff";
135
+ readonly secondary: "rgba(255, 255, 255, 0.65)";
136
+ readonly muted: "rgba(255, 255, 255, 0.45)";
137
+ readonly dimmed: "rgba(255, 255, 255, 0.35)";
138
+ readonly disabled: "rgba(255, 255, 255, 0.25)";
139
+ readonly onAccent: "#051B10";
140
+ };
141
+ /** Scrollbar treatment for app-owned scroll regions */
142
+ readonly scrollbar: {
143
+ readonly thumb: "rgba(255, 255, 255, 0.16)";
144
+ readonly thumbHover: "rgba(43, 238, 121, 0.55)";
145
+ readonly track: "transparent";
146
+ };
115
147
  /** Network / Layer */
116
148
  readonly network: {
117
149
  readonly bitcoin: "#F7931A";
@@ -120,6 +152,26 @@ declare const colors: {
120
152
  readonly spark: "#FF6D00";
121
153
  readonly lightning: "#F6C343";
122
154
  };
155
+ readonly networkChip: {
156
+ readonly bitcoin: "#44341F";
157
+ readonly rgb: "#44282B";
158
+ readonly arkade: "#362B55";
159
+ readonly spark: "#284338";
160
+ readonly lightning: "#3D421F";
161
+ };
162
+ readonly networkText: {
163
+ readonly bitcoin: "#F2B063";
164
+ readonly rgb: "#E87872";
165
+ readonly arkade: "#A98CF2";
166
+ readonly spark: "#D6E5DE";
167
+ readonly lightning: "#E4D56F";
168
+ };
169
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
170
+ readonly assetIcon: {
171
+ readonly eth: "#627EEA";
172
+ readonly usdt: "#26A17B";
173
+ readonly usdc: "#2775CA";
174
+ };
123
175
  /** Transaction direction */
124
176
  readonly tx: {
125
177
  readonly sent: "#F94040";
@@ -208,6 +260,16 @@ declare const shadow: {
208
260
  readonly glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)";
209
261
  readonly glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)";
210
262
  readonly glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)";
263
+ /** Header separation shadow for sticky app chrome. */
264
+ readonly header: "0 10px 24px rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.04)";
265
+ /** Brand green glow — drives all primary CTA / focus halos. */
266
+ readonly glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)";
267
+ readonly glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)";
268
+ readonly glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)";
269
+ /** Floating popover / modal elevation on dark surfaces. */
270
+ readonly popover: "0 18px 55px rgba(0, 0, 0, 0.65)";
271
+ /** Toast / inline-notification elevation. */
272
+ readonly toast: "0 0 30px rgba(0, 0, 0, 0.3)";
211
273
  };
212
274
 
213
275
  /**