@doneisbetter/gds-theme 3.0.2 → 3.0.4

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/server.js CHANGED
@@ -29,8 +29,11 @@ __export(server_exports, {
29
29
  gdsTheme: () => gdsTheme,
30
30
  getGdsFontLanes: () => getGdsFontLanes,
31
31
  getGdsThemePresets: () => getGdsThemePresets,
32
+ getGdsVibeThemeCssVariables: () => getGdsVibeThemeCssVariables,
33
+ getGdsVibeThemes: () => getGdsVibeThemes,
32
34
  resolveGdsFontLane: () => resolveGdsFontLane,
33
35
  resolveGdsThemePreset: () => resolveGdsThemePreset,
36
+ resolveGdsVibeTheme: () => resolveGdsVibeTheme,
34
37
  withGdsMotion: () => withGdsMotion
35
38
  });
36
39
  module.exports = __toCommonJS(server_exports);
@@ -299,7 +302,8 @@ var customPresetThemes = {
299
302
  coral: createVibrantPresetTheme("pink"),
300
303
  mint: createVibrantPresetTheme("lime"),
301
304
  orchid: createVibrantPresetTheme("grape"),
302
- royal: createVibrantPresetTheme("violet")
305
+ royal: createVibrantPresetTheme("violet"),
306
+ cosmic: createVibrantPresetTheme("violet", { darkForward: true })
303
307
  };
304
308
  var themePresetCatalog = [
305
309
  { id: "default", label: "Default runtime theme", description: "Balanced, neutral baseline lane.", runtimeLane: "gdsTheme" },
@@ -318,7 +322,8 @@ var themePresetCatalog = [
318
322
  { id: "coral", label: "Coral bloom", description: "Expressive pink-coral lane for creator, commerce, and social products.", runtimeLane: "resolveGdsThemePreset(coral)" },
319
323
  { id: "mint", label: "Mint circuit", description: "Clean green-mint lane for health, learning, and growth products.", runtimeLane: "resolveGdsThemePreset(mint)" },
320
324
  { id: "orchid", label: "Orchid signal", description: "Purple-grape lane for editorial, culture, and premium tools.", runtimeLane: "resolveGdsThemePreset(orchid)" },
321
- { id: "royal", label: "Royal violet", description: "Confident violet lane for SaaS dashboards and professional apps.", runtimeLane: "resolveGdsThemePreset(royal)" }
325
+ { id: "royal", label: "Royal violet", description: "Confident violet lane for SaaS dashboards and professional apps.", runtimeLane: "resolveGdsThemePreset(royal)" },
326
+ { id: "cosmic", label: "Cosmic burst", description: "Highly saturated blue-violet-cyan-magenta showcase lane for bold public apps and launch surfaces.", runtimeLane: "resolveGdsThemePreset(cosmic)" }
322
327
  ];
323
328
  function getGdsThemePresets() {
324
329
  return themePresetCatalog;
@@ -344,6 +349,312 @@ function resolveGdsThemePreset(id, options) {
344
349
  }
345
350
  }
346
351
 
352
+ // src/vibe-themes.ts
353
+ var neutralVibe = {
354
+ id: "default",
355
+ label: "Default runtime theme",
356
+ primary: "#7c3aed",
357
+ accent: "#06b6d4",
358
+ glow: "rgba(124, 58, 237, 0.2)",
359
+ canvasLight: "#f8fafc",
360
+ canvasDark: "#0f172a",
361
+ shellLight: "rgba(255, 255, 255, 0.82)",
362
+ shellDark: "rgba(15, 23, 42, 0.84)",
363
+ surfaceLight: "rgba(255, 255, 255, 0.9)",
364
+ surfaceDark: "rgba(30, 41, 59, 0.82)",
365
+ borderLight: "rgba(124, 58, 237, 0.22)",
366
+ borderDark: "rgba(167, 139, 250, 0.28)",
367
+ textLight: "#111827",
368
+ textDark: "#f8fafc",
369
+ mutedLight: "#64748b",
370
+ mutedDark: "#cbd5e1",
371
+ gradient: "radial-gradient(circle at 18% 12%, rgba(124, 58, 237, 0.18), transparent 28%), radial-gradient(circle at 82% 8%, rgba(6, 182, 212, 0.16), transparent 30%)",
372
+ hero: "linear-gradient(135deg, rgba(124, 58, 237, 0.14), rgba(6, 182, 212, 0.12))"
373
+ };
374
+ var vibeThemes = {
375
+ default: neutralVibe,
376
+ "dark-public": {
377
+ ...neutralVibe,
378
+ id: "dark-public",
379
+ label: "Dark public theme",
380
+ primary: "#8b5cf6",
381
+ accent: "#22d3ee",
382
+ canvasLight: "#f5f3ff",
383
+ canvasDark: "#050816",
384
+ shellDark: "rgba(8, 13, 32, 0.88)",
385
+ surfaceDark: "rgba(18, 24, 52, 0.86)",
386
+ gradient: "radial-gradient(circle at 20% 12%, rgba(139, 92, 246, 0.34), transparent 30%), radial-gradient(circle at 82% 16%, rgba(34, 211, 238, 0.2), transparent 28%)",
387
+ hero: "linear-gradient(135deg, rgba(139, 92, 246, 0.35), rgba(34, 211, 238, 0.14))"
388
+ },
389
+ "flat-surface": {
390
+ ...neutralVibe,
391
+ id: "flat-surface",
392
+ label: "Flat surface theme",
393
+ primary: "#2563eb",
394
+ accent: "#14b8a6",
395
+ canvasLight: "#f8fafc",
396
+ canvasDark: "#111827",
397
+ shellLight: "rgba(248, 250, 252, 0.94)",
398
+ surfaceLight: "rgba(255, 255, 255, 0.94)",
399
+ gradient: "linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(20, 184, 166, 0.08))",
400
+ hero: "linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(20, 184, 166, 0.1))"
401
+ },
402
+ editorial: {
403
+ ...neutralVibe,
404
+ id: "editorial",
405
+ label: "Editorial serif theme",
406
+ primary: "#9a3412",
407
+ accent: "#be123c",
408
+ canvasLight: "#fff7ed",
409
+ canvasDark: "#1c1917",
410
+ shellLight: "rgba(255, 247, 237, 0.9)",
411
+ surfaceLight: "rgba(255, 251, 247, 0.92)",
412
+ borderLight: "rgba(154, 52, 18, 0.22)",
413
+ gradient: "radial-gradient(circle at 12% 12%, rgba(251, 146, 60, 0.22), transparent 28%), radial-gradient(circle at 84% 10%, rgba(190, 18, 60, 0.12), transparent 28%)",
414
+ hero: "linear-gradient(135deg, rgba(251, 146, 60, 0.18), rgba(190, 18, 60, 0.12))"
415
+ },
416
+ brand: {
417
+ ...neutralVibe,
418
+ id: "brand",
419
+ label: "Brand theme generator"
420
+ },
421
+ sunset: {
422
+ ...neutralVibe,
423
+ id: "sunset",
424
+ label: "Sunset pulse",
425
+ primary: "#f97316",
426
+ accent: "#ec4899",
427
+ glow: "rgba(249, 115, 22, 0.3)",
428
+ canvasLight: "#fff7ed",
429
+ canvasDark: "#211106",
430
+ shellLight: "rgba(255, 247, 237, 0.9)",
431
+ shellDark: "rgba(44, 18, 10, 0.88)",
432
+ surfaceLight: "rgba(255, 250, 245, 0.9)",
433
+ surfaceDark: "rgba(68, 24, 12, 0.78)",
434
+ borderLight: "rgba(249, 115, 22, 0.3)",
435
+ borderDark: "rgba(251, 146, 60, 0.36)",
436
+ gradient: "radial-gradient(circle at 14% 8%, rgba(251, 146, 60, 0.38), transparent 28%), radial-gradient(circle at 88% 18%, rgba(236, 72, 153, 0.32), transparent 32%), linear-gradient(135deg, rgba(255, 247, 237, 0.96), rgba(253, 242, 248, 0.86))",
437
+ hero: "linear-gradient(135deg, rgba(249, 115, 22, 0.26), rgba(236, 72, 153, 0.22))"
438
+ },
439
+ oceanic: {
440
+ ...neutralVibe,
441
+ id: "oceanic",
442
+ label: "Oceanic wave",
443
+ primary: "#0891b2",
444
+ accent: "#2563eb",
445
+ glow: "rgba(8, 145, 178, 0.28)",
446
+ canvasLight: "#ecfeff",
447
+ canvasDark: "#04131f",
448
+ shellLight: "rgba(236, 254, 255, 0.88)",
449
+ shellDark: "rgba(5, 26, 44, 0.88)",
450
+ surfaceLight: "rgba(248, 253, 255, 0.9)",
451
+ surfaceDark: "rgba(8, 47, 73, 0.78)",
452
+ borderLight: "rgba(8, 145, 178, 0.28)",
453
+ borderDark: "rgba(103, 232, 249, 0.28)",
454
+ gradient: "radial-gradient(circle at 18% 8%, rgba(34, 211, 238, 0.32), transparent 30%), radial-gradient(circle at 86% 14%, rgba(37, 99, 235, 0.28), transparent 32%), linear-gradient(135deg, rgba(236, 254, 255, 0.96), rgba(239, 246, 255, 0.9))",
455
+ hero: "linear-gradient(135deg, rgba(8, 145, 178, 0.24), rgba(37, 99, 235, 0.2))"
456
+ },
457
+ forest: {
458
+ ...neutralVibe,
459
+ id: "forest",
460
+ label: "Forest signal",
461
+ primary: "#16a34a",
462
+ accent: "#84cc16",
463
+ glow: "rgba(22, 163, 74, 0.28)",
464
+ canvasLight: "#f0fdf4",
465
+ canvasDark: "#06180d",
466
+ shellLight: "rgba(240, 253, 244, 0.9)",
467
+ shellDark: "rgba(8, 35, 19, 0.88)",
468
+ surfaceLight: "rgba(250, 255, 251, 0.9)",
469
+ surfaceDark: "rgba(20, 83, 45, 0.72)",
470
+ borderLight: "rgba(22, 163, 74, 0.26)",
471
+ borderDark: "rgba(134, 239, 172, 0.28)",
472
+ gradient: "radial-gradient(circle at 18% 10%, rgba(34, 197, 94, 0.28), transparent 28%), radial-gradient(circle at 84% 14%, rgba(132, 204, 22, 0.24), transparent 30%)",
473
+ hero: "linear-gradient(135deg, rgba(22, 163, 74, 0.22), rgba(132, 204, 22, 0.18))"
474
+ },
475
+ ruby: {
476
+ ...neutralVibe,
477
+ id: "ruby",
478
+ label: "Ruby spark",
479
+ primary: "#e11d48",
480
+ accent: "#f97316",
481
+ canvasLight: "#fff1f2",
482
+ canvasDark: "#22050c",
483
+ shellLight: "rgba(255, 241, 242, 0.9)",
484
+ shellDark: "rgba(50, 8, 18, 0.88)",
485
+ surfaceDark: "rgba(76, 20, 32, 0.76)",
486
+ borderLight: "rgba(225, 29, 72, 0.28)",
487
+ gradient: "radial-gradient(circle at 18% 8%, rgba(225, 29, 72, 0.32), transparent 28%), radial-gradient(circle at 86% 18%, rgba(249, 115, 22, 0.22), transparent 30%)",
488
+ hero: "linear-gradient(135deg, rgba(225, 29, 72, 0.24), rgba(249, 115, 22, 0.18))"
489
+ },
490
+ amber: {
491
+ ...neutralVibe,
492
+ id: "amber",
493
+ label: "Amber glow",
494
+ primary: "#d97706",
495
+ accent: "#eab308",
496
+ canvasLight: "#fffbeb",
497
+ canvasDark: "#1f1604",
498
+ shellLight: "rgba(255, 251, 235, 0.9)",
499
+ shellDark: "rgba(41, 29, 6, 0.88)",
500
+ surfaceDark: "rgba(69, 46, 10, 0.76)",
501
+ borderLight: "rgba(217, 119, 6, 0.28)",
502
+ gradient: "radial-gradient(circle at 14% 10%, rgba(251, 191, 36, 0.34), transparent 30%), radial-gradient(circle at 84% 12%, rgba(217, 119, 6, 0.22), transparent 28%)",
503
+ hero: "linear-gradient(135deg, rgba(217, 119, 6, 0.22), rgba(234, 179, 8, 0.2))"
504
+ },
505
+ "neon-night": {
506
+ ...neutralVibe,
507
+ id: "neon-night",
508
+ label: "Neon night",
509
+ primary: "#84cc16",
510
+ accent: "#22d3ee",
511
+ glow: "rgba(132, 204, 22, 0.34)",
512
+ canvasLight: "#f7fee7",
513
+ canvasDark: "#030712",
514
+ shellLight: "rgba(247, 254, 231, 0.88)",
515
+ shellDark: "rgba(5, 12, 24, 0.9)",
516
+ surfaceDark: "rgba(12, 23, 36, 0.86)",
517
+ borderLight: "rgba(132, 204, 22, 0.3)",
518
+ borderDark: "rgba(190, 242, 100, 0.34)",
519
+ gradient: "radial-gradient(circle at 16% 8%, rgba(132, 204, 22, 0.36), transparent 26%), radial-gradient(circle at 86% 12%, rgba(34, 211, 238, 0.28), transparent 30%), linear-gradient(135deg, rgba(3, 7, 18, 0.96), rgba(8, 47, 73, 0.74))",
520
+ hero: "linear-gradient(135deg, rgba(132, 204, 22, 0.28), rgba(34, 211, 238, 0.18))"
521
+ },
522
+ skyline: {
523
+ ...neutralVibe,
524
+ id: "skyline",
525
+ label: "Skyline indigo",
526
+ primary: "#4f46e5",
527
+ accent: "#0ea5e9",
528
+ canvasLight: "#eef2ff",
529
+ canvasDark: "#0b1026",
530
+ shellLight: "rgba(238, 242, 255, 0.9)",
531
+ shellDark: "rgba(13, 20, 52, 0.88)",
532
+ surfaceDark: "rgba(30, 41, 86, 0.78)",
533
+ borderLight: "rgba(79, 70, 229, 0.28)",
534
+ gradient: "radial-gradient(circle at 18% 8%, rgba(79, 70, 229, 0.32), transparent 28%), radial-gradient(circle at 84% 12%, rgba(14, 165, 233, 0.28), transparent 30%)",
535
+ hero: "linear-gradient(135deg, rgba(79, 70, 229, 0.24), rgba(14, 165, 233, 0.18))"
536
+ },
537
+ aurora: {
538
+ ...neutralVibe,
539
+ id: "aurora",
540
+ label: "Aurora teal",
541
+ primary: "#0d9488",
542
+ accent: "#a3e635",
543
+ canvasLight: "#f0fdfa",
544
+ canvasDark: "#04211f",
545
+ shellLight: "rgba(240, 253, 250, 0.9)",
546
+ shellDark: "rgba(5, 44, 42, 0.88)",
547
+ surfaceDark: "rgba(19, 78, 74, 0.76)",
548
+ borderLight: "rgba(13, 148, 136, 0.28)",
549
+ gradient: "radial-gradient(circle at 16% 8%, rgba(45, 212, 191, 0.32), transparent 28%), radial-gradient(circle at 84% 14%, rgba(163, 230, 53, 0.22), transparent 30%)",
550
+ hero: "linear-gradient(135deg, rgba(13, 148, 136, 0.24), rgba(163, 230, 53, 0.16))"
551
+ },
552
+ coral: {
553
+ ...neutralVibe,
554
+ id: "coral",
555
+ label: "Coral bloom",
556
+ primary: "#db2777",
557
+ accent: "#fb7185",
558
+ canvasLight: "#fdf2f8",
559
+ canvasDark: "#251021",
560
+ shellLight: "rgba(253, 242, 248, 0.9)",
561
+ shellDark: "rgba(50, 18, 43, 0.88)",
562
+ surfaceDark: "rgba(80, 28, 66, 0.76)",
563
+ borderLight: "rgba(219, 39, 119, 0.28)",
564
+ gradient: "radial-gradient(circle at 16% 8%, rgba(219, 39, 119, 0.3), transparent 28%), radial-gradient(circle at 84% 14%, rgba(251, 113, 133, 0.24), transparent 30%)",
565
+ hero: "linear-gradient(135deg, rgba(219, 39, 119, 0.22), rgba(251, 113, 133, 0.18))"
566
+ },
567
+ mint: {
568
+ ...neutralVibe,
569
+ id: "mint",
570
+ label: "Mint circuit",
571
+ primary: "#059669",
572
+ accent: "#14b8a6",
573
+ canvasLight: "#ecfdf5",
574
+ canvasDark: "#031c16",
575
+ shellLight: "rgba(236, 253, 245, 0.9)",
576
+ shellDark: "rgba(5, 42, 34, 0.88)",
577
+ surfaceDark: "rgba(6, 78, 59, 0.74)",
578
+ borderLight: "rgba(5, 150, 105, 0.28)",
579
+ gradient: "radial-gradient(circle at 16% 8%, rgba(16, 185, 129, 0.3), transparent 28%), radial-gradient(circle at 84% 14%, rgba(20, 184, 166, 0.22), transparent 30%)",
580
+ hero: "linear-gradient(135deg, rgba(5, 150, 105, 0.24), rgba(20, 184, 166, 0.16))"
581
+ },
582
+ orchid: {
583
+ ...neutralVibe,
584
+ id: "orchid",
585
+ label: "Orchid signal",
586
+ primary: "#9333ea",
587
+ accent: "#ec4899",
588
+ canvasLight: "#faf5ff",
589
+ canvasDark: "#1d0b2f",
590
+ shellLight: "rgba(250, 245, 255, 0.9)",
591
+ shellDark: "rgba(39, 15, 63, 0.88)",
592
+ surfaceDark: "rgba(59, 25, 94, 0.78)",
593
+ borderLight: "rgba(147, 51, 234, 0.28)",
594
+ gradient: "radial-gradient(circle at 16% 8%, rgba(147, 51, 234, 0.32), transparent 28%), radial-gradient(circle at 84% 14%, rgba(236, 72, 153, 0.24), transparent 30%)",
595
+ hero: "linear-gradient(135deg, rgba(147, 51, 234, 0.24), rgba(236, 72, 153, 0.18))"
596
+ },
597
+ royal: {
598
+ ...neutralVibe,
599
+ id: "royal",
600
+ label: "Royal violet",
601
+ primary: "#7c3aed",
602
+ accent: "#06b6d4",
603
+ canvasLight: "#f5f3ff",
604
+ canvasDark: "#100a2d",
605
+ shellLight: "rgba(245, 243, 255, 0.9)",
606
+ shellDark: "rgba(21, 13, 59, 0.88)",
607
+ surfaceDark: "rgba(46, 26, 104, 0.78)",
608
+ borderLight: "rgba(124, 58, 237, 0.3)",
609
+ gradient: "radial-gradient(circle at 15% 9%, rgba(124, 58, 237, 0.34), transparent 28%), radial-gradient(circle at 82% 12%, rgba(6, 182, 212, 0.28), transparent 30%), radial-gradient(circle at 92% 72%, rgba(236, 72, 153, 0.2), transparent 26%)",
610
+ hero: "linear-gradient(135deg, rgba(124, 58, 237, 0.28), rgba(6, 182, 212, 0.18), rgba(236, 72, 153, 0.18))"
611
+ },
612
+ cosmic: {
613
+ id: "cosmic",
614
+ label: "Cosmic burst",
615
+ primary: "#7c3cff",
616
+ accent: "#e018ff",
617
+ glow: "rgba(224, 24, 255, 0.36)",
618
+ canvasLight: "#071a80",
619
+ canvasDark: "#030018",
620
+ shellLight: "rgba(10, 18, 70, 0.72)",
621
+ shellDark: "rgba(8, 10, 42, 0.84)",
622
+ surfaceLight: "rgba(10, 18, 70, 0.62)",
623
+ surfaceDark: "rgba(9, 14, 54, 0.76)",
624
+ borderLight: "rgba(190, 160, 255, 0.45)",
625
+ borderDark: "rgba(190, 160, 255, 0.52)",
626
+ textLight: "#ffffff",
627
+ textDark: "#ffffff",
628
+ mutedLight: "rgba(235, 238, 255, 0.76)",
629
+ mutedDark: "rgba(235, 238, 255, 0.78)",
630
+ gradient: "radial-gradient(circle at 92% 32%, rgba(255, 180, 70, 0.95) 0 8%, transparent 22%), radial-gradient(circle at 84% 42%, rgba(255, 45, 190, 0.75) 0 12%, transparent 28%), radial-gradient(circle at 72% 18%, rgba(0, 220, 255, 0.55) 0 11%, transparent 28%), radial-gradient(circle at 22% 82%, rgba(255, 60, 210, 0.35) 0 5%, transparent 16%), linear-gradient(135deg, #19005c 0%, #071a80 38%, #003fd1 63%, #4d08a8 100%)",
631
+ hero: "linear-gradient(135deg, rgba(124, 60, 255, 0.84), rgba(224, 24, 255, 0.62), rgba(255, 155, 61, 0.72))"
632
+ }
633
+ };
634
+ function getGdsVibeThemes() {
635
+ return Object.values(vibeThemes);
636
+ }
637
+ function resolveGdsVibeTheme(id) {
638
+ return vibeThemes[id] ?? neutralVibe;
639
+ }
640
+ function getGdsVibeThemeCssVariables(id, colorScheme) {
641
+ const vibe = resolveGdsVibeTheme(id);
642
+ const dark = colorScheme === "dark";
643
+ return {
644
+ "--gds-vibe-primary": vibe.primary,
645
+ "--gds-vibe-accent": vibe.accent,
646
+ "--gds-vibe-glow": vibe.glow,
647
+ "--gds-vibe-canvas": dark ? vibe.canvasDark : vibe.canvasLight,
648
+ "--gds-vibe-shell": dark ? vibe.shellDark : vibe.shellLight,
649
+ "--gds-vibe-surface": dark ? vibe.surfaceDark : vibe.surfaceLight,
650
+ "--gds-vibe-border": dark ? vibe.borderDark : vibe.borderLight,
651
+ "--gds-vibe-text": dark ? vibe.textDark : vibe.textLight,
652
+ "--gds-vibe-muted": dark ? vibe.mutedDark : vibe.mutedLight,
653
+ "--gds-vibe-gradient": vibe.gradient,
654
+ "--gds-vibe-hero": vibe.hero
655
+ };
656
+ }
657
+
347
658
  // src/font-lanes.ts
348
659
  var import_core2 = require("@mantine/core");
349
660
  var lanes = [
@@ -385,7 +696,10 @@ function applyGdsFontLane(theme, laneId) {
385
696
  gdsTheme,
386
697
  getGdsFontLanes,
387
698
  getGdsThemePresets,
699
+ getGdsVibeThemeCssVariables,
700
+ getGdsVibeThemes,
388
701
  resolveGdsFontLane,
389
702
  resolveGdsThemePreset,
703
+ resolveGdsVibeTheme,
390
704
  withGdsMotion
391
705
  });
package/dist/server.mjs CHANGED
@@ -8,10 +8,13 @@ import {
8
8
  gdsTheme,
9
9
  getGdsFontLanes,
10
10
  getGdsThemePresets,
11
+ getGdsVibeThemeCssVariables,
12
+ getGdsVibeThemes,
11
13
  resolveGdsFontLane,
12
14
  resolveGdsThemePreset,
15
+ resolveGdsVibeTheme,
13
16
  withGdsMotion
14
- } from "./chunk-TAPLA36E.mjs";
17
+ } from "./chunk-3QN7LJN7.mjs";
15
18
  export {
16
19
  applyGdsFontLane,
17
20
  createPublicBrandTheme,
@@ -22,7 +25,10 @@ export {
22
25
  gdsTheme,
23
26
  getGdsFontLanes,
24
27
  getGdsThemePresets,
28
+ getGdsVibeThemeCssVariables,
29
+ getGdsVibeThemes,
25
30
  resolveGdsFontLane,
26
31
  resolveGdsThemePreset,
32
+ resolveGdsVibeTheme,
27
33
  withGdsMotion
28
34
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doneisbetter/gds-theme",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",