kaleido-ui 0.1.0 → 0.1.1

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.
@@ -1,19 +1,3 @@
1
- /*
2
- * KaleidoSwap UI — CSS Custom Properties, Glass Effects & Animations
3
- *
4
- * Import in your entry point:
5
- * import 'kaleido-ui/css'
6
- *
7
- * NOTE: This file does NOT include Tailwind directives (@tailwind base/components/utilities).
8
- * Your consumer app must have its own Tailwind setup with the kaleido-ui preset.
9
- * Font imports (@fontsource/geist-sans, @fontsource/geist-mono, material-symbols)
10
- * must also be done in the consumer app.
11
- */
12
-
13
- /* ------------------------------------------------------------------ */
14
- /* Material Symbols */
15
- /* ------------------------------------------------------------------ */
16
-
17
1
  .material-symbols-outlined {
18
2
  font-variation-settings:
19
3
  'FILL' 0,
@@ -30,168 +14,71 @@
30
14
  'opsz' 24;
31
15
  }
32
16
 
33
- /* ------------------------------------------------------------------ */
34
- /* CSS Custom Properties (Light Theme — :root) */
35
- /* ------------------------------------------------------------------ */
36
-
37
17
  :root {
38
- --background: 150 7% 97%;
39
- --foreground: 144 53% 8%;
40
- --card: 0 0% 100%;
41
- --card-foreground: 144 53% 8%;
42
- --popover: 0 0% 100%;
43
- --popover-foreground: 144 53% 8%;
44
- --primary: 151 88% 52%;
45
- --primary-foreground: 144 53% 8%;
46
- --secondary: 150 10% 90%;
47
- --secondary-foreground: 144 53% 8%;
48
- --muted: 150 10% 90%;
49
- --muted-foreground: 150 10% 40%;
50
- --accent: 150 10% 90%;
51
- --accent-foreground: 144 53% 8%;
52
- --destructive: 0 84% 60%;
53
- --destructive-foreground: 0 0% 100%;
54
- --border: 150 10% 85%;
55
- --input: 150 10% 85%;
56
- --ring: 151 88% 52%;
57
- --radius: 0.75rem;
58
-
59
- --surface: 0 0% 100%;
60
- --surface-foreground: 144 53% 8%;
61
- --text-secondary: 151 30% 68%;
62
- --warning: 45 93% 47%;
63
- --warning-foreground: 0 0% 0%;
64
- --success: 151 88% 52%;
65
- --success-foreground: 144 53% 8%;
18
+ --accent: #f5f5f5;
19
+ --accent-foreground: #171717;
20
+ --background: #ffffff;
21
+ --border: #e5e5e5;
22
+ --card: #ffffff;
23
+ --card-foreground: #0a0a0a;
24
+ --chart-1: #f54900;
25
+ --chart-2: #009689;
26
+ --chart-3: #104e64;
27
+ --chart-4: #ffb900;
28
+ --chart-5: #fe9a00;
29
+ --destructive: #e7000b;
30
+ --destructive-foreground: #fafafa;
31
+ --foreground: #0a0a0a;
32
+ --input: #e5e5e5;
33
+ --muted: #f5f5f5;
34
+ --muted-foreground: #737373;
35
+ --popover: #ffffff;
36
+ --popover-foreground: #0a0a0a;
37
+ --primary: #171717;
38
+ --primary-foreground: #fafafa;
39
+ --ring: #a1a1a1;
40
+ --secondary: #f5f5f5;
41
+ --secondary-foreground: #171717;
42
+ --semantic-background: #696867;
43
+ --semantic-border: #898887;
44
+ --radius-xs: 2px;
45
+ --radius-sm: 4px;
46
+ --radius-md: 6px;
47
+ --radius-lg: 8px;
48
+ --radius-xl: 12px;
49
+ --radius-2xl: 16px;
50
+ --radius-3xl: 24px;
51
+ --radius-4xl: 32px;
52
+ --radius-full: 9999px;
53
+ --radius-none: 0px;
54
+ --radius: var(--radius-lg);
66
55
  }
67
56
 
68
- /* ------------------------------------------------------------------ */
69
- /* CSS Custom Properties (Dark Theme) */
70
- /* ------------------------------------------------------------------ */
71
-
72
57
  .dark {
73
- --background: 144 53% 8%;
74
- --foreground: 0 0% 100%;
75
- --card: 146 36% 13%;
76
- --card-foreground: 0 0% 100%;
77
- --popover: 146 36% 13%;
78
- --popover-foreground: 0 0% 100%;
79
- --primary: 151 88% 52%;
80
- --primary-foreground: 144 53% 8%;
81
- --secondary: 146 30% 18%;
82
- --secondary-foreground: 0 0% 98%;
83
- --muted: 146 30% 18%;
84
- --muted-foreground: 150 15% 60%;
85
- --accent: 146 30% 20%;
86
- --accent-foreground: 0 0% 98%;
87
- --destructive: 0 62% 50%;
88
- --destructive-foreground: 0 0% 100%;
89
- --border: 146 25% 20%;
90
- --input: 146 30% 15%;
91
- --ring: 151 88% 52%;
92
-
93
- --surface: 146 36% 13%;
94
- --surface-foreground: 0 0% 100%;
95
- --text-secondary: 151 30% 68%;
96
- --warning: 45 93% 47%;
97
- --warning-foreground: 0 0% 0%;
98
- --success: 151 88% 52%;
99
- --success-foreground: 144 53% 8%;
100
- }
101
-
102
- /* ------------------------------------------------------------------ */
103
- /* Glass Effects */
104
- /* ------------------------------------------------------------------ */
105
-
106
- .glass-panel {
107
- background: rgba(255, 255, 255, 0.03);
108
- backdrop-filter: blur(16px);
109
- -webkit-backdrop-filter: blur(16px);
110
- border: 1px solid rgba(255, 255, 255, 0.08);
111
- }
112
-
113
- .glass-panel-heavy {
114
- background: rgba(14, 30, 20, 0.78);
115
- backdrop-filter: blur(28px);
116
- -webkit-backdrop-filter: blur(28px);
117
- border: 1px solid rgba(43, 238, 121, 0.12);
58
+ --accent: #262626;
59
+ --accent-foreground: #fafafa;
60
+ --background: #0a0a0a;
61
+ --border: #ffffff1a;
62
+ --card: #171717;
63
+ --card-foreground: #fafafa;
64
+ --chart-1: #1447e6;
65
+ --chart-2: #00bc7d;
66
+ --chart-3: #fe9a00;
67
+ --chart-4: #ad46ff;
68
+ --chart-5: #ff2056;
69
+ --destructive: #ff6467;
70
+ --destructive-foreground: #fafafa;
71
+ --foreground: #fafafa;
72
+ --input: #ffffff26;
73
+ --muted: #262626;
74
+ --muted-foreground: #a1a1a1;
75
+ --popover: #171717;
76
+ --popover-foreground: #fafafa;
77
+ --primary: #e5e5e5;
78
+ --primary-foreground: #171717;
79
+ --ring: #737373;
80
+ --secondary: #262626;
81
+ --secondary-foreground: #fafafa;
82
+ --semantic-background: #272625;
83
+ --semantic-border: #535151;
118
84
  }
119
-
120
- .glass-card {
121
- background: rgba(26, 46, 33, 0.65);
122
- backdrop-filter: blur(12px);
123
- -webkit-backdrop-filter: blur(12px);
124
- border: 1px solid rgba(255, 255, 255, 0.09);
125
- transition: all 0.2s ease-out;
126
- }
127
-
128
- .glass-card:active {
129
- transform: scale(0.98);
130
- background: rgba(26, 46, 33, 0.8);
131
- }
132
-
133
- /* ------------------------------------------------------------------ */
134
- /* Glow Utilities */
135
- /* ------------------------------------------------------------------ */
136
-
137
- .shadow-glow-subtle {
138
- box-shadow: 0 0 10px rgba(43, 238, 121, 0.1);
139
- }
140
-
141
- .shadow-glow {
142
- box-shadow: 0 0 20px rgba(43, 238, 121, 0.2);
143
- }
144
-
145
- .shadow-glow-strong {
146
- box-shadow: 0 0 30px rgba(43, 238, 121, 0.3);
147
- }
148
-
149
- .shadow-glow-accent {
150
- box-shadow: 0 4px 30px rgba(43, 238, 121, 0.25);
151
- }
152
-
153
- /* ------------------------------------------------------------------ */
154
- /* Utility Classes */
155
- /* ------------------------------------------------------------------ */
156
-
157
- .no-scrollbar::-webkit-scrollbar {
158
- display: none;
159
- }
160
-
161
- .no-scrollbar {
162
- -ms-overflow-style: none;
163
- scrollbar-width: none;
164
- }
165
-
166
- .pb-safe {
167
- padding-bottom: max(1rem, env(safe-area-inset-bottom));
168
- }
169
-
170
- /* ------------------------------------------------------------------ */
171
- /* Animations */
172
- /* ------------------------------------------------------------------ */
173
-
174
- @keyframes pulse-glow {
175
- 0%, 100% { box-shadow: 0 0 20px rgba(43, 238, 121, 0.2); }
176
- 50% { box-shadow: 0 0 30px rgba(43, 238, 121, 0.4); }
177
- }
178
-
179
- @keyframes fade-in {
180
- from { opacity: 0; }
181
- to { opacity: 1; }
182
- }
183
-
184
- @keyframes slide-up {
185
- from { opacity: 0; transform: translateY(10px); }
186
- to { opacity: 1; transform: translateY(0); }
187
- }
188
-
189
- @keyframes slide-in-from-bottom {
190
- from { opacity: 0; transform: translateY(20px); }
191
- to { opacity: 1; transform: translateY(0); }
192
- }
193
-
194
- .animate-pulse-glow { animation: pulse-glow 2s ease-in-out infinite; }
195
- .animate-fade-in { animation: fade-in 0.3s ease-out; }
196
- .animate-slide-up { animation: slide-up 0.3s ease-out; }
197
- .animate-slide-in-from-bottom { animation: slide-in-from-bottom 0.4s ease-out; }
@@ -52,30 +52,44 @@ module.exports = __toCommonJS(native_exports);
52
52
  var import_wdk_uikit_react_native = require("@tetherto/wdk-uikit-react-native");
53
53
 
54
54
  // src/tokens/colors.ts
55
+ var darkSemanticColors = {
56
+ background: "#0a0a0a",
57
+ foreground: "#fafafa",
58
+ border: "#ffffff1a",
59
+ input: "#ffffff26",
60
+ destructive: "#ff6467",
61
+ secondary: "#262626",
62
+ secondaryFg: "#fafafa",
63
+ muted: "#262626",
64
+ mutedFg: "#a1a1a1",
65
+ primary: "#e5e5e5",
66
+ primaryFg: "#171717",
67
+ accent: "#262626",
68
+ accentFg: "#fafafa",
69
+ ring: "#737373",
70
+ card: "#171717",
71
+ cardFg: "#fafafa",
72
+ popover: "#171717",
73
+ popoverFg: "#fafafa",
74
+ chart1: "#1447e6",
75
+ chart2: "#00bc7d",
76
+ chart3: "#fe9a00",
77
+ chart4: "#ad46ff",
78
+ chart5: "#ff2056",
79
+ semanticBackground: "#272625",
80
+ semanticBorder: "#535151"
81
+ };
55
82
  var colors = {
56
- /** Brand */
57
- primary: "#2BEE79",
58
- primaryDark: "#1FA855",
59
- primaryFg: "#102217",
60
- /** Surfaces (dark theme — the default) */
61
- bgDark: "#102217",
62
- surfaceDark: "#162E21",
63
- surfaceHighlight: "#243E30",
64
- surfaceBorder: "#244A35",
65
- surfaceDarker: "#0B1810",
66
- /** Surfaces (light theme) */
67
- bgLight: "#F6F8F7",
68
- surfaceLight: "#FFFFFF",
69
- /** Text */
70
- textPrimary: "#FFFFFF",
71
- textSecondary: "#92C9A8",
72
- textMuted: "rgba(255,255,255,0.5)",
73
- textDimmed: "rgba(255,255,255,0.35)",
83
+ ...darkSemanticColors,
84
+ textPrimary: darkSemanticColors.foreground,
85
+ textSecondary: darkSemanticColors.mutedFg,
86
+ textMuted: darkSemanticColors.border,
87
+ textDimmed: darkSemanticColors.ring,
74
88
  /** Semantic */
75
- success: "#2BEE79",
76
- warning: "#F59E0B",
77
- error: "#F94040",
78
- info: "#4290FF",
89
+ success: darkSemanticColors.primary,
90
+ warning: darkSemanticColors.chart3,
91
+ error: darkSemanticColors.destructive,
92
+ info: darkSemanticColors.chart1,
79
93
  /** Network / Layer */
80
94
  network: {
81
95
  bitcoin: "#F7931A",
@@ -95,17 +109,16 @@ var colors = {
95
109
  // src/native/theme.ts
96
110
  var kaleidoswapBrandConfig = {
97
111
  primaryColor: colors.primary,
98
- secondaryColor: colors.primaryDark
112
+ secondaryColor: colors.secondary
99
113
  };
100
114
  var kaleidoswapTokens = {
101
115
  colors: {
102
116
  primary: colors.primary,
103
- primaryDark: colors.primaryDark,
104
117
  primaryFg: colors.primaryFg,
105
- background: colors.bgDark,
106
- surface: colors.surfaceDark,
107
- surfaceHighlight: colors.surfaceHighlight,
108
- border: colors.surfaceBorder,
118
+ background: colors.background,
119
+ surface: colors.card,
120
+ surfaceHighlight: colors.accent,
121
+ border: colors.border,
109
122
  textPrimary: colors.textPrimary,
110
123
  textSecondary: colors.textSecondary,
111
124
  success: colors.success,
@@ -245,7 +258,7 @@ var styles4 = import_react_native4.StyleSheet.create({
245
258
 
246
259
  // src/tokens/typography.ts
247
260
  var fontFamily = {
248
- display: "'Geist Sans', system-ui, -apple-system, sans-serif",
261
+ display: "'Satoshi', system-ui, -apple-system, sans-serif",
249
262
  mono: "'Geist Mono', monospace"
250
263
  };
251
264
  var typeScale = {
@@ -267,23 +280,23 @@ var fontWeight = {
267
280
 
268
281
  // src/tokens/radius.ts
269
282
  var radius = {
270
- sm: "8px",
271
- md: "12px",
272
- lg: "16px",
273
- xl: "20px",
274
- card: "20px",
275
- panel: "22px",
276
- pill: "24px",
277
- nav: "14px",
283
+ sm: "4px",
284
+ md: "6px",
285
+ lg: "8px",
286
+ xl: "12px",
287
+ card: "16px",
288
+ panel: "24px",
289
+ pill: "9999px",
290
+ nav: "32px",
278
291
  full: "9999px"
279
292
  };
280
293
 
281
294
  // src/tokens/shadows.ts
282
295
  var shadow = {
283
- glow: "0 0 20px rgba(43, 238, 121, 0.15)",
284
- glowStrong: "0 0 30px rgba(43, 238, 121, 0.3)",
285
- glowSubtle: "0 0 15px rgba(43, 238, 121, 0.15)",
286
- glowAccent: "0 4px 30px rgba(43, 238, 121, 0.25)"
296
+ glow: "0 0 20px rgba(10, 10, 10, 0.15)",
297
+ glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)",
298
+ glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)",
299
+ glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)"
287
300
  };
288
301
 
289
302
  // src/tokens/transitions.ts
@@ -9,27 +9,26 @@ export { AmountInput, AssetSelector, Balance, CryptoAddressInput, NetworkSelecto
9
9
  * <ThemeProvider brandConfig={kaleidoswapBrandConfig}>
10
10
  */
11
11
  declare const kaleidoswapBrandConfig: {
12
- primaryColor: "#2BEE79";
13
- secondaryColor: "#1FA855";
12
+ primaryColor: "#e5e5e5";
13
+ secondaryColor: "#262626";
14
14
  };
15
15
  /**
16
16
  * Full custom theme tokens for more granular control.
17
17
  */
18
18
  declare const kaleidoswapTokens: {
19
19
  readonly colors: {
20
- readonly primary: "#2BEE79";
21
- readonly primaryDark: "#1FA855";
22
- readonly primaryFg: "#102217";
23
- readonly background: "#102217";
24
- readonly surface: "#162E21";
25
- readonly surfaceHighlight: "#243E30";
26
- readonly border: "#244A35";
27
- readonly textPrimary: "#FFFFFF";
28
- readonly textSecondary: "#92C9A8";
29
- readonly success: "#2BEE79";
30
- readonly warning: "#F59E0B";
31
- readonly error: "#F94040";
32
- readonly info: "#4290FF";
20
+ readonly primary: "#e5e5e5";
21
+ readonly primaryFg: "#171717";
22
+ readonly background: "#0a0a0a";
23
+ readonly surface: "#171717";
24
+ readonly surfaceHighlight: "#262626";
25
+ readonly border: "#ffffff1a";
26
+ readonly textPrimary: "#fafafa";
27
+ readonly textSecondary: "#a1a1a1";
28
+ readonly success: "#e5e5e5";
29
+ readonly warning: "#fe9a00";
30
+ readonly error: "#ff6467";
31
+ readonly info: "#1447e6";
33
32
  readonly network: {
34
33
  readonly bitcoin: "#F7931A";
35
34
  readonly rgb: "#DD352E";
@@ -85,9 +84,9 @@ declare const variantConfig: {
85
84
  readonly iconColor: "#60A5FA";
86
85
  };
87
86
  readonly success: {
88
- readonly bg: "#2BEE791A";
89
- readonly borderColor: "#2BEE7933";
90
- readonly iconColor: "#2BEE79";
87
+ readonly bg: "#e5e5e51A";
88
+ readonly borderColor: "#e5e5e533";
89
+ readonly iconColor: "#e5e5e5";
91
90
  };
92
91
  };
93
92
  interface AlertBannerProps {
@@ -103,35 +102,16 @@ interface SectionLabelProps {
103
102
  }
104
103
  declare function SectionLabel({ children, style }: SectionLabelProps): react_jsx_runtime.JSX.Element;
105
104
 
106
- /**
107
- * KaleidoSwap Color Tokens
108
- *
109
- * Single source of truth for all color constants across web and native.
110
- */
111
105
  declare const colors: {
112
- /** Brand */
113
- readonly primary: "#2BEE79";
114
- readonly primaryDark: "#1FA855";
115
- readonly primaryFg: "#102217";
116
- /** Surfaces (dark theme — the default) */
117
- readonly bgDark: "#102217";
118
- readonly surfaceDark: "#162E21";
119
- readonly surfaceHighlight: "#243E30";
120
- readonly surfaceBorder: "#244A35";
121
- readonly surfaceDarker: "#0B1810";
122
- /** Surfaces (light theme) */
123
- readonly bgLight: "#F6F8F7";
124
- readonly surfaceLight: "#FFFFFF";
125
- /** Text */
126
- readonly textPrimary: "#FFFFFF";
127
- readonly textSecondary: "#92C9A8";
128
- readonly textMuted: "rgba(255,255,255,0.5)";
129
- readonly textDimmed: "rgba(255,255,255,0.35)";
106
+ readonly textPrimary: "#fafafa";
107
+ readonly textSecondary: "#a1a1a1";
108
+ readonly textMuted: "#ffffff1a";
109
+ readonly textDimmed: "#737373";
130
110
  /** Semantic */
131
- readonly success: "#2BEE79";
132
- readonly warning: "#F59E0B";
133
- readonly error: "#F94040";
134
- readonly info: "#4290FF";
111
+ readonly success: "#e5e5e5";
112
+ readonly warning: "#fe9a00";
113
+ readonly error: "#ff6467";
114
+ readonly info: "#1447e6";
135
115
  /** Network / Layer */
136
116
  readonly network: {
137
117
  readonly bitcoin: "#F7931A";
@@ -146,13 +126,38 @@ declare const colors: {
146
126
  readonly receive: "#2BEE79";
147
127
  readonly swap: "#4290FF";
148
128
  };
129
+ readonly background: "#0a0a0a";
130
+ readonly foreground: "#fafafa";
131
+ readonly border: "#ffffff1a";
132
+ readonly input: "#ffffff26";
133
+ readonly destructive: "#ff6467";
134
+ readonly secondary: "#262626";
135
+ readonly secondaryFg: "#fafafa";
136
+ readonly muted: "#262626";
137
+ readonly mutedFg: "#a1a1a1";
138
+ readonly primary: "#e5e5e5";
139
+ readonly primaryFg: "#171717";
140
+ readonly accent: "#262626";
141
+ readonly accentFg: "#fafafa";
142
+ readonly ring: "#737373";
143
+ readonly card: "#171717";
144
+ readonly cardFg: "#fafafa";
145
+ readonly popover: "#171717";
146
+ readonly popoverFg: "#fafafa";
147
+ readonly chart1: "#1447e6";
148
+ readonly chart2: "#00bc7d";
149
+ readonly chart3: "#fe9a00";
150
+ readonly chart4: "#ad46ff";
151
+ readonly chart5: "#ff2056";
152
+ readonly semanticBackground: "#272625";
153
+ readonly semanticBorder: "#535151";
149
154
  };
150
155
 
151
156
  /**
152
157
  * KaleidoSwap Typography Tokens
153
158
  */
154
159
  declare const fontFamily: {
155
- readonly display: "'Geist Sans', system-ui, -apple-system, sans-serif";
160
+ readonly display: "'Satoshi', system-ui, -apple-system, sans-serif";
156
161
  readonly mono: "'Geist Mono', monospace";
157
162
  };
158
163
  /**
@@ -179,14 +184,14 @@ declare const fontWeight: {
179
184
  * KaleidoSwap Border Radius Tokens
180
185
  */
181
186
  declare const radius: {
182
- readonly sm: "8px";
183
- readonly md: "12px";
184
- readonly lg: "16px";
185
- readonly xl: "20px";
186
- readonly card: "20px";
187
- readonly panel: "22px";
188
- readonly pill: "24px";
189
- readonly nav: "14px";
187
+ readonly sm: "4px";
188
+ readonly md: "6px";
189
+ readonly lg: "8px";
190
+ readonly xl: "12px";
191
+ readonly card: "16px";
192
+ readonly panel: "24px";
193
+ readonly pill: "9999px";
194
+ readonly nav: "32px";
190
195
  readonly full: "9999px";
191
196
  };
192
197
 
@@ -194,10 +199,10 @@ declare const radius: {
194
199
  * KaleidoSwap Shadow Tokens
195
200
  */
196
201
  declare const shadow: {
197
- readonly glow: "0 0 20px rgba(43, 238, 121, 0.15)";
198
- readonly glowStrong: "0 0 30px rgba(43, 238, 121, 0.3)";
199
- readonly glowSubtle: "0 0 15px rgba(43, 238, 121, 0.15)";
200
- readonly glowAccent: "0 4px 30px rgba(43, 238, 121, 0.25)";
202
+ readonly glow: "0 0 20px rgba(10, 10, 10, 0.15)";
203
+ readonly glowStrong: "0 0 30px rgba(10, 10, 10, 0.25)";
204
+ readonly glowSubtle: "0 0 15px rgba(10, 10, 10, 0.12)";
205
+ readonly glowAccent: "0 4px 30px rgba(10, 10, 10, 0.18)";
201
206
  };
202
207
 
203
208
  /**