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.
@@ -35,11 +35,43 @@ 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
+ },
69
+ /** Scrollbar treatment for app-owned scroll regions */
70
+ scrollbar: {
71
+ thumb: "rgba(255, 255, 255, 0.16)",
72
+ thumbHover: "rgba(43, 238, 121, 0.55)",
73
+ track: "transparent"
74
+ },
43
75
  /** Network / Layer */
44
76
  network: {
45
77
  bitcoin: "#F7931A",
@@ -48,6 +80,26 @@ var colors = {
48
80
  spark: "#FF6D00",
49
81
  lightning: "#F6C343"
50
82
  },
83
+ networkChip: {
84
+ bitcoin: "#44341F",
85
+ rgb: "#44282B",
86
+ arkade: "#362B55",
87
+ spark: "#284338",
88
+ lightning: "#3D421F"
89
+ },
90
+ networkText: {
91
+ bitcoin: "#F2B063",
92
+ rgb: "#E87872",
93
+ arkade: "#A98CF2",
94
+ spark: "#D6E5DE",
95
+ lightning: "#E4D56F"
96
+ },
97
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
98
+ assetIcon: {
99
+ eth: "#627EEA",
100
+ usdt: "#26A17B",
101
+ usdc: "#2775CA"
102
+ },
51
103
  /** Transaction direction */
52
104
  tx: {
53
105
  sent: "#F94040",
@@ -118,9 +170,9 @@ import { jsx as jsx2 } from "react/jsx-runtime";
118
170
  var statusConfig = {
119
171
  success: { color: colors.primary, bg: `${colors.primary}1A`, borderColor: `${colors.primary}33`, label: "Success" },
120
172
  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" }
173
+ pending: { color: colors.warning, bg: `${colors.warning}1A`, borderColor: `${colors.warning}33`, label: "Pending" },
174
+ failed: { color: colors.danger, bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, label: "Failed" },
175
+ error: { color: colors.danger, bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, label: "Error" }
124
176
  };
125
177
  function StatusBadge({ status, style }) {
126
178
  const config = statusConfig[status];
@@ -178,10 +230,10 @@ var styles2 = StyleSheet2.create({
178
230
  import { View as View3, Text as Text3, StyleSheet as StyleSheet3 } from "react-native";
179
231
  import { jsx as jsx4 } from "react/jsx-runtime";
180
232
  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 }
233
+ error: { bg: `${colors.danger}1A`, borderColor: `${colors.danger}33`, iconColor: colors.danger },
234
+ warning: { bg: `${colors.warning}1A`, borderColor: `${colors.warning}33`, iconColor: colors.warning },
235
+ info: { bg: `${colors.info}1A`, borderColor: `${colors.info}33`, iconColor: colors.info },
236
+ success: { bg: `${colors.success}1A`, borderColor: `${colors.success}33`, iconColor: colors.success }
185
237
  };
186
238
  function AlertBanner({ variant = "info", children, style }) {
187
239
  const config = variantConfig[variant];
@@ -198,7 +250,7 @@ var styles3 = StyleSheet3.create({
198
250
  },
199
251
  text: {
200
252
  fontSize: 14,
201
- color: "#FFFFFF",
253
+ color: colors.text.primary,
202
254
  flex: 1
203
255
  }
204
256
  });
@@ -214,7 +266,7 @@ var styles4 = StyleSheet4.create({
214
266
  fontSize: 10,
215
267
  fontWeight: "900",
216
268
  letterSpacing: 2.2,
217
- color: "rgba(255, 255, 255, 0.3)"
269
+ color: colors.text.dimmed
218
270
  }
219
271
  });
220
272
 
@@ -264,7 +316,17 @@ var shadow = {
264
316
  glow: "0 0 20px rgba(10, 10, 10, 0.15)",
265
317
  glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)",
266
318
  glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)",
267
- glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)"
319
+ glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)",
320
+ /** Header separation shadow for sticky app chrome. */
321
+ header: "0 10px 24px rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.04)",
322
+ /** Brand green glow — drives all primary CTA / focus halos. */
323
+ glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)",
324
+ glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)",
325
+ glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)",
326
+ /** Floating popover / modal elevation on dark surfaces. */
327
+ popover: "0 18px 55px rgba(0, 0, 0, 0.65)",
328
+ /** Toast / inline-notification elevation. */
329
+ toast: "0 0 30px rgba(0, 0, 0, 0.3)"
268
330
  };
269
331
 
270
332
  // src/tokens/transitions.ts
@@ -24,10 +24,16 @@ __export(tokens_exports, {
24
24
  colors: () => colors,
25
25
  fontFamily: () => fontFamily,
26
26
  fontWeight: () => fontWeight,
27
+ gradient: () => gradient,
28
+ iconBoxSize: () => iconBoxSize,
29
+ iconSize: () => iconSize,
27
30
  keyframes: () => keyframes,
31
+ layer: () => layer,
32
+ letterSpacing: () => letterSpacing,
28
33
  lightSemanticColors: () => lightSemanticColors,
29
34
  radius: () => radius,
30
35
  shadow: () => shadow,
36
+ sizing: () => sizing,
31
37
  transition: () => transition,
32
38
  typeScale: () => typeScale
33
39
  });
@@ -92,11 +98,43 @@ var colors = {
92
98
  textSecondary: darkSemanticColors.mutedFg,
93
99
  textMuted: darkSemanticColors.border,
94
100
  textDimmed: darkSemanticColors.ring,
95
- /** Semantic */
101
+ /** Semantic intent colors (use as text-success, bg-warning/15, etc.) */
96
102
  success: darkSemanticColors.primary,
97
- warning: darkSemanticColors.chart3,
103
+ warning: "#FACC15",
104
+ danger: "#F94040",
105
+ info: "#4290FF",
106
+ /** @deprecated alias for `danger` — kept for back-compat. */
98
107
  error: darkSemanticColors.destructive,
99
- info: darkSemanticColors.chart1,
108
+ /** Surface elevation — translucent overlays applied over the page background */
109
+ surface: {
110
+ base: "rgba(255, 255, 255, 0.03)",
111
+ card: "rgba(255, 255, 255, 0.05)",
112
+ elevated: "rgba(255, 255, 255, 0.08)",
113
+ overlay: "rgba(0, 0, 0, 0.20)",
114
+ overlayStrong: "rgba(0, 0, 0, 0.35)",
115
+ scrim: "rgba(0, 0, 0, 0.60)"
116
+ },
117
+ /** Border ladder — translucent edges on dark surfaces */
118
+ borderToken: {
119
+ subtle: "rgba(255, 255, 255, 0.04)",
120
+ default: "rgba(255, 255, 255, 0.08)",
121
+ strong: "rgba(255, 255, 255, 0.15)"
122
+ },
123
+ /** Text ladder for dark surfaces */
124
+ text: {
125
+ primary: "#ffffff",
126
+ secondary: "rgba(255, 255, 255, 0.65)",
127
+ muted: "rgba(255, 255, 255, 0.45)",
128
+ dimmed: "rgba(255, 255, 255, 0.35)",
129
+ disabled: "rgba(255, 255, 255, 0.25)",
130
+ onAccent: "#051B10"
131
+ },
132
+ /** Scrollbar treatment for app-owned scroll regions */
133
+ scrollbar: {
134
+ thumb: "rgba(255, 255, 255, 0.16)",
135
+ thumbHover: "rgba(43, 238, 121, 0.55)",
136
+ track: "transparent"
137
+ },
100
138
  /** Network / Layer */
101
139
  network: {
102
140
  bitcoin: "#F7931A",
@@ -105,6 +143,26 @@ var colors = {
105
143
  spark: "#FF6D00",
106
144
  lightning: "#F6C343"
107
145
  },
146
+ networkChip: {
147
+ bitcoin: "#44341F",
148
+ rgb: "#44282B",
149
+ arkade: "#362B55",
150
+ spark: "#284338",
151
+ lightning: "#3D421F"
152
+ },
153
+ networkText: {
154
+ bitcoin: "#F2B063",
155
+ rgb: "#E87872",
156
+ arkade: "#A98CF2",
157
+ spark: "#D6E5DE",
158
+ lightning: "#E4D56F"
159
+ },
160
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
161
+ assetIcon: {
162
+ eth: "#627EEA",
163
+ usdt: "#26A17B",
164
+ usdc: "#2775CA"
165
+ },
108
166
  /** Transaction direction */
109
167
  tx: {
110
168
  sent: "#F94040",
@@ -134,6 +192,33 @@ var fontWeight = {
134
192
  semibold: "600",
135
193
  bold: "700"
136
194
  };
195
+ var letterSpacing = {
196
+ eyebrow: "0.18em",
197
+ eyebrowWide: "0.22em"
198
+ };
199
+ var iconSize = {
200
+ xxs: "11px",
201
+ // dense inline status / timestamp icons
202
+ xs: "13px",
203
+ sm: "14px",
204
+ md: "16px",
205
+ // default
206
+ lg: "18px",
207
+ xl: "20px",
208
+ "2xl": "24px",
209
+ "3xl": "28px",
210
+ "4xl": "32px",
211
+ "5xl": "40px",
212
+ "6xl": "64px"
213
+ // hero / success / error glyphs
214
+ };
215
+ var iconBoxSize = {
216
+ sm: "14px",
217
+ md: "16px",
218
+ lg: "18px",
219
+ nav: "22px",
220
+ control: "34px"
221
+ };
137
222
 
138
223
  // src/tokens/radius.ts
139
224
  var radius = {
@@ -154,12 +239,54 @@ var radius = {
154
239
  pill: "9999px"
155
240
  };
156
241
 
242
+ // src/tokens/sizing.ts
243
+ var sizing = {
244
+ scrollbar: "2px",
245
+ scrollbarHover: "6px",
246
+ scrollbarThumbMin: "24px"
247
+ };
248
+
249
+ // src/tokens/layers.ts
250
+ var layer = {
251
+ header: "50",
252
+ nav: "2147483646",
253
+ scrollbar: "2147483645",
254
+ modal: "2147483647"
255
+ };
256
+
157
257
  // src/tokens/shadows.ts
158
258
  var shadow = {
159
259
  glow: "0 0 20px rgba(10, 10, 10, 0.15)",
160
260
  glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)",
161
261
  glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)",
162
- glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)"
262
+ glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)",
263
+ /** Header separation shadow for sticky app chrome. */
264
+ 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
+ glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)",
267
+ glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)",
268
+ glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)",
269
+ /** Floating popover / modal elevation on dark surfaces. */
270
+ popover: "0 18px 55px rgba(0, 0, 0, 0.65)",
271
+ /** Toast / inline-notification elevation. */
272
+ toast: "0 0 30px rgba(0, 0, 0, 0.3)"
273
+ };
274
+
275
+ // src/tokens/gradients.ts
276
+ var gradient = {
277
+ /**
278
+ * Page-level radial wash — top-right white highlight + bottom-left
279
+ * brand purple bloom. Used by Welcome / LockScreen / Onboarding
280
+ * page shells.
281
+ */
282
+ 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%)",
283
+ /** Subtle highlight for the swap-input card receive panel. */
284
+ cardSheen: "linear-gradient(to bottom right, rgba(255, 255, 255, 0.01), rgba(43, 238, 121, 0.04))",
285
+ /**
286
+ * Brand headline gradient — white-to-fade. Used by `<HeadlineGradient />`
287
+ * via the `bg-gradient-headline` utility plus `bg-clip-text text-transparent`.
288
+ */
289
+ headline: "linear-gradient(to right, #ffffff, #ffffff, rgba(255, 255, 255, 0.45))"
163
290
  };
164
291
 
165
292
  // src/tokens/transitions.ts
@@ -220,10 +347,16 @@ var animation = {
220
347
  colors,
221
348
  fontFamily,
222
349
  fontWeight,
350
+ gradient,
351
+ iconBoxSize,
352
+ iconSize,
223
353
  keyframes,
354
+ layer,
355
+ letterSpacing,
224
356
  lightSemanticColors,
225
357
  radius,
226
358
  shadow,
359
+ sizing,
227
360
  transition,
228
361
  typeScale
229
362
  });
@@ -33,11 +33,43 @@ declare const colors: {
33
33
  readonly textSecondary: "rgba(255, 255, 255, 0.55)";
34
34
  readonly textMuted: "hsl(150 20% 24%)";
35
35
  readonly textDimmed: "#2BEE79";
36
- /** Semantic */
36
+ /** Semantic intent colors (use as text-success, bg-warning/15, etc.) */
37
37
  readonly success: "#2BEE79";
38
- readonly warning: "#F7931A";
38
+ readonly warning: "#FACC15";
39
+ readonly danger: "#F94040";
40
+ readonly info: "#4290FF";
41
+ /** @deprecated alias for `danger` — kept for back-compat. */
39
42
  readonly error: "hsl(0 62% 50%)";
40
- readonly info: "#2BEE79";
43
+ /** Surface elevation — translucent overlays applied over the page background */
44
+ readonly surface: {
45
+ readonly base: "rgba(255, 255, 255, 0.03)";
46
+ readonly card: "rgba(255, 255, 255, 0.05)";
47
+ readonly elevated: "rgba(255, 255, 255, 0.08)";
48
+ readonly overlay: "rgba(0, 0, 0, 0.20)";
49
+ readonly overlayStrong: "rgba(0, 0, 0, 0.35)";
50
+ readonly scrim: "rgba(0, 0, 0, 0.60)";
51
+ };
52
+ /** Border ladder — translucent edges on dark surfaces */
53
+ readonly borderToken: {
54
+ readonly subtle: "rgba(255, 255, 255, 0.04)";
55
+ readonly default: "rgba(255, 255, 255, 0.08)";
56
+ readonly strong: "rgba(255, 255, 255, 0.15)";
57
+ };
58
+ /** Text ladder for dark surfaces */
59
+ readonly text: {
60
+ readonly primary: "#ffffff";
61
+ readonly secondary: "rgba(255, 255, 255, 0.65)";
62
+ readonly muted: "rgba(255, 255, 255, 0.45)";
63
+ readonly dimmed: "rgba(255, 255, 255, 0.35)";
64
+ readonly disabled: "rgba(255, 255, 255, 0.25)";
65
+ readonly onAccent: "#051B10";
66
+ };
67
+ /** Scrollbar treatment for app-owned scroll regions */
68
+ readonly scrollbar: {
69
+ readonly thumb: "rgba(255, 255, 255, 0.16)";
70
+ readonly thumbHover: "rgba(43, 238, 121, 0.55)";
71
+ readonly track: "transparent";
72
+ };
41
73
  /** Network / Layer */
42
74
  readonly network: {
43
75
  readonly bitcoin: "#F7931A";
@@ -46,6 +78,26 @@ declare const colors: {
46
78
  readonly spark: "#FF6D00";
47
79
  readonly lightning: "#F6C343";
48
80
  };
81
+ readonly networkChip: {
82
+ readonly bitcoin: "#44341F";
83
+ readonly rgb: "#44282B";
84
+ readonly arkade: "#362B55";
85
+ readonly spark: "#284338";
86
+ readonly lightning: "#3D421F";
87
+ };
88
+ readonly networkText: {
89
+ readonly bitcoin: "#F2B063";
90
+ readonly rgb: "#E87872";
91
+ readonly arkade: "#A98CF2";
92
+ readonly spark: "#D6E5DE";
93
+ readonly lightning: "#E4D56F";
94
+ };
95
+ /** Asset icon brand colors — used as solid backgrounds behind glyphs */
96
+ readonly assetIcon: {
97
+ readonly eth: "#627EEA";
98
+ readonly usdt: "#26A17B";
99
+ readonly usdc: "#2775CA";
100
+ };
49
101
  /** Transaction direction */
50
102
  readonly tx: {
51
103
  readonly sent: "#F94040";
@@ -105,6 +157,45 @@ declare const fontWeight: {
105
157
  readonly semibold: "600";
106
158
  readonly bold: "700";
107
159
  };
160
+ /**
161
+ * Letter-spacing tokens — reused across uppercase eyebrow labels.
162
+ * These replace the scattered `tracking-[0.18em]` / `tracking-[0.22em]` arbitraries.
163
+ */
164
+ declare const letterSpacing: {
165
+ readonly eyebrow: "0.18em";
166
+ readonly eyebrowWide: "0.22em";
167
+ };
168
+ /**
169
+ * Icon size scale — drives `text-icon-*` utilities for Material Symbols glyphs
170
+ * and other font-driven icon sets. Exists as its own scale (separate from the
171
+ * body type scale) because icon sizes change in tighter steps.
172
+ *
173
+ * Usage: <span class="material-symbols-outlined text-icon-md">name</span>
174
+ */
175
+ declare const iconSize: {
176
+ readonly xxs: "11px";
177
+ readonly xs: "13px";
178
+ readonly sm: "14px";
179
+ readonly md: "16px";
180
+ readonly lg: "18px";
181
+ readonly xl: "20px";
182
+ readonly '2xl': "24px";
183
+ readonly '3xl': "28px";
184
+ readonly '4xl': "32px";
185
+ readonly '5xl': "40px";
186
+ readonly '6xl': "64px";
187
+ };
188
+ /**
189
+ * Square icon box scale — drives `size-icon-*` utilities for SVG icons
190
+ * and compact icon buttons.
191
+ */
192
+ declare const iconBoxSize: {
193
+ readonly sm: "14px";
194
+ readonly md: "16px";
195
+ readonly lg: "18px";
196
+ readonly nav: "22px";
197
+ readonly control: "34px";
198
+ };
108
199
 
109
200
  /**
110
201
  * KaleidoSwap Border Radius Tokens
@@ -126,6 +217,25 @@ declare const radius: {
126
217
  readonly pill: "9999px";
127
218
  };
128
219
 
220
+ /**
221
+ * Component and utility sizing tokens that do not belong to typography.
222
+ */
223
+ declare const sizing: {
224
+ readonly scrollbar: "2px";
225
+ readonly scrollbarHover: "6px";
226
+ readonly scrollbarThumbMin: "24px";
227
+ };
228
+
229
+ /**
230
+ * Z-index tokens for shared UI layers.
231
+ */
232
+ declare const layer: {
233
+ readonly header: "50";
234
+ readonly nav: "2147483646";
235
+ readonly scrollbar: "2147483645";
236
+ readonly modal: "2147483647";
237
+ };
238
+
129
239
  /**
130
240
  * KaleidoSwap Shadow Tokens
131
241
  */
@@ -134,6 +244,39 @@ declare const shadow: {
134
244
  readonly glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)";
135
245
  readonly glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)";
136
246
  readonly glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)";
247
+ /** Header separation shadow for sticky app chrome. */
248
+ readonly header: "0 10px 24px rgba(0, 0, 0, 0.22), 0 1px 0 rgba(255, 255, 255, 0.04)";
249
+ /** Brand green glow — drives all primary CTA / focus halos. */
250
+ readonly glowPrimarySoft: "0 0 8px rgba(43, 238, 121, 0.5)";
251
+ readonly glowPrimary: "0 0 30px rgba(43, 238, 121, 0.45)";
252
+ readonly glowPrimaryStrong: "0 0 40px rgba(43, 238, 121, 0.5)";
253
+ /** Floating popover / modal elevation on dark surfaces. */
254
+ readonly popover: "0 18px 55px rgba(0, 0, 0, 0.65)";
255
+ /** Toast / inline-notification elevation. */
256
+ readonly toast: "0 0 30px rgba(0, 0, 0, 0.3)";
257
+ };
258
+
259
+ /**
260
+ * KaleidoSwap Gradient Tokens
261
+ *
262
+ * Reusable visual gradients. Card-accent / dynamic gradients live with
263
+ * the components that build them — these tokens cover the global,
264
+ * static gradients used by page shells.
265
+ */
266
+ declare const gradient: {
267
+ /**
268
+ * Page-level radial wash — top-right white highlight + bottom-left
269
+ * brand purple bloom. Used by Welcome / LockScreen / Onboarding
270
+ * page shells.
271
+ */
272
+ readonly 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%)";
273
+ /** Subtle highlight for the swap-input card receive panel. */
274
+ readonly cardSheen: "linear-gradient(to bottom right, rgba(255, 255, 255, 0.01), rgba(43, 238, 121, 0.04))";
275
+ /**
276
+ * Brand headline gradient — white-to-fade. Used by `<HeadlineGradient />`
277
+ * via the `bg-gradient-headline` utility plus `bg-clip-text text-transparent`.
278
+ */
279
+ readonly headline: "linear-gradient(to right, #ffffff, #ffffff, rgba(255, 255, 255, 0.45))";
137
280
  };
138
281
 
139
282
  /**
@@ -231,4 +374,4 @@ declare const animation: {
231
374
  readonly 'bounce-slight': "bounce-slight 2s infinite";
232
375
  };
233
376
 
234
- export { animation, colors, fontFamily, fontWeight, keyframes, lightSemanticColors, radius, shadow, transition, typeScale };
377
+ export { animation, colors, fontFamily, fontWeight, gradient, iconBoxSize, iconSize, keyframes, layer, letterSpacing, lightSemanticColors, radius, shadow, sizing, transition, typeScale };