@doneisbetter/gds-theme 3.0.1 → 3.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/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);
@@ -344,6 +347,291 @@ function resolveGdsThemePreset(id, options) {
344
347
  }
345
348
  }
346
349
 
350
+ // src/vibe-themes.ts
351
+ var neutralVibe = {
352
+ id: "default",
353
+ label: "Default runtime theme",
354
+ primary: "#7c3aed",
355
+ accent: "#06b6d4",
356
+ glow: "rgba(124, 58, 237, 0.2)",
357
+ canvasLight: "#f8fafc",
358
+ canvasDark: "#0f172a",
359
+ shellLight: "rgba(255, 255, 255, 0.82)",
360
+ shellDark: "rgba(15, 23, 42, 0.84)",
361
+ surfaceLight: "rgba(255, 255, 255, 0.9)",
362
+ surfaceDark: "rgba(30, 41, 59, 0.82)",
363
+ borderLight: "rgba(124, 58, 237, 0.22)",
364
+ borderDark: "rgba(167, 139, 250, 0.28)",
365
+ textLight: "#111827",
366
+ textDark: "#f8fafc",
367
+ mutedLight: "#64748b",
368
+ mutedDark: "#cbd5e1",
369
+ 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%)",
370
+ hero: "linear-gradient(135deg, rgba(124, 58, 237, 0.14), rgba(6, 182, 212, 0.12))"
371
+ };
372
+ var vibeThemes = {
373
+ default: neutralVibe,
374
+ "dark-public": {
375
+ ...neutralVibe,
376
+ id: "dark-public",
377
+ label: "Dark public theme",
378
+ primary: "#8b5cf6",
379
+ accent: "#22d3ee",
380
+ canvasLight: "#f5f3ff",
381
+ canvasDark: "#050816",
382
+ shellDark: "rgba(8, 13, 32, 0.88)",
383
+ surfaceDark: "rgba(18, 24, 52, 0.86)",
384
+ 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%)",
385
+ hero: "linear-gradient(135deg, rgba(139, 92, 246, 0.35), rgba(34, 211, 238, 0.14))"
386
+ },
387
+ "flat-surface": {
388
+ ...neutralVibe,
389
+ id: "flat-surface",
390
+ label: "Flat surface theme",
391
+ primary: "#2563eb",
392
+ accent: "#14b8a6",
393
+ canvasLight: "#f8fafc",
394
+ canvasDark: "#111827",
395
+ shellLight: "rgba(248, 250, 252, 0.94)",
396
+ surfaceLight: "rgba(255, 255, 255, 0.94)",
397
+ gradient: "linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(20, 184, 166, 0.08))",
398
+ hero: "linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(20, 184, 166, 0.1))"
399
+ },
400
+ editorial: {
401
+ ...neutralVibe,
402
+ id: "editorial",
403
+ label: "Editorial serif theme",
404
+ primary: "#9a3412",
405
+ accent: "#be123c",
406
+ canvasLight: "#fff7ed",
407
+ canvasDark: "#1c1917",
408
+ shellLight: "rgba(255, 247, 237, 0.9)",
409
+ surfaceLight: "rgba(255, 251, 247, 0.92)",
410
+ borderLight: "rgba(154, 52, 18, 0.22)",
411
+ 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%)",
412
+ hero: "linear-gradient(135deg, rgba(251, 146, 60, 0.18), rgba(190, 18, 60, 0.12))"
413
+ },
414
+ brand: {
415
+ ...neutralVibe,
416
+ id: "brand",
417
+ label: "Brand theme generator"
418
+ },
419
+ sunset: {
420
+ ...neutralVibe,
421
+ id: "sunset",
422
+ label: "Sunset pulse",
423
+ primary: "#f97316",
424
+ accent: "#ec4899",
425
+ glow: "rgba(249, 115, 22, 0.3)",
426
+ canvasLight: "#fff7ed",
427
+ canvasDark: "#211106",
428
+ shellLight: "rgba(255, 247, 237, 0.9)",
429
+ shellDark: "rgba(44, 18, 10, 0.88)",
430
+ surfaceLight: "rgba(255, 250, 245, 0.9)",
431
+ surfaceDark: "rgba(68, 24, 12, 0.78)",
432
+ borderLight: "rgba(249, 115, 22, 0.3)",
433
+ borderDark: "rgba(251, 146, 60, 0.36)",
434
+ 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))",
435
+ hero: "linear-gradient(135deg, rgba(249, 115, 22, 0.26), rgba(236, 72, 153, 0.22))"
436
+ },
437
+ oceanic: {
438
+ ...neutralVibe,
439
+ id: "oceanic",
440
+ label: "Oceanic wave",
441
+ primary: "#0891b2",
442
+ accent: "#2563eb",
443
+ glow: "rgba(8, 145, 178, 0.28)",
444
+ canvasLight: "#ecfeff",
445
+ canvasDark: "#04131f",
446
+ shellLight: "rgba(236, 254, 255, 0.88)",
447
+ shellDark: "rgba(5, 26, 44, 0.88)",
448
+ surfaceLight: "rgba(248, 253, 255, 0.9)",
449
+ surfaceDark: "rgba(8, 47, 73, 0.78)",
450
+ borderLight: "rgba(8, 145, 178, 0.28)",
451
+ borderDark: "rgba(103, 232, 249, 0.28)",
452
+ 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))",
453
+ hero: "linear-gradient(135deg, rgba(8, 145, 178, 0.24), rgba(37, 99, 235, 0.2))"
454
+ },
455
+ forest: {
456
+ ...neutralVibe,
457
+ id: "forest",
458
+ label: "Forest signal",
459
+ primary: "#16a34a",
460
+ accent: "#84cc16",
461
+ glow: "rgba(22, 163, 74, 0.28)",
462
+ canvasLight: "#f0fdf4",
463
+ canvasDark: "#06180d",
464
+ shellLight: "rgba(240, 253, 244, 0.9)",
465
+ shellDark: "rgba(8, 35, 19, 0.88)",
466
+ surfaceLight: "rgba(250, 255, 251, 0.9)",
467
+ surfaceDark: "rgba(20, 83, 45, 0.72)",
468
+ borderLight: "rgba(22, 163, 74, 0.26)",
469
+ borderDark: "rgba(134, 239, 172, 0.28)",
470
+ 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%)",
471
+ hero: "linear-gradient(135deg, rgba(22, 163, 74, 0.22), rgba(132, 204, 22, 0.18))"
472
+ },
473
+ ruby: {
474
+ ...neutralVibe,
475
+ id: "ruby",
476
+ label: "Ruby spark",
477
+ primary: "#e11d48",
478
+ accent: "#f97316",
479
+ canvasLight: "#fff1f2",
480
+ canvasDark: "#22050c",
481
+ shellLight: "rgba(255, 241, 242, 0.9)",
482
+ shellDark: "rgba(50, 8, 18, 0.88)",
483
+ surfaceDark: "rgba(76, 20, 32, 0.76)",
484
+ borderLight: "rgba(225, 29, 72, 0.28)",
485
+ 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%)",
486
+ hero: "linear-gradient(135deg, rgba(225, 29, 72, 0.24), rgba(249, 115, 22, 0.18))"
487
+ },
488
+ amber: {
489
+ ...neutralVibe,
490
+ id: "amber",
491
+ label: "Amber glow",
492
+ primary: "#d97706",
493
+ accent: "#eab308",
494
+ canvasLight: "#fffbeb",
495
+ canvasDark: "#1f1604",
496
+ shellLight: "rgba(255, 251, 235, 0.9)",
497
+ shellDark: "rgba(41, 29, 6, 0.88)",
498
+ surfaceDark: "rgba(69, 46, 10, 0.76)",
499
+ borderLight: "rgba(217, 119, 6, 0.28)",
500
+ 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%)",
501
+ hero: "linear-gradient(135deg, rgba(217, 119, 6, 0.22), rgba(234, 179, 8, 0.2))"
502
+ },
503
+ "neon-night": {
504
+ ...neutralVibe,
505
+ id: "neon-night",
506
+ label: "Neon night",
507
+ primary: "#84cc16",
508
+ accent: "#22d3ee",
509
+ glow: "rgba(132, 204, 22, 0.34)",
510
+ canvasLight: "#f7fee7",
511
+ canvasDark: "#030712",
512
+ shellLight: "rgba(247, 254, 231, 0.88)",
513
+ shellDark: "rgba(5, 12, 24, 0.9)",
514
+ surfaceDark: "rgba(12, 23, 36, 0.86)",
515
+ borderLight: "rgba(132, 204, 22, 0.3)",
516
+ borderDark: "rgba(190, 242, 100, 0.34)",
517
+ 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))",
518
+ hero: "linear-gradient(135deg, rgba(132, 204, 22, 0.28), rgba(34, 211, 238, 0.18))"
519
+ },
520
+ skyline: {
521
+ ...neutralVibe,
522
+ id: "skyline",
523
+ label: "Skyline indigo",
524
+ primary: "#4f46e5",
525
+ accent: "#0ea5e9",
526
+ canvasLight: "#eef2ff",
527
+ canvasDark: "#0b1026",
528
+ shellLight: "rgba(238, 242, 255, 0.9)",
529
+ shellDark: "rgba(13, 20, 52, 0.88)",
530
+ surfaceDark: "rgba(30, 41, 86, 0.78)",
531
+ borderLight: "rgba(79, 70, 229, 0.28)",
532
+ 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%)",
533
+ hero: "linear-gradient(135deg, rgba(79, 70, 229, 0.24), rgba(14, 165, 233, 0.18))"
534
+ },
535
+ aurora: {
536
+ ...neutralVibe,
537
+ id: "aurora",
538
+ label: "Aurora teal",
539
+ primary: "#0d9488",
540
+ accent: "#a3e635",
541
+ canvasLight: "#f0fdfa",
542
+ canvasDark: "#04211f",
543
+ shellLight: "rgba(240, 253, 250, 0.9)",
544
+ shellDark: "rgba(5, 44, 42, 0.88)",
545
+ surfaceDark: "rgba(19, 78, 74, 0.76)",
546
+ borderLight: "rgba(13, 148, 136, 0.28)",
547
+ 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%)",
548
+ hero: "linear-gradient(135deg, rgba(13, 148, 136, 0.24), rgba(163, 230, 53, 0.16))"
549
+ },
550
+ coral: {
551
+ ...neutralVibe,
552
+ id: "coral",
553
+ label: "Coral bloom",
554
+ primary: "#db2777",
555
+ accent: "#fb7185",
556
+ canvasLight: "#fdf2f8",
557
+ canvasDark: "#251021",
558
+ shellLight: "rgba(253, 242, 248, 0.9)",
559
+ shellDark: "rgba(50, 18, 43, 0.88)",
560
+ surfaceDark: "rgba(80, 28, 66, 0.76)",
561
+ borderLight: "rgba(219, 39, 119, 0.28)",
562
+ 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%)",
563
+ hero: "linear-gradient(135deg, rgba(219, 39, 119, 0.22), rgba(251, 113, 133, 0.18))"
564
+ },
565
+ mint: {
566
+ ...neutralVibe,
567
+ id: "mint",
568
+ label: "Mint circuit",
569
+ primary: "#059669",
570
+ accent: "#14b8a6",
571
+ canvasLight: "#ecfdf5",
572
+ canvasDark: "#031c16",
573
+ shellLight: "rgba(236, 253, 245, 0.9)",
574
+ shellDark: "rgba(5, 42, 34, 0.88)",
575
+ surfaceDark: "rgba(6, 78, 59, 0.74)",
576
+ borderLight: "rgba(5, 150, 105, 0.28)",
577
+ 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%)",
578
+ hero: "linear-gradient(135deg, rgba(5, 150, 105, 0.24), rgba(20, 184, 166, 0.16))"
579
+ },
580
+ orchid: {
581
+ ...neutralVibe,
582
+ id: "orchid",
583
+ label: "Orchid signal",
584
+ primary: "#9333ea",
585
+ accent: "#ec4899",
586
+ canvasLight: "#faf5ff",
587
+ canvasDark: "#1d0b2f",
588
+ shellLight: "rgba(250, 245, 255, 0.9)",
589
+ shellDark: "rgba(39, 15, 63, 0.88)",
590
+ surfaceDark: "rgba(59, 25, 94, 0.78)",
591
+ borderLight: "rgba(147, 51, 234, 0.28)",
592
+ 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%)",
593
+ hero: "linear-gradient(135deg, rgba(147, 51, 234, 0.24), rgba(236, 72, 153, 0.18))"
594
+ },
595
+ royal: {
596
+ ...neutralVibe,
597
+ id: "royal",
598
+ label: "Royal violet",
599
+ primary: "#7c3aed",
600
+ accent: "#06b6d4",
601
+ canvasLight: "#f5f3ff",
602
+ canvasDark: "#100a2d",
603
+ shellLight: "rgba(245, 243, 255, 0.9)",
604
+ shellDark: "rgba(21, 13, 59, 0.88)",
605
+ surfaceDark: "rgba(46, 26, 104, 0.78)",
606
+ borderLight: "rgba(124, 58, 237, 0.3)",
607
+ 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%)",
608
+ hero: "linear-gradient(135deg, rgba(124, 58, 237, 0.28), rgba(6, 182, 212, 0.18), rgba(236, 72, 153, 0.18))"
609
+ }
610
+ };
611
+ function getGdsVibeThemes() {
612
+ return Object.values(vibeThemes);
613
+ }
614
+ function resolveGdsVibeTheme(id) {
615
+ return vibeThemes[id] ?? neutralVibe;
616
+ }
617
+ function getGdsVibeThemeCssVariables(id, colorScheme) {
618
+ const vibe = resolveGdsVibeTheme(id);
619
+ const dark = colorScheme === "dark";
620
+ return {
621
+ "--gds-vibe-primary": vibe.primary,
622
+ "--gds-vibe-accent": vibe.accent,
623
+ "--gds-vibe-glow": vibe.glow,
624
+ "--gds-vibe-canvas": dark ? vibe.canvasDark : vibe.canvasLight,
625
+ "--gds-vibe-shell": dark ? vibe.shellDark : vibe.shellLight,
626
+ "--gds-vibe-surface": dark ? vibe.surfaceDark : vibe.surfaceLight,
627
+ "--gds-vibe-border": dark ? vibe.borderDark : vibe.borderLight,
628
+ "--gds-vibe-text": dark ? vibe.textDark : vibe.textLight,
629
+ "--gds-vibe-muted": dark ? vibe.mutedDark : vibe.mutedLight,
630
+ "--gds-vibe-gradient": vibe.gradient,
631
+ "--gds-vibe-hero": vibe.hero
632
+ };
633
+ }
634
+
347
635
  // src/font-lanes.ts
348
636
  var import_core2 = require("@mantine/core");
349
637
  var lanes = [
@@ -385,7 +673,10 @@ function applyGdsFontLane(theme, laneId) {
385
673
  gdsTheme,
386
674
  getGdsFontLanes,
387
675
  getGdsThemePresets,
676
+ getGdsVibeThemeCssVariables,
677
+ getGdsVibeThemes,
388
678
  resolveGdsFontLane,
389
679
  resolveGdsThemePreset,
680
+ resolveGdsVibeTheme,
390
681
  withGdsMotion
391
682
  });
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-OMSQVRZK.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.1",
3
+ "version": "3.0.3",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.mjs",
6
6
  "types": "./dist/index.d.ts",
package/styles.css CHANGED
@@ -1,3 +1,236 @@
1
1
  @import '@mantine/core/styles.css';
2
2
  @import '@mantine/notifications/styles.css';
3
3
  @import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700;800&family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Nunito:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Source+Serif+4:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=Work+Sans:wght@400;500;600;700;800&display=swap');
4
+
5
+ :root {
6
+ --gds-vibe-primary: #7c3aed;
7
+ --gds-vibe-accent: #06b6d4;
8
+ --gds-vibe-glow: rgba(124, 58, 237, 0.2);
9
+ --gds-vibe-canvas: #f8fafc;
10
+ --gds-vibe-shell: rgba(255, 255, 255, 0.82);
11
+ --gds-vibe-surface: rgba(255, 255, 255, 0.9);
12
+ --gds-vibe-border: rgba(124, 58, 237, 0.22);
13
+ --gds-vibe-text: #111827;
14
+ --gds-vibe-muted: #64748b;
15
+ --gds-vibe-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%);
16
+ --gds-vibe-hero: linear-gradient(135deg, rgba(124, 58, 237, 0.14), rgba(6, 182, 212, 0.12));
17
+ }
18
+
19
+ html[data-gds-theme-preset] body {
20
+ color: var(--gds-vibe-text);
21
+ background:
22
+ var(--gds-vibe-gradient),
23
+ linear-gradient(135deg, var(--gds-vibe-canvas), color-mix(in srgb, var(--gds-vibe-primary) 8%, var(--gds-vibe-canvas)));
24
+ background-attachment: fixed;
25
+ }
26
+
27
+ html[data-gds-theme-preset] body::before {
28
+ position: fixed;
29
+ inset: 0;
30
+ z-index: -1;
31
+ pointer-events: none;
32
+ content: '';
33
+ background:
34
+ radial-gradient(circle at 8% 78%, color-mix(in srgb, var(--gds-vibe-primary) 24%, transparent), transparent 24rem),
35
+ radial-gradient(circle at 92% 24%, color-mix(in srgb, var(--gds-vibe-accent) 22%, transparent), transparent 28rem),
36
+ linear-gradient(135deg, color-mix(in srgb, var(--gds-vibe-primary) 8%, transparent), transparent 42%);
37
+ }
38
+
39
+ html[data-gds-theme-preset] .mantine-AppShell-main {
40
+ min-height: 100vh;
41
+ color: var(--gds-vibe-text);
42
+ background:
43
+ radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--gds-vibe-accent) 18%, transparent), transparent 24rem),
44
+ radial-gradient(circle at 8% 88%, color-mix(in srgb, var(--gds-vibe-primary) 16%, transparent), transparent 24rem),
45
+ linear-gradient(135deg, color-mix(in srgb, var(--gds-vibe-canvas) 90%, white), var(--gds-vibe-canvas));
46
+ }
47
+
48
+ html[data-mantine-color-scheme='dark'][data-gds-theme-preset] .mantine-AppShell-main {
49
+ background:
50
+ radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--gds-vibe-accent) 24%, transparent), transparent 25rem),
51
+ radial-gradient(circle at 12% 80%, color-mix(in srgb, var(--gds-vibe-primary) 26%, transparent), transparent 24rem),
52
+ linear-gradient(135deg, color-mix(in srgb, var(--gds-vibe-canvas) 94%, black), var(--gds-vibe-canvas));
53
+ }
54
+
55
+ html[data-gds-theme-preset] .mantine-AppShell-header,
56
+ html[data-gds-theme-preset] .mantine-AppShell-navbar,
57
+ html[data-gds-theme-preset] .mantine-AppShell-footer {
58
+ color: var(--gds-vibe-text);
59
+ background:
60
+ linear-gradient(135deg, color-mix(in srgb, var(--gds-vibe-shell) 88%, var(--gds-vibe-primary) 8%), var(--gds-vibe-shell));
61
+ border-color: var(--gds-vibe-border);
62
+ backdrop-filter: blur(20px) saturate(1.25);
63
+ box-shadow: 0 18px 60px color-mix(in srgb, var(--gds-vibe-glow) 36%, transparent);
64
+ }
65
+
66
+ html[data-gds-theme-preset] .mantine-AppShell-navbar {
67
+ background:
68
+ radial-gradient(circle at 86% 78%, color-mix(in srgb, var(--gds-vibe-accent) 16%, transparent), transparent 11rem),
69
+ linear-gradient(155deg, color-mix(in srgb, var(--gds-vibe-shell) 82%, var(--gds-vibe-primary) 10%), var(--gds-vibe-shell));
70
+ }
71
+
72
+ html[data-gds-theme-preset] .mantine-Paper-root,
73
+ html[data-gds-theme-preset] .mantine-Card-root {
74
+ color: var(--gds-vibe-text);
75
+ background:
76
+ linear-gradient(145deg, color-mix(in srgb, var(--gds-vibe-surface) 94%, white), color-mix(in srgb, var(--gds-vibe-surface) 86%, var(--gds-vibe-primary) 7%));
77
+ border-color: var(--gds-vibe-border);
78
+ box-shadow: 0 18px 54px color-mix(in srgb, var(--gds-vibe-glow) 20%, transparent);
79
+ }
80
+
81
+ html[data-mantine-color-scheme='dark'][data-gds-theme-preset] .mantine-Paper-root,
82
+ html[data-mantine-color-scheme='dark'][data-gds-theme-preset] .mantine-Card-root {
83
+ background:
84
+ linear-gradient(145deg, color-mix(in srgb, var(--gds-vibe-surface) 88%, black), color-mix(in srgb, var(--gds-vibe-surface) 76%, var(--gds-vibe-primary) 14%));
85
+ }
86
+
87
+ html[data-gds-theme-preset] .mantine-Button-root:not([data-variant='default']) {
88
+ background: linear-gradient(135deg, var(--gds-vibe-primary), var(--gds-vibe-accent));
89
+ border-color: color-mix(in srgb, var(--gds-vibe-primary) 72%, var(--gds-vibe-accent));
90
+ color: white;
91
+ box-shadow: 0 12px 34px color-mix(in srgb, var(--gds-vibe-glow) 58%, transparent);
92
+ }
93
+
94
+ html[data-gds-theme-preset] .mantine-Button-root[data-variant='default'] {
95
+ color: var(--gds-vibe-text);
96
+ background: color-mix(in srgb, var(--gds-vibe-surface) 90%, var(--gds-vibe-primary) 7%);
97
+ border-color: var(--gds-vibe-border);
98
+ }
99
+
100
+ html[data-gds-theme-preset] .mantine-Badge-root {
101
+ color: color-mix(in srgb, var(--gds-vibe-primary) 76%, var(--gds-vibe-text));
102
+ background: color-mix(in srgb, var(--gds-vibe-primary) 15%, transparent);
103
+ border-color: color-mix(in srgb, var(--gds-vibe-primary) 28%, transparent);
104
+ }
105
+
106
+ html[data-gds-theme-preset] .mantine-Input-input,
107
+ html[data-gds-theme-preset] .mantine-NativeSelect-input,
108
+ html[data-gds-theme-preset] .mantine-Textarea-input {
109
+ color: var(--gds-vibe-text);
110
+ background: color-mix(in srgb, var(--gds-vibe-surface) 88%, transparent);
111
+ border-color: color-mix(in srgb, var(--gds-vibe-border) 90%, var(--gds-vibe-primary));
112
+ }
113
+
114
+ html[data-gds-theme-preset] .mantine-Input-input:focus,
115
+ html[data-gds-theme-preset] .mantine-NativeSelect-input:focus,
116
+ html[data-gds-theme-preset] .mantine-Textarea-input:focus {
117
+ border-color: var(--gds-vibe-primary);
118
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--gds-vibe-primary) 18%, transparent);
119
+ }
120
+
121
+ html[data-gds-theme-preset] .mantine-Checkbox-input:checked {
122
+ background: linear-gradient(135deg, var(--gds-vibe-primary), var(--gds-vibe-accent));
123
+ border-color: var(--gds-vibe-primary);
124
+ }
125
+
126
+ html[data-gds-theme-preset] a,
127
+ html[data-gds-theme-preset] button {
128
+ transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
129
+ }
130
+
131
+ html[data-gds-theme-preset] .mantine-AppShell-main h1,
132
+ html[data-gds-theme-preset] .mantine-AppShell-main h2,
133
+ html[data-gds-theme-preset] .mantine-AppShell-main h3 {
134
+ color: var(--gds-vibe-text);
135
+ text-shadow: 0 1px 0 color-mix(in srgb, var(--gds-vibe-surface) 70%, transparent);
136
+ }
137
+
138
+ html[data-gds-theme-preset] .mantine-Text-root[data-dimmed],
139
+ html[data-gds-theme-preset] .mantine-InputWrapper-description,
140
+ html[data-gds-theme-preset] .mantine-InputWrapper-label {
141
+ color: var(--gds-vibe-muted);
142
+ }
143
+
144
+ html[data-gds-theme-preset='default'] body,
145
+ html[data-gds-theme-preset='flat-surface'] body,
146
+ html[data-gds-theme-preset='editorial'] body,
147
+ html[data-gds-theme-preset='brand'] body {
148
+ background:
149
+ var(--gds-vibe-gradient),
150
+ linear-gradient(135deg, var(--gds-vibe-canvas), color-mix(in srgb, var(--gds-vibe-primary) 4%, var(--gds-vibe-canvas)));
151
+ }
152
+
153
+ html[data-gds-theme-preset='sunset'] .mantine-AppShell-main,
154
+ html[data-gds-theme-preset='oceanic'] .mantine-AppShell-main,
155
+ html[data-gds-theme-preset='forest'] .mantine-AppShell-main,
156
+ html[data-gds-theme-preset='ruby'] .mantine-AppShell-main,
157
+ html[data-gds-theme-preset='amber'] .mantine-AppShell-main,
158
+ html[data-gds-theme-preset='neon-night'] .mantine-AppShell-main,
159
+ html[data-gds-theme-preset='skyline'] .mantine-AppShell-main,
160
+ html[data-gds-theme-preset='aurora'] .mantine-AppShell-main,
161
+ html[data-gds-theme-preset='coral'] .mantine-AppShell-main,
162
+ html[data-gds-theme-preset='mint'] .mantine-AppShell-main,
163
+ html[data-gds-theme-preset='orchid'] .mantine-AppShell-main,
164
+ html[data-gds-theme-preset='royal'] .mantine-AppShell-main {
165
+ background:
166
+ radial-gradient(circle at 86% 10%, color-mix(in srgb, var(--gds-vibe-accent) 34%, transparent), transparent 22rem),
167
+ radial-gradient(circle at 10% 78%, color-mix(in srgb, var(--gds-vibe-primary) 30%, transparent), transparent 25rem),
168
+ radial-gradient(circle at 78% 88%, color-mix(in srgb, var(--gds-vibe-primary) 16%, transparent), transparent 18rem),
169
+ linear-gradient(135deg, color-mix(in srgb, var(--gds-vibe-canvas) 72%, var(--gds-vibe-primary) 18%), color-mix(in srgb, var(--gds-vibe-canvas) 74%, var(--gds-vibe-accent) 14%)) !important;
170
+ }
171
+
172
+ html[data-gds-theme-preset='sunset'] .mantine-AppShell-header,
173
+ html[data-gds-theme-preset='sunset'] .mantine-AppShell-navbar,
174
+ html[data-gds-theme-preset='oceanic'] .mantine-AppShell-header,
175
+ html[data-gds-theme-preset='oceanic'] .mantine-AppShell-navbar,
176
+ html[data-gds-theme-preset='forest'] .mantine-AppShell-header,
177
+ html[data-gds-theme-preset='forest'] .mantine-AppShell-navbar,
178
+ html[data-gds-theme-preset='ruby'] .mantine-AppShell-header,
179
+ html[data-gds-theme-preset='ruby'] .mantine-AppShell-navbar,
180
+ html[data-gds-theme-preset='amber'] .mantine-AppShell-header,
181
+ html[data-gds-theme-preset='amber'] .mantine-AppShell-navbar,
182
+ html[data-gds-theme-preset='neon-night'] .mantine-AppShell-header,
183
+ html[data-gds-theme-preset='neon-night'] .mantine-AppShell-navbar,
184
+ html[data-gds-theme-preset='skyline'] .mantine-AppShell-header,
185
+ html[data-gds-theme-preset='skyline'] .mantine-AppShell-navbar,
186
+ html[data-gds-theme-preset='aurora'] .mantine-AppShell-header,
187
+ html[data-gds-theme-preset='aurora'] .mantine-AppShell-navbar,
188
+ html[data-gds-theme-preset='coral'] .mantine-AppShell-header,
189
+ html[data-gds-theme-preset='coral'] .mantine-AppShell-navbar,
190
+ html[data-gds-theme-preset='mint'] .mantine-AppShell-header,
191
+ html[data-gds-theme-preset='mint'] .mantine-AppShell-navbar,
192
+ html[data-gds-theme-preset='orchid'] .mantine-AppShell-header,
193
+ html[data-gds-theme-preset='orchid'] .mantine-AppShell-navbar,
194
+ html[data-gds-theme-preset='royal'] .mantine-AppShell-header,
195
+ html[data-gds-theme-preset='royal'] .mantine-AppShell-navbar {
196
+ background:
197
+ radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--gds-vibe-accent) 24%, transparent), transparent 14rem),
198
+ linear-gradient(135deg, color-mix(in srgb, var(--gds-vibe-shell) 68%, var(--gds-vibe-primary) 20%), color-mix(in srgb, var(--gds-vibe-shell) 74%, var(--gds-vibe-accent) 10%)) !important;
199
+ }
200
+
201
+ html[data-gds-theme-preset='sunset'] .mantine-Paper-root,
202
+ html[data-gds-theme-preset='sunset'] .mantine-Card-root,
203
+ html[data-gds-theme-preset='oceanic'] .mantine-Paper-root,
204
+ html[data-gds-theme-preset='oceanic'] .mantine-Card-root,
205
+ html[data-gds-theme-preset='forest'] .mantine-Paper-root,
206
+ html[data-gds-theme-preset='forest'] .mantine-Card-root,
207
+ html[data-gds-theme-preset='ruby'] .mantine-Paper-root,
208
+ html[data-gds-theme-preset='ruby'] .mantine-Card-root,
209
+ html[data-gds-theme-preset='amber'] .mantine-Paper-root,
210
+ html[data-gds-theme-preset='amber'] .mantine-Card-root,
211
+ html[data-gds-theme-preset='neon-night'] .mantine-Paper-root,
212
+ html[data-gds-theme-preset='neon-night'] .mantine-Card-root,
213
+ html[data-gds-theme-preset='skyline'] .mantine-Paper-root,
214
+ html[data-gds-theme-preset='skyline'] .mantine-Card-root,
215
+ html[data-gds-theme-preset='aurora'] .mantine-Paper-root,
216
+ html[data-gds-theme-preset='aurora'] .mantine-Card-root,
217
+ html[data-gds-theme-preset='coral'] .mantine-Paper-root,
218
+ html[data-gds-theme-preset='coral'] .mantine-Card-root,
219
+ html[data-gds-theme-preset='mint'] .mantine-Paper-root,
220
+ html[data-gds-theme-preset='mint'] .mantine-Card-root,
221
+ html[data-gds-theme-preset='orchid'] .mantine-Paper-root,
222
+ html[data-gds-theme-preset='orchid'] .mantine-Card-root,
223
+ html[data-gds-theme-preset='royal'] .mantine-Paper-root,
224
+ html[data-gds-theme-preset='royal'] .mantine-Card-root {
225
+ background:
226
+ radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--gds-vibe-accent) 16%, transparent), transparent 12rem),
227
+ linear-gradient(145deg, color-mix(in srgb, var(--gds-vibe-surface) 82%, white), color-mix(in srgb, var(--gds-vibe-surface) 74%, var(--gds-vibe-primary) 14%)) !important;
228
+ border-color: color-mix(in srgb, var(--gds-vibe-border) 78%, var(--gds-vibe-primary)) !important;
229
+ }
230
+
231
+ @media (prefers-reduced-motion: reduce) {
232
+ html[data-gds-theme-preset] a,
233
+ html[data-gds-theme-preset] button {
234
+ transition: none;
235
+ }
236
+ }
@@ -1,88 +0,0 @@
1
- import {
2
- gdsTheme
3
- } from "./chunk-TAPLA36E.mjs";
4
-
5
- // src/i18n.ts
6
- import { createContext, useContext } from "react";
7
- var GdsI18nContext = createContext({
8
- locale: "en",
9
- messages: {}
10
- });
11
- function useGdsTranslation() {
12
- const { messages, locale } = useContext(GdsI18nContext);
13
- return {
14
- t: (id, defaultMessage) => messages[id] || defaultMessage,
15
- locale
16
- };
17
- }
18
-
19
- // src/GdsProvider.tsx
20
- import { MantineProvider, DirectionProvider, Box } from "@mantine/core";
21
- import { ModalsProvider } from "@mantine/modals";
22
- import { Notifications } from "@mantine/notifications";
23
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
24
- function GdsProvider({
25
- children,
26
- locale = "en",
27
- messages = {},
28
- theme = gdsTheme,
29
- defaultColorScheme = "light",
30
- forceColorScheme
31
- }) {
32
- const isRtl = ["ar", "he"].includes(locale);
33
- const dir = isRtl ? "rtl" : "ltr";
34
- return /* @__PURE__ */ jsx(DirectionProvider, { initialDirection: dir, children: /* @__PURE__ */ jsx(GdsI18nContext.Provider, { value: { locale, messages }, children: /* @__PURE__ */ jsx(
35
- MantineProvider,
36
- {
37
- theme,
38
- withCssVariables: true,
39
- withGlobalClasses: true,
40
- defaultColorScheme,
41
- forceColorScheme,
42
- children: /* @__PURE__ */ jsx(ModalsProvider, { children: /* @__PURE__ */ jsxs(Fragment, { children: [
43
- /* @__PURE__ */ jsx(Notifications, {}),
44
- /* @__PURE__ */ jsx(
45
- Box,
46
- {
47
- dir,
48
- mih: "100vh",
49
- h: "100%",
50
- bg: "var(--mantine-color-body)",
51
- c: "var(--mantine-color-text)",
52
- style: { transition: "background-color 120ms ease, color 120ms ease" },
53
- children
54
- }
55
- )
56
- ] }) })
57
- }
58
- ) }) });
59
- }
60
-
61
- // src/notifications.ts
62
- import { notifications } from "@mantine/notifications";
63
- var toneColorMap = {
64
- success: "teal",
65
- error: "red",
66
- warning: "yellow",
67
- info: "blue",
68
- neutral: "gray"
69
- };
70
- function showGdsNotification({
71
- message,
72
- title,
73
- tone = "info",
74
- autoClose
75
- }) {
76
- notifications.show({
77
- message,
78
- title,
79
- color: toneColorMap[tone],
80
- autoClose
81
- });
82
- }
83
-
84
- export {
85
- useGdsTranslation,
86
- GdsProvider,
87
- showGdsNotification
88
- };