@fastwork/xosmoz-theme 0.0.3

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.
package/dist/index.mjs ADDED
@@ -0,0 +1,839 @@
1
+ // src/tokens/colors.ts
2
+ var primary = {
3
+ 50: "#E5F0FF",
4
+ 100: "#CCE0FF",
5
+ 200: "#99C2FF",
6
+ 300: "#66A3FF",
7
+ 400: "#3385FF",
8
+ 500: "#0569FF",
9
+ 600: "#0052CC",
10
+ 700: "#003D99",
11
+ 800: "#002966",
12
+ 900: "#001433"
13
+ };
14
+ var neutral = {
15
+ 50: "#FFFFFF",
16
+ 100: "#FBFBFC",
17
+ 200: "#F6F7F8",
18
+ 300: "#E8EAEE",
19
+ 400: "#D6DAE1",
20
+ 500: "#9BA6B5",
21
+ 600: "#8793A6",
22
+ 700: "#728197",
23
+ 800: "#485261",
24
+ 900: "#38404C",
25
+ 1e3: "#2B313B",
26
+ 1100: "#000000"
27
+ };
28
+ var green = {
29
+ 50: "#EBFFF3",
30
+ 100: "#D7F1E2",
31
+ 200: "#AFE3C5",
32
+ 300: "#87D5A7",
33
+ 400: "#5FC78A",
34
+ 500: "#37B96D",
35
+ 600: "#2C9457",
36
+ 700: "#216F41",
37
+ 800: "#164A2C",
38
+ 900: "#0B2516"
39
+ };
40
+ var yellow = {
41
+ 50: "#FFF8E5",
42
+ 100: "#FFF4CC",
43
+ 200: "#FFE999",
44
+ 300: "#FFDE66",
45
+ 400: "#FFD333",
46
+ 500: "#FFC800",
47
+ 600: "#CCA000",
48
+ 700: "#997800",
49
+ 800: "#665000",
50
+ 900: "#332800"
51
+ };
52
+ var red = {
53
+ 50: "#FCE3E3",
54
+ 100: "#FAD8D7",
55
+ 200: "#F5B0AF",
56
+ 300: "#F08987",
57
+ 400: "#EC615F",
58
+ 500: "#E73A37",
59
+ 600: "#B92E2C",
60
+ 700: "#8A2321",
61
+ 800: "#5C1716",
62
+ 900: "#411110"
63
+ };
64
+ var orange = {
65
+ 50: "#FEF0E6",
66
+ 100: "#FEE1CD",
67
+ 200: "#FCC49C",
68
+ 300: "#FBA66A",
69
+ 400: "#FA8938",
70
+ 500: "#F97416",
71
+ 600: "#C75605",
72
+ 700: "#954004",
73
+ 800: "#632B03",
74
+ 900: "#321501"
75
+ };
76
+ var purple = {
77
+ 50: "#F0F2FD",
78
+ 100: "#E9E8FA",
79
+ 200: "#D2D1F6",
80
+ 300: "#BCBBF1",
81
+ 400: "#A5A4ED",
82
+ 500: "#8F8DE8",
83
+ 600: "#7271BA",
84
+ 700: "#56558B",
85
+ 800: "#39385D",
86
+ 900: "#1D1C2E"
87
+ };
88
+ var cyan = {
89
+ 50: "#E5F5FC",
90
+ 100: "#D7EFF8",
91
+ 200: "#AFDEF1",
92
+ 300: "#88CEEA",
93
+ 400: "#60BDE3",
94
+ 500: "#38ADDC",
95
+ 600: "#2D8AB0",
96
+ 700: "#226884",
97
+ 800: "#164558",
98
+ 900: "#0B232C"
99
+ };
100
+ var blackAlpha = {
101
+ 50: "rgb(0 0 0 / 0.05)",
102
+ 100: "rgb(0 0 0 / 0.1)",
103
+ 200: "rgb(0 0 0 / 0.2)",
104
+ 300: "rgb(0 0 0 / 0.3)",
105
+ 400: "rgb(0 0 0 / 0.4)",
106
+ 500: "rgb(0 0 0 / 0.5)",
107
+ 600: "rgb(0 0 0 / 0.6)",
108
+ 700: "rgb(0 0 0 / 0.7)",
109
+ 800: "rgb(0 0 0 / 0.8)",
110
+ 900: "rgb(0 0 0 / 0.9)"
111
+ };
112
+ var whiteAlpha = {
113
+ 50: "rgb(255 255 255 / 0.05)",
114
+ 100: "rgb(255 255 255 / 0.1)",
115
+ 200: "rgb(255 255 255 / 0.2)",
116
+ 300: "rgb(255 255 255 / 0.3)",
117
+ 400: "rgb(255 255 255 / 0.4)",
118
+ 500: "rgb(255 255 255 / 0.5)",
119
+ 600: "rgb(255 255 255 / 0.6)",
120
+ 700: "rgb(255 255 255 / 0.7)",
121
+ 800: "rgb(255 255 255 / 0.8)",
122
+ 900: "rgb(255 255 255 / 0.9)"
123
+ };
124
+ var colors = {
125
+ primary,
126
+ neutral,
127
+ green,
128
+ yellow,
129
+ red,
130
+ orange,
131
+ purple,
132
+ cyan,
133
+ "black-alpha": blackAlpha,
134
+ "white-alpha": whiteAlpha
135
+ };
136
+
137
+ // src/tokens/typography.ts
138
+ var fontSize = {
139
+ 50: "0.5rem",
140
+ // 8px
141
+ 100: "0.625rem",
142
+ // 10px
143
+ 200: "0.75rem",
144
+ // 12px
145
+ 300: "0.875rem",
146
+ // 14px
147
+ 400: "1rem",
148
+ // 16px
149
+ 500: "1.125rem",
150
+ // 18px
151
+ 600: "1.25rem",
152
+ // 20px
153
+ 700: "1.5rem",
154
+ // 24px
155
+ 800: "1.625rem",
156
+ // 26px
157
+ 900: "2rem",
158
+ // 32px
159
+ 1e3: "2.375rem",
160
+ // 38px
161
+ 1100: "2.5rem",
162
+ // 40px
163
+ 1200: "2.6875rem",
164
+ // 43px
165
+ 1300: "3rem",
166
+ // 48px
167
+ 1400: "3.5rem",
168
+ // 56px
169
+ 1500: "4rem",
170
+ // 64px
171
+ 1600: "4.5rem"
172
+ // 72px
173
+ };
174
+ var fontWeight = {
175
+ 100: 100,
176
+ 200: 200,
177
+ 300: 300,
178
+ 400: 400,
179
+ 500: 500,
180
+ 600: 600,
181
+ 700: 700,
182
+ 800: 800,
183
+ 900: 900
184
+ };
185
+ var fontFamily = {
186
+ primary: '-apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif',
187
+ secondary: '"Fastwork", "Noto Sans Thai", "Noto Sans", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif'
188
+ };
189
+ var lineHeight = {
190
+ "100pct": "1",
191
+ "125pct": "1.25",
192
+ "135pct": "1.35",
193
+ "150pct": "1.5",
194
+ "165pct": "1.65",
195
+ "200pct": "2"
196
+ };
197
+ var headings = {
198
+ h1: {
199
+ fontFamily: fontFamily.secondary,
200
+ fontSize: {
201
+ desktop: fontSize[1600],
202
+ // 72px
203
+ mobile: fontSize[1300]
204
+ // 48px
205
+ },
206
+ fontWeight: fontWeight[700]
207
+ },
208
+ h2: {
209
+ fontFamily: fontFamily.secondary,
210
+ fontSize: {
211
+ desktop: fontSize[1500],
212
+ // 64px
213
+ mobile: fontSize[1200]
214
+ // 43px
215
+ },
216
+ fontWeight: fontWeight[700]
217
+ },
218
+ h3: {
219
+ fontFamily: fontFamily.secondary,
220
+ fontSize: {
221
+ desktop: fontSize[1400],
222
+ // 56px
223
+ mobile: fontSize[1e3]
224
+ // 38px
225
+ },
226
+ fontWeight: fontWeight[700]
227
+ },
228
+ h4: {
229
+ fontFamily: fontFamily.secondary,
230
+ fontSize: {
231
+ desktop: fontSize[1300],
232
+ // 48px
233
+ mobile: fontSize[900]
234
+ // 32px
235
+ },
236
+ fontWeight: fontWeight[700]
237
+ },
238
+ h5: {
239
+ fontFamily: fontFamily.secondary,
240
+ fontSize: {
241
+ desktop: fontSize[1100],
242
+ // 40px
243
+ mobile: fontSize[800]
244
+ // 26px
245
+ },
246
+ fontWeight: fontWeight[700]
247
+ },
248
+ h6: {
249
+ fontFamily: fontFamily.secondary,
250
+ fontSize: {
251
+ desktop: fontSize[900],
252
+ // 32px
253
+ mobile: fontSize[700]
254
+ // 24px
255
+ },
256
+ fontWeight: fontWeight[700]
257
+ }
258
+ };
259
+ var titles = {
260
+ title1: {
261
+ fontFamily: fontFamily.secondary,
262
+ fontSize: {
263
+ desktop: fontSize[700],
264
+ // 24px
265
+ mobile: fontSize[600]
266
+ // 20px
267
+ },
268
+ fontWeight: fontWeight[700]
269
+ },
270
+ title2: {
271
+ fontFamily: fontFamily.secondary,
272
+ fontSize: {
273
+ desktop: fontSize[600],
274
+ // 20px
275
+ mobile: fontSize[500]
276
+ // 18px
277
+ },
278
+ fontWeight: fontWeight[700]
279
+ },
280
+ title3: {
281
+ fontFamily: fontFamily.secondary,
282
+ fontSize: {
283
+ desktop: fontSize[500],
284
+ // 18px
285
+ mobile: fontSize[400]
286
+ // 16px
287
+ },
288
+ fontWeight: fontWeight[700]
289
+ },
290
+ title4: {
291
+ fontFamily: fontFamily.secondary,
292
+ fontSize: {
293
+ desktop: fontSize[400],
294
+ // 16px
295
+ mobile: fontSize[300]
296
+ // 14px
297
+ },
298
+ fontWeight: fontWeight[700]
299
+ }
300
+ };
301
+ var subtitles = {
302
+ subtitle1Bold: {
303
+ fontFamily: fontFamily.secondary,
304
+ fontSize: {
305
+ desktop: fontSize[400],
306
+ // 16px
307
+ mobile: fontSize[300]
308
+ // 14px
309
+ },
310
+ fontWeight: fontWeight[700]
311
+ },
312
+ subtitle1Regular: {
313
+ fontFamily: fontFamily.secondary,
314
+ fontSize: {
315
+ desktop: fontSize[400],
316
+ // 16px
317
+ mobile: fontSize[300]
318
+ // 14px
319
+ },
320
+ fontWeight: fontWeight[400]
321
+ },
322
+ subtitle2Bold: {
323
+ fontFamily: fontFamily.secondary,
324
+ fontSize: {
325
+ desktop: fontSize[300],
326
+ // 14px
327
+ mobile: fontSize[200]
328
+ // 12px
329
+ },
330
+ fontWeight: fontWeight[700]
331
+ },
332
+ subtitle2Regular: {
333
+ fontFamily: fontFamily.secondary,
334
+ fontSize: {
335
+ desktop: fontSize[300],
336
+ // 14px
337
+ mobile: fontSize[200]
338
+ // 12px
339
+ },
340
+ fontWeight: fontWeight[400]
341
+ },
342
+ subtitle3Bold: {
343
+ fontFamily: fontFamily.secondary,
344
+ fontSize: {
345
+ desktop: fontSize[200],
346
+ // 12px
347
+ mobile: fontSize[100]
348
+ // 10px
349
+ },
350
+ fontWeight: fontWeight[700]
351
+ },
352
+ subtitle3Regular: {
353
+ fontFamily: fontFamily.secondary,
354
+ fontSize: {
355
+ desktop: fontSize[200],
356
+ // 12px
357
+ mobile: fontSize[100]
358
+ // 10px
359
+ },
360
+ fontWeight: fontWeight[400]
361
+ }
362
+ };
363
+ var body = {
364
+ body1: {
365
+ fontFamily: fontFamily.secondary,
366
+ fontSize: {
367
+ desktop: fontSize[400],
368
+ // 16px
369
+ mobile: fontSize[300]
370
+ // 14px
371
+ },
372
+ fontWeight: fontWeight[400]
373
+ },
374
+ body2: {
375
+ fontFamily: fontFamily.secondary,
376
+ fontSize: {
377
+ desktop: fontSize[300],
378
+ // 14px
379
+ mobile: fontSize[200]
380
+ // 12px
381
+ },
382
+ fontWeight: fontWeight[400]
383
+ },
384
+ body3: {
385
+ fontFamily: fontFamily.secondary,
386
+ fontSize: {
387
+ desktop: fontSize[200],
388
+ // 12px
389
+ mobile: fontSize[100]
390
+ // 10px
391
+ },
392
+ fontWeight: fontWeight[400]
393
+ },
394
+ body4: {
395
+ fontFamily: fontFamily.secondary,
396
+ fontSize: {
397
+ desktop: fontSize[100],
398
+ // 10px
399
+ mobile: fontSize[50]
400
+ // 8px
401
+ },
402
+ fontWeight: fontWeight[400]
403
+ }
404
+ };
405
+ var typography = {
406
+ fontSize,
407
+ fontWeight,
408
+ fontFamily,
409
+ lineHeight,
410
+ headings,
411
+ titles,
412
+ subtitles,
413
+ body
414
+ };
415
+
416
+ // src/tokens/spacing.ts
417
+ var spacing = {
418
+ 0: "0",
419
+ px: "1px",
420
+ 0.5: "0.125rem",
421
+ // 2px
422
+ 1: "0.25rem",
423
+ // 4px
424
+ 1.5: "0.375rem",
425
+ // 6px
426
+ 2: "0.5rem",
427
+ // 8px
428
+ 2.5: "0.625rem",
429
+ // 10px
430
+ 3: "0.75rem",
431
+ // 12px
432
+ 3.5: "0.875rem",
433
+ // 14px
434
+ 4: "1rem",
435
+ // 16px
436
+ 5: "1.25rem",
437
+ // 20px
438
+ 6: "1.5rem",
439
+ // 24px
440
+ 7: "1.75rem",
441
+ // 28px
442
+ 8: "2rem",
443
+ // 32px
444
+ 9: "2.25rem",
445
+ // 36px
446
+ 10: "2.5rem",
447
+ // 40px
448
+ 11: "2.75rem",
449
+ // 44px
450
+ 12: "3rem",
451
+ // 48px
452
+ 14: "3.5rem",
453
+ // 56px
454
+ 16: "4rem",
455
+ // 64px
456
+ 20: "5rem",
457
+ // 80px
458
+ 24: "6rem",
459
+ // 96px
460
+ 28: "7rem",
461
+ // 112px
462
+ 32: "8rem",
463
+ // 128px
464
+ 36: "9rem",
465
+ // 144px
466
+ 40: "10rem",
467
+ // 160px
468
+ 44: "11rem",
469
+ // 176px
470
+ 48: "12rem",
471
+ // 192px
472
+ 52: "13rem",
473
+ // 208px
474
+ 56: "14rem",
475
+ // 224px
476
+ 60: "15rem",
477
+ // 240px
478
+ 64: "16rem",
479
+ // 256px
480
+ 72: "18rem",
481
+ // 288px
482
+ 80: "20rem",
483
+ // 320px
484
+ 96: "24rem"
485
+ // 384px
486
+ };
487
+
488
+ // src/tokens/shadows.ts
489
+ var shadows = {
490
+ xs: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
491
+ sm: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
492
+ base: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
493
+ md: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
494
+ lg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
495
+ xl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
496
+ "2xl": "0 25px 50px -12px rgb(0 0 0 / 0.25)",
497
+ inner: "inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",
498
+ none: "0 0 #0000"
499
+ };
500
+
501
+ // src/tokens/radius.ts
502
+ var borderRadius = {
503
+ none: "0",
504
+ sm: "0.125rem",
505
+ // 2px
506
+ base: "0.25rem",
507
+ // 4px
508
+ md: "0.375rem",
509
+ // 6px
510
+ lg: "0.5rem",
511
+ // 8px
512
+ xl: "0.75rem",
513
+ // 12px
514
+ "2xl": "1rem",
515
+ // 16px
516
+ "3xl": "1.5rem",
517
+ // 24px
518
+ full: "9999px"
519
+ };
520
+
521
+ // src/theme.ts
522
+ var defaultTheme = {
523
+ colors,
524
+ typography,
525
+ spacing,
526
+ borderRadius,
527
+ shadows
528
+ };
529
+ function createTheme(overrides = {}) {
530
+ return {
531
+ ...defaultTheme,
532
+ ...overrides,
533
+ colors: {
534
+ ...defaultTheme.colors,
535
+ ...overrides.colors
536
+ },
537
+ typography: {
538
+ ...defaultTheme.typography,
539
+ ...overrides.typography
540
+ },
541
+ spacing: {
542
+ ...defaultTheme.spacing,
543
+ ...overrides.spacing
544
+ },
545
+ borderRadius: {
546
+ ...defaultTheme.borderRadius,
547
+ ...overrides.borderRadius
548
+ },
549
+ shadows: {
550
+ ...defaultTheme.shadows,
551
+ ...overrides.shadows
552
+ }
553
+ };
554
+ }
555
+ function themeToCSSVariables(theme) {
556
+ const cssVars = {};
557
+ Object.entries(theme.colors).forEach(([colorName, colorScale]) => {
558
+ Object.entries(colorScale).forEach(([shade, value]) => {
559
+ cssVars[`--xosmoz-color-${colorName}-${shade}`] = value;
560
+ });
561
+ });
562
+ Object.entries(theme.typography.fontSize).forEach(([key, value]) => {
563
+ cssVars[`--xosmoz-font-size-${key}`] = value;
564
+ });
565
+ Object.entries(theme.typography.fontWeight).forEach(([key, value]) => {
566
+ cssVars[`--xosmoz-font-weight-${key}`] = String(value);
567
+ });
568
+ Object.entries(theme.typography.lineHeight).forEach(([key, value]) => {
569
+ cssVars[`--xosmoz-line-height-${key}`] = value;
570
+ });
571
+ Object.entries(theme.spacing).forEach(([key, value]) => {
572
+ cssVars[`--xosmoz-spacing-${key}`] = value;
573
+ });
574
+ Object.entries(theme.borderRadius).forEach(([key, value]) => {
575
+ cssVars[`--xosmoz-radius-${key}`] = value;
576
+ });
577
+ Object.entries(theme.shadows).forEach(([key, value]) => {
578
+ cssVars[`--xosmoz-shadow-${key}`] = value;
579
+ });
580
+ return cssVars;
581
+ }
582
+ function generateCSSVariables(theme = defaultTheme) {
583
+ const cssVars = themeToCSSVariables(theme);
584
+ const cssLines = Object.entries(cssVars).map(
585
+ ([key, value]) => ` ${key}: ${value};`
586
+ );
587
+ return `:root {
588
+ ${cssLines.join("\n")}
589
+ }`;
590
+ }
591
+
592
+ // src/themes/light.ts
593
+ var lightTheme = {
594
+ name: "light",
595
+ colors: {
596
+ // Base
597
+ background: colors.neutral[50],
598
+ foreground: colors.neutral[900],
599
+ // Muted
600
+ muted: colors.neutral[100],
601
+ mutedForeground: colors.neutral[600],
602
+ // Border and input
603
+ border: colors.neutral[200],
604
+ input: colors.neutral[200],
605
+ ring: colors.primary[500],
606
+ // Card
607
+ card: colors.neutral[50],
608
+ cardForeground: colors.neutral[900],
609
+ // Popover
610
+ popover: colors.neutral[50],
611
+ popoverForeground: colors.neutral[900],
612
+ // Primary
613
+ primary: colors.primary[500],
614
+ primaryForeground: colors.neutral[50],
615
+ // Secondary
616
+ secondary: colors.neutral[600],
617
+ secondaryForeground: colors.neutral[50],
618
+ // Accent
619
+ accent: colors.primary[600],
620
+ accentForeground: colors.neutral[50],
621
+ // Destructive
622
+ destructive: colors.red[500],
623
+ destructiveForeground: colors.neutral[50],
624
+ // Success
625
+ success: colors.green[500],
626
+ successForeground: colors.neutral[50],
627
+ // Warning
628
+ warning: colors.yellow[500],
629
+ warningForeground: colors.neutral[900],
630
+ // Info
631
+ info: colors.cyan[500],
632
+ infoForeground: colors.neutral[50]
633
+ }
634
+ };
635
+
636
+ // src/themes/dark.ts
637
+ var darkTheme = {
638
+ name: "dark",
639
+ colors: {
640
+ // Base
641
+ background: colors.neutral[900],
642
+ foreground: colors.neutral[50],
643
+ // Muted
644
+ muted: colors.neutral[900],
645
+ mutedForeground: colors.neutral[400],
646
+ // Border and input
647
+ border: colors.neutral[800],
648
+ input: colors.neutral[800],
649
+ ring: colors.primary[400],
650
+ // Card
651
+ card: colors.neutral[900],
652
+ cardForeground: colors.neutral[50],
653
+ // Popover
654
+ popover: colors.neutral[900],
655
+ popoverForeground: colors.neutral[50],
656
+ // Primary
657
+ primary: colors.primary[500],
658
+ primaryForeground: colors.neutral[50],
659
+ // Secondary
660
+ secondary: colors.neutral[400],
661
+ secondaryForeground: colors.neutral[900],
662
+ // Accent
663
+ accent: colors.primary[400],
664
+ accentForeground: colors.neutral[50],
665
+ // Destructive
666
+ destructive: colors.red[500],
667
+ destructiveForeground: colors.neutral[50],
668
+ // Success
669
+ success: colors.green[500],
670
+ successForeground: colors.neutral[50],
671
+ // Warning
672
+ warning: colors.yellow[500],
673
+ warningForeground: colors.neutral[900],
674
+ // Info
675
+ info: colors.cyan[500],
676
+ infoForeground: colors.neutral[50]
677
+ }
678
+ };
679
+
680
+ // src/themes/cyberpunk.ts
681
+ var cyberpunkTheme = {
682
+ name: "cyberpunk",
683
+ colors: {
684
+ // Base - Deep dark with slight purple tint
685
+ background: "#0a0118",
686
+ foreground: "#e0e7ff",
687
+ // Muted - Dark purple
688
+ muted: "#1e1432",
689
+ mutedForeground: "#a78bfa",
690
+ // Border and input - Neon purple
691
+ border: "#6d28d9",
692
+ input: "#4c1d95",
693
+ ring: "#a855f7",
694
+ // Card - Slightly lighter dark
695
+ card: "#150828",
696
+ cardForeground: "#e0e7ff",
697
+ // Popover
698
+ popover: "#1e1432",
699
+ popoverForeground: "#e0e7ff",
700
+ // Primary - Neon pink/magenta
701
+ primary: "#f0abfc",
702
+ primaryForeground: "#0a0118",
703
+ // Secondary - Neon cyan
704
+ secondary: "#22d3ee",
705
+ secondaryForeground: "#0a0118",
706
+ // Accent - Neon yellow
707
+ accent: "#fde047",
708
+ accentForeground: "#0a0118",
709
+ // Destructive - Hot pink
710
+ destructive: "#ec4899",
711
+ destructiveForeground: "#0a0118",
712
+ // Success - Neon green
713
+ success: "#10b981",
714
+ successForeground: "#0a0118",
715
+ // Warning - Electric orange
716
+ warning: "#fb923c",
717
+ warningForeground: "#0a0118",
718
+ // Info - Neon blue
719
+ info: "#3b82f6",
720
+ infoForeground: "#0a0118"
721
+ }
722
+ };
723
+
724
+ // src/themes/forest.ts
725
+ var forestTheme = {
726
+ name: "forest",
727
+ colors: {
728
+ // Base - Soft cream/beige
729
+ background: "#faf8f3",
730
+ foreground: "#1c3d29",
731
+ // Muted - Light sage
732
+ muted: "#e8f0e6",
733
+ mutedForeground: "#4a6f58",
734
+ // Border and input - Moss green
735
+ border: "#c4d9c4",
736
+ input: "#d4e4d4",
737
+ ring: "#2d7d46",
738
+ // Card - White with slight green tint
739
+ card: "#f5faf5",
740
+ cardForeground: "#1c3d29",
741
+ // Popover
742
+ popover: "#ffffff",
743
+ popoverForeground: "#1c3d29",
744
+ // Primary - Forest green
745
+ primary: "#2d7d46",
746
+ primaryForeground: "#ffffff",
747
+ // Secondary - Olive
748
+ secondary: "#6b8e4e",
749
+ secondaryForeground: "#ffffff",
750
+ // Accent - Amber
751
+ accent: "#d97706",
752
+ accentForeground: "#ffffff",
753
+ // Destructive - Rust red
754
+ destructive: "#b91c1c",
755
+ destructiveForeground: "#ffffff",
756
+ // Success - Vibrant green
757
+ success: "#059669",
758
+ successForeground: "#ffffff",
759
+ // Warning - Golden yellow
760
+ warning: "#ca8a04",
761
+ warningForeground: "#1c3d29",
762
+ // Info - Sky blue
763
+ info: "#0284c7",
764
+ infoForeground: "#ffffff"
765
+ }
766
+ };
767
+
768
+ // src/themes/ocean.ts
769
+ var oceanTheme = {
770
+ name: "ocean",
771
+ colors: {
772
+ // Base - Deep navy blue
773
+ background: "#0c1e2e",
774
+ foreground: "#e0f2fe",
775
+ // Muted - Dark ocean blue
776
+ muted: "#1e3a4f",
777
+ mutedForeground: "#94c5d9",
778
+ // Border and input - Teal
779
+ border: "#155e75",
780
+ input: "#164e63",
781
+ ring: "#06b6d4",
782
+ // Card - Slightly lighter navy
783
+ card: "#14293d",
784
+ cardForeground: "#e0f2fe",
785
+ // Popover
786
+ popover: "#1e3a4f",
787
+ popoverForeground: "#e0f2fe",
788
+ // Primary - Bright cyan
789
+ primary: "#06b6d4",
790
+ primaryForeground: "#0c1e2e",
791
+ // Secondary - Aqua
792
+ secondary: "#14b8a6",
793
+ secondaryForeground: "#0c1e2e",
794
+ // Accent - Coral
795
+ accent: "#fb7185",
796
+ accentForeground: "#ffffff",
797
+ // Destructive - Bright red
798
+ destructive: "#ef4444",
799
+ destructiveForeground: "#ffffff",
800
+ // Success - Sea green
801
+ success: "#10b981",
802
+ successForeground: "#ffffff",
803
+ // Warning - Sandy yellow
804
+ warning: "#eab308",
805
+ warningForeground: "#0c1e2e",
806
+ // Info - Sky blue
807
+ info: "#38bdf8",
808
+ infoForeground: "#0c1e2e"
809
+ }
810
+ };
811
+
812
+ // src/themes/index.ts
813
+ var themes = {
814
+ light: lightTheme,
815
+ dark: darkTheme,
816
+ cyberpunk: cyberpunkTheme,
817
+ forest: forestTheme,
818
+ ocean: oceanTheme
819
+ };
820
+ function getTheme(name) {
821
+ return themes[name];
822
+ }
823
+ function getThemeNames() {
824
+ return Object.keys(themes);
825
+ }
826
+ function createCustomTheme(name, colors2, baseTheme = "light") {
827
+ const base = themes[baseTheme];
828
+ return {
829
+ name,
830
+ colors: {
831
+ ...base.colors,
832
+ ...colors2
833
+ }
834
+ };
835
+ }
836
+
837
+ export { blackAlpha, body, borderRadius, colors, createCustomTheme, createTheme, cyan, cyberpunkTheme, darkTheme, defaultTheme, fontFamily, fontSize, fontWeight, forestTheme, generateCSSVariables, getTheme, getThemeNames, green, headings, lightTheme, lineHeight, neutral, oceanTheme, orange, primary, purple, red, shadows, spacing, subtitles, themeToCSSVariables, themes, titles, typography, whiteAlpha, yellow };
838
+ //# sourceMappingURL=index.mjs.map
839
+ //# sourceMappingURL=index.mjs.map