@xaui/core 0.1.4 → 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.
@@ -0,0 +1,498 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/theme/index.ts
21
+ var theme_exports = {};
22
+ __export(theme_exports, {
23
+ defaultDarkTheme: () => defaultDarkTheme,
24
+ defaultTheme: () => defaultTheme
25
+ });
26
+ module.exports = __toCommonJS(theme_exports);
27
+
28
+ // src/tokens/index.ts
29
+ var colors = {
30
+ slate: {
31
+ 50: "#f8fafc",
32
+ 100: "#f1f5f9",
33
+ 200: "#e2e8f0",
34
+ 300: "#cbd5e1",
35
+ 400: "#94a3b8",
36
+ 500: "#64748b",
37
+ 600: "#475569",
38
+ 700: "#334155",
39
+ 800: "#1e293b",
40
+ 900: "#0f172a",
41
+ 950: "#020617"
42
+ },
43
+ gray: {
44
+ 50: "#f9fafb",
45
+ 100: "#f3f4f6",
46
+ 200: "#e5e7eb",
47
+ 300: "#d1d5db",
48
+ 400: "#9ca3af",
49
+ 500: "#6b7280",
50
+ 600: "#4b5563",
51
+ 700: "#374151",
52
+ 800: "#1f2937",
53
+ 900: "#111827",
54
+ 950: "#030712"
55
+ },
56
+ zinc: {
57
+ 50: "#fafafa",
58
+ 100: "#f4f4f5",
59
+ 200: "#e4e4e7",
60
+ 300: "#d4d4d8",
61
+ 400: "#a1a1aa",
62
+ 500: "#71717a",
63
+ 600: "#52525b",
64
+ 700: "#3f3f46",
65
+ 800: "#27272a",
66
+ 900: "#18181b",
67
+ 950: "#09090b"
68
+ },
69
+ neutral: {
70
+ 50: "#fafafa",
71
+ 100: "#f5f5f5",
72
+ 200: "#e5e5e5",
73
+ 300: "#d4d4d4",
74
+ 400: "#a3a3a3",
75
+ 500: "#737373",
76
+ 600: "#525252",
77
+ 700: "#404040",
78
+ 800: "#262626",
79
+ 900: "#171717",
80
+ 950: "#0a0a0a"
81
+ },
82
+ stone: {
83
+ 50: "#fafaf9",
84
+ 100: "#f5f5f4",
85
+ 200: "#e7e5e4",
86
+ 300: "#d6d3d1",
87
+ 400: "#a8a29e",
88
+ 500: "#78716c",
89
+ 600: "#57534e",
90
+ 700: "#44403c",
91
+ 800: "#292524",
92
+ 900: "#1c1917",
93
+ 950: "#0c0a09"
94
+ },
95
+ red: {
96
+ 50: "#fef2f2",
97
+ 100: "#fee2e2",
98
+ 200: "#fecaca",
99
+ 300: "#fca5a5",
100
+ 400: "#f87171",
101
+ 500: "#ef4444",
102
+ 600: "#dc2626",
103
+ 700: "#b91c1c",
104
+ 800: "#991b1b",
105
+ 900: "#7f1d1d",
106
+ 950: "#450a0a"
107
+ },
108
+ orange: {
109
+ 50: "#fff7ed",
110
+ 100: "#ffedd5",
111
+ 200: "#fed7aa",
112
+ 300: "#fdba74",
113
+ 400: "#fb923c",
114
+ 500: "#f97316",
115
+ 600: "#ea580c",
116
+ 700: "#c2410c",
117
+ 800: "#9a3412",
118
+ 900: "#7c2d12",
119
+ 950: "#431407"
120
+ },
121
+ amber: {
122
+ 50: "#fffbeb",
123
+ 100: "#fef3c7",
124
+ 200: "#fde68a",
125
+ 300: "#fcd34d",
126
+ 400: "#fbbf24",
127
+ 500: "#f59e0b",
128
+ 600: "#d97706",
129
+ 700: "#b45309",
130
+ 800: "#92400e",
131
+ 900: "#78350f",
132
+ 950: "#451a03"
133
+ },
134
+ yellow: {
135
+ 50: "#fefce8",
136
+ 100: "#fef9c3",
137
+ 200: "#fef08a",
138
+ 300: "#fde047",
139
+ 400: "#facc15",
140
+ 500: "#eab308",
141
+ 600: "#ca8a04",
142
+ 700: "#a16207",
143
+ 800: "#854d0e",
144
+ 900: "#713f12",
145
+ 950: "#422006"
146
+ },
147
+ lime: {
148
+ 50: "#f7fee7",
149
+ 100: "#ecfccb",
150
+ 200: "#d9f99d",
151
+ 300: "#bef264",
152
+ 400: "#a3e635",
153
+ 500: "#84cc16",
154
+ 600: "#65a30d",
155
+ 700: "#4d7c0f",
156
+ 800: "#3f6212",
157
+ 900: "#365314",
158
+ 950: "#1a2e05"
159
+ },
160
+ green: {
161
+ 50: "#f0fdf4",
162
+ 100: "#dcfce7",
163
+ 200: "#bbf7d0",
164
+ 300: "#86efac",
165
+ 400: "#4ade80",
166
+ 500: "#22c55e",
167
+ 600: "#16a34a",
168
+ 700: "#15803d",
169
+ 800: "#166534",
170
+ 900: "#14532d",
171
+ 950: "#052e16"
172
+ },
173
+ emerald: {
174
+ 50: "#ecfdf5",
175
+ 100: "#d1fae5",
176
+ 200: "#a7f3d0",
177
+ 300: "#6ee7b7",
178
+ 400: "#34d399",
179
+ 500: "#10b981",
180
+ 600: "#059669",
181
+ 700: "#047857",
182
+ 800: "#065f46",
183
+ 900: "#064e3b",
184
+ 950: "#022c22"
185
+ },
186
+ teal: {
187
+ 50: "#f0fdfa",
188
+ 100: "#ccfbf1",
189
+ 200: "#99f6e4",
190
+ 300: "#5eead4",
191
+ 400: "#2dd4bf",
192
+ 500: "#14b8a6",
193
+ 600: "#0d9488",
194
+ 700: "#0f766e",
195
+ 800: "#115e59",
196
+ 900: "#134e4a",
197
+ 950: "#042f2e"
198
+ },
199
+ cyan: {
200
+ 50: "#ecfeff",
201
+ 100: "#cffafe",
202
+ 200: "#a5f3fc",
203
+ 300: "#67e8f9",
204
+ 400: "#22d3ee",
205
+ 500: "#06b6d4",
206
+ 600: "#0891b2",
207
+ 700: "#0e7490",
208
+ 800: "#155e75",
209
+ 900: "#164e63",
210
+ 950: "#083344"
211
+ },
212
+ sky: {
213
+ 50: "#f0f9ff",
214
+ 100: "#e0f2fe",
215
+ 200: "#bae6fd",
216
+ 300: "#7dd3fc",
217
+ 400: "#38bdf8",
218
+ 500: "#0ea5e9",
219
+ 600: "#0284c7",
220
+ 700: "#0369a1",
221
+ 800: "#075985",
222
+ 900: "#0c4a6e",
223
+ 950: "#082f49"
224
+ },
225
+ blue: {
226
+ 50: "#eff6ff",
227
+ 100: "#dbeafe",
228
+ 200: "#bfdbfe",
229
+ 300: "#93c5fd",
230
+ 400: "#60a5fa",
231
+ 500: "#3b82f6",
232
+ 600: "#2563eb",
233
+ 700: "#1d4ed8",
234
+ 800: "#1e40af",
235
+ 900: "#1e3a8a",
236
+ 950: "#172554"
237
+ },
238
+ indigo: {
239
+ 50: "#eef2ff",
240
+ 100: "#e0e7ff",
241
+ 200: "#c7d2fe",
242
+ 300: "#a5b4fc",
243
+ 400: "#818cf8",
244
+ 500: "#6366f1",
245
+ 600: "#4f46e5",
246
+ 700: "#4338ca",
247
+ 800: "#3730a3",
248
+ 900: "#312e81",
249
+ 950: "#1e1b4b"
250
+ },
251
+ violet: {
252
+ 50: "#f5f3ff",
253
+ 100: "#ede9fe",
254
+ 200: "#ddd6fe",
255
+ 300: "#c4b5fd",
256
+ 400: "#a78bfa",
257
+ 500: "#8b5cf6",
258
+ 600: "#7c3aed",
259
+ 700: "#6d28d9",
260
+ 800: "#5b21b6",
261
+ 900: "#4c1d95",
262
+ 950: "#2e1065"
263
+ },
264
+ purple: {
265
+ 50: "#faf5ff",
266
+ 100: "#f3e8ff",
267
+ 200: "#e9d5ff",
268
+ 300: "#d8b4fe",
269
+ 400: "#c084fc",
270
+ 500: "#a855f7",
271
+ 600: "#9333ea",
272
+ 700: "#7e22ce",
273
+ 800: "#6b21a8",
274
+ 900: "#581c87",
275
+ 950: "#3b0764"
276
+ },
277
+ fuchsia: {
278
+ 50: "#fdf4ff",
279
+ 100: "#fae8ff",
280
+ 200: "#f5d0fe",
281
+ 300: "#f0abfc",
282
+ 400: "#e879f9",
283
+ 500: "#d946ef",
284
+ 600: "#c026d3",
285
+ 700: "#a21caf",
286
+ 800: "#86198f",
287
+ 900: "#701a75",
288
+ 950: "#4a044e"
289
+ },
290
+ pink: {
291
+ 50: "#fdf2f8",
292
+ 100: "#fce7f3",
293
+ 200: "#fbcfe8",
294
+ 300: "#f9a8d4",
295
+ 400: "#f472b6",
296
+ 500: "#ec4899",
297
+ 600: "#db2777",
298
+ 700: "#be185d",
299
+ 800: "#9d174d",
300
+ 900: "#831843",
301
+ 950: "#500724"
302
+ },
303
+ rose: {
304
+ 50: "#fff1f2",
305
+ 100: "#ffe4e6",
306
+ 200: "#fecdd3",
307
+ 300: "#fda4af",
308
+ 400: "#fb7185",
309
+ 500: "#f43f5e",
310
+ 600: "#e11d48",
311
+ 700: "#be123c",
312
+ 800: "#9f1239",
313
+ 900: "#881337",
314
+ 950: "#4c0519"
315
+ },
316
+ black: "#000000",
317
+ white: "#ffffff",
318
+ transparent: "transparent"
319
+ };
320
+
321
+ // src/theme/theme-colors.ts
322
+ var themeColors = {
323
+ primary: {
324
+ main: colors.blue[600],
325
+ foreground: colors.white,
326
+ background: colors.blue[100]
327
+ },
328
+ secondary: {
329
+ main: colors.purple[600],
330
+ foreground: colors.white,
331
+ background: colors.purple[100]
332
+ },
333
+ tertiary: {
334
+ main: colors.orange[600],
335
+ foreground: colors.white,
336
+ background: colors.orange[100]
337
+ },
338
+ danger: {
339
+ main: colors.red[600],
340
+ foreground: colors.white,
341
+ background: colors.red[100]
342
+ },
343
+ warning: {
344
+ main: colors.amber[600],
345
+ foreground: colors.gray[900],
346
+ background: colors.amber[100]
347
+ },
348
+ success: {
349
+ main: colors.green[600],
350
+ foreground: colors.white,
351
+ background: colors.green[100]
352
+ },
353
+ default: {
354
+ main: colors.gray[500],
355
+ foreground: colors.white,
356
+ background: colors.gray[100]
357
+ },
358
+ background: colors.white,
359
+ foreground: colors.gray[900]
360
+ };
361
+ var darkThemeColors = {
362
+ primary: {
363
+ main: colors.blue[400],
364
+ foreground: colors.gray[50],
365
+ background: colors.blue[900]
366
+ },
367
+ secondary: {
368
+ main: colors.purple[400],
369
+ foreground: colors.gray[50],
370
+ background: colors.purple[900]
371
+ },
372
+ tertiary: {
373
+ main: colors.orange[400],
374
+ foreground: colors.gray[50],
375
+ background: colors.orange[900]
376
+ },
377
+ danger: {
378
+ main: colors.red[400],
379
+ foreground: colors.gray[50],
380
+ background: colors.red[900]
381
+ },
382
+ warning: {
383
+ main: colors.amber[400],
384
+ foreground: colors.gray[50],
385
+ background: colors.amber[900]
386
+ },
387
+ success: {
388
+ main: colors.green[400],
389
+ foreground: colors.gray[50],
390
+ background: colors.green[900]
391
+ },
392
+ default: {
393
+ main: colors.gray[400],
394
+ foreground: colors.gray[50],
395
+ background: colors.gray[800]
396
+ },
397
+ background: colors.gray[950],
398
+ foreground: colors.gray[50]
399
+ };
400
+
401
+ // src/theme/theme-config.ts
402
+ var baseTheme = {
403
+ spacing: {
404
+ xs: 4,
405
+ sm: 8,
406
+ md: 16,
407
+ lg: 24,
408
+ xl: 32,
409
+ "2xl": 48,
410
+ "3xl": 64
411
+ },
412
+ borderRadius: {
413
+ none: 0,
414
+ sm: 4,
415
+ md: 8,
416
+ lg: 12,
417
+ xl: 16,
418
+ "2xl": 24,
419
+ "3xl": 32,
420
+ full: 9999
421
+ },
422
+ borderWidth: {
423
+ none: 0,
424
+ xs: 0.5,
425
+ sm: 1,
426
+ md: 2,
427
+ lg: 3,
428
+ xl: 4
429
+ },
430
+ fontSizes: {
431
+ xs: 12,
432
+ sm: 14,
433
+ md: 16,
434
+ lg: 18,
435
+ xl: 20,
436
+ "2xl": 24,
437
+ "3xl": 30,
438
+ "4xl": 36
439
+ },
440
+ fontWeights: {
441
+ light: "300",
442
+ normal: "400",
443
+ medium: "500",
444
+ semibold: "600",
445
+ bold: "700",
446
+ extrabold: "800"
447
+ },
448
+ fontFamilies: {
449
+ body: "System",
450
+ heading: "System",
451
+ default: "monospace"
452
+ },
453
+ shadows: {
454
+ sm: {
455
+ shadowColor: "#000",
456
+ shadowOffset: { width: 0, height: 1 },
457
+ shadowOpacity: 0.18,
458
+ shadowRadius: 1,
459
+ elevation: 1
460
+ },
461
+ md: {
462
+ shadowColor: "#000",
463
+ shadowOffset: { width: 0, height: 2 },
464
+ shadowOpacity: 0.23,
465
+ shadowRadius: 2.62,
466
+ elevation: 4
467
+ },
468
+ lg: {
469
+ shadowColor: "#000",
470
+ shadowOffset: { width: 0, height: 4 },
471
+ shadowOpacity: 0.3,
472
+ shadowRadius: 4.65,
473
+ elevation: 8
474
+ },
475
+ xl: {
476
+ shadowColor: "#000",
477
+ shadowOffset: { width: 0, height: 6 },
478
+ shadowOpacity: 0.37,
479
+ shadowRadius: 7.49,
480
+ elevation: 12
481
+ }
482
+ }
483
+ };
484
+ var theme = {
485
+ colors: themeColors,
486
+ ...baseTheme
487
+ };
488
+ var darkTheme = {
489
+ colors: darkThemeColors,
490
+ ...baseTheme
491
+ };
492
+ var defaultTheme = theme;
493
+ var defaultDarkTheme = darkTheme;
494
+ // Annotate the CommonJS export names for ESM import in node:
495
+ 0 && (module.exports = {
496
+ defaultDarkTheme,
497
+ defaultTheme
498
+ });
@@ -0,0 +1,123 @@
1
+ type ColorScheme = {
2
+ main: string;
3
+ foreground: string;
4
+ background: string;
5
+ };
6
+ type ThemeColors = {
7
+ primary: ColorScheme;
8
+ secondary: ColorScheme;
9
+ tertiary: ColorScheme;
10
+ danger: ColorScheme;
11
+ warning: ColorScheme;
12
+ success: ColorScheme;
13
+ default: ColorScheme;
14
+ background: string;
15
+ foreground: string;
16
+ };
17
+
18
+ interface ThemeSpacing {
19
+ xs: number;
20
+ sm: number;
21
+ md: number;
22
+ lg: number;
23
+ xl: number;
24
+ '2xl': number;
25
+ '3xl': number;
26
+ }
27
+ interface ThemeBorderRadius {
28
+ none: number;
29
+ sm: number;
30
+ md: number;
31
+ lg: number;
32
+ xl: number;
33
+ '2xl': number;
34
+ '3xl': number;
35
+ full: number;
36
+ }
37
+ interface ThemeBorderWidth {
38
+ none: number;
39
+ xs: number;
40
+ sm: number;
41
+ md: number;
42
+ lg: number;
43
+ xl: number;
44
+ }
45
+ interface ThemeFontSizes {
46
+ xs: number;
47
+ sm: number;
48
+ md: number;
49
+ lg: number;
50
+ xl: number;
51
+ '2xl': number;
52
+ '3xl': number;
53
+ '4xl': number;
54
+ }
55
+ interface ThemeFontWeights {
56
+ light: string;
57
+ normal: string;
58
+ medium: string;
59
+ semibold: string;
60
+ bold: string;
61
+ extrabold: string;
62
+ }
63
+ interface ThemeFontFamilies {
64
+ body: string;
65
+ heading: string;
66
+ default: string;
67
+ }
68
+ interface ThemeShadows {
69
+ sm: {
70
+ shadowColor: string;
71
+ shadowOffset: {
72
+ width: number;
73
+ height: number;
74
+ };
75
+ shadowOpacity: number;
76
+ shadowRadius: number;
77
+ elevation: number;
78
+ };
79
+ md: {
80
+ shadowColor: string;
81
+ shadowOffset: {
82
+ width: number;
83
+ height: number;
84
+ };
85
+ shadowOpacity: number;
86
+ shadowRadius: number;
87
+ elevation: number;
88
+ };
89
+ lg: {
90
+ shadowColor: string;
91
+ shadowOffset: {
92
+ width: number;
93
+ height: number;
94
+ };
95
+ shadowOpacity: number;
96
+ shadowRadius: number;
97
+ elevation: number;
98
+ };
99
+ xl: {
100
+ shadowColor: string;
101
+ shadowOffset: {
102
+ width: number;
103
+ height: number;
104
+ };
105
+ shadowOpacity: number;
106
+ shadowRadius: number;
107
+ elevation: number;
108
+ };
109
+ }
110
+ interface XUITheme {
111
+ colors: ThemeColors;
112
+ spacing: ThemeSpacing;
113
+ borderRadius: ThemeBorderRadius;
114
+ borderWidth: ThemeBorderWidth;
115
+ fontSizes: ThemeFontSizes;
116
+ fontWeights: ThemeFontWeights;
117
+ fontFamilies: ThemeFontFamilies;
118
+ shadows: ThemeShadows;
119
+ }
120
+ declare const defaultTheme: XUITheme;
121
+ declare const defaultDarkTheme: XUITheme;
122
+
123
+ export { type XUITheme, defaultDarkTheme, defaultTheme };