kaleido-ui 0.1.0 → 0.1.2

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: hsl(154 26% 17%);
59
+ --accent-foreground: #ffffff;
60
+ --background: hsl(158 58% 7%);
61
+ --border: hsl(150 20% 24%);
62
+ --card: hsl(156 32% 12%);
63
+ --card-foreground: #ffffff;
64
+ --chart-1: #2BEE79;
65
+ --chart-2: #F6C343;
66
+ --chart-3: #F7931A;
67
+ --chart-4: #7C3AED;
68
+ --chart-5: #DD352E;
69
+ --destructive: hsl(0 62% 50%);
70
+ --destructive-foreground: #ffffff;
71
+ --foreground: #ffffff;
72
+ --input: rgba(255, 255, 255, 0.15);
73
+ --muted: hsl(156 32% 12%);
74
+ --muted-foreground: rgba(255, 255, 255, 0.55);
75
+ --popover: hsl(154 26% 17%);
76
+ --popover-foreground: #ffffff;
77
+ --primary: #2BEE79;
78
+ --primary-foreground: #051B10;
79
+ --ring: #2BEE79;
80
+ --secondary: hsl(154 26% 17%);
81
+ --secondary-foreground: #ffffff;
82
+ --semantic-background: hsl(156 32% 12%);
83
+ --semantic-border: hsl(150 20% 24%);
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 colors = {
56
- /** Brand */
55
+ var darkSemanticColors = {
56
+ background: "hsl(158 58% 7%)",
57
+ foreground: "#ffffff",
58
+ border: "hsl(150 20% 24%)",
59
+ input: "rgba(255, 255, 255, 0.15)",
60
+ destructive: "hsl(0 62% 50%)",
61
+ secondary: "hsl(154 26% 17%)",
62
+ secondaryFg: "#ffffff",
63
+ muted: "hsl(156 32% 12%)",
64
+ mutedFg: "rgba(255, 255, 255, 0.55)",
57
65
  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)",
66
+ primaryFg: "#051B10",
67
+ accent: "hsl(154 26% 17%)",
68
+ accentFg: "#ffffff",
69
+ ring: "#2BEE79",
70
+ card: "hsl(156 32% 12%)",
71
+ cardFg: "#ffffff",
72
+ popover: "hsl(154 26% 17%)",
73
+ popoverFg: "#ffffff",
74
+ chart1: "#2BEE79",
75
+ chart2: "#F6C343",
76
+ chart3: "#F7931A",
77
+ chart4: "#7C3AED",
78
+ chart5: "#DD352E",
79
+ semanticBackground: "hsl(156 32% 12%)",
80
+ semanticBorder: "hsl(150 20% 24%)"
81
+ };
82
+ var colors = {
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
@@ -10,7 +10,7 @@ export { AmountInput, AssetSelector, Balance, CryptoAddressInput, NetworkSelecto
10
10
  */
11
11
  declare const kaleidoswapBrandConfig: {
12
12
  primaryColor: "#2BEE79";
13
- secondaryColor: "#1FA855";
13
+ secondaryColor: "hsl(154 26% 17%)";
14
14
  };
15
15
  /**
16
16
  * Full custom theme tokens for more granular control.
@@ -18,18 +18,17 @@ declare const kaleidoswapBrandConfig: {
18
18
  declare const kaleidoswapTokens: {
19
19
  readonly colors: {
20
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";
21
+ readonly primaryFg: "#051B10";
22
+ readonly background: "hsl(158 58% 7%)";
23
+ readonly surface: "hsl(156 32% 12%)";
24
+ readonly surfaceHighlight: "hsl(154 26% 17%)";
25
+ readonly border: "hsl(150 20% 24%)";
26
+ readonly textPrimary: "#ffffff";
27
+ readonly textSecondary: "rgba(255, 255, 255, 0.55)";
29
28
  readonly success: "#2BEE79";
30
- readonly warning: "#F59E0B";
31
- readonly error: "#F94040";
32
- readonly info: "#4290FF";
29
+ readonly warning: "#F7931A";
30
+ readonly error: "hsl(0 62% 50%)";
31
+ readonly info: "#2BEE79";
33
32
  readonly network: {
34
33
  readonly bitcoin: "#F7931A";
35
34
  readonly rgb: "#DD352E";
@@ -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: "#ffffff";
107
+ readonly textSecondary: "rgba(255, 255, 255, 0.55)";
108
+ readonly textMuted: "hsl(150 20% 24%)";
109
+ readonly textDimmed: "#2BEE79";
130
110
  /** Semantic */
131
111
  readonly success: "#2BEE79";
132
- readonly warning: "#F59E0B";
133
- readonly error: "#F94040";
134
- readonly info: "#4290FF";
112
+ readonly warning: "#F7931A";
113
+ readonly error: "hsl(0 62% 50%)";
114
+ readonly info: "#2BEE79";
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: "hsl(158 58% 7%)";
130
+ readonly foreground: "#ffffff";
131
+ readonly border: "hsl(150 20% 24%)";
132
+ readonly input: "rgba(255, 255, 255, 0.15)";
133
+ readonly destructive: "hsl(0 62% 50%)";
134
+ readonly secondary: "hsl(154 26% 17%)";
135
+ readonly secondaryFg: "#ffffff";
136
+ readonly muted: "hsl(156 32% 12%)";
137
+ readonly mutedFg: "rgba(255, 255, 255, 0.55)";
138
+ readonly primary: "#2BEE79";
139
+ readonly primaryFg: "#051B10";
140
+ readonly accent: "hsl(154 26% 17%)";
141
+ readonly accentFg: "#ffffff";
142
+ readonly ring: "#2BEE79";
143
+ readonly card: "hsl(156 32% 12%)";
144
+ readonly cardFg: "#ffffff";
145
+ readonly popover: "hsl(154 26% 17%)";
146
+ readonly popoverFg: "#ffffff";
147
+ readonly chart1: "#2BEE79";
148
+ readonly chart2: "#F6C343";
149
+ readonly chart3: "#F7931A";
150
+ readonly chart4: "#7C3AED";
151
+ readonly chart5: "#DD352E";
152
+ readonly semanticBackground: "hsl(156 32% 12%)";
153
+ readonly semanticBorder: "hsl(150 20% 24%)";
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
  /**