kaleido-ui 0.1.2 → 0.1.4

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.
@@ -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,37 @@ 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
+ };
115
141
  /** Network / Layer */
116
142
  readonly network: {
117
143
  readonly bitcoin: "#F7931A";
@@ -120,6 +146,19 @@ declare const colors: {
120
146
  readonly spark: "#FF6D00";
121
147
  readonly lightning: "#F6C343";
122
148
  };
149
+ readonly networkChip: {
150
+ readonly bitcoin: "#A65D0D";
151
+ readonly rgb: "#7F2623";
152
+ readonly arkade: "#43208B";
153
+ readonly spark: "#314238";
154
+ readonly lightning: "#53611E";
155
+ };
156
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
157
+ readonly assetIcon: {
158
+ readonly eth: "#627EEA";
159
+ readonly usdt: "#26A17B";
160
+ readonly usdc: "#2775CA";
161
+ };
123
162
  /** Transaction direction */
124
163
  readonly tx: {
125
164
  readonly sent: "#F94040";
@@ -184,15 +223,20 @@ declare const fontWeight: {
184
223
  * KaleidoSwap Border Radius Tokens
185
224
  */
186
225
  declare const radius: {
226
+ readonly none: "0px";
227
+ readonly xs: "2px";
187
228
  readonly sm: "4px";
188
229
  readonly md: "6px";
189
230
  readonly lg: "8px";
190
231
  readonly xl: "12px";
232
+ readonly '2xl': "16px";
233
+ readonly '3xl': "24px";
234
+ readonly '4xl': "32px";
235
+ readonly full: "9999px";
191
236
  readonly card: "16px";
192
237
  readonly panel: "24px";
193
- readonly pill: "9999px";
194
238
  readonly nav: "32px";
195
- readonly full: "9999px";
239
+ readonly pill: "9999px";
196
240
  };
197
241
 
198
242
  /**
@@ -203,6 +247,14 @@ declare const shadow: {
203
247
  readonly glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)";
204
248
  readonly glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)";
205
249
  readonly glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)";
250
+ /** Brand green glow — drives all primary CTA / focus halos. */
251
+ readonly glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)";
252
+ readonly glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)";
253
+ readonly glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)";
254
+ /** Floating popover / modal elevation on dark surfaces. */
255
+ readonly popover: "0 18px 55px rgba(0, 0, 0, 0.65)";
256
+ /** Toast / inline-notification elevation. */
257
+ readonly toast: "0 0 30px rgba(0, 0, 0, 0.3)";
206
258
  };
207
259
 
208
260
  /**
@@ -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,37 @@ 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
+ };
115
141
  /** Network / Layer */
116
142
  readonly network: {
117
143
  readonly bitcoin: "#F7931A";
@@ -120,6 +146,19 @@ declare const colors: {
120
146
  readonly spark: "#FF6D00";
121
147
  readonly lightning: "#F6C343";
122
148
  };
149
+ readonly networkChip: {
150
+ readonly bitcoin: "#A65D0D";
151
+ readonly rgb: "#7F2623";
152
+ readonly arkade: "#43208B";
153
+ readonly spark: "#314238";
154
+ readonly lightning: "#53611E";
155
+ };
156
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
157
+ readonly assetIcon: {
158
+ readonly eth: "#627EEA";
159
+ readonly usdt: "#26A17B";
160
+ readonly usdc: "#2775CA";
161
+ };
123
162
  /** Transaction direction */
124
163
  readonly tx: {
125
164
  readonly sent: "#F94040";
@@ -184,15 +223,20 @@ declare const fontWeight: {
184
223
  * KaleidoSwap Border Radius Tokens
185
224
  */
186
225
  declare const radius: {
226
+ readonly none: "0px";
227
+ readonly xs: "2px";
187
228
  readonly sm: "4px";
188
229
  readonly md: "6px";
189
230
  readonly lg: "8px";
190
231
  readonly xl: "12px";
232
+ readonly '2xl': "16px";
233
+ readonly '3xl': "24px";
234
+ readonly '4xl': "32px";
235
+ readonly full: "9999px";
191
236
  readonly card: "16px";
192
237
  readonly panel: "24px";
193
- readonly pill: "9999px";
194
238
  readonly nav: "32px";
195
- readonly full: "9999px";
239
+ readonly pill: "9999px";
196
240
  };
197
241
 
198
242
  /**
@@ -203,6 +247,14 @@ declare const shadow: {
203
247
  readonly glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)";
204
248
  readonly glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)";
205
249
  readonly glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)";
250
+ /** Brand green glow — drives all primary CTA / focus halos. */
251
+ readonly glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)";
252
+ readonly glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)";
253
+ readonly glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)";
254
+ /** Floating popover / modal elevation on dark surfaces. */
255
+ readonly popover: "0 18px 55px rgba(0, 0, 0, 0.65)";
256
+ /** Toast / inline-notification elevation. */
257
+ readonly toast: "0 0 30px rgba(0, 0, 0, 0.3)";
206
258
  };
207
259
 
208
260
  /**
@@ -35,11 +35,37 @@ var colors = {
35
35
  textSecondary: darkSemanticColors.mutedFg,
36
36
  textMuted: darkSemanticColors.border,
37
37
  textDimmed: darkSemanticColors.ring,
38
- /** Semantic */
38
+ /** Semantic intent colors (use as text-success, bg-warning/15, etc.) */
39
39
  success: darkSemanticColors.primary,
40
- warning: darkSemanticColors.chart3,
40
+ warning: "#FACC15",
41
+ danger: "#F94040",
42
+ info: "#4290FF",
43
+ /** @deprecated alias for `danger` — kept for back-compat. */
41
44
  error: darkSemanticColors.destructive,
42
- info: darkSemanticColors.chart1,
45
+ /** Surface elevation — translucent overlays applied over the page background */
46
+ surface: {
47
+ base: "rgba(255, 255, 255, 0.03)",
48
+ card: "rgba(255, 255, 255, 0.05)",
49
+ elevated: "rgba(255, 255, 255, 0.08)",
50
+ overlay: "rgba(0, 0, 0, 0.20)",
51
+ overlayStrong: "rgba(0, 0, 0, 0.35)",
52
+ scrim: "rgba(0, 0, 0, 0.60)"
53
+ },
54
+ /** Border ladder — translucent edges on dark surfaces */
55
+ borderToken: {
56
+ subtle: "rgba(255, 255, 255, 0.04)",
57
+ default: "rgba(255, 255, 255, 0.08)",
58
+ strong: "rgba(255, 255, 255, 0.15)"
59
+ },
60
+ /** Text ladder for dark surfaces */
61
+ text: {
62
+ primary: "#ffffff",
63
+ secondary: "rgba(255, 255, 255, 0.65)",
64
+ muted: "rgba(255, 255, 255, 0.45)",
65
+ dimmed: "rgba(255, 255, 255, 0.35)",
66
+ disabled: "rgba(255, 255, 255, 0.25)",
67
+ onAccent: "#051B10"
68
+ },
43
69
  /** Network / Layer */
44
70
  network: {
45
71
  bitcoin: "#F7931A",
@@ -48,6 +74,19 @@ var colors = {
48
74
  spark: "#FF6D00",
49
75
  lightning: "#F6C343"
50
76
  },
77
+ networkChip: {
78
+ bitcoin: "#A65D0D",
79
+ rgb: "#7F2623",
80
+ arkade: "#43208B",
81
+ spark: "#314238",
82
+ lightning: "#53611E"
83
+ },
84
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
85
+ assetIcon: {
86
+ eth: "#627EEA",
87
+ usdt: "#26A17B",
88
+ usdc: "#2775CA"
89
+ },
51
90
  /** Transaction direction */
52
91
  tx: {
53
92
  sent: "#F94040",
@@ -118,9 +157,9 @@ import { jsx as jsx2 } from "react/jsx-runtime";
118
157
  var statusConfig = {
119
158
  success: { color: colors.primary, bg: `${colors.primary}1A`, borderColor: `${colors.primary}33`, label: "Success" },
120
159
  completed: { color: colors.primary, bg: `${colors.primary}1A`, borderColor: `${colors.primary}33`, label: "Completed" },
121
- pending: { color: "#EAB308", bg: "#EAB3081A", borderColor: "#EAB30833", label: "Pending" },
122
- failed: { color: "#EF4444", bg: "#EF44441A", borderColor: "#EF444433", label: "Failed" },
123
- error: { color: "#EF4444", bg: "#EF44441A", borderColor: "#EF444433", label: "Error" }
160
+ pending: { color: colors.warning, bg: `${colors.warning}1A`, borderColor: `${colors.warning}33`, label: "Pending" },
161
+ failed: { color: colors.danger, bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, label: "Failed" },
162
+ error: { color: colors.danger, bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, label: "Error" }
124
163
  };
125
164
  function StatusBadge({ status, style }) {
126
165
  const config = statusConfig[status];
@@ -178,10 +217,10 @@ var styles2 = StyleSheet2.create({
178
217
  import { View as View3, Text as Text3, StyleSheet as StyleSheet3 } from "react-native";
179
218
  import { jsx as jsx4 } from "react/jsx-runtime";
180
219
  var variantConfig = {
181
- error: { bg: "#EF44441A", borderColor: "#EF444433", iconColor: "#F87171" },
182
- warning: { bg: "#F59E0B1A", borderColor: "#F59E0B33", iconColor: "#FBBF24" },
183
- info: { bg: "#3B82F61A", borderColor: "#3B82F633", iconColor: "#60A5FA" },
184
- success: { bg: `${colors.primary}1A`, borderColor: `${colors.primary}33`, iconColor: colors.primary }
220
+ error: { bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, iconColor: colors.danger },
221
+ warning: { bg: `${colors.warning}1A`, borderColor: `${colors.warning}33`, iconColor: colors.warning },
222
+ info: { bg: `${colors.info}1A`, borderColor: `${colors.info}33`, iconColor: colors.info },
223
+ success: { bg: `${colors.success}1A`, borderColor: `${colors.success}33`, iconColor: colors.success }
185
224
  };
186
225
  function AlertBanner({ variant = "info", children, style }) {
187
226
  const config = variantConfig[variant];
@@ -198,7 +237,7 @@ var styles3 = StyleSheet3.create({
198
237
  },
199
238
  text: {
200
239
  fontSize: 14,
201
- color: "#FFFFFF",
240
+ color: colors.text.primary,
202
241
  flex: 1
203
242
  }
204
243
  });
@@ -214,7 +253,7 @@ var styles4 = StyleSheet4.create({
214
253
  fontSize: 10,
215
254
  fontWeight: "900",
216
255
  letterSpacing: 2.2,
217
- color: "rgba(255, 255, 255, 0.3)"
256
+ color: colors.text.dimmed
218
257
  }
219
258
  });
220
259
 
@@ -242,15 +281,21 @@ var fontWeight = {
242
281
 
243
282
  // src/tokens/radius.ts
244
283
  var radius = {
284
+ none: "0px",
285
+ xs: "2px",
245
286
  sm: "4px",
246
287
  md: "6px",
247
288
  lg: "8px",
248
289
  xl: "12px",
290
+ "2xl": "16px",
291
+ "3xl": "24px",
292
+ "4xl": "32px",
293
+ full: "9999px",
294
+ // Semantic aliases
249
295
  card: "16px",
250
296
  panel: "24px",
251
- pill: "9999px",
252
297
  nav: "32px",
253
- full: "9999px"
298
+ pill: "9999px"
254
299
  };
255
300
 
256
301
  // src/tokens/shadows.ts
@@ -258,7 +303,15 @@ var shadow = {
258
303
  glow: "0 0 20px rgba(10, 10, 10, 0.15)",
259
304
  glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)",
260
305
  glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)",
261
- glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)"
306
+ glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)",
307
+ /** Brand green glow — drives all primary CTA / focus halos. */
308
+ glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)",
309
+ glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)",
310
+ glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)",
311
+ /** Floating popover / modal elevation on dark surfaces. */
312
+ popover: "0 18px 55px rgba(0, 0, 0, 0.65)",
313
+ /** Toast / inline-notification elevation. */
314
+ toast: "0 0 30px rgba(0, 0, 0, 0.3)"
262
315
  };
263
316
 
264
317
  // src/tokens/transitions.ts
@@ -20,9 +20,16 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/tokens/index.ts
21
21
  var tokens_exports = {};
22
22
  __export(tokens_exports, {
23
+ animation: () => animation,
23
24
  colors: () => colors,
24
25
  fontFamily: () => fontFamily,
25
26
  fontWeight: () => fontWeight,
27
+ gradient: () => gradient,
28
+ iconBoxSize: () => iconBoxSize,
29
+ iconSize: () => iconSize,
30
+ keyframes: () => keyframes,
31
+ letterSpacing: () => letterSpacing,
32
+ lightSemanticColors: () => lightSemanticColors,
26
33
  radius: () => radius,
27
34
  shadow: () => shadow,
28
35
  transition: () => transition,
@@ -31,6 +38,31 @@ __export(tokens_exports, {
31
38
  module.exports = __toCommonJS(tokens_exports);
32
39
 
33
40
  // src/tokens/colors.ts
41
+ var lightSemanticColors = {
42
+ background: "#ffffff",
43
+ foreground: "#0a0a0a",
44
+ card: "#ffffff",
45
+ cardFg: "#0a0a0a",
46
+ popover: "#ffffff",
47
+ popoverFg: "#0a0a0a",
48
+ primary: "#171717",
49
+ primaryFg: "#fafafa",
50
+ secondary: "#f5f5f5",
51
+ secondaryFg: "#171717",
52
+ muted: "#f5f5f5",
53
+ mutedFg: "#737373",
54
+ accent: "#f5f5f5",
55
+ accentFg: "#171717",
56
+ destructive: "#e7000b",
57
+ border: "#e5e5e5",
58
+ input: "#e5e5e5",
59
+ ring: "#a1a1a1",
60
+ chart1: "#2BEE79",
61
+ chart2: "#F6C343",
62
+ chart3: "#F7931A",
63
+ chart4: "#7C3AED",
64
+ chart5: "#DD352E"
65
+ };
34
66
  var darkSemanticColors = {
35
67
  background: "hsl(158 58% 7%)",
36
68
  foreground: "#ffffff",
@@ -64,11 +96,37 @@ var colors = {
64
96
  textSecondary: darkSemanticColors.mutedFg,
65
97
  textMuted: darkSemanticColors.border,
66
98
  textDimmed: darkSemanticColors.ring,
67
- /** Semantic */
99
+ /** Semantic intent colors (use as text-success, bg-warning/15, etc.) */
68
100
  success: darkSemanticColors.primary,
69
- warning: darkSemanticColors.chart3,
101
+ warning: "#FACC15",
102
+ danger: "#F94040",
103
+ info: "#4290FF",
104
+ /** @deprecated alias for `danger` — kept for back-compat. */
70
105
  error: darkSemanticColors.destructive,
71
- info: darkSemanticColors.chart1,
106
+ /** Surface elevation — translucent overlays applied over the page background */
107
+ surface: {
108
+ base: "rgba(255, 255, 255, 0.03)",
109
+ card: "rgba(255, 255, 255, 0.05)",
110
+ elevated: "rgba(255, 255, 255, 0.08)",
111
+ overlay: "rgba(0, 0, 0, 0.20)",
112
+ overlayStrong: "rgba(0, 0, 0, 0.35)",
113
+ scrim: "rgba(0, 0, 0, 0.60)"
114
+ },
115
+ /** Border ladder — translucent edges on dark surfaces */
116
+ borderToken: {
117
+ subtle: "rgba(255, 255, 255, 0.04)",
118
+ default: "rgba(255, 255, 255, 0.08)",
119
+ strong: "rgba(255, 255, 255, 0.15)"
120
+ },
121
+ /** Text ladder for dark surfaces */
122
+ text: {
123
+ primary: "#ffffff",
124
+ secondary: "rgba(255, 255, 255, 0.65)",
125
+ muted: "rgba(255, 255, 255, 0.45)",
126
+ dimmed: "rgba(255, 255, 255, 0.35)",
127
+ disabled: "rgba(255, 255, 255, 0.25)",
128
+ onAccent: "#051B10"
129
+ },
72
130
  /** Network / Layer */
73
131
  network: {
74
132
  bitcoin: "#F7931A",
@@ -77,6 +135,19 @@ var colors = {
77
135
  spark: "#FF6D00",
78
136
  lightning: "#F6C343"
79
137
  },
138
+ networkChip: {
139
+ bitcoin: "#A65D0D",
140
+ rgb: "#7F2623",
141
+ arkade: "#43208B",
142
+ spark: "#314238",
143
+ lightning: "#53611E"
144
+ },
145
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
146
+ assetIcon: {
147
+ eth: "#627EEA",
148
+ usdt: "#26A17B",
149
+ usdc: "#2775CA"
150
+ },
80
151
  /** Transaction direction */
81
152
  tx: {
82
153
  sent: "#F94040",
@@ -106,18 +177,51 @@ var fontWeight = {
106
177
  semibold: "600",
107
178
  bold: "700"
108
179
  };
180
+ var letterSpacing = {
181
+ eyebrow: "0.18em",
182
+ eyebrowWide: "0.22em"
183
+ };
184
+ var iconSize = {
185
+ xxs: "11px",
186
+ // dense inline status / timestamp icons
187
+ xs: "13px",
188
+ sm: "14px",
189
+ md: "16px",
190
+ // default
191
+ lg: "18px",
192
+ xl: "20px",
193
+ "2xl": "24px",
194
+ "3xl": "28px",
195
+ "4xl": "32px",
196
+ "5xl": "40px",
197
+ "6xl": "64px"
198
+ // hero / success / error glyphs
199
+ };
200
+ var iconBoxSize = {
201
+ sm: "14px",
202
+ md: "16px",
203
+ lg: "18px",
204
+ nav: "22px",
205
+ control: "34px"
206
+ };
109
207
 
110
208
  // src/tokens/radius.ts
111
209
  var radius = {
210
+ none: "0px",
211
+ xs: "2px",
112
212
  sm: "4px",
113
213
  md: "6px",
114
214
  lg: "8px",
115
215
  xl: "12px",
216
+ "2xl": "16px",
217
+ "3xl": "24px",
218
+ "4xl": "32px",
219
+ full: "9999px",
220
+ // Semantic aliases
116
221
  card: "16px",
117
222
  panel: "24px",
118
- pill: "9999px",
119
223
  nav: "32px",
120
- full: "9999px"
224
+ pill: "9999px"
121
225
  };
122
226
 
123
227
  // src/tokens/shadows.ts
@@ -125,7 +229,32 @@ var shadow = {
125
229
  glow: "0 0 20px rgba(10, 10, 10, 0.15)",
126
230
  glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)",
127
231
  glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)",
128
- glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)"
232
+ glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)",
233
+ /** Brand green glow — drives all primary CTA / focus halos. */
234
+ glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)",
235
+ glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)",
236
+ glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)",
237
+ /** Floating popover / modal elevation on dark surfaces. */
238
+ popover: "0 18px 55px rgba(0, 0, 0, 0.65)",
239
+ /** Toast / inline-notification elevation. */
240
+ toast: "0 0 30px rgba(0, 0, 0, 0.3)"
241
+ };
242
+
243
+ // src/tokens/gradients.ts
244
+ var gradient = {
245
+ /**
246
+ * Page-level radial wash — top-right white highlight + bottom-left
247
+ * brand purple bloom. Used by Welcome / LockScreen / Onboarding
248
+ * page shells.
249
+ */
250
+ pageRadial: "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%)",
251
+ /** Subtle highlight for the swap-input card receive panel. */
252
+ cardSheen: "linear-gradient(to bottom right, rgba(255, 255, 255, 0.01), rgba(43, 238, 121, 0.04))",
253
+ /**
254
+ * Brand headline gradient — white-to-fade. Used by `<HeadlineGradient />`
255
+ * via the `bg-gradient-headline` utility plus `bg-clip-text text-transparent`.
256
+ */
257
+ headline: "linear-gradient(to right, #ffffff, #ffffff, rgba(255, 255, 255, 0.45))"
129
258
  };
130
259
 
131
260
  // src/tokens/transitions.ts
@@ -134,11 +263,64 @@ var transition = {
134
263
  default: "200ms ease-out",
135
264
  slow: "300ms ease-out"
136
265
  };
266
+
267
+ // src/tokens/animations.ts
268
+ var keyframes = {
269
+ "accordion-down": {
270
+ from: { height: "0" },
271
+ to: { height: "var(--radix-accordion-content-height)" }
272
+ },
273
+ "accordion-up": {
274
+ from: { height: "var(--radix-accordion-content-height)" },
275
+ to: { height: "0" }
276
+ },
277
+ "fade-in": {
278
+ from: { opacity: "0" },
279
+ to: { opacity: "1" }
280
+ },
281
+ "slide-up": {
282
+ from: { opacity: "0", transform: "translateY(10px)" },
283
+ to: { opacity: "1", transform: "translateY(0)" }
284
+ },
285
+ "slide-in-from-bottom": {
286
+ from: { opacity: "0", transform: "translateY(20px)" },
287
+ to: { opacity: "1", transform: "translateY(0)" }
288
+ },
289
+ shimmer: {
290
+ "0%": { backgroundPosition: "-200% 0" },
291
+ "100%": { backgroundPosition: "200% 0" }
292
+ },
293
+ "stagger-up": {
294
+ "0%": { opacity: "0", transform: "translateY(15px)" },
295
+ "100%": { opacity: "1", transform: "translateY(0)" }
296
+ },
297
+ "bounce-slight": {
298
+ "0%, 100%": { transform: "translateY(-5%)" },
299
+ "50%": { transform: "translateY(0)" }
300
+ }
301
+ };
302
+ var animation = {
303
+ "accordion-down": "accordion-down 0.2s ease-out",
304
+ "accordion-up": "accordion-up 0.2s ease-out",
305
+ "fade-in": "fade-in 0.3s ease-out",
306
+ "slide-up": "slide-up 0.3s ease-out",
307
+ "slide-in-from-bottom": "slide-in-from-bottom 0.4s ease-out",
308
+ "stagger-up": "stagger-up 0.5s cubic-bezier(0.16, 1, 0.3, 1) backwards",
309
+ shimmer: "shimmer 2s linear infinite",
310
+ "bounce-slight": "bounce-slight 2s infinite"
311
+ };
137
312
  // Annotate the CommonJS export names for ESM import in node:
138
313
  0 && (module.exports = {
314
+ animation,
139
315
  colors,
140
316
  fontFamily,
141
317
  fontWeight,
318
+ gradient,
319
+ iconBoxSize,
320
+ iconSize,
321
+ keyframes,
322
+ letterSpacing,
323
+ lightSemanticColors,
142
324
  radius,
143
325
  shadow,
144
326
  transition,